Publicado nos Anais do INFOIMAGEM 2001, Cenadem Outubro/2001
Inteligncia Artificial: Presente, Passado e Futuro
Sergio C. Navega snavega@attglobal.net Intelliwise Research and Training http://www.intelliwise.com/snavega Setembro de 2001 Resumo Neste artigo vamos observar alguns dos principais caminhos trilhados pela disciplina Inteligncia Artificial. Uma viso histrica o nosso pano de fundo para tecermos algumas consideraes sobre a noo de inteligncia e sua ligao com conhecimento. Uma reviso dessa noo parece ser neces- sria para redirecionarmos nossos esforos, j que a experincia passada apontou-nos que os problemas so de difcil resoluo. Veremos tambm como o Data Mining est se utilizando de algumas das tcnicas desenvolvi- das pela IA para prover novas formas de busca de informao teis prove- nientes bancos de dados. Veremos porque inteligncia algo difcil de de- finir, embora seja uma noo fcil de reconhecer. stamos em pleno vero de 1956. No Dartmouth College, Estados Unidos, o Summer Workshop acaba de se iniciar. Um grupo de criativos e jovens cientistas esto reuni- dos para discutir uma nova e revolucionria idia: como construir mquinas inteli- gentes. O grupo era composto por Marvin Minsky, Herbert Simon, Allen Newell e John McCarthy, entre outros. Mal sabiam eles que esse encontro estaria iniciando uma saga que por dcadas perseguiria o difcil objetivo de obter mquinas inteligentes. Mal sabiam eles que o problema sobre o qual estavam discutindo era muito mais complexo do que imaginavam. O prprio conceito de inteligncia algo bastante difcil de se definir. Por essa ra- zo, Inteligncia Artificial foi (e continua sendo) uma noo que dispe de mltiplas in- terpretaes, no raro conflitantes ou circulares. Neste artigo vamos observar algumas das tcnicas desenvolvidas nesses quase cinquenta anos de pesquisas. Veremos que vri- as dessas tcnicas fazem sentido em certas formas de se definir inteligncia. Contudo, cada uma delas parece deixar de fazer sentido se nossa interpretao ligeiramente dife- rente. As Primeiras Esperanas Newell e Simon apresentaram no encontro de 1956 um programa chamado LT, o Logic Theorist. O programa era revolucionrio para a poca, pois conseguia provar certos teo- remas da aritmtica. O LT foi um dos primeiros programas que foram empregados na manipulao de informao no numrica. O sucesso do LT foi seguido pelo GPS (Gene- ral Problem Solver), tambm concebido pelos dois cientistas. O GPS opera atravs de uma tcnica que faz muito sentido: o chamado Means-Ends Analysis. Se queremos alcan- ar um objetivo em particular, nossa preocupao deve ser escolher (dentre vrias) uma E atitude que nos aproxime desse objetivo, ou seja, que reduza a distncia entre o estado atual e o estado final desejado. Suponha que meu objetivo ir ao trabalho de manh, a partir de minha residncia. O que me separa de alcanar este objetivo? Ora, uma questo de distncia. Como fazer para reduzir distncias? Andando, correndo ou usando um au- tomvel. Seleciono a opo de ir de automvel, j que a distncia grande (ou seja, a atitude "usar um automvel" a mais adequada ao meu objetivo de reduzir grandes distncias). Mas verifico que meu carro no d a partida, est com a bateria descarregada. Tenho agora um novo objetivo, o de consertar este pro- blema. Como obter uma bateria carrega- da? Chamando um auto-eltrico. O que preciso para contat-lo? Certamente al- guma forma de comunicao. Posso gri- tar, ou telefonar. A opo mais adequa- da, novamente dada a distncia, usar um telefone. Dessa forma o GPS progride atravs do estabelecimento de um objeti- vo principal e da seleo de um opera- dor que tem a propriedade de reduzir nossa distncia atual desse objetivo. Muitas vezes (como no caso da bateria descarregada acima) temos que estabelecer um novo objetivo temporrio, e para resolv- lo aplicamos os mesmos princpios, de forma recursiva. O diagrama em blocos acima apresenta como este processo transcorre. No obstante o entusiasmo decorrente do GPS, logo diversos problemas apareceram. Alm de questes relativas racionalidade em certos casos (veja diagrama ao lado), existem outras questes relacionadas percepo das coisas (Qual o pro- blema mesmo? Como determinar os operadores que podem ser aplicados a uma determinada circunstn- cia? No seria melhor, em certos casos, alterar o objetivo, em vez de entrar em uma longa cadeia de passos para alcan-lo?). Boa parte dessas perguntas eram resolvidas pelos seres humanos que operavam o GPS, e no pelo prprio programa. A inteligncia, portanto, no parecia estar total- mente contida no programa, mas dependia muito do uso por algum que soubesse especi- ficar inteligentemente os objetivos e as aes possveis para resolv-lo. Smbolos e Inteligncia O GPS legtimo representante de uma linha de sistemas que tem nos smbolos o princi- pal conceito bsico. A chamada viso "simbolicista" da inteligncia parte de um princpio geral que foi proposto de forma explcita pela primeira vez em 1976, tambm por Newell e Simon. O princpio conhecido pela sigla PSSH (Physical Symbol System Hypothe- sis), a hiptese do sistema fsico simblico: Avalie a diferena entre a situao corrente e o objetivo PARE (ou retorne da recurso) No H Di ferena Encontre um operador que consiga reduzir a distncia ao alvo H Di ferena Operador consegue ser aplicado com os dados que se tem? GPS Gere um sub-goal e procure resolv-lo (invocao recursiva do GPS) NO Aplique o operador, obtendo o novo estado SI M S g S 0 Mai s racional GPS "Um sistema simblico fsico tem os meios necessrios e suficientes para a ao inteligente genrica" Newell & Simon (1976) Este princpio precisa ser entendido como uma hiptese, ou seja, algo que assumimos como sendo "verdade", mesmo sem dispormos de uma forma slida de justificao. Sa- bemos que os seres humanos usam smbolos, mas seria essa habilidade responsvel por tudo o que precisamos para explicar o seu comportamento inteligente? Essa hiptese carrega, na verdade, uma alegao muito forte, pois fala em meios necessrios e sufici- entes. Tudo o que feito na IA Simblica requer que aceitemos esse princpio e se ele no for inteiramente correto, podemos ter alguns problemas. Diversos trabalhos posterio- res a essa data criticaram a hiptese, mas por enquanto vamos observar at onde ela nos leva. Neste caso, parece ser mais interessante aprender com nossos erros do que com nossos acertos. Representando Conhecimento Com a Lgica Uma das formas mais comuns de se representar conhecimento em forma simblica atravs da Lgica de Primeira Ordem (FOL, First Order Logic). Usamos expresses que codificam nossas inferncias genricas sobre variveis. Veja um exemplo: Nesta expresso estamos dizendo que para qualquer x, tal que x seja advogado, ento podemos concluir que x rico. Dessa maneira, conseguimos representar um tipo de co- nhecimento atravs de uma expresso genrica, pois x pode assumir qualquer valor. Po- demos continuar com nossa representao adicionando outra expresso: Aqui, estamos dizendo que para qualquer x, tal que x possua uma casa e tambm que x seja rico, ento podemos concluir que x possui uma casa grande. Vamos construir mais uma expresso a partir dessas idias: Dizemos aqui que todo o x tal que x tenha uma casa grande, ento custa muito para x mant-la. Se colocarmos essas trs expresses em um computador preparado para inter- pret-las, podemos usufruir desse conhecimento simplesmente perguntando por uma si- tuao especfica: Falamos ao computador que Joo um advogado. Dizemos que ele tem uma casa. Pron- to, da em diante o computador ir "raciocinar" que Joo gasta muito para manter sua casa, pois seguir a cadeia de inferncias genricas que colocamos previamente. Longas casaGrande(x) x temCasa(x) rico(x) x casaGrande(x) custaManter(x) advogado(Joo) temCasa(Joo) Joo gast a mui t o com sua casa x advogado(x) rico(x) cadeias de raciocnio como essas podem ser introduzidas e o efeito das inferncias feitas pelo computador so simplesmente surpreendentes, principalmente para pessoas que no sabem o teor daquilo que foi colocado. Mas fica uma questo pendente: seria essa habili- dade de executar sequncias de inferncias lgicas uma demonstrao de inteligncia? No seriam essas expresses simplesmente uma forma de "congelar" a inteligncia de quem colocou-as no computador? Os Frames de Minsky Alm da vertente lgica, existem outras que procuram representar o conhecimento atra- vs de mecanismos diferentes. Um desses mecanismos so os "frames", popularizados por Marvin Minsky (1975). Nos frames, temos uma estrutura de "escaninhos" nos quais colocamos etiquetas e valores: Os frames permitem a representao de relaes hierrquicas entre conceitos e atravs dessas relaes podemos inferir propriedades e responder a certas questes (na verdade, os frames podem ser convertidos para expresses em lgica de primeira ordem). Abaixo temos um exemplo de uma rede de frames interligada: Observe o frame inferior. Ser que o Piu-Piu pode voar? Se observarmos no frame cor- respondente ao Piu-Piu, vamos notar que nada dito explicitamente sobre isso. No en- tanto, o escaninho "-Um" nos informa que ele uma instncia de uma noo mais abrangente, a do Canrio. Seguimos o apontador e vemos que ele nos leva a um frame que diz algumas coisas sobre canrios, inclusive que eles so Pssaros. Novamente se- Piu-Piu -Um Cor Lar Canrio Frajola Amarelo Gaiola Nome do Frame Contedo do Slot Escaninho (Slot) Animais Tem Pele Podem Mover Atrib Comem Atrib Respiram Pssaros -Um Animal Tem Asas Pode Voar Tem Penas Peixes -Um Animal ....... ......... Salmo ............. Tubaro ............. Piu-Piu -Um Canrio Lar Gaiola Inimigos Frajola Avestruz -Um Pssaro NoPode Voar Canrios -Um Pssaro Pode Cantar guimos esse apontador e finalmente encontramos o frame "Pssaros", uma instncia hie- rarquicamente superior onde a propriedade Voar est explicitada. Concluimos, assim, que o Piu-Piu pode voar. As idias de herana de propriedades hierarquicamente superiores so teis no apenas nos frames, mas tambm em praticamente todas as modernas lin- guagens de programao orientadas a objeto. Da mesma forma que com expresses lgi- cas, um computador manipulando frames pode executar operaes de forma surpreen- dentes. Mas ainda assim, proponho relutar em aceitar isto como uma demonstrao de inteligncia. Os Sistemas Especialistas O auge dos sistemas simblicos foi atingido em torno da dcada de 1980, com os Siste- mas Especialistas, programas que dispunham de uma "Base de Conhecimentos" no qual estavam codificadas regras (conhecidas como "regras de produo"). Uma parte do programa (o motor de inferncias) o responsvel por encontrar regras que sejam adequadas situao corrente que se deseja resolver. As regras tem um formato genrico, onde uma condio antecedente seguida por uma ao consequente. Se a condio apresentada pelo antecedente satisfeita, ento a ao especificada pelo consequente executada. O exemplo abaixo apresenta um caso prtico: Toda vez que a temperatura do forno subir acima de 800 graus e o tempo de operao for superior a 15 segundos, o sistema ir fechar a vlvula V3 e avisar o operador. Um siste- ma especialista pode dispor de centenas ou mesmo milhares de regras como essas, captu- rando boa parte do conhecimento de um "especialista" em determinado assunto. Mas esse conhecimento no ajuda muito o sistema na resoluo de casos para os quais ele no es- tava "programado". H uma grande dificuldade em lidar com os casos no previstos, as Memria de Trabalho Base de Regras Motor de Inferncia Condies + Aes Rule Matching Seleo + Execuo Objetos + Fatos - Production Systems - Regras de Produo Se Temperat uraForno > 800 C e TempoOperacao > 15 seg Ent o FecharVal vul a V3 e Most rarAl ert a "Excedi da t emperat ura" Antecedente Consequente excees, as situaes incomuns. So dessa poca algumas histrias de horror, na qual um sistema especialista de uma financeira aprovava um crdito para um jovem de 18 anos. Na ficha de solicitao do emprstimo, o rapaz dizia que trabalhava no mesmo em- prego h 20 anos. Onde est a inteligncia de um sistema desses? CYC: Uma Aposta Muito Alta A fragilidade dos sistemas especialistas sempre foi questionada e muitas tentativas de resolver o problema foram empreendidas. Talvez o mais ambicioso sistema simblico jamais realizado com o expresso propsito de resolver a fragilidade dos sistemas especi- alistas seja o projeto Cyc (http://www.cyc.com). Obra de Douglas Lenat, um brilhante pesquisador formado em Stanford, Cyc (de EnCYClopedia) um sistema onde tudo grande. O princpio bsico desse sistema obter inteligncia a partir da explicitao de uma grande quantidade de conhecimento. Por mais de uma dcada, dedicados "engenheiros do conhecimento" colocaram no Cyc todo tipo de informao que faz parte do bom senso das pessoas. Veja alguns exemplos simples do tipo de informao inserida manualmente no Cyc: Toda ave um animal Todo pardal uma ave Todo corvo uma ave Se ?x uma ave e se ?x est sentindo dor, Ento ?x provoca empatia positiva "Enquanto uma pessoa est dirigindo um carro, contato visual com os olhos no socialmente requerido durante conversaes" "Todas as pessoas mortas permanecem mortas" Em 1992, Cyc j contava com cerca de 1.400.000 asseres desse tipo em sua base de conhecimentos. desse volume que Lenat e sua equipe esperam o nascer de um sistema inteligente, capaz, por exemplo, de ler o jornal do dia (Cyc, mesmo hoje, ainda no con- segue esta proeza). Alm de uma base de conhecimentos gigantesca, o sistema Cyc dispe de diver- sos mtodos de inferncia e de uma poderosa linguagem, a CycL. A sentena "todos os objetos possuidos por Sergio encontram-se na casa do Sergio" pode ser codificada em CycL desta forma: (forAll ?x (implies (owns Sergio ?x) (objectFound ?x CasaSergio))) Essa construo tem bastante em comum com a linguagem LISP. A elegncia e o poder da CycL garante boa parte do poder do sistema. E esse sistema consegue realmente sur- preender. Cyc pode ser usado, por exemplo, como um "front-end" para aplicaes de pesquisa em banco de dados. A pesquisa, em vez de ser uma query SQL, uma frase em linguagem natural, digitada por uma pessoa sem treinamento especfico. Cyc transforma a frase de sua expresso natural em uma expresso em CycL interna, que contenha uma correta traduo em termos de senso comum: "Me mostre as pessoas que tenham formao superior e que vivam em Ribeiro Preto" Em um sistema SQL tradicional, se no houver um campo "formao superior" no banco de dados, essa requisio ir retornar sem mostrar nada. Mas o Cyc sabe interpretar o que significa "formao superior", e por isso sua traduo em CycL fica assim: (and (or (isa ?x Professor) (isa ?x Doutor) (isa ?x Advogado) (isa ?x Engenheiro)) (residesInRegion ?x RibeiraoPreto)) Nota-se o poder que isso agrega s consultas, pois agora temos um sistema que consegue entender alm daquilo que perguntamos. bvio que isto muito mais do que temos em nossos sistemas tradicionais. indiscutvel que isto avana muito em relao aos frgeis sistemas especialistas. Mas ser que isto que pode ser chamado de um computador in- teligente? A questo fundamental que coloco aqui no a quantidade nem a qualidade do conhecimento que Cyc dispe, mas sim quem colocou esse conhecimento l dentro. Se foi um ser humano, ento no o sistema que inteligente, mas sim esse ser humano. Onde que est a Inteligncia Artificial em um sistema que precisa receber manualmente declaraes to triviais quanto "para entrar em uma sala precisamos abrir a porta antes"? Alguns Problemas dos Sistemas Simblicos Como vimos, um dos grandes problemas da maioria dos sistemas simblicos a sua ex- trema dependncia de seres humanos para aliment-los e corrigi-los. Quando dizemos ao sistema que Piu-Piu um pssaro estamos, na verdade, "resolvendo" grande parte do problema e codificando-o de uma forma totalmente arbitrria. Para um computador, dizer "Piu-Piu um Pssaro" ou "Tkuyyiz um Zthhizoe" significa exatamente a mesma coisa. O que mesmo um pssaro? Um pardal um pssaro. Ora, um kiwi, aquela ave australiana, tambm um pssaro. Mas enquanto o primeiro sabe voar, este ltimo no sabe. Pssaros no nadam como peixe. Mas pinguins nadam, e so considerados pssa- ros. E pinguins no conseguem voar. Esse tipo de informao costuma desconcertar muitos sistemas simblicos, pois eles no tm como categorizar ou mesmo adaptar suas categorias de acordo com suas prprias experincias. Dependem sempre de um operador humano que lhes informe sobre o assunto, de forma "mastigada". Meu ponto aqui que se h um dedo humano para "corrigir" explicitamente todos os erros associados a um smbolo, ento porque o erro foi percebido por este ser humano, e desta forma ele que inteligente, e no o sistema. Alm disso, a habilidade de "voar" de todos os pssaros deveria ser automatica- mente abstrada a partir de diversas instncias especficas de pssaros que conseguem voar. Isto envolve habilidades indutivas, tpicas do comportamento de crianas e essenci- ais criao de conhecimento. Poucos sistemas simblicos conseguem montar categorias indutivas com tal flexibilidade e aqueles que o fazem, no parecem usar os resultados desse aprendizado para modificar suas prprias expectativas em relao a futuras experi- ncias, facilitando sua compreenso. Outro ponto, associado s categorias indutivas, o uso das experincias sensrias de um organismo inteligente para sustentar os conceitos simblicos que eles utilizam. Aqueles sistemas que no dispe desta sustentao esto merc de um srio problema de suporte, conhecido como "o problema do aterramento dos smbolos" (Harnad 1990). H mais deficincias dos sistemas simblicos, em especial nos baseados em lgi- ca. Uma delas o crescimento exponencial do nmero de relaes lgicas que necess- rio investigar mesmo nos casos mais simples. Suponha que um sistema conhea alguns fatos sobre pssaros. Sabe, por exemplo, que pssaros voam. Ento, ao afirmarmos que Tico um pssaro, o sistema ir rapidamente concluir que ele pode voar, pois ele tem esta regra: E esta regra afirma que qualquer pssaro pode voar. Mas Tico no um pssaro qual- quer, ele tem um pequeno problema com suas asas, que so muito curtas. Logo, ele um pssaro, tem asas, mas no pode voar, pois ele "anormal". Para resolver isso, a expres- so genrica acima teria que ser modificada para conter esta ressalva: O smbolo '~' representa negao, ou seja, todo o pssaro pode voar contanto que ele no seja anormal. Mas ser que ele no pode mesmo voar? E se colocarmos o Tico dentro de um avio? Agora, ele certamente poder voar. Portanto, nossa expresso precisa levar em conta esse fator: A expresso acima quer dizer isto: "Se x for um pssaro e x no for anormal ou ento se x estiver em um avio, ento x pode voar". Resolvemos todos os nossos problemas? Es- tamos longe disso. Que acontece se o avio estiver sem combustvel? E se faltar o piloto? E se o tempo no permitir a decolagem? E se a turbina estiver com problemas tcnicos? E se o avio estiver dentro de um hangar trancado? Existe uma infinidade de motivos que pode- riam impedir Tico de voar (e outra infinidade que o faria voar, como coloc-lo em uma catapulta e dispar-lo em direo ao cu). Todos esses motivos precisariam estar explicitados nas condies lgicas, para que o sistema possa raciocinar corretamente. Sim, isso possvel, e boa parte dos siste- mas baseados em lgica (como o prprio Cyc) esmeram-se em completar suas bases de conhecimento. Contudo, por causa da complexidade de nosso mundo, mesmo as situa- es mais mundanas exigiriam um gigantesco nmero de condies acessrias para que fosse minimamente til. Cada uma dessas condies teria que ser investigada, mesmo nos casos de raciocnios banalmente simples. claro que isto levaria qualquer sistema a uma rpida saturao, mesmo nas questes bem triviais (parte dessa questo tem relao com o "frame problem", um dos problemas que assombram os pesquisadores envolvidos com lgica; uma boa discusso dessa questo pode ser vista em Shanahan 1997). H vrias formas de superar alguns desses dramas (uma delas a Default Logic, proposta por Reiter, outra so as "microtheories" do Cyc), mas isto s introduz novas x Passaro(x) Voa(x) x Passaro(x) ~Anormal(x) Voa(x) x (Passaro(x) ~Anormal(x)) EmAviao(x) Voa(x) formas de remendar algo que parece estar errado desde o comeo: um sistema que inte- ligente no aquele que consegue seguir as regras que estipulamos com preciso, mas sim aquele que descobre as regras por si prprio. Boa parte do que reconhecemos como comportamento inteligente est associado a essa habilidade autnoma de descobrir rela- es, associaes, regras, padres, sequncias, conexes. Um sistema puramente simb- lico no parece ter muito talento para isso. Introduzindo o Conexionismo Uma forte reao aos problemas dos mtodos simblicos veio atravs dos sistemas para- lelos e distribudos (PDP, Parallel Distributed Systems, Rumelhart & McClelland 1986, tambm popularmente conhecidos como redes neurais). Um dos pontos de partida dessa estratgia observar o substrato bsico de nosso crebro, o neurnio. Um tpico neurnio biolgico dispe de diversas entradas (os dendritos) e uma sada (o axnio; na verdade, as arquiteturas dos neurnios biolgicos so muito mais complexas do que os diagramas tradicionalmente expostos; veja, por exemplo, Rieke et al. 1998). Assume-se que a operao executada nesse neurnio seja uma soma ponde- rada dos impulsos provenientes de cada dendrito. Disto vem um modelo bsico (chamado de combinador linear adaptativo) que a base para a construo de sofisticadas arquiteturas. Uma dessas arquiteturas o perceptron multi- nvel: A entrada de sinais acontece esquerda e a sada direita. Esses modelos tm sido muito teis em aplicaes que envolvem reconhecimento de padres, associao, classificao e muitas outras. H diversas aplicaes prticas que hoje operam baseadas nesses princ- pios. A operao bsica dessas redes ocorre atravs de uma noo muito simples: a gene- ralizao. Sinais de entrada similares aos sinais que foram usados para treinamento fazem a rede ter comportamento na sada tambm similar (outros tipos de redes, chamadas de no supervisionadas, conseguem "descobrir" padres mesmo sem serem treinadas especi- ficamente para isso; Arbib 1995 uma excelente referncia sobre essas arquiteturas). Vem da um grande potencial para aplicaes, que vo de controle de instalaes indus- triais, anlise de crdito, previso no mercado financeiro, classificao de sinais, etc. Mas em nosso caso, queremos uma arquitetura que seja capaz de generalizar de forma inteligente, ou seja, obtendo os mesmos tipos de resultados que um ser humano teria se analisasse os mesmos dados. O uso de redes neurais na modelagem da cognio humana tem sido bastante bem sucedido, com exposies bastante convincentes (veja, por exemplo, Elman et al. 1996). Um exemplo do tipo de generalizao que esses modelos conseguem pode ser visto na rede a seguir (de Rumelhart e Todd, 1993). Essa rede capaz de aprender relaes muito interessantes, como estas: Peixes tm barbatanas Pssaros tm asas Pssaros tm penas Pssaros so animais A partir de novos exemplares, a rede capaz de inferir propriedades desses exemplares automaticamente. Assim, aps treinarmos a rede com as caractersticas de um pssaro, se ensinarmos que "Rouxinol um Pssaro" a rede ir inferir, por sua conta, todas estas propriedades: Rouxinol tem penas Rouxinol tem asas Rouxinol pode voar Sucessos como esses tm alimentado as esperanas dos cientistas que procuram modelar a cognio humana atravs de mecanismos distribudos. Entretanto, ainda h problemas no resolvidos. Um deles foi detectado por Marcus (2001) exatamente nesse modelo que citamos. Aps a introduo de proposies convencionais, Marcus treinou a rede com isto: Pinguim um pssaro Pinguim no pode voar entradas sa das R u m e l h a r t
a n d
T o d d
( 1 9 9 3 ) enti dades propri edades qual i dades aes enti dades relaes Isto confundiu a rede, pois sua estratgia bsica tentar fixar-se, tanto quanto possvel, em princpios generalizadores, e no em excees individuais. Perguntado sobre Pin- guins, a rede respondeu: Pinguim um peixe Pinguim tem barbatanas Pinguim tem penas Essas respostas, obviamente, no esto certas, mas esse tipo de erro de generalizao excessiva tambm costuma acontecer com crianas (casos tpicos ocorrem com os erros na formao do tempo passado em verbos, conforme relata Pinker 1999). Nossa alterna- tiva, assim como fazemos com as crianas, insistir, treinando a rede nos conceitos que queremos enfatizar. Foi isso o que Marcus fez: Pinguim um pssaro Pinguim pode nadar Pinguim no pode voar Entretanto, o resultado de nossa insistncia, em vez de corrigir, complicou mais ainda as coisas, pois agora a rede responde que "Pssaros no podem voar". A excessiva tendncia generalizao, a incapacidade de aprender instncias que sejam excees de regras e a subsequente perda de generalizaes anteriores decorre de um fenmeno chamado de interferncia catastrfica, que uma das pedras nos sapatos dos conexionistas (McCloskey & Cohen 1989, Marcus 2001). Alm disso, ainda h muita dificuldade em fazer as redes neurais operarem sobre raciocnios lgicos, entendimento de linguagem natural e manipulao de smbolos de forma genrica, feito que obtido at mesmo por bebs. Neste ltimo caso, em particular, Marcus e colegas identificaram novos problemas que colocaram os conexionistas para coar suas cabeas (veja Marcus et al. 1999, Marcus 2001). Algoritmos Genticos Desde que Charles Darwin concebeu os princpios da teoria da evoluo no sculo XIX, a cincia tem sido sistematicamente enriquecida pela aplicao do pensamento evolucio- nista. Alm das implicaes biolgicas, ecolgicas e econmicas, a teoria da evoluo tem tambm sugerido processos computacionais de busca que dispe de inmeras vanta- gens. Um dos principais tericos da aplicao computacional dos princpios evolucio- nistas tem sido John Holland. dele alguns dos princpios fundamentais dessa nova es- tratgia. Assim como na evoluo biolgica, existe uma competio de diversas solues para a sobrevivncia. O mecanismo da seleo natural se encarrega de privilegiar aquelas solu- es que dem melhor condio de adaptao ao organismo. As solues genticas precisam operar sobre uma codificao de nosso problema. Uma forma de fazer isto estabelecendo uma forma de representar cada instncia atravs de uma se- quncia de bits, como mostra a figura ao lado. A juno desses bits ir formar uma "so- luo" potencial, que tem semelhanas com um "cromossomo" de um organismo vivo. Outras solues possveis (codificadas por outras sequncias de bits) quando reunidas iro formar um conjunto de solues, ou uma populao. Chegou a hora de fazer essas solues competirem entre si. Isto feito atravs do estabelecimento de uma funo de avaliao (fitness) que ir revelar quais so as melho- res solues. As piores sero descartadas, as melhores iro "casar" entre si: Com o crossover, partes das solues que sobreviveram (as melhores) sero combinadas entre si, dando origem a novas solues. Algumas dessas novas solues ainda passam por um processo de mutao, no qual certos bits so aleatoriamente trocados. O intuito providenciar um pouco mais de variao na populao de solues recombi- nadas. Pronto, estamos agora com uma nova gerao que pode ser submetida ao mesmo processo de avaliao pela funo de fitness. Nova- mente sero selecionadas aquelas solues que apre- sentarem melhor desempenho, com as piores sendo descartadas. O efeito prtico disso uma progressi- va reduo do tamanho do espao do problema, com uma gradativa minimizao do nmero possvel de solues. Esta reduo essencial, j que o nmero total de solues iniciais desses problemas pode ser simplesmente astronmico. O ciclo se repete at que tenhamos algumas (ou, s vezes, apenas uma) soluo que satisfaa nossos requisitos. Esse poderoso processo, embora lento, pode descobrir solues mesmo para proble- mas muito difceis, para os quais no tenhamos uma soluo formal (um problema desse tipo a soluo do melhor roteiro de caixeiros- viajantes, o conhecido problema TSP, Travelling Salesman Problem). Data Mining: Ouro de Dados? Com a utilizao intensiva de computadores pelas empresas, uma imensa quantidade de dados foi sendo acumulado. So registros de processos produtivos, informaes comerciais, dados estratgicos, relatrios, bancos de dados, ritmo de vendas, dados de clientes, etc. Ser que h algum co- nhecimento importante a ser descoberto dessa montanha de dados? O Data Mining composto por uma srie de estratgias que visam res- ponder afirmativamente a essa questo. Utilizando tcnicas e algoritmos desen- volvidos pela IA, alm de mtodos esta- tsticos tradicionais, o Data Mining se prope a encontrar padres dentro desse gigantesco volume de dados. Esses pa- dres podem revelar surpresas e detalhes sobre o negcio que no eram conheci- dos. Um valor incalculvel pode estar escondido no meio desses dados. Um dos exemplos de padres que podem ser encontrados a descoberta de associaes entre itens de tal forma que a presena de um item implica na presena de um outro item especfico. Assim, ao se le- vantar os compradores de po e leite em um supermercado, pode-se perceber que so tambm compradores de manteiga. Mas outras relaes menos bvias tambm podem ser descobertas, conforme os nveis de investigao vo sendo progressivamente refinados. Muitos compradores de leite costumam comprar po. O data mining permite que se avance essa descoberta a nveis mais profundos: A descoberta desse novo conhecimento permite a um supermercado associar (colocar prximo) os produtos que so comprados em conjunto, maximizando as vendas de am- bos. Esse mesmo tipo de ttica tambm pode ser usado para diversas aplicaes: Achar todas as regras que tenham "diet coke" como consequentes. Isto auxilia no planejamento de lojas para vender mais desse produto, ao se enfatizar os antecedentes Achar todas as regras com "iogurte" no antecedente. Isto auxilia na determinao do impacto nas vendas globais, caso este produto seja retirado das prateleiras Achar todas as regras com "salsicha" no antecedente e "mostarda" no consequente. Auxilia na obteno de melhores regras para obter os produtos a serem vendidos em conjunto com salsichas, de forma a fomentar o consumo de mostarda. Lei te Po Lei te Desnatado Po Integral Lei t e Desnat ado Parmal at Po i nt egral Pul l man Conhecimento Databases Limpeza As Bases de Dados so : - Di nmica s - Inco mp letas - Re du ndantes - Ru idosas - Esparsas Seleo DWh Data Mining Avaliao Visualizao ? Fontes Di versas Dat a Warehouse Uma tcnica que muito contribui para o Data Mining o ID3 (agora j superada por ou- tras tcnicas mais modernas, como o C4.5 e outras). Essa estratgia monta rvores de deciso a partir de tabelas como a apresentada abaixo: Essa tabela lista o resultado de transaes de emprstimo e algumas caractersticas de cada caso. No caso 7, por exemplo, o risco foi alto, o histrico de quem pediu o emprs- timo ruim, seu dbito foi baixo, no apresentou nenhuma garantia (colateral) e seu sal- rio anual da ordem de R$ 15.000,00. A tcnica transforma essa tabela em uma forma que generaliza alguns princpios (por isso um mtodo chamado de indutivo), permitin- do que novos pedidos de emprstimo sejam avaliados com algum critrio: Dessa rvore, fcil perceber que aqueles que dispe de bom histrico e cujo dbito seja baixo, representam baixo risco de operao. J os que tem histrico desconhecido e te- nham alto dbito, representam alto risco. A maioria das tcnicas utilizadas em Data Mining tem essa caracterstica de obter generalizaes que permitem a descoberta de certos princpios essenciais do negcio, princpios esses que estavam "escondidos" debaixo de toneladas de dados brutos. exa- tamente pelo fato de no serem bvios que esses princpios so teis e valiosos. histrico? dbito? desc. ruim bom alto alto baixo baixo nenh. nenh. adequ. adequ. $15k $35k >35k alto risco alto risco baixo risco risco moder. baixo risco baixo risco alto risco alto risco colateral? colateral? colateral? salrio? dbito? rvore de Deciso de Anlise de Crdito Agentes Inteligentes O futuro parece que vai nos oferecer um tipo de programa inteligente que tem algumas caractersticas interessantes. Uma de- las a mobilidade: o programa poder "circular" por outros ambientes para realizar suas tarefas. Outra a sua ha- bilidade de representar nossos interes- ses em algumas transaes. O agente sabe o que queremos e est disposto a negociar com outros agentes (e mesmo com operadores humanos) para obter o melhor negcio. Por ter certa autonomia em ne- gociar, as instrues que damos ao agente no precisam ser tomadas "ao p da letra". Como exemplo, suponha que especificamos ao agente que ele deve localizar uma oportunidade de negcio com 15% de margem de lucro. Pode ser uma especificao complexa, com diversos fatores que podem ser negociados em conjunto (prazo, quan- tidade, etc). O agente poder tolerar aceitar um negcio de algum que oferea somente 13% de lucro, mesmo sabendo que isso no atinge o que especificamos, principalmente se as demais condies do negcio forem satisfatrias. O agente poder, por exemplo, saber que no deve fazer negcios com empresas em dificuldades financeiras pois o risco seria alto. Esses agentes esto sendo pensados para dispor de um certo grau de relaciona- mento emptico com o usurio, at mesmo com a simulao de algumas emoes. Essa relao emptica permite que o agente se adapte mais facilmente ao momento emocional do usurio e com isso consiga ampliar sua utilidade (veja mais sobre isto em Ford et al. 1995 e Picard 1997). Ainda prematuro opinar at que ponto conseguiremos obter agentes com tama- nho grau de autonomia e habilidade emptica. S o que podemos antever a necessidade de programas que tenham a habilidade de aprender por experincia prpria, com um m- nimo nmero de regras inseridas manualmente. Concluso Durante os quase cinquenta anos de pesquisa desde que a Inteligncia Artificial recebeu seu nome, aprendemos e criamos muito. Neste artigo mal tocamos na riqueza e variedade de teorias e tcnicas brilhantes desenvolvidas durante todo esse perodo. Parece fato que nosso aprendizado durante esse tempo todo deveu-se mais aos erros do que aos acertos. Isto s revela que o problema de obter inteligncia em mquinas realmente complexo. Se os sistemas simblicos demonstram certas fraquezas, tambm os conexionistas tem a sua quota de problemas. H um grande nmero de pesquisadores que esto apos- tando atualmente em solues hbridas, onde o simblico convive com o neural (Wermter Usuri o del ega tarefa ao Agent e Agent e encont ra-se com outros, negoci a no nome do usuri o, t oma deci ses, acei ta ou rej ei ta ofertas, dentro de parmetros gerai s & Sun 2000). So tentativas que s o futuro poder classificar como bem sucedidas ou no. Mas se h algo que realmente parece estar despontando como promissor no futuro a compreenso de que inteligncia uma habilidade que requer contato sensrio ntimo e intenso com o mundo (desenvolvo melhor este tpico em Navega 2000). Organismos inteligentes tm uma especial ateno ao nvel perceptual, aquele nvel que consegue, por exemplo, discriminar uma ma de um tomate. Inteligncia requer, tambm, o equiva- lente de um "corpo fsico" que permita ao agente explorar suas circunvizinhanas e assim obter uma oportunidade de interao (Clark 1997). Boa parte daquilo que um sistema pode conhecer provm justamente da qualidade dessa interao. Mais do que pesquisar algoritmos e tcnicas, o que a IA precisa hoje compreen- der os processos que ocorrem nas mentes das crianas. So elas nosso principal exemplo de entidades que conseguem obter conhecimentos a partir de sua interao com o mundo, at mesmo (ou principalmente) enquanto esto brincando despreocupadamente. Na sua transformao para adultos est toda a sequncia que precisa ser replicada em mquinas inteligentes. Inteligncia no parece ser uma caracterstica automaticamente possuida por sistemas com muito conhecimento. Inteligncia parece ser uma caracterstica daqueles sistemas capazes de gerar conhecimento por seus prprios esforos, sejam eles atravs de acertos ou de fracassos. Um sistema desse tipo vai acabar naturalmente com muito conhecimento, mas ao contrrio daqueles programas que sempre foram alimentados manualmente, este pode crescer por conta prpria. Afinal, o que ns desejamos no mais uma enciclopdia ele- trnica em CD-ROM. O que queremos um companheiro ativo, criativo e inteligente, que nos ajude a resolver os problemas que teremos pela frente, justamente aqueles pro- blemas para os quais ainda no temos soluo. Agradecimentos O autor agradece a Intelliwise Research and Training por suporte durante a elaborao deste arti- go. Parte do material exposto aqui foi desenvolvido pelo autor durante curso que ministrou para a OPP Petroqumica entre 2000 e 2001. Referncias Anderson, James A. (1995) An Introduction to Neural Networks. MIT Press, Massachusetts. Arbib, Michael (ed) (1995) The Handbook of Brain Theory and Neural Networks. MIT Press, Massachusetts. Barr, Avron; Cohen, Paul R.; Feigenbaum, Edward A. (1989) The Handbook of Artificial Intelli- gence, Vol. IV. Addison-Wesley Publishing, Inc. Massachusetts. Barr, Avron; Feigenbaum, Edward A. (1982) The Handbook of Artificial Intelligence, Vol. II. Addison-Wesley Publishing, Inc.Massachusetts. Bittencourt, Guilherme (1998) Inteligncia Artificial, Ferramentas e Teorias. Editora da UFSC, Florianpolis. Boden, Margaret A. (ed) (1996) Artificial Intelligence. Academic Press, Inc., San Diego. Clark, Andy (1997) Being There, Putting Brain, Body, and World Together Again. Bradford Bo- ok, MIT Press, Massachusetts. Dean, Thomas; Allen, James; Aloimonos, Yiannis (1995) Artificial Intelligence, Theory and Practice. The Benjamin/Cummins Publishing Company, Inc., California. Dreyfus, Hubert L. (1992) What Computers Still Can't Do. The MIT Press, London, England Elman, Jeffrey L.; Bates, Elisabeth A.; Johnson, Mark H.; Karmiloff-Smith, Annette; Parisi, Do- menico, Plunkett, Kim (1996) Rethinking Innateness. Bradford book, MIT Press, Massa- chusetts. Ford, Kenneth M.; Glymour, Clark; Hayes, Patrick J. (1995) Android Epistemology. AAAI Press, Menlo Park. Franklin, Stan (1995) Artificial Minds. MIT Press, Massachusetts. Fyfe, Colin (1996) Artificial Neural Networks and Information Theory. University of Paisley. Ginsberg, Matt (1993) Essentials of Artificial Intelligence. Morgan Kaufmann Publishers, Inc., San Francisco, CA. Han, Jiawei; Fu, Yongjian (1995) Discovery of Multiple-Level Association Rules From Large Databases. Proceedings of 21st VLDB Conference. Han, Jiawei; Chen, Ming-Syan; Yu, Philip S. (1996) Data Mining: An Overview from Database Perspective Hand, David J. (1999) Statistics and Data Mining: Intersecting Disciplines, In: SIGKDD Explo- rations, Vol 1, Issue 1 Harnad, Stevan (1990) The Symbol Grounding Problem. Physica D 42: 335-346. Holland, John H. (1992) Adaptation in Natural and Artificial Systems. MIT Press,Massachusetts.. Holland, John H. (1995) Hidden Order, How Adaptation Builds Complexity. Helix Books, Mas- sachusetts. Holland, John H. (1998) Emergence, From Chaos to Order. Helix Books, Massachusetts. Holsheimer, M.; Siebes, A. P. (1994) Data Mining: The Search for Knowledge in Databases. Centrum Voor Wiskunde en Informatica, CS-R9406. Jackson Jr, Philip C. (1985) Introduction to Artificial Intelligence, Second Edition. Dover Publications Inc., New York. Kettler, Brian; Andersen, William; Hendler, James; Luke, Sean (1995) Using the Parka Parallel Knowledge Representation System. University of Maryland technical report CS-TR-3485. Kosko, Bart (1992) Neural Networks and Fuzzy Systems. Prentice Hall, Inc. New Jersey. Lenat, Douglas B.; Guha, R. V. (1990) Building Large Knowledge-Based Systems. Addison- Wesley Publishing Company, Inc., New York. Mahesh, Kavi; Nirenburg, S.; Cowie, J.; Farwell, D. (1996) An Assessment of CYC for Natural Language Processing. Computing Research Laboratory, New Mexico State University http://crl.nmsu.edu/Research/Pubs/MCCS/Postscript/mccs-96-302.ps Marcus, Gary F.; Vijayan, S.; Bandi Rao, S.; Vishton, P. M.. (1999) Rule Learning in Seven- Month- Old Infants. Science, 283, 77-80. Marcus, Gary F. (2001) The Algebraic Mind. Bradford Book, MIT Press, Massachusetts. McCloskey, M.; Cohen, N. J. (1989) Catastrophic Interference in Connectionist Networks: The Sequential Learning Problem. In: G. H. Bower (ed) The Psychology of Learning and Motivation: Advances in Research and Theory, 24 (pp. 109-165). Academic Press, San Diego. Minsky, Marvin (1975) A Framework for Representing Knowledge. In: Winston, Patrick H. (ed) The Psychology of Computer Vision. McGraw-Hill, New York. Mitchell, Tom (1997) Machine Learning. The McGraw-Hill Company, Inc., New York Munakata, Toshinori (1998) Fundamentals of the New Artificial Intelligence. Springer-Verlag New York, Inc. Navega, Sergio C. (2000) Inteligncia Artificial, Educao de Crianas e o Crebro Humano. Leopoldianum, Revista de Estudos de Comunicaes da Universidade de Santos, Ano 25, No.72, Fev. 2000, pp 87-102. (http://www.intelliwise.com/reports/p4port.htm) Newell, Allen; Simon, Herbert (1976) Computer Science as Empirical Enquiry: Symbols and Search. In Haugeland, John (ed.) (1997) Mind Design II, MIT Press, Massachusetts. Nilsson, Nils J. (1998) Artificial Intelligence, A New Synthesis. Morgan Kauffmann Publishers, Inc., San Francisco, CA. Picard, Rosalind W. (1997) Affective Computing. MIT Press, Massachusetts. Pinker, Steven (1999) Words and Rules. Basic Books, New York. Reiter, R. (1980) A Logic for Default Reasoning. Artificial Intelligence, 13 (1-2): 81-132. Rich, Elaine; Knight, Kevin (1994) Inteligncia Artificial. Makron Books do Brasil Editora Ltda, So Paulo. Rumelhart, David E.; McClelland, James (1986) Parallel Distributed Processing. Bradford Bo- ok, MIT Press, Massachusetts. Rumelhart, David E.; Todd, P. M. (1993) Learning and Connectionist Representations. In D. E. Meyer & S. Kornblum (eds.), Attention and Performance, XIV. MIT Press, Massachu- setts. Riddle, Patricia (et. al) (1992) CYC Evaluation. Boeing Computer Services Technical Report. Rieke, Fred; Warland, David; van Steveninck, Rob de Ruyter; Bialek, William (1998) Spikes, Exploring the Neural Code. Bradford Book, MIT, Massachusetts. Russell, Stuart, Norvig, Peter (1995) Artificial Intelligence, A Modern Approach, Prentice-Hall, Inc. Shanahan, Murray (1997) Solving the Frame Problem. MIT Press, Massachusetts. Sowa, John F. (ed.) (1991) Principles of Semantic Networks. Morgan Kaufmann Publishers, Inc., San Mateo, CA. Stefik, Mark (1995) Introduction to Knowledge Systems. Morgan Kaufmann Publishers, Inc., San Francisco, CA. Tveter, Donald R. (1998) The Pattern Recognition Basis of Artificial Intelligence. IEEE Compu- ter Society, New Jersey. Wermter, Stefan; Sun, Ron (eds) (2000) Hybrid Neural Systems. Springer-Verlag Berlin, Ger- many. Yuret, Deniz (1996) The Binding Roots of Symbolic AI: A brief review of the CYC project. MIT Artificial Intelligence Laboratory Technical Report. Zurada, Jacek M. (1992) Introduction to Artificial Neural Systems. PWS Publishing Company, Minesota