Você está na página 1de 45

Inteligncia Computacional

Guilherme Bittencourt
Departamento de Automao e Sistemas
Universidade Federal de Santa Catarina
88040-900 - Florianpolis - SC - Brazil
E-mail: gb@das.ufsc.br
Contedo
1 Histrico 2
1.1 Clssica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Romntica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 Moderna . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2 Sistemas especialistas 5
2.1 Aquisio de conhecimento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2 Mtodos de representao de conhecimento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2.1 Lgica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2.2 Redes semnticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2.3 Quadros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.3 Ferramentas para a construo de sistemas especialistas . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.3.1 Interface com o usurio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.3.2 Interface de desenvolvimento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.3.3 Interface com o sistema operacional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.3.4 Motor de inferncia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.4 Exemplos de sistemas especialistas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.4.1 Mycin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.4.2 Dendral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.4.3 Prospector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3 Representao de incerteza 20
3.1 Modelo nebuloso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.2 Modelo probabilista . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.3 Modelo possibilista . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.4 Modelo da evidncia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4 Conexionismo 28
4.1 O modelo de McCulloch e Pitts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.2 Modelo geral de neurnio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.3 Redes neuronais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.4 Treinamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
1
5 Computao evolutiva 34
5.1 Computao e computao evolutiva . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
5.2 Idias bsicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
5.3 Formalizao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
5.4 Estratgia evolutiva . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
5.5 Programao evolutiva . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
5.6 Algoritmos genticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
1 Histrico
As correntes de pensamento que se cristalizaram em torno da IA j estavam em gestao desde os anos 30 [BF81].
No entanto, ocialmente, a IA nasceu em 1956 com uma conferncia de vero em Dartmouth College, NH, USA. Na
proposta dessa conferncia, escrita por John McCarthy (Dartmouth), Marvin Minsky (Hardward), Nathaniel Rochester
(IBM) e Claude Shannon (Bell Laboratories) e submetida fundao Rockfeller, consta a inteno dos autores de
realizar um estudo durante dois meses, por dez homens, sobre o tpico inteligncia articial. Ao que tudo indica,
esta parece ser a primeira meno ocial expresso Inteligncia Articial [Mcc79]. Desde seus primrdios, a
IA gerou polmica, a comear pelo seu prprio nome, considerado presunoso por alguns, at a denio de seus
objetivos e metodologias. O desconhecimento dos princpios que fundamentam a inteligncia, por um lado, e dos
limites prticos da capacidade de processamento dos computadores, por outro, levou periodicamente a promessas
exageradas e s correspondentes decepes.
Dada a impossibilidade de uma denio formal precisa para IA, visto que para tanto seria necessrio denir,
primeiramente, a prpria inteligncia, foram propostas algumas denies operacionais: uma mquina inteligente
se ela capaz de solucionar uma classe de problemas que requerem inteligncia para serem solucionados por seres
humanos [MH69]; Inteligncia Articial a parte da cincia da computao que compreende o projeto de sistemas
computacionais que exibam caractersticas associadas, quando presentes no comportamento humano, inteligncia
[BF81]; ou ainda Inteligncia Articial o estudo das faculdades mentais atravs do uso de modelos computacionais
[CM85]. Outros se recusam a propor uma denio para o termo e preferem estabelecer os objetivos da IA: tornar
os computadores mais teis e compreender os princpios que tornam a inteligncia possvel [Win84].
Existem duas linhas principais de pesquisa para a construo de sistemas inteligentes: a linha conexionista (ver
seo 4) e a linha simblica. A linha conexionista visa modelagem da inteligncia humana atravs da simulao dos
componentes do crebro, isto , de seus neurnios, e de suas interligaes. Esta proposta foi formalizada inicialmente
em 1943, quando o neuropsiclogo McCulloch e o lgico Pitts propuseram um primeiro modelo matemtico para
um neurnio. Um primeiro modelo de rede neuronal, isto , um conjunto de neurnios interligados, foi proposto por
Rosenblatt. Este modelo, chamado Perceptron, teve suas limitaes demonstradas por Minsky e Papert [MP69] em
livro onde as propriedades matemticas de redes articiais de neurnios so analisadas. Durante um longo perodo
essa linha de pesquisa no foi muito ativa, mas o advento dos microprocessadores, pequenos e baratos, tornou pratic-
vel a implementao de mquinas de conexo compostas de milhares de microprocessadores, o que, aliado soluo
de alguns problemas tericos importantes, deu um novo impulso s pesquisas na rea. O modelo conexionista deu
origem rea de redes neuronais articiais.
A linha simblica segue a tradio lgica e teve em McCarthy e Newell seus principais defensores. Os prin-
cpios dessa linha de pesquisa so apresentados no artigo Physical symbol systems de Newell [New80]. O sucesso
dos sistemas especialistas (SE) (do ingls, expert system), a partir da dcada de setenta, estabeleceu a manipula-
o simblica de um grande nmero de fatos especializados sobre um domnio restrito como o paradigma corrente
para a construo de sistemas inteligentes do tipo simblico. Para facilitar a apresentao, vamos dividir a histria da
IA simblica em pocas, conforme proposto em relatrios internos do MIT (Massachusetts Institute of Technology):
Clssica (1956-1970)
2
Objetivo: simular a inteligncia humana
Mtodos: solucionadores gerais de problemas e lgica
Motivo do fracasso: subestimao da complexidade computacional dos problemas
Romntica (1970-1980)
Objetivo: simular a inteligncia humana em situaes pr-determinadas.
Mtodos: formalismos de representao de conhecimento adaptados ao tipo de problema, mecanismos de liga-
o procedural visando maior ecincia computacional.
Motivo do fracasso: subestimao da quantidade de conhecimento necessria para tratar mesmo o mais banal
problema de senso comum.
Moderna (1980-1990)
Objetivo: simular o comportamento de um especialista humano ao resolver problemas em um domnio espec-
co.
Mtodos: Sistemas de regras, representao da incerteza, conexionismo.
Motivo do fracasso: subestimao da complexidade do problema de aquisio de conhecimento.
1.1 Clssica
Inicialmente, a pesquisa em manipulao de smbolos se concentrou no desenvolvimento de formalismos gerais ca-
pazes de resolver qualquer tipo de problemas. O sistema GPS, General Problem Solver, projetado por Ernst e Newell
[EN69], um exemplo deste tipo de pesquisa. Estes esforos iniciais ajudaram a estabelecer os fundamentos tericos
dos sistemas de smbolos e forneceram rea da IA uma srie de tcnicas de programao voltadas manipulao
simblica, por exemplo, as tcnicas de busca heurstica. Os sistemas gerais desenvolvidos nesta poca obtiveram
resultados interessantes, por vezes at impressionantes, mas apenas em domnios simplicados, onde o objetivo era
principalmente a demonstrao da tcnica utilizada, e no a soluo de um problema real. O problema com os sis-
temas gerais que a sua extenso a domnios de problemas reais se mostrou invivel. Isto se deveu a duas razes,
uma relacionada com caractersticas tericas dos mtodos utilizados, e outra associada natureza do conhecimento
do mundo real.
A razo terica conseqncia do uso, nos sistemas gerais, de modelos baseados em lgica de primeira ordem
como formalismo bsico. A utilizao desses modelos leva chamada exploso combinatria: a memria e o tempo
necessrios para resolver um determinado problema cresce exponencialmente com o tamanho do problema. Este
problema, descrito por Cook em seu artigo The complexity of theorem proving procedures [Coo71], inerente aos
mtodos baseados em lgica, independentemente das tcnicas de programao utilizadas. A segunda razo est
associada ao fato de que, freqentemente, o conhecimento disponvel sobre o mundo real incompleto e parcialmente
incoerente, e que por vezes a nica forma de soluo conhecida para determinados problemas reais consiste em uma
srie de regras prticas no fundamentadas por nenhum tipo de teoria geral do domnio que pudesse ser usada para
orientar a soluo.
Esta situao levou a dois tipos diferentes de soluo: (i) uso de mtodos formais de inferncia mais fracos do
que a lgica de primeira ordem que garantissem uma certa ecincia aos programas, por exemplo, lgicas multiva-
lores [PS85], [Bel77] e linguagens terminolgicas [BW77]. (ii) Desenvolveram-se mtodos heursticos e lgicas no
convencionais para permitir a representao de crenas, incoerncias e incompletudes, por exemplo, lgica modal
[HM85], lgica de excees [Rei80] e lgica nebulosa [Zad79].
3
1.2 Romntica
Durante a dcada de setenta, a IA estava praticamente restrita ao ambiente acadmico. Os objetivos da pesquisa
eram, principalmente, a construo de teorias e o desenvolvimento de programas que vericassem estas teorias para
alguns poucos exemplos. interessante notar que o fato de que no havia interesse em construir programas de
IA de verdade, isto , com aplicaes prticas, no se deve a uma eventual incompetncia em programao dos
pesquisadores em IA. Pelo contrrio, foi a inspirao desses hackers que levou a conceitos hoje integrados cincia
da computao, como: tempo compartilhado, processamento simblico de listas, ambientes de desenvolvimento de
software, orientao objeto, etc., alm da mudana da relao usurio-computador ao eliminar a intermediao de
um operador e colocar cada usurio diante de sua estao de trabalho.
Uma mudana importante ocorreu ao longo da dcada de setenta em relao aos critrios acadmicos de julga-
mento de trabalhos em IA: houve uma crescente exigncia de formalizao matemtica. Se no incio dos anos setenta,
um programa, mesmo tratando de alguns poucos exemplos de um problema at ento no tratado, j era considerado
IA, isto no acontecia mais em 1980. O programa em si passou a ser a parte menos importante; a anlise formal da
metodologia, incluindo decidibilidade, completude e complexidade, alm de uma semntica bem fundada, passou a
ser o ponto fundamental [Hay77], [Mcd78]. A dcada de setenta marcou tambm a passagem da IA para a vida
adulta: com o aparecimento dos primeiros SEs, a tecnologia de IA passou a permitir o desenvolvimento de sistemas
com desempenho intelectual equivalente ao de um ser humano adulto, abrindo perspectivas de aplicaes comerciais
e industriais.
1.3 Moderna
A tecnologia de SE disseminou-se rapidamente e foi responsvel por mais um dos episdios ligados a promessas no
cumpridas pela IA: o sucesso dos primeiros SEs chamou a ateno dos empresrios, que partiram em busca de um
produto comercializvel que utilizasse esta tecnologia. No entanto, um SE no era um produto: um produto, na viso
dos empresrios, no deveria ser umsistema especco para umdado problema, mas algo que fosse implementado uma
nica vez e vendido em 100.000 unidades, por exemplo, uma ferramenta para a construo de sistemas especialistas
(ASE). Com isso foram colocadas no mercado uma grande quantidade de ASEs que prometiam solucionar o problema
de construo de SEs. A conseqncia foi uma grande insatisfao por parte dos usurios, pois, apesar de uma
ferramenta de programao adequada ajudar muito a construir um sistema complexo, saber o que programar continua
sendo o ponto mais importante.
Se os ASEs deveriam ser vendidos como produtos de IA, ento em algum lugar deveria haver IA, e o lugar
escolhido foi o motor de inferncia (ver seo 2.3.4), que passou a ser considerado como sinnimo de IA. Isto levou
iluso de que para construir um SE bastaria comprar um ASE, enquanto que a verdade que a IA em um SE
est basicamente na forma como representado o conhecimento sobre o domnio, isto , onde a IA sempre esteve:
na tentativa de entender o comportamento inteligente a ser modelado, no caso o comportamento do especialista ao
resolver um problema. Uma outra conseqncia desta viso distorcida dos ASEs foi a pouca nfase dada inicialmente
aquisio de conhecimento, certamente a parte mais difcil do desenvolvimento de um SE. Se exageros existiram na
publicidade dos ASEs, por certo houve tambm trabalhos descrevendo com delidade o potencial e as limitaes da
nova tecnologia (por exemplo, [DK77], [HRWL83] e [Wat86]).
Atualmente, os ASEs so considerados como parte de uma tecnologia de desenvolvimento de software estabe-
lecida, sendo objeto de diversas conferncias internacionais e submetida a avaliaes rigorosas de desempenho (por
exemplo, [SMS92]). Entre os diversos benefcios associados ao desenvolvimento de SEs podem-se citar: distribuio
de conhecimento especializado, memria institucional, exibilidade no fornecimento de servios (consultas mdicas,
jurdicas, tcnicas, etc.), facilidade na operao de equipamentos, maior conabilidade de operao, possibilidade de
tratar situaes a partir de conhecimentos incompletos ou incertos, treinamento, entre outros. Atualmente, existem
milhares de SEs em operao nos mais variados domnios, e a inuncia da IA em outros campos da computao,
como engenharia de software, bancos de dados e processamento de imagens vem crescendo constantemente.
4
As principais reas de pesquisa em IA simblica so atualmente: sistemas especialistas, aprendizagem, repre-
sentao de conhecimento, aquisio de conhecimento, tratamento de informao imperfeita, viso computacional,
robtica, controle inteligente, inteligncia articial distribuda, modelagem cognitiva, arquiteturas para sistemas in-
teligentes, linguagem natural e interfaces inteligentes. Alm das linhas conexionista e simblica, observa-se hoje o
crescimento de uma nova linha de pesquisa em IA, baseada na observao de mecanismos evolutivos encontrados na
natureza, tais como a auto-organizao e o comportamento adaptativo. Nesta linha, os modelos mais conhecidos so
os algoritmos genticos e os autmatos celulares [Bar75], [FTW83], [GH88], [Hol75] e [Hol86] (ver seo 5).
A gradativa mudana de metas da IA, desde o sonho de construir uma inteligncia articial de carter geral
comparvel do ser humano at os bem mais modestos objetivos atuais de tornar os computadores mais teis atravs
de ferramentas que auxiliam as atividades intelectuais de seres humanos, coloca a IA na perspectiva de uma atividade
que praticamente caracteriza a espcie humana: a capacidade de utilizar representaes externas, seja na forma de
linguagem, seja atravs de outros meios [Hil89]. Deste ponto de vista, a computao em geral e a IA em particular so
o ponto culminante de um longo processo de criao de representaes de conhecimento, iniciado com as primeiras
pinturas rupestres. Esta nova perspectiva coloca os programas de IA como produtos intelectuais no mesmo nvel
dos demais, ressaltando questes cuja importncia central para os interesses atuais da IA, por exemplo, como
expressar as caractersticas individuais e sociais da inteligncia utilizando computadores de maneira a permitir uma
maior produtividade, e como as propriedades das representaes utilizadas auxiliam e moldam o desenvolvimento de
produtos intelectuais?
2 Sistemas especialistas
Sistemas de produo um nome genrico para todos os sistemas baseados em regras de produo, isto , pares de
expresses consistindo em uma condio e uma ao. A idia inicial dos sistemas de produo foi introduzida por
Post, em 1936, quando ele props os hoje chamados sistemas de Post [Pos43]. Um sistema de Post consiste em um
conjunto de regras para a especicao sinttica de transformaes sobre cadeias de caracteres, e representa, como
demonstrou Post, um mtodo geral para o processamento de dados.
Na sua forma mais simples, ummodelo de sistema de produes apresenta dois componentes passivos o conjunto
de regras e a memria de trabalho denidos da seguinte forma:
Regras: conjunto ordenado de pares (LHS, RHS), onde LHS e RHS so seqncias de caracteres.
Memria de trabalho: uma seqncia de caracteres.
Apresenta, tambm, um componente ativo o interpretador que realiza o seguinte procedimento:
Para cada regra (LHS,RHS), se a seqncia de caracteres LHS est contida na memria de trabalho,
ento substituir os caracteres LHS na memria de trabalho pelos caracteres de RHS; se no continuar na
prxima regra.
Exemplo: Um sistema de produes, correspondendo denio acima e capaz de multiplicar dois nmeros em
notao unria (na qual o nmero n representado por uma seqncia de n algarismos 1), pode ser especicado
atravs do seguinte conjunto de regras:
1
1 1 B 2 1 11 1A1 3 1A A21 4 2A A2
5 1B B1 6 2B B1 7 A 8 B
Inicialmente a memria de trabalho contm o problema a ser resolvido, por exemplo 1111, onde os caracteres
tem a funo de delimitadores. A execuo do procedimento interpretador denido acima resultaria na seguinte
seqncia de valores como contedo da memria de trabalho:
1
Estas regras foram uma criao coletiva da turma 97/2 de Engenheiros de Controle e Automao da UFSC, durante aula de IA.
5
Memria de
trabalho
Base de
regras
Base de conhecimento
Motor de inferncia
Figura 1: Arquitetura de um SE
11 11
2
11A1
3
1A21 1
1
1A21B
3
A2121B
5
A212B1
6
A21B11
7
21B11
5
2B111
6
B1111
8
1111
Os sistemas de produo foram redescobertos durante os anos setenta como uma ferramenta para a modelagem
da psicologia humana. O formato condio-ao se adapta modelagem de todos os comportamentos baseados
em pares estmulo-resposta. Dois sistemas que utilizaram o modelo de sistemas de produo para a modelagem do
comportamento humano foram PAS II [Wat73] e VIS [Mor73].
Outro tipo de sistemas que utilizam o formato de regras de produo como mtodo de representao de conheci-
mento so os sistemas especialistas (SE). O objetivo dos SEs , ao mesmo tempo, mais restrito e mais ambicioso do
que o objetivo dos modelos psicolgicos: os SEs so concebidos para reproduzir o comportamento de especialistas
humanos na resoluo de problemas do mundo real, mas o domnio destes problemas altamente restrito. Os primei-
ros SEs que obtiveram sucesso em seu objetivo foram o sistema DENDRAL [FBL71] e MYCIN [Sho76]. O sistema
DENDRAL capaz de inferir a estrutura molecular de compostos desconhecidos a partir de dados espectrais de massa
e de resposta magntica nuclear. O sistema MYCIN auxilia mdicos na escolha de uma terapia de antibiticos para
pacientes com bacteremia, meningite e cistite infecciosa, em ambiente hospitalar.
Desde ento, muitos SEs foram desenvolvidos para resolver problemas em muitos domnios diferentes, incluindo:
agricultura, qumica, sistemas de computadores, eletrnica, engenharia, geologia, gerenciamento de informaes, di-
reito, matemtica, medicina, aplicaes militares, fsica, controle de processos e tecnologia espacial. Alguns destes
sistemas, como o sistema XCON/R1 [Mcd82] para a congurao de computadores VAX da empresa DEC, e PROS-
PECTOR [HDE78] para a anlise das possibilidades de se encontrar tipos especcos de depsitos minerais em uma
dada rea, revelaram-se altamente lucrativos do ponto de vista comercial.
Visando a uma maior facilidade de uso, alm de ecincia e expressividade, a arquitetura simples dos sistemas de
produo de Post foi generalizada. Um SE atual, conforme mostrado na gura 1, apresenta, em geral, uma arquitetura
com trs mdulos: uma base de regras, uma memria de trabalho e um motor de inferncia. A base de regras e
memria de trabalho formam a chamada base de conhecimento do SE, onde est representado o conhecimento sobre
o domnio. O motor de inferncia o mecanismo de controle do sistema que avalia e aplica as regras de acordo com
as informaes da memria de trabalho.
2
A memria de trabalho, apenas uma seqncia de caracteres no modelo de Post, no modelo generalizado pode
conter qualquer tipo de estrutura de dados. Mais do que estruturas de dados, as memrias de trabalho de SEs devem
respeitar um mtodo de representao de conhecimento, isto , uma linguagem formal e uma descrio matemtica de
seu signicado. A lgica de primeira ordem um exemplo tpico de formalismo de representao de conhecimento.
2
Em sistemas mais complexos, o prprio motor de inferncia pode ser implementado como um sistema especialista de mais alto nvel, que
utiliza meta-regras para raciocinar sobre a aplicao das regras do domnio.
6
A base de regras passa a conter condies que representam perguntas representao de conhecimento da me-
mria de trabalho. Estas perguntas, limitadas comparao de caracteres no modelo de Post, podem ser de diferentes
tipos, mas em geral envolvem variveis a serem instanciadas e eventualmente algum tipo de inferncia. A sintaxe das
regras varia de acordo com o sistema e pode ser bastante exvel e prxima da linguagem natural, como nos sistemas
ROSIE [FHRSW82] e G2 [Gen92], ou bastante formais, como na famlia de sistemas OPS [FM77].
Outra caracterstica comum nos SEs atuais a existncia de um mecanismo de raciocnio incerto que permita
representar a incerteza a respeito do conhecimento do domnio (ver seo 3).
O motor de inferncia controla a atividade do sistema. Esta atividade ocorre em ciclos, cada ciclo consistindo em
trs fases:
1. Correspondncia de dados, onde as regras que satisfazem a descrio da situao atual so selecionadas.
2. Resoluo de conitos, onde as regras que sero realmente executadas so escolhidas dentre as regras que foram
selecionadas na primeira fase, e ordenadas.
3. Ao, a execuo propriamente dita das regras.
As principais vantagens dos sistemas de produo como mtodo de representao de conhecimento so [Wat86]:
modularidade, uniformidade e naturalidade. As principais desvantagens so: inecincia em tempo de execuo e
complexidade do uxo de controle que leva soluo dos problemas. Estas vantagens e desvantagens determinam
as caractersticas que devem ter os domnios que se adaptam ao desenvolvimento de SEs baseados em sistemas de
produo: (i) ser descrito por um conhecimento consistindo em um conjunto muito grande de fatos parcialmente
independentes, (ii) dispor de mtodos de soluo consistindo de aes independentes, e (iii) apresentar uma ntida
separao entre conhecimento e ao.
A chave para a desempenho de um SE est no conhecimento armazenado em suas regras e em sua memria de
trabalho. Este conhecimento deve ser obtido junto a um especialista humano do domnio e representado de acordo
com regras formais denidas para a codicao de regras no SE em questo. Isto divide um SE em duas partes: a
ferramenta de programao que dene o formato do conhecimento da memria de trabalho e das regras, alm dos
aspectos operacionais de sua utilizao, e o conhecimento do domnio propriamente dito.
Devido a esta separao, atualmente, os SEs so desenvolvidos em geral a partir de arcabouos de sistemas es-
pecialistas (ASE): ferramentas que suportam todas as funcionalidades de um SE [Gev87], restando ao programador
apenas codicar o conhecimento especializado de acordo com a linguagem de representao de conhecimento dispo-
nvel. A existncia de ASEs facilitou bastante a implementao de SEs e foi um dos fatores responsveis por sua
disseminao.
Exemplo: Diversos exemplos aqui apresentados so baseados no sistema FASE (Ferramenta para a construo de
Arcabouos de Sistemas Especialistas) [BM93a], [Bit95]. Este sistema foi implementado na linguagem de programa-
o Common Lisp [SJ84]; os programas fonte so de domnio pblico e podem ser facilmente obtidos via Internet.
O sistema consiste em um conjunto de bibliotecas de funes com as seguintes funcionalidades: representao de
conhecimento, estratgias de controle, resoluo de conito e tratamento de incerteza. Existe ainda um mdulo nico
de manipulao de bases de regras ao qual podem ser integradas as funcionalidades adequadas, de acordo com as
caractersticas do problema a ser resolvido. A modularidade do ambiente decorrncia dos conceitos de padro e
instncia. Um padro (do ingls, pattern) uma representao genrica de um conjunto de fragmentos de conheci-
mento, geralmente envolvendo variveis. Para cada tipo de representao de conhecimento disponvel no ambiente,
existe um tipo de padro. Uma instncia uma representao especca de um fragmento de conhecimento. Uma ins-
tncia contm uma substituio de variveis, o tempo de criao do fragmento de conhecimento que gerou a instncia,
um ou mais nmeros representando medidas de incerteza, informao sobre a origem do fragmento de conhecimento
e, eventualmente, outros atributos que sejam necessrios a representaes de conhecimento especcas (por exemplo,
denies de domnio de discurso no caso de variveis nebulosas).
7
Intuitivamente um padro pode ser interpretado como uma pergunta memria de trabalho, e uma instncia,
como uma resposta a esta pergunta. Alm disso, a combinao entre um padro e uma instncia interpretada
como um novo fragmento de conhecimento, onde as variveis presentes no padro so substitudas de acordo com a
substituio presente na instncia.
As regras utilizadas no ambiente tm a seguinte sintaxe:
<rule>::= (<name><alpha> (<pattern>) (<pattern>))
onde <name> um smbolo correspondente ao nome da regra e <alpha> o valor numrico associado ao coeciente
de certeza da regra. A sintaxe dos padres indicados por <pattern> depende do mtodo de representao de
conhecimento utilizado e ser denida na seo 2.2. Um exemplo de regra do sistema FASE proveniente de um
sistema especialista que aplica um teste vocacional o seguinte:
(nota-4 0.9 ((logic (nota ?x matematica muito-bom)
(nota ?x fisica bom)))
((logic (performance ?x ciencia-da-computacao))))
2.1 Aquisio de conhecimento
A parte mais sensvel no desenvolvimento de um SE , certamente, a aquisio de conhecimento. Esta no pode
limitar-se adio de novos elementos de conhecimento base de conhecimentos; necessrio integrar o novo
conhecimento ao conhecimento j disponvel, atravs da denio de relaes entre os elementos que constituem o
novo conhecimento e os elementos j armazenados na base. Dois tipos de mecanismos para a denio de tais relaes
foram propostos: ligar os elementos de conhecimento diretamente atravs de ponteiros, ou reunir diversos elementos
relacionados em grupos (em ingls clustering).
Outro ponto importante na aquisio de conhecimento o tratamento de incoerncias. Dependendo da forma
como o novo conhecimento adquirido, pode haver erros de aquisio. Estes erros podem resultar da prpria natureza
do conhecimento, como em dados obtidos atravs de sensores sujeitos a rudo, ou podem ser gerados pela interface
humana existente entre o mundo real e o sistema de representao. Tcnicas foram desenvolvidas para evitar erros
de aquisio, como, por exemplo, a especicao de regras de aquisio em que o tipo de conhecimento esperado
denido. Estas tcnicas so comuns aos sistemas de representao de conhecimento e aos sistemas de gerenciamento
de bancos de dados. Por outro lado, uma base de conhecimento pode ser examinada periodicamente com a nalidade
de detectar incoerncias eventualmente introduzidas no processo de aquisio. Este mtodo limitado pelo fato de
que linguagens de representao razoavelmente expressivas no contam com procedimentos completos de vericao
conhecidos. Finalmente, deve-se observar que a adequao do formalismo de representao ao tipo de conhecimento
do mundo real a ser representado fundamental para a ecincia do processo de aquisio.
2.2 Mtodos de representao de conhecimento
A parte mais importante no projeto de um SE a escolha do mtodo de representao de conhecimento. A linguagem
associada ao mtodo escolhido deve ser sucientemente expressiva (mas no mais do que o suciente) para permitir
a representao do conhecimento a respeito do domnio escolhido de maneira completa e eciente. Em tese, uma
representao geral como a lgica seria sucientemente expressiva para representar qualquer tipo de conhecimento.
No entanto, problemas de ecincia, facilidade de uso e a necessidade de expressar conhecimento incerto e incom-
pleto levaram ao desenvolvimento de diversos tipos de formalismos de representao de conhecimento. A seguir,
apresentam-se alguns dos formalismos de representao de conhecimento mais utilizados.
2.2.1 Lgica
A lgica a base para a maioria dos formalismos de representao de conhecimento, seja de forma explcita, como
nos SEs baseados na linguagem Prolog, seja disfarada na forma de representaes especcas que podem facilmente
8
ser interpretadas como proposies ou predicados lgicos, por exemplo, as listas da forma:
(<atributo>, <objeto>, <valor>, <coeciente de certeza>)
utilizadas como padro para a representao de conhecimento no sistema MYCIN (ver seo 2.4.1). Mesmo os
formalismos no lgicos tm, em geral, seu signicado formal descrito atravs de uma especicao lgica de seu
comportamento.
Exemplo: O sistema FASE dispe de um mdulo de representao de conhecimento baseado na lgica de primeira
ordem. Todos os formalismos implementados no sistema apresentam as mesmas primitivas de acesso: store, para
armazenar um fragmento de conhecimento na base, query, para obter as instncias que satisfazem s restries es-
pecicadas atravs das variveis que ocorrem em seu argumento, e list, que permite examinar o contedo da base.
O acesso a uma base de conhecimento pode ser feito atravs de um padro de uma regra ou, diretamente, atravs de
comandos. A linguagem de acesso obedece seguinte denio:
<command>::= (logic-query <query>) [
(logic-store <store>) [
(logic-list)
<pattern>::= (logic<query>) [
(logic<store>)
<query>::= (<predicate> <term>)
<store>::= (<predicate> <closed term>) [
(off (<predicate> <closed term>))
<closed term>::= <constant>[
(<function> <closed term>)
<term>::= <constant>[
<variable>[
(<function> <term>)
Por exemplo, uma base de conhecimento pode ser armazenada no sistema FASE, utilizando o formalismo lgico,
atravs da seguinte seqncia de comandos:
> (logic-store (progenitor boris jane))
t
> (logic-store (progenitor boris marcia))
t
> (logic-store (progenitor adelia jane))
t
> (logic-store (progenitor adelia marcia))
t
> (logic-store (progenitor jane tiago))
t
Uma vez armazenadas as informaes, a base de conhecimento pode ser consultada atravs do comando query:
> (logic-query (progenitor x tiago))
([ Substituicao : ((x . jane)) ])
> (logic-query (progenitor boris y))
([ Substituicao : ((y . marcia)) ]
[ Substituicao : ((y . jane)) ])
Em uma regra, as instncias associadas a padres diferentes so combinadas, o que permite ltrar as instncias
desejadas, por exemplo, o padro (logic (progenitor x y)(progenitor y tiago)) teria como resposta a
seguinte lista de instncias:
([ Substituicao : ((x . boris)(y . jane)) ]
[ Substituicao : ((x . adelia)(y . jane)) ])
O contedo total da base de conhecimento pode ser listado atravs da primitiva list:
9
Cadeira
parte-de
Estofamento
Couro
Assento
Cor
Preto
Cadeira-27
Dono
-um
-um
-um
Moblia
Pessoa
Ana
Figura 2: Rede semntica
> (logic-list)
(progenitor jane tiago)
(progenitor adelia marcia)
(progenitor adelia jane)
(progenitor boris marcia)
(progenitor boris jane)
2.2.2 Redes semnticas
Rede semntica um nome utilizado para denir um conjunto heterogneo de sistemas. Em ltima anlise, a nica
caracterstica comum a todos estes sistemas a notao utilizada: uma rede semntica consiste em um conjunto de
nodos conectados por um conjunto de arcos. Os nodos em geral representam objetos e os arcos, relaes binrias
entre esses objetos. Mas os nodos podem tambm ser utilizados para representar predicados, classes, palavras de uma
linguagem, entre outras possveis interpretaes, dependendo do sistema de redes semnticas em questo.
A utilizao do formalismo de nodos e arcos para a representao de conhecimento foi proposta por Quillian
[Qui68]. No seu artigo, Quillian prope um modelo computacional da memria humana chamado memria semn-
tica. Este modelo, onde conceitos so representados por nodos, e relaes entre conceitos, por arcos, explica diversos
resultados experimentais sobre o comportamento da memria humana, como, por exemplo, o fato de que o reconheci-
mento de objetos que pertencema classes mais numerosas toma mais tempo do que o reconhecimento dos pertencentes
a classes menos numerosas. Muitas caractersticas dos sistemas de redes semnticas desenvolvidos ulteriormente j
estavam presentes na proposta de Quillian.
Exemplo: Considere a rede semntica da gura 2, que representa conceitos relacionados com mobilirio [Ric83]. Os
arcos -um e -parte so bastante comuns em sistemas de redes semnticas. Este tipo de arco utilizado para deter-
minar a herana de propriedades. Os demais arcos (dono, cor, estofamento) so especcos do domnio e representam
propriedades de conceitos. Esses arcos so chamados traos.
Durante os anos setenta, o formalismo de redes semnticas foi utilizado na implementao de diversos sistemas
para a compreenso de linguagem natural. O sistema HAM [AB73] e o sistema Active Structural Network [RN75]
so dois exemplos deste tipo de sistemas.
Dois artigos publicados em 1975 tiveram uma grande inuncia na pesquisa relacionada s redes semnticas: o
artigo de Minsky [Min75], propondo o formalismo de quadros, e o artigo de Woods [Woo75], analisando o signi-
cado dos arcos nas redes semnticas. O artigo de Minsky introduziu a noo de nodos com estrutura interna, criando
uma nova forma de representao de conhecimento, derivada das redes semnticas, chamada quadros. O artigo de
10
-um -um -um
no--um
Clyde
Elefante Real Elefante Cinza
Figura 3: O problema das excees em redes semnticas
Woods chamou a ateno para a necessidade de uma semntica formal que fundamentasse os sistemas baseados em
redes semnticas. Este artigo foi seguido de uma srie de outros, onde as redes semnticas eram associadas ao for-
malismo lgico. Alguns destes artigos utilizavam as redes semnticas apenas como uma notao sinttica alternativa
para frmulas lgicas; outros apresentavam as redes semnticas como um mtodo independente de representao de
conhecimento, utilizando o formalismo lgico apenas como ferramenta para a denio de uma semntica para nodos
e arcos.
A herana de propriedades atravs de caminhos formados por arcos uma das caractersticas mais importantes
do mtodo de representao por redes semnticas. Esta caracterstica permite que propriedades de um nodo sejam
especicadas apenas uma vez, no mais alto nvel de uma hierarquia de conceitos, sendo herdadas por todos os con-
ceitos derivados, implicando uma economia substancial de memria. Os algoritmos de herana utilizados em redes
semnticas na forma de rvores so bastante simples e muito ecientes, mas se heranas mltiplas forem permitidas,
especialmente na presena de arcos que denam excees, o problema da determinao de caminhos de herana se
torna bastante complexo. Mais grave ainda o fato de que na presena de herana mltipla e excees, a intuio
sobre o que uma poltica de herana coerente passa a ser discutvel, levando diferentes sistemas a implementarem
diferentes polticas de herana [THT87].
Exemplo: O problema da cor de Clyde um exemplo clssico dos problemas decorrentes do uso de mltipla he-
rana e arcos de exceo. De acordo com a rede semntica da gura 3, Clyde deve ser considerado Cinza por ser um
Elefante e no Cinza por ser um Elefante Real. A estratgia de herana, usualmente aceita, determina que proprieda-
des ligadas a conceitos mais especcos devem ter prioridade, ou seja, no caso Clyde deve ser considerado no Cinza,
pois Elefante Real mais especco que Elefante. No entanto, exemplos mais complexos podem no ser to intuitivos.
Alm da herana de propriedades, um outro mecanismo de inferncia utilizado em redes semnticas a correspon-
dncia de um fragmento de rede em relao a uma rede dada. A especicao da semntica deste mecanismo ainda
mais complexa que a do mecanismo de herana, por depender da escolha do signicado dos arcos da rede. Estes arcos
receberam uma variedade de signicados; uma reviso das diferentes interpretaes pode ser encontrada em [BFL83].
Exemplo: Analogamente representao lgica, o formalismo de redes semnticas conta com comandos de arma-
zenamento e consulta, e pode ser acessado a partir das regras atravs de padres. A especicao da linguagem de
acesso a seguinte:
<command>::= (snet-query <query>) [
(snet-store <store>) [
(snet-list)
<pattern>::= (snet<query>) [ (snet<store>)
<store>::= (<node>) [
(<node><node> [<edge>]) [
(<node><node> [(not. <edge>)]) [
(off (<node>)) [
(off (<node><node> [<edge>])) [
(off (<node><node> [(not. <edge>)]))
11
<query>::= (<snet> (<node><node> [<edge>]))
<snet>::= <variable>[<symbol>
<node>::= <variable>[<symbol>
<edge>::= <variable>[<symbol>[ (not . <variable>) [ (not . <symbol>)
A rede semntica associada ao exemplo da cor de Clyde pode ser denida atravs do seguinte comando:
> (snet-store (color (clyde real e-um)
(real elefante e-um)
(elefante cinza e-um)
(clyde elefante e-um)
(real cinza (not . e-um))))
t
Observe como foi introduzido o arco negado, com a construo de um dotted-pair onde o primeiro elemento
o smbolo not. A visualizao do contedo da base pode ser feita atravs do comando list:
> (snet-list)
===================
graph : color
-------------------
node : clyde
|
*
edge : e-um
|---|> node : elefante
| |
*
edge : e-um
| |---|> node : cinza
|
*
edge : e-um
|---|> node : real
|
*
edge : (not . e-um)
|---|> node : cinza
|
*
edge : e-um
|---|> node : elefante
Pode-se agora determinar toda a teoria hierrquica denida atravs da rede color, utilizando as expresses de
consulta adequadas:
> (snet-query (color (x y e-um)))
([ Substituicao : ((x . elefante) (y . cinza)) ]
[ Substituicao : ((x . real) (y . elefante)) ]
[ Substituicao : ((x . clyde) (y . elefante)) ]
[ Substituicao : ((x . clyde) (y . real)) ])
> (snet-query (color (x y (not . e-um))))
([ Substituicao : ((x . real) (y . cinza)) ]
[ Substituicao : ((x . clyde) (y . cinza)) ])
2.2.3 Quadros
Os quadros (do ingls, frames), e sua variao, os roteiros (do ingls, scripts), foram introduzidos para permitir a
expresso das estruturas internas dos objetos, mantendo a possibilidade de representar herana de propriedades como
as redes semnticas.
As idias fundamentais destes mtodos foram introduzidas por Marvin Minsky [Min75] em seu artigo A fra-
mework to represent knowledge. As aplicaes propostas por Minsky para o novo mtodo foram anlise de cenas,
modelagem da percepo visual e compreenso de linguagem natural. No entanto, o artigo no prope metodologia
de implementao, nem denio formal do mtodo. Desde 1975, diversos sistemas foram implementados baseados
na idia de quadros, e diversas denies formais foram propostas. O mtodo de quadros tambm est na origem
das idias que levaram s linguagens de programao orientadas a objetos. Os roteiros foram propostos por Schank e
Abelson [SA75], [SA77], e consistem em sistemas de quadros especializados na descrio de seqncias de eventos.
Em geral, um quadro consiste em um conjunto de atributos que, atravs de seus valores, descrevem as caractersti-
cas do objeto representado pelo quadro. Os valores atribudos a estes atributos podem ser outros quadros, criando uma
12
4
retangular
3
Default
Tipo
Atributos
Volume
Super-Frame : Lugar-coberto
Altura
Formato
Default
Tipo
(sofa, mesa, cadeiras)
Atributos
Finalidade
Super-Frame : Comodo
Frame : Sala
Frame : Cmodo
Nmero de paredes
rea
nmero (m
2
)
nmero (m
3
) (rea*Altura)
Mobilirio
convivncia
lista de smbolos
Se-necessrio
nmero
nmero (m)
smbolo
smbolo
-um
Figura 4: Quadros
rede de dependncias entre os quadros. Os quadros so tambm organizados em uma hierarquia de especializao,
criando uma outra dimenso de dependncia entre eles. Os atributos tambm apresentam propriedades, que dizem
respeito ao tipo de valores e s restries de nmero que podem ser associados a cada atributo. Essas propriedades
so chamadas facetas.
Exemplo: Quadros descrevendo um comodo e uma sala so mostrados na gura 4. Por esta descrio, pode-se
concluir que uma sala um tipo de cmodo, normalmente com quatro paredes e de formato retangular, com um mo-
bilirio especco. As facetas dos atributos especicam os tipos de valores esperados e, se for o caso, procedimentos
adequados para calcular o valor do atributo.
Da mesma maneira que as redes semnticas, os sistemas baseados no mtodo de quadros no so um conjunto
homogneo; no entanto, algumas idias fundamentais so compartilhadas por estes sistemas. Uma dessas idias o
conceito de herana de propriedades, o que permite a especicao de propriedades de uma classe de objetos atravs
da declarao de que esta classe uma subclasse de outra que goza da propriedade em questo. A herana pode ser
um mecanismo de inferncia muito eciente em domnios que apresentem uma taxonomia natural de conceitos, como
a biologia ou a paleontologia.
Outra idia comum aos sistemas baseados em quadros o raciocnio guiado por expectativas. Um quadro contm
atributos, e estes atributos podem ter valores tpicos ou, a priori, os chamados valores de exceo (do ingls, default
values). Ao tentar instanciar um quadro para que corresponda a uma situao dada, o processo de raciocnio deve
tentar preencher os valores dos atributos do quadro com as informaes disponveis na descrio da situao. Para o
processo de raciocnio, saber o que procurar para completar a informao necessria (e caso esta no esteja disponvel,
que valores tentativos atribuir aos atributos no preenchidos) pode ser um fator fundamental para a ecincia do
processo de reconhecimento de uma situao complexa.
Uma terceira idia a ligao procedimental. Alm dos valores por default, um atributo pode ser associado
a um procedimento que deve ser executado quando certas condies forem satisfeitas, por exemplo: ao ser criado o
atributo, ao ser lido o valor do atributo, ao ser modicado o valor do atributo, ou ao ser destrudo o valor do atributo.
13
Exemplo: A linguagem de acesso do formalismo de quadros denida pela seguinte gramtica:
<command>::= (frame-query <query>) [
(frame-store <store>) [
(frame-list)
<pattern>::= (frame<query>) [
(frame<store>)
<query>::= (<frame> [<antecedent>]<slot query>))
<frame>::= <variable>[<symbol>
<antecedent>::= <variable>[<symbol>
<slot query>::= (<slot><value>)
<slot>::= <variable>[<symbol>
<value>::= qualquer S-expresso
<store>::= (<frame><antecedent> <slot denition>) [
(off (<frame>)) [
(off (<frame> (<slot>)
+
))
<slot denition>::= (<slot><value>) [
(<slot><function denition><demon type>) [
<demon type>::= if-create [ if-modify [ if-necessary [ if-delete
O tipo de saci (do ingls, demon) indica em que ocasio o procedimento associado ao atributo (do ingls, slot)
do quadro dever ser executado: (i) if-modify, ao ser alterado o valor do atributo, (ii) if-necessary, ao ser consultado
o valor do atributo, (iii) if-delete, ao ser eliminado o atributo. Todos os sacis devem ser funes Lisp com os dois
primeiros parmetros associados ao nome do quadro e nome do atributo. No caso de um saci do tipo if-modify, um
terceiro parmetro associado ao novo valor do atributo.
O exemplo de quadro associado a uma sala pode ser armazenado no sistema FASE atravs dos seguintes coman-
dos:
> (frame-store (lugar-coberto root))
t
> (frame-store (comodo lugar-coberto
(numero-de-paredes 4)
(formato retangular)
(altura 3)
(area nil)
(volume (lambda (f s)
(
*
(get-slot f (quote altura))
(get-slot f (quote area))))
if-necessary)))
t
> (frame-store (sala comodo
(mobiliario (sofa mesa cadeiras))
(finalidade convivencia)))
t
Observe que o quadro root pr-existente e no precisa ser denido. O saci do tipo if-necessary foi denido
utilizando uma forma lambda. Alternativamente, poderamos ter denido uma funo externa e colocado seu nome na
base de conhecimento. O saci ser executado caso o valor do atributo volume seja consultado. Para que a execuo
ocorra sem erros, necessrio antes atribuir um valor para o atributo area. Na funo saci foi utilizada a primitiva
get-slot que permite acessar diretamente o valor de um atributo, sem utilizar a funo frame-query. Os comandos
abaixo exemplicam a utilizao da funo saci e da funo list:
> (frame-store (comodo (area 10)))
t
> (frame-query (comodo (volume x)))
([ Substituicao : ((x . 30)) ])
> (frame-list)
root <== root
lugar-coberto <== root
14
comodo <== lugar-coberto
*
volume = 30
*
se-necessario: (lambda (f s)
(
*
(get-slot f (quote altura))
(get-slot f (quote area))))
*
area = 10
*
altura = 3
*
formato = retangular
*
numero-de-paredes = 4
sala <== comodo
*
finalidade = convivencia
*
mobiliario = (sofa mesa cadeiras)
2.3 Ferramentas para a construo de sistemas especialistas
Para descrever as principais caractersticas encontradas nos ASEs disponveis atualmente, vamos adotar as dimenses
de anlise propostas em um artigo de Stylianou et al. [SMS92]. Neste artigo, descrita uma pesquisa
3
desenvolvida
pelos autores visando detectar as caractersticas tcnicas mais importantes dos ASEs, segundo os usurios e constru-
tores. As dimenses escolhidas foram as seguintes: interface com o usurio, interface de desenvolvimento, interface
com o sistema operacional, motor de inferncia e mtodos de representao de conhecimento. Os aspectos comen-
tados abaixo foram considerados na pesquisa como importantes. Para cada dimenso da anlise so ressaltados os
aspectos considerados crticos.
2.3.1 Interface com o usurio
Em qualquer tipo de software, a interface com o usurio nal fundamental para o seu sucesso. Em particular,
um SE, alm de apresentar uma interface ergonomicamente bem projetada, deve ainda levar em conta o grau de
familiarizao do usurio com o domnio de trabalho do sistema e com os computadores em geral.
Algumas tcnicas tornam a interface com o usurio mais amigvel, por exemplo, o uso de janelas, menus, grcos
de alta resoluo, animao, cores, etc. De todo modo, as telas a serem apresentadas ao usurio devem ser de fcil
compreenso, e as explicaes necessrias devem ser claras e diretas. Mais algumas caractersticas interessantes
para interfaces com o usurio so: (i) disponibilidade de diversos tipos de interfaces, adaptadas ao tipo de usurio
(iniciante, especialista); (ii) possibilidade de interromper a execuo do sistema em um determinado ponto e poder
retom-la sem necessidade de reprocessamento; (iii) mensagens de erro claras e informativas; (iv) possibilidade de
alterar certas entradas ao sistema e comparar os resultados obtidos; (v) capacidade de capturar e armazenar telas de
execuo. Os aspectos considerados crticos foram: facilidade para explicao e documentao.
2.3.2 Interface de desenvolvimento
A interface a ser utilizada pela equipe de desenvolvimento de um SE representa, em geral, a maior parte do cdigo de
um ASE, alm de ser determinante para o bom andamento dos projetos desenvolvidos com o arcabouo em questo.
A possibilidade de customizar o ambiente pela introduo de novas capacidades, ou pela modicao de capacida-
des j existentes, atravs da escrita de cdigo na linguagem de implementao do ASE, uma caracterstica bastante
til. Caso os programas fonte do arcabouo estejam disponveis, isto facilitado.
Correo de erros, manuteno de uma lista de comandos da seo, ndice cruzado de smbolos e regras, visua-
lizao grca dos encadeamentos de regras utilizadas na soluo, editor de regras, facilidades de explicao e uma
boa documentao so outras caractersticas positivas para a interface de desenvolvimento.
Aspectos considerados crticos: facilidade para explicao, documentao, facilidade para customizar explicaes
e prototipagem rpida.
3
A pesquisa foi realizada a partir de 271 questionrios completos, preenchidos por pessoas que j tiveram alguma experincia com SEs,
obtidos a partir de 3.000 questionrios enviados pelo correio.
15
2.3.3 Interface com o sistema operacional
Existem atualmente SEs rodando em plataformas que variam de microcomputadores do tipo PC at mainframes,
passando por estaes de trabalho e mquinas especializadas em processamento simblico, as chamadas Lisp Ma-
chines. No entanto, setenta por cento dos SEs pesquisados por Stylianou et al. [SMS92] foram desenvolvidos para
microcomputadores. Diversas ferramentas disponveis no mercado rodam ainda em vrias plataformas diferentes.
Quanto linguagem de programao, existem ASEs escritos em linguagem de montagem (do ingls, assem-
bler), C, Fortran, Basic, Forth, Pascal e Cobol, alm, claro, daqueles escritos em linguagens para IA como Lisp,
Prolog e Smalltalk. Diversos ASEs originalmente escritos em Lisp foram traduzidos para linguagens como C ou C++
para aumentar sua ecincia, portabilidade e compatibilidade com outros softwares.
A facilidade de comunicao com aplicaes convencionais (como bancos de dados, planilhas e sistemas de rede)
considerada uma importante caracterstica em um ASE. O fato dessa facilidade ter sido relegada a um segundo plano
nos primeiros ASEs representou uma grande diculdade para sua disseminao em ambiente comercial.
Uma ltima caracterstica ligada ao sistema operacional o grau de segurana oferecido por um ASE. possvel
que um SE envolva informaes condenciais ou nicas que no devem ser acessadas e modicadas por qualquer
usurio.
Aspectos considerados crticos: facilidade para integrao com sistemas j existentes.
2.3.4 Motor de inferncia
As principais caractersticas do motor de inferncia disponvel em um ASE dizem respeito s seguintes funcionali-
dades: mtodo de raciocnio, estratgia de busca, resoluo de conito e representao de incerteza. Dentre todos os
aspectos discutidos nesta seo, foi considerada crtica a existncia de raciocnio do tipo encadeamento regressivo.
Modo de raciocnio
Existem basicamente dois modos de raciocnio aplicveis a regras de produo: encadeamento progressivo ou
encadeamento a frente (do ingls, forward chaining), e encadeamento regressivo ou encadeamento para trs (do
ingls, backward chaining). No encadeamento progressivo, tambm chamado encadeamento dirigido por dados, a
parte esquerda da regra comparada com a descrio da situao atual, contida na memria de trabalho. As regras
que satisfazem a esta descrio tm sua parte direita executada, o que, em geral, signica a introduo de novos fatos
na memria de trabalho.
No encadeamento regressivo, tambm chamado encadeamento dirigido por objetivos, o comportamento do sis-
tema controlado por uma lista de objetivos. Umobjetivo pode ser satisfeito diretamente por umelemento da memria
de trabalho, ou podem existir regras que permitam inferir algum dos objetivos correntes, isto , que contenham uma
descrio deste objetivo em suas partes direitas. As regras que satisfazem esta condio tm as instncias correspon-
dentes s suas partes esquerdas adicionadas lista de objetivos correntes. Caso uma dessas regras tenha todas as suas
condies satisfeitas diretamente pela memria de trabalho, o objetivo em sua parte direita tambm adicionado
memria de trabalho. Um objetivo que no possa ser satisfeito diretamente pela memria de trabalho, nem inferido
atravs de uma regra, abandonado. Quando o objetivo inicial satisfeito, ou no h mais objetivos, o processamento
termina.
O tipo de encadeamento normalmente denido de acordo com o tipo de problema a ser resolvido. Proble-
mas de planejamento, projeto e classicao tipicamente utilizam encadeamento progressivo, enquanto problemas
de diagnstico, onde existem apenas algumas sadas possveis mas um grande nmero de estados iniciais, utilizam
encadeamento regressivo.
Em geral, os ASEs adotam apenas um modo de raciocnio; no entanto, existem alguns que permitem ambos os
modos, mas de maneira independente, e ainda outros que permitem um encadeamento misto, onde os encadeamentos
progressivo e regressivo se alternam de acordo com o desenvolvimento da soluo do problema e com a disponibili-
dade de dados.
Uma caracterstica importante do modo de raciocnio se refere monotonicidade ou no do mtodo de inferncia.
Sistemas monotnicos no permitem a reviso de fatos, isto , uma vez um fato declarado verdadeiro, ele no pode
16
mais tornar-se falso. Sistemas no monotnicos, por outro lado, permitem a alterao dinmica dos fatos. O preo
desta capacidade a necessidade de um mecanismo de reviso de crenas, pois uma vez que um fato, antes verda-
deiro, torna-se falso, todas as concluses baseadas neste fato tambm devem tornar-se falsas. Uma soluo para este
problema apresentada em [Doy79].
Estratgia de busca
Uma vez denido o tipo de encadeamento, o motor de inferncia necessita ainda de uma estratgia de busca para
guiar a pesquisa na memria de trabalho e na base de regras. Este tipo de problema conhecido como busca em
espao de estados. Este tpico foi um dos primeiros estudados em IA, no contexto de soluo de problemas (do tipo
quebra-cabeas) e jogos por computador (damas, xadrez, go, etc.). Descries detalhadas dos algoritmos de busca po-
dem ser encontradas na maioria dos livros texto de IA, por exemplo, Charniak e McDermott [CM85], Nilsson [Nil71],
Rich [Ric83], Winston [Win84] entre outros.
Resoluo de conito
Ao terminar o processo de busca, o motor de inferncia dispe de um conjunto de regras que satisfazem situao
atual do problema, o chamado conjunto de conito. Se esse conjunto for vazio, a execuo terminada; caso contrrio,
necessrio escolher que regras sero realmente executadas e em que ordem. Os mtodos de resoluo de conito
mais utilizados ordenam as regras de acordo com os seguintes critrios [MF78]: prioridades atribudas estaticamente;
caractersticas da estrutura das regras como complexidade, simplicidade e especicidade; caractersticas dos dados
associados s regras como o tempo decorrido desde sua obteno, sua conabilidade ou seu grau de importncia; e,
nalmente, seleo ao acaso.
Em geral, a utilizao de um desses critrios insuciente para resolver os conitos. Neste caso, o ASE pode
combinar mais de um mtodo na forma de mtodo primrio, secundrio, etc. Os melhores ASEs dispem de diversos
mtodos de resoluo de conito e permitem ao usurio a especicao de quais mtodos utilizar e em que ordem.
Representao de incerteza
O tratamento de incerteza uma ativa rea de pesquisa em SEs, pois os domnios adequados implementao
de SEs se caracterizam exatamente por no serem modelados por nenhuma teoria geral, o que implica descries
incompletas, inexatas ou incertas. Diversos mtodos foram propostos para tratar este problema, por exemplo, m-
todo Bayesiano, fatores de certeza (conforme o modelo adotado no MYCIN), teoria de Dempster-Shafer, teoria dos
conjuntos nebulosos, teoria de probabilidades subjetivas e teoria de possibilidades (ver seo 3).
De maneira geral, estes mtodos atribuem aos fatos e regras uma medida numrica que represente de alguma
forma a conana do especialista. Os mtodos utilizados no so necessariamente coerentes uns com os outros e
cada mtodo adapta-se melhor a determinados tipos de problemas. Diversos ASEs dispem de mais de um mtodo
de tratamento de incerteza, deixando ao usurio a escolha do mais adequado ao seu problema. Uma caracterstica
freqente desses mtodos a existncia de um limite mnimo para a medida de incerteza, abaixo do qual o fato ou
regra desconsiderado. Este limite pode, em geral, ser xado pelo usurio.
Representao de conhecimento
Em geral, os ASEs se limitam a oferecer um nico tipo de representao de conhecimento (ver seo 2.2). Alguns
sistemas dispem de mais de um formalismo, os quais, no entanto, devem ser utilizados de maneira isolada. Alguns
poucos ASEs possuem os chamados sistemas hbridos de representao de conhecimento [NL87] que, alm de pos-
suir diversos formalismos de representao, dispem tambm de algoritmos de acesso que integram os conhecimentos
representados nos diversos formalismos para permitir sua utilizao de maneira integrada.
2.4 Exemplos de sistemas especialistas
Nesta seo, so descritos alguns SEs mais conhecidos [BF81].
17
2.4.1 Mycin
O sistema MYCIN [Sho76] foi um dos primeiros SEs. Seu objetivo prover conselho a respeito de diagnstico e te-
rapia de doenas infecciosas. Este tipo de aconselhamento pode ser muito til, pois nem sempre o mdico responsvel
um especialista em infeces, principalmente em ambiente hospitalar.
Uma seo do sistema inicia-se com um questionrio, a ser respondido pelo usurio, a respeito do paciente.
Informaes como nome, idade, sexo, tempo de manifestao dos sintomas, resultados de exames, etc. so solicitadas.
A partir dessas informaes, e utilizando sua base de regras, o sistema capaz de estabelecer um diagnstico e propor
uma terapia adequada.
A base de regras do sistema contm 450 regras, que lhe permitem diagnosticar e prescrever tratamentos para
bacteremia (infeco no sangue), meningite e cistite infecciosa. As regras so representadas internamente na forma
de uma lista (em Lisp) do tipo:
((and (same cntxt infect primary-bacteremia)
(membf cntxt site sterilesites)
(same cntxt portal gi))
(conclude cntxt ident bacteroides tally 0.7))
Esta representao automaticamente traduzida pelo sistema para uma forma mais legvel. O resultado desta
traduo, que pode ser utilizado para explicar o raciocnio do sistema, o seguinte:
If 1. the infection is primary-bacteremia, and
2. the site of the culture is one of the sterile sites, and
3. the suspected portal of entry of the organismis gastrointestinal
tract,
then there is suggestive evidence (0.7) that the identity of the organism is bacteroides.
As premissas das regras so constitudas por combinaes booleanas de clusulas. Cada clusula composta por
um predicado e uma tripla de parmetros, com a seguinte interpretao:
(<predicado> <objeto> <atributo> <valor>)
Os predicados so independentes do domnio. Existem 24 predicados pr-denidos, por exemplo, SAME, KNOWN,
DEFINITE, etc. Os objetos, atributos e valores dependem do domnio de aplicao. Alguns exemplos de triplas (<objeto><
atributo><valor>) utilizados no sistema so: (ORGANISM IDENTITY E-COLI), (CULTURE SITE BLOOD).
A parte de ao da regra contm um ou mais fatos a serem concludos.
Os elementos da memria de trabalho, que contm fatos mdicos referentes ao paciente e sua doena, so representados na
forma de listas de 4 elementos:
(<atributo> <objeto> <valor> <coeficiente de certeza>)
Por exemplo:
(IDENT ORGANISM-2 KLEBSIELLA 0.25)
Cada regra e cada elemento da memria de trabalho so associados a um coeciente de certeza. Os coecientes
de certeza no MYCIN variam entre -1 (totalmente falso) e 1 (totalmente verdadeiro). Estes coecientes so utilizados
para propagar a incerteza inicial de uma informao atravs da cadeia de inferncias. O mtodo para realizar esta
propagao foi desenvolvido de maneira ad hoc, mas provou-se eciente para a aplicao desenvolvida. Caso o
coeciente de certeza que entre -0.2 e 0.2, o fato ou concluso da regra considerado desconhecido.
O sistema MYCIN utiliza o encadeamento regressivo associado a uma busca em profundidade. A busca realizada
completa, no sentido em que, dado um objetivo, todas as evidncias a favor e contra o objetivo so pesquisadas. A
aquisio de conhecimento para o sistema MYCIN facilitada pela possibilidade do sistema explicar seu raciocnio.
Essa facilidade explorada no sistema TEIRESIAS [Dav80], que permite modicar interativamente a base de regras
do MYCIN.
18
2.4.2 Dendral
DENDRAL [FBL71] o nome de um projeto desenvolvido a partir de 1965 na Universidade de Standford (USA).
O objetivo do projeto desenvolver programas capazes de determinar automaticamente o conjunto de estruturas
moleculares, constitudas de tomos conhecidos, capazes de explicar dados provenientes da anlise espectrogrca de
uma molcula desconhecida. Uma abordagem algortmica havia sido tentada anteriormente e se mostrou impraticvel
devido ao enorme nmero de estruturas possveis. O primeiro programa do projeto, o Heuristic DENDRAL, fazendo
uso de regras obtidas junto a especialistas humanos em espectroscopia que impem restries aos tipos possveis de
estrutura, foi capaz de reduzir o espao de busca para um tamanho tratvel, mantendo os mesmo resultados. Outros
programas desenvolvidos no mbito do projeto so: o sistema Meta-DENDRAL, capaz de inferir automaticamente
regras de espectroscopia de massa a partir de exemplos de molculas devidamente analisadas por seres humanos e o
sistema CONGEN, um gerador de estruturas moleculares no relacionado diretamente com tcnicas de IA.
O sistema DENDRAL no segue a estrutura tradicional dos SEs, pois ele integra trs programas independen-
tes, dos quais apenas dois so baseados em regras. Os trs programas tm as seguintes funes: (i) Planejamento:
determinao das combinaes de tomos consistentes com um conjunto de regras heursticas sobre espectroscopia
de massa. As restries impostas s estruturas so de dois tipos: determinao de fragmentos moleculares que de-
vem estar necessariamente presentes ou ausentes da estrutura nal. (ii) Gerao: construo de todas as estruturas
moleculares que obedecem s restries inferidas na parte de planejamento, isto , que incluem todos os fragmentos
necessrios e nenhum dos proibidos. Este processo realizado por um algoritmo tradicional. Originalmente foi uti-
lizado um algoritmo devido a Lederberg e mais tarde o programa CONGEN. (iii) Teste: classicao das estruturas
geradas atravs da simulao de seu comportamento em um espectrgrafo de massa. As estruturas cujos espec-
tros simulados se aproximam do espectro real so classicadas com um escore mais alto. A simulao realizada
utilizando-se regras que prevem a posio de picos no espectro a partir da estrutura molecular.
Desta forma, o sistema DENDRAL consiste em dois SEs e um programa tradicional. As regras utilizadas na
parte de planejamento tm a seguinte forma:
If the spectrum for the molecule has two peaks at masses x1 and x2, such that:
a. x1 + x2 = M + 28, and
b. x1 - 28 is a high peak, and
c. x2 - 28 is a high peak, and
d. at least one of x1 or x2 is high,
then the molecule contains a ketone group.
Esta regra, caso suas condies sejam satisfeitas, restringe as possveis estruturas apenas quelas que contm um
grupo ketona. Ambos os grupos de regras do sistema so utilizados segundo o modo de encadeamento para frente,
como tpico de problemas dirigidos por dados.
O sistema DENDRAL, a partir de 1968 at o presente, foi utilizado em diversas pesquisas sobre qumica or-
gnica. Alguns resultados de anlises realizadas pelo sistemas foram considerados melhores do que os obtidos por
especialistas humanos e publicados em revistas especializadas.
2.4.3 Prospector
O sistema PROSPECTOR [HDE78] foi desenvolvido no SRI International (USA) com o objetivo de auxiliar geolo-
gistas envolvidos em prospeco mineral.
A principal funo do sistema determinar a correspondncia entre dados que descrevem uma determinada situ-
ao com modelos que descrevem classes disjuntas de situaes possveis. Os modelos so descries formais dos
tipos mais importantes de depsitos minerais e os dados de entrada se referem a observaes geolgicas de superfcie.
19
O conhecimento geolgico armazenado na forma de uma rede de inferncia: uma rede semntica onde os nodos
representam fatos sobre o domnio, por exemplo, there is pervasively biotized hornblende, e os arcos indicam como
a probabilidade associada a um nodo inuencia um outro nodo. Um fato pode ser interpretado como um indcio da
veracidade ou da falsidade de um outro. Existem ainda fatos que so independentes, isto , no existem arcos entre
eles. Apesar da representao em forma de grafo e do uso de probabilidades, os arcos de inferncia da rede podem
ser interpretados como um conjunto de regras. Alm dos arcos de inferncia, o sistema dispe de arcos de contexto
que indicam que um determinado fato um contexto necessrio a outro fato.
O sistema contm cinco modelos de tipos de depsitos minerais desenvolvidos com a ajuda de cinco gelogos
diferentes. Os modelos so representados na forma de redes de inferncia. O quadro 1 d uma idia da complexidade
dos modelos.
Tabela 1: Tamanho dos modelos
Modelo N

de nodos N

de arcos
Koroko-type massive sulde 39 34
Mississippi-Valey-type lead/zinc 28 20
Type A porphyry copper 187 91
Komatiitic nickel sulde 75 49
Roll-front sandstone uranium 212 133
Total 541 327
Almda rede de inferncia, o sistema conta comuma rede taxonmica que descreve relaes do tipo classe/elemento
e classe/subclasse entre os termos mencionados na descrio dos modelos, por exemplo, biotide um tipo de mica.
O funcionamento do sistema dividido em duas partes. Inicialmente o usurio fornece as informaes disponveis
sobre o local de prospeco. Estas informaes so representadas na forma de uma rede semntica que comparada
com os modelos disponveis. O resultado desta primeira parte a escolha do modelo mais adequado. Na segunda
parte, o sistema utiliza o modelo escolhido e as informaes disponveis, atravs de um mecanismo de encadeamento
regressivo, para renar a anlise. Alguns fatos so ditos perguntveis e durante o renamento da anlise o sistema
solicitar ao usurio as probabilidades associadas aos fatos deste tipo, que sejam relevantes para a situao analisada.
3 Representao de incerteza
A imperfeio da informao geralmente conhecida na literatura de sistemas baseados em conhecimento como
incerteza. No entanto, este termo muito restritivo; o que se convenciona chamar tratamento de incerteza pode, na
verdade, estar endereando outras imperfeies da informao, como impreciso, conito, ignorncia parcial, etc.
Suponhamos, por exemplo, que queiramos descobrir a que horas comea um determinado lme. Algumas das
respostas que podemos obter so:
Informao perfeita: O lme comea s 8h 15min.
Informao imprecisa: O lme comea entre 8h e 9h.
Informao incerta: Eu acho que o lme comea s 8h (mas no tenho certeza).
Informao vaga: O lme comea l pelas 8h.
Informao probabilista: provvel que o lme comece s 8h.
Informao possibilista: possvel que o lme comece s 8h.
20
Informao inconsistente: Maria disse que o lme comea s 8h, mas Joo disse que ele comea s 10h.
Informao incompleta: Eu no sei a que horas comea o lme, mas usualmente os lmes neste cinema come-
am s 8h.
Ignorncia total: Eu no fao a menor idia do horrio do lme.
As informaes que podemos obter podem, portanto, variar de perfeitas, quando descobrimos exatamente o que
queremos saber, a completamente imperfeitas, seja pela total ausncia de informaes ou por informaes comple-
tamente conitantes. O mais interessante aqui que, mesmo lidando diariamente com o tipo de informaes acima,
conseguimos tomar decises razoveis. Para tanto, ns, de alguma forma, encontramos um modelo adequado para
representar a informao que obtivemos e a tratamos segundo o modelo escolhido. O mesmo deve (ou pelo menos
deveria) ocorrer com sistemas baseados em conhecimento, em face de informaes imperfeitas.
Por exemplo, para cada um dos tipos de informao descritos acima, existe um modelo formal conhecido de trata-
mento. Alm disso, encontramos na literatura implementaes, formais ou ad hoc, para cada um desses modelos. A
informao de conotao probabilista pode ser tratada pela teoria de probabilidades ou pela teoria da evidncia (tam-
bm conhecida como Dempster-Shafer) [Sha76]; enquanto que a informao imprecisa e/ou vaga pode ser tratada
pela teoria dos conjuntos nebulosos ([Zad65], [DP80]), pela teoria dos conjuntos de aproximao (do ingls, rough
sets) [Paw92], ou pela manipulao de classes de referncia [KJ83]; e a informao possibilista pode ser tratada pela
teoria de possibilidades ([Zad78], [DP88]). A informao incerta pode ser tratada tanto pelas teorias de probabilida-
des, possibilidades ou evidncia, ou por modelos ad hoc. As informaes inconsistentes e aquelas que chamamos,
um pouco impropriamente, incompletas, podem ser tratadas por lgicas no clssicas; como a paraconsistente e a de
quatro valores no primeiro caso [Bel77], e as lgicas no monotnica no segundo caso, como a lgica de default
[Rei80] e a circunscrio [Mcc80].
4
Nesta seo, estamos interessados em discutir alguns dos modelos numricos de representao da informao
imperfeita. Embora reconhecidamente importantes, no abordaremos modelos de propagao local de informao
imperfeita ([Pea87], [San93]), nem modelos para agregao de opinies de especialistas ([SDP95]).
A seguir descrevem-se os modelos numricos mais conhecidos para a representao da informao imperfeita: os
modelos probabilista, possibilista, nebuloso e da evidncia.
3.1 Modelo nebuloso
A teoria dos conjuntos nebulosos o modelo mais tradicional para o tratamento da informao imprecisa e vaga. Este
modelo, introduzido em [Zad65], tem por objetivo permitir graduaes na pertinncia de um elemento a uma dada
classe, ou seja de possibilitar a umelemento de pertencer commaior ou menor intensidade quela classe. Basicamente,
isso se faz quando o grau de pertinncia de um elemento ao conjunto, que na teoria dos conjuntos clssica assume
apenas os valores 0 ou 1, passa a ser dado por um valor no intervalo dos nmeros reais [0, 1]. Para uma descrio
detalhada desta teoria, ver [DP80] e [DP88], e para uma descrio mais sucinta, ver [BM93b]).
Dado um universo de discurso X, um subconjunto nebuloso A de X denido por uma funo de pertinncia que
associa a cada elemento x de X o grau
A
(x), compreendido entre 0 e 1, com o qual x pertence a A [Zad65]:

A
: X [0, 1]
Exemplo: Suponhamos que queiramos modelar o conceito alto. Usualmente, podemos dizer com certeza que uma
pessoa que mede mais de 1, 75m alta, e que ela no alta se tiver menos de 1,60m. J uma pessoa que mede entre
1, 60m e 1, 75m ser considerada tanto mais alta quanto mais sua altura esteja prxima de 1, 75m. Ento podemos
4
Um estudo comparativo dos diferentes enfoques pode ser encontrado em [Som90].
21
1,60 0,50
1
1,80 altura (m)

A
Figura 5: Conjunto nebuloso A alto
modelar o conceito alto pelo conjunto nebuloso A, denido no intervalo de 0, 5m a 2, 5m, dado por:

A
(x) =

1 x > 1, 75m
0 x < 1, 60m
x1,6
0,15
1, 60m x 1, 75m
A gura 5 ilustra o conjunto nebuloso alto.
Na teoria dos conjuntos nebulosos, a negao n : [0, 1] [0, 1] implementada por uma famlia de operadores,
sendo que o mais comumente utilizado dado por n(x) = 1x. Ou seja, se A representa a negao de A no universo
Y, ento utilizando a negao n temos
A
(x) = 1
A
(x).
Nesta teoria, a interseco implementada por uma famlia de operaes chamadas T-normas e a unio
implementada por outra famlia de operaes chamadas T-conormas [DP88]. O conjunto das T-normas e T-
conormas formam as normas triangulares. Cada norma triangular : [0, 1] [0, 1] [0, 1] verica, para todos os
x, y, z em [0, 1], propriedades abaixo.
(i) Comutatividade: (x, y) = (y, x)
(ii) Associatividade: (x, (y, z)) = ((x, y), z)
(iii) Monotonicidade: se x z e y t, ento (x, y) (z, t)
Alm disso, cada T-norma verica a propriedade:
(iv) (x, 1) = x (elemento neutro 1),
e cada T-conorma verica a propriedade:
(v) (x, 0) = x (elemento neutro 0).
Uma T-norma e uma T-conorma so duais em relao a uma operao de negao n se elas satisfazem as
relaes de De Morgan, isto , se n((A, B)) = (n(A), n(B)) e n((A, B)) = (n(A), n(B)). As T-normas e
T-conormas duais, em relao operao de negao 1 x, mais utilizadas so apresentadas no quadro 2.
Os operadores de implicao I : [0, 1] [0, 1] [0, 1] so usados para modelar regras de inferncia do tipo Se
premissa) ento concluso). Seja o grau de compatibilidade entre as condies estabelecidas na premissa e os
valores encontrados na realidade e C, denido em Z, o conjunto nebuloso presente na concluso da regra. Ento, para
vericarmos o grau com que a premissa implica a concluso, dados os valores encontrados na realidade, vericaremos
o quanto implica
C
(z), vericando I(,
C
(z)) para todo z Z. O quadro 3 traz as principais operaes de
implicao encontradas na literatura.
A utilizao mais signicativa da teoria dos conjuntos nebulosos em sistemas baseados em conhecimento so os
controladores nebulosos [Lee90], [DHR93]. Um controlador nebuloso pode ser visto como um sistema especialista
simplicado, onde a conseqncia de uma regra no aplicada como antecedente de outra. Isto porque as aes de
controle so baseadas em um nico nvel de inferncia. As regras de controle nebuloso so usualmente do tipo
22
Tabela 2: Principais T-normas e T-conormas duais
T-norma T-conorma Nome
min(x, y) max(x, y) Zadeh
x y x +y xy Probabilista
max(x +y 1, 0) min(x +y, 1) Lukasiewicz
xy
+(1)(x+yxy)
x+yxy(1)xy
1(1)xy
Hamacher ( > 0)
x, se y = 1 x, se y = 0 Weber
y, se x = 1 y, se x = 0
0 se no 1 se no
Tabela 3: Principais operadores de implicao
Implicao Nome
max(1 x, y) Kleene
min(1 x +y, 1) Lukasiewicz
1, se x y Gdel
y, se no
min(x, y) Mandani
x y Larsen
R
j
: Se x
1
A
1j
e e x
n
A
nj
ento y B
j
.
onde os A
ij
e B
j
so conjuntos nebulosos, e a implicao implementada como uma funo de implicao nebulosa.
Em cada ciclo do processo, os valores das variveis xij so medidos e ento comparados aos conjuntos nebulosos
Aij nas regras, gerando uma medida da adequao dos valores medidos premissa da regra (utilizando uma T-norma
para implementar o conectivo e na premissa das regras). A implicao ento utiliza esta medida de adequao e
o conjunto nebuloso B
j
na concluso para obter um valor B

j
para a varivel de controle, em relao quela regra.
Os valores B

j
so ento agregados em uma nica ao de controle C, utilizando uma T-norma ou T-conorma. Em
alguns controladores os B

j
e C so nebulosos, e ento necessrio se determinar um valor preciso para a varivel de
controle, a partir de C.
3.2 Modelo probabilista
A teoria de probabilidades o modelo mais tradicional para o tratamento da informao incerta. Neste modelo, dado
um evento A X, onde denota a incluso no estrita, a probabilidade da ocorrncia de A descrita por uma
medida de probabilidade T : 2
X
[0, 1], que satisfaz os seguintes axiomas:
A X, T(A) 0, T(A) T(X)
T(X) = 1
A, B X, A B = , T(A B) = T(A) +T(B)
onde denota o conjunto vazio. O primeiro axioma estabelece que todas as probabilidades sobre os eventos A X
so no negativas e que X o evento mais provvel. O segundo axioma estabelece que a probabilidade mxima
23
dada a X, que interpretado como o evento certo. O axioma da aditividade estabelece que, se dois eventos so mutu-
amente exclusivos, ento a probabilidade de que ao menos um dentre eles se realize a soma de suas probabilidades
individuais. Uma conseqncia importante deste axioma que, se a probabilidade de um evento A conhecida, ento
pode-se determinar exatamente a probabilidade do evento contrrio, A. A partir desses axiomas pode-se estabelecer
as seguintes propriedades:
T() = 0,
A X, T(A) = 1 T(A),
A, B X, T(A B) = T(A) +T(B) T(A B).
Podemos, assim, caracterizar a probabilidade dos eventos sobre um domnio discreto X, utilizando a distribuio
de probabilidade p : X [0, 1], que tal que

xX
p(x) = 1. A funo p pode ser denida a partir de P por
p(x) = T(x). A partir do axioma de aditividade deduz-se que:
A X, T(A) =

xA
p(x).
No caso contnuo, p chamada de funo densidade de probabilidade que tal que

X
p(x)dx = 1, e T(A) =

A
p(x)dx.
A medida de probabilidade tem uma interpretao freqentista e uma interpretao subjetiva. Na interpreta-
o freqentista, que a base da utilizao de informaes estatsticas, P(A) representa o limite da freqncia da
ocorrncia do evento A em uma seqncia innita de experincias independentes. Na interpretao subjetiva, mais
freqentemente usada em sistemas baseados em conhecimento, T(A) representa a crena de um determinado indiv-
duo na ocorrncia de A. Neste caso, supe-se que o indivduo que fornece as probabilidades aos eventos em X seja
capaz de exprimi-las de forma a que elas obedeam os axiomas acima.
O teorema de Bayes prov a base para o tratamento da imperfeio da informao em diversos sistemas base-
ados em conhecimento [Ric83]. Este teorema computa a probabilidade de um dado evento, dado um conjunto de
observaes. Seja:
T(H
i
[ E) a probabilidade que a hiptese H
i
seja verdadeira dada a evidncia E.
T(E [ H
i
) a probabilidade que a evidncia E ser observada se a hiptese H
i
for verdadeira.
T(H
i
) a probabilidade a priori que a hiptese H
i
verdadeira na ausncia de qualquer evidncia especca.
k o nmero de hipteses possveis.
O teorema de Bayes formulado como:
T(H
i
[ E) =
T(E [ H
i
) T(H
i
)

k
j=1
T(E [ H
j
) T(H
j
)
.
Em sistemas baseados em conhecimento, uma modicao desta regra muitas vezes utilizada [BS84]:
T(H
i
[ E
n
E
a
) =
T(E
n
[ H
i
Ea) T(H
i
[ E
a
)

k
j=1
T(E
n
[ H
j
E
a
) T(H
j
[ E
a
)
onde E
n
e E
a
representam respectivamente novas evidncias e evidncias anteriores, em relao a um dado momento
do processo.
Exemplo: Suponhamos que no meio da noite dispare o alarme contra ladres de nossa casa [Pea87]. Queremos ento
saber quais so as chances de que esteja havendo uma tentativa de roubo. Suponhamos que existam 95% de chances
24
de que o alarme dispare quando uma tentativa de roubo ocorre, que em 1% das vezes o alarme dispara por outros
motivos, e que em nosso bairro existe uma chance em 10.000 de uma dada casa ser assaltada em um dado dia. Temos
ento: P(alarme [ roubo) = 0, 95, P(alarme [ roubo) = 0, 01 e P(roubo) = 10
4
.
Ento P(roubo [ alarme) = 0, 00941. Este valor pode parecer estranho, mas ele pode ser intuitivamente en-
tendido quando vericamos que as chances de haver um roubo e do alarme tocar (0,000095) so muito pequenas em
relao s chances de haver um alarme falso (0,01).
Muitos dos sistemas baseados em conhecimento mais famosos tm o enfoque bayesiano como base para o tra-
tamento da informao imperfeita, como, por exemplo, o MYCIN [BS84] e o PROSPECTOR [RJP79]. No sistema
MYCIN, tanto regras como fatos tm associados um par [MBMD], onde MB mede a crena na hiptese (o prprio
fato, ou concluso de uma regra quando a premissa completamente satisfeita), e MD mede a crena na negao
dessa hiptese. A mquina de inferncia ento no somente cria novos fatos, mas tambm um par [MBMD] para
este novo fato, utilizando uma variao formalmente imperfeita, porm ecaz, da regra de Bayes.
3.3 Modelo possibilista
A teoria de possibilidades um modelo que alia um grande poder de expressividade com uma grande exibilidade
para o tratamento da informao incerta. Neste modelo, a informao fornecida por uma fonte de conhecimento sobre
o verdadeiro valor de uma varivel x em um universo de discurso X codicado sob a forma de uma distribuio de
possibilidades : X [0, 1] [Zad78], [DP88]. Para qualquer valor de x
i
X, (x
i
) reete at que ponto possvel
que x = x
i
(partindo do pressuposto que se tem somente um valor verdadeiro).
Uma distribuio de possibilidades relativa varivel x pode portanto ser vista como a funo de pertinncia
de um conjunto nebuloso dos valores possveis de x [Zad78]. Estes valores so supostamente mutuamente exclusivos,
pois x toma somente um valor (seu valor verdadeiro), que pertence a um conjunto universo X dado. Normalmente,
assume-se tambm que existe ao menos um valor considerado como completamente possvel de ser o verdadeiro valor
de x. Isto se traduz pela condio de normalizao: x X, (x) = 1. importante notar que nada impede que
valores distintos de X possam ser considerados completamente possveis simultaneamente.
Conhecendo-se a distribuio de possibilidades, a verossimilhana dos eventos pode ser descrita por duas funes
de conjunto: a medida de possibilidade e a medida de necessidade, denotadas respectivamente por e N. Quando
uma funo de pertinncia de um conjunto crisp (estritamente clssico) A, um evento B dito possvel se e somente
se A B ,= , e necessrio se A B; por denio fazemos (B) = 1 e N(B) = 1 nas situaes respectivas. No
caso geral onde a funo de pertinncia de um conjunto nebuloso, as medidas de possibilidade e necessidade so
denidas da seguinte maneira:
(A) = sup
xA
(x),
N(A) = inf
xA
1 (x)
onde N(A) quantica o quanto a evidncia disponvel suporta a hiptese de que A contm o verdadeiro valor de x, e
(A) quantica o quanto a evidncia no contradiz esta hiptese. A partir das expresses acima obtemos:
N(A) = 1 (A)
onde A o complemento de A em relao a X. A expresso dual exprime que A tanto mais certo quanto mais A
impossvel.
Exemplo: Suponhamos que no se saiba a altura de Carlos, mas que se saiba que ele alto. Ento a distribuio de
possibilidade da altura de Carlos pode ser aproximada por aquela do conjunto nebuloso A = alto, ou seja, fazemos
(x) =
A
(x). Dada a distribuio de possibilidade da altura de Carlos, temos:
([0, 5, 1, 60]) = 0, N([0, 5, 1, 6]) = 0,
25
([1, 60, 1, 75]) = 1, N([1, 60, 1, 75]) = 0,
([1, 75, 2, 5]) = 1, N([1, 75, 2, 5]) = 0, 34,
([1, 80, 2, 5]) = 1, N([1, 80, 2, 5]) = 0,
([1, 60, 2, 5]) = 1, N([1, 60, 2, 5]) = 1.
Transformaes entre os modelos possibilista e probabilista tm sido exploradas na literatura (por exemplo,
[Kli90] e [DPS93]), e se tornam a cada dia mais teis.
A teoria de possibilidades a base da lgica possibilista PL1, que tem sido usada em sistemas baseados em
conhecimento [SBM93]. Na lgica PL1, todos os elementos de conhecimento tm o formato ([K]), onde uma
assero lgica isto , uma frmula bem-formada do clculo de predicados e a valuao K um limite inferior
da necessidade de (isto , N() K). Novos elementos de conhecimentos so inferidos utilizando um esquema
lgico para a deduo de novas asseres lgicas e os axiomas de teoria de possibilidades para a gerao das valuaes
correspondentes. Uma nova extenso desta lgica permite o uso formal de constantes nebulosas e a modelagem de
regras graduais [DPS96].
3.4 Modelo da evidncia
A teoria de evidncias [Sha76] um dos modelos mais conhecidos para a representao da incerteza em sistemas
baseados em conhecimento. Neste modelo, a informao fornecida por uma fonte de conhecimento a respeito do
valor real de uma varivel x, denida em um universo de discurso X, codicada sob a forma de um corpo de
evidncia sobre X. Um corpo de evidncia caracterizado por um par (F, m), onde F uma famlia de subconjuntos
de X (isto , F 2
X
), e a funo de alocao de massa m uma aplicao de 2
X
no intervalo [0, 1], tal que m(A) > 0
se e somente se A F e

m(A) [ A X = 1. Cada elemento A F chamado elemento focal, e m(A) se


refere evidncia relativa a A unicamente (e no aos subconjuntos de A). Nesta teoria, a incerteza ligada ao evento
A 2
X
medida atravs de duas funes Bel : 2
X
[0, 1] e Pl : 2
X
[0, 1], denidas por:
Bel(A) =

BA
m(B),
Pl(A) =

BA=
m(B).
A funo de credibilidade Bel mede a que ponto as informaes fornecidas por uma fonte sustentam A. A funo
de plausibilidade Pl mede a que ponto as informaes dadas por uma fonte no contradizem A. As funes de
credibilidade e plausibilidade esto ligadas pela relao:
Bel(A) = 1 Pl(A).
Isto equivale a dizer que quanto mais se aumenta a evidncia sobre uma hiptese, menor se torna a plausibilidade
da hiptese contrria.
Exemplo: Para ilustrar o uso dessa teoria, vamos estudar o problema de tomada de deciso em relao perfurao
ou no em um determinado local, em busca de petrleo. Suponhamos que possamos aplicar um teste cujos resultados
possveis so vermelho (V), amarelo (A) ou verde (R). O valor vermelho indica que o local seco (s), o valor
amarelo indica que o local seco ou molhado (s, m), e o valor verde indica que o local ou molhado ou ensopado
(m, e). Usando resultados de outras perfuraes na mesma rea, foram conseguidas as seguintes probabilidades a
priori:
p(V ) = 0, 5 p(A) = 0, 3 p(R) = 0, 2.
26
O corpo de evidncia sobre os possveis estados do local X = s, m, e ento dado por:
m(s) = 0, 5 m(s, m) = 0, 3 m(m, e) = 0, 2.
Temos ento:
Pl(s) = 0, 8, Bel(s) = 0, 5,
Pl(m) = 0, 8, Bel(m) = 0,
Pl(e) = 0, 2, Bel(s) = 0,
Pl(s, m) = 1, Bel(s, m) = 0, 8,
Pl(m, e) = 0, 5, Bel(m, e) = 0, 5.
Dependendo dos custos do teste e da perfurao, e da expectativa de ganho para cada estado do local, pode ou no
valer a pena fazer o teste e posteriormente a perfurao.
As teorias de probabilidade e de possibilidade podem ser consideradas como casos particulares da teoria da evi-
dncia; as distribuies de probabilidade e possibilidade podem ser caracterizadas por tipos especiais de corpos de
evidncia.
Na teoria da evidncia, a regra universalmente aceita para a combinao de dois corpos de evidncia independentes
a chamada regra de Dempster
5
[Sha76]. Esta regra composta de uma regra de combinao conjuntiva e de um
passo de normalizao:
Regra de Dempster:
(A) =

BC=A
m
1
(B) m
2
(C)
m(A) =
(A)
(1 ())
onde () =

BC=
m
1
(B) m
2
(C), representa o conito entre os corpos de evidncia (F
1
, m
1
) e (F
2
, m
2
).
Outras regras podem ser encontradas na literatura (ver [JSS95] para uma discusso mais completa). As seguintes
regras, por exemplo, s introduzem uma mudana na normalizao da funo dada acima:
Regra de Yager:
m(X) = (X) +(), se A = X
m(A) = (A), caso contrrio
Regra de Hau e Kashyap:
m(A) = (A) +

BC=BC=A
m
1
(B) m
2
(C)
Regra de Joshi, Sahasrabudhe e Shankar:
m(A) = (A)(1 +()), se A ,= X
m(X) = 1

A=X
m(A), caso contrrio
5
Devido ao fato de Shafer ter concebido a teoria da evidncia utilizando a chamada regra de Dempster, enunciada originalmente para uso
em estatstica, esta teoria tambm conhecida como teoria de Dempster-Shafer.
27
A regra seguinte modica a regra de combinao em si e no necessita do passo de normalizao [DP86]:
Regra de Dubois e Prade:
m(A) =

BC=A
m
1
(B) m
2
(C)
A regra de Dempster e a de Dubois e Prade so associativas, e as demais obedecem somente a uma propriedade
mais fraca chamada quasi-associatividade. Nenhuma das regras idempotente, o que faz com que a independncia
dos corpos de evidncia seja particularmente importante.
Exemplo: Para X = a, b, com o corpo de evidncia (F
1
, m
1
) dado atravs de m
1
(a) = 0, 9, m
1
(b) = 0, 1, e com
o corpo de evidncia (F
2
, m
2
) dado atravs de m
2
(a) = 0, 9, m
2
(ab) = 0, 1, tem-se:
6
Regra de Dempster:
m(a) = 0, 967, m(b) = 0, 0322
Regra de Yager e Regra de Hau e Kashyap:
m(a) = 0, 9, m(b) = 0, 03, m(ab) = 0, 07
Regra de Joshi, Sahasrabudhe e Shankar:
m(a) = 0, 963, m(b) = 0, 0321, m(ab) = 0, 0049
Regra de Dubois e Prade:
m(a) = 0, 63, m(ab) = 0, 27
O Fril [Bal87] um dos sistemas baseados em conhecimento que utilizam a teoria da evidncia como base para
o tratamento da incerteza. Neste sistema, a cada regra ou fato est associado um par [SU], onde S e U podem ser
vistos respectivamente como as funes Bel e Pl. A mquina de inferncia do Fril usa a regra de Dempster, alm
de alguns mecanismos ad hoc, para determinar os pares [SU] referentes aos novos fatos gerados. Apesar de no
seguir estritamente os conceitos e restries da teoria da evidncia, os resultados obtidos com este sistema em vrias
aplicaes foram plenamente satisfatrios.
4 Conexionismo
O conexionismo
7
uma das duas grandes linhas de pesquisa da IA e tem por objetivo investigar a possibilidade de
simulao de comportamentos inteligentes atravs de modelos baseados na estrutura e funcionamento do crebro
humano. Os primeiros trabalhos desenvolvidos na rea datam de 1943, quando o neurosiologista, lsofo e poeta
americano Warren McCulloch, e o lgico Walter Pitts desenvolveram o primeiro modelo matemtico de um neurnio.
As linhas conexionista e simblica nasceram praticamente juntas: o livro publicado aps o encontro em Darth-
mouth College, em 1956, j continha um artigo a respeito de redes neuronais. No entanto, por uma srie de razes, as
tcnicas simblicas de IA, baseadas na lgica, tiveram preferncia na poca. Entre estas razes pode-se citar a falta
de computadores sucientemente potentes para tratar a complexidade inerente ao mtodo, e a publicao do livro
Perceptrons por Minsky e Papert [MP69], onde as propriedades matemticas de redes articiais de neurnios so ana-
lisadas e suas limitaes so apontadas, como, por exemplo, a impossibilidade de simular o operador ou-exclusivo
com Perceptrons de uma camada.
6
Estamos denotando o conjunto {a, b} por ab.
7
Outros nomes utilizados para o domnio so: Redes Neuronais (ou Neurais), Processamento Distribudo Paralelo (PDP), Redes Adaptativas
e Computao Coletiva.
28
Axnio
K

Na
+
Na
+
K

Na
+
K

Dendrites
Corpo celular
Sinapse
Ncleo
Figura 6: Neurnio biolgico
Na dcada de 80, houve umrenascimento do interesse sobre o conexionismo. Este renascimento deve-se a diversos
fatores, por exemplo, melhores conhecimentos da estrutura real do crebro, melhores algoritmos de treinamento e
disponibilidade de computadores poderosos, inclusive paralelos. Os sucessos obtidos emaplicaes prticas levarama
uma mudana de nfase quanto ao objetivo da pesquisa na rea. Uma parte da pesquisa passa a se dedicar ao estudo de
redes neuronais vistas apenas como uma representao de funes matemticas utilizando elementos computacionais
aritmticos simples, sem maiores relaes com a modelagem do sistema nervoso.
As caractersticas que tornam a metodologia de redes neuronais interessante do ponto de vista da soluo de
problemas so as seguintes:
Capacidade de aprender atravs de exemplos e de generalizar este aprendizado de maneira a reconhecer
instncias similares que nunca haviam sido apresentadas como exemplo.
Bom desempenho em tarefas mal denidas, onde falta o conhecimento explcito sobre como encontrar uma
soluo.
No requer conhecimento a respeito de eventuais modelos matemticos dos domnios de aplicao.
Elevada imunidade ao rudo, isto , o desempenho de uma rede neuronal no entra em colapso em presena de
informaes falsas ou ausentes, como o caso nos programas convencionais, mas piora de maneira gradativa.
Possibilidade de simulao de raciocnio a priori e impreciso, atravs da associao com a lgica nebulosa
(ver seo 3).
Alguns domnios onde so comuns aplicaes da tcnica de redes neuronais so: reconhecimento de padres em
geral (por exemplo, viso computacional, reconhecimento de voz, etc.), processamento de sinais, previso desde va-
riao de carga eltrica at cotaes da bolsa de valores, diagnstico de falhas e identicao e controle de processos.
29
4.1 O modelo de McCulloch e Pitts
A estrutura do neurnio articial proposto por McCulloch e Pitts baseada no neurnio biolgico. De maneira ex-
tremamente simplicada, um neurnio biolgico formado por um corpo celular ou soma que contm o ncleo da
clula, diversos dendrites, atravs dos quais impulsos eltricos so recebidos, e um axnio, atravs do qual impulsos
eltricos so enviados. A propagao de um impulso eltrico ao longo de um dendrite ou de um axnio se d atravs
da alterao da concentrao dos ons K

e Na
+
em ambos os lados da membrana. A gura 6 mostra, esquema-
ticamente, a estrutura de um neurnio. As interligaes entre neurnios so efetuadas atravs de sinapses, pontos
de contato entre dendrites e axnios controlados por impulsos eltricos e por reaes qumicas devidas a substncias
chamadas neurotransmissores.
A maior limitao do modelo de neurnio de McCulloch e Pitts sua natureza binria. Esta limitao, con-
seqncia da crena por parte de McCulloch de que o funcionamento do sistema nervoso central era baseado em uma
representao do tipo tudo ou nada, tambm pode ser includa como uma das razes para o pouco sucesso obtido
inicialmente pelas redes neuronais. O funcionamento do modelo pode ser descrito intuitivamente da seguinte maneira:
se a soma ponderada dos sinais de entrada de um neurnio ultrapassar um determinado limite de disparo, ento a sada
toma valor um; se no ultrapassar, toma valor zero. As entradas do neurnio tambm so binrias.
Formalmente, este funcionamento pode ser descrito da seguinte maneira. Considere o i-simo neurnio de uma
rede neuronal com n neurnios. Este neurnio caracterizado pelo valor x
i
, chamado atividade do neurnio (que
corresponde taxa mdia de disparos dos potenciais de ao do neurnio biolgico) e pelo valor
i
, chamado nvel de
ativao do neurnio (que corresponde ao potencial de membrana do neurnio biolgico). No modelo de McCulloch
e Pitts, o nvel de ativao denido da seguinte maneira:

i
=
n

j=1

ij
x
j
onde
ij
IR o peso atribudo quela entrada do neurnio i cuja origem a atividade do neurnio j. Este peso
simula a sinapse entre dois neurnios e quando estes no esto conectados assume o valor zero. Assim como no caso
biolgico, tambm para as redes neuronais articiais h dois tipos de sinapses: as excitadoras e as inibidoras. Uma
sinapse excitadora tem o seu peso positivo,
ij
> 0, e uma sinapse inibidora tem o seu peso negativo,
ij
< 0. A
atividade do neurnio i dada por x
i
= f(
i
). A funo f, chamada funo de ativao ou de transferncia, adotada
no modelo a funo degrau:
f(x) =

0 se x
1 se x >
onde o limite de disparo.
Mesmo com este modelo rudimentar de neurnio, McCulloch e Pitts foram capazes de provar que uma rede
neuronal equivalente a uma mquina de Turing e, logo, capaz de calcular qualquer funo computvel [MP43]. Esta
equivalncia deve-se ao fato de que possvel simular os operadores ou, e e no utilizando redes neuronais e
que, a partir destes operadores, pode-se construir um computador convencional.
4.2 Modelo geral de neurnio
O modelo atualmente utilizado para um neurnio articial generaliza o modelo de McCulloch e Pitts nos seguintes
aspectos:
O nvel de ativao passa a ser denido como uma funo qualquer g das atividades dos neurnios da rede:

i
= g(x
1
, . . . , x
n
).
30
A funo de ativao f, que determina a atividade de um neurnio, generalizada e passa a ser uma funo
limitada qualquer. interessante ainda que esta funo seja no linear, pois neste caso as restries do modelo
binrio de McCulloch e Pitts desaparecem.
introduzido um valor de polarizao IR, de modo que a atividade de um neurnio passa a ser calculada
por x
i
= f(
i
+).
Na maioria dos modelos, a funo g , da mesma maneira que no modelo de McCulloch e Pitts, simplesmente
a soma ponderada, embora existam modelos onde utilizado o produto, o mnimo ou o mximo. As funes f mais
utilizadas, alm da funo degrau, so:
funo semi-linear:
f(x) =

0 se x <
min
mx +l se
min
x
max
f
max
se x >
max
funo sigmoidal:
f(x) =
f
max
1 +e
x
4.3 Redes neuronais
Uma vez denido um neurnio, possvel estudar as propriedades de redes de neurnios interconectados, as chamadas
redes neuronais. Do ponto de vista do uxo de informao, uma rede neuronal pode conter trs tipos de neurnios:
(i) de entrada u
k
, anlogos aos neurnios sensoriais dos seres vivos, (ii) de sada y
k
, anlogos aos neurnios
motores e, nalmente, (iii) neurnios internos. Este ltimo tipo tem um interesse biolgico particular pelo fato de
que, se admitirmos ciclos em sua estrutura de interligao, ento possvel que eles desenvolvam atividades inde-
pendentes de estmulos externos. Estas atividades podem ser interpretadas, metaforicamente, como pensamentos.
Os neurnios internos so tambm importantes de um ponto de vista matemtico, pois possvel provar que a classe
de problemas conhecidos como no linearmente separveis (do qual o ou-exclusivo uma instncia) s permite
soluo atravs de redes neuronais que possuam ao menos uma camada interna.
Do ponto de vista funcional, uma rede pode ser homognea, se todos os neurnios se comportarem da mesma
forma, ou, no caso contrrio, heterogneas. As redes articiais so normalmente homogneas, diferentemente das
redes neuronais biolgicas que so bastante heterogneas.
Do ponto de vista da topologia da interligao entre neurnios, uma rede pode ser de alimentao para frente
(do ingls, feed-forward) ou recorrentes. Nas redes de alimentao para frente, os neurnios so organizados em
camadas e a informao se desloca em um nico sentido, entre camadas adjacentes. Nas redes recorrentes, no existe
direo privilegiada para a propagao da informao, podendo haver retroalimentao. Um caso limite de rede
recorrente a rede totalmente conectada onde cada neurnio est conectado a todos os outros e da qual toda estrutura
de interligao um caso particular.
O primeiro modelo de rede neuronal chamado Perceptron foi proposto por Rosenblatt, em 1957. Este consiste
em uma rede de duas camadas (uma de entrada, utilizada apenas para redistribuio da informao de entrada, e outra
de sada, onde o processamento realmente realizado) formadas por neurnios binrios. Desde ento diversos mode-
los foram propostos. Alguns dos modelos mais conhecidos, seus domnios de aplicao, vantagens e desvantagens,
so apresentados no quadro 4.
Para servir de termo de comparao quanto ao tamanho de uma rede neuronal articial, o sistema nervoso hu-
mano constitudo de cerca de 10
11
neurnios, participando em aproximadamente 10
15
interconexes sobre vias de
transmisso que podem atingir um metro ou mais.
31
Tabela 4: Modelos de redes neuronais
Perceptrons [Ros62] [MP69]
Aplicaes Reconhecimento de caracteres
Vantagem Rede neuronal mais antiga
Desvantagens No reconhece padres complexos,
sensvel a mudanas
Backpropagation [RHW86]
Aplicaes Larga aplicao
Vantagens Rede mais utilizada,
simples e eciente
Desvantagens Treinamento supervisionado,
exige muitos exemplos
Counterpropagation [HN90]
Aplicaes Reconhecimento de padres,
anlise estatstica
Vantagem Rapidez do treinamento
Desvantagem Topologia complexa
Hopeld [Hop82]
Aplicaes Recuperao de dados
e fragmentos de imagens
Vantagem Implementao em larga escala
Desvantagens Sem aprendizado, pesos preestabelecidos
Bidirectional Associative Memories (BAM) [Kos92]
Aplicaes Reconhecimento de padres
Vantagem Estvel
Desvantagem Pouco eciente
Kohonen [Koh87]
Aplicaes Reconhecimento de padres
no especicados
Vantagem Auto-organizao
Desvantagem Pouco eciente
32
Independentemente da topologia de uma rede neuronal, seu comportamento ao longo do tempo pode ser formali-
zado matematicamente atravs de ferramentas formais da lgebra linear. A cada instante de tempo, o estado de uma
rede neuronal, com n neurnios, representado por um vetor n-dimensional cujos componentes so os valores das
atividades neuronais x
i
. Um outro vetor associado aos nveis de ativao
i
de cada neurnio. As interconexes
entre neurnios, com seus respectivos pesos, podem ser ento representadas na forma de uma matriz n n (alguns
pesos podem ter valor zero, signicando ausncia de conexo). Nesta representao, pode-se obter o vetor de nveis de
ativao, em um determinado instante de tempo, a partir do vetor de atividades associado ao instante anterior atravs
do seguinte produto matricial:
(t + 1) = [
ij
(t)] x(t).
Uma rede neuronal um sistema dinmico onde o novo estado funo do estado anterior. O clculo do novo
estado da rede chamado de atualizao. A atualizao pode ser sncrona, quando os novos nveis de ativao so
determinados simultaneamente em funo dos valores instantneos das atividades, ou assncrona, em que atualizado
o nvel de ativao de uma nica unidade por vez.
4.4 Treinamento
Treinar uma rede neuronal signica ajustar sua matriz de pesos de forma que o vetor de sada y contido em x
coincida com um certo valor desejado para cada vetor de entrada u tambm contido em x. Existem tambm
alguns algoritmos de treinamento que, alm do ajuste de pesos, provocam tambm mudanas na prpria arquitetura
da rede, como a criao ou eliminao de neurnios. O treinamento pode ser de dois tipos: supervisionado ou no
supervisionado. O treinamento supervisionado exige a disponibilidade de um conjunto de treinamento formado por
pares de vetores de entrada e de sada, chamados pares de treinamento. J no treinamento no supervisionado, o
conjunto de treinamento consiste somente de vetores de entrada. Uma rede pode ser treinada com trs objetivos
diferentes:
Auto-associao: aps o treinamento com um conjunto de vetores, quando submetida a um vetor similar a um
dos exemplos, mas deturpado, reconstituir o vetor original.
Heteroassociao: aps o treinamento com um conjunto de pares de vetores, quando submetida a um vetor
similar ao primeiro elemento de um par, mas deturpado, reconstituir o segundo elemento do par.
Deteco de regularidades: descobrir as regularidades inerentes aos vetores de treinamento e criar padres para
classic-los de acordo com tais regularidades.
A maioria dos algoritmos de treinamento de rede neuronais inspirada, direta ou indiretamente, na lei de Hebb,
descoberta pelo bilogo que lhe empresta o nome:
A intensidade de uma ligao sinptica entre dois neurnios aumenta se ambos so excitados simultane-
amente.
Esta lei pode ser formalizada da seguinte maneira. Seja:

ij
= x
i
x
j
a variao no peso da coneco entre os neurnios j e i, onde chamada taxa de aprendizado e x
i
e x
j
so as
atividades dos neurnios. Uma propriedade importante da Lei de Hebb sua localidade, isto , a variao do peso de
uma sinapse depende apenas de informaes locais sinapse.
A Lei de Hebb pode ser modicada para levar em conta o valor desejado para a atividade do neurnio d
i
, dando
origem regra delta:

ij
= (d
i
x
i
)x
j
.
33
O algoritmo mais conhecido para treinamento de redes neuronais a retropropagao (do ingls, backpropaga-
tion). Este algoritmo pode ser considerado como uma generalizao da regra delta para redes de alimentao para
frente com mais de duas camadas. A retropropagao um algoritmo de treinamento supervisionado. Seu funciona-
mento pode ser descrito da seguinte forma: (i) apresenta-se um exemplo rede e obtm-se a sada correspondente,
(ii) calcula-se o vetor de erro que consiste na diferena entre a sada obtida e a esperada, (iii) calcula-se o gradiente
do vetor de erro e atualiza-se, utilizando a regra delta, os pesos da camada de sada e, nalmente, (iv) propaga-se para
trs (origem do nome do algoritmo) os valores desejados de modo a atualizar os pesos das demais camadas.
Como o algoritmo de retropropagao requer o clculo do gradiente do vetor de erro, interessante que a funo
de ativao seja derivvel em todos os pontos. Isto explica o sucesso da funo sigmide como funo de ativao,
pois ela apresenta esta propriedade.
Outros algoritmos de treinamento de redes neuronais so:
contrapropagao (do ingls, counterpropagation);
aprendizado competitivo, utilizado nas redes de Kohonen;
algoritmos genticos (ver seo 5).
5 Computao evolutiva
A computao evolutiva (CE) um ramo da cincia da computao que prope um paradigma alternativo ao pro-
cessamento de dados convencional. Este novo paradigma, diferentemente do convencional, no exige, para resolver
um problema, o conhecimento prvio de uma maneira de encontrar uma soluo. A CE baseada em mecanismos
evolutivos encontrados na natureza, tais como a auto-organizao e o comportamento adaptativo [FTW83], [GH88].
Estes mecanismos foram descobertos e formalizados por Darwin em sua teoria da evoluo natural, segundo a qual,
a vida na terra o resultado de um processo de seleo, pelo meio ambiente, dos mais aptos e adaptados, e por isto
mesmo com mais chances de reproduzir-se. A diversidade da vida, associada ao fato de que todos os seres vivos
compartilham uma bagagem gentica comum, pelo menos em termos de seus componentes bsicos, um exemplo
eloqente das possibilidades do mecanismo de evoluo natural.
5.1 Computao e computao evolutiva
Segundo Heitkoetter [HB00], a CE pertence ao ramo da computao natural que inclui os tpicos de vida articial,
geometria fractal, sistemas complexos e inteligncia computacional. Este ltimo inclui redes neuronais articiais (ver
seo 4), sistemas nebulosos (do ingls fuzzy systems, ver seo 3) e a CE.
Historicamente, as primeiras iniciativas na rea de CE foram de bilogos e geneticistas interessados em simular os
processos vitais em computador, o que recebeu na poca o nome de processos genticos. Alguns desses cientistas,
citados em [Gol89], so: Barricelli, 1957, 1962; Fraser, 1960, 1962; Martin e Cockerham, 1960. Em sua tese de
doutorado, o bilogo Rosenberg, em 1967, simulou uma populao de seres unicelulares, estrutura gentica clssica
(um gene, uma enzima), com estrutura diplide, com cromossomos de 20 genes e 16 alelos permitidos em cada um
[Gol89].
J na dcada de 60, Holland e outros comearam a estudar os chamados sistemas adaptativos, que foram mo-
delados como sistemas de aprendizagem de mquina. Tais modelos, conhecidos como algoritmos genticos, im-
plementavam populaes de indivduos contendo um gentipo, formado por cromossomos (que neste modelo eram
representados por cadeias de bits) aos quais se aplicavam operadores de seleo, recombinao e mutao. Ainda
que Holland tenha proposto um quarto operador (a inverso), este no chegou a ser largamente utilizado [Dav91].
Uma das primeiras aplicaes propostas para os algoritmos genticos (cuja primazia no uso do termo cabe a
Bagley na sua dissertao de 1967), seguindo o enfoque de Holland, foram os sistemas classicadores, que so
sistemas de produo e, na verdade, usam os algoritmos genticos em uma parte do algoritmo global. Apesar do
34
interesse que levantaram na poca, os sistemas classicadores permanecem como um campo de estudo em grande
parte ainda inexplorado.
Outro ramo descendente dos algoritmos genticos o da programao gentica (PG). Aqui, os indivduos da po-
pulao no so seqncias de bits, mas sim programas de computador armazenados na forma de rvores sintticas.
Tais programas que so os candidatos soluo do problema proposto. A programao gentica no usa o operador
mutao e a recombinao se d pela troca de subrvores entre dois indivduos candidatos soluo.
Outro ramo da CE a programao evolutiva (PE), que visa prever o comportamento de mquinas de estado
nitas. Apenas dois operadores so usados: a seleo e a mutao. As idias datam de 1966, e no foram muito
consideradas na comunidade de CE por rejeitar o papel fundamental da recombinao. Finalmente, um ltimo ramo
a estratgia evolutiva, proposta nos anos 60, na Alemanha. A nfase aqui na auto-adaptao. O papel da recom-
binao aceito, mas como operador secundrio.
Embora tenham origens bastante diversas, todas essas abordagens tm em comum o modelo conceitual inicial
a evoluo natural , alm dos operadores e, mais importante, o mesmo objetivo nal: a soluo de problemas
complexos[BS93].
5.2 Idias bsicas
A CE est baseada em algumas idias bsicas que, quando implementadas, permitem simular em um computador o
processo de passagem de geraes da evoluo natural. As idias que permitem esta simulao so as seguintes:
A criao de uma populao de solues, possivelmente obtida na sua primeira gerao de modo aleatrio, e na
qual os indivduos tenham registrado de modo intrnseco os parmetros que descrevem uma possvel soluo
ao problema posto.
A criao de uma entidade chamada funo de avaliao capaz de julgar a aptido de cada um dos indiv-
duos. Essa entidade no precisa deter conhecimento sobre como encontrar uma soluo para o problema, mas
apenas atribuir uma nota ao desempenho de cada um dos indivduos da populao.
E, nalmente, a criao de uma srie de operadores que sero aplicados populao de uma dada gerao para
obter os indivduos da prxima gerao. Estes operadores so baseados nos fenmenos que ocorremna evoluo
natural. Os principais operadores citados na literatura so: (i) seleo: permite escolher um indivduo ou um
par deles para gerar descendncia. Note-se que este operador simula a reproduo assexuada (no primeiro caso)
e a sexuada (no segundo) que ocorrem na natureza. Obviamente, a prioridade da escolha recai sobre indivduos
mais bem avaliados pela funo de avaliao; (ii) recombinao: operador que simula a troca de material gen-
tico entre os ancestrais que, por sua vez, determina a carga gentica dos descendentes; (iii) mutao: operador
que realiza mudanas aleatrias no material gentico.
O conceito chave na CE o de adaptao que unica a abordagem quanto ao mtodo de soluo: uma populao
inicial de solues evolui, ao longo das geraes que so simuladas no processo, emdireo a solues mais adaptadas,
isto , com maior valor da funo de avaliao, por meio de operadores de seleo, mutao e recombinao.
O conjunto de solues iniciais pode ser aleatrio ou pode ser obtido a partir de tcnicas convencionais para
resolver instncias mais simples do problema que est sendo tratado. Por um lado, usando-se solues inicialmente
aleatrias, pode-se usar sempre o mesmo algoritmo e os mesmos operadores. Por outro lado, adaptando o conceito
de CE a um problema especco e empregando solues iniciais obtidas por mtodos convencionais, necessrio
adaptar os operadores usuais da CE para o problema especco. Em compensao, na pior das hipteses, a soluo
encontrada igual melhor soluo obtida anteriormente pelas tcnicas convencionais.
Para denir a funo de avaliao necessrio encontrar uma maneira de codicar as solues para o problema
que se quer resolver. O resultado dessa codicao corresponde aos cromossomos na evoluo natural e chamado
de gentipo. A partir desses cromossomos, a funo de avaliao deve ser capaz de determinar a qualidade de uma
soluo.
35
As novas solues podem ser geradas a partir de uma nica soluo (assexuada, na natureza) ou a partir de duas
solues (na natureza, sexuada). Estabelecido um conjunto de novas solues (os descendentes), estas sofrem a ao
dos operadores evolutivos, mediante os quais, os descendentes passaro a ser diferentes dos ascendentes. Os melhores,
de acordo com a funo de avaliao, tero uma descendncia maior do que a dos pouco aptos. Na reproduo
sexuada, a troca de material gentico chamada de recombinao leva um par de ascendentes a dar origem a um par
de descendentes onde cada descendente herda partes aleatoriamente escolhidas de cada ascendente. A mutao leva
mudana, tambm aleatria, de uma parte da soluo. No caso mais simples de cromossomos codicados em binrio,
a mutao a simples inverso de um bit. Tanto a recombinao quanto a mutao tendem a ocorrer segundo uma
dada probabilidade (que so parmetros da tcnica).
Tal processo, repetido, simula a passagem das geraes. Como o processo est sendo simulado em um computador
digital, o fator tempo pode ser comprimido sem perda de qualidade.
5.3 Formalizao
Uma possvel formalizao algortmica para a CE foi proposta por [BS93]. Seja I o conjunto de indivduos e IR o
conjunto dos nmeros reais. (t) I denota um indivduo na gerao t e x IR
n
indica as coordenadas de um ponto
no espao de solues. 1 denota o tamanho da populao de ancestrais, e 1 o tamanho da populao de
descendentes. Denem-se as seguintes funes:
Funo objetivo a ser otimizada: f : IR
n
IR.
Funo de avaliao: : I IR.
A populao na gerao t P(t) =
1
(t), . . . ,

(t) consiste de indivduos


i
(t) I, onde cada indivduo
codica, com um grau de qualidade dado por (
i
(t)), a funo objetivo f. Os operadores so denidos da seguinte
maneira:
Seleo: s

s
: (I

I
+
) I

.
Recombinao: r

r
: I

.
Mutao: m

m
: I

.
Os operadores so controlados, respectivamente, pelos conjuntos de parmetros
r
,
m
e
s
. Durante a etapa de
avaliao, a funo de avaliao calculada para todos os elementos da populao. O critrio de m dado por:
: I

V, F
onde V e F so valores verdade. Finalmente, Q o conjunto de indivduos que so tomados adicionalmente durante
a etapa de seleo. Se Q vazio, os indivduos de uma gerao no so usados como candidatos a ascendentes na
prxima gerao. Se Q = P(t), todos os indivduos de uma gerao no so utilizados na prxima. De acordo com
essa notao, pode-se descrever o algoritmo bsico da CE da seguinte maneira:
1. t 0
2. Populao inicial: P(0)
1
(0), . . . ,

(0) I

3. Avaliao: (
1
(0)), . . . , (

(0))
4. Enquanto (P(t)) ,= V faa:
Recombinao: P

(t) r

r
(P(t))
36
Mutao: P

(t) m

m
(P

(t))
Avaliao: (
1
(0)), . . . , (

(0))
Seleo: P(t + 1) s

s
(P

(t) Q)
t t + 1
Dentro da CE existem diversas correntes ou abordagens. Todas compartilham a simulao do processo de seleo
natural, mas se diferenciam pela origem e por suas estratgias de soluo. Nas sees seguintes descrevem-se algumas
destas abordagens.
5.4 Estratgia evolutiva
A estratgia evolutiva (EE) teve origem em 1964 na Universidade Tcnica de Berlim, Alemanha. O problema original
em estudo era o de encontrar formas otimizadas para objetos inseridos em uxos de vento. Estratgias usando o
mtodo do gradiente no foram bem sucedidas. Dois estudantes, Ingo Rechenberg e Hans-Paul Schwefel tiveram a
idia de efetuar alteraes randmicas nos parmetros que deniam a forma do objeto, baseados na idia da seleo
natural, o que resultou na teoria da velocidade de convergncia para o mecanismo denominado (1 + 1), um esquema
simples de seleo-mutao trabalhando emumnico indivduo que gera umnico descendente por gerao atravs da
mutao Gaussiana [BS93]. Mais tarde, esta teoria evoluiu para o chamado mecanismo (+1), no qual uma populao
de indivduos se recombina de maneira randmica para formar um descendente, o qual, aps sofrer mutao,
substitui (se for o caso) o pior elemento da populao. Ainda que este mecanismo nunca tenha sido largamente usado,
ele permitiu a transio para os mecanismos chamados ( + ) e (, ), j no nal dos anos 70. Na primeira, os
ancestrais e os descendentes convivem, enquanto na segunda, os ancestrais morrem, deixando apenas os
descendentes vivos.
A abordagem EE adequada a uma vasta gama de problemas de otimizao, porque ela no necessita de muitas
informaes sobre o problema. Ela capaz de resolver problemas multidimensionais, multimodais e no lineares
sujeitos a restries lineares ou no lineares [HB00]. O algoritmo bsico conforme [Sch95] o seguinte:
1. Uma dada populao consiste de indivduos. Cada um caracterizado pelo seu gentipo, consistindo de n
genes, que determina de modo no ambguo a aptido para a sobrevivncia.
2. Cada indivduo da populao produz

descendentes, na mdia, de modo que um total de indivduos novos


so gerados. O gentipo dos descendentes difere ligeiramente dos gentipos de seus ancestrais.
3. Apenas os melhores indivduos dos gerados permanecem vivos, tornando-se os ancestrais na prxima
gerao.
Note-se que at recentemente a EE era conhecida apenas na comunidade de engenharia e tida como alternativa a
solues padro para problemas de otimizao [HB00].
Estratgia 1 + 1
Na estratgia (1 + 1), uma soluo gera outra a cada gerao. Nessa operao aplicada uma mutao normal
(ou seja, pequenas alteraes tm maior probabilidade de ocorrer do que grandes alteraes, seguindo a distribuio
normal), at que o descendente tenha um desempenho melhor que seu ascendente, quando ento ele lhe toma o lugar.
Na estratgia evolucionria, um indivduo corresponde a um ponto no espao de solues, e possui um gentipo
formado por variveis objetivo e variveis estratgicas. As variveis objetivo so aquelas que, sofrendo recombinao
e mutao, permitem incrementar a aptido dos indivduos em direo ao mximo global de otimizao. As vari-
veis estratgicas representam varincias e co-varincias, que devem ser operadas junto s variveis de controle para
produzir mutaes.
Devido relativa simplicidade deste esquema, que a regra do 1/5 pode ser aplicada [HB00]. Esta regra diz que
quando a taxa de sucesso (isto , o descendente tem aptido maior do que o ascendente), aps mutao maior do que
37
0,2, a varincia da distribuio normal deve ser aumentada, enquanto se ela for menor do que 0,2, a varincia deve ser
diminuda [Sch95]. Registre-se que cada indivduo detm a sua prpria varincia e eventualmente co-varincia (que
so os parmetros bsicos da mutao), o que caracteriza o conceito de auto-adaptao.
Estratgias soma e vrgula
As estratgias (+) e (, ), so chamadas estratgia soma e estratgia vrgula respectivamente. Na estratgia
soma, os ascendentes so levados em conta durante a etapa de seleo, enquanto na estratgia vrgula, apenas os
descendentes de uma dada gerao so candidatos a serem selecionados para gerar a prxima. Esta caracterstica
dos ancestrais competirem junto com os descendentes frente ao operador seleo chamada de elitismo. A escolha
adequada de

determina a velocidade de convergncia da EE [HB00].


5.5 Programao evolutiva
A programao evolutiva (PE) foi proposta por Fogel, Owens e Walsh em meados da dcada de 60. Ainda que a
proposta original tratasse de predio de comportamento de mquinas de estado nitos, o enfoque da PE se adapta a
qualquer estrutura de problema. Neste enfoque, cada indivduo gera um nico descendente atravs de mutao, e a
seguir a (melhor) metade da populao ascendente e a (melhor) metade da populao descendente so reunidas para
formar a nova gerao. Usando a terminologia da EE, esta implementao poderia ser nomeada como (+) [BS93].
Em 1992, na sua tese de doutorado, Fogel apresentou o conceito de programao metaevolucionria, na qual um
vetor de varincias substitui o valor padro e exgeno da taxa de mutao, e aproxima este conceito da auto-adaptao
descrita anteriormente para a EE.
O algoritmo bsico segue os seguintes passos:
1. Escolhe-se uma populao inicial de solues de maneira randmica. O nmero de solues relevante para a
velocidade da otimizao.
2. Cada soluo gera uma nova populao, cujas solues sofrem mutao de acordo com uma distribuio de
taxas de mutao.
3. Cada soluo tem sua aptido calculada. Os mais aptos so retidos como populao de solues. No se exige
que a populao permanea constante, ou que cada ascendente gere apenas um descendente.
A mutao o nico operador que atua na programao evolucionria. No h recombinao.
5.6 Algoritmos genticos
Os algoritmos genticos (AG) so o ramo mais conhecido da CE, e tiveram origem no trabalho de Holland, tambm
nos anos sessenta.
8
Ao contrrio dos dois esquemas vistos acima EE e PE , os AGs conceitualmente apresentam
um escopo mais amplo do que a simples otimizao. Eles so apresentados como um modelo para a aprendizagem
de mquina [HB00]. H uma explicao para este fato: originalmente, os AGs estavam muito fortemente ligados a
modelos de aprendizado automtico, como o demonstra a nfase dada por Holland em [Hol75] aos chamados sistemas
classicadores, que so um modelo de mquina de aprendizado usando AGs. S mais tarde, a partir da publicao
do livro Genetic algorithms in search, optimization, and machine learning [Gol89], que a idia de otimizao passou
a ocupar o lugar central na teoria dos AGs. No livro [Hol75], o autor introduz o assunto no mbito da gentica,
economia, teoria de jogos, pesquisa, reconhecimento de padres e inferncia estatstica, controle e otimizao de
funes e sistema nervoso central.
Um questo importante para a implementao dos AGs em particular e para a CE em geral o papel dos opera-
dores de mutao e de recombinao. Por exemplo, a estratgia PE estabelece que apenas a mutao deve ser usada.
8
O livro bsico do domnio Adaptation in natural and articial systems [Hol75]. Outras referncias sobre AG so [Gol89], [Dav91] e
[HB00].
38
Quanto ao operador de recombinao, a dvida sobre reproduo sexuada ou no. A reproduo sexuada, se compa-
rada com a reproduo assexuada, tem um custo a priori maior, pois espcies usando reproduo sexuada precisam
ter mais de um tipo de indivduo na espcie e estes tendem a gastar tempo e energia buscando seus parceiros antes
da reproduo acontecer. Visto que a reproduo sexuada levou a melhores resultados na evoluo natural, este custo
adicional deve ser contrabalanado por outras vantagens.
Uma destas vantagens que a reproduo sexuada permite a rpida combinao de novas caractersticas bencas
de uma maneira que no pode ser duplicada pela mutao. Para promover as boas solues, a tcnica bsica recebeu
o nome de roda da roleta. A idia que todos os indivduos de uma populao sejam avaliados, e o resultado da
avaliao seja usado como abertura angular em uma roleta. Em outras palavras, indivduos aptos teriam um grande
ngulo nesta roleta, enquanto indivduos menos aptos teriam ngulos cada vez menores. Jogada a bola (que em termos
computacionais signica a gerao de um nmero pseudo-aleatrio), aqueles que tiverem maiores ngulos tero maior
chance de serem escolhidos como ascendentes e atravs deste mecanismo que a aptido mdia da populao vai
sendo incrementada.
Com o passar das geraes, percebe-se que as solues boas comeam a compartilhar partes comuns em seus
cromossomos. Estas partes foram chamadas de esquemas, e o teorema fundamental dos AGs diz que esquemas que
tiverem maior aptido (o resultado da funo de avaliao) do que a mdia da populao tendem a crescer exponen-
cialmente nas prximas geraes, enquanto que os esquemas que tiverem aptides menores do que a mdia tendem a
diminuir tambm exponencialmente, isto , as solues convergiro para um ponto de maior aptido.
O uso direto do resultado da funo de avaliao como aptido diminui a robustez dos algoritmos, at porque
torna a abordagem extremamente dependente da soluo de avaliao. Assim, foram desenvolvidas algumas tcnicas
de transformao de avaliao em aptido. Antes de se ver como so essas tcnicas, vejam-se duas ocorrncias
comuns e ambas indesejveis.
A primeira, chamada de superindivduo, ocorre quando um indivduo tem uma avaliao muitas vezes maior do
que os outros. Se nenhum cuidado especial for tomado, este indivduo acabar monopolizando as selees e rapi-
damente ter-se-o solues praticamente idnticas (at porque descendem do mesmo ascendente). Este fenmeno
tambm chamado convergncia precoce. Para corrigir este problema, uma tcnica possvel a chamada normali-
zao linear, que coloca os indivduos em ordem decrescente de avaliao e atribui um valor de aptido diminudo
em taxa constante para todos. Neste caso, o valor da funo de avaliao serviu apenas para determinar a ordem dos
indivduos, e o valor de aptido por eles obtido no tem mais nada a ver com a avaliao original.
Outra ocorrncia que no boa o surgimento de um grupo de indivduos com avaliaes muito baixas. Se
nada for feito, tais indivduos tero pequena probabilidade de serem escolhidos para gerar descendentes. No entanto,
importante que eles gerem descendentes, pois eles so a fonte da diversidade das solues. Se exterminados do
processo logo no comeo, a populao tambm rapidamente tender para uma convergncia precoce. Se a funo
objetivo for bem comportada, por exemplo, tendo um nico mximo global, a convergncia precoce em si no
um mal. Mas no mundo real, poucas funes so bem comportadas. Elas em geral so multimodais e, neste caso,
a convergncia precoce pode-se dar em um mximo local. Utilizando-se solues com a maior diversidade possvel,
aumenta-se a possibilidade de quando se chegar a umtimo este ser global. Acorreo para este segundo problema
pode ser a chamada tcnica de janelamento, pela qual determinado um valor mnimo de aptido que atribudo a
todos aqueles que carem abaixo de um certo piso na avaliao.
Finalmente, como os AGs so estocsticos por excelncia, boas solues (que portanto tenham boas aptides),
podem deixar de ser escolhidas para gerar descendncia. Uma maneira de evitar este fato usar o conceito de elitismo.
Por esta tcnica, as n melhores solues de uma gerao passaro automaticamente para a prxima.
O algoritmo gentico bsico o seguinte:
1. Inicializar a populao de cromossomos (solues).
2. Avaliar cada cromossomo da populao.
39
3. Criar novos cromossomos a partir da populao atual, aplicar mutao e recombinao, substituindo os ascen-
dentes pelos descendentes.
4. Se o critrio de m foi alcanado, deve-se terminar. Caso contrrio, retorna-se ao passo 1.
Hibridizao
A tcnica de hibridizao resulta na integrao de uma boa maneira convencional de resolver um problema aos
conceitos usuais de AGs. O resultado costuma ser melhor que o obtido com qualquer uma das duas tcnicas isolada-
mente [Dav91]. A hibridizao agrega a representao usual de dados no domnio original, bem como as tcnicas de
otimizao j existentes. Isto permite a incorporao de heursticas otimizadoras ao conjunto de operadores genticos
(recombinao e mutao) que passam portanto a ser dependentes do domnio. Nesse sentido, o algoritmo gentico
passa a ser muito mais uma losoa de otimizao do que um mtodo pronto para utilizao.
Um exemplo de hibridizao possvel quando o problema exige codicao com base em nmeros reais e no
em nmeros binrios. Alguns conceitos teriam que ser adaptados: por exemplo, a mutao no seria mais a troca
simples de um bit, mas a gerao de um novo real, possivelmente dentro de um intervalo dado. J a recombinao
de dois reais poderia ser qualquer nmero compreendido entre eles, ou talvez a sua mdia.
Outra possibilidade de hibridizao quando o problema envolve algoritmos de ordenamento como, por exemplo,
os problemas do caixeiro viajante e da colorao de um grafo sem que nenhum par de nodos conectados tenham cor
igual.
Referncias
[AB73] J. Anderson and G. Bower. Human Associative Memory. Winston, Washington, D.C., 1973.
[Bal87] J.F. Baldwin. Evidential support logic programming. Fuzzy Sets and Systems, 24(1):126, 1987.
[Bar75] A.G. Barto. Cellular Automata as Models of Natural Systems. The University of Michigan, 1975.
[Bel77] N.D. Belnap. A useful four-valued logic. In J.M. Dunn and G. Epstein, editors, Modern Uses of
Multiple-Valued Logics, pages 837. D. Reidel Pub. Co., Dordrecht, Holland, 1977.
[BF81] A. Barr and E.A. Feigenbaum, editors. The Handbook of Articial Intelligence, volume I-II. William
Kaufmann Inc., Los Altos, California, 1981.
[BFL83] R.J. Brachman, R.E. Fikes, and H.J. Levesque. Krypton: A functional approach to knowledge repre-
sentation. IEEE Computer (Special Issue on Knowledge Representation), 16(10):6773, October 1983.
[Bit95] Guilherme Bittencourt. Um ambiente para ensino e desenvolvimento de sistemas especialistas. In III
Workshop sobre Educao em Informtica/IV Congresso Ibero-Americano de Educao Superior em
Computao, 1995. 29 de julho a 4 de agosto, Canela, RS.
[BM93a] G. Bittencourt and M. Marengoni. A customizable tool for the generation of production-based systems.
In G. Rzevski, J. Pastor, and R.A. Adey, editors, Eighth International Conference on Applications of
Articial Intelligence in Engineering (AIENG93), pages 337352. Elsevier Applied Science, 1993.
[BM93b] B. Bouchon-Meunier. La Logique Floue. Presses Universitaires de France, 1993. Collection Que
sais-je?
[BS84] B.G. Buchanan and E.H. Shortliffe. Rule-Based Expert Systems, the MYCINExperiments of the Stanford
Heuristics Programming Project. Addison Wesley Publishing Company, Reading, MA, USA, 1984.
40
[BS93] T. Bck and H.-P. Schwefel. An overview of evolutionary algorithms for parameter otimization. Evolu-
tionary Computation, 1(1):123, 1993.
[BW77] D.G. Bobrow and T. Winograd. An overview of KRL, a knowledge representation language. Cognitive
Science, 1(1):346, 1977.
[CM85] E. Charniak and D. Mcdermott. Introduction to Articial Intelligence. Addison-Wesley Publishing
Company, Reading, MA, USA, 1985.
[Coo71] S.A. Cook. The complexity of theorem-proving procedures. In Proceedings of the 3rd Annual ACM
Symposium on Theory of Computing, ACM, New York, pages 151158, 1971.
[Dav80] R. Davis. Meta-rules: Reasoning about control. Articial Intelligence, 15(3):179222, 1980.
[Dav91] L. Davies. Handbook of Genetic Algorithms. Van Nostrand Reinhold, New York, 1991.
[DHR93] D. Driankov, H. Hellendoorn, and M. Reinfrank. An Introduction to Fuzzy Control. Springer Verlag,
Berlin, Heidelberg, New York, 1993.
[DK77] R. Davis and J.J. King. An overview of productions systems. In E. Elcock and D. Michie, editors,
Machine Intelligence, volume 8, pages 300332. Ellis Horwood, Chichester, England, 1977.
[Doy79] J. Doyle. A truth maintenance system. Articial Intelligence, 12(3):231272, 1979.
[DP80] D. Dubois and H. Prade. Fuzzy Sets and Systems: Theory and Applications. Academic Press, 1980.
[DP86] D. Dubois and H. Prade. A set-theoretic view of belief functions. International Journal of General
Systems, 12:193226, 1986.
[DP88] D. Dubois and H. Prade. Possibility Theory - An Approach to the Computerized Processing of Uncer-
tainty. Academic Press, 1988.
[DPS93] D. Dubois, H. Prade, and S. Sandri. On possibility/probability transformations. In Fuzzy Logic. Kluwer
Academic Publishers, Dordrecht, The Netherlands, 1993.
[DPS96] D. Dubois, H. Prade, and S. Sandri. Possibilistic logic augmented with fuzzy unication. In Proce-
edings of the International Conference on Information Processing and Management of Uncertainty in
Knowledge-Based Systems (IPMU96), Granada, Spain, 1996.
[EN69] G. Ernst and A. Newell. GPS: A Case Study in Generality and Problem Solving. Academy Press, New
York, 1969.
[FBL71] E.A. Feigenbaum, B.G. Buchanan, and J. Lederberg. On generality and problem solving : A case study
using the dendral program. In B. Meltzer and D. Michie, editors, Machine Intelligence, volume 6, pages
165190. Edinburgh University Press, Edinburgh, GB, 1971.
[FHRSW82] J. Fain, F. Hayes-Roth, H. Sowizral, and D.A. Waterman. Programming in ROSIE: An introduction by
means of examples. Technical Report Report N-1646-ARPA, Rand Corporation, February 1982.
[FM77] C.L. Forgy and J. Mcdermott. Ops : A domain independent production system. In Proceedings of IJCAI
5, pages 933939, 1977.
[FTW83] J.D. Farmer, T. Toffoli, and S. Wolfram. Cellular Automata: Proceedings of an Interdisciplinary
Workshop at Los Alamos. New Mexico, North-Holland, Amsterdam, March 7-11 1983.
41
[Gen92] Gensym. G2 Reference Manual. GENSYM Coorporation, 125 Cambridge Park Drive, Cambridge, MA
02140, 1992.
[Gev87] W.B. Gevarter. The nature and evaluation of commercial expert systems building tools. IEEE Computer,
pages 2441, May, 1987.
[GH88] D.E. Goldberg and J.H. Holland. Genetic algorithms and machine learning: Introduction to the special
issue on genetic algorithms. Machine Learning, 3, 1988.
[Gol89] D.E. Goldberg. Genetic Algorithms in Search, Optimization, and Machine Learning. Addison-Wesley
Publishing Company, Reading, MA, USA, 1989.
[Hay77] P.J. Hayes. In defense of logic. In Proceedings of IJCAI 5, pages 559565, 1977.
[HB00] J. Heitkoetter and D. Beasley, editors. The Hitch-Hikers Guide to Evolutionary Computation: Fre-
quently Asked Questions for comp.ai.genetic, Issue 8.1. http://www.cse.dmu.ac.uk/rij/gafaq/top.htm,
2000.
[HDE78] P.E. Hart, R.O. Duda, and M.T. Einaudi. Prospector - a computer-based consultation system for mineral
exploration. Mathematical Geology, 10(5), 1978.
[Hil89] W.C. Hill. The mind at ai: Horseless carriage to clock. The AI Magazine, pages 2941, Summer 1989.
[HM85] J.Y. Halpern and Y.O. Moses. A guide to the modal logics of knowledge and belief. In Proceedings of
IJCAI 9, pages 480490, 1985.
[HN90] R. Hecht-Nielsen. Neurocomputers. Addison-Wesley Publishing Company, Reading, MA, USA, 1990.
[Hol75] J.H. Holland. Adaptation in Natural and Articial Systems. University of Michigan Press, Ann Arbor,
1975.
[Hol86] J.H. Holland. Escaping brittleness: The possibilities of general purpose learning algorithms applied
to parallel rule-based systems. In R.S. Mishalski, J.G. Carbonell, and T.M. Mitchell, editors, Machine
Learning 2, pages 593623. Kaufman, 1986.
[Hop82] J.J. Hopeld. Neural networks and physical systems with emergent collective computational abilities.
In Proceedings of the National Academy of Science, U.S.A., volume 79, pages 25542558, 1982.
[HRWL83] F. Hayes-Roth, D.A. Waterman, and D.B. Lenat. Building Expert System. Addison-Wesley Publishing
Company, Reading, MA, USA, 1983.
[JSS95] A.V. Joshi, S.C. Sahasrabudhe, and K. Shankar. Sensitivity of combination schemes under conicting
conditions and a new method. In J. Wainer and A. Carvalho, editors, Advances in Articial Intelligence,
pages 3947. Lecture Notes in Computer Science, Springer Verlag, Berlin, Heidelberg, New York,
1995.
[KJ83] H.E. Kyburg Jr. The reference class. Philosophy of Science, 50:374397, 1983.
[Kli90] G.J. Klir. A principle of uncertainty and information invariance. International Journal of General
Systems, 17:249275, 1990.
[Koh87] T. Kohonen. Content-Addressable Memories. Springer Verlag, Berlin, Heidelberg, New York, 1987.
[Kos92] B. Kosko. Neural Networks and Fuzzy Systems. Prentice-Hall, 1992.
42
[Lee90] C.C. Lee. Fuzzy logic in control systems: Fuzzy logic controller - part. i e ii. IEEE Transactions on
Systems, Man and Cybernetics, 20(2):404435, 1990.
[Mcc79] P. Mccorduck. Machines Who Think. Freeman, San Francisco, 1979.
[Mcc80] J. Mccarthy. Circumscription - a form of non-monotonic reasoning. Articial Intelligence, 13(1,2):27
39, 1980.
[Mcd78] J. Mcdermott. Tarskian semantics, or no notation without denotation. Cognitive Science, 2(3):277282,
July-September 1978.
[Mcd82] J. Mcdermott. R1 : A rule-based congurer of computer systems. Articial Intelligence, 19(1):3988,
September 1982.
[MF78] J. Mcdermott and C. Forgy. Production system conict resolution strategies. In D. Waterman and
F. Hayes-Roth, editors, Pattern Directed Inference Systems, pages 177199. Academic Press, NewYork,
1978.
[MH69] J. Mccarthy and P.J. Hayes. Some philosophical problems from the standpoint of articial intelligence.
In D. Michie and B. Meltzer, editors, Machine Intelligence 4, pages 463502. Edinburgh University
Press, Edinburgh, GB, 1969.
[Min75] M. Minsky. A framework for representing knowledge. In The Psychology of Computer Vision, pages
211277. McGraw-Hill, 1975.
[Mor73] T.P. Moran. The symbolic nature of visual imagery. In Proceedings of IJCAI 3, pages 472477, 1973.
[MP43] W.S. Mcculloch and W.H. Pitts. A logical calculus of ideas immanent in nervous activity. Bulletin of
Mathematical Biophysics, 5:115133, 1943.
[MP69] M.L. Minsky and S.A. Papert. Perceptrons: An Introduction to Computational Geometry. MIT Press,
Cambridge, MA, USA, 1969.
[New80] A. Newell. Physical symbol systems. Cognitive Science, 4:135183, 1980.
[Nil71] N.J. Nilsson. Problem Solving Methods in Articial Intelligence. McGraw-Hill, New York, 1971.
[NL87] B. Nebel and K. Von Luck. Issues of integration and balancing in hybrid knowledge representation
systems. In K. Morik, editor, Proceedings of the 11th German Workshop on Articial Intelligence,
pages 115123, 1987. September-October.
[Paw92] Z. Pawlak. Rough sets: a new approach to vagueness. In L.A. Zadeh and J. Kacprzyk, editors, Fuzzy
Logic for the Management of Uncertainty. John Wiley & Sons Inc., New York, 1992.
[Pea87] J. Pearl. Probabilistic Reasoning in Intelligent Systems: Networks of Plausible Inference. Morgan
Kaufmann Publishers Inc., San Fransisco, CA, 1987.
[Pos43] E. Post. Formal reductions of the general combinatorial problem. American Journal of Mathematics,
pages 65:197268, 1943.
[PS85] P.F. Patel-Schneider. A decidable rst-order logic for knowledge representation. In Proceedings of IJ-
CAI 9, pages 455458, 1985. Also AI Technical Report Number 45, Schlumberger Palo Alto Research.
[Qui68] M.R. Quillian. Semantic memory. In M. Minsky, editor, Semantic Information Processing, pages 216
270. MIT Press, Cambridge, MA, USA, 1968.
43
[Rei80] R. Reiter. A logic for default reasoning. Articial Intelligence, 13(1-2):81132, April 1980.
[RHW86] D.E. Rumelhart, G.E. Hilton, and R.J. Williams. Learning internal representations by error propagation.
In D.E. Rumelhart and J. McClelland, editors, Parallel Distributed Processing: Explorations in the
Microstructure of Cognition 1: Foundations, volume 1, pages 318362. MIT Press, Cambridge, MA,
USA, 1986.
[Ric83] E. Rich. Articial Intelligence. McGraw-Hill Book Company, 1983.
[RJP79] Duda R.O, Gaschnig J., and Hart P.E. Model design in the prospector consultant system for mineral
exploration. In D. Michie, editor, Expert Systems in the Micro-eletronic Age. Edinburgh University
Press, 1979.
[RN75] D.E. Rumelhart and D.A. Norman. The active structural networks. In D.A. Norman and D.E. Rumelhart,
editors, Explorations in Cognition. W.H. Freeman, San Franscisco, 1975.
[Ros62] F. Rosenblatt. Principles of Neurodynamics: Perceptrons and Theory of Brain Mechanisms. Spartan
Books, Washington, D.C., 1962.
[SA75] R.C. Schank and R.P. Abelson. Scripts, plans and knowledge. In Proceedings of IJCAI 4, pages 151
157, 1975.
[SA77] R.C. Schank and R. Abelson. Scripts, Plans, Goals and Understanding. Laurence Ealbaum Associates
Inc., Milesdale, N.J., 1977.
[San93] S. Sandri. Local propagation of information on directed markov trees. In B. Bouchon-Meunier Et Al.,
editor, Uncertainty in Intelligent Systems. Elsevier Science Publishers, 1993.
[SBM93] S. Sandri, G. Bittencourt, and M. Marengoni. The use of possibilistic logic PL1 in a customizable tool
for the generation of production-rule based systems. In Second European Conference on Symbolic and
Quantitative Approaches to Reasoning with Uncertainty (ECSQARU93), Granada, Spain, November
8-10, 1993.
[Sch95] Hans-Paul Schwefel. Evolution and Optimum Seeking. John Wiley & Sons Inc., New York, 1995.
[SDP95] S. Sandri, D. Dubois, and H. Prade. Elicitation, pooling and assessement of expert judments using
possibility theory. IEEE Transactions on Fuzzy Systems, 1995.
[Sha76] G. Shafer. A Mathematical Theory of Evidence. Princeton University Press, 1976.
[Sho76] E.H. Shortliffe. Computer-Based Medical Consultations : MYCIN. American Elsevier, New York,
1976.
[SJ84] G.L. Steele Jr. Common LISP, the Language. Digital Press, Burlington, 1984.
[SMS92] A.C. Stylianou, G.R. Madey, and R.D. Smith. Selection criteria for expert system shells: A socio-
technical framework. Communications of the ACM, 35(10):3248, October 1992.
[Som90] La Somb. Reasoning Under Incomplete Information in Articial Intelligence. John Wiley & Sons
Inc., New York, 1990. O grupo La Somb formado por P. Besnard, M.-O. Cordier, D. Dubois, L.F.
del Cerro, C. Froidevaux, Y. Moinard, H. Prade, C. Schwind e P. Siegel.
[THT87] D.S. Touretzky, J.F. Horty, and R.H. Thomason. A clash of intuitions : The current state of nonmono-
tonic multiple inheritance systems. In Proceedings of IJCAI 10, pages 476482, 1987.
44
[Wat73] D.A. Waterman. Pas-ii reference manual. Technical report, Carnegie-Mellon University, June 1973.
Computer Science Department Report.
[Wat86] D.A. Waterman. A Guide to Expert Systems. Addison-Wesley Publishing Company, Reading, MA,
USA, 1986.
[Win84] P.H. Winston. Articial Intelligence (2nd Edition). Addison-Wesley Publishing Company, Reading,
MA, USA, 1984.
[Woo75] W.A. Woods. Whats in a link : Foundations for semantic networks. In D.G. Bobrow and A. Collins,
editors, Representation and Understanding: Studies in Cognitive Science. Academic Press, New York,
1975.
[Zad65] L.A. Zadeh. Fuzzy sets. Information and Control, 8:338353, 1965.
[Zad78] L.A. Zadeh. Fuzzy sets as a basis for a theory of possibility. Fuzzy Sets and Systems, 1:328, 1978.
[Zad79] L.A. Zadeh. A theory of approximate reasoning. In D. Mitchie J.E. Hayes and L.I. Mikulich, editors,
Machine Intelligence 9. Wiley Masson, New York, 1979.
45

Você também pode gostar