Você está na página 1de 4

A study about

Macsyma

Abstract This paper presents a study about the software

diferenciais, integrais, soluo de equaes e sistemas de


equaes, sries de Taylor, operaes com matrizes, lgebra
vetorial, e outras anlises, que sero abordadas mais adiante
no trabalho [4]. Para a organizao e representao das regras
utilizada as Regra de Produo [5].

Y.M.A. Okada, C. A. Borges, K.T. Pereira, P.H.C. Alves and M.I. Souza
Macsyma. Specifically, the architecture, knowledge representation,
inference techniques, application examples, technology and
products of this system. The key point is the study about an expert
system and learn more in discipline of Artificial Intelligence; the
objective is research a lot of relevant information over Macsyma.
Keywords Macsyma, expert system, artificial intelligence.

I. INTRODUO
M
acsyma, foi um sistema interativo simblico-numrico-grfico
de lgebra computacional para ajudar a resolver problemas
matemticos complexos[1]. Baseado na tecnologia da
mquina Lisp do MIT, foi bem conhecido e amplamente
utilizado. O projeto do MIT que produziu o Macsyma correu
de 1967 a cerca de 1982. Foi promovido por agncias do
governo, como ARPA, NASA, DOE, bem como alguns
colaboradores industriais. As pessoas encarregadas do projeto
o venderam para a Symbolics Inc. uma licena "exclusiva"
para comercializ-lo. Mais tarde, os direitos foram vendidos
para a Macsyma Inc. que agora est parada [2].
Com o intuito de aprendizagem sobre sistemas especialistas,
mais especificadamente o Macsyma, realizamos algumas
pesquisas sobre este software. Dentre elas, arquitetura do
sistema, representao do conhecimento, tcnicas de
inferncia, alguns recursos e exemplos de aplicao sobre
tecnologias e produtos a respeito do Macsyma.
II. Arquitetura do macsyma
A. Base de Conhecimento
O MACSYMA consiste em centenas de milhares de
palavras compiladas em LISP e uma quantidade igual escrita
na linguagem de programao do MACSYMA. Isso o fez ser
um dos maiores programas em LISP de todos os tempos [4].
O MACSYMA detm uma grande quantidade de
conhecimento programvel embutido, por isso considerado
um programa baseado no conhecimento. MACSYMA um
sistema extremamente grande, ele consegue executar pelo
menos 600 operaes matemticas diferentes, incluindo
Y. M. A. Okada, Universidade Federal de Uberlndia (UFU), Uberlndia,
Minas Gerais, Brasil. C. A. Borges, Universidade Federal de Uberlndia
(UFU), Uberlndia, Minas Gerais, Brasil.
K.T. Pereira, Universidade Federal de Uberlndia (UFU), Uberlndia,
Minas Gerais, Brasil.
P.H.C. Alves, Universidade Federal de Uberlndia (UFU), Uberlndia,
Minas Gerais, Brasil.
M.I. Souza, Universidade Federal de Uberlndia (UFU), Uberlndia,
Minas Gerais, Brasil.

B. Quadro Negro
O quadro negro a rea de trabalho que o sistema utiliza
durante o processo de inferncia. Nesta rea so armazenadas
informaes de apoio e suporte ao funcionamento do sistema
quando este est raciocinando. Este lugar na memria
destinado para fazer avaliaes das regras que so recuperadas
da base de conhecimento para se chegar a uma soluo. As
informaes so gravadas e apagadas de um processo de
inferncia at se chegar soluo desejada. Embora todos os
SE usem o quadro negro, nem todos o explicitam como um
componente do sistema, como o MACSYMA [5].
C. Mquina de Inferncia
A mquina de inferncia o mecanismo que procura as
respostas na base de conhecimento. Ela busca as regras
necessrias a serem avaliadas e ordena-as de uma maneira
lgica. A partir da, direciona o processo de inferncia.
Funciona como um supervisor, que dirige a operao sobre o
conhecimento contido no MACSYMA. Uma mquina de
inferncia toma decises e julgamentos baseados em dados
simblicos contidos na base de conhecimento. As funes
bsicas da mquina de inferncia so inferncia e controle.
Depois de iniciado o sistema, a mquina de inferncia busca
na base de conhecimento fatos e regras, e ento compara estes
fatos com as informaes fornecidas pelo usurio. A operao
da mquina de inferncia baseada em algoritmos que
definem a busca especfica e a unificao de regras.
Basicamente, a mquina de inferncia compara a entrada
fornecida pelo usurio com as regras contidas na base de
conhecimento buscando combinaes [5].
III. Representao do conhecimento
O termo regras de produo usado para descrever uma
famlia de sistemas, que tem em comum o fato de serem
constitudos de um conjunto de regras, que renem condies
e aes. A condio constituda por um padro que
determina a aplicabilidade da regra, enquanto a ao indica o
que ser realizado quando a regra for aplicada.
O Macsyma usa um sistema de produo. O mesmo poder
ser formado por uma ou mais bases de regras, separadas
segundo as convenincias de processamento. Complementa
ainda, o sistema de produo, uma estratgia de controle
estabelecendo as prioridades em que as regras sero aplicadas,
bem como critrios de desempate quando houver mais regras
candidatas aplicao a um tempo s. [3]
Sua estrutura constitui-se basicamente de uma premissa, ou
conjunto de premissas, e uma concluso, ou conjunto de
concluses. As regras so armazenadas como uma coleo de
declaraes SE-ENTO (SE, sendo premissas e ENTO,
concluses). Onde a parte condicional consiste de uma
expresso proposicional ou simplesmente um termo. [3]

Alm da naturalidade para interpretao humana a


utilizao de regras de produo apresenta outros aspectos
positivos, como a modularidade uniforme. As regras podem
ser manipuladas como peas intendentes e novas regras podem
ser includas a qualquer momento, o que uma caracterstica
importante, pois o conhecimento de qualquer SE tende a
aumentar com o passar do tempo. A uniformidade fica
caracterizada como padro nico utilizado para todas as regras
do sistema. [3]
Assim, para que o sistema do Macsyma seja uma
ferramenta eficaz, as pessoas devero ser capazes de interagir
com ele facilmente. Para facilitar esta interao, importante
que um sistema especialista, alm da capacidade de realizar
sua tarefa, tenha a habilidade de adquirir novos
conhecimentos, ou modificar o conhecimento antigo. Como os
sistemas especialistas derivam seu poder da riqueza das bases
de conhecimento que exploram, extremamente importante
que essas bases sejam to completas e precisas quanto
possvel. Muitas vezes, entretanto, no existe nenhuma
codificao padro desse conhecimento; ou seja, ele s existe
dentro da cabea do especialista humano. Assim, a nica
maneira de levar este conhecimento para o programa ser pela
interao com o especialista humano.

elaborada de propagao de restries, representados por


rtulos dos ns da rede, propagam atravs de links para outros
ns de acordo com as leis da lgica. Ele pode realizar certas
inferncias muito mais eficientes do que a sua aplicao direta
em linguagens de resoluo de problema processuais, como
cmplice [4].
V. Exemplos de Aplicaes
Suas aplicaes envolvem manipulao de expresses
simblicas e numricas, incluindo integrao, diferenciao,
sries de Taylor, transformadas de Laplace, sistemas de
equaes lineares, vetores e matrizes, plotagem de grficos
tanto em 2D como em 3D e suas interaes. Algumas delas
sero mostradas abaixo [7]:
D. Resolvendo Equaes
possvel resolver equaes do Macsyma de vrias
maneiras. O comando bsico o solve. Que pega a expresso
e uma varivel como argumento e resolve de acordo com
aquela varivel (Fig 1) [7].

IV. Tcnicas de inferncia


Em alguns tipos de problemas, os smbolos nas expresses
matemticas tm restries sobre outras propriedades que so
uteis na simplificao.
Para permitir que o usurio especifique tais propriedades,
MACSYMA mantm um banco de dados relacional de fatos
sobre smbolos, armazenando na forma de uma rede
semntica. Por exemplo, um utilizador pode declarar (com o
comando DECLARE) que o smbolo n restrita a valores de
nmero inteiro, e em seguida, MACSYMA pode simplificar

cos

2 n

a zero. Do mesmo modo, pode-se especificar

Figura 1. Resoluo de uma equao.

(com o comando ASSUME) que x<y, y<z, e z<x, e em


seguida MACSYMA pode-se deduzir que x=y=z (utilizando o
algoritmo CPM descrito abaixo).
As rotinas de recuperao de banco de dados so
complementadas por um algoritmo de inferncia rpido, mas
limitada chamada CPM, que realiza dedues taxonmicas,
heranas de propriedade, conjunto de intersees e outras
inferncias simples. Por exemplo, dado o fato que x um
nmero inteiro, os nmeros inteiros so racionais e os
nmeros reais so divididos em racionais e irracionais, CPM
deduz automaticamente que x no um irracional. Dado o fato
de um racional poder ser escrito como um numerador sobre
um denominador, ento CPM deduz automaticamente que x
pode ser escrito como

y
z

O algoritmo de inferncia CPM foi desenvolvido para


aumentar a capacidade de recuperao de um sistema de
banco de dados de alto nvel organizada como uma rede
semntica. uma elaborao de trabalho de Grossman (1976)
sobre as expresses de restrio, mas foi cuidadosamente
limitada, de modo que ele pode ser implementado em
hardware paralelo. O algoritmo uma forma altamente

Podemos tambm atribuir valores s variveis(Fig 2).

Figura 2 Atribuindo valores s variveis.

E. Clculo
Como dito anteriormente, este software tambm pode
resolver problemas de clculo, como integrais, diferenciais
(Fig 3), limites (Fig 4),transformada de Laplace (Fig 5), dentre
outros.

Figura 5 Transformada de Laplace

F. grficos
Outra aplicao importante a construo de
grficos(Fig 6).

Figura 3 Integrais e diferenciais

Figura 6 Grfico 3D

VI. Produtos e tecnologias

Figura 4 Limites

O problema mais prejudicial do MACSYMA foi a


lentido na anlise numrica. Quando um consumidor
considerava adotar o MACSYMA para algum comercio de
grande porte ou um programa educacional ou governamental,
a intensidade deste problema acabavam com as suas chances.
Este problema tem duas causas. [8]
O sistema LISP teve anlise numrica lenta. O apoio do
LISP para coleta uniforme de lixo e tempo de execuo tipo
verificao (e possivelmente outras funes centralizadas no
desenvolvedor) necessrio vias indiretas de software que se
desacelerou aritmeticamente e operaes bsicas da matriz.

Desenvolvedores de LISP focados em inteligncia artificial


consideravam anlise numrica de pouca importncia para
LISP. [8]
O MACSYMA constru todas as matrizes a nvel de usurio
a partir de estruturas de lista, que so terrivelmente lentos para
a lgebra linear. Para essas operaes com matrizes que foram
realizadas internamente em matrizes que foram realizadas
internamente em matrizes, a converso entre listas e matrizes
em si foi muito lento. [8]
A lentido da lgebra linear numrica era um problema grande
demais para resolver, dado o nosso lao de LISP e de
gravidade de outros problemas que precisava de ateno aps
SYMBOLICS explorar duas vezes o produto em 1980. [8]

encontre o limite necessrio entre capacidade e limitao,


uma mensagem de sada de alguns computadores do MIT que
muitas vezes pisca na tela ao se desligar do sistema. Ela
afirma: Eu sou um computador. Eu sou mais burro que
qualquer humano e mais inteligente que qualquer
administrador. [6]
O MACSYMA notvel em perguntas, tanto nas que
consegue, quanto nas que no consegue responder. Pode ser
que levem muitos anos at que o sistema evolua a um ponto
em que haja verdadeira rivalidade com o ser humano em mais
que apenas algumas reas. No entanto, at l, uma
ferramenta poderosa que qualquer engenheiro ou cientista tem
disposio.
VIII. CONCLUSO

VII. recursos
No possvel listar os recursos do MACSYMA em poucas
linhas, uma vez que o manual de referncia (1984) ocupa-se
mais de 500 pginas de funes de uso [6]. No entanto,
alguns dos mais importantes recursos incluem (alm das
operaes aritmticas bsicas) instalaes para fornecer
respostas analticas para:
Limites
Integrao indefinida
Equaes Diferenciais Ordinrias
Simplificao
Srie de Taylor (srie de variveis)
Transformaes de Laplace
Manipulao Matrix
Manipulao tensor

Diante dessas informaes, conclui-se que o MACSYMA


uma poderosa ferramenta para resolver problemas
matemticos.
Diante de sua enorme base de conhecimentos, e seu motor
de inferncia, o MACSYMA consegue auxiliar matemticos,
cientistas e engenheiros em resolver e simplificar problemas
matemticos, at os mais complexos.

Derivadas
Integrao definitiva
Sistemas de equaes (no-linear) Referncias
Fatorao [1] http://www.cs.berkeley.edu/~fateman/macsyma/docs/userg.pdf
Srie de Poisson
[2] http://www.udel.edu/topics/software/special/statmath/macsyma/
Somatrio indefinido
HEINZLE, Roberto. Prottipo de uma ferramenta para criao de
Manipulao [3]
vetorial
Gerao Fortran sistemas especialistas em regras de produo, 1995. 145 f. Tese

(Mestrado em Engenharia de Produo) Departamento em


Engenharia de Produo e Sistemas, Universidade Federal de Santa
Catarina, Florianpolis

Tabela 1 Lista de principais recursos do MACSYMA

Existem outras ferramentas para clculos em teoria dos


nmeros, anlise combinatria, fraes contnuas, teoria dos
conjuntos e aritmtica complexa. H tambm uma biblioteca
de compartilhamento, que atualmente contm cerca de 80 subrotinas. Alguns destes realizam computaes como a anlise
assinttica e otimizao, enquanto outros lidam com funes
transcendentais maiores. Alm disso, pode-se avaliar
expresses numericamente na maioria das fases de uma
computao. [6]
Para colocar as capacidades do MACSYMA em
perspectiva, poderamos dizer que MACSYMA conhece uma
grande percentagem das tcnicas matemticas utilizadas em
engenharia e cincias. Isso no significa que o MACSYMA
pode fazer tudo. Alis, fcil chegar a exemplos os quais o
software no consegue manipular. Talvez a citao seguinte

[4]

The Handbook of artificial intelligence, volume 2 - Barr, Avron, 1949


- ed; Feigenbaum, Edward A., ed, 1982

[5] SCHORK, Ronaldo Csar Jnior. Prottipo de um sistema


especialista para a seleo de microcomputadores utilizando a
ferramenta JESS. 2002, Tese de concluso de Curso, Universidade
Regional de Blumenau.
[6] Pavelle, R. e P. S. Wang, MACSYMA from G to F, 1985
[7] http://www.cs.berkeley.edu/~fateman/macsyma/docs/intro.pdf
[8] https://www.ma.utexas.edu/pipermail/maxima/2003/005861.html

Você também pode gostar