Macsyma é um sistema algébrico computacional originalmente desenvolvido entre 1968 e 1982 pelo MIT, como parte do Projeto MAC e depois foi vendido comercialmente. Ele foi um dos primeiros sistemas especialistas baseado em conhecimento. Muitas das idéias criadas por ele são atualmente usadas nos programas Mathematica, Maple e outros.
Macsyma foi escrito em Maclisp, um dialeto de Lisp. Ele foi a chave motivadora para o uso da linguagem Lisp em áreas de computação numérica. Ele foi inicialmente criado para rodar nos computadores PDP-6 e PDP-10, mas também trabalhava nos sistemas operacionais Multics e nas Máquinas Lisp. Este programa é um dos maiores, senão o maior, programa escrito em Lisp de todos os tempos.
Funcionamento
O Macsyma foi originalmente criado para fazer manipulações algébricas. Em cálculo de integrais, por exemplo, pode ser fácil usar um método numérico para resolver uma integral (como encontrar as áreas com somas por exaustão). Mas é um trabalho colossal, um sistema conseguir encontrar a formula algébrica da transformação integral.
Para realizar as integrações, uma clase importante de estratégias adotadas (não é a única) consiste em quebrar uma expressão em subexpressões que possam ser integradas independentemente, através da base de conhecimento que possui, com o resultado sendo combinado algebricamente numa expressão de soluções. Exemplos desta estratégica incluem a regra para integrações por parte e a regra para decompor a integral de uma soma na soma das integrais dos termos individuais.
Uma outra classe de estratégia envolve a simplificação de uma expressão através de várias substituições algébricas. Como qualquer expressão pode permitir várias substituições diferentes, cada uma representando uma estratégia independente para a solução. A busca deste grafo é guiada por objetivo, começando com o questionamento para encontrar a integral de uma função em particular e buscando regressivamente as expressões algébricas que definem esta integral. Baseado nas regras propostas e com a base de conhecimento adquirida, ele tentará encontrar a melhor solução.
História
Macsyma foi desenvolvido por Joel Moses, William Martin e outros do MIT[1] de 1968 até 1982 com fundos providos pelo departamento de defesa americano e alguns departamento de energia. O governo perdeu interesse no programa por volta de 1977 quando a analistas numéricos defenderam que bibliotecas numéricas rodando em supercomputadores eram melhores para os cálculos necessários pelo departamento de defesa.
Em 1982, quando o programa parou de ser desenvolvido pela universidade, uma cópia foi mandada ao DOE (Departamento de Energia Americano), um dos organismos que contribuíram financeiramente com o projeto. Esta primeira versão ficou conhecida como DOE-Macsyma. Posteriormente, o DOE concede a licença de exploração do programa à empresa Symbolics, que segue desenvolvendo o projeto durante alguns anos.
Em 1992 o programa é adquirido por uma empresa que se chamaria precisamente Macsyma Inc, e o programa iria perdendo fôlego progressivamente diante a presença no mercado de outros programas similares como Maple ou Mathematica, ambos inspirados em suas origens pelo próprio Macsyma.
Ocorreram duas histórias paralelas. Desde o ano de 1982, e até seu falecimento em 2001, William Schelter na Universidade do Texas manteve uma versão deste programa adaptada ao Lisp padrão, a qual se conhecia com o nome de Maxima para diferenciá-la da versão comercial.
No ano de 1998 Schelter conseguiu do DOE permissão para distribuir Maxima sob a licença GNU GPL, com esse passo, muito mais pessoas começaram a dirigir seu olhar na direção do Maxima, justo no momento em que a versão comercial estava praticamente morta. Atualmente, o projeto está sendo liderado por um grupo de desenvolvedores oriundos de vários países, tanto do meio universitário como do meio empresarial, assistidos e ajudados por outras muitas pessoas interessadas no Maxima.
Nome
O nome Macsyma deriva de uma abreviação de MAC’s SYmbolic MAnipulator (Manipulador Simbólico do MAC) onde MAC é o projeto que está inserido e significa Machine Aided Cognition (Cognição Auxiliada por Máquina).
Ligações externas
Referências
- ↑ GEDDES, Keith O.;CZAPOR, S. R.; LABAHN, G. (1992). Algorithms for Computer Algebra. Boston: Kluwer Academic Publishers. p. 7. 585 páginas. ISBN 0-7923-9259-0