Anda di halaman 1dari 126

Universidade Federal do Piau

Centro de Educao Aberta e a Distncia

INTELIGNCIA
ARTIFICIAL

Vincius Ponte Machado


Ministrio da Educao - MEC
Universidade Aberta do Brasil - UAB
Universidade Federal do Piau - UFPI
Universidade Aberta do Piau - UAPI
Centro de Educao Aberta e a Distncia - CEAD

Inteligncia Artificial

Vincius Ponte Machado


PRESIDENTE DA REPBLICA Dilma Vana Rousseff Linhares
MINISTRIO DA EDUCAO Jos Henrique Paim
GOVERNADOR DO ESTADO Wilson Nunes Martins
REITOR DA UNIVERSIDADE FEDERAL DO PIAU Luiz de Sousa Santos Jnior
SECRETRIO DE EDUCAO A DISTNCIA DO MEC Carlos Eduardo Bielshowsky
PRESIDENTE DA CAPES Jorge Almeida Guimares
COORDENADOR GERAL DA UNIVERSIDADE ABERTA DO BRASIL Joo Carlos Teatine de S. Clmaco
DIRETOR DO CENTRO DE EDUCAO ABERTA E A DISTNCIA DA UFPI Gildsio Guedes Fernandes

COORDENADORES DE CURSOS

ADMINISTRAO Francisco Pereira da Silva Filho


ADMINISTRAO PBLICA Fabiana Rodrigues de Almeida Castro
CURSO PILOTO DE ADMINISTRAO Maria da Conceio Prado de Oliveira
CINCIAS BIOLGICAS Raimundo Jos Arajo
FILOSOFIA Zoraida Maria Lopes Feitosa
FSICA Miguel Arcanjo Costa
MATEMTICA Joo Bencio de Melo Neto
PEDAGOGIA Vera Lcia Costa Oliveira
QUMICA Davi da Silva
SISTEMAS DE INFORMAO Arlino Henrique Magalhes de Arajo

EQUIPE DE DESENVOLVIMENTO CONSELHO EDITORIAL


COORDENAO DE MATERIAL DIDTICO Ubirajara Santana Assuno Prof. Dr Ricardo Allagio Ribeiro (Presidente)
APOIO PEDAGGICO Cleidinalva M Barbosa de Oliveira Des. Tomaz Gomes Campelo
EDIO Roberto Denes Quaresma Rgo Prof. Dr Teresinha de Jesus Mesquita Queiroz
PROJETO GRFICO Samuel Falco Silva Prof. Francisco Antonio Paes Landim Filho
DIAGRAMAO Francinaldo da Silva Soares Prof. Manoel Paulo Nunes
REVISO ORTOGRFICA Genuvina de Lima Melo Neta Prof. Iracildes Maria Moura F Lima
REVISO GRFICA Genuvina de Lima Melo Neta Prof. Vnia Soares Barbosa
Prof. Dr. Wladimir Alexandre Pereira Silva

M149i Machado, Vinicius Ponte


Inteligncia Artificial / Vinicius Ponte Machado-
Teresina: EDUFPI/UAPI
2011
126 p.

ISBN: 978-85-7463-346-6

1- Sistemas da Informao 2 - Inteligncia Artificial 3 - Edu-


cao a Distncia
I. Ttulo
C.D.D. - 006.3

2013 Universidade Federal do Piau - UFPI. Todos os direitos reservados.


A responsabilidade pelo contedo e imagens desta obra do autor. O contedo desta obra foi licenciado temporria e
gratuitamente para utilizao no mbito do Sistema Universidade Aberta do Brasil, atravs da UFPI. O leitor se compromete
a utilizar o contedo desta obra para aprendizado pessoal, sendo que a reproduo e distribuio ficaro limitadas ao mbito
interno dos cursos. A citao desta obra em trabalhos acadmicos e/ou profissionais poder ser feita com indicao da fonte.
A cpia deste obra sem autorizao expressa ou com intuito de lucro constitui crime contra a propriedade intelectual, com
sanses previstas no Cdigo Penal.
proibida a venda ou distribuio deste material.
Desde incio do uso do computador 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).
Neste mdulo 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 contedos indicados na Weblografia e
nas Referncias Bibliogrficas, principalmente, para aprofundar a leitura e
complementar o entendimento acerca do tema.
O mdulo dividido 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 da importncia de resolver problemas atravs
de buscas. Mostraremos ainda, como um problema deve ser formulado e
como usar a informao contida no prprio problema para resolv-lo. Na
unidade trs, veremos as principais tcnicas que revelam 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
UNIDADE 01
11 HISTRICO & CONCEITOS EM INTELIGNCIA ARTIFICIAL

CONCEITOS GERAIS.......................................................................................11
HISTRICO E EVOLUO DA IA........................................................................14

UNIDADE 02
23 RESOLUO DE PROBLEMAS ATRAVS DE BUSCAS

PROBLEMAS E ESPAO DE PROBLEMAS..........................................................23


MTODOS DE BUSCA.................................................................................... 26

UNIDADE 03
45 APRENDIZAGEM DE MQUINA

Aprendizagem Supervisionado..................................................................... 45
REDES NEURAIS.............................................................................................55
ALGORITMOS GENTICOS.............................................................................65

UNIDADE 04
75 REPRESENTAO DO CONHECIMENTO

AQUISIO DO CONHECIMENTO...................................................................75
MTODOS DE REPRESENTAO DE CONHECIMENTO...................................79
UNIDADE 05
87 AGENTES INTELIGENTES

DEFINIES.................................................................................................. 87
AMBIENTES DE AGENTES.............................................................................. 90
TIPOS DE AGENTES........................................................................................91
SISTEMAS MULTIAGENTE..............................................................................96

UNIDADE 06
105 INTRODUO A ROBTICA

DEFINIES....................................................................................................105
TIPOS DE ROBS............................................................................................106
ORGANIZAO FUNCIONAL DE UM ROB................................................... 107
DISPOSITIVOS DE ROBTICA.......................................................................... 108
LINGUAGEM DE PROGRAMAO DE ROBS...................................................112
ROBTICA E INTELIGNCIA ARTIFICIAL...........................................................113
PLICAES.....................................................................................................114
UNIDADE 01
Histrico & Conceitos em
Inteligncia Artificial

Resumindo
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 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 guia a pesquisa
em IA.
Nesta unidade, vimos em que diferem essas abordagens da IA, ao tempo em que fizemos 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.

Objetivo
1. Entender como surgiu a IA;
2. Compreender os princpios conceituais da Inteligncia Artificial;
3. Estudar a evoluo das pesquisas em IA;
4. Categorizar as aplicaes em IA;
5. Distinguir as aplicaes quando programadas utilizando IA.
HISTRICO & CONCEITOS EM
INTELIGNCIA ARTIFICIAL

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.
Pensnado

Estudo das faculdades


Automao de atividades mentais atravs do uso de
que ns associamos com o
modelos computacionais
pensamento Humano Lgica

Pensam como Humanos Pensam Racionalmente

Humanamente Racionalmente
Agem como Humanos Agem Racionalmente

Criar mquinas que realizam


funes que requerem Ramo que estuda a automao de
inteligncia quando realizadas comportamento inteligente
por pessoas Teste de Turing Agentes inteligentes
Agindo

Figura 1: Categorias dos Sistemas de IA

INTELIGNCIA ARTIFICIAL 11
Sistemas que Agem como Seres Humanos

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

12 UNIDADE 01
(aprendizagem - machine learning).
Vale ressaltar que at hoje, nenhuma mquina conseguiu passar no
teste de Turing, premissa para que um sistema agisse como ser humano.

Sistemas que Raciocinam de Forma Semelhante dos Seres


Humanos

A principal questo dos sistemas que raciocinam como 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 (1961) que desenvolveram o GPS (General Problem
Solving) no se contentavam com que o seu programa resolvesse os
problemas de forma correta. 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.

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 os
recursos computacionais, a no ser que o programa seja guiado, de forma a
selecionar quais os passos de raciocnio que deve efetuar primeiro.

INTELIGNCIA ARTIFICIAL 13
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 inserida, atravs de sensores e afeta esse
ambiente por meio de atuadores (RUSSEL & NORVIG, 2003).
Para agir de maneira racional, um agente tem algumas formas de
pensar racionalmente, de modo 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 retir-la. Este reflexo (ato racional)
prefervel a tomar a deciso aps deliberar cuidadosamente qual seria a
melhor ao a tomar.

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

14 UNIDADE 01
(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); Para Barr & Feigenbaum (1981), 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''.

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 (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).

INTELIGNCIA ARTIFICIAL 15
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 subobjetivos 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.

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

16 UNIDADE 01
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.

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 de conhecimento podem resolver problemas mais
complexos.

INTELIGNCIA ARTIFICIAL 17
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).

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.

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 autoestrada 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

18 UNIDADE 01
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 (sistemas especializados) 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. Hoje j 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 ainda, 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

INTELIGNCIA ARTIFICIAL 19
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.

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?

20 UNIDADE 01
UNIDADE 02
Resoluo de Problemas
Atravs de Buscas

Resumindo
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 IA para resolver problemas que seguem uma determinada formulao.
Esta unidade dedicada a estudar os mecanismos de busca que permitem a resoluo de problemas.
Estudamos como formular tais problemas e como resolv-los sem informao (busca cega) e com
informao.
Vimos tambm, como avaliar o desempenho desses mecanismos de busca e como lidar em situaes
que existe competio (busca competitiva). Ao final da unidade, os exerccios permitem, alm de fixar os
conceitos aprendidos, que se resolvam problemas usando as tcnicas vistas nesta unidade.

Objetivo
1. Aprender como formular problemas na IA;
2. Mensurar o desempenho de busca de solues para um problema;
3. Aprender os principais mtodos de busca cega;
4. Reconhecer mecanismos de busca com informao;
5. Identificar o mecanismo de busca em jogos com dois adversrios.
RESOLUO DE PROBLEMAS
ATRAVS DE BUSCAS

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, so colocados na segunda categoria, ou seja, dos
problemas no computveis. So resolvidos atravs da busca por uma
soluo. O mtodo de soluo o 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 delimitao do
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.

INTELIGNCIA ARTIFICIAL 23
Portanto, um problema em IA definido em termos de:
um espao de estados possveis, incluindo:
um estado inicial, que descreve a situao inicial do problema;
um (ou mais) estado final (objetivo);
exemplo 1: dirigir de Teresina a Parnaba;
espao de estados: todas as cidades da regio
exemplo 2: jogo de 8-nmeros

4 5 8 1 2 3

1 6 4 5 6

7 2 3 7 8

um conjunto de aes (ou operadores) que permitem passar de um


estado a outro
exemplo 1: dirigir de uma cidade a outra
exemplo 2: mover uma pea do jogo de n-nmeros (n-puzzle)
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 (sequncia 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 sequncia 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 utilizado para indicar qual tem o menor
custo, indicando assim a melhor soluo.

24 UNIDADE 02
Exemplo de Formulao de Problemas (Jogo de 8 nmeros):
estados = cada possvel configurao do tabuleiro;
estado inicial = qualquer um dos estados possveis;
teste de trmino = ordenado, com branco na posio [3,3];
operadores = mover branco (esquerda, direita, para cima e para baixo);
custo do caminho = nmero de passos da soluo.
Ida para Parnaba:
estados = cada possvel cidade do mapa;
estado inicial = Teresina;
teste de trmino = estar em Parnaba;
operadores = dirigir de uma cidade para outra;
custo do caminho = nmero de cidades visitadas, distncia percorrida,
tempo de viagem, grau de divertimento, etc

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 rvore
de busca:
1. Raiz: corresponde ao estado inicia;
2. Expande-se o estado corrente: aplica-se a funo sucessora ao estado
corrente, gerando um novo conjunto de sucessores;
rvore, no contexto da
3. Escolhe-se o prximo estado a expandir seguindo uma estratgia de programao e cincia
busca; da computao, uma
estrutura de dados que
4. Prossegue-se at sucesso (atingir estado meta retorna soluo) ou herda as caractersticas
das topologias em rvore.
falha; Conceitualmente diferente
das listas encadeadas,
em que os dados se
encontram numa sequncia.
Medida de Desempenho na Busca Nas rvores, os dados
esto dispostos de forma
hierrquica.
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.

INTELIGNCIA ARTIFICIAL 25
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;
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).

MTODOS DE BUSCA

Mtodos de Busca Cega

Busca cega ou busca exaustiva (Exhaustive Search) um meio de resoluo de


problemas onde a ideia 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 sequncia de aes que conduzem ao
estado final desejado. A soluo tima o conjunto de sequncia 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.

26 UNIDADE 02
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.

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.

Raiz

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

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

INTELIGNCIA ARTIFICIAL 27
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).

Raiz

Raiz

A B C
1 5 15 Raiz

Expande-se primeiro o
n de menor custo que
ser somado a cada nvel A B C
5 15
Raiz
G
11

A B C
15

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

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

28 UNIDADE 02
possui filhos - n folha (). Ento a busca retrocede (backtrack) e comea no
prximo n. Numa implementao no-recursiva, todos os ns expandidos,
recentemente, so adicionados a uma pilha, para realizar a explorao.
Raiz

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

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 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.

Limite = Nvel 0

Limite = Nvel 1

Limite = Nvel 2

Limite = Nvel 3
.....

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

INTELIGNCIA ARTIFICIAL 29
Busca com Informao

Diferentemente da Busca Exaustiva, onde no se sabe qual o melhor


n de fronteira a ser expandida, 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*.

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.

30 UNIDADE 02
71
Oradea

Neamt
Zerind

Iasi
87

151
75
92
Arad 140
Sibiu 99

Faragas
Vaslui
118 80
Timisoara Rimnicu 211
142
111
Lugoj Urziceni 98 Hirsova
70
97

Pitesti 86
Mehadia 146 101 Bucharest 86

90

75 138

Giurgui
Dobreta
Eforie
120
Craiova
Figura 7: Mapa com as distncias entre as cidades da Romnia
Fonte: Russel & Norvig 2003

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 algoritmo 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.

INTELIGNCIA ARTIFICIAL 31
Tabela 1: Distncia em linha reta a at Bucarest
Cidade Distncia Cidade Distncia
Arad 366 Arad 366
Bucharest 0 Bucharest 0
Craiova 160 Craiova 160
Dobreta 242 Dobreta 242
Eforie 161 Eforie 161
Fagaras 178 Fagaras 178
Giurgiu 77 Giurgiu 77
Hirsova 151 Hirsova 151
Iasi 226 Iasi 226
Lugoj 244 Lugoj 244

Resultado do caminho escolhido pela busca gulosa: Arad->Sibiu-


>Fagaras->Bucarest (Figura 8).

Raiz
Arad
(366)

Timisoara Sibiu Zerind


(329) (253) (374)

Rimnicu Fagaras
(193) (178)

Bucharest
(178)

Figura 8: Resultado do caminho escolhido pela busca gulosa

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

32 UNIDADE 02
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*:


Zerind
f(n)=75+374
f(n)=449
Oradea
f(n)=291+380
f(n)=671

f(n)=g(n)+h(n)

f(n)=0+366
Fagaras
Arad f(n)=366
Sibiu
f(n)=239+178
f(n)=140+253 f(n)=417
f(n)=393
f(n)=220+193

f(n)=447
Timisoara
f(n)=413
Rimnicu Bucharest(Guloso)
f(n)=450+0
f(n)=450

Bucharest
Pitesti
f(n)=418+0

f(n)=317+98 f(n)=418
Craiova
f(n)=415
f(n)=366+160
f(n)=526

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


Fonte: Russel & Norvig, 2003

Onde g(n) = rota inicial at n e h(n) = unidade estabelecida no quadro


de distancias em linha reta a Bucarest. Explicando: Primeiro passo: Saindo da
cidade de Arad (n raiz), o algoritmo pode conduzir s cidades de Timisoara,
Zerind ou Sibiu.
Timisoara est a 118 km de Arad e a 329, Em linha reta, de Bucarest:

INTELIGNCIA ARTIFICIAL 33
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 algoritmo 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 algoritmo A*: Arad->Sibiu-
>Rimnicu Vilcea->(via Pitesti)->Bucarest

Recursive Best-First-Search (RBFS)

Este algoritmo A* possui algumas extenses, que tm 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.

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

34 UNIDADE 02
distncia do n corrente ao n objetivo).

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 a 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 de 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
chega s 50. Logo, a rvore de pesquisa ter cerca de 35.100 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 decida, 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.

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.

INTELIGNCIA ARTIFICIAL 35
A soma nula, ou seja, o que um ganha o outro perde e a informao
completa, pois os agentes conhecem as aes 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).
MAX (X)

X X X
MIN (O) X X X
X X X

X O X O X ...
O
MAX (X)

X O X X O X O ...
X X
MIN (O)

... ... ... ...


FINAL X O X X O X X O X
...
O X O O X X
UTILIDADE O X X O X O O
-1 0 +1
Figura 10: Algortimo Min-Max no jogo da velha
Fonte: Russel & Norvig, 2003

36 UNIDADE 02
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.
Dessa maneira, 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 se deve 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.

MAX A1 A2 A3

MIN
3 2 2

A11 A12 A13 A21 A22 A23 A31 A32 A33

3 12 8 2 4 6 14 5 2

Figura 11: Evoluo do Algoritmo 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

INTELIGNCIA ARTIFICIAL 37
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.

Corte Alpha-Beta

O algoritmo Corte Alpha-Beta, tem como funo, limitar a expanso


de ns desnecessrios, pelo algoritmo MiniMax. Este se inicia 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 ir 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.
Em 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, o valor copiado para o n pai. Caso
o valor de seja igual ou superior a , d-se continuidade pesquisa do
prximo n terminal.

38 UNIDADE 02
3

MAX A1 A2 A3

MIN
3 <=2 2

A11 A12 A13 A21 A22 A23 A31 A32 A33

3 12 8 2 14 5 2

Figura 12: Corte alpha-beta

EXERCCIOS

1. Defina o que vem a ser um problema para IA 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:

4
2 3

5 6 7 8 9

10 11 12 13

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. Profundidade.
b. Extenso.
c. Profundidade Iterativa nveis 2 e 3
4. Quais so os principais critrios de avaliao de uma estratgia de busca?

INTELIGNCIA ARTIFICIAL 39
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.
4
Nvel de maximizador 5
16

2
Nvel de minimizador 7
9

3
2
1

2
5
6

2
Nvel de maximizador 9
3

5
3
1

1
4
2

6
1
9

3
7
8*

40 UNIDADE 02
Para responder a 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. Somente III e IV esto corretas
ii. Somente II e III esto corretas
iii. Somente I, III e IV esto corretas
iv. Somente IV esto corretas
v. Todas esto erradas.
8. Descreva, com suas palavras, o algoritmo de poda alfa-beta.
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 heurstica 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

INTELIGNCIA ARTIFICIAL 41
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.

42 UNIDADE 02
UNIDADE 03
Aprendizagem de Mquina

Resumindo
Uma das formas de fazer o ser humano melhorar, continuamente, a realizao de suas tarefas o
processo de aprendizado. Quanto mais se aprende melhora 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 estudamos algumas das diferentes abordagens da chamada aprendizagem de mquina que
possibilitaro tal aprendizado.
Em um primeiro momento vimos as diferenas entre aprendizagem supervisionada e no-supervisionada.
Em seguida, so mostrados os conceitos que norteiam os estudos da aprendizagem por reforo. Falamos
ainda dos fundamentos terico das redes neurais umas das tcnicas mais pesquisadas atualmente e suas
principais aplicaes. Encerramos esta unidade, mostrando como funcionam os algoritmos genticos.
Os exerccios complementam o que foi estudado atravs de situaes prticas e reforo na teoria
apresentada.

Objetivo
1. Compreender o Aprendizado de Mquina;
2. Diferenciar aprendizado supervisionado do no supervisionado;
3. Reconhecer o funcionamento da aprendizagem por reforo;
4. Identificar o funcionamento das redes neurais;
5. Entender o funcionamento dos algoritmos genticos.
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 questo de como construir
programas, que automaticamente melhoram com a sua experincia
(MITCHELL, 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 novos conhecimentos, novas
habilidade e novos meios de organizar o conhecimento j
existente (2003, p. 11).

Aprendizado 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.

INTELIGNCIA ARTIFICIAL 45
Aprendizado supervisionado (Atividades de Predio):
Classificao: previso de classes discretas pr-definidas
Regresso: previso de um valor numrico contnuo
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.

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 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.

46 UNIDADE 03
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 algoritmo 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 montante idade salrio conta emprstimoo
1 mdio snior baixo sim no
2 mdio snior baixo no no
3 baixo snior baixo sim sim
4 alto mdia baixo sim sim
5 alto jovem alto sim sim
6 alto jovem alto no no
7 baixo jovem alto no sim
8 mdio mdia baixo sim no
9 mdio jovem alto sim sim
10 alto mdia alto sim sim
11 mdio mdia alto no sim

INTELIGNCIA ARTIFICIAL 47
12 baixo jovem baixo no sim
13 baixo snior alto sim sim
14 alto mdia baixo no no

A classificao, nesse caso, resulta numa estrutura de rvore, que


pode ser usada para todos os objetos do conjunto (BRADZIL,1999).

montante

mdia baixo alto




salrio sim conta

baixo alto no sim



no sim no sim

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

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: agrupar instncias similares em aglomerados;
Associao: Deteco de associaes entre atributos.
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.

48 UNIDADE 03
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:
Um conjunto de objetos;
Um conjunto de atributos usados para caracterizar os objetos;
Um corpo de conhecimento adquirido - incluindo problemas de
restries, propriedades dos atributos, critrios para avaliao de
qualidade da classificao construda.
Encontrar:
Uma hierarquia de classes de objetos;
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


Nome Cobertura do Cavidades do Temperatura Fertilizao
Corpo Corao do Corpo
mamfero pelos 4 regulada interna
pssaro penas 4 regulada interna
rptil pele seca 4 imperfeitas no regulada interna
anfbio pele mida 3 no regulada externa
peixe escamas 2 no regulada externa

Como no h uma classe indicada como no algoritmo supervisionado

INTELIGNCIA ARTIFICIAL 49
feito um agrupamento por semelhana dos registros. Um exemplo dessa
classificao pode ser vista na Figura 14.

Animais

Mamferos/ Rptil Peixe/


Pssaros Anfbio

Mamfero Pssaro Peixe Anfbio

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
(n 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 intergrupo) e maximizar
a distncia entre objetos de grupos diferentes (Similaridade intragrupo).
Sendo assim, o objetivo do COBWEB encontrar um bom equilbrio entre
essas distncias, sendo uma troca entre a similaridade intragrupo e a
dissimilaridade intergrupo 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,
de acordo Rebouas & Furtado (2004), favorece a criao de conceitos
que maximizam o potencial de inferncia sobre informaes. Dessa forma,
Category Utility, para uma partio de conceitos (CU({C1,C2,..., Cn})) :

50 UNIDADE 03
n
CU(C) =
1
n P(Ck ) i j
P(Ai=Vij Ck )2
i j
P(Ai=Vij )2
k=1

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.

Ambiente

Estado Reforo Ao


Agente

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 sequncia 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,

INTELIGNCIA ARTIFICIAL 51
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.

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 estocsticas. No estado s, a
probabilidade de se tomar a ao a dada por p(s,a).

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.

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.

52 UNIDADE 03
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.
O modelo de equaes representado como segue:
Espao de estados
Conjunto de aes que podem ser tomadas em cada estado:
A(s) para s S
Probabilidades de transio:
P(st+1= s' | st = s, at = a)
Ganhos:
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.

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 aprende a
maximizar as chances de vitria?
Para responder essa questo temos que projetar um aprendiz

INTELIGNCIA ARTIFICIAL 53
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:
Jogar com o oponente e identificar o modelo, at um certo nvel de
confiana
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
Criamos uma tabela de nmeros, V(s), com uma entrada para cada
estado s do jogo.
V(s) a estimativa mais recente de vencermos o jogo a partir do estado s.
V(s) o valor do estado s.
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).

54 UNIDADE 03
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 valor-estado V(s). Esta experincia induz a poltica de
controle/deciso.

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.

Dentritos (Recepo

Axnio

Terminais do
Axnio (Transmiso)
Corpo
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

INTELIGNCIA ARTIFICIAL 55
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.

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.

X1 Bias
B1
Funo de
W1
Sinais Ativao
Sada

de X2 V1
(.)

W2
Y1
Entrada

Wn

Xn Pesos
Sinpticos

Figura 17: Modelo de um neurnio artificial

A operao de uma unidade de processamento, proposta por


McCullock e 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;

56 UNIDADE 03
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.

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
princpio 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:
Calcular a resposta obtida O;
Se o erro no for satisfatoriamente pequeno E > e, ento:
Atualizar pesos: Wnovo := Wanterior + EX

INTELIGNCIA ARTIFICIAL 57
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.

Entrada y=f (wi * Entrada)


f(x) Resposta
Obtida

Wnovo = Wanterior + EX
E = Resposta Desejada - Resposta Obtida

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.

Hard Limiter Threshold Logic Sigmoid

Figura 19: Funes de Ativaes mais comuns

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

58 UNIDADE 03
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 (1969) analisaram matematicamente o Perceptron
e demonstraram 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.

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

INTELIGNCIA ARTIFICIAL 59
regra delta, apropriada para redes multicamadas: 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 semilinear, 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 a 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 consideravelmente longo. Se for encontrado um mnimo local, o
erro para o conjunto de treinamento para 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.

60 UNIDADE 03
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, ZZo 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 aleatoriamente,
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:
1
vj=i=1
m
wji xi + b, para o clculo do valor da ativao e f(v) =
(- av)
, para
1+e
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 yj = 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

INTELIGNCIA ARTIFICIAL 61
gradiente local definido por:
j (n)=ej (n) Oj (n)(1-Oj (n)) para a unidade da camada de sada ou
j (n)=Oj (n)(1-Oj (n))kwjk, para as 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 conexes 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:
wkj (n+1)=wkj(n)+jyj, para o clculo dos ajustes dos pesos
Faa: w(n+1)=w(n)+wkj (n), para atualizar os pesos sinpticos, onde:
- a constante de , 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.

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 tm 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.

62 UNIDADE 03
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 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 habilidade
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, existem componentes com funes voltadas
sistemas com implementaes voltadas para redes neurais, o que traz uma
velocidade adicional computao neural.

INTELIGNCIA ARTIFICIAL 63
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;

64 UNIDADE 03
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 .

ALGORITMOS 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 de um cromossomo e
aplicam operadores de seleo e cross-over a essas estruturas, de forma, a
preservar informaes crticas relativas soluo do problema. Normalmente,
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 candidato que, iterativamente, manipulado utilizando algumas
heursticas (estticas) diretamente 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

INTELIGNCIA ARTIFICIAL 65
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.

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

66 UNIDADE 03
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.

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.

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 projetada 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

INTELIGNCIA ARTIFICIAL 67
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.

Indivduo Aptido Aptido


Si f (Si) Relativa S4
S3
S5
S1 10110 2.23 0.14
S2 11000 7.27 0.47 S1
S3 11110 1.05 0.07 S2
S4 01001 3.35 0.21
S5 00110 1.69 0.11

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 a
este ponto no outro pai, como mostrado no exemplo da Figura 21;

68 UNIDADE 03
0 0 0 0 Pais 1 1 1 1

0 0 1 1 Filhos 1 1 0 0

Figura 21: Cruzamento em um ponto

multi-pontos: uma generalizao desta ideia 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);

INTELIGNCIA ARTIFICIAL 69
mutao (P, t);
avaliao (P, t);
sobrevivem (P, t)
}
}

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

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
rpida 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.
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

70 UNIDADE 03
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.

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:
Engenharia de Sistemas Neurais Artificiais;
Modelagem de Estruturas Neurais Biolgicas;
Simulao de Modelos Biolgicos:
Comportamento;
Evoluo;
Evoluo Interativa de Imagens;
Composio Musical.

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:

INTELIGNCIA ARTIFICIAL 71
ATRIBUTOS Conduo
Zona Trfego Cansao
Cidade Intenso Elevado Calma
Estrada Baixo Baixo Desportiva
Estrada Baixo Elevado Desportiva
Estrada Intenso Baixo Desportiva
Estrada Intenso Elevado Calma
Cidade Baixo Elevado Calma
Cidade Baixo Baixo Desportiva

4. Explique o conceito e a importncia da dissimilaridade inter-grupo (inter-


class dissimilarity) e da similaridade intragrupo (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?

72 UNIDADE 03
UNIDADE 04
Representao do
Conhecimento

Resumindo
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 tm 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, apresentamos os principais modelos para representar o conhecimento, dando destaque
ao processo de descoberta de conhecimento em base de dados e as principais formas de se representar
o conhecimento como rvores de deciso, frames e ontologias.

Objetivo
1. Entender a importncia da aquisio do conhecimento;
2. Estudar mtodos primrios de aquisio do conhecimento;
3. Compreender o processo de descoberta de conhecimento em base de dados;
4. Conhecer os principais modelos de representao do conhecimento.
REPRESENTAO
DO CONHECIMENTO

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 se carrega 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 clusterin').
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

INTELIGNCIA ARTIFICIAL 75
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.

Mtodos de Aquisio do Conhecimento

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.

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

76 UNIDADE 04
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.

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.

Descoberta de conhecimento em base de dados

O conhecimento ainda pode estar na prpria base de dados. De


acordo com Fayyad et al.(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 & LINOFF,
2000; PYLE, 1999), composto por vrias etapas. A Figura 22 ilustra o ciclo

INTELIGNCIA ARTIFICIAL 77
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 III. Finalmente, a interpretao,
compreenso e aplicao dos resultados encontrados o passo que torna o
conhecimento adquirido atravs de bases de dados um real insumo para o
apoio s decises (KLOSGEN, 2002).

78 UNIDADE 04
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.

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

INTELIGNCIA ARTIFICIAL 79
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
so, alm do objeto, tambm os seus 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.

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 desenvolvida como variaes
deste simples padro. Algumas so propostas como modelos da memria
humana e significado de representao, enquanto outras so usadas 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.

80 UNIDADE 04
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.

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 conjunto de exemplos previamente
classificados e, posteriormente, outros exemplos so 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 sequncia
lgica para a tomada de deciso. Depois de construda teremos uma viso
grfica da tomada de deciso (Figura 23).

INTELIGNCIA ARTIFICIAL 81
montante

mdia baixo alto



salrio sim conta

baixo alto no sim



no sim no sim

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 sequncia 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.

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,

82 UNIDADE 04
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.
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. Nesta
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.

INTELIGNCIA ARTIFICIAL 83
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.

EXERCCIOS

1. Explique a 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?

84 UNIDADE 04
UNIDADE 05
Agentes Inteligentes

Resumindo
Os agentes inteligentes tm 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, vem se
tornando uma alternativa, quando se fala em inteligncia artificial distribuda.
Nesta unidade, apresentamos as principais caractersticas dos agentes e seus diferentes tipos, assinalando
ainda os atributos necessrios para a implementao dos sistemas multiagente.

Objetivo
1. Compreender o paradigma de agentes;
2. Analisar os ambientes em que os agentes podem estar inseridos;
3. Conhecer os diversos tipos de agentes;
4. Compreender o funcionamento em conjunto de vrios agentes (sistemas multiagente);
5. Identificar a comunicao e coordenao de sistemas multiagente.
AGENTES INTELIGENTES

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 reas 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), segundo eles, 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

INTELIGNCIA ARTIFICIAL 87
aes autnomas neste ambiente em ordem de cumprir seus objetivos.

sensores

percepes

ambiente ?
agente
aes

atuadores
Figura 24: Agente segundo
Fonte: 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 a gente obteve sucesso. O
que pode criar o 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 sequncia 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 sequncia de percepo possvel, deve saber se sua ao
maximizar sua medida de desempenho, baseado na evidncia de sua
sequncia de percepo e no conhecimento que ele traz consigo.
Para ilustrar esses fatores tomemos como exemplo um Agente de
limpeza (Figura 25).

88 UNIDADE 05
Figura 25: Ambiente do Agente de Limpeza
Fonte: Russel & Norvig, 2003

Percepo: Quantidade de sujeira, local e contedo, por exemplo, [A,


sujo].
Aes: Direita, Esquerda, Sugar, NoOp
Sequncia de Percepes:

Sequncia de Percepes Ao
[A, limpo] Direita
[A, sujo] Aspirar
[B, limpo] Esquerda
[B, sujo] Aspirar
[A, limpo] [A, limpo] Direita
[A, limpo] [A, sujo] Aspirar
... ...
[A, limpo] [A, limpo] [A, limpo] Direita
[A, limpo] [A, limpo] [A, sujo] Aspirar

Medidas de desempenho:
quantidade de lixo retiradas X horas de trabalho
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 nestas direes; exceto
quando isto leva o agente para fora do ambiente (fica parado);
Aes disponveis: Esquerda, Direita, Aspirar, NoOP (no faz nada);

INTELIGNCIA ARTIFICIAL 89
O agente percebe: a sua posio e se nessa posio existe sujeira.
Outras questes tambm devem 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.
Agentes 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 uma 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 sequncia 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.

AMBIENTES DE AGENTES

Um dos passos principais do projeto de um agente especificar o

90 UNIDADE 05
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 sequencial: Um ambiente dito episdico quando a
experincia do agente dividida em episdios que no dependam
de aes passadas. Neste 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 jogo 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.

TIPOS DE AGENTES

Pode de acordo com Russel & Norvig (2003), existem diversas


classificaes de agentes que mostraremos a seguir.

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

INTELIGNCIA ARTIFICIAL 91
e tenta associar sua percepo com um regra previamente programada,
retornando a primeira regra que "casou" com a descrio do estado.

Figura 26: Modelo de agente reativo


Fonte: Russel & Norvig, 2003

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 evolui independente do agente e
Como as aes do prprio agente afetam o mundo.

92 UNIDADE 05
Figura 27: Modelo de agente reativo com estado interno
Fonte: Russel & Norvig, 2003

Agentes baseados em objetivos

Neste tipo de arquitetura, o agente precisa de algum tipo de informao


sobre o seu objetivo, a qual, descreve 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
sequncias 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


Fonte: Russel & Norvig, 2003

INTELIGNCIA ARTIFICIAL 93
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 sequncias de aes para
atingir o objetivo.

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


Fonte: Russel & Norvig, 2003

94 UNIDADE 05
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:
Responsvel pela execuo dos aperfeioamentos;
Utiliza realimentao do crtico sobre como o agente est
funcionando;
Determina de que maneira o elemento de desempenho deve ser
modificado para funcionar melhor no futuro.
Crtico:
Informa ao elemento de aprendizado como o agente est se
comportando em relao a um padro fixo de desempenho;
necessrio porque as percepes no fornecem nenhuma
indicao de sucesso.

Figura 30: Modelo de agente com aprendizagem


Fonte: Russel & Norvig, 2003

INTELIGNCIA ARTIFICIAL 95
SISTEMAS MULTIAGENTE

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 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) com 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);

96 UNIDADE 05
4. Como administrar conflitos e incertezas (resolver conflitos e coordenar
as aes dos agentes);
5. Como definir que linguagens e ambientes de programao devem ser
utilizados para a 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 pr-programados 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.

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

INTELIGNCIA ARTIFICIAL 97
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).
Abrangem sistemas onde os agentes desenvolvidos pelo mesmo
projetista, buscando o melhor aproveitamento do sistema.
Para estes sistemas, o desempenho de cada agente em particular
no um fator decisivo;
SMAS Self-Interested Multiagents System (Sistemas Multiagentes
com Interesses Prprios).
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 ideia 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 humanos, como grupos, hierarquias e mercados. Nestes
sistemas os agentes mantm uma representao explcita de seu ambiente e

98 UNIDADE 05
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.

Sistemas Multiagentes



Agentes Agentes
Reativos Cognitivos



Sistemas Hbridos

Figura 31: Classificao dos Sistemas Multiagente

Comunicao e coordenao em sistemas multiagente

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

INTELIGNCIA ARTIFICIAL 99
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;
voo 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, devem-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.

100 UNIDADE 05
Para haver coordenao com sucesso preciso:
Uma estrutura...
Flexibilidade nas interaes
Comunicao
Negociao
Conhecimento e raciocnio
Para reconhecer interaes potenciais entre planos de ao.

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?

INTELIGNCIA ARTIFICIAL 101


UNIDADE 06
Introduo a Robtica

Resumindo
Das subreas 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 um campo de pesquisa com maior penetrao
social. Seja pelo cinema, seja pela utilizao na maioria das indstrias, ou seja, pelo seu uso no cotidiano
das pessoas.
Nesta unidade apresentamos as principais definies de termos associados robtica, explicando
atravs deles, como se organiza funcionalmente um rob. Mostramos ainda as principais aplicaes da
robtica.

Objetivo
1. Entender o que um rob;
2. Compreender os fundamentos da robtica;
3. Identificar os diferentes tipos de robs;
4. Conhecer os dispositivos que integram um rob.
INTRODUO A ROBTICA

DEFINIES

J h muito tempo o homem procura empregar dispositivos para


realizar tarefas em ambientes 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

INTELIGNCIA ARTIFICIAL 105


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,


que consegue, de forma autnoma e pode, devido sua
capacidade de processamento:
obter informao do meio envolvente 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.

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 tm 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 sequncia
de movimentos, realizados com a interveno de um operador ou uma
sequncia memorizada.
Os robs manipuladores so sistemas mecnicos multifuncionais,

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

ORGANIZAO FUNCIONAL DE UM ROB

Em termos gerais, a arquitetura de um rob se organiza como o


diagrama da Figura 32.

Operador / Mquina


Sistema de Comunicao

Sistema
Inteligente
Sistema de Deciso

Sistema de Controle Sensoriamento


Sensores Atuadores Estrutura rgos Ambiente /



Internos Acionadores Mecnica Terminais Objetos

Manipulador

Figura 32: Organizao Funcional de um Rob


Fonte: 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, consequentemente,
a estrutura mecnica do rob, atravs de sinais adequados sintetizados a

INTELIGNCIA ARTIFICIAL 107


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.

DISPOSITIVOS DE ROBTICA

Figura 33: Com ajuda de sensores os robs


memorizam movimentos de uma tarefa para
depois repeti-la atravs de seus atuadores
Fonte: Fellipe de Souza.

108 UNIDADE 06
Os robs usam sensores para obter informaes do seu mundo em
volta, para desempenhar as suas tarefas, 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, infravermelhos e ultrassnicos. 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 ultrassnicas, 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 comum, um sensor d a sua medida como um sinal eltrico. Se
desejarmos a medida em outras 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,
significa que podem receber ou enviar vrios sinais em um mesmo canal de
comunicao.
Os sensores fotoeltricos de luz so uma forma de viso para ak
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

INTELIGNCIA ARTIFICIAL 109


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 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 infravermelho so usados para comportamentos
simples dos robs, 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).
Todavia, mesmo a viso robtica pura e simples ainda muito
imperfeita e, portanto, um dos grandes desafios para a engenharia dos dias
atuais. Para poder gerar imagens tridimensionais a partir de duas imagens
muito semelhantes em um tempo curto, 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

110 UNIDADE 06
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 infravermelho: Emite e detecta raios infravermelhos.
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
infravermelho do ambiente.
Sonar ou sensor ultrassnico: Detecta obstculos e pode determinar
a dureza / maciez dos objetos pela eco-locao.
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.
Fonte: Fellipe de Souza

Atuadores

Os atuadores so usados em automao para entregar ao sistema a


excitao necessria para seu funcionamento, na forma do tipo de energia

INTELIGNCIA ARTIFICIAL 111


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, empregados em sistemas
que 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 semirrotativos 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 atuao 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;
controle automtico de processos onde as vlvulas operam em
duas posies extremas ou com reposicionamentos intermedirios
(modulao).

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

112 UNIDADE 06
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 sequncia de
movimento requisitado e registrar o movimento na memria do controlador.
Na programao por linguagem textual possvel definir coordenadas e
estabelecer a lgica e sequncia 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.

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

INTELIGNCIA ARTIFICIAL 113


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, definir 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.

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,
as indstrias de autopeas. 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

114 UNIDADE 06
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 indstria
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.

EXERCCIOS

1. Defina o que vem a ser 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 infravermelho?
7. Qual o papel dos atuadores no sistema robtico?
8. Os atuadores se dividem em: hidrulicos, pneumticos e eltricos. Explique
a diferena entre eles.

INTELIGNCIA ARTIFICIAL 115


ADADE F. A., Fundamentos de Robtica. So Jos dos Campos: CTA-ITA-
IEMP, 1999.

ALVARES, L. AND SICHMAN, J. Introduo aos Sistemas Multiagentes.


Jornada de Atualizao em Informtica, W.C. Hill: 1997.

BARR & FEIGENBAUM. The Handbook of Artificial Intelligence, volume


I-II. William Kaufmann Inc., Los Altos, California, 1981.

BATISTA, G.E.A.P.A, Pr-processamento de dados em aprendizado


de mquina Supervisionado. Tese (Doutorado). Instituto de Cincias
Matemticas e de Computao. Universidade de So Paulo, So Carlos,
2003.

BENCH - CAPON, T, J. M. Introduction to knowledge representation, in:


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

BERRY, M.; LINOFF G., Mastering Data Mining: The Art and Science of
Customer Relationship Management. John Wiley & Sons, 2000.

BITTENCOURT, G. Inteligncia Artificial Ferramentas e Teorias. 2


Edio. Florianpolis: Editora da UFSC, 2001, 362p.

BREIMAN,L., FRIEDMAN,J.H., OLSHEN,R.A., AND STONE,C.J.,


Classification and Regression Trees, Pacific Grove, CA: Wadsworth. 1984.

116 REFERNCIAS
DAWKINS, R. The selfish gene. Oxford: Oxford, 1976. 352p.

DEAN, T., ALLEN, J., ALOIMONOS, Y. Artificial Intelligence Theory and


Practice. Addison-Wesley Publishing Company, Menlo-Park, 1995.

DURKIN, J. Expert systems design and development. Prentice Hall, USA,


1994.

FAYYAD, U.; SHAPIRO, G. P.; SMITH, P. The KDD process for extracting
useful knowledge from volumes of Data. Communications of the ACM,
New York, v. 39, n. 11, p. 27-35 , Nov. 1996.

FININ, T.; MCKAY, D.; FRITZSON, R. An overview of KQML: a knowledge


query and manipulation language, Draft. USA: University of Maryland, Mar
1992. Disponvel no site: UMBC Agent Web. URL: http://www.cs.umbc.edu/
kqml.

FISHER, D. H. Knowledge acquisition via incremental conceptual


clustering. Mach. Learn., 2(2):139172, 1987.

GIDDENS, A. Central problems in social theory: action, structure and


contradiction in social analysis. USA: University of California, 1979.

HILL, W.C..The mind at ai: Horseless carriage to clock.The AI Magazine,


pages 29-41, Summer 1989.

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.

KLOSGEN, W.; ZYTKOW, J. M.; ZYT, J. Handbook of Data Mining and


Knowledge Discovery. Oxford University Press, 2002.

MALONE, T. W. & CROWSTON, K. The Interdisciplinary Study of


Coordination. ACM Computing Surveys, vol. 26, no. 1, pp. 87-119.

MCCARTHY, J. & HAYES, P.J. Some philosophical problems from the

INTELIGNCIA ARTIFICIAL 117


standpoint of artificial intelligence. In D. Michie and B. Meltzer, editors,
Machine Intelligence 4, Edinburgh University Press, Edinburgh, GB, 1969.
pages 463-502.

MCCORDUCK, P. Machines Who Think. Freeman, San Francisco, 1979.

MCCULLOCH, W. S. & PITTS, W. A logical calculus of the ideas immanent


in nervous activity. Bull. Math. Biophysics, 5:115-133. 1943.

MEYER, J.-A.; ROITBLAT, H.; WILSON, S. W. From animals to animats.


Proceedings of the second international conference on simulation of adaptive
behavior. USA: MIT Press, 1993. 523p.

MICHALSKI, R. S. 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. 1980. 219244.

MINSKY, M.L., PAPERT, S.A., Perceptrons. Cambridge, MA : MIT Press,


1969.

MITCHELL. T. M. Machine Learning. McGrawHill Science/Engineering/


Math, 1997. 432 pginas.

NEWELL & SIMON, GPS, a program that simulates human thought, apud E.
Feigenbaum e J. Feldmann, Hrsg. (1995) Computers and Thought. 1995.

NWANA, H. S. Software Agents: An Overview. Knowledge Engineering


Review, vol.11, n. 3, pp. 1-40, Cambrigde University Press. 1996.

PYLE, D. Data Preparation for Data Mining. Morgan Kaufmann, 1999.

QUINLAN, J.R. Induction of Decision Trees. Machine Learning 1:1, 81


106. 1986.

REBOUAS, R., FURTADO, V. Formation of Probabilistic Concepts


through observations containing discrete and continuos attributes. In:

118 REFERNCIAS
Florida Artificial Intelligence Research Symposium - FLAIRS, 2004, Miami.
FLAIRS 2004 Proceedings. Palo Alto, CA : American Association for Artificial
Intelligence, 2004. v. 1.

RUMELHART, D. E., HINTON, G. E., AND WILLIAMS, R. J. Learning


representations by back-propagating errors. Nature, 323, 533--536. 1986.

RUSSEL, S. NORVIG, P., Inteligncia Artificial. Campus, So Paulo, 2003.


1040p.

SUTTON, R. & BARTO, A. G. Reinforcement Learning: An Introduction.


2nd Edition. MIT Press, Cambridge, 2002.

WEBLOGRAFIA

Associao Brasileira de Educao a Distncia ABED


http://www.abed.org.br

BITTENCOURT, Guilherme. 2010 - Breve histria da Inteligncia Artificial


http://www2.dem.inpe.br/ijar/AIBreveHist.pdf

Instituto Sem Fronteiras (ISF)


http://www.isf.org.br/

Inteligncia Artificial
http://www.papociencia.ufsc.br/IA1.htm

Secretaria de Educao a Distncia do MEC SEED


http://www.seed.mec.gov.br

Teste de Turing
http://www.din.uem.br/~ia/maquinas/turing.htm

INTELIGNCIA ARTIFICIAL 119


Universidade Aberta do Brasil- UAB
http://www.uab.gov.br

Universidade Aberta do Piau UAPI


http://www.ufpi.br/uapi

Agentes Baseados em Conhecimento


http://www.cin.ufpe.br/~lms4/SI/resumosAulas.doc

Busca em Espao de Estados


h t t p : / / w w w. s c r i b d . c o m / B u s c a - E s p a c o - E s t a d o s - I n t e l i g e n c i a -
Artificial/d/26828107

Definio de problema
http://www.cin.ufpe.br/~vtc/Res04.doc

Resolues de Problemas
http://www.professeurs.polymtl.ca/michel.gagnon/Disciplinas/Bac/IA/
ResolProb/resproblema.html

Algoritmos Genticos
http://www2.dem.inpe.br/ijar/Algrgene1.doc

Algoritmos Genticos: Fundamentos e Aplicaes


http://www.gta.ufrj.br/~marcio/genetic.html

Aprendizagem de Mquina
http://tecsofia.wordpress.com/2007/11/13/aprendizado-de-maquina/

Bradzil, 1999. Construo de modelos de deciso a partir de dados.


http://www.nacc.up.pt/~pbrazdil/ Ensino/ML/ModDecis.html

Classificao de Dados de Variabilidade de Freqncia Cardaca Utilizando


Tcnicas de Redes Neurais
http://www.sbeb.org.br/cbeb2008/Intelig%EAncia%20Artificial%20e%20
Redes%20Neurais/p_1664.pdf

120 REFERNCIAS
Padres estocticos
http://pt.wikipedia.org/wiki/Estoc%C3%A1stico

Processos de Aprendizado e Treinamento da Rede Perceptron


http://elson_mendes.sites.uol.com.br/rn/rn_aprend.html

Redes Neurais Treinamento


http://www.solv.com.br/prof/redeneural/pag9.htm

Redes Neurais Artificiais


http://www.ppgia.pucpr.br/~euclidesfjr/Metodos_Inteligentes/0206/RNA-
XIIERI.pdf

Redes Neurais
http://www.gildario.com.br/index.php?option=com_content&view=article&id=
63&Itemid=65

Sistemas Inteligentes
h t t p : / / w w w. e s p i e . c i n t e d . u f r g s . b r / ~ d s b i t / t r i m e s t r e 1 / r o s a / s i s t e m a s _
inteligentes.doc

Uma Introduo a Redes Neurais


http://www.din.uem.br/ia/neurais/

Utilizao de Aprendizagem por Reforo para Modelagem Autnoma do


Aprendiz em um Tutor Inteligente
http://nlx.di.fc.ul.pt/~guelpeli/Arquivos/Artigo17.pdf

Inteligncia Artificial Aplicada a Nutrio na Prescrio de Planos Alimentares


http://www.eps.ufsc.br/disserta99/camargo/

Introduo abordagem Capitalizao de conhecimento


h t t p : / / w w w . b a t e b y t e . p r . g o v. b r / m o d u l e s / c o n t e u d o / c o n t e u d o .
php?conteudo=1807

Introduo a Linguagem PROLOG


http://puig.pro.br/Logica/palazzo.pdf

INTELIGNCIA ARTIFICIAL 121


Linguagem PROLOG
http://fit.faccat.br/~alexandre/prolog.php

Proposta de uma Ontologia para Avaliao de Desempenho Empresarial


http://www.san.uri.br/~portalcomp/TCCs/Oliveira.doc

Sistemas Tutorais Inteligentes


http://www.educacaoliteratura.com.br/index%20101.htm

Agentes Inteligentes
http://www.cic.unb.br/~jhcf/MyBooks/ciber/doc-ppt-html/AgentesInteligentes.
html

Coordenao de Atividades em Ambientes de Aprendizagem Colaborativos


http://www.tecgraf.puc-rio.br/publications/artigo_2002_coordenacao_
atividades_aprendizagem.pdf

Inteligncia Artificial Distribuda


http://www.das.ufsc.br/gia/iaft-apoio/iad.pdf

Uma Introduo aos Agentes Inteligentes


http://www.computacao.gigamundo.com/2009/04/06/uma-introducao-aos-
agentes-inteligentes/

Classificao Geral dos Robs


http://www.din.uem.br/~ia/robotica/classif.htm

International Association for Automation and Robotics in Construction


http://www.iaarc.org/frame/features/market/background.htm

Linguagem de Programao de Rob


http://www.mecatronicaatual.com.br/secoes/leitura/418

RIA - Robotic Industries Association


http://www.robotics.org

122 REFERNCIAS
Robs na Indstria
http://www.demnet.ubi.pt/~felippe/texts/robotica_cap3.pdf

Robtica - Felippe de Souza


http://webx.ubi.pt/~felippe/texts/robotica_cap0.pdf

Robtica
http://www.ele.ita.cta.br/~tojo/arquivos/robotica_doc.doc

ROBOTICS sensing thinking acting.


http://www.thetech.org/exhibits_events/online/robotics/index.html

INTELIGNCIA ARTIFICIAL 123


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.

Anda mungkin juga menyukai