You are on page 1of 153

MDULO IV

INTELIGNCIA ARTIFICIAL

Vinicius Ponte Machado

FICHA BIBLIOGRFICA

PRESIDENTE DA REPBLICA Luiz Incio Lula da Silva MINISTRO DA EDUCAO Fernando Haddad GOVERNADOR DO ESTADO DO PIAU Wellington Dias UNIVERSIDADE FEDERAL DO PIAU Luiz de Sousa Santos Jnior SECRETRIO DE EDUCAO A DISTNCIA DO MEC Carlos Eduardo Bielschowsky COORDENADORIA GERAL DA UNIVERSIDADE ABERTA DO BRASIL Celso Costa SECRETRIO DE EDUCAO DO ESTADO DO PIAU Antnio Jos Medeiro COORDENADOR GERAL DO CENTRO DE EDUCAO ABERTA A DISTNCIA DA UFPI Gildsio Guedes Fernandes SUPERITENDENTE DE EDUCAO SUPERIOR NO ESTADO Eliane Mendona CENTRO DE CIENCIAS DA NATUREZA Helder Nunes da Cunha COORDENADOR DO CURSO DE SISTEMA DE INFORMAO NA MODALIADE DE EAD Luiz Cludio Demes da Mata Sousa COORDENADORA DE MATERIAL DE DIDTICO DO CEAD/UFPI Cleidinalva Maria Barbosa Oliveira DIAGRAMAO Joaquim Carvalho de Aguiar Neto

APRESENTAO
Desde incio do uso do computadores pelo homem existe uma tentativa de aproveitar a capacidade de processamento das mquinas para que esta simule o comportamento humano. Durante quase 60 anos as pesquisas neste sentido desenvolveram um ramo da cincia da computao que ficou conhecida como inteligncia Artificial(IA). Nesta apostila veremos os principais conceitos, tcnicas e aplicaes da Inteligncia Artificial, mostrando como a cincia da computao e outras reas do conhecimento humano influenciam a implementao dos mtodos da IA. Este material baseado em textos e referncias da Internet de diversos autores. extremamente recomendvel ao aluno que, ao final da leitura de cada captulo, acesse os materiais indicados na Weblografia e nas Referncias Bibliogrficas principalmente, para aprofundar a leitura desse material e complementar o que foi lido aqui. A apostila divida em seis unidades. Na primeira

mostraremos os principais conceitos e definies de termos usados em Inteligncia Artificial alm de mostrar um breve histrico da IA desde seu incio at a atualidade. Na unidade dois falaremos resolver problemas atravs de buscas. Mostraremos ainda como um problema deve ser formulado e como a usar a informao contida no prprio problema para resolv-lo. Na unidade trs veremos as principais tcnicas de como o computador aprende atravs da chamada aprendizagem de mquina. J na unidade quatro, falaremos sobre os principais modelos de representar e manipular o conhecimento. Na unidade cinco, o principal tpico a ser discutido ser o paradigma de desenvolvimento de software chamado agentes e sua aplicao distribuda, os sistemas multiagentes. Por fim, mostraremos os princpios da robtica e suas aplicaes. Boa Leitura !! Vincius Machado

SUMRIO GERAL

UNIDADE I HISTRICO & CONCEITOS EM IA

RESUMO
A Inteligncia Artificial (IA) uma rea de pesquisa da cincia da computao que busca mtodos ou dispositivos computacionais que simulam a capacidade humana de resolver problemas. Desde da sua criao, as pesquisas em Inteligncia Artificial tentam

implementar computacionalmente sistemas que pensam e agem de forma racional e que pensam e agem de forma semelhante aos seres humanos. Essas quatro vertentes mostram que h uma teoria ou paradigma unificado estabelecido que guie a pesquisa em IA.. Nesta unidade veremos em que diferem essas abordagens da IA ao mesmo tempo em que faremos um resgate histrico de todas as fases das pesquisa em Inteligncia Artificial, desde da sua concepo passando pela fase de encantamento at a realidade das aplicaes atuais.

SUMRIO

UNIDADE I HISTRICO E CONCEITOS EM IA

UNIDADE I HISTRICO & CONCEITOS EM IA

1. CONCEITOS GERAIS.
A inteligncia artificial surgiu na dcada de 50 com o objetivo de desenvolver sistemas para realizar tarefas que, no momento so melhor realizadas por seres humanos que por mquinas, ou no possuem soluo algortmica vivel pela computao convencional. Geralmente os sistemas de IA podem ser divididos em quatro categorias (Figura 1): Sistemas que raciocinam de forma semelhante a dos seres humanos Sistemas que pensam de forma racional Sistemas que agem como os seres humanos Sistemas que agem de forma racional

Figura 1: Categorias dos sistemas de IA

1.1. SISTEMAS QUE AGEM COMO SERES HUMANOS

1.1.1. TESTE DE TURING O teste de Turing, proposto por Alan Turing, foi desenhado de forma a produzir uma definio satisfatria de inteligncia; Turing definiu um comportamento inteligente como sendo a habilidade de um sistema alcanar um desempenho ao nvel de um ser humano em todas as tarefas cognitivas, de forma a conseguir enganar uma pessoa que o estivesse a interrogar.. O teste consistia num computador ser interrogado por uma pessoa, sem que esta estivesse vendo que estava conversando com um computador ou no (Figura 2). O computador passaria no teste se a pessoa no conseguisse identificar se estava falando com um computador ou com outro ser humano.

Figura 2: Teste de Turing

Requisitos de um sistema para executar o teste de Turing: Capacidade de processar uma linguagem natural; Capacidade de representar o conhecimento (o sistema dever ser capaz de guardar toda a informao fornecida antes e durante o interrogatrio); Dispor de uma forma de automatizar o raciocnio de forma a usar a informao guardada para responder s questes e inferir novas concluses; Capacidade de se adaptar a novas circunstncias e de detectar padres (aprendizagem - machine learning). Vale ressaltar que at hoje, nenhuma mquina conseguiu passar no teste de Turing, premissa para que uma sistema agisse como ser humano.

1.2. SISTEMAS

QUE

RACIOCINAM

DE

FORMA

SEMELHANTE DOS SERES HUMANOS A principal questo dos sistemas que raciocinam com seres humanos justamente entender como raciocinam os seres humanos. Pesquisadores nesta rea usam a introspeco (tentativa de pegar os prprios pensamentos medida que estes vo fluindo) e as experincias psicolgicas como teorias para desenvolver tais sistemas. Dispondo de teorias suficientemente precisas acerca do funcionamento da mente humana, torna-se possvel expressar essas teorias num programa de computador. Se as entradas e as sadas de um programa corresponder ao comportamento humano, dispomos de uma evidncia de que alguns dos mecanismos do programa podem estar funcionando como nos seres humanos. Newell e Simon que desenvolveram o GPS (General Problem Solving) no se contentavam com que o seu programa

resolvesse os problemas de forma correcta. Para eles era mais importante comparar os passos de raciocnio seguidos pelo programa com os passos seguidos por vrias pessoas na resoluo dos mesmos problemas [Newell & Simon, 1961].

1.3. SISTEMAS QUE PENSAM DE FORMA RACIONAL Em 1965, j existiam programas que podiam, dado tempo e memria suficientes, buscar na descrio de um problema, em notao lgica e encontrar uma soluo para esse mesmo problema, caso esta existisse. Se no houvesse soluo o programa poderia nunca parar de procurar. No entanto, no fcil traduzir conhecimento informal em lgica formal,

particularmente quando esse conhecimento no 100% certo; Por outro lado, apenas alguns fatos, podem extinguir todos recursos computacionais, a no ser que o programa seja guiado, de forma a selecionar quais os passos de raciocnio que deve efetuar primeiro.

1.4. AGENTES RACIONAIS Agir racionalmente, significa agir de forma a atingir um dado conjunto de objetivos, dados um conjunto de crenas. Um agente uma entidade que percebe o ambiente no qual est inserido atravs de sensores e afeta essa ambiente por meio de atuadores. [Russel & Norvig, 2003]. Para agir de forma racional, um agente tem algumas formas de pensar racionalmente, de forma a identificar (inferir) a ao correta para atingir os objetivos propostos. Por outro lado, existem situaes onde, provavelmente, no existe uma ao correta a ser tomada, mas, no entanto, alguma deciso deve ser tomada.

Em alguns casos agir racionalmente, no significa inferir a ao atravs de um processo de pensamento racional. Exemplo: Se colocarmos a mo debaixo de uma torneira com gua quente, temos o reflexo imediato de retira-l. Este reflexo (ato racional) prefervel a tomar a deciso aps deliberar cuidadosamente qual seria a melhor ao a tomar.

2. HISTRICO E EVOLUO DA IA
As correntes de pensamento que se cristalizaram em torno da IA j estavam em gestao desde os anos 30 [Barr & Feigenbaum, 1981]. No entanto, oficialmente, 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 artificial''. Ao que tudo indica, esta parece ser a primeira meno oficial expresso Inteligncia Artificial'' [McCorduck, 1979]. Desde seus

primrdios, a IA gerou polmica, a comear pelo seu prprio nome, considerado presunoso por alguns, at a definio 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 [Bittencourt, 2010]. Dada a impossibilidade de uma definio formal precisa para IA, visto que para tanto seria necessrio definir, primeiramente, a prpria inteligncia, foram propostas algumas definies operacionais: uma mquina inteligente se ela capaz de solucionar uma classe de problemas que requerem inteligncia

para serem solucionados por seres humanos'' [Michie & Meltzer, 1969]; Inteligncia Artificial a parte da cincia da computao que compreende o projeto de sistemas

computacionais que exibam caractersticas associadas, quando presentes no comportamento humano, inteligncia'' [Barr & Feigenbaum, 1981].

2.1. 1943 - 1956 : A GESTAO Existem duas linhas principais de pesquisa para a construo de sistemas inteligentes: a linha conexionista 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 [Minsky & Papert 1969] em livro onde as propriedades matemticas de redes artificiais 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 praticvel 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 artificiais. 1949: Algoritmo para modificar os pesos das ligaes entre os neurnios (Donald Hebb) Incio dos anos 50: Programas de xadrez para computador (Claude Shannon 1950 e Alan Turing 1953)

1951: Primeira rede neural (Marvin Minsky e Dean Edmonds) 1956 : Conferncia Dartmouth (10 participantes) Logic Theorist (LT) - programa que era capaz de provar teoremas. (Allen Newell e Herbert Simon). Surge o nome Inteligncia Artificial (John McCarthy) 1952 - 1969 : Perodo de muito entusiasmo e grandes expectativas (muitos avanos com sucesso)

Inicialmente, a pesquisa em manipulao de smbolos se concentrou no desenvolvimento de formalismos gerais capazes de resolver qualquer tipo de problemas. O sistema GPS, General Problem Solver, projetado por Ernst e Newell (1969), um exemplo deste tipo de pesquisa. O GSP Imitava o homem na forma de resolver problemas. Chegou-se concluso de que a forma em como dividia um objetivo em sub objetivos e possveis aes era similar forma em como o homem o fazia. 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 simplificados, onde o objetivo era principalmente a demonstrao da tcnica utilizada, e no a soluo de um problema real. O problema com os sistemas 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.

2.2. 1952 - 1969 : PERODO DE MUITO ENTUSIASMO Neste perodo temos vrios marcos histricos na IA:

IBM produz alguns dos primeiros programas de IA, entre os quais, em 1959 o Geometry Theorem Prover. Arthur Samuel desenvolveu um programa capaz de jogar damas ao nvel de um jogador de torneio. O programa jogava melhor do que o seu autor.

1958 : John McCarthy no Lab Memo n.1 do MIT define a linguagem de programao Lisp (List Processing) que se transformou na linguagem dominante da IA. O Lisp a segunda linguagem de programao mais antiga ainda em uso. A linguagem Fortran um ano mais antiga.

Em

1958

McCarty

publicou

um

artigo

intitulado

Programs with common sense, onde descrevia um programa hipottico designado por Advice taker, o qual pode ser visto como o primeiro sistema completo da IA. Este artigo no perdeu a sua relevncia ao fim de mais de 40 anos.

2.3. 1966 - 1974 : UMA DOSE DE REALIDADE 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 verificassem 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 julgamento 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 [Bittencourt, 2010]. O programa em si passou a ser a parte menos importante; a anlise formal da metodologia, incluindo o poder de deciso, completude e complexidade, alm de uma semntica bem fundada, passou a ser o ponto fundamental. A dcada de setenta marcou tambm a passagem da IA para a vida adulta'': com o aparecimento dos primeiros Sistemas Especialistas, 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. Ao contrrio dos mtodos fracos (usam pouca informao acerca do domnio do problema e mecanismos gerais de procura) os sistemas que dispem de uma base conhecimento podem resolver problemas mais complexos. DENDRAL - Anlise de compostos orgnicos para determinar a sua estrutura molecular. MYCIN Sistema pericial (expert system) capaz de diagnosticar infeces no sangue (dispunha de mais de 450 regras). Este sistema tinha um desempenho to bom quanto de alguns mdicos especialistas e melhor do que de mdicos ainda com pouca experincia. 1972 : Linguagem Prolog (programao em lgica). de

2.4. DCADA

DE

80:

IA

TRANSFORMA-SE

NUMA

INDSTRIA

1981 : O Japo lana o projeto Quinta gerao, um plano para construir em 10 anos computadores inteligentes. As instrues dos processadores eram instrues em PROLOG. Estes sistemas deveriam ser capazes de fazer milhes de inferncias por segundo. Uma das ambies do projeto era a compreenso da linguagem natural (projeto que veio revitalizar a IA em todo o mundo). 1982 : Surge o primeiro sistema pericial a ser comercializado, o R1. O programa ajudava a configurar encomendas de computadores. Em 1986 estimou-se que a Digital tinha poupado cerca de 40 milhes de dlares graas ao R1. 1986 : Retorno das redes neurais artificiais.

2.5. 90 - 20XX: IA MODERNA 1991: Sistemas de IA utilizados com sucesso na guerra do Golfo. 1991: Um sistema pericial analisa um caso mdico, chega a um diagnstico e capaz de explicar porque chegou a esse diagnstico, expondo os fatores que mais o influenciaram. 1993: Sistema capaz de conduzir um carro numa auto-estrada a cerca de 90 Km/h. O sistema usa cmaras de vdeo, radar e laser. 1993: Um sistema detecta colises na rua, chamando automaticamente o 911. 1994: Um sistema de reserva de viagens capaz de entender frases como quero ir de Boston para So Francisco. O sistema percebe mal uma em cada 10 palavras, mas capaz de recuperar, porque compreende a forma em como as frases so compostas. 2000: Comeam a surgir brinquedos inteligentes.

2001: Computador se comunica ao nvel de uma criana com 15 meses. Atualmente, os SE's so considerados como parte de uma tecnologia de desenvolvimento de software'' estabelecida, sendo objeto de diversas conferncias internacionais e submetida a avaliaes rigorosas de desempenho. Entre os diversos benefcios associados ao desenvolvimento de SE's podem-se citar: distribuio de conhecimento especializado, memria institucional, flexibilidade no fornecimento de servios (consultas mdicas, jurdicas, tcnicas, etc.), facilidade na operao de equipamentos, maior confiabilidade de operao, possibilidade de tratar situaes a partir de conhecimentos incompletos ou incertos, treinamento, entre outros. Atualmente, existem milhares de SE's em operao nos mais variados domnios, e a influncia da IA em outros campos da computao, como engenharia de ``software'', bancos de dados e processamento de imagens vem crescendo constantemente. As principais reas de pesquisa em IA simblica so atualmente: sistemas especialistas, aprendizagem,

representao de conhecimento, aquisio de conhecimento, tratamento de informao imperfeita, viso computacional, robtica, controle inteligente, inteligncia artificial distribuda, modelagem cognitiva, arquiteturas para sistemas inteligentes, 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. A gradativa mudana de metas da IA, desde o sonho de construir uma inteligncia artificial 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 [Hill 1989]. 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.

UNIDADE I HISTRICO & CONCEITOS EM IA

3. EXERCCIOS

1. Defina Inteligncia. O que um comportamento inteligente de uma mquina? 2. Em que consiste o Teste de Turing? 3. O que voc entende por Inteligncia Artificial? Contraste sua resposta com as quatro categorias Sistemas que pensam como os humanos, Sistemas que agem como os humanos, Sistemas que pensam racionalmente e Sistemas que agem racionalmente. 4. Descreva o paradigma simbolista. 5. Descreva o paradigma conexionista. 6. O que so sistemas especialistas? 7. Quais foram as principais dificuldades para a

continuao das pesquisas em Redes Neurais no incio de seu desenvolvimento? 8. Quais os principais desafios de IA hoje?

UNIDADE I HISTRICO & CONCEITOS EM IA

4. WEBLOGRAFIA

Universidade Aberta do Piau UAPI http://www.ufpi.br/uapi Universidade Aberta do Brasil- UAB http://www.uab.gov.br Secretaria de Educao a Distncia do MEC SEED http://www.seed.mec.gov.br Associao Brasileira de Educao a Distncia ABED http://www.abed.org.br Instituto Sem Fronteiras (ISF) http://www.isf.org.br/ Teste de Turing http://www.din.uem.br/~ia/maquinas/turing.htm [Bittencourt, 2010] - Breve histria da Inteligncia Artificial http://www2.dem.inpe.br/ijar/AIBreveHist.pdf Inteligncia Artificial http://www.papociencia.ufsc.br/IA1.htm

UNIDADE I HISTRICO & CONCEITOS EM IA

5. REFERNCIAS BIBLOGRFICAS

A. Newell e H. A. Simon (1961). GPS, a program that simulates human thought, em E. Feigenbaum e J. Feldmann, Hrsg. (1995) Computers and Thought, ISBN 0262560925. Russel S. J., Norvig P. 2003. Artificial Intelligence, A Modern Approach, Second Edition. Prentice Hall. A. Barr and E.A. Feigenbaum, editors. The Handbook of Artificial Intelligence, volume I-II. William Kaufmann Inc., Los Altos, California, 1981. P. McCorduck. Machines Who Think. Freeman, San Francisco, 1979. J. McCarthy and P.J. Hayes. Some philosophical problems from the standpoint of artificial intelligence. In D. Michie and B. Meltzer, editors, Machine Intelligence 4, pages 463-502. Edinburgh University Press, Edinburgh, GB, 1969. Minsky, M. and Papert, S. (1969). Perceptrons. MIT Press, Cambridge.

UNIDADE II RESOLUO DE PROBLEMAS ATRAVS DE BUSCAS

RESUMO Quando ns, humanos, nos deparamos com um problema intuitivamente pensamos em todas as possveis solues para escolher dentre estas a que tenha a melhor soluo. Essa mesma filosofia utilizada pela a IA para resolver problemas que seguem uma determinada formulao. Esta unidade dedicada a estudar os mecanismos de busca que permitem a resoluo de problemas. Veremos como formular tais problemas e como resolv-los sem informao (busca cega) e com informao. Veremos ainda como avaliar o desempenho desses mecanismos de busca e como lidar em situaes que existe competio (busca competitiva). Ao final da unidades os exerccios permitiro, alm de fixar os conceitos aprendidos, permitir que se resolvam problemas usando as tcnicas vistas nesta unidade.

SUMRIO

UNIDADE II RESOLUO DE PROBLEMAS ATRAVS DE BUSCAS

UNIDADE II RESOLUO DE PROBLEMAS ATRAVS DE BUSCAS

1. PROBLEMAS E ESPAO DE PROBLEMAS


A resoluo de problemas fundamental para a maioria das aplicaes de IA. De fato, a habilidade para resolver problemas freqentemente usada como medida de inteligncia para mquinas e homens. Existem basicamente dois tipos de problemas. O primeiro tipo pode ser resolvido por algum procedimento determinstico. So os problemas computveis. Contudo, existem poucos problemas do mundo real que possuem solues computacionais. Esses problemas so colocados na segunda categoria, ou seja, dos problemas no computveis. Esses problemas so resolvidos atravs de uma busca por uma soluo. Esse o mtodo de soluo de interesse da Inteligncia Artificial. Antes de formular um problema e utilizar mtodos de busca para solucion-lo importante formular o objetivo a ser alcanado. Os objetivos auxiliam a organizar o comportamento do programa atravs da limitao dos objetivos que se pretende alcanar. Dessa forma, a formulao do objetivo o primeiro passo na resoluo de problemas. Um objetivo um conjunto de estados do mundo exatamente os estados em que o objetivo satisfeito. Aes podem ser vistas como aquelas que causam transies entre estados do mundo. Ao formular o problema deve-se definir o objetivo, ou seja, definindo o estado final que satisfaz o agente; detalhar seu estado inicial; a funo que leva aos prximos estados; o teste de objetivo, que determina se o estado final foi alcanado; e o custo (path cost). Essa formulao define o espao de estados possveis, atravs do estado inicial juntamente com todos os estados alcanveis atravs da funo, formando um grafo

com ns representando cada estado, e arcos entre ns representando aes. Mas esta formulao deve ser bem feita, pois o espao de estados definido a partir da formulao impacta na eficincia de busca da soluo. Portanto um problema em IA definido em termos de: o um espao de estados possveis, incluindo: o um estado inicial, que descreve a situao inicial do problema; o um (ou mais) estado final (objetivo); exemplo 1: dirigir de Teresina a Parnaba; espao de estados: todas as cidades da regio o exemplo 2: jogo de 8-nmeros

o um conjunto de aes (ou operadores) que permitem passar de um estado a outro o ex1. dirigir de uma cidade a outra o ex2. mover uma pea do jogo de n-nmeros (npuzzle) Podemos perceber que a formulao do problema o processo de decidir que aes e que estados devem ser considerados para alcanar um objetivo. Ou seja, deve-se encontrar um caminho (seqncia de aes ou operadores) que leva do estado inicial a um estado final (objetivo). Portanto deve-se percorrer um caminho do estado inicial at o estado final passando pelo espao de estados que o conjunto de todos

os estados alcanveis a partir do estado inicial por qualquer seqncia de aes. A passagem de um estado para outro dada atravs da aplicao de operadores que caracterizam uma determinada ao. Em cada estado visitado realizado um teste para verificar se este o estado final (objetivo). Esse estado chamado de teste de trmino ou teste de objetivo. O caminho (estados visitados do incio at o final) pode ser expresso como uma funo. A funo de custo de caminho geralmente a soma dos custos das aes individuais ao longo do caminho. No caso de haver mais de uma soluo para o problema (vrios estados finais), o custo de caminho utilizada para indicar qual tem o menor custo, indicando assim a melhor soluo. Exemplo de Formulao de Problemas (Jogo de 8 nmeros): o estados = cada possvel configurao do tabuleiro o estado inicial = qualquer um dos estados possveis o teste de trmino = ordenado, com branco na posio [3,3] o operadores = mover branco (esquerda, direita, para cima e para baixo) o custo do caminho = nmero de passos da soluo Ida para Parnaba: o estados = cada possvel cidade do mapa o estado inicial = Teresina o teste de trmino = estar em Parnaba o operadores = dirigir de uma cidade para outra o custo do caminho = nmero de cidades visitadas, distncia percorrida, tempo de viagem, grau de divertimento, etc

1.1. COMO ENCONTRAR UMA SOLUO Uma vez o problema bem formulado, o estado meta (objetivo) deve ser buscado no espao de estados. A busca representada em uma rvore1 de busca: 1. Raiz: corresponde ao estado inicial 2. Expande-se o estado corrente: aplica-se a funo sucessor ao estado corrente, gerando um novo conjunto de sucessores 3. Escolhe-se o prximo estado a expandir seguindo uma estratgia de busca 4. Prossegue-se at sucesso (atingir estado meta retorna soluo) ou falha

1.2. MEDIDA DE DESEMPENHO NA BUSCA Um dos obstculos mais difceis de superar quando so aplicadas tcnicas de IA aos problemas do mundo real a magnitude e complexidade da maioria das situaes. Nos primeiros anos da pesquisa em IA, desenvolver bons mtodos de busca era o principal objetivo. Os pesquisadores acreditam que a busca a base da resoluo de problemas, que um ingrediente crucial da inteligncia. O desempenho de um algoritmo de busca depende de alguns fatores: Completeza: sempre encontra uma soluo se esta existir; Otimizao: encontra a soluo tima Complexidade de tempo: tempo gasto para encontrar uma soluo;
1

rvore, no contexto da programao e cincia da computao, uma estrutura de dados que herda as caractersticas das topologias em rvore. Conceitualmente diferente das listas encadeadas, em que os dados se encontram numa seqncia, nas rvores os dados esto dispostos de forma hierrquica.

Complexidade de espao: memria necessria para encontrar uma soluo.

Alm disso, podemos dizer que a busca possui um custo total que a soma do custo da soluo (esforo para expandir os ns e o custo da busca (a quantidade de ns visitados at o n soluo).

UNIDADE II RESOLUO DE PROBLEMAS ATRAVS DE BUSCAS

2. MTODOS DE BUSCA.

2.1. MTODOS DE BUSCA CEGA Busca cega ou busca exaustiva (Exhaustive Search) um meio de resoluo de problemas onde a idia transformar um problema de raciocnio diretamente em um problema de navegao num espao de estados, no qual, a partir de um estado inicial, pode-se buscar uma seqncia de aes que conduzem ao estado final desejado. A soluo tima o conjunto de seqncia de aes que leva ao estado final desejado com o menor custo. Na busca cega, no se sabe qual o melhor n da fronteira (ltimos ns alcanados pela funo) a ser expandido (aquele que acarreta um menor custo at o objetivo). Contudo, pode-se utilizar de estratgias de busca, definidas pela ordem de expanso dos ns. A avaliao do desempenho destas estratgias se d verificando a completude (sempre encontra uma soluo, se ela existe), a complexidade do tempo (em funo do nmero de ns gerados/expandidos), a

complexidade do espao (em funo do nmero mximo de ns armazenados em memria) e a otimizao (sempre encontra a soluo de menor custo). As principais estratgias de busca cega so: Busca em Largura, Busca em Profundidade, Busca em Profundidade Limitada e Busca de Aprofundamento Iterativo.

2.1.1. MEDIDA DE DESEMPENHO NA BUSCA

A complexidade do tempo e do espao so medidas em termos de um fator mximo de ramificao da rvore de busca ( b branching), da profundidade da soluo de menor custo ( d depth) e da profundidade mxima do espao de estados ( m). Fator de ramificao: b (nmero mximo de sucessores de qualquer n); Profundidade do n objetivo menos profundo: d tempo: medido em termos do nmero de ns gerados durante a busca espao: nmero mximo de ns armazenados.

2.1.2. BUSCA EM LARGURA A Busca em Largura expande sempre o n menos profundo ainda no expandido; completa desde que d seja finito, seu tempo da ordem de bd+1, tal qual o espao, e em geral no tima, exceto quando o custo constante a cada passo. Na busca em largura temos (Figura 3): 1. Expande-se o n raiz; 2. Expande-se todos os ns gerados pelo raiz; 3. Todos os ns na profundidade d so expandidos antes dos ns na profundidade d+1.

Figura 3: Ordem de expanso dos ns na busca em largura

2.1.3. BUSCA DE CUSTO UNIFORME Modifica a busca em largura expandindo o n da fronteira com menor custo de caminho na fronteira do espao de estados cada operador pode ter um custo associado diferente, medido

pela funo g(n), para o n n, onde g(n) d o custo do caminho da origem ao n n (Figura 4). A Busca de Custo Uniforme expande sempre o prximo n ainda no expandido que possui caminho de menor custo; completa, desde que o custo de cada n seja diferente de 0, o tempo e o espao so iguais ao nmero de ns com custo(n) menor que o custo(soluo tima), e tima, j que os ndulos expandem em ordem crescente de custo(n).

Figura 4: Ordem de expanso dos ns na busca de custo uniforme

2.1.4. BUSCA EM PROFUNDIDADE A Busca em Profundidade expande sempre o n mais profundo ainda no expandido; no tima, pois falha em rvores de profundidade infinita (nesse caso pode-se arbitrar um limite de profundidade Busca em Profundidade Limitada), seu tempo O(bm), seu espao O(b*m), ou seja, crescimento linear, e no tima, devendo ser evitada em rvores muito profundas ou profundidade infinita.

A busca em profundidade progride atravs da expanso do primeiro n filho da rvore de busca, e se aprofunda cada vez mais, at que o alvo da busca seja encontrado ou at que ele se depare com um n que no possui filhos - n folha (). Ento a busca retrocede (backtrack) e comea no prximo n. Numa implementao explorao. no-recursiva, todos os ns expandidos

recentemente so adicionados a uma pilha, para realizar a

Figura 5: Ordem de expanso dos ns na busca em profundidade

2.1.5. BUSCA EM PROFUNDIDADE ITERATIVA A Busca de Aprofundamento Iterativo uma variao da Busca em Profundidade, que utiliza um limite de profundidade L, que inicia em 0 e vai sendo incrementado de 1 a cada iterao. completa desde que d seja finito, seu tempo da ordem de bd, o espao O(b*d), e em geral no tima, exceto quando o custo constante a cada passo; o mtodo de busca cega preferido para grandes espaos de busca e quando a profundidade da soluo desconhecida.

Figura 6: Ordem de expanso dos ns na busca em profundidade iterativa

2.2. BUSCA COM INFORMAO Diferentemente da Busca Exaustiva, onde no se sabe qual o melhor n de fronteira a ser expandido, a Busca Heurstica estima qual o melhor n da fronteira a ser expandido com base em funes heursticas, tornando-se assim uma busca no exaustiva do espao de estados, utilizando atalhos para sua explorao que descartam subespaos sem explor-los. Em contrapartida, muitas vezes no se tem a garantia de sempre encontrar a melhor soluo ou at uma soluo em todas as instncias do problema. Heursticas tratam de mtodos em que, embora a explorao seja feita de forma algortmica, o progresso obtido pela avaliao do resultado usando alguma informao contida no problema. Alguns algoritmos de busca heurstica global so: Busca gulosa, A*, RBFS, e SMA*.

2.2.1. BUSCA GULOSA O algoritmo da busca gulosa pela melhor escolha tem como estratgia expandir o n supostamente mais prximo a origem (heurstica), atravs de uma estimativa. A distncia do n a

expandir ao objetivo estimada atravs de uma funo heurstica. Mas esta estratgia sofre dos mesmos problemas da Busca Exaustiva (cega) em Profundidade, fazendo com que ela no seja completa (pois pode ocorrer loops, por exemplo), no seja tima (no encontra o menor caminho at o objetivo), e um pior caso de tempo e espao da ordem de bm (b = fator de ramificao da rvore, e m = profundidade mxima do espao de estados). Para melhor entendimento, vejamos o tradicional problema de clculo da distncia entre as cidades Romenas de Arad Bucharest (mapa da Figura 7) atravs dessa busca.

Figura 7: Mapa com as distncias entre as cidades da Romnia

Considere tambm o quadro a seguir que exibe a menor distncia, em linha reta, at a cidade de Bucarest (Tabela 1). Escolhe-se a rota com a menor distncia, (quadro anterior): Primeiro passo: Saindo da cidade de Arad (n raiz), o algortmo pode conduzir s cidades de Zerind, Timisoara e Sibiu. Em linha reta, Timisoara est a 329 km de Buscarest; Zerind a 374 e Sibiu a 253. Aparentemente, esse ltimo caminho a melhor escolha.

Segundo passo: Partindo de Sibiu, Pode-se chegar s cidades de Fagaras e Rimnicu Vilcea. Fagaras est a 178 km de Bucarest e a Rimnicu Vilcea a 193. Aparentemente o melhor caminho passa por Fagaras.
Tabela 1: Distncia em linha reta a at Bucarest

Cidade Arad Bucharest Craiova Dobreta Eforie Fagaras Giurgiu Hirsova Iasi Lugoj

Distncia 366 0 160 242 161 178 77 151 226 244

Cidade Mehadai Neamt Oradea Pitesti Rimnicu Sibiu Timisoara Urziceni Vaslui Zerind

Distncia 241 234 380 98 193 253 329 80 199 374

Resultado do caminho escolhido pela busca gulosa: Arad>Sibiu->Fagaras->Bucarest (Figura 8).

Figura 8: Resultado do caminho escolhido pela busca gulosa

2.2.2. ALGORITMO A* O algoritmo A* busca expandir o n com menor valor Custo(Caminho) na fronteira do espao de estados, utilizando a heurstica Custo(Caminho) = Custo(Caminho Percorrido) + Custo(Caminho Restante) (f(n) = g(n) + h(n)), o que permite uma simplificao, eliminando caminhos redundantes. Como a explorao em uma rvore de busca de largura primeira, este

algoritmo tem vantagens e limitaes parecidas busca cega de custo uniforme. uma estratgia completa, quando a heurstica admissvel, isto , quando ela sempre subestima o custo real (Custo(Caminho Percorrido)), para todo n. Da mesma forma, tima para heursticas admissveis, garantindo mais eficincia do que qualquer outro algoritmo completo e timo usando a mesma heurstica, e seu tempo e espao so no pior caso O(bd), onde d = profundidade da soluo de menor custo. Retornando ao exemplo da busca gulosa (Figura 7),

poderemos, realmente, encontrar a rota mais curta entre Arad e Bucarest, tendo em vista que a reduo ao mnimo de f(n) = g(n) + h(n) combina as vantagens da busca com custo uniforme e a busca gulosa. Quando se repetem os estados que so analisados e se assegura que h(n) nunca faa uma superestimativa, encontramos o melhor caminho, segundo a busca A*. g(n) = Custo da rota de partida ao n n h(n) = Custo da rota mais barata que vai de n meta f(n) = Custo estimado da soluo mais barata passando por n f(n)= g(n) + h(n)

Vejamos como o diagrama da viagem de Arad a Bucarest por meio da busca A*:

Figura 9: Diagrama da viagem de Arad a Bucarest por meio da busca A*

Onde g(n) = rota inicial at n e h(n) = unidade estabelecida no quadro de distancias em lnha reta a Bucarest. Explicando: Primeiro passo: Saindo da cidade de Arad (n raiz), o algortmo pode conduzir s cidades de Timisoara, Zerind ou Sibiu. Timisoara est a 118 km de Arad e a 329, Em linha reta, de Bucarest: total = 447; Zerind est a 75 km de Arad e a 374, Em linha reta, de Bucarest: total = 449; Sibiu est a 140 km de Arad e a 253, Em linha reta, de Bucarest: total = 393; Sibiu a primeira escolha do algortmo A*. Partindo de Sibiu, o algortmo pode conduzir s cidades de Fagaras ou Rimnicu Vilcea. Fagaras est a 239 km de Arad e a 178, Em linha reta, de Bucarest: total = 417. Rimnicu Vilcea est a 220 km de Arad e a 193 (via Pitesti), em linha reta de Bucarest: total = 413. Rimnicu Vilcea est a 220 km de Arad e a 146 de Craiova que, em linha reta de Bucarest, dista 160 km fazendo um total de 526km. Resultado do caminho escolhido pelo algortmo A*: Arad>Sibiu->Rimnicu Vilcea->(via Pitesti)->Bucarest

2.2.3. RECURSIVE BEST-FIRST-SEARCH (RBFS)

Este algoritmo A* tem algumas extenses, que tem o objetivo de limitar nmero de ns guardados na memria, j que o A* guarda todos os ns expandidos durante a busca. So eles: IDA*, que semelhante busca em aprofundamento iterativo, mas com a diferena de que o limite de expanso dado por f(n) e no por d; Recursive Best-First-Search (RBFS), semelhante busca recursiva em profundidade, com a diferena de que no desce indefinidamente na explorao, havendo um controle da recurso pelo valor de f(n), e se existir algum n em um dos ancestrais que oferea melhor estimativa que o n atual, a recurso retrocede e a busca continua no caminho alternativo, sendo assim completa e tima quando a heurstica admissvel, com espao O(bd) no pior caso e tempo difcil de se estimar.

2.2.4. SMA* (SIMPLE LIMITED MEMORY A*) O SMA utiliza toda a memria disponvel, e quando a memria est cheia, ele elimina o pior n folha (maior custo de f(n)) para continuar a busca, e completa e tima quando a memria alocada suficiente. O desempenho da busca deve est condicionado qualidade da funo heurstica, que deve ser admissvel e ter alta preciso (qualidade da distncia do n corrente ao n objetivo).

2.3. BUSCA COMPETITIVA Em comparao com os problemas e algoritmos

apresentados at aqui, a presena de oponentes torna o problema de deciso em Inteligncia Artificial mais complicado e interessante. Os problemas apresentados nos algoritmos anteriores apenas tinham em conta contingncias como o espao em memria e o tempo disponvel. O oponente introduz incerteza e no toma

decises sorte, tentar sim, jogar de forma minimizar o nmero de jogadas ruins para si. Mas o que torna os jogos realmente mais interessantes e diferentes dos restantes problemas na Inteligncia Artificial o fato serem muito mais difceis de resolver, o xadrez, por exemplo, tem um fator de ramificao em cada jogada de 35, e nos jogos o nmero de jogadas mdias por jogador chegas s 50. Logo a rvore de pesquisa ter cerca de 35100 ns. Assim facilmente se conclui que a incerteza dos jogos no se deve ao fato de haver falta de informao mas sim com o fato de no haver tempo de calcular todas as hipteses ou ramificaes possveis. Levando a que cada jogador decidida, tentando adivinhar a melhor jogada baseando-se em

conhecimento anterior. Nesta sesso sero apresentadas tcnicas para escolher uma boa jogada (busca competitiva) em jogos atravs de cortes nas rvores de estados (corte ou poda alfa-beta) e da avaliao heurstica de estados, permitindo assim evitar a pesquisa em ramos que no so relevantes para a escolha final, sem realizar uma pesquisa completa na rvore de todas as jogadas possveis.

2.3.1.

DECISES PERFEITAS EM JOGOS COM

DOIS ADVERSRIOS (ALGORTIMO MIN-MAX) O algoritmo MIN-MAX aplica-se quando existem dois agentes, MAX e MIN, jogando um de cada vez. O jogador Max joga primeiro, e no fim ser atribuda uma pontuao a cada um dos jogadores, mediante as decises tomadas por ambos. A soma nula , ou seja o que um ganha o outro perde e a informao completa pois os agentes conhecem as aces um do outro. Os componentes de procura so os seguintes:

Estado Inicial - que inclui as posies no tabuleiro e a identificao de quem ir jogar. Funo Sucessor ou Operadores - retorna os ns resultantes dos movimentos legais. Teste Terminal - que determina se o jogo acabou. Funo de Utilidade - atribui valores aos estados terminais, avaliando numericamente o resultado final do jogo para cada um dos jogadores.

No caso do Jogo da Velha, a Funo de Utilidade pode atribuir trs valores diferentes aos ns terminais: 1 se o jogador ganha; 0 se o jogador empata; -1 se o jogador perde. O mtodo de busca consiste na ideia de maximizar a utilidade (ganho) supondo que o adversrio vai tentar minimiz-la. O Minimax faz busca cega em profundidade, o agente Max e o adversrio Min (Figura 10).

Figura 10: Algortimo Min-Max no jogo da velha

Se fosse o caso de se tratar de uma pesquisa normal, bastava percorrer-se a rvore at aos nodos terminais e escolher o

caminho que levasse ao nodo com maior valor de utilidade. Mas no assim, visto existir outro jogador. Assim, necessrio, escolher a partir de cada nodo filho, o menor valor de utilidade, e copi-lo para o nodo pai, recursivamente at ao nodo inicial. Isto deve-se ao fato, de o jogador MIN tentar minimizar o ganho do jogador MAX, pelo que ele tentar escolher a jogada, dentro das possveis, que d menos pontos ao jogador adversrio. Observando a Figura 11 podemos observar que apesar de o jogador MAX querer obter o maior valor possvel (14 pontos), ele no poder seguir pelo caminho A3, pois o jogador MIN, como resposta, poder seguir o caminho A33, o que far com que o jogador MAX obtenha uma pontuao de 2 pontos. Assim sendo, aps terem sido copiados o menor dos valores dos ns filhos para os ns pais (que representam as melhores jogadas possveis do jogador MIN), o jogador MAX, ir escolher o n com o maior valor dentro destes.

Figura 11: Evoluo do Algortitmo MIN-MAX

gerada inicialmente uma rvore de todas as jogadas e as respectivas respostas de cada jogador, depois aplicado um valor de utilidade aos ns finais, e atravs destes valores decidido que valores iro ser atribudos aos ns pais, de acordo com o interesse do jogador MIN, isto , selecionar sempre o menor valor.

No topo da rvore, ir ser selecionado o caminho a partir do n filho que possua o maior valor, de acordo com o interesse do jogador MAX. O Algoritmo Mini-Max completo apenas no caso de a rvore for finita, timo se jogarmos contra um adversrio timo e se no for esse o caso, o MAX jogar ainda melhor. Quanto complexidade no tempo, O (bm), onde, b o fator de ramificao e m a profundidade e complexidade no espao O (bm) explorao primeiro em profundidade, a complexidade vai de encontro com o tipo de jogo em questo, ou seja, ir variar consoante o nvel de dificuldade do jogo. Exemplo o jogo de xadrez tem um nvel de dificuldade muitssimo superior ao do jogo da velha o que leva ao fato do nvel de complexidade no caso do jogo de xadrez ser muito mais elevado. Logo perceptvel que o problema invivel para qualquer jogo minimamente complexo.

2.3.2. CORTE ALPHA-BETA O algoritmo Corte Alpha-Beta, tem como funo, limitar a expanso de ns desnecessrios, pelo algoritmo MiniMax. Este inicia-se aplicando o algoritmo MiniMax, que faz uma pesquisa Depth-First. Quando so encontrados todos os ns terminais

de uma ramificao, escolhido o menor valor destes que ir ser chamado de . = melhor valor no caminho para MIN Este valor ira ser copiado para o n pai, sucessivamente at chegarmos primeira ramificao de MAX (primeiro caminho possvel de MAX). E , que se encontra no primeiro n da rvore, tomar ento o valor de , no n inicial de MAX. = melhor valor no caminho de MAX

De seguida, d-se continuidade expanso da rvore, at se encontrar outro n terminal, atribuindo-se um novo valor a . ento realizada uma comparao do valor deste n, , com o de . Caso seja inferior, no necessrio continuar a expanso do respectivo n pai, visto que, este ir sempre ter um valor inferior ao caminho anteriormente encontrado para MAX. Este valor comparado com o valor de . Caso seja menor que , no so expandidas mais ramificaes desse n (corte dos restantes ns), visto o caminho no interessar a MAX, e o valor copiado para o n pai. Caso o valor de seja igual ou superior a , d-se continuidade pesquisa do prximo n terminal.

Figura 12: Corte alpha-beta

UNIDADE II RESOLUO DE PROBLEMAS ATRAVS DE BUSCAS

3. EXERCCIOS
1. Defina o que vem a ser um problema para IA com explicando os termos, espao de estados, estado inicial, estado final, aes, custo de caminho e soluo tima. 2. Quais so as diferenas entre busca cega e busca com informao? 3. Considere a seguinte rvore de busca:

Faa a simulao dos seguintes algoritmos de busca mostrando os estados sucessivos da lista de ns a expandir (considere que os ns so visitados da esquerda para a direita). a. b. c. Profundidade. Extenso. Profundidade Iterativa nveis 2 e 3

4. Quais so os principais critrios de avaliao de uma estratgia de busca? Explique cada um deles. 5. Assinale V (verdadeiro) ou F (falso) para as seguintes afirmativas: a. ( ) O uso de informaes amenizam o problema da explorao cega dos algoritmos de busca.

b. ( ) O algoritmo de busca em profundidade utiliza mais memria que o de busca em largura. c. ( ) Busca uma tcnica da IA que serve para solucionar qualquer problema que possa ser visto como um espao de busca, isto , como um conjunto de estados e trasies. Porm, em alguns problemas esse espao difcil de ser definido. d. ( ) O teste de Turing serve para verificar se algo foi construdo com tcnicas de IA. e. ( ) No caso da busca heurstica, se o clculo do valor de h for sempre 0, a busca heurstica se comporta exatamente como a busca em largura com custo. 6. Considere a rvore de jogo de profundidade 3 e fator de ramificao 3 abaixo.

Para

responder

questo

objetiva,

execute

obrigatoriamente os passos indicados abaixo. A questo objetiva somente ter valor se os seguintes passos forem executados. a. Encontre os valores minimax do n raiz (estado inicial), utilizando a poda alfa-beta. Comece a explorao pela ramificao mais abaixo, indicada por um *. b. Circule os ns que no so necessrios para a avaliao do valor-minimax do n raiz. c. Quantas avaliaes de folhas so necessrias para encontrar o valor-minimax do n raiz? 7. Considere as seguintes colocaes: a. A busca minimax do tipo em profundidade; ento, em qualquer instante temos de considerar os ns ao longo dos vrios caminhos na rvore, independente do n ser de MIN ou de MAX. b. A efetividade (eficincia) do algoritmo minimax altamente dependente da ordem em que os sucessores so examinados. c. O algoritmo alfa-beta permite podar grandes partes do espao de busca do jogo inteiro, conseqentemente ele no tem de fazer a busca em toda a distncia at os estados terminais. d. O algoritmo minimax no timo, pois ele gera o espao de busca do jogo inteiro. Marque a alternativa correta: i. ii. iii. iv. v. Somente III e IV esto corretas Somente II e III esto corretas Somente I, III e IV esto corretas Somente IV esto corretas Todas esto erradas.

8. Descreva, com suas palavras, o algoritmo de poda alfabeta.

9. Explique cada uma das estratgias abaixo, destacando qual n da fronteira escolhido, como a fronteira se comporta e o desempenho para cada uma delas: a. Busca por custo uniforme (menor primeiro) b. Busca heurtica pelo melhor primeiro (gulosa) c. Busca heurstica em profundidade d. Busca A* 10. Crie uma funo heurstica h para o quebra-cabea de 8 peas que as vezes realize estimativas exageradas (d um exemplo pelo menos), e mostre como ela pode levar o algoritmo A* a uma soluo no tima em um problema especfico. Prove que, se a funo h nunca superestimar por um valor maior que c, A* usando h retornar uma funo cujo custo excede o da soluo tima por no mais que c.

UNIDADE II RESOLUO DE PROBLEMAS ATRAVS DE BUSCAS

4. WEBLOGRAFIA

Universidade Aberta do Piau UAPI http://www.ufpi.br/uapi Universidade Aberta do Brasil- UAB http://www.uab.gov.br Secretaria de Educao a Distncia do MEC SEED http://www.seed.mec.gov.br Associao Brasileira de Educao a Distncia ABED http://www.abed.org.br Instituto Sem Fronteiras (ISF) http://www.isf.org.br/ Busca em Espao de Estados http://www.scribd.com/Busca-Espaco-Estados-InteligenciaArtificial/d/26828107 Definio de problema http://www.cin.ufpe.br/~vtc/Res04.doc Agentes Baseados em Conhecimento http://www.cin.ufpe.br/~lms4/SI/resumosAulas.doc Resolues de Problemas http://www.professeurs.polymtl.ca/michel.gagnon/Disciplinas/Ba c/IA/ResolProb/resproblema.html

UNIDADE II RESOLUO DE PROBLEMAS ATRAVS DE BUSCAS

5. REFERNCIAS BIBLOGRFICAS

RUSSEL, Stuart; NORVIG, Peter: Campus, So Paulo, 2004. 1040p BITTENCOURT, Guilherme:

Inteligncia Artificial.

Inteligncia

Artificial

Ferramentas e Teorias. Florianpolis, 2001. 362p

Editora da UFSC. 2. Edio.

RICH, Elaine; KNIGHT, Kevin: Inteligncia Artificial. Makron Books. 2. Edio. So Paulo, 1994. 722p.

UNIDADE III APRENDIZAGEM DE MQUINA

RESUMO Uma das formas de fazer o ser humano melhorar continuamente a realizao de suas tarefas o processo de aprendizado. Quanto mais se aprende melhor capacidade de se realizar uma determinada ao. A aprendizagem de mquina, estudada nesta unidade, proporciona diversos mecanismos para que sistema computacional possa aprender e assim, melhorar seu desempenho a cada execuo. Aqui estudaremos algumas das diferentes abordagens da chamada aprendizagem de mquina que possibilitaro tal aprendizado. Em um primeiro momento veremos as diferenas entre aprendizagem supervisionada e no-supervisionada. Em

seguida mostrado os conceitos que norteiam os estudos da aprendizagem por reforo. Falaremos ainda dos fundamentos terico das redes neurais umas das tcnicas mais pequisadas atualmente e suas principais aplicaes. Encerraremos esta unidade mostrando como funcionam os algoritmos genticos. Os exerccios complementam o que foi estudado atravs de situaes prticas e reforo na teoria apresentada.

SUMRIO

UNIDADE III APRENDIZAGEM DE MQUINA

UNIDADE III APRENDIZAGEM DE MQUINA

1. APRENDIZAGEM DE MQUINA.
O aprendizado de mquina (AM) um segmento da Inteligncia Artificial que possui um elemento essencial para um comportamento inteligente, a capacidade de aprendizado. A rea de AM responsvel por pesquisar mtodos computacionais adequados para a aquisio de novos conhecimentos, novas habilidades e novas formas de

organizao do conhecimento j existente. O aprendizado possibilita que o sistema faa a mesma tarefa ou tarefas sobre uma mesma populao de uma maneira mais eficiente a cada execuo. O campo do aprendizado de mquina concebido pela 1997]. Segundo Batista: Aprendizado de Mquina AM uma subrea de pesquisa muito importante em inteligncia Artificial IA pois a capacidade de aprender essencial para um comportamento inteligente. AM estudo mtodos computacionais para adquirir e novos novos conhecimentos, meios de novas o questo de como construir programas, que

automaticamente melhoram com a sua experincia [Michell,

habilidade

organizar

conhecimento j existente. (2003, p. 11).

1.1. APRENIZADO SUPERVISIONADO O aprendizado supervisionado ocorre quando os conjuntos de exemplos so fornecidos ao sistema com suas respectivas classes, com isto objetiva-se classificar os novos conjuntos

ainda no rotulados. O problema deste modo encontrar um conjunto de exemplos satisfatrio que permita esta condio. Aprendizado supervisionado (Atividades de Predio): Classificao: definidas Regresso: previso de um valor numrico contnuo previso de classes discretas pr-

O algoritmo de aprendizado (indutor) recebe um conjunto de exemplos de treinamento para os quais os rtulos da classe associada so conhecidos. Cada exemplo (instncia ou padro) descrito por um vetor de valores (atributos) e pelo rtulo da classe associada. O objetivo do indutor construir um classificador que possa determinar corretamente a classe de novos exemplos ainda no rotulados.

1.1.1. EXEMPLO:

ABORDAGEM COM BASE

EM

RVORES DE DECISO um mtodo de aprendizagem supervisionado que constri rvores de classificao a partir de exemplos (ID3, C4.5, [Quinlan, 1986], CART [Breiman, 1986]). Os mtodos baseados em rvores para classificao, dividem o espao de entrada em regies disjuntas para construir uma fronteira de deciso. As regies so escolhidas baseadas em uma otimizao heurstica onde a cada passo os algoritmos selecionam a varivel que prov a melhor separao de classes de acordo alguma funo custo. Algoritmo ID3 ID3 um algoritmo simples que constru uma rvore de deciso sob as seguintes premissas: Cada vrtice (n) corresponde a um atributo, e cada aresta da rvore a um valor possvel do atributo. Uma folha da rvore

corresponde ao valor esperado da deciso segundo os dados de treino utilizados. A explicao de uma determinada deciso est na trajetria da raiz a folha representativa desta deciso. Cada vrtice associado ao atributo mais informativo que ainda no tenha sido considerado. Para medir o nvel de informao de um atributo se utiliza o conceito de entropia da Teoria da Informao. Menor o valor da entropia, menor a incerteza e mais utilidade tem o atributo para a classificao. Passos para construo de uma rvore de deciso: 1. Seleciona um atributo como sendo o nodo raiz ; 2. Arcos so criados para todos os diferentes valores do atributo selecionado no passo 1; 3. Se todos os exemplos de treinamento sobre uma folha pertencerem a uma mesma classe, esta folha recebe o nome da classe. Se todas as folhas possuem uma classe, o algoritmo termina; 4. Seno, o nodo determinado com um atributo que no ocorra no trajeto da raiz, e arcos so criados para todos os valores. O algoritmo retorna ao passo 3. Tomemos como exemplo os dados da Tabela 2. A classe selecionada para esse caso emprstimo (sim/no). A Figura 13 apresenta um exemplo de rvore de Deciso, na qual constam os dados da Tabela 2 que relatam as condies para uma pessoa receber um emprstimo. Nesse caso existem duas possveis classes: Sim (receber emprstimo) e No (no receber emprstimo). O atributo Montante foi selecionado primeiro pois maior ganho de informao, ou seja quando selecionado o baixo o algortimo j consegue classificar como emprstimo a ser concedido, independente de qualquer para atributo/valor da tabela.

A base de dados dividida entre os dados que possuem montante=mdio e montante=alto. Para cada uma dessas subdivises escolhido outro atributo, aquele que tiver maior ganho de informao. E assim sucessivamente. No exemplo da Figura 13 para o ramo montante=mdio foi escolhido o atributo salrio e para o ramo montante=alto foi escolhido o atributo conta.
Tabela 2: Tabela de dados sobre concesso de emprstimo

caso 1 2 3 4 5 6 7 8 9 10 11 12 13 14

montante mdio mdio baixo alto alto alto baixo mdio mdio alto mdio baixo baixo alto

idade snior snior snior mdia jovem jovem jovem mdia jovem mdia mdia jovem snior mdia

salrio baixo baixo baixo baixo alto alto alto baixo alto alto alto baixo alto baixo

conta sim no sim sim sim no no sim sim sim no no sim no

emprstimo no no sim sim sim no sim no sim sim sim sim sim no

A classificao, nesse caso, resulta numa estrutura de rvore, que pode ser usada para todos os objetos do conjunto [BRADZIL, 1999].

Figura 13: Exemplo de uma rvore de Deciso para concesso de emprstimo

1.2. APRENIZADO NO-SUPERVISIONADO O modo de aprendizagem no-supervisionado supe que o conjunto de exemplos no est rotulado, com isto o sistema tenta classificar estes conjuntos agrupando os semelhantes em determinadas classes. Aprendizado no-supervisionado (Atividades de Descrio): Agrupamentos: aglomerados; Associao: Deteco de associaes entre atributos; agrupar instncias similares em

O indutor analisa os exemplos fornecidos e tenta determinar se alguns deles podem ser agrupados de alguma maneira, formando agrupamentos ou clusters. Aps a determinao dos agrupamentos, em geral, necessrio uma anlise para determinar o que cada agrupamento significa no contexto problema sendo analisado.

1.2.1. EXEMPLO: CLUSTERIZAO CONCEITUAL A partir de um conjunto de descries de objetos (eventos, observaes, fatos) produz um esquema de classificao sobre esses dados. O chamado aprendizado por observao usa uma funo para descobrir classes com boa descrio conceitual. Tambm conhecido como Taxonomia Numrica, pois envolve a produo de uma hierarquia de classe, usando medida matemtica de similaridade entre as instncias. O agrupamento conceitual foi Introduzido inicialmente por [Michalski,1980] como um processo de construo de uma rede de conceitos. Caracteriza uma coleo de objetos com ns associados a conceitos, descrevendo classes de objetos e links associados s relaes entre as classes. Podemos definir agrupamento conceitual como: Dado:

o Um conjunto de objetos. o Um conjunto de atributos usados para

caracterizar os objetos. o Um corpo de conhecimento adquirido - incluindo problemas de restries, propriedades dos

atributos, critrios para avaliao de qualidade da classificao construda. Encontrar: o Uma hierarquia de classes de objetos o Cada n deve formar um conceito coerente Compacto Facilmente representado em termos de uma definio ou regra que tenha uma interpretao natural para humanos Tomemos como exemplo descrio de animais da Tabela 3.
Tabela 3: Base de Dados sobre caractersticas do corpo dos animais

Como no h uma classe indicada como no algoritmo supervisionado feito uma agrupamento por semelhana dos registros. Um exemplo dessa classificao pode ser vista na Figura 14.

Figura 14: Agrupamento - Base de dados de caractersticas dos animais

Cobweb O Cobweb [Fischer, 1987] um mtodo de agrupamento incremental do tipo rvore de classificao, cujos ns so conceitos probabilsticos, onde os objetos so inseridos um a um. Em cada n se guardam as probabilidades (no. de instncias e nmeros de exemplos contidos em cada classe). Baseado no princpio de que um bom agrupamento deve minimizar a distncia entre objetos em um grupo

(Similaridade inter-grupo) e maximizar a distncia entre objetos de grupos diferentes ( Similaridade intra-grupo). Sendo assim o objetivo do COBWEB encontrar um bom equilbrio entre essas distncias, sendo uma troca entre a similaridade intra-grupo e a dissimilaridade inter-grupo dos objetos. Ao tentar classificar um objeto o algoritmo faz quatro operaes: Insero: Determinar que categoria 'melhor' hospeda um objeto novo. Criar nova classe: Cria um novo agrupamento para o objeto Combinar: Combina duas classes e coloca o novo objeto nela.

Diviso: Divide uma classe e coloca o objeto em ambas as classes.

Para cada uma das operaes calculado o Category Utility (C.U.) a operao que tiver o maior valor de C.U. ser executada. Essa mtrica favorece a criao de conceitos que maximizam o potencial de inferncia sobre informaes. [Rebolsas & Furtado, 2004] Category Utility para uma partio de conceitos (CU({C1,C2,..., Cn})) :

UNIDADE III APRENDIZAGEM DE MQUINA

2. APRENDIZAGEM POR REFORO.


Aprendizagem por Reforo (AR) permite ao agente adquirir uma capacidade de conhecimento do ambiente que no estava disponvel em tempo de projeto [Sutton & Barto, 2002]. AR baseada na existncia de um crtico externo ao ambiente, que avalia a ao tomada, mas sem indicar explicitamente a ao correta. Formalmente, AR utiliza uma estrutura composta de estados, aes e recompensas conforme mostra a Figura 15.

Figura 15: Diagrama da Aprendizagem por Reforo

O agente atua em um ambiente descrito por um conjunto de possveis estados e pode executar, para cada estado, uma ao dentro de um conjunto de aes possveis, recebendo um valor de reforos a cada vez que executa uma ao. Este reforo indica o valor imediato da transio estado-ao-novo estado. Ao longo do tempo, este processo produz uma seqncia de pares estado-ao, e seus respectivos valores de reforos. O objetivo do agente aprender uma poltica que maximize uma soma esperada destes reforos a longo prazo. Uma considerao importante a ser feita quando se lida com AR conflito explorao X explotao. O agente deve lidar

com o problema de haver um compromisso entre escolher a explorao de estados e aes desconhecidos, de modo a coletar nova informao, ou a explotao de estados e aes que j foram aprendidos e que iro gerar altas recompensas, de modo a maximizar seus reforos. Sendo assim, por um lado o agente deve aprender quais aes maximizam os valores das recompensas obtidas no tempo, e, por outro, deve agir de forma a atingir esta maximizao, explorando aes ainda no executadas ou regies pouco visitadas do espao de estados. importante, portanto, estabelecer uma poltica mista de explotao e explorao (poltica -greedy), que inclua a escolha intencional (com probabilidade ) de se executar uma ao que no considerada a melhor no estado atual, visando a aquisio de conhecimentos a respeito de estados ainda desconhecido ou pouco visitados. A escolha desta ao ocorre de forma aleatria. Em uma poltica de explotao pura (greedy) escolhem-se as aes que se julguem (talvez erroneamente, caso o algoritmo de AR ainda esteja longe da convergncia) serem as melhores para resolver o problema.

2.1. ELEMENTOS BSICOS DA APRENDIZAGEM POR REFORO Alm de agente e ambiente, pode-se identificar quatro elementos fundamentais: Poltica (de controle ou de tomada-de-deciso) Funo ganho (reward function) Funo valor (value function) Modelo do ambiente (opcional)

A Poltica de Controle define o comportamento do agente sendo uma funo de estados para aes Ao = p(estado). A poltica pode ser simplesmente uma tabela ou, em outros casos, pode envolver computaes complexas.

Em geral polticas podem ser estocsticas2. No estado s, a probabilidade de se tomar a ao a dada por p(s,a). A funo ganho define a meta em um problema AR. Ela associa um estado (ou par estado-ao) do ambiente a um nmero, denominado ganho. O objetivo do aprendiz maximizar o ganho acumulado em longo prazo. Enquanto a funo ganho indica os movimentos promissores imediatos, a funo valor estado indica o ganho total que pode ser acumulado no futuro se iniciarmos no estado em considerao A funo valor indica o ganho acumulado em longo termo a partir de um estado, levando em conta os estados que sucedem o estado em considerao: V(s) = E[rt+1 + rt+2 + rt+3 + : st = s] J o Modelo do Ambiente imita o comportamento do prprio ambiente. Dados o estado e a ao, o modelo antecipa o prximo estado e o ganho Estado corrente no instante t: s Ao a ser tomada: a Modelo antecipa o prximo estado: P(st+1=s' | st= s, at = a) Esses modelos so usados para planejamento (qualquer mtodo para decidir um curso de ao ao considerarmos situaes futuras antes de encontr-las). Existem duas classes de modelos: Especificado atravs de equaes do Processo de Deciso Markoviano e o definido implicitamente, que no caso usa-se um simulador.
2

Padres estocsticos so aqueles que surgem por meio de eventos aleatrios. Por exemplo, o lanar de dados resulta em numricos estocsticos, pois qualquer uma das 6 faces do dado tem iguais probabilidades de ficar para cima quando de seu arremesso.

O modelo de equaes representado como segue: Espao de estados Conjunto de aes que podem ser tomadas em cada estado: o A(s) para s S Probabilidades de transio: o P(st+1= s' | st = s, at = a) Ganhos: o P(rt+1 = r | st+1 = s', st = s, at = a) Em outro modelo desenvolve-se um simulador do ambiente. Dado o estado corrente st e a ao at, o simulador responde com o prximo estado st+1 e o ganho rt+1

2.2. EXEMPLO: JOGO DA VELHA Considere como cenrio para o exemplo do jogo da velha um jogador experiente que jamais perde e considere um adversrio imperfeito, que s vezes toma decises incorretas. A questo : Como poderamos construir um jogador artificial que identifica as imperfeies do oponente e apre nde a maximizar as chances de vitria? Para responder essa questo temos que projetar um aprendiza que identifica as imperfeies do oponente e aprende a maximizar as chances de vitria. Uma soluo satisfatria no pode ser obtida atravs de tcnicas clssicas. A tcnica MiniMax, por exemplo, baseada na teoria dos jogos, assume um comportamento particular do oponente. Os mtodos de otimizao para problemas de deciso sequencial

(programao dinmica) so capazes de calcular uma soluo tima. Contudo, eles exigem uma especificao completa do oponente, incluindo distribuies de probabilidade de seus movimentos.

O comportamento do adversrio pode no ser conhecido a priori, mas podemos identific-lo a partir das seguintes interaes: o Jogar com o oponente e identificar o modelo, at um certo nvel de confiana o Aplicar tcnicas de programao dinmica para calcular a poltica de deciso tima Como podemos observar a aprendizagem de mquina no muito diferente dos passos acima. Aplicando AR ao jogo da velha o Criamos uma tabela de nmeros, V(s), com uma entrada para cada estado s do jogo o V(s) a estimativa mais recente de vencermos o jogo a partir do estado s o V(s) o valor do estado s o A tabela V representa a funo valor Um estado s1 considerado melhor do que um estado s2, se V(s1) > V(s2). Uma linha com trs Xs tem probabilidade 1 de vitria j ganhamos o jogo. Uma linha com trs Os tem probabilidade 0 de vitria o jogo j est perdido. Para os demais estados, chutamos probabilidade de vitria. Na maioria das vezes selecionamos o movimento que nos leva ao estado com maior valor, ou seja, o estado com maior probabilidade de vitria (explotar). Ocasionalmente,

selecionamos aleatoriamente dentre os demais movimentos possveis (vasculhar / explorar). Enquanto jogamos, atualizamos a tabela V e tentamos obter estimativas mais precisas das probabilidades de vencer. Para tanto, atualizamos o valor do estado aps cada movimento guloso (explotao). O valor corrente ajustado para se tornar mais prximo do ltimo valor.

Como regra de atualizao utilizamos: V(s) V(s) + [V(s) V(s)] onde um nmero positivo pequeno, chamado de passo (taxa de aprendizagem). A regra de atualizao acima chamada de mtodo de aprendizagem por diferena temporal (temporal-difference learning method). A partir de um modelo simples como apresentado acima, um agente com aprendizagem por reforo explora as fraquezas do oponente, a partir de sua prpria experincia. Com o passar do tempo, a experincia convertida em valores da funo valorestado V(s). Esta experincia induz a poltica de controle/deciso.

UNIDADE III APRENDIZAGEM DE MQUINA

3. REDES NEURAIS.
Redes Neurais Artificiais so tcnicas computacionais que apresentam um modelo matemtico inspirado na estrutura neural de organismos inteligentes e que adquirem

conhecimento atravs da experincia. Uma grande rede neural artificial pode ter centenas ou milhares de unidades de processamento; j o crebro de um mamfero pode ter muitos bilhes de neurnios. O sistema nervoso formado por um conjunto extremamente complexo de clulas, os neurnios (Figura 16). Eles tm um papel essencial na determinao do funcionamento e

comportamento do corpo humano e do raciocnio. Os neurnios so formados pelos dendritos, que so um conjunto de terminais de entrada, pelo corpo central, e pelos axnios que so longos terminais de sada.

Figura 16: Modelo de neurnio humano

Os neurnios esto conectados uns aos outros atravs de sinapses, e juntos formam uma grande rede, chamada REDE NEURAL. As sinapses transmitem estmulos atravs de

diferentes concentraes de Na+ (Sdio) e K+ (Potssio), e o resultado disto pode ser estendido por todo o corpo humano. Esta grande rede proporciona uma fabulosa capacidade de processamento e armazenamento de informao. As redes neurais artificiais consistem em um mtodo de solucionar problemas de inteligncia artificial, construindo um sistema que tenha circuitos que simulem o crebro humano, inclusive seu comportamento, ou seja, aprendendo, errando e fazendo descobertas. So mais que isso, so tcnicas computacionais que apresentam um modelo inspirado na estrutura neural de organismos inteligentes e que adquirem conhecimento atravs da experincia. Uma grande rede neural artificial pode ter centenas ou milhares de unidades de processamento, enquanto que o crebro de um mamfero pode ter muitos bilhes de neurnios.

3.1. O NEURNIO ARTIFICIAL Uma rede neural artificial composta por vrias unidades de processamento, cujo funcionamento bastante simples. Essas unidades, geralmente so conectadas por canais de

comunicao que esto associados a determinado peso. As unidades fazem operaes apenas sobre seus dados locais, que so entradas recebidas pelas suas conexes. O

comportamento inteligente de uma Rede Neural Artificial vem das interaes entre as unidades de processamento da rede.

Figura 17: Modelo de um neurnio artificial

A operao de uma unidade de processamento, proposta por McCullock e Pitts em 1943 [McCullock & Pitts, 1943], pode ser resumida da seguinte maneira: Sinais so apresentados entrada; Cada sinal multiplicado por um nmero, ou peso, que indica a sua influncia na sada da unidade; feita a soma ponderada dos sinais que produz um nvel de atividade; Se este nvel de atividade exceder um certo limite (threshold) a unidade produz uma determinada resposta de sada. Suponha que tenhamos p sinais de entrada X1, X2, ..., Xp e pesos w1, w2, ..., wp e limitador t; com sinais assumindo valores booleanos (0 ou 1) e pesos valores reais. Neste modelo, o nvel de atividade a dado por: a = w1X1 + w2X2 + ... + wpXp A sada y dada por y = 1, se a >= t ou y = 0, se a < t. A maioria dos modelos de redes neurais possui alguma regra de treinamento, onde os pesos de suas conexes so ajustados de acordo com os padres apresentados. Em outras palavras, elas aprendem atravs de exemplos.

3.1.1. TREINAMENTO DE UM PERCEPTRON O treinamento supervisionado do modelo de rede Perceptron, consiste em ajustar os pesos e os thresholds de suas unidades para que a classificao desejada seja obtida. Para a adaptao do threshold juntamente com os pesos podemos consider-lo como sendo o peso associado a uma conexo,

cuja entrada sempre igual -1 e adaptar o peso relativo a essa entrada. Quando um padro inicialmente apresentado rede, ela produz uma sada. Aps medir a distncia entre a resposta atual e a desejada, so realizados os ajustes apropriados nos pesos das conexes de modo a reduzir esta distncia.Este procedimento conhecido como Regra Delta. Esse principio se aplica a maioria dos treinamentos das redes neurais. Deste modo, temos o seguinte esquema de treinamento (Figura 18): Iniciar todas as conexes com pesos aleatrios; Repita at que o erro E seja satisfatoriamente pequeno (E = e) Para cada par de treinamento (X,d), faa: o Calcular a resposta obtida O; o Se o erro no for satisfatoriamente pequeno E > e, ento: o Atualizar pesos: W novo := W anterior + EX Onde: O par de treinamento (X, d) corresponde ao padro de entrada e a sua respectiva resposta desejada; O erro E definido como: Resposta Desejada Resposta Obtida (d - O); A taxa de aprendizado neta uma constante positiva, que corresponde velocidade do aprendizado.

Figura 18: Esquema de Treinamento de um Perceptron

As respostas geradas pelas unidades so calculadas atravs de uma funo de ativao. Existem vrios tipos de funes de ativao, as mais comuns (Figura 19) so: Hard Limiter, Threshold Logic e Sigmoid.

Figura 19: Funes de Ativaes mais comuns

3.2. A

REDE

NEURAL

ARTIFICIAL

(MULTILAYER

PERCEPTRON) Arquiteturas neurais so tipicamente organizadas em camadas, com unidades que podem estar conectadas s unidades da camada posterior. Quando Redes Neurais Artificiais de uma s camada so utilizadas os padres de treinamento

apresentados entrada so mapeados diretamente em um conjunto de padres de sada da rede, ou seja no possvel a formao de uma representao interna. Neste caso, a codificao proveniente do mundo exterior deve ser suficiente para implementar esse mapeamento. Tal restrio implica que padres de entrada similares resultem em padres de sada similares, o que leva o sistema

incapacidade de aprender importantes mapeamentos. Como resultado, padres de entrada com estruturas similares, fornecidos do mundo externo, que levem a sadas diferentes no so possveis de serem mapeados por redes sem representaes internas, isto , sem camadas intermedirias. Um exemplo clssico deste caso a funo ou-exclusivo (XOR). Minsky e Papert [Minsky & Papert, 1969] analisaram

matematicamente o Perceptron e demostraram que redes de uma camada no so capazes de solucionar problemas que no sejam linearmente separveis. Como no acreditavam na possibilidade de se construir um mtodo de treinamento para redes com mais de uma camada, eles concluram que as redes neurais seriam sempre suscetveis a essa limitao. Contudo, o desenvolvimento do algoritmo de treinamento backpropagation, por Rumelhart, Hinton e Williams em 1986 [Rumelhart et. al., 1986], precedido por propostas semelhantes ocorridas nos anos 70 e 80, mostrou que possvel treinar eficientemente redes com camadas intermedirias, resultando no modelo de Redes Neurais Artificiais mais utilizado atualmente, as redes Perceptron Multi-Camadas (MLP), treinadas com o algoritmo backpropagation. Nessas redes, cada camada tem uma funo especfica. A camada de sada recebe os estmulos da camada intermediria e constri o padro que ser a resposta. As camadas intermedirias funcionam como extratoras de caractersticas, seus pesos so uma codificao de caractersticas

apresentadas nos padres de entrada e permitem que a rede crie sua prpria representao, mais rica e complexa, do problema.

3.2.1. BACKPROPAGATION

Durante o treinamento com o algoritmo backpropagation, a rede opera em uma sequncia de dois passos. Primeiro, um padro apresentado camada de entrada da rede. A atividade resultante flui atravs da rede, camada por camada, at que a resposta seja produzida pela camada de sada. No segundo passo, a sada obtida comparada sada desejada para esse padro particular. Se esta no estiver correta, o erro calculado. O erro propagado a partir da camada de sada at a camada de entrada, e os pesos das conexes das unidades das camadas internas vo sendo modificados conforme o erro retropropagado. As redes que utilizam backpropagation trabalham com uma variao da regra delta, apropriada para redes multi-camadas: a regra delta generalizada. A regra delta padro

essencialmente implementa um gradiente descendente no quadrado da soma do erro para funes de ativao lineares. Redes sem camadas intermedirias, podem resolver problemas onde a superfcie de erro tem a forma de um parabolide com apenas um mnimo. Entretanto, a superfcie do erro pode no ser to simples, como a ilustrada na figura abaixo, e suas derivadas mais difceis de serem calculadas. Nestes casos devem ser utilizadas redes com camadas intermedirias. Ainda assim, as redes ficam sujeitas aos problemas de

procedimentos "hill-climbing", ou seja, ao problema de mnimos locais. A regra delta generalizada funciona quando so utilizadas na rede unidades com uma funo de ativao semi-linear, que uma funo diferencivel e no decrescente. Note que a funo threshold no se enquadra nesse requisito. Uma funo de ativao amplamente utilizada, nestes casos, a funo sigmoid. A taxa de aprendizado uma constante de proporcionalidade no intervalo [0,1], pois este procedimento de aprendizado

requer apenas que a mudana no peso seja proporcional neta. Entretanto, o verdadeiro gradiente descendente requer que sejam tomados passos infinitesimais. Assim quanto maior for essa constante, maior ser a mudana nos pesos, aumentando a velocidade do aprendizado, o que pode levar uma oscilao do modelo na superfcie de erro. O ideal seria utilizar a maior taxa de aprendizado possvel que no levasse uma oscilao, resultando em um aprendizado mais rpido. O treinamento das redes MLP com backpropagation pode demandar muitos passos no conjunto de treinamento,

resultando um tempo de treinamento considervelmente longo. Se for encontrado um mnimo local, o erro para o conjunto de treinamento pra de diminuir e estaciona em um valor maior que o aceitvel. Uma maneira de aumentar a taxa de aprendizado sem levar oscilao modificar a regra delta generalizada para incluir o termo momentum, uma constante que determina o efeito das mudanas passadas dos pesos na direo atual do movimento no espao de pesos. Desta forma, o termo momentum leva em considerao o efeito de mudanas anteriores de pesos na direo do movimento atual no espao de pesos. O termo momentum torna-se til em espaos de erro que contenham longas gargantas, com curvas acentuadas ou vales com descidas suaves, como o apresentado na figura acima.

3.2.2. TREINAMENTO DO MLP O treinamento supervisionado da rede MLP utilizando

backpropagation consiste em dois passos. No primeiro, um padro apresentado s unidades da camada de entrada e, a partir desta camada as unidades calculam sua resposta que produzida na camada de sada, o erro calculado e o no

segundo passo, este propagado a partir da camada de sada at a camada de entrada, e os pesos das conexes das unidades das camadas internas vo sendo modificados utilizando a regra delta generalizada. Resumo do Algoritmo: 1. Inicializao: Inicialize os pesos sinpticos e os bias aleatriamente, com valores no intervalo [-1;1]; 2. Apresentao dos Exemplos de Treinamento: Treinamento "on-line": Para cada exemplo do conjunto de treinamento, efetue os passos 3 e 4. Treinamento "em lote": Para cada "poca" do conjunto de treinamento, efetue os passos 3 e 4. 3. Computao para Frente (Propagao): Depois de apresentado o exemplo do conjunto de treinamento T = {(x(n),d(n)}, sendo x(n) a entrada apresentada rede e d(n) a sada desejada, calcule o valor da ativao vj e a sada para cada unidade da rede, da seguinte forma: , para o clculo do valor da ativao e ,para o clculo da sada y da unidade k, utilizando a funo sigmide, como no exemplo, ou uma outra funo se necessrio. Utilize a sada das unidades de uma camada como entradas para a seguinte, at a ltima camada. A sada das unidades da ltima camada ser a resposta da rede. 4. Calcule o Sinal de Erro: Fazendo a sada y j = Oj(n), ser Oj(n) a resposta da rede, calcule o sinal de erro atravs da seguinte formula: ej(n)=dj(n)-Oj(n) , onde dj(n) a sada desejada com resposta para cada unidade na interao (n).

Este sinal de erro ser utilizado para computar os valores dos erros das camadas anteriores e fazer as correes necessrias nos pesos sinpticos.

5. Computao para Trs (Retropropagao): Calcule os


erros locais, d, para cada unidade, desde a camada de sada at a de entrada. O gradiente local definido por: para a unidade da camada de sada ou unidades das demais camadas. Onde: Oj(1-Oj) - a funo de ativao diferenciada em funo do argumento, i.e., valor de ativao; dk - o erro das unidades da camada anterior conectadas a unidade j; wjk - so os pesos das coneces com a camada anterior. Aps o clculo dos erros de cada unidade, calcule o ajuste dos pesos de cada conexo segundo a regra delta generalizada e atualize os pesos: , para o clculo dos ajustes dos pesos , para as

Faa: pesos sinpticos, onde:

, para atualizar os

- a constante de momentun, quando a= 0, esta funo funciona como a regra delta comum; - a taxa de aprendizado; dj - o erro da unidade; yj - a sada produzida pela unidade j; 6. Interao: Refaa os itens 3, 4 e 5 referentes propagao, clculo do erro e retropropagao,

apresentando outros estmulos de entrada, at que

sejam satisfeitas as condies de treinamento; as quais podem ser: O erro da rede est baixo, sendo pouco alterado durante o treinamento; O nmero mximo de ciclos de treinamento foi alcanado.

3.3. POR QUE UTILIZAR REDES NEURAIS? De acordo com diversas estruturas neurais e algoritmos de aprendizagem propostos por vrios pesquisadores, redes neurais possuem certas caractersticas exclusivas de sistemas biolgicos. Tais caractersticas entram em conflito com os tradicionais mtodos computacionais. Sistemas de computao baseados em redes neurais tem a capacidade de receber ao mesmo tempo vrias entradas e distribu-las de maneira organizada. Geralmente, as informaes armazenadas por uma rede neural compartilhada por todas as suas unidades de processamento. Caracterstica que contrasta com os atuais esquemas de memria, onde a informao fica confinada em um determinado endereo. Em um sistema de rede neural, a informao pode parecer ter representao redundante, porm, o fato de que ela se encontre distribuda por todos os elementos da rede significa que mesmo que parte da rede seja destruda, a informao contida nesta parte ainda estar presente na rede, e poder ser recuperada. Portanto, a redundncia na representao de

informaes em uma rede neural, diferente de outros sistemas, transforma-se em uma vantagem, que torna o sistema tolerante a falhas. Os atributos de uma rede neural, tais como aprender atravs de exemplos, generalizaes redundantes, e tolerncia a falhas, proporcionam fortes incentivos para a escolha de redes neurais como uma escolha apropriada para aproximao para a modelagem de sistemas biolgicos. Todo o potencial de

uma rede neural pode ser enumerado nos pargrafos seguintes. O modelo de rede neural tem muitos neurnios conectados por pesos com capacidade de adaptao que que podem ser arranjados em uma estrutura paralela. Por causa deste paralelismo, a falha de alguns nurons no causam efeitos significantes para a performance de todo o sistema, o que chamado de tolerncia a falhas. A principal fora na estrutura de redes neurais reside em sua habilidades de adaptao e aprendizagem. A habilidade de adaptao e aprendizagem pelo ambiente significa que modelos de redes neurais podem lidar com dados imprecisos e situaes no totalmente definidas. Uma rede treinada de maneira razovel tem a habilidade de generalizar quando apresentada entradas que no esto presentes em dados j conhecidos por ela. A caracterstica mais significante de redes neurais est em sua habilidade de aproximar qualquer funo continua no linear de um grau de correo desejado. Esta habilidade das redes neurais as tem tornado til para modelar sistemas no lineares na combinao de controladores no lineares. Redes Neurais podem ter vrias entradas e vrias sadas, eles so facilmente aplicveis sistemas com muitas variveis. Com o avano em tecnologias de hardware, funes voltadas existem com

componentes

com

sistemas

implementaes voltadas para redes neurais, o que traz uma velocidade adicional computao neural.

3.4. APLICAES DE REDES NEURAIS ARTIFICIAIS Aplicaes de redes neurais so inmeras. Muitos recebem sua primeira introduo lendo a respeito das tcnicas no prognstico de mercados financeiros. Grupos de investimento

conhecidos utilizam redes neurais para analisar pelo menos uma parte do mercado financeiro e fazerem suas selees. O reconhecimento tico de caracteres (OCR) outro tipo de aplicao que j existe e est crescendo, e em breve estaremos em constante contato com esse tipo de aplicao. Outras aplicaes bem sucedidas das tcnicas de redes neurais artificiais so: anlise de pesquisa de mercado, como acima citado, controle de processos industriais, aplicaes climticas, e identificao de fraude de carto de crdito. Um banco americano chamado Mellon Bank instalou um sistema de deteco de fraudes de carto de crdito implementado com tcnicas de redes neurais e os prejuzos evitados pelo novo sistema conseguiram cobrir os gastos de instalao em seis meses. Vrios outros bancos comeam a utilizar sistemas baseados em redes neurais para controlar fraudes de carto de crdito. Estes sistemas tm a capacidade de reconhecer uso fraudulento com base nos padres criados no passado com uma preciso melhor que em outros sistemas. Outro exemplo da utilizao de redes neurais para melhoria na tomada de decises no diagnstico mdico. Em seu aprendizado, so submetidos uma srie de diagnsticos de pacientes, de vrias caractersticas, com vrios sintomas e os resultados de seus testes. Tambm sero fornecidos os diagnsticos mdicos para cada doena. Ento quando forem apresentados os dados de um novo paciente, com seus sintomas, a rede fornecer um diagnstico para os novos casos. Isto essencialmente criar um sistema com o

conhecimento de vrios mdicos, e fornecer um diagnstico inicial em tempo real um mdico. importante mencionar que com isso o que se pretende implementar uma ferramenta de auxlio ao mdico, e no um programa que o substitua. Outras aplicaes:

anlise e processamento de sinais; controle de processos; robtica; classificao de dados; reconhecimento de padres em linhas de montagem; filtros contra rudos eletrnicos; anlise de imagens; anlise de voz; avaliao de crdito; anlise de aroma e odor- um projeto que est em desenvolvimento, buscando a anlise de odor via nariz eletrnico;

anlise e diagnstico de descargas parciais pelo reconhecimento do padro acstico- trata-se de uma tese de mestrado cujo objetivo criar um sistema com capacidades de classificar o padro acstico de uma descarga parcial ;

UNIDADE III APRENDIZAGEM DE MQUINA

4. ALGORTMOS GENTICOS.
Os problemas de otimizao so baseados em trs pontos principais: a codificao do problema, a funo objetivo que se deseja maximizar ou minimizar e o espao de solues associado. Pode-se imaginar um problema de otimizao como uma caixa preta com n botes, onde cada boto um parmetro do problema, e uma sada que o valor da funo objetivo, indicando se um determinado conjunto de parmetros bom ou no para resolver este problema. Os algoritmos genticos so uma famlia de modelos computacionais inspirados na evoluo, que incorporam uma soluo potencial para um problema especfico numa estrutura semelhante a de um cromossomo e aplicam operadores de seleo e "cross-over" a essas estruturas de forma a preservar informaes crticas relativas soluo do problema.

Normalmentes os AG's so vistos como otimizadores de funes, embora a quantidade de problemas para o qual os AG's se aplicam seja bastante abrangente. As tcnicas de busca e otimizao tradicionais iniciam-se com um nico utilizando candidato que, iterativamente, algumas heursticas manipulado diretamente

(estticas)

associadas ao problema a ser solucionado. Geralmente, estes processos heursticos no so algortmicos e sua simulao em computadores pode ser muito complexa. Apesar destes mtodos no serem suficientemente robustos, isto no implica que eles sejam inteis. Na prtica, eles so amplamente utilizados, com sucesso, em inmeras aplicaes.

Por outro lado, as tcnicas de computao evolucionria operam sobre uma populao de candidatos em paralelo. Assim, elas podem fazer a busca em diferentes reas do espao de soluo, alocando um nmero de membros apropriado para a busca em vrias regies. Os Algoritmos Genticos (AGs) diferem dos mtodos tradicionais de busca e otimizao, principalmente em quatro aspectos: 1. AGs trabalham com uma codificao do conjunto de parmetros e no com os prprios parmetros. 2. AGs trabalham com uma populao e no com um nico ponto. 3. AGs utilizam informaes de custo ou recompensa e no derivadas ou outro conhecimento auxiliar. 4. AGs utilizam regras de transio probabilsticas e no determinsticas. Algoritmos Genticos so muito eficientes para busca de solues timas, ou aproximadamente timas em uma grande variedade de problemas, pois no impem muitas das limitaes encontradas nos mtodos de busca tradicionais. Alm de ser uma estratgia de gerar-e-testar muito elegante, por serem baseados na evoluo biolgica, so capazes de identificar e explorar fatores ambientais e convergir para solues timas, ou aproximadamente timas em nveis globais. "Quanto melhor um indivduo se adaptar ao seu meio ambiente, maior ser sua chance de sobreviver e gerar descendentes": este o conceito bsico da evoluo gentica biolgica.A rea biolgica mais proximamente ligada aos Algoritmos Genticos a Gentica Populacional. Os pesquisadores referem-se a "algoritmos genticos" ou a "um algoritmo gentico" e no "ao algoritmo gentico", pois AGs so uma classe de procedimentos com muitos passos

separados, e cada uma destes passos possui muitas variaes possveis.

4.1. CONCEITOS BSICOS Antes de prosseguir com a anlise das caractersticas dos algoritmos genticos, alguns conceitos bsicos so

necessrios; estes conceitos podem ser naturalmente expostos explicando o funcionamento destes algoritmos. cromossomo (gentipo) - cadeia de bits que representa uma soluo possvel para o problema. gene - representao de cada parmetro de acordo com o alfabeto utilizado (binrio, inteiro ou real). fentipo - cromossomo codificado. populao - conjunto de pontos (indivduos) no Espao de Busca. gerao - iterao completa do AG que gera uma nova populao. aptido bruta - sada gerada pela funo objetivo para um indivduo da populao. aptido normalizada aptido bruta normalizada,

entrada para o algoritmo de seleo. aptido mxima - melhor indivduo da populao corrente. aptido mdia - aptido mdia da populao corrente.

Deve ser observado que cada cromossomo, chamado de indivduo no AG, corresponde a um ponto no espao de solues do problema de otimizao. O processo de soluo adotado nos algoritmos genticos consiste em gerar, atravs de regras especficas, um grande nmero de indivduos, populao, de forma a promover uma varredura to extensa quanto necessria do espao de solues.

4.2. FUNCIONAMENTO DO ALGORITMO Inicialmente, gerada uma populao formada por um conjunto aleatrio de indivduos que podem ser vistos como possveis solues do problema. Durante o processo evolutivo, esta populao avaliada: para cada indivduo dada uma nota, ou ndice, refletindo sua habilidade de adaptao a determinado ambiente.

4.2.1. SELEO DOS MAIS APTOS Uma porcentagem dos mais adaptados so mantidos,

enquanto os outros so descartados (darwinismo). O princpio bsico do funcionamento dos AGs que um critrio de seleo vai fazer com que, depois de muitas geraes, o conjunto inicial de indivduos gere indivduos mais aptos. A maioria dos mtodos de seleo so projetados para escolher

preferencialmente indivduos com maiores notas de aptido, embora no exclusivamente, a fim de manter a diversidade da populao. Um mtodo de seleo muito utilizado o Mtodo da Roleta, onde indivduos de uma gerao so escolhidos para fazer parte da prxima gerao, atravs de um sorteio de roleta. Neste mtodo, cada indivduo da populao representado na roleta proporcionalmente ao seu ndice de aptido (Figura 20). Assim, aos indivduos com alta aptido dada uma poro maior da roleta, enquanto aos de aptido mais baixa dada uma poro relativamente menor da roleta. Finalmente, a roleta girada um determinado nmero de vezes, dependendo do tamanho da populao, e so escolhidos, como indivduos que participaro da prxima gerao, aqueles sorteados na roleta.

Figura 20: Aptides dos indivduos dispostas na Roleta

Operaes Genticas Os membros mantidos pela seleo podem sofrer modificaes em suas caractersticas fundamentais atravs de mutaes e cruzamento (crossover) ou recombinao gentica gerando descendentes para a prxima gerao. Este processo, chamado de reproduo, repetido at que uma soluo satisfatria seja encontrada. O cruzamento o operador responsvel pela recombinao de caractersticas dos pais durante a reproduo, permitindo que as prximas geraes herdem essas caractersticas. Ele considerado o operador gentico predominante, por isso aplicado com probabilidade dada pela taxa de crossover Pc, que deve ser maior que a taxa de mutao. Este operador pode, ainda, ser utilizado de vrias maneiras; as mais utilizadas so: um-ponto: um ponto de cruzamento escolhido e a partir deste ponto as informaes genticas dos pais sero trocadas. As informaes anteriores a este ponto em um dos pais so ligadas s informaes posteriores este ponto no outro pai, como mostrado no exemplo da Figura 21:

Figura 21: Cruzamento em um ponto

multi-pontos: uma generalizao desta idia de troca de material gentico atravs de pontos, onde muitos pontos de cruzamento podem ser utilizados.

uniforme: no utiliza pontos de cruzamento, mas determina, atravs de um parmetro global, qual a probabilidade de cada varivel ser trocada entre os pais.

O operador de mutao necessrio para a introduo e manuteno da diversidade gentica da populao, alterando arbitrariamente um ou mais componentes de uma estrutura escolhida, como ilustrado na figura abaixo, fornecendo assim, meios para introduo de novos elementos na populao. Desta forma, a mutao assegura que a probabilidade de se chegar a qualquer ponto do espao de busca nunca ser zero, alm de contornar o problema de mnimos locais, pois com este mecanismo, altera-se levemente a direo da busca. O operador de mutao aplicado aos indivduos com uma probabilidade dada pela taxa de mutao Pm; geralmente se utiliza uma taxa de mutao pequena, pois um operador gentico secundrio. Embora possam parecer simplistas do ponto de vista biolgico, estes algoritmos so suficientemente complexos para fornecer mecanismos de busca adaptativo poderosos e robustos.

Esse ciclo repetido um determinado nmero de vezes. Abaixo mostrado um exemplo de algoritmo gentico. Durante esse processo, os melhores indivduos, assim como alguns dados estatsticos, podem ser coletados e armazenados para avaliao.
Procedimento AG {t = 0; inicia_populao (P, t) avaliao (P, t); repita at (t = d) {t = t +1; seleo_dos_pais (P,t); cruzamento (P, t); mutao (P, t); avaliao (P, t); sobrevivem (P, t) }}

onde: t - tempo atual; d - tempo determinado para finalizar o algoritmo; P - populao

4.3. PARMETROS GENTICOS importante tambm, analisar de que maneira alguns parmetros influem no comportamento dos Algoritmos

Genticos, para que se possa estabelec-los conforme as necessidades do problema e dos recursos disponveis. Tamanho da Populao. O tamanho da populao afeta o desempenho global e a eficincia dos AGs. Com uma populao pequena o desempenho pode cair, pois deste modo a populao fornece uma pequena cobertura do espao de busca do problema. Uma grande populao geralmente fornece uma cobertura representativa do domnio do problema, alm de prevenir convergncias prematuras para solues locais ao invs de globais. No entanto, para se trabalhar com grandes populaes, so necessrios maiores recursos

computacionais, ou que o algoritmo trabalhe por um perodo de tempo muito maior. Taxa de Cruzamento. Quanto maior for esta taxa, mais rapidamente novas estruturas sero introduzidas na populao. Mas se esta for muito alta, estruturas com boas aptides podero ser retiradas mais rapidaum valor alto, a maior parte da populao ser substituda, mas com valores muito altos pode ocorrer perda de estruturas de alta aptido. Com um valor baixo, o algoritmo pode tornar-se muito lento. Taxa de Mutao. Uma baixa taxa de mutao previne que uma dada posio fique estagnada em um valor, alm de possibilitar que se chegue em qualquer ponto do espao de busca. Com uma taxa muito alta a busca se torna

essencialmente aleatria. Intervalo de Gerao. Controla a porcentagem da populao que ser substituda durante a prxima gerao. Com um valor alto, a maior parte da populao ser substituda, mas com valores muito altos pode ocorrer perda de estruturas de alta aptido. Com um valor baixo, o algoritmo pode tornar-se muito lento.

4.4. APLICAES Um sistema com bom desempenho em um ambiente dinmico, geralmente exige solues adaptativas. Sistemas adaptativos tentam resolver problemas acumulando conhecimento sobre o problema e utilizando estas informaes para gerar solues aceitveis. Estes problemas, tipicamente, se encontram nas reas de configurao de sistemas complexos, alocao de tarefas, seleo de rotas, e outros problemas de otimizao e aprendizado de mquina. Seguem-se alguns exemplos de sistemas adaptativos: Controle de Sistemas Dinmicos; Induo e Otimizao de Bases de Regras;

Encontrar Novas Topologias Conexionistas: o Engenharia de Sistemas Neurais Artificiais; o Modelagem de Estruturas Neurais Biolgicas;

Simulao de Modelos Biolgicos: o Comportamento; o Evoluo;

Evoluo Interativa de Imagens; Composio Musical.

UNIDADE III APRENDIZAGEM DE MQUINA

5. EXERCCIOS
1. Defina o que vem a ser aprendizado de mquina (machine learning), caracterizando os dois tipos de aprendizado: supervisionado e no-supervisionado. 2. Explique o funcionamento bsico dos algoritmos que trabalham com rvores de deciso (ex. ID3). 3. Construa uma rvore de deciso, utilizando o Decision-Tree-Learning para a seguinte tabela de dados:

ATRIBUTOS Zona Cidade Estrada Estrada Estrada Estrada Cidade Cidade Trafego Intenso Baixo Baixo Intenso Intenso Baixo Baixo Cansao Elevado Baixo Elevado Baixo Elevado Elevado Baixo

Conduo

Calma Desportiva Desportiva Desportiva Calma Calma Desportiva

4. Explique

conceito

importncia

da

dissimilaridade inter-grupo (inter-class dissimilarity) e da similaridade intra-grupo (intra-class similarity) no algoritmo COBWEB. 5. Explique a aprendizagem por reforo com base nos conceitos de ao, estado, recompensa, poltica, explorao e explotao.

6. Qual das alternativas abaixo melhor preenche os espaos na seguinte frase: Uma rede Perceptron simples uma rede de ..... com n entradas e ..... sadas, que aprende classificaes linearmente separveis, como, por exemplo, os operadores and e or, mas no o operador ..... Alm disso, o Perceptron tem como funo de

transferncia a funo ...... Quanto a tipo de aprendizagem, o Perceptron ...... os exemplos. a. ( ) 1 camada, m, xor, limiar, generaliza. b. ( ) 1 camada, m, not, step0, generaliza. c. ( ) x camadas, m, xor, limiar, generaliza. d. ( ) x camadas, m(m < n), xor, sign, especializa.
e. ( ) x camadas, m(m > n), not, sign, especializa.

f. ( ) 1 camada, m(m > n), xor, limiar, especializa. 7. Defina o que uma Rede Neural e quais os elementos fundamentais de uma Rede Neural? Ilustre e exemplifique. 8. O Perceptron um classificador linear? Justifique. 9. Explique o funcionamento dos algoritmos genticos com base nos conceitos: populao, cromossomos, descendentes, adaptao, crossover, mutao,

seleo natural, taxa de mutao. 10. Nos algoritmos genticos como funciona o mtodo da roleta para a seleo dos mais aptos?

UNIDADE III APRENDIZAGEM DE MQUINA

6. WEBLOGRAFIA

Universidade Aberta do Piau UAPI http://www.ufpi.br/uapi Universidade Aberta do Brasil- UAB http://www.uab.gov.br Secretaria de Educao a Distncia do MEC SEED http://www.seed.mec.gov.br Associao Brasileira de Educao a Distncia ABED http://www.abed.org.br Padres estocticos http://pt.wikipedia.org/wiki/Estoc%C3%A1stico Sistemas Inteligentes http://www.espie.cinted.ufrgs.br/~dsbit/trimestre1/rosa/sistemas _inteligentes.doc Aprendizagem de Mquina http://tecsofia.wordpress.com/2007/11/13/aprendizado-demaquina/ [Bradzil, 1999]. Construo de modelos de deciso a partir de dados. http://www.nacc.up.pt/~pbrazdil/ Ensino/ML/ModDecis.html Utilizao de Aprendizagem por Reforo para Modelagem Autnoma do Aprendiz em um Tutor Inteligente http://nlx.di.fc.ul.pt/~guelpeli/Arquivos/Artigo17.pdf Uma Introduo a Redes Neurais http://www.din.uem.br/ia/neurais/ Redes Neurais http://www.gildario.com.br/index.php?option=com_content&vie w=article&id=63&Itemid=65 Redes Neurais Treinamento http://www.solv.com.br/prof/redeneural/pag9.htm Processos de Aprendizado e Treinamento da Rede Perceptron http://elson_mendes.sites.uol.com.br/rn/rn_aprend.html

Redes Neurais Artificiais http://www.ppgia.pucpr.br/~euclidesfjr/Metodos_Inteligentes/02 06/RNA-XIIERI.pdf Classificao de Dados de Variabilidade de Freqncia Cardaca Utilizando Tcnicas de Redes Neurais http://www.sbeb.org.br/cbeb2008/Intelig%EAncia%20Artificial% 20e%20Redes%20Neurais/p_1664.pdf Algoritmos Genticos: Fundamentos e Aplicaes http://www.gta.ufrj.br/~marcio/genetic.html Algoritmos Genticos http://www2.dem.inpe.br/ijar/Algrgene1.doc

UNIDADE III APRENDIZAGEM DE MQUINA

7. REFERNCIAS BIBLOGRFICAS

RUSSEL, Stuart; NORVIG, Peter: Campus, So Paulo, 2004. 1040p BITTENCOURT, Guilherme:

Inteligncia Artificial.

Inteligncia

Artificial

Ferramentas e Teorias. Florianpolis, 2001. 362p

Editora da UFSC. 2. Edio.

RICH, Elaine; KNIGHT, Kevin: Inteligncia Artificial. Makron Books. 2. Edio. So Paulo, 1994. 722p. T. M. Mitchell. Machine Learning. McGrawHill

Science/Engineering/Math, 432 pginas, ISBN 0070428077, 1997. BATISTA, G.E.A.P.A, de Pr-processamento de dados 2003. em Tese

aprendizado

mquina

Supervisionado.

(Doutorado) Instituto de Cincias Matemticas e de Computao. Universidade de So Paulo, So Carlos. Quinlan, J.R. (1986). Induction of Decision Trees.Machine Learning 1:1, 81106 Breiman,L., Friedman,J.H., Olshen,R.A., and Stone,C.J. (1984), Classification and Regression Trees, Pacific Grove, CA: Wadsworth. Michalski, R. S. (1980). "Knowledge acquisition through conceptual clustering: A theoretical framework and an algorithm for partitioning data into conjunctive concepts". International Journal of Policy Analysis and Information Systems 4: 219 244.

Fisher, D. H. Knowledge acquisition via incremental conceptual clustering. Mach. Learn., 2(2):139172, 1987. ISSN 0885-6125. Rebouas, Ricardo ; Furtado, V. . Formation of Probabilistic Concepts through observations containing discrete and

continuos attributes. In: Florida Artificial Intelligence Research Symposium - FLAIRS, 2004, Miami. FLAIRS 2004 Proceedings. Palo Alto, CA : American Association for Artificial Intelligence, 2004. v. 1. R. Sutton and A. G. Barto. Reinforcement Learning: An Introduction. 2nd Edition. MIT Press, Cambridge, 2002. McCulloch, W. S. and Pitts, W. (1943). A logical calculus of the ideas immanent in nervous activity. Bull. Math. Biophysics, 5:115-133. Minsky, M.L., Papert, S.A., Perceptrons, Cambridge, MA : MIT Press, 1969. Rumelhart, D. E., Hinton, G. E., and Williams, R. J. (1986) Learning representations by back-propagating errors. Nature, 323, 533--536.

UNIDADE IV REPRESENTAO DO CONHECIMENTO

RESUMO O conhecimento ao ser inserido em um sistema computacional passa por uma srie de processos tais como aquisio (descoberta de conhecimento), minerao e

finalmente a representao do conhecimento propriamente dita. Estes processos tem como finalidade formalizar o conhecimento, ou seja, disponibiliz-lo de uma forma que possa ser facilmente usado e interpretado pelos prprios sistemas computacionais e pelos usurios desses sistemas. Nesta unidade apresentaremos os principais modelos para representar o conhecimento, dando destaque ao processo de descoberta de conhecimento em base de dados e as princiapais formas de se representar o conhecimento como frames, rvores de deciso, frames e ontologias.

UNIDADE IV REPRESENTAO DO CONHECIMENTO

1. AQUISIO DO CONHECIMENTO
Para utilizar um corpo de conhecimento em uma mquina, necessrio escolher uma maneira de represent-lo. Todo programa de computador contm o conhecimento sobre um determinado problema a ser resolvido. O conhecimento est nos algoritmos que o programa emprega e nos procedimentos de deciso que determinam qual destes algoritmos empregar em determinada circunstncia. Quando carrega-se um

programa em um computador, pode-se dizer que o computador adquiriu o respectivo conhecimento; entretanto, na maioria dos programas, estas informaes no so representadas explicitamente e no podem ser facilmente atualizadas ou manipuladas. A aquisio de conhecimento no pode limitar-se adio de novos elementos de conhecimento base de conhecimentos; necessrio integrar o novo conhecimento ao conhecimento j disponvel, atravs da definio de relaes entre os elementos que constituem o novo conhecimento e os elementos j armazenados na base. Dois tipos de mecanismos para a definio 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 especificao de regras de aquisio em que o tipo de conhecimento esperado definido. 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 finalidade 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 verificao 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 eficincia do processo de aquisio.

1.1. MTODOS DE AQUISIO DO CONHECIMENTO

1.1.1. ENTREVISTAS NO ESTRUTURADAS As entrevistas no estruturadas (unstructured interwiews) so projetadas para permitir ao especialista que discuta o problema a ser resolvido de modo natural (Durkin, 1994). Assim possvel obter a compreenso dos conceitos mais importantes a respeito do domnio e conhecer a estratgias que o especialista utiliza para resolver o problema. As principais vantagens desse mtodo so: fornecer uma compreenso geral do problema, auxiliar na identificao de conceitos e objetivos; fornecer condies para compreender os mtodos para a resoluo de problemas. A desvantagem das entrevistas no estruturadas uma grande quantidade de informaes fragmentadas ou superficiais, pobres em detalhes.

1.1.2. ENTREVISTAS ESTRUTURADAS A entrevista estruturada mantm o foco do problema a ser resolvido de uma forma dirigida. Este tipo de entrevista adquire detalhes especficos a respeito de determinado aspecto do problema antes de passar para outros pontos (Durkin, 1994). A entrevista estruturada pode ser utilizada quando necessria uma informao especfica a respeito de um tpico

estabelecido. As vantagens deste mtodo so: mantm o foco em um determinado assunto, fornece informaes detalhadas e relaes estruturadas entre os conceitos. As desvantagens encontradas so: alguns conceitos no relatados na entrevista podem no ser abordados; fornece uma compreenso fraca do conhecimento procedural, como regras ou estratgias para solucionar problemas. As tcnicas de entrevistas discutidas nesta seo so de natureza introspectiva. O especialista tenta responder s questes recorrendo a seus conceitos e compreenso sobre o problema. Estudos em psicologia demonstraram que a introspeo no uma maneira eficaz de obter um

conhecimento completo e confivel para a resoluo de problemas.

1.1.3. ESTUDO DE CASO Devido as limitaes dos mtodos de entrevista, os

engenheiros de conhecimento tiveram que recorrer a outras tcnicas que tornassem possvel a aquisio de conhecimento. Uma alternativa s entrevistas so os estudos de caso. Um caso um problema que foi solucionado no passado e que contm a soluo e a descrio dos passos para obt-la. Existem duas abordagens para sua utilizao durante uma seo de aquisio de conhecimento: retrospectiva e

observacional. Na abordagem retrospectiva o especialista levado a rever um caso e a explicar como o problema foi nele

resolvido. A tcnica observacional pede aos especialistas para discutirem a soluo de um caso enquanto o engenheiro observa o seu processo de resoluo.

1.1.4. DESCOBERTA DE CONHECIMENTO EM BASE DE DADOS O conhecimento ainda pode estar na prpria base de dados. De acordo com [Fayyad, 1996], o conceito de descoberta de conhecimento em bases de dados pode ser resumido como o processo no-trivial de identificar padres novos, vlidos, potencialmente teis e, principalmente, compreensveis em meio s observaes presentes em uma base de dados. O objetivo ltimo da descoberta do conhecimento em bases de dados no o de simplesmente encontrar padres e relaes em meio imensa quantidade de informao disponvel em bases de dados, e sim a extrao de conhecimento inteligvel e imediatamente utilizvel para o apoio s decises. O processo de descoberta do conhecimento [Berry, 2000] [Pyle, 1999] composto por vrias etapas. A Figura 22 ilustra o ciclo de descoberta do conhecimento em bases de dados e suas etapas. A origem diversa dos dados que sero utilizados, coletados em diferentes instantes de tempo em lugares distintos, cria um esforo inicial de consolidao e

agrupamento de toda a informao que ir servir de base para o processo. A compreenso do negcio e do ambiente no qual os dados esto inseridos crtica para o entendimento dos mesmos.

Figura 22: Ciclo de descoberta do conhecimento em bases de dados e suas etapas

Dada essa diversidade e heterogeneidade dos dados, esforos de pr-processamento e limpeza dos mesmos so cruciais na gerao de dados que possam vir a ser trabalhados em busca de conhecimento til. essencial que seja realizada a investigao de inconsistncias e problemas devido a

diferenas de escalas, assim como o tratamento de valores fora da normalidade (outliers) e observaes errneas. Realizadas essas tarefas iniciais, que tornam os dados tratveis e homogneos, a minerao dos dados pode ser iniciada, na busca por padres e relaes que faam sentido e sejam teis para o problema a ser resolvido ou objetivo a ser alcanado, podendo utilizar alguns (ou uma combinao deles) dos algoritmos vistos na Unidade e III. Finalmente, dos a

interpretao,

compreenso

aplicao

resultados

encontrados o passo que torna o conhecimento adquirido atravs de bases de dados um real insumo para o apoio s decises [Klosgen, 2002].

UNIDADE IV REPRESENTAO DO CONHECIMENTO

2. MTODOS

DE

REPRESENTAO

DE

CONHECIMENTO
O conhecimento o destaque dos sistemas de IA. A representao do conhecimento o componente fundamental em sistemas inteligentes. Pelos mecanismos de representao, os formalismos de IA, o conhecimento codificado atravs de objetos, atributos, objetivos, aes e processado atravs de estruturas e procedimentos [Bench-Capon, 1990]. Para

representar o desempenho de especialistas humanos, o sistema deve possuir no s um conjunto de informaes mas, tambm, a habilidade de utiliz-las na resoluo de problemas de forma criativa, correta e eficaz. Esta habilidade representa uma srie de palpites e regras intuitivas que o especialista utiliza para resolver os problemas; sua aplicao possibilita, de uma maneira mais econmica, a chegada a solues aceitveis, embora nem sempre timas. Um sistema inteligente precisa conhecer o contexto do fato em estudo e reconhecer os processos que causariam mudanas nos fatos. Para resolver problemas, em alguns casos, recomendado conhecer tudo sobre o problema e quais as possveis solues que se pretende encontrar, juntamente com algumas estratgias para solucionar cada problema. O estudo da representao do conhecimento consiste nos caminhos que podem ser trilhados para codific-lo em um programa computacional. Existem muitas formas de representao do conhecimento atravs de formalismos computacionais, scripts, frames, redes semnticas, regras, grafos conceituais, representaes

formulrio e os conceitos, objetos e fatos. Esses formalismos podem ser empregados para representar casos em sistemas

de RBC e representar domnios em SEs (Weber, 1998). Nas prximas sees estes formalismos e conceitos so explicados brevemente.

2.1. LGICA A lgica a base para a maioria dos formalismos de representao de conhecimento, seja de forma explcita, como nos sistemas baseados na linguagem Prolog, seja disfarada na forma de representaes especficas que podem facilmente ser interpretadas como proposies ou predicados lgicos. um modo de declarao que representa o conhecimento uma das mais primitivas formas de representao do raciocnio ou conhecimento humano. A lgica preposicional considerada a forma mais comum da lgica. Baseia-se em que proposio s pode ter um dos seguintes valores: verdadeira ou falsa. A lgica de predicados considerada como uma extenso da lgica preposicional. Na lgica de predicados os elementos fundamentais predicados. Uma das principais formas de representar conhecimento em lgica e tambm manipul-lo atravs da linguagem PROLOG. Prolog uma linguagem de programao lgica e declarativa. Isso significa que em vez de o programa estipular a maneira de chegar soluo, passo a passo, (como nas linguagens procedimentais ou imperativas), limita-se a fornecer uma descrio do problema que se pretende computar. Usa uma coleo base de dados de fatos e de relaes lgicas (regras) que exprimem o domnio relacional do problema a resolver. so, alm do objeto, tambm os seus

2.2. REDES As redes semnticas so grafos direcionados ligados por ns para representar objetos e conexes e a relao entre objetos

[Dean et. al., 1995]. A rede semntica usada para representar elementos de uma representao tal como uma classe, suas instncias e suas caractersticas. Seus arcos so direcionados e representam as relaes entre os atributos. Quando um atributo no deve ser herdado, as redes semnticas

necessitam de tratamento de exceo. Portanto, uma rede semntica uma estrutura para a representao do conhecimento definida como um padro de nodos interligados por arcos rotulados. As redes deste tipo no s captam as definies dos conceitos mas tambm, inerentemente, proporcionam ligaes com outros conceitos. Uma variedade de redes semnticas tem sido desenvolvidas como variaes deste simples padro. Algumas so propostas como modelos da memria humana so e significado usadas de

representao,

enquanto

outras

como

componentes de compreenso de linguagem e sistemas de raciocnio. Embora seja til imaginar as redes semnticas utilizando esta notao grfica caracterstica, lgico que elas no podem ser representadas desta maneira em um programa de computador. Assim por exemplo, na linguagem LISP, cada nodo seria um tomo, as ligaes seriam as propriedades, e os nodos da outra extremidade seriam os valores.

2.3. FRAMES Um frame uma estrutura de dados que representa uma entidade atravs de suas caractersticas e potenciais

habilidades. Suas caractersticas esto representadas por pares atributo-valor e as potencialidades so representadas por mtodos. Um frame abstrato (ou frame de classe) no tem instncias, por esta razo seus atributos no so valorados, suas subclasses so ligadas a instncias da entidade representada por essa classe.

Frame uma representao de um objeto complexo. Ele identificado por um nome e consiste em conjunto de slots. Cada frame possui ao menos um frame hierarquicamente superior e, portanto, constitui uma base com mecanismo de herana. Um frame especial a raiz desta hierarquia de herana. Sistemas baseados em cadeias semnticas e sistemas baseados em frames podem ser considerados semelhantes com respeito s suas estruturas, mas diferem no que representam. Quer dizer, enquanto cadeias semnticas

representam objetos simples, um sistema de frames pode representar objetos complexos.

2.4. RVORES DE DECISO Trata-se de um modelo prtico de uma funo recursiva que determina o valor de uma varivel e, baseando-se neste valor, executa-se uma ao. Esta ao pode ser a escolha de outra varivel ou a sada. As rvores de deciso so treinadas de acordo com um e, conjunto de exemplos outros previamente so classificados posteriormente, exemplos

classificados de acordo com essa mesma rvore. A construo de uma rvore de deciso parte da descrio de um problema do qual deve ser especificado as variveis, aes e a seqncia lgica para a tomada de deciso. Depois de construda teremos uma viso grfica da tomada de deciso (Figura 23).

Figura 23: Viso grfica de uma rvore de deciso

As variveis so representadas pelas condies mostradas na estrutura acima, as sadas so as aes a serem tomadas. A seqncia lgica se trata da ordem que sero dispostas as condies devido ao seu grau de relevncia pr-definido no incio da criao do modelo. Os ramos da rvore correspondem a cada possibilidade lgica que levam prxima possibilidade ou ao a ser tomada. Nem sempre a combinao das condies descritas leva a uma ao definitiva, quando isto ocorre o decisor tem o papel de optar pela ao a ser tomada.

2.5. ONTOLOGIAS Ontologia um modelo de dados que representa um conjunto de conceitos dentro de um domnio e os relacionamentos entre estes. Uma ontologia utilizada para realizar inferncia sobre os objetos do domnio. Atualmente, as ontologias compartilham muitas semelhanas estruturais, independente da linguagem em que so expressas. Como mencionado acima, a maioria das ontologias descrevem indivduos (exemplares), classes (conceitos), atributos e relacionamentos. Esta seo descreve cada um desses componentes.

Indivduos (exemplares) so os componentes bsicos de uma ontologia. Os indivduos em uma ontologia podem incluir objetos concretos como pessoas, animais, mesas, automveis, molculas, planetas, assim como indivduos abstratos como nmeros e palavras. Para ser exato, uma ontologia no precisa necessariamente incluir indivduos, porm um dos propsitos gerais de uma ontologia apresentar um meio de classificao de indivduos, mesmo que estes no sejam explicitamente parte da ontologia. Classes (conceitos) so grupos abstratos, conjuntos ou colees de objetos. Eles podem conter indivduos, outras classes, ou uma combinao de ambos. Alguns exemplos de classes[2]: Ontologias se diferenciam nos seguintes aspectos: se classes podem conter outras classes, se uma classe pode pertencer a si mesma, se existe uma classe universal (isto , uma classe contendo tudo), etc. Algumas vezes estas restries so feitas para evitar alguns paradoxos conhecidos.

Uma classe pode incluir ou estar includa em outras classes. Por exemplo, Veculo inclui Carro, j que (necessariamente) qualquer coisa que membro de Carro tambm membro de Veculo. A relao de incluso utilizada para criar uma hierarquia de classes, geralmente com uma classe geral como Coisa no topo, e classes especficas como Ford Fiesta 2002 na base. Objetos em uma ontologia podem ser descritos atravs de atributos. Cada atributo tem pelo menos um nome e um valor, e utilizado para armazenar informao que especfica para o objeto ligado a ele.

O valor de um atributo pode ser um tipo de dados completo; neste exemplo, o valor do atributo chamado Motor uma lista de valores, no um valor simples. Um uso importante dos atributos a descrio de

relacionamentos (tambm conhecidos como relaes) entre objetos na ontologia. Geralmente, uma relao um atributo cujo valor outro objeto na ontologia. Muito do poder das ontologias vem da habilidade de descrever estas relaes. O conjunto de todas as relaes descreve a semntica do domnio. O tipo mais importante de relao a relao de incluso (superclasse-de, -um, -subtipo-de ou -subclasse-de), que define quais objetos so membros de quais classes de objetos. A adio de relacionamentos -um cria uma taxonomia hierrquica, uma estrutura de rvore que descreve que objetos se relacionam com quais outros. Neste estrutura, cada objeto um "filho" de uma "classe pai". Outro tipo comum de relao a do tipo parte-de que representa como objetos se combinam para formar objetos compostos.

Alm das relaes comuns como -um e parte-de, as ontologias geralmente incluem outros tipos de relaes que refinam ainda mais a semntica do modelo. Estas relaes geralmente so especficas do domnio e so utilizadas para responder tipos particulares de questes.

UNIDADE IV REPRESENTAO DO CONHECIMENTO

3. EXERCCIOS

1. Explique

importncia

de

se

representar

conhecimento em computador. 2. Qual o papel o engenheiro do conhecimento? 3. Quais so os mtodos de Aquisio do

Conhecimento? Explique cada um deles. 4. O que vem a ser a descoberta de conhecimento em base de dados? Explique as etapas deste processo. 5. Explique por que devemos utilizar diferentes formas de representar o conhecimento. 6. O que so Frames? 7. O que a forma de representao do conhecimento na forma de clusters? 8. Explique a importncia das rvores de deciso para representar conhecimento. 9. O que so ontologias?

UNIDADE IV REPRESENTAO DO CONHECIMENTO

4. WEBLOGRAFIA

Universidade Aberta do Piau UAPI http://www.ufpi.br/uapi Universidade Aberta do Brasil- UAB http://www.uab.gov.br Secretaria de Educao a Distncia do MEC SEED http://www.seed.mec.gov.br Associao Brasileira de Educao a Distncia ABED http://www.abed.org.br Sistemas Tutorais Inteligentes http://www.educacaoliteratura.com.br/index%20101.htm Inteligncia Artificial Aplicada a Nutrio na Prescrio de Planos Alimentares http://www.eps.ufsc.br/disserta99/camargo/ Introduo abordagem Capitalizao de conhecimento http://www.batebyte.pr.gov.br/modules/conteudo/conteudo.php ?conteudo=1807 Linguagem PROLOG http://fit.faccat.br/~alexandre/prolog.php Introduo a Linguagem PROLOG http://puig.pro.br/Logica/palazzo.pdf Proposta de uma Ontologia para Avaliao de Desempenho Empresarial http://www.san.uri.br/~portalcomp/TCCs/Oliveira.doc

UNIDADE IV REPRESENTAO DO CONHECIMENTO

5. REFERNCIAS BIBLOGRFICAS
Russel, Stuart; Norvig, Peter: Inteligncia Artificial. Campus, So Paulo, 2004. 1040p Bittencourt, Guilherme: Inteligncia Artificial Ferramentas e Teorias. 362p Rich, Elaine; Knight, Kevin: Inteligncia Artificial. Makron Editora da UFSC. 2. Edio. Florianpolis, 2001.

Books. 2. Edio. So Paulo, 1994. 722p. Durkin, J.. Expert systems design and development. Prentice Hall, USA, 1994. Fayyad, U.; Shapiro, G. P.; Smith, P. The KDD process for extracting Nov. 1996 M. Berry; G. Linoff. Mastering Data Mining: The Art and Science of Customer Relationship Management. John Wiley & Sons, 2000. D. Pyle. Data Preparation for Data Mining. Morgan Kaufmann, 1999. W. Klosgen; J. M. Zytkow; J. Zyt. Handbook of Data Mining and Knowledge Discovery. Oxford University Press, 2002. Bench Capon, T, J. M.. Introduction to kowledge useful knowledge from volumes of Data.

Communications of the ACM, New York, v. 39, n. 11, p. 27-35 ,

representation, in: Knowledge representation na approach to artificial intelligence. Academic press, The A. P. I. C. Series, n32, 1990.

Dean, T., Allen, J., Aloimonos, Y.. Artificial Intelligence Theory and Practice. Addison-Wesley Publishing Company, MenloPark, (1995)

UNIDADE V AGENTES INTELIGENTES

RESUMO Os agentes inteligentes tem sido amplamente utilizados em vrias reas de cincia da computao. Esse paradigma de implementao o que mais se assemelha com o

comportamento humano, trazendo consigo conceitos como percepo, autonomia e aprendizado. Alm disso o uso de vrios agentes em conjunto, caracterizando um sistema multiagente, vm se tornando uma alternativa quando se fala em inteligncia artificial distribudo. Nesta caractersticas unidade dos apresentaremos e seus as principais tipos

agentes

diferentes

apresentando tambm os atributos necessrios para a implementao dos sistemas multiagente.

UNIDADE V AGENTES INTELIGENTES

1. DEFINIES
Quanto comparados com os modelos de Vida Artificial, os modelos e teorias de Agentes Inteligentes, discutidos a seguir, apresentam um maior nvel de abstrao e simbolismo, em maior consonncia com a IA Simblica. Enquanto que nos modelos de Vida Artificial, a complexidade emergente, a interatividade e evolutibilidade so caractersticas

fundamentais, nos modelos de agentes inteligentes parte-se do princpio de que a inteligncia, de alguma forma, j deve estar presente nos elementos autnomos. O termo agente aplicado de forma coerente (embora com significados distintos) em praticamente todas as rea do conhecimento na qual existem as noes de indivduo e comunidade, como em: * Sociologia [Giddens, 1979]; * Economia [Holmstrom & Tirole, 1989]; * Comportamento Animal [Dawkins, 1979]; * Robtica [Meyer et al, 1993]; * Software [Finin et al, 1992], etc. A caracterstica que unifica os conceitos de agente presentes em todas as reas acima a existncia de uma espao no qual elementos autnomos representam, manipulam e trocam informaes e conhecimento, demonstrando uma capacidade cognitiva relativamente elevada, quando comparados, por exemplo, a molculas, vegetais e vermes.

Na rea de computao uma das definies mais aceitas a de [Russel & Norvig, 2004]: Qualquer coisa que percebe seu ambiente atravs de sensores agindo neste ambiente por meio de seus atuadores, visando atingir seu objetivo (Figura 24), ou seja, um agente um sistema computacional que est situado em um ambiente e que capaz de aes autnomas neste ambiente em ordem de cumprir seus objetivos.

Figura 24: Agente segundo Russel & Norvig, 2003

Definir a inteligncia de um agente dizer que este faz a coisa certa. Esta Coisa Certa aquela que faz com que o agente obtenha mais sucesso. Isso leva ao problema de medir como e quando o gente obteve sucesso. Isso leva ao seguinte dilema: Os agentes tm que realizar aes corretas So corretos os que so bem-sucedidos Como definir quando e como eles obtm sucesso?

neste ponto que surgem alternativas para definir o sucesso de um agente baseado em 5 fatores: Percepo Entradas perceptivas do agente em qualquer momento Sua seqncia de percepo Histria completa de tudo o que o agente j percebeu As aes que so capazes de executar

Sua medida de desempenho, que define o grau de sucesso Seu conhecimento sobre o ambiente

Logo podemos definir o agente racional ideal como sendo a entidade que para cada seqncia de percepo possvel, deve saber se sua ao maximizar sua medida de desempenho, baseado na evidncia de sua seqncia de percepo e no conhecimento que ele traz consigo. Para ilustrar esses fatores tomemos como exemplo um Agente de limpeza (Figura 25).

Figura 25: Ambiente do Agente de Limpeza [Russel & Norvig, 2003]

Percepo: Quantidade de sujeira, local e contedo, por exemplo, [A, sujo]. Aes: Direita, Esquerda, Sugar, NoOp Sequencia de Percepes:
Seqncia de Percepes [A, limpo] [A, sujo] [B, limpo] [B, sujo] [A, limpo] [A, limpo] [A, limpo] [A, sujo] ... [A, limpo] [A, limpo] [A, limpo] [A, limpo] [A, limpo] [A, sujo] Ao Direita Aspirar Esquerda Aspirar Direita Aspirar ... Direita Aspirar

Medidas de desempenho: o quantidade de lixo retiradas X horas de trabalho o quantidade de lixo retiradas X horas de trabalho descontadas a

Com base nos conceitos vistos, para um agente racional para o mundo do aspirador de p (agente de limpeza) temos: Medida de Desempenho: 1 ponto de bonificao para cada quadrado limpo em cada unidade de tempo, ao longo de 1.000 perodos Conhece a geografia do ambiente, mas no sabe onde tem sujeira e nem a posio inicial. Quadrados limpos permanecem limpos e aspirar limpa o quadrado atual As aes Esquerda e Direita movem o agente nesta direes; exceto quando isto leva o agente para fora do ambiente (fica parado) Aes disponveis: Esquerda, Direita, Aspirar, NoOP (no faz nada) O agente percebe: a sua posio e se nessa posio existe sujeira Outras questes tambm deve ser levadas em considerao quando se fala no conceito de agentes como por exemplo a racionalidade e autonomia. Um agente racional, na viso da Inteligncia Artificial, uma entidade capaz de agir de forma a alcanar resultados otimizados. Dessa forma, um Agente s possui sentido baseado nos seus objetivos e na sua capacidade de atingi-los. Na maioria das vezes, devido s incertezas do ambiente de tarefas, o resultado procurado pode ser apenas o melhor resultado esperado, um mximo local do problema.

Um agente racional deve ser autnomo. Isso quer dizer que, dentre outras coisas, ele deve aprender baseado na sua percepo e nos efeitos para cada ao que realiza. Quando um agente se baseia somente no conhecimento anterior de seu projetista ele no tem autonomia. Contudo, se o agente consegue aprender por experincia e alterar seu

comportamento ele pode ter autonomia funcional. Agente autnomo deve aprender o que puder para compensar o conhecimento prvio parcial ou incorreto. Na prtica, raramente os agentes tm autonomia completa desde o incio. Agente autnomos so mais flexveis, podem se adaptar a novas condies de ambiente como por exemplo um agente de reconhecimento de fala que possui um conjunto pr-definido de padres, mas pode aprender o sotaque de um novo usurio. Um agente inteligente verdadeiramente autnomo deveria ser capaz de operar com sucesso em um grande variedade de ambientes, dado um tempo suficiente para se adaptar. Um agente definido em um programa de agente, que caracterizado por uma funo de agente. A funo de agente responsvel por determinar uma ao, baseada na percepo atual, ou em uma seqncia de percepes. A funo de agente dependente das caractersticas do ambiente de tarefas. Ela responsvel por maximizar a medida de desempenho do agente. importante ressaltar que o conceito de agente racional apenas uma ferramenta de modelagem para facilitar o entendimento de problemas, e no um conceito que determina o que e o que no racional.

2. AMBIENTES DE AGENTES
Um dos passos principais do projeto de um agente especificar o ambiente de tarefa de forma to completa quanto possvel. Existem vrias caractersticas que devem ser levadas em considerao para definir um ambiente:

Acessibilidade: Um ambiente acessvel quando o agente tem acesso, atravs de seus sensores, todas informaes relativas ao ambiente e que influem em seu processo de deciso.

Determinstico ou Estocstico: Se o prximo estado do ambiente pode ser determinado pelo prximo estado do agente, ento o ambiente determinstico.

Episdico ou seqencial: Um ambiente dito episdico quando a experincia do agente dividida em episdios que no dependam de aes passadas. Nesta caso, cada episdio = percepo + ao.

Dinmico ou esttico: Se o estado do ambiente pode mudar enquanto o agente est processando

informaes ento o ambiente dinmico, caso contrrio, ser esttico. Discreto ou contnuo: Se o nmero de aes e percepes limitado ento o ambiente discreto, caso contrrio, ser contnuo. Agente nico ou agentes simples: Refere a quantidade de agentes no ambiente. Por exemplo, em um jogos de palavras cruzadas o ambiente agente nico. J no Xadrez temos agentes mltiplos em ambiente

competitivo. Na tarefa de dirigir txi o ambiente possui agentes mltiplos cooperativos. Ambiente com agentes mltiplos precisam de uma forma de comunicao.

3. TIPOS DE AGENTES
Pode de acordo com Russel & Norvig (2003) existem diversas classificaes de agentes que mostraremos a seguir.

3.1. AGENTE REATIVO SIMPLES Os agentes reativos (Figura 26) so simples e limitados funcionando somente se a deciso correta puder ser tomada

com base apenas na percepo atual. O seu ambiente completamente observvel. Em sua execuo gera uma descrio abstrata do estado a partir do que foi percebido e tenta associar sua pecepo com um regra previamente programada, retornando a primeira regra que "casou" com a descrio do estado.

Figura 26: Modelo de agente reativo [Russel & Norvig, 2003]

3.2. AGENTE REATIVO COM ESTADO INTERNO O agente com estado interno (Figura 27) deve controlar as partes do mundo que ele no pode perceber. So reflexivos que se baseiam tambm no estado passado do ambiente. Neste caso ele deve manter um estado interno que dependa do histrico de percepes e reflita os aspectos no observados no estado atual. Dois tipos de conhecimento so necessrios para atualizar o estado interno do agente (modelo do mundo): Como o ambiente evolu independente do agente e Como as aes do prprio agente afetam o mundo.

Figura 27: Modelo de agente reativo com estado interno [Russel & Norvig, 2003]

3.3. AGENTES BASEADOS EM OBJETIVOS Neste tipo de arquitetura, o agente precisa de algum tipo de informao sobre o seu objetivo a qual decreve situaes desejveis. Combinando informaes sobre o objetivo do agente e os resultados de suas aes, o agente pode escolher aquelas que alcancem o objetivo. Para encontrar seqncias de aes que alcanam os objetivos este tipo de agente deve implementar algoritmos de Busca e Planejamento.

Figura 28: Modelo de agente baseado em objetivos [Russel & Norvig, 2003]

A seleo da ao baseada em objetivo pode ser:

Direta: quando o resultado de uma nica ao atinge o objetivo ou Complexa: quando ser necessrio longas seqncias de aes para atingir o objetivo.

3.4. AGENTE BASEADO EM UTILIDADE Se um estado do mundo mais desejvel que outro, ento ele ter maior utilidade para o agente. A utilidade uma funo que mapeia um estado para um nmero real que representa o grau de satisfao com este estado. A especificao completa da funo de utilidade decises racionais em dois tipos de casos: Quando existem objetivos conflitantes (velocidade x segurana) a funo de utilidade especifica o

compromisso apropriado e Quando existem vrios objetivos que se deseja alcanar e nenhum deles pode ser atingido com certeza ponderar a importncia dos objetivos

Figura 29:Modelo de agente baseado em utilidade [Russel & Norvig, 2003]

3.5. AGENTES COM APRENDIZAGEM

Em agentes sem aprendizagem tudo o que o agente sabe foi colocado nele pelo projetista. A aprendizagem tambm permite ao agente atuar em ambientes totalmente desconhecidos e se tornar mais competente do que o seu conhecimento inicial poderia permitir Elemento de aprendizado: o Responsvel aperfeioamentos; o Utiliza realimentao do crtico sobre como o agente est funcionando; o Determina de que maneira o elemento de desempenho deve ser modificado para funcionar melhor no futuro Crtico: o Informa ao elemento de aprendizado como o agente est se comportando em relao a um padro fixo de desempenho; o necessrio porque as percepes no fornecem nenhuma indicao de sucesso; pela execuo dos

Figura 30: Modelo de agente com aprendizagem [Russel & Norvig, 2003]

4. SISTEMAS MULTIAGENTE

4.1. INTELIGNCIA ARTIFICIAL DISTRIBUDA (IAD) Existem diversos motivos para distribuir sistemas inteligentes. O principal deles que alguns domnios de aplicao, por exemplo, controle de trfego areo e distribuio de energia eltrica so inerentemente distribudos no espao. Outras razes incluem: Melhorar a adaptabilidade, a confiabilidade e a autonomia do sistema Reduzir os custos de desenvolvimento e manuteno Aumentar a eficincia e a velocidade Permitir a integrao de sistemas inteligentes existentes de maneira a aumentar a capacidade de processamento e principalmente a eficincia na soluo de problemas

Permitir a integrao dos computadores nas redes de atividades humanas Alm dessas razes deve-se ainda salientar que para problemas realmente grandes a nica possibilidade de soluo a soluo distribuda o que coloca a IAD como a nica tcnica indicada quando o problema ultrapassa um grau razovel de complexidade. O surgimento dessa rea se deve a necessidade de resolver alguns tipos de problemas onde a soluo inerentemente distribuda, geograficamente ou funcionalmente. A IAD pode ser considerada como uma unio da IA tradicional (origem psicolgica) coma a metfora do comportamento social (origem sociolgica) e ir abordar os sistemas de agentes como sociedades de agentes inteligentes. Nesse ramo de pesquisa ainda so estudadas as tcnicas de raciocnio e conhecimento que sero teis para determinados

grupos de agentes computacionais integrarem uma sociedade de agentes. IAD est centrada na resoluo de cinco tipos de problemas: 1. como descrever, decompor e alocar tarefas para um conjunto de agentes; 2. como promover a interao e comunicao entre agentes (linguagens de comunicao, protocolos, o qu e quando comunicar); 3. como coordenar, controlar e assegurar o comportamento coerente (assegurar um comportamento global coerente em um conjunto de agentes); 4. como administrar conflitos e incertezas (resolver

conflitos e coordenar as aes dos agentes); 5. como definir que linguagens ser e ambientes para de a

programao

devem

utilizados

implementao dos agentes. IAD se dividiu em dois enfoques: a soluo distribuda de problemas (SDP - distributed problem solving) e sistemas multiagentes (SMA - multiagent systems). A SDP tem como foco principal o problema conforme a tradio na IA simblica. Seus objetivos so utilizar a capacidade de processamento e a robustez oferecidas pela tecnologia de redes para atacar problemas naturalmente distribudos ou excessivamente complexos. Para a SDP os agentes so prprogramados para cooperar e seus mtodos visam garantir que esta cooperao ocorra de maneira coerente, robusta e eficiente. A qualidade de um sistema de SDP medida pelo desempenho global do sistema e os agentes envolvidos em SDP so programados dividir tarefas e comunicar-se de maneira confivel.

4.2. SISTEMAS MULTIAGENTE Os Sistemas Multiagentes (SMA) so projetados para

resolverem diversos tipos de problemas que requerem coordenao do comportamento inteligente entre uma coleo de agentes inteligentes e autnomos, envolvendo aspectos como seus conhecimentos, objetivos, habilidades e planos de forma conjunta para realizar aes ou solucionar problemas. So agentes colaborativos e buscam a soluo conjunta para alcanar os objetivos dentro de um ambiente. Isso ocorre pois, na maioria das situaes, eles tm conhecimento da sua prpria existncia e da existncia de outros agentes. Portanto o objetivo dos SMA estudo das pressuposies bsicas sobre agentes que garantam a possibilidade de ao cooperativa em sociedade. Conforme suas funes, cada agente possui diferentes papis na sua sociedade, para alcanar seus objetivos. Nesta sociedade, um problema complexo pode ser resolvido de forma eficiente por um grupo de agentes competentes que podero dividir este problema em partes menores que sero

solucionadas entre os agentes, conforme suas capacidades e objetivos que evoluem de forma dinmica e autnoma, a fim de elaborar a resoluo do problema. Uma das razes para se utilizar a abordagem de SMA que em algumas aplicaes o conhecimento essencialmente distribudo e um problema pode ser dividido em partes menores, facilitando a sua resoluo. Baseando-se no grau de cooperao existente entre os agentes, pode se distinguir dois tipos de sistemas multiagentes: CMAS Cooperative Multiagent Systems (Sistemas

Cooperativos Multiagentes)

o abrange sistemas onde os agentes desenvolvidos pelo mesmo projetista, buscando o melhor aproveitamento do sistema. o Para estes sistemas, o desempenho de cada agente em particular no um fator decisivo; SMAS Self-Interested Multiagents System (Sistemas

Multiagentes com Interesses Prprios) o sistemas onde os agentes foram programados por diferentes projetistas, visando no o benefcio na cooperao, mas os benefcios procedentes de sua atuao autnoma. Os sistemas multiagentes dividem-se em duas classes principais: Agentes Reativos e Agentes Cognitivos [Russell & Norvig, 2003]. A abordagem reativa baseia-se na idia de que agentes com aes elementares podem realizar trabalhos complexos. Segundo [Alvares, 1997], nos sistemas multiagentes reativos no h representao explcita do conhecimento; no h representao do ambiente; no h memria das aes; a organizao etolgica, ou seja, similar a dos animais; e existe grande nmero de membros. Os agentes reativos so muito simples e no possuem representao do seu ambiente. Suas reaes dependem unicamente de sua percepo deste ambiente. A Inteligncia Artificial clssica define um problema de uma maneira global, criando mtodos de resoluo que se aplicam diretamente e exclusivamente sobre esta definio. Os modelos de SMA Reativos, por outro lado, concebem o problema como sendo um conjunto de agentes interagindo entre si, onde cada um destes possui seus prprios objetivos individuais. Uma forma usual de representar os comportamentos dos agentes atravs de um conjunto de regras.

Os sistemas multiagente cognitivos so baseados em modelos organizacionais mercados. humanos, como os grupos, agentes hierarquias mantm e

Nestes

sistemas

uma

representao explcita de seu ambiente e dos outros agentes da sociedade; podem manter um histrico das interaes e aes passadas; a comunicao entre os agentes direta, atravs de mensagens; seu mecanismo de controle deliberativo, ou seja, os agentes raciocinam e decidem seus objetivos, planos e aes; seu modelo de organizao sociolgico; uma sociedade contm poucos agentes. Apesar da classificao (Figura 31), os sistemas multiagente podem no ser totalmente cognitivos ou reativos. Um sistema pode ser uma mistura dos dois para atender a soluo de um determinado problema.

Figura 31: Classificao dos Sistemas Multiagente

4.2.1. COMUNICAO

COORDENAO

EM

SISTEMAS MULTI-AGENTES As duas principais caractersticas de um agente, por definio, perceber e agir. A habilidade de comunicar-se faz parte da percepo (quando recebe mensagens) e da ao (quando envia mensagens). A construo de sistemas multiagentes requer a escolha da arquitetura correta. Isto inclui a questo de como distribuir as responsabilidades do sistema entre os seus

agentes (componentes) e como estes agentes devem interagir para cumprir estas responsabilidades. Um sistema multiagente sempre deve considerar tambm as caractersticas da infraestrutura de comunicao a ser usada e as estratgias de coordenao das atividades dos agentes. De maneira similar sociedade humana, h uma srie de situaes nas quais necessria a comunicao entre agentes. Tais situaes incluem: Trocar informaes entre os agentes a respeito da parte do sistema que cada um deles est, Consultar outros agentes sobre determinados aspectos do ambiente, Responder as solicitaes de outros agentes, Aceitar requerimento e propostas, Compartilhar experincias e conhecimento.

A comunicao pode ocorrer de forma indireta, utilizando uma arquitetura do tipo quadro-negro e de forma direta, utilizando arquiteturas baseadas em trocas de mensagens, atravs das linguagens de comunicao de agentes (ACL). A coordenao de agentes o processo de gerenciar dependncias entre atividades [Malone, 1994] em que agentes se engajam para garantir que um grupo de agentes tenha um comportamento coerente [Nwana & Jennings, 1996]. Exemplos: controle de trfego areo time de futebol desfile de carnaval trnsito de automveis em uma cidade operao militar vo de bando de pssaros sistema imunolgico animal construo de avio, estrada, etc.

operao cirrgica orquestra

A coordenao um pressuposto fundamental para o trabalho conjunto. Um SMA pressupe coordenao entre seus agentes! Porque geralmente h dependncias entre as aes uma vez que nenhum agente pode resolver o problema sozinho. Contudo deve-se respeitar as restries globais e garantir a harmonia na execuo conjunta de tarefas.

Portanto, em outras palavras coordenao em um SMA o processo pelo qual um agente raciocina sobre suas aes locais e as de outros agentes para garantir que a comunidade funcione coerentemente, visando garantir que todas as partes necessrias existam na sociedade e a interao que possibilite a execuo das atividades. Alm disso a coordenao deve garantir que todos atuem consistentemente e que tudo seja feito com dos recursos disponveis. Para haver coordenao com sucesso preciso: Uma estrutura... Flexibilidade nas interaes Comunicao Negociao

Conhecimento e raciocnio Para reconhecer interaes potenciais entre planos de ao.

UNIDADE V AGENTES INTELIGENTES

5. EXERCCIOS

1. Defina o que vem a ser um agente na IA. 2. O que a medida de desempenho de uma agente? 3. Quais so as caractersticas de um ambiente de agente? Descreva cada um deles 4. Faa um estudo comparativo entre os diferentes tipos de agentes. 5. Defina as principais diferenas entre a IAD distribuda e convencional. 6. Na IAD, qual a diferena entre a Soluo de Problemas Distribudos e Sistemas MultiAgentes? 7. Baseando-se no grau de cooperao existente entre os agentes, explique os dois tipos de sistemas multiagentes (CMAS Cooperative Multiagent Systems e SMAS Self-Interested Multiagents System). 8. Qual a importncia da comunicao em um SMA 9. Em que conceitos se baseia a coordenao de agentes em um SMA?

UNIDADE V AGENTES INTELIGENTES

6. WEBLOGRAFIA

Universidade Aberta do Piau UAPI http://www.ufpi.br/uapi Universidade Aberta do Brasil- UAB http://www.uab.gov.br Secretaria de Educao a Distncia do MEC SEED http://www.seed.mec.gov.br Uma Introduo aos Agentes Inteligentes http://www.computacao.gigamundo.com/2009/04/06/umaintroducao-aos-agentes-inteligentes/ Agentes Inteligentes http://www.cic.unb.br/~jhcf/MyBooks/ciber/doc-ppthtml/AgentesInteligentes.html Inteligncia Artificial Distribuda http://www.das.ufsc.br/gia/iaft-apoio/iad.pdf Coordenao de Atividades em Ambientes de Aprendizagem Colaborativos http://www.tecgraf.pucrio.br/publications/artigo_2002_coordenacao_atividades_apren dizagem.pdf

UNIDADE V AGENTES INTELIGENTES

7. REFERNCIAS BIBLOGRFICAS
Russel, Stuart; Norvig, Peter: Inteligncia Artificial. So Paulo, 2003. 1040p Bittencourt, Guilherme: Inteligncia Artificial Ferramentas e Teorias. 362p Rich, Elaine; Knight, Kevin: Inteligncia Artificial. Makron Books. 2. Edio. So Paulo, 1994. 722p. Giddens, A. Central problems in social theory: action, structure and contradiction in social analysis. USA: University of California, 1979. Holmstron, B.; Tirole, J. The theory of the firm. In: Schmalensee, R.; Willig, R. D., eds. Handbook of Industrial Organization, v.I. Amsterdan: Elsevier, 1989. p.61-133. Meyer, J.-A.; Roitblat, H.; Wilson, S. W. From animals to animats 2: proceedings of the second international conference on simulation of adaptive behavior. USA: MIT Press, 1993. 523p. Finin, T.; Mckay, D.; Fritzson, R. An overview of KQML: a knowledge query and manipulation language, Draft. USA: University of Maryland, Mar 1992. Disponvel: site UMBC Agent Web. URL: http://www.cs.umbc.edu/kqml. Consultado em 10 mar. 1999. Dawkins, R. The selfish gene. Oxford: Oxford, 1976. 352p. Alvares, L. and Sichman, J. Introduo aos sistemas multiagentes. Jornada de Atualizao em Informtica, 1997. W.C. Hill. The mind at AI: Horseless carriage to clock. The AI Magazine, pages 29-41, Summer 1989. Editora da UFSC. 2. Edio. Florianpolis, 2001. Campus

Malone, T. W. & Crowston, K. The Interdisciplinary Study of Coordination. ACM Computing Surveys, vol. 26, no. 1, pp. 87119. Nwana, H. S. (1996) Software Agents: An Overview. Knowledge Engineering Review, vol.11, n. 3, pp. 1-40, Cambrigde University Press.

UNIDADE VI INTRODUO A ROBTICA

RESUMO Das sub-reas da IA uma das que chamam mais ateno a robtica. Tanto que, atualmente considerada por muito uma rea cientfica desassociada da inteligncia artificial. Muita dessa ateno se deve ao fato que a robtica uma campo de pesquisa com maior penetrao social. Seja pelo cinema, seja pela utilizao na maioria das industrias ou seja pelo seu uso no cotidiano das pessoas. Nesta unidade apresentaremos as principais definies de termos associados a robtica explicando atravs deles como se organiza funcionalmente um rob. Mostraremos ainda as principais aplicaes da robtica.

UNIDADE V INTRODUO A ROBTICA

1. DEFINIES
J h muito tempo o homem procura empregar dispositivos para realizar tarefas em ambiente inspitos ou perigosos sade do homem, ou tarefas repetitivas ou que envolvam a anlise de uma quantidade elevada de informaes e que necessitam de resultados com preciso e eficincia. E em todas essas atividades executadas por mecanismos

construdos pelo homem h a tomadas de decises de acordo com as informaes coletadas do ambiente. O desenvolvimento da robtica iniciou-se na metade do sculo XVIII, com a construo de bonecas mecnicas de tamanho humano que tocavam msica, passando pela inveno de mquinas programveis para tecer, no incio do sculo XIX, e mquinas operadas por controlador baseado em registros de sinais eltricos, no ano de 1946. A construo de robs utilizados em linhas de montagens iniciou-se a partir dos anos 70 com o desenvolvimento de linguagem de programao, estudos e pesquisas em inteligncia artificial que visam ao desenvolvimento de sistemas que paream comportar-se de forma inteligente. Atualmente os robs so os dispositivos que executam essas tarefas. E a robtica o campo que se preocupa com o desenvolvimento de tais dispositivos. A diversidade de tipos de robs que existem impedem que haja uma definio de rob que seja universalmente aceite. No entanto h um conjunto comum de componentes que essa diversidade de robs partilha, como por exemplo, sistemas de locomoo, sensores e atuadores.

Portanto, convencionou-se que um rob uma mquina programvel que imita as aes ou aparncias de uma criatura inteligente, geralmente um humano. A Federao Internacional de Robtica (IFR) define o rob como sendo uma mquina que pode ser programada para executar tarefas que envolvam aes de manipulao, e em alguns casos aes de locomoo, sob um controle automtico. J de acordo com a Robotics Industries Association (Associao das Indstrias de Robtica) temos a seguinte definio de rob: Um rob um dispositivo mecnico articulado programvel, processamento: obter informao do meio envolvente que consegue, de forma

autnoma e pode, devido sua capacidade de

utilizando sensores; tomar decises sobre o que deve fazer com base nessa informao e em informao priori; manipular objetos do meio envolvente utilizando atuadores. A robtica uma rea multidisciplinar altamente ativa, que busca o desenvolvimento e a integrao de tcnicas e algoritmos para a criao de robs. Para fazer um rob funcionar os engenheiros tm que dominar tcnicas de diversos ramos da cincia tais como matemtica, fsica, mecnica, eletrnica, teoria de controlo de sistemas,

automao industrial, viso computacional, comunicaes, processamento de sinais, entre outras.

2. TIPOS DE ROBS
Devido a vrias diferenas em funo de caractersticas e propriedades, existem diversas classes de robs que se diferenciam em suas aplicaes e formas de trabalhar.

Os Robs Inteligentes so manipulados por sistemas multifuncionais controlados por computador, so capazes de interagir com seu ambiente atravs de sensores e de tomar decises em tempo real. Atualmente dedicam-se grandes esforos no desenvolvimento desse tipo de rob. Robs com controle por computador so semelhantes aos robs inteligentes, porm no tem a capacidade de interagir com o ambiente. Se estes robs forem equipados com sensores e software adequado, se transformam em robs inteligentes. J os robs de aprendizagem limitam-se a repetir uma seqncia de movimentos, realizados com a interveno de um operador ou uma seqncia memorizada. Os robs manipuladores so sistemas mecnicos

multifuncionais, cujo sistema de controle permite governar o movimento de seus membros das seguintes formas: manual, quando o operador controla diretamente os movimentos; de seqncia varivel, quando possvel alterar algumas das caractersticas do ciclo de trabalho.

3. ORGANIZAO FUNCIONAL DE UM ROB


Em termos gerais, a arquitetura de um rob se organiza como o diagrama da Figura 32.

Operador / Mquina Perifrica Sistema de Comunicao


Sistema Inteligente

Sistema de Deciso

Sistema de Controle

Sensoriamento Externo

Sensores Internos

Atuadores Acionadores

Estrutura Mecnica

rgos Terminais

Ambiente / Objetos

Manipulador
Figura 32: Organizao Funcional de um Rob [ADADE FILHO, 1999]

Sistema de ao mecnica (manipulador) constitudo por uma estrutura mecnica que suporta ou conduz o rgo terminal de atuao (garra ou ferramenta) e tambm pelos elementos de acionamento que atuam sobre esta estrutura, proporcionando seu movimento. O Sistema de percepo (sensoriamento): visa obter

informaes sobre o estado do rob, dos objetos no espao de trabalho e das mquinas com as quais ele trabalha. J o Sistema de controle comanda os atuadores e

conseqentemente a estrutura mecnica do rob, atravs de sinais adequados sintetizados a partir das informaes advindas do operador, do sistema de percepo e de seu prprio sistema de inteligncia. No Sistema de Inteligncia temos a comunicao e deciso

a ser realizada pelo rob. o nvel hierrquico mais alto de controle, constitudo por um conjunto de programas lgicos de representao, comunicao (troca de informao) e

tratamento dirigido (inteligente) das informaes advindas do

operador, do sistema de percepo ou do sistema de controle. Esse sistema deve executar as seguintes tarefas: Comunicao com o operador, com os sistemas de percepo, de superviso e de segurana e com o sistema de sincronizao com outras mquinas. Eventualmente poder haver um sistema de anlise e sntese de voz; Interpretao adequada das mensagens; Resoluo de problemas associados a cada mensagem; Gerao de planos de ao e de mensagem para o operador ou outras mquinas; Gesto de base de dados associada ao sistema; Gerao dos movimentos de referncia a serem executados pelo sistema de controle; Coordenao dos movimentos do manipulador com o seu ambiente; Gerao de informaes complementares para o sistema de controle.

4. DISPOSITIVOS DE ROBTICA

Figura 33: Com ajuda de sensores os robs memorizam movimentos de uma tarefa para depois repeti-la atravs de seus atuadores (Fellipe de Souza)

Os robs usam sensores para obter informaes do seu mundo em volta, para desempenhar as suas tarefas, e em especial no manuseio de objetos. H sensores para muitas grandezas tais como posio, distncia, viso, acsticos e muitos outros. E quanto a natureza destes sensores tambm h muitos tipos: ticos, fotoeltricos, infra-vermelhos e ultra snicos. Em geral um sensor mede uma caracterstica do ambiente ou espao em que ele est e proporciona sinais eltricos. Estes dispositivos simulam os sentidos humanos, principalmente a viso. Mas os robs tm a vantagem de poder detectar caractersticas fsicas que ns humanos no conseguimos detectar com os nossos sentidos, como por exemplo: os campos magnticos, ondas ultra-snicas, entre outros. As dificuldades que os sensores por vezes tm so relacionadas com a interferncia nas medidas que fazem, ou em outras. Ora o sensor pode sofrer a interferncia, ora ele pode interferir em algumas grandezas do sistema. Por exemplo, os medidores de esforo ou presso podem ser sensveis temperatura. Em geral um sensor d a sua medida como um sinal eltrico. Se desejamos a medida em outra grandezas necessrio usar um transdutor. Transdutores so dispositivos que transformam um determinado tipo de medida (ou grandeza fsica) num outro tipo diferente. Os sensores ticos podem medir quase todas as grandezas fsicas. Estes sensores so chamados de ticos porque usam tcnicas magntico-ticas, ou de laser, ou com fibras pticas, ou de reflexo de luz ou outras radiaes eletromagnticas. As vantagens dos sensores pticos (sobre os sensores no ticos ou convencionais) so uma maior sensibilidade na medio, passividade eltrica, larga amplitude dinmica, configurao de ponto e distribuda (isto , podem medir

localmente ou uma regio grande) e capacidade multiplexadora isto , podem receber ou enviar vrios sinais em um mesmo canal de comunicao. Os sensores fotoeltricos de luz so uma forma de viso para a robtica. Estes sensores mudam a resistncia, o dodo, ou o transistor conforme detecta luz. Ou seja, quando um feixe de luz detectado eles respondem seja criando ou trocando um sinal eltrico que ser analisado permitindo que o dispositivo tome uma deciso. Com o uso de filtros um sensor de luz pode criar respostas seletivas com as quais o rob unicamente poder perceber determinadas cores. O uso de sensores de luz permite aos robs se comunicarem. Para sistemas mais complexos os sensores de luz no so suficientes. Por exemplo: eliminar um produto defeituoso da banda transportadora numa linha de produo. Esta uma tarefa que os humanos fazem com certa facilidade mas porque no usam somente a viso, mas sobretudo o crebro, na tomada de deciso. Nestes casos os robs necessitam do auxlio do computador para fazer a seleo com base em informaes que os sensores de luz produzem. Para isto o computador muitas vezes tem que usar tcnicas de Inteligncia Artificial

(reconhecimento de padres) que simulam o funcionamento do nosso crebro na tomada de decises. O computador processa e envia uma informao de volta para o dispositivo robtico com uma ordem (de aceitar ou rejeitar o produto). Os sensores de infra-vermelho so usados para

comportamentos simples dos rob, como por exemplo, evitar obstculos ou mesmo para os robs se deslocarem. O rob emite um raio para um obstculo e mede a distncia de maneira similar a um radar (em avies) ou sonar (em navios).

Mas mesmo a viso robtica pura e simples ainda muito imperfeita e portanto, um dos grandes desafios para a engenharia de hoje em dia. Para poder gerar imagens tridimensionais a partir de 2 imagens muito semelhantes em um tempo curto se requer uma grande quantidade de memria e de um processador muito poderoso. difcil programar um rob para que ele saiba o que deve ignorar e que no deve ignorar das imagens que ele v. Os robs tm problemas para interpretar sombras, trocas de luzes e brilho. Alm disso, para poder ter percepo da profundidade necessrio que tenham viso estereoscpica (3D), como ns humanos que temos dois olhos. Os sensores de tato tambm ajudam aos robs (que no tm capacidade de viso) a caminhar. Os sensores contatam e enviam um sinal para que o rob saiba que h tocado com algum objeto. Os sensores mais comuns para isto so os do tipo piezeltrico. Com os sensores de posio tornam possvel ensinar a um rob a fazer uma funo repetitiva em funo dos seus movimentos. Os sensores localizados em certos pontos do prprio rob guardam informaes sobre as trocas de posies. Desta forma o rob poder ento recordar a informao e repetir o trabalho na forma exata que foi realizado inicialmente. Alguns outros tipos de sensores robticos, ou combinao dos j mencionados acima: Acelermetro: Detecta movimentos, vibraes, e ngulos com respeito gravidade. Sensor de corrente: Mede o uso de corrente e potncia pelo rob. Bssola digital: Detecta orientao com respeito ao campo magntico terrestre.

Encoders: (Linear ou translacional, Rotary ou de rotao e Slot ou de ranhura): Usado para determinar distncia translacional, velocidade rotacional e/ou ngulo das partes mveis do rob.

Emissor e detector infra-vermelho: Emite e detecta raios infra-vermelho. Pode ser usado para sinalizar, para evitar obstculos, e para detectar cor.

Sensores de carga e de momento (torque): Mede momentos e outras foras do rob. Rangefinder: Detecta limites de obstculos de poucos centmetros at vrios metros. Modulado para estar imune a irradiaes de infra-vermelho do ambiente.

Sonar ou sensor ultra snico: Detecta obstculos e pode determinar a dureza / maciez dos objetos pela ecolocao.

Chaves tteis de choques: Detecta contacto fsico do rob quando colide com algo. Sensor piroeltrico: Detecta fogo e outras fontes de calor (como velas acesas, chamas, etc.). Tambm usado para detectar movimento de pessoas e animais, pois irradiam calor do seu corpo.

Figura 34: O rob construdo na Universidade Carnegie Mellon nos Estados Unidos para fazer inspees do interior de tanques e reservatrios de combustveis (Fellipe de Souza)

4.1. ATUADORES Os atuadores so usados em automao para entregar ao sistema a excitao necessria para seu funcionamento, na forma do tipo de energia adequado. Se o funcionamento do

sistema estiver baseado em algum movimento de uma de suas partes, sero necessrios atuadores para fornecer energia mecnica para o movimento. Se o sistema for trmico, ser necessrio um atuador que fornea energia trmica para atingir uma dada temperatura desejada. Os atuadores se dividem em: hidrulicos, pneumticos e eltricos. Os atuadores hidrulicos se caracterizam por terem como fonte de energia um lquido que se desloca por um conduto com uma presso adequada. Este lquido geralmente leo ou gua. O atuador pneumtico tem como fonte de energia um gs pressurizado, geralmente ar comprimido. J os atuadores eltricos usam energia eltrica. Os atuadores hidrulicos so os mais antigos pois foram os primeiros a serem usados e so normalmente empregado em sistemas onde se requer altas velocidades nos movimentos, com pouco controle sobre o posicionamento final, em aplicaes onde o momento exigido relativamente baixo. Os atuadores pneumticos funcionam com energia pneumtica (ar comprimido) e executam movimentos lineares, rotativos e semi-rotativos ou angulares. As trs variveis bsicas para o controlo desses movimentos so o sentido do movimento, a velocidade e a fora. Atuadores eltricos so equipamentos eletromecnicos que substituem com alta confiabilidade a operao manual de vlvulas em: locais de difcil acesso ou periculosidade elevada para o operador; casos que demandam conjugado de actuao elevado;

condies onde for requerido posicionamento rpido, especialmente em vlvulas cujo nmero total de voltas seja grande;

regime de trabalho com alta-frequncia de manobras; controlo automtico de processos onde as vlvulas operam em duas posies extremas ou com reposicionamentos intermedirios (modulao).

5. LINGUAGEM DE PROGRAMAO DE ROBS


Os robs so controlados por computador. Alguns sistemas fazem uso de vrios processadores, de modo a tratar adequadamente as situaes de comunicao/controle

previstas, processar os comandos dados pelo usurio e sua converso em comandos para o rob. As categorias bsicas de programao podem ser por aprendizagem e atravs de linguagem. A programao por aprendizagem consiste em fazer o rob movimentar-se, em fase de aprendizagem, segundo uma seqncia de movimento requisitado e registrar o movimento na memria do controlador. Na programao por linguagem textual possvel definir coordenadas e estabelecer a lgica e seqncia do ciclo de trabalho. O uso de linguagem amplia as possibilidades de clculos, permite o detalhamento do fluxo lgico e um maior uso de sensores e comunicao. Durante o desenvolvimento industrial, alguns equipamentos programveis acabaram por se beneficiar com a padronizao de suas linguagens de programao. Essa padronizao altamente vantajosa, permitindo a migrao rpida de

programas entre plataformas e fazendo com que o aprendizado da linguagem seja til em uma grande quantidade de equipamentos. impossvel deixar de citar os Controladores Lgicos Programveis (CLP) que usam, por exemplo, a linguagem LADDER e os Comandos Numricos

Computadorizados (CNC) que empregam em sua maioria a linguagem conhecida popularmente como Cdigo G. Apesar da padronizao, deve ficar claro que h pequenas diferenas entre equipamentos devido s caractersticas particulares de cada um, que acabam levando a adaptaes da linguagem utilizada. Pelo fato desses equipamentos possurem grandes diferenas entre suas configuraes e aliado ao fato de poderem ser aplicados a tarefas extremamente distintas, cada fabricante acabou desenvolvendo sua prpria linguagem. Uma pesquisa na Internet revela a grande quantidade de linguagens existentes.

6. ROBTICA E INTELIGNCIA ARTIFICIAL


Os modernos conceitos de controle de robs, assim como de utilizao de sensores de viso e tteis, tm suas razes nas pesquisas sobre inteligncia artificial. Assim, em vez de armazenar imagens de peas e objetos dentro da memria dos sistemas de viso, certas caractersticas dos objetos so armazenadas, como, por exemplo, permetro, rea, nmero de furos e assim por adiante. Conforme os sistemas vo-se tornando mais complexos e comeam a ter capacidade para tratar em ambientes tridimensionais abarrotados de dados, eles exigem maior inteligncia por parte do sistema de viso. Outra rea promissora a pesquisa no campo de programao ao nvel de tarefa. Em vez de programar o rob para realizar um dado movimento, ser possvel emitir comandos e o rob ser capaz de reagir e planejar a execuo da tarefa. Por exemplo, ao comandar seu criado-rob para pegar o meu jornal, ele precisar processar esse comando, defini r a trajetria at onde o jornal estar, identificar o objeto jornal, peg-lo, caminhar por uma trajetria de retorno e entregar o jornal.

Esse aperfeioamento, com o intuito de dotar os robs de uma inteligncia para executar as tarefas necessrias, conseguido com o desenvolvimento de outros campos da inteligncia artificial, como as Redes Neurais e a Lgica Fuzzy. As redes neurais: so adaptativas, ou seja, aprendem com a experincia; so capazes de generalizar a experincia, e so capazes de resolver corretamente situaes com um certo grau de variabilidade; se forem ligadas sensores adequados, so capazes de reconhecer padres complexos, visuais ou outros, como forma, cor, som, textura, etc. A lgica fuzzy facilita a construo de regras, tais como: ande mais rpido, vire um pouco para a esquerda, diminua bastante a velocidade, obstculo perto, entre outras.

7. APLICAES
O desenvolvimento de sistemas inteligentes que interagem com o meio ambiente permite a explorao de locais de difcil acesso ou onde a presena do homem pode ser posta em risco, alm das aplicaes atuais, outras podero ser desenvolvidas. A indstria que mais usa manipuladores industriais, ou braos robticos, como so tambm chamados, principalmente a indstria automvel. Isso inclui as indstrias montadoras de veculos assim como tambm as indstrias de auto-peas. Na verdade estas e outras grandes indstrias usam no s os robs manipuladores como tambm automao em geral. Isso quer dizer robs que no so os braos manipuladores e outros tipos de mquinas automatizadas. Muitos outros exemplos ainda poderiam ser acrescentados. Uma lista

completa de indstrias que usam automao e robtica seria infindvel. Na sociedade os robs esto nas linhas de montagens da industrias metalrgica e de preciso, podero auxiliar idosos, deficientes ou enfermos nas atividades dirias, viro como companheiros na formas de pequenos animais como cachorro e gatos e continuaro a prestar seus servios na segurana pblica, na prospeco a grandes profundidades ou nos pontos distantes do espao.

UNIDADE VI INTRODUO A ROBTICA

8. EXERCCIOS

1. Defina o que vem a seu um rob? 2. Qual o papel e o que estuda a robtica? 3. Enumere e defina os tipos de robs. 4. Qual o papel dos sensores em um sistema robtico? 5. Qual a diferena e qual o ramo de atuao dos sensores ticos e os fotoeltricos. 6. Em que so utilizados os sensores infra-vermelho? 7. Qual o papel dos atuadores no sistema robtico? 8. Os atuadores se dividem em: hidrulicos,

pneumticos e eltricos. Explique a diferena entre eles.

UNIDADE VI INTRODUO A ROBTICA

9. WEBLOGRAFIA

Universidade Aberta do Piau UAPI http://www.ufpi.br/uapi Universidade Aberta do Brasil- UAB http://www.uab.gov.br Secretaria de Educao a Distncia do MEC SEED http://www.seed.mec.gov.br Associao Brasileira de Educao a Distncia ABED http://www.abed.org.br Robtica http://www.ele.ita.cta.br/~tojo/arquivos/robotica_doc.doc Classificao Geral dos Robs http://www.din.uem.br/~ia/robotica/classif.htm Robtica - Felippe de Souza http://webx.ubi.pt/~felippe/texts/robotica_cap0.pdf Linguagem de Programao de Rob http://www.mecatronicaatual.com.br/secoes/leitura/418 Robs na Industria http://www.demnet.ubi.pt/~felippe/texts/robotica_cap3.pdf ROBOTICS sensing thinking acting. http://www.thetech.org/exhibits_events/online/robotics/index.ht ml International Association for Automation and Robotics in Construction http://www.iaarc.org/frame/features/market/background.htm RIA - Robotic Industries Association http://www.robotics.org

UNIDADE VI INTRODUO A ROBTICA

10.

REFERNCIAS BIBLOGRFICAS

Russel, Stuart; Norvig, Peter: Inteligncia Artificial. Campus, So Paulo, 2004. 1040p. GROOVER, M.P.; WEISS, M.; NAGEL, R. N.; ODREY, N. G. Robtica: Tecnologia e Programao 1989 MacGraw-Hill. Adade Filho, A. Fundamentos de Robtica Verso 2.0 julho 1999 So Jos dos Campos, CTA-ITA-IEMP. .

Vinicius Ponte Machado


CV. http://lattes.cnpq.br/9385561556243194

Doutor

em

Engenharia

Eltrica

de

Computao

pela

Universidade Federal do Rio Grande do Norte (2009) e Mestre em Informtica Aplicada pela Universidade de Fortaleza (2003). Atualmente professor adjunto da Universidade Federal do Piau. Tem experincia na rea de Cincia da Computao, com nfase em Gesto do Conhecimento e Inteligncia Artificial, atuando principalmente nos seguintes temas:

sistemas multiagente, redes neurais artificiais e Redes Industriais.