Você está na página 1de 69

Introduo Inteligenci Artificil

Introduo Inteligncia Artificial

ndice
1

Introduo ................................................................................................... 4
1.1

IA Porque me devo interessar? ............................................................................................ 4

1.2

IA Que utilidade?.................................................................................................................. 4

1.3

IA O que ? ........................................................................................................................... 4

1.4

Agentes, ambientes, tarefas e desempenho .......................................................................... 4

1.4.1

Agentes ........................................................................................................................... 4

1.4.2

Tarefas............................................................................................................................. 5

1.4.3

Ambientes ....................................................................................................................... 5

1.5

Metforas................................................................................................................................ 6

1.5.1

Computacional ................................................................................................................ 6

1.5.2

Conexionista.................................................................................................................... 7

1.5.3

Biolgica .......................................................................................................................... 7

1.6

Problema N-Rainhas................................................................................................................ 8

1.6.1

Abordagem computacional ou simblica ....................................................................... 8

1.6.2

Abordagem conexionista ................................................................................................ 9

1.6.3

Abordagem biolgica .................................................................................................... 10

1.7

IA possvel? ...................................................................................................................... 10

1.7.1

Teste de Turing.............................................................................................................. 11

Agentes Reactivos ...................................................................................... 14


2.1

Generalidades ....................................................................................................................... 14

2.1.1

Taxinomia ...................................................................................................................... 14

2.1.2

Arquitectura .................................................................................................................. 15

2.1.3

Ambientes, modelos e representaes ........................................................................ 16

2.2

Agentes puramente reactivos ............................................................................................... 17

2.2.1
2.3

Representao e implementao da funo Aco ...................................................... 17

Agentes reactivos com memria .......................................................................................... 24

2.3.1

Arquitectura abstracta .................................................................................................. 24

2.3.2

Implementao Formiga FORMART ........................................................................... 24

2.3.3

Limitaes sensoriais e estado interno. ........................................................................ 25

Agentes de Procura.................................................................................... 26
3.1

Problemas, estados, operadores e procura .......................................................................... 26

3.2

Procura cega ......................................................................................................................... 27

IIA

Espcie de Sebenta/Resumo

Introduo Inteligncia Artificial


3.2.1

Em largura primeiro ...................................................................................................... 27

3.2.2

Em comprimento primeiro............................................................................................ 30

3.2.3

Variantes ....................................................................................................................... 32

3.3

Procura heurstica ................................................................................................................. 34

3.4

Procura estocstica ............................................................................................................... 39

Agentes Baseados em Conhecimento ........................................................ 44

Agentes Baseados em Conhecimento Imperfeito ...................................... 45

Agentes Aprendizes ................................................................................... 46


6.1

Redes Neuronais ................................................................................................................... 49

6.2

Aprendizagem simblica ....................................................................................................... 58

Agentes Adaptativos .................................................................................. 68

Sociedades de Agentes .............................................................................. 69

IIA

Espcie de Sebenta/Resumo

Introduo Inteligncia Artificial

1 Introduo
IAFA Cap. 1

1.1 IA Porque me devo interessar?


1.2 IA Que utilidade?
1.3 IA O que ?
Estudo e construo de entidades artificiais [agentes] situadas num ambiente, com que interagem
de forma autnoma e que buscam satisfazer objectivos [internos, externos] com o mximo
desempenho.

1.4 Agentes, ambientes, tarefas e desempenho


[1.5]
1.4.1 Agentes
Agente toda a entidade capaz de interagir com o ambiente guiado, em geral, por objectivos.

Estrutura do agente:
Percepo: mecanismo que lhe permite recolher informao do ambiente;
Aco: mecanismo que lhe permite actuar sobre o ambiente;
Deciso: processos que lhe permitem definir qual a melhor aco a realizar. Estes processos de
deciso sero tanto mais sofisticados quanto mais complexa for a tarefa e/ou o ambiente.
Propriedades do agente:
Corpo;
Localizao: existem no espao e no tempo;
Capacidades: tm um conjunto de instrumentos para perceber e actuar sobre o ambiente;
Mecanismos de deciso: tm mecanismos de suporte aco inteligente.

IIA

Espcie de Sebenta/Resumo

Introduo Inteligncia Artificial


Com base nestas propriedades, mas no necessariamente em todas, um agente constri estratgias
que lhe permitam ser eventualmente bem sucedido nas tarefas que tem de resolver, sejam impostas
pelo ambiente (externas), sejam determinadas por objectivos do agente (internas).
Alguns agentes esto conscientes das suas estratgias e do modo como elas so ou no bem
sucedidas. Para isso usam uma medida de desempenho.
Populao de agentes: vrios agentes que vivem num mesmo ambiente. Podem ter estratgias
diferentes entre si. Chama-se sistema quando a populao de agentes e o ambiente em que vivem
so considerados como um todo. Caso existam fortes interaces entre os elementos de um
sistema, este diz-se complexo. Quando um sistema complexo contm agentes que procuram
melhorar a qualidade do seu desempenho, independentemente de o conseguirem ou no, dizemos
que estamos na presena de um sistema adaptativo complexo.
1.4.2 Tarefas
Podem ser classificadas segundo diferentes perspectivas. Aspectos de caracterizao de tarefas, da
perspectiva do agente:
Deliberao: Algumas tarefas obrigam o agente a possuir processos de deciso sofisticados
enquanto outras no.
Ex: efectuar diagnstico de doena mais complexo do que navegar sem objectivos num espao
fechado evitando objectos.
Mudana: Algumas tarefas envolvem mudanas importantes, seja ao nvel do agente (mecanismos
de deciso), seja ao nvel do prprio ambiente.
Ex: um agente que aprende a partir de casos vai alterar o seu conhecimento interno provocando
mudanas nas suas estratgias. Um agente que navegue num espao com obstculos pode ser
obrigado a deslocar esses obstculos. J um agente que constri um plano durante um jogo de
xadrez no altera nem as propriedades do agente nem do ambiente.
1.4.3 Ambientes
Os agentes tm de enfrentar diferentes tipos de ambientes (simples, complexos). O modo como um
agente apreende o ambiente depende fortemente das suas capacidades. Deste modo, a classificao
de ambientes tem de adoptar a viso do agente, ou seja, a complexidade de um ambiente depende
em grande medida da complexidade do agente.
Aspectos principais usados para classificar os ambientes:
Acessveis ou no: um ambiente ser acessvel se o agente puder retirar do ambiente toda a
informao que necessita para determinar a melhor aco. O caso clssico de ambientes acessveis
o que envolve jogos abertos como o xadrez.
Deterministas ou no: quando a evoluo do ambiente no pode ser determinada de forma nica a
partir da situao corrente e da aco do agente sobre o ambiente, o ambiente diz-se no
determinista. Um caso tpico um sistema de diagnstico mdico, em relao ao qual o
comportamento do ambiente (inclui o paciente e o tratamento) no evolui de forma determinista.
Para uma mesma doena, nem todos os doentes reagem da mesma maneira ao mesmo tratamento.

IIA

Espcie de Sebenta/Resumo

Introduo Inteligncia Artificial


Estticos ou no: um ambiente diz-se esttico se no se altera enquanto o agente est a decidir a
aco a executar. Um sistema de previso do tempo tem de lidar com um ambiente que no
esttico, mas sim dinminco.
Ambientes complexos: inacessveis, no deterministas e dinmicos
Ambientes mais favorveis para o agente: acessveis, deterministas e estticos.

1.5 Metforas
[1.2]
1.5.1 Computacional
A metfora computacional parte do princpio de olhar para a inteligncia como computao.
Considera-se que os computadores e a mente humana so instncias de uma famlia de artefactos
denominados Sistemas Fsicos de Smbolos (SFS). Na base dos SFS, esto estruturas simblicas que
no so mais do que representaes de conhecimento. Os SFS tm a capacidade de processar essas
representaes, produzindo ao longo do tempo novas estruturas simblicas.
A inteligncia ento o resultado da actuao dos processos sobre as estruturas simblicas. Assim,
temos:
Inteligncia = Processos + Estruturas Simblicas
Os processos podem ser de criao, modificao, cpia ou destruio de smbolos que so usados
para compor as estruturas simblicas.
Um SFS vive e interage num mundo determinado. Tem mecanismos de percepo e de actuao, par
alm obviamente de mecanismos cognitivos. O SFS recebe do mundo um conjunto de percepes
que so filtradas e organizadas internamente como estruturas simblicas. Em funo dos seus
objectivos, fixados interna ou externamente, o SFS processa essas representaes e determina que
aco deve realizar tendo em vista a satisfao desses objectivos. Esta situao iterado sem fim ao
longo do tempo.

IIA

Espcie de Sebenta/Resumo

Introduo Inteligncia Artificial


A abordagem computacional realiza-se geralmente atravs de programas que actuam sobre
representaes do mundo. Existe uma correspondncia directa entre os objectos do mundo e a sua
representao (simblica).

1.5.2 Conexionista
A metfora conexionista olha para a inteligncia como sendo uma propriedade emergente das
interaces de um nmero elevado de unidades elementares de processamento. A ideia central do
conexionismo a de que a cognio pode ser modelada como sendo a (o resultado da) interaco
simultnea de muitas unidades, semelhantes a neurnios, densamente interligadas.
Neurnio artificial: existe um conjunto de entradas (xi) que tm associados pesos (wi). calculada a
soma pesada das entradas que, se ultrapassar um valor limiar de referncia (), faz com que o
neurnio dispare produzindo um sinal sua sada (y).

Existem vrios tipos de redes de neurnios artificiais, tendo sido propostas vrias classificaes. Uma
classificao possvel envolve trs aspectos: o modo como os neurnios se ligam entre si (topologia),
como ficam activos ou inactivos (funo de activao), ou a forma como modificam alguns dos seus
elementos (dinmica de rede).
Existem dois grandes tipos de representaes:
Local: cada unidade simples pode representar directamente um aspecto do mundo;
Distribuda: cada unidade elementar pode estar ligada a mais do que um aspecto do mundo e, do
mesmo modo, vrias unidades podem ser usadas para representar um dado aspecto do mundo.

1.5.3 Biolgica
Sustenta-se numa analogia com a forma como as espcies evoluem.
Na abordagem de inspirao biolgica, para se resolver um problema, parte-se de um conjunto de
solues candidatas, designada populao, que se faz evoluir ao longo do tempo de acordo com os
princpios darwinistas. Cada elemento da populao chamado indivduo. Por seu turno um
indivduo formado por cromossomas, eles prprios constitudos por genes que podem assumir
diferentes valores ou alelos. Cada indivduo tem associado uma qualidade ou um mrito, que define
o seu grau de adaptao. Os de melhor qualidade tm uma probabilidade maior de sobreviver e,
consequentemente, de se reproduzir.

IIA

Espcie de Sebenta/Resumo

Introduo Inteligncia Artificial


Nesta abordagem, a representao do mundo/problema feita atravs dos cromossomas dos
indivduos. Cada gene de um cromossoma codifica um aspecto/caracterstica da realidade. Em geral
necessrio descodificar um cromossoma (gentipo) para obter o indivduo aps o seu
desenvolvimento (fentipo).

1.6 Problema N-Rainhas


[1.3]
Duas principais questes a serem resolvidas pelas abordagens: como representar as solues
candidatas e o modo como elas sero geradas e testadas.
1.6.1 Abordagem computacional ou simblica
Representao: uma matriz binria R, n*n, com n rainhas no tabuleiro. Se uma rainha ocupa a linha i
e a coluna j, ento rij estar a 1, caso contrrio estar a 0.
Para determinar novas solues candidatas, recorremos a operadores. Neste caso basta apenas um
operador, que ser a operao de movimentar uma rainha para um local no ocupado.
O problema resume-se a, a partir de uma dada configurao inicial, gerar de forma sistemtica e
testar solues candidatas.
Uma soluo de algoritmo d pelo nome de procura em profundidade primeiro. Esta abordagem
leva construo de uma rvore de procura.
A soluo genrica, podendo ser aplicada a outro tipo de problemas que possam ser modelados
mediante o paradigma da procura num espao de configuraes.
Um aspecto que este algoritmo no tem em conta o de procurar uma soluo de menor custo,
entendido neste caso como a sequncia de operadores que me permite encontrar uma soluo
visitando o menor nmero de ns possvel. Importa tambm considerar o comportamento do
algoritmo em funo da dimenso do problema, neste caso do nmero de rainhas. Quando o
nmero de rainhas aumenta, o nmero de configuraes aumenta drasticamente, para valores que
se podem tornar incomportveis. A dimenso do espao a procurar traduz em parte a complexidade
do problema, sendo importante ter solues que so relativamente insensveis a esta questo. A
abordagem simblica resoluo de problemas ter dificuldades com problemas complexos.
Nalguns problemas pe-se a questo da qualidade da prpria soluo. Para um caso de um robot
que quer encontrar o caminho mais curto at ao seu destino, o algoritmo seria obrigado, em vez de
tratar todas as configuraes como equivalentes, ser capaz de avaliar o seu mrito (a sua
proximidade soluo) usando essa informao para determinar a prxima configurao a testar,
em vez de o fazer de forma cega. [modo heurstico vs modo cego]

IIA

Espcie de Sebenta/Resumo

Introduo Inteligncia Artificial


1.6.2 Abordagem conexionista
Rede de Hopfield: composta por vrias unidades lineares de limiar (Threshold Linear Units TLU).
Cada unidade est ligada a todas as outras, menos a si prpria, e os pesos entre unidades so
simtricos.
Juntando vrios neurnios e ligando-os entre si constitumos uma rede neuronal. Para um dado
valor das entradas o valor das sadas depende dos pesos associados com essas entradas. Este facto
torna possvel s redes aprenderem a ligar as suas entradas a um valor especfico, por simples
variao dos pesos. As redes neuronais podem deste modo aproximar funes. Para o problema que
temos entre mos a soluo passa por criar uma rede com n2 neurnios ligados entre si.

Cada neurnio representa uma posio no tabuleiro e pode estar activo (tem rainha nessa posio)
ou no. Como existem n^2 neurnios, existem 2^(n^2) configuraes diferentes da rede, tambm
chamadas de estados. A cada estado podemos associar uma funo de energia que reflicta os
ataques entre rainhas. Deste modo uma soluo para o nosso problema traduz-se em encontrar um
estado de energia mnima. Para isso teremos que alterar as sadas dos vrios neurnios que, como j
dissemos, dependem do valor dos pesos e do limiar. Como se pode ver, tambm nesta abordagem
crucial a definio de uma representao apropriada e de um mecanismo apropriado de raciocnio.
Igualmente, fundamental ter uma noo de proximidade soluo, o que dado pela funo de
energia.
Fica garantido que a rede, independentemente do seu estado inicial, ir, em princpio, convergir
para um estado estvel que corresponder a uma disposio das n rainhas que no se atacam
mutuamente. A chave da soluo est numa definio cuidadosa da funo de energia. Isso passa
por introduzir nessa funo as restries de problema.
Comentrio sobre a aproximao ao problema:
A representao do tabuleiro est distribuda pela rede, pelo que a soluo uma propriedade
emergente. Graas utilizao da funao de energia, apenas uma parte limitada do espao de

IIA

Espcie de Sebenta/Resumo

Introduo Inteligncia Artificial


configuraes e visitada, pelo que o algoritmo suporta sem grandes dificuldades o aumento da
dimenso do problema (escalabilidade da soluo). Esta soluo no faciomente

generalizvel, pois para cada caso preciso definir a funo de energia apropriada, o que
nem sempre trivial. Tambm no existe a garantis de o algoritmo convergir para uma
soluo que represente um mnimo global, isto , podem existir estados estveis com u
nmero de rainhas diferente de n.

1.6.3 Abordagem biolgica


Representao: cada indivduo da populao ter apenas um cromossoma de tamanho igual ao
nmero de rainhas. Cada gene representar explicitamente a linha de uma rainha numa dada
coluna, pelo que os alelos possveis de cada gene sero inteiros entre 1 e N. No sero permitidos
nmeros repetidos, pelo que cada indivduo ser representado por uma permutao dos nmeros
inteiros de 1 a N.
1

Neste caso, a qualidade de um indivduo pode ser dada pelo somatrio dos ataques entre rainhas.
Determinando o nmero de ataques, permite-nos determinar o mrito relativo de uma
representao. Um par de indivduos ser selecionado para reproduo com base no seu mrito
relativo.
Este mtodo de seleco habitualmente designado por mtodo roleta.
Ex: temos quatro configuraes de mrito absoluto 1, 2, 3, 4. O respectivo mrito relativo ser 0.1,
0.2, 0.3 e 0.4. ou seja, a 1 configurao tem 10% de hipteses de ser escolhida, a 2 tem 20% de
hipteses, etc. Ilustrando em forma de roleta (neste caso pie-chart), a roleta ao parar de rodar vai
indicar qual o individuo selecionado.
Os operadores utilizados para combinar o material gentico sero a recombinao e a mutao.
Estes operadores tm de ser definidos de modo a no gerar indivduos impossveis.
Uma das caractersticas fundamentais desta abordagem prende-se com o facto de tratarmos em
paralelo vrias solues e de, em geral, apenas uma parte limitada do espao de configuraes ser
analisado. Tal permite que se possam abordar problemas de grande complexidade. O recurso
funo de mrito permite guiar a procura.

1.7 IA possvel?
[1.4]
Afirmar a partilha da inteligncia com as mquinas, coloca o Homem perante uma realidade que tem
naturalmente dificuldade em aceitar.

IIA

Espcie de Sebenta/Resumo

10

Introduo Inteligncia Artificial


Mesmo os que aceitam a possibilidade de existirem mquinas pensantes divergem quanto real
natureza dessas mquinas e tambm quanto aos princpios e aos modos de as construir. Para uns
apenas possvel contruir artefactos que imitam o homem na sua aco inteligente (tese da IA fraca).
Para outros vivel o aparecimento de mquinas que so inteligentes (tese da IA forte). Por outro
lado, existem os que defendem que o processo de construo de uma mquina inteligente se deve
basear na identificao e na representao computacional dos mecanismos cognitivos de alto nvel
usados pelos humanos (abordagem simblica). O edifcio deve ser construdo de cima para baixo.
Num outro extremo esto os que defendem que, pelo contrrio, um agente artificial inteligente
deve ser construdo da base para o topo, pois a inteligncia uma propriedade emergente
resultante da interaco de pequenas entidades estpidas (abordagem neuronal e natural).

1.7.1 Teste de Turing


Alan Turing, para provar a possibilidade da existncia das mquinas pensantes inventou um teste
que hoje tem o seu nome, teste de Turing.
Admitamos um interrogador, um homem e uma mulher. O interrogador est fisicamente separado
dos outros dois intervenientes apenas comunicando via indirecta.
O objectivo do interrogador o de, pelo dilogo, tentar identificar quem o homem e quem a
mulher. O homem e a mulher tm objectivo oposto. Para estes ltimos ser capaz de executar com
sucesso a sua tarefa (tornar possvel a sua identificao) manifestamente uma prova de
inteligncia humana. O que acontecer se substituirmos um dos interrogados por uma mquina?
Turing ocupou-se em demonstrar que a mquina poderia passar o teste, isto , chegar ao fim sem
ser identificada.
Objeces ao teste de Turing:
Teolgica: O pensamento uma funo exclusiva da alma imortal.
Resposta de Turing: se Deus pode dar este dom aos homens, pode d-lo a qualquer ser, um
elefante ou uma mquina, porque, sendo Ele omnipotente, no tem nenhuma limitao em seus
poderes, podendo fazer qualquer coisa.

Cabea na Areia: As consequncias para a humanidade resultantes da existncia de mquinas


pensantes seriam demasiado terrveis.
Resposta de Turing: isto no uma objeo real. No passa de uma simples negativa de ver a
realidade. Quem defende esta opinio no examinou a questo a fundo e apenas esconde a sua
cabea na areia, como uma avestruz.

Matemtica: Alguns matemticos provaram existirem limitaes capacidade dos sistemas


dedutivos.

IIA

Espcie de Sebenta/Resumo

11

Introduo Inteligncia Artificial


Resposta de Turing: mesmo que uma mquina no possa resolver um determinado tipo de
problema, sempre possvel criar uma que possa. Esta nova mquina pode no resolver outros,
inclusive alguns que a mquina anterior podia. Alm disso, nem mesmo os seres humanos podem
ser capazes de resolver todo e qualquer problema. Somos limitados pelos nossos conhecimentos e
nossas habilidades. Todavia podemos encontrar um outro ser humano que pode resolver um
problema para o qual no conseguimos encontrar soluo, embora esta pessoa possa ser incapaz de
fazer determinadas coisas que ns sabemos.

Conscincia: Somente quando as mquinas puderem ter conscincia, ou seja, saberem que so e no
apenas serem, que poderemos admitir que as mquinas pensam.
Resposta de Turing: este tipo de objeo cai num solipsismo, ou seja, s podemos saber se uma
mquina pensa se nos podermos tornar a prpria mquina. O que na realidade devemos fazer
julgar se uma mquina inteligente ou no pelos resultados que ela nos fornece, como fazemos
com as pessoas nossa volta.

Incapacidades Vrias: Embora se possam construir mquinas que possam fazer muita coisa, nunca
existiro mquinas que possam ser amveis ou belas ou que se enganem ou que se apaixonem ou
Resposta de Turing: as crticas apresentadas so formas disfaradas de argumento da conscincia e
devem ser respondidas da mesma maneira.

Lady Lovelace: As mquinas s fazem aquilo para que ns, humanos, as programmos.
Resposta de Turing: isso no impede que possamos construir uma mquina que possa aprender
ou pensar por si mesma, desde que saibamos ordenar-lhe isto.

Continuidade do sistema nervoso: O crebro, que trabalha com base em impulsos elctricos que so
amplificados e propagados, no uma mquina de estados discretos. Logo, nenhum computador
poder imitar o crebro humano.
Resposta de Turing: no jogo da imitao o interrogador no pode tirar qualquer vantagem disso,
porque um computador poder resolver qualquer problema matemtico por mtodos numricos
aproximados.

Informalidade do comportamento humano: impossvel descrever um conjunto de regras de


conduta que pretenda predizer o que um homem faria num dado momento ou em qualquer
circunstncia imaginvel.

IIA

Espcie de Sebenta/Resumo

12

Introduo Inteligncia Artificial


Resposta de Turing: existe a uma confuso entre regras de conduta e leis comportamentais.
Quem conhece psicologia pode dizer que tais leis de comportamento existem, portanto possvel
construir uma mquina que obedea a tais leis.

Percepo extra sensorial: Certos fenmenos parapsicolgicos (telepatia, clarividncia, premonio


e psicocintica) no podem ser explicados pela cincia tradicional. Nenhuma mquina capaz de
reproduzir estes fenmenos.
Resposta de Turing: necessrio mudar radicalmente o jogo da imitao para que possamos
encarar estes fenmenos. Ainda no tenho uma resposta definitiva, mas devemos ter em mente que
devemos isolar estes fenmenos da nossa prova, j que eles ainda so mal compreendidos pela
cincia e no atingem todos os seres humanos.

IIA

Espcie de Sebenta/Resumo

13

Introduo Inteligncia Artificial

2 Agentes Reactivos
IAFA Cap. 2

2.1 Generalidades
[2.1]
2.1.1 Taxinomia
Um agente autnomo um sistema situado num ambiente capaz de percepcionar esse ambiente e
actuar sobre ele, ao longo do tempo, tendo em vista a satisfao dos propsitos da sua agenda, de
modo a afectar o que ser percepcionado no futuro.
Autonomia significa que o agente pode tomar decises sem a interveno directa ou indirecta de
outros agentes (humanos ou no)
Ambiente o agente existe mergulhado no ambiente, estando em permanente interaco com ele ,
podendo modific-lo. Esta referncia perenidade (durabilidade) temporal permite, por exemplo,
distinguir o agente da maioria dos programas de computador.
Agenda o agente tem uma agenda, sendo a sua aco guiada para a concretizao dessa agenda.

Para classificar os agentes, juntar algumas propriedades pode tornar os agentes mais especficos.
Propriedades dos agentes
Reactividade Responde em tempo til a mudanas no ambiente
Orientado por objectivos Tem iniciativa. No se limita a actuar apenas como resposta ao ambiente
Comunicao Comunica com outros agentes (eventualmente de outro tipo)
Aprendizagem Muda o seu comportamento de acordo com a sua experincia prvia
Mobilidade Capaz de se transportar a ele prprio de mquina para mquina
Carcter Tem um estado emocional e a sua prpria personalidade
Um agente pode ter um subconjunto destas propriedades. Com base na ideia de conjunto de
propriedades e do conceito de incluso de conjuntos, possvel definir uma hierarquia de agentes.

IIA

Espcie de Sebenta/Resumo

14

Introduo Inteligncia Artificial

Agentes

Naturais

Artificiais

Robticos

Computacionais

Software

Vida Artificial

Tipos de agentes autnomos


Os agentes de software suposto serem esternos, os agentes de vida artificial morrem.
Normalmente, a pensar nos agentes de software que usamos a palavra agente.

2.1.2 Arquitectura
Como projectar um agente autnomo?
Formalizao:
O agente vive mergulhado num ambiente. Admitimos que o ambiente pode ser caracterizado por
um conjunto E={e1, e2, } de estados. Ex: e1 temperatura da sala alta; e2 temperatura da sala
est baixa.
O agente capaz de interagir com o ambiente, captando o seu estado e realizando um conjunto de
aces sobre o ambiente que podem levar mudana do seu estado. Seja A = {a1, a2, } o conjunto
de aces que o agente pode realizar. Ex: a1 ligar o aquecimento; a2 desligar o aquecimento.
Matematicamente um agente pode ser definido por:

Agente: E* A

Ou seja, dada um sequncia de estados do ambiente (E*), o agente reage com uma dada aco (A).
Sequncia de estados implica que o agente tem acesso aos estados passados do ambiente e assim
determinar melhor a aco a realizar. Nos agentes mais simples, esta condio no se verifica.
A mudana de estado no ambiente tambm pode ser definido por:

Ambiente: E x A (E)

onde (E) o conjunto potncia de E, o que significa que, dado um estado do ambiente (E) e uma
aco do agente (A), existe no determinismo quanto ao estado para que transita o ambiente. As
interaces sucessivas entre o ambiente e o agente do origem a uma histria (h).
Tendo em vista a implementao do agente, decompomo-lo ento em duas partes: uma transforma
os estados do ambiente em percepes, a outra transforma uma sequncia de percepes (P*)
numa aco:

IIA

Espcie de Sebenta/Resumo

15

Introduo Inteligncia Artificial


Percepo: E A
Aco: P* A

A funo Agente ento a composio das funes Percepo e Aco.


Podem existir agentes sem capacidade de viso da histria (guardar estados passados do ambiente).
Neste caso o agente definido pela funo:
Agente: E A
Que faz o mapeamento da percepo do estado corrente numa aco. Tambm aqui possvel
decompor esta funo em duas componentes, uma que transforma a informao captada pelos
sensores em informao de mais alto nvel e outra que reage a essa percepo com uma aco.

2.1.3 Ambientes, modelos e representaes


No nosso caso o ambiente ser um espao a n dimenses povoado por diferentes tipos de
habitantes. O ambiente pode ser limitado (fechado), ou aberto (infinito) ou toroidal (os extremos
opostos do mundo esto ligados). Os diferentes habitantes tero uma localizao nesse ambiente,
dado pelas suas coordenadas no espao. Os habitantes podem ser de dois tipos: agentes e objectos.
Os objectos podem ser fixos, movimentveis pelos agentes, ou manipulados pelos agentes. Cada
agente tem as suas capacidades de percepo, deciso e aco. No tocante percepo a noo de
vizinhana do agente crucial. Entende-se por vizinhana as zonas do ambiente que o agente
consegue percepcionar num dado momento.
Um conceito importante o de estado do ambiente. O estado tem de ser definido em funo da
perspectiva de alguma entidade. Se for o agente da figura ele apenas ter uma viso local do
mundo. No existe um conceito absoluto de estado.
O agente decide com base numa representao interna que constri a partir da sua viso do estado
do ambiente.

1
4
IIA

3
Espcie de Sebenta/Resumo

16

Introduo Inteligncia Artificial


Exemplo de percepes de um agente
O estado do ambiente, e, pode ser descrito pelos quatro valores capturados pelos sensores (s1, s2,
s3, s4):
e = <s1, s2, s3, s4> = <0, 1, 0, 0>

0 livre; 1 ocupado

O agente pode transformar esses dados brutos numa percepo (p):


P = < livre, ocupado, livre, livre>
Trabalhar com modelos implica representar de algum modo o mundo real.

2.2 Agentes puramente reactivos


[2.2]
Os agentes puramente reactivos so mquinas simples, sem estado interno e que se limitam a reagir
aos estmulos que recebem do ambiente. Os veculos de Braitenberg so um exemplo de agentes
reactivos.

Veculo 1 de Braitenberg

2.2.1 Representao e implementao da funo Aco


Trs abordagens principais ao problema da representao e implementao da funo Aco:
- Sistemas de produes

Abordagem simblica

- Unidades lineares de limiar (TLU)

Abordagem conexionista

- Arquitectura de subordinao

Abordagem de inspirao biolgica

2.2.1.1 Sistemas de produes (SP)


Um SP constitudo em termos gerais por:
Um conjunto de produes ou regras do tipo:
Se <condio> Ento <aco>
significado: se se verificarem as condies <condio> ento realizar as aces <aco>
Ex: Se temperatura = OK Ento desliga_aquecimento

IIA

Espcie de Sebenta/Resumo

17

Introduo Inteligncia Artificial


Um interpretador de regras ou mecanismo de controlo
O mecanismo de controlo tem de lidar com questes como:
a) Que regras podem ser activadas;
b) Que regra escolhida (mecanismo de resoluo de conflitos);
c) Disparar a regra, por execuo das aces indicadas no consequente.
Um mecanismo de controlo simples ser: as produes so colocadas numa lista ordenada e a
primeira produo cujas condies sejam verdadeiras disparada, sendo executada a
respectiva aco. O consequente da regra tanto pode ser uma aco bsica, directamente
executvel pelo agente, como ser outro sistema de produes que activado. Por norma a
ltima regra tem a sua condio sempre verdadeira (T ou True), para que exista sempre uma
regra que seja disparada.
Memria de trabalho ou ambiente
Neste caso significa apenas o que verdadeiro no mundo (do ponto de vista do agente).

2.2.1.1.1 Exemplo 1
Agente num ambiente 2D
Sistema de produes simples:
Deambular1:
1.
2.
3.
4.
5.

O1 N
O2 E
O3 S
O4 O
T NIL

A aco NIL significa no fazer nada.

Este sistema de produes leva a que haja uma preferncia pela movimentao para norte, visto
esta ser a regra que se encontra em primeiro na lista. Leva tambm a que o agente entre num ciclo,
pois ao atingir o canto superior direito do ambiente em ficar estancado nesse local, variando entre
as duas clulas superiores mais direita.
Uma hiptese para resolver a situao permitir que o agente marque o terreno por onde vai
passando de modo que identifique posteriormente as marcas como obstculos a evitar. Temos que
mudar o SP. Pi o identificador de passagem pela posio i. Obtemos uma nova verso do SP:
Deambula2:

IIA

Espcie de Sebenta/Resumo

18

Introduo Inteligncia Artificial


1.
2.
3.
4.
5.

O1, P1 N, Pag
O2, P2 E, Pag
O3, P3 S, Pag
O4, P4 O, Pag
T NIL

Significado: se o agente est na posio ag e a posio i est livre, ento vai para a posio i e marca

a posio ag como ocupada. Resultado:


O agente parece j no entrar num ciclo, mas verifica-se que eventualmente acabar bloqueado e
parar. Apesar de simples, este exemplo mostra algumas das dificuldades do projecto quando o
agente tem capacidades limitadas.
Uma palavra final sobre o comportamento global do agente. Com os quatro sensores (cada sensor
tem apenas dois valores possveis) existem 16 estados diferentes que o agente pode captar. No
entanto 8 desses estados originam como resposta a aco norte, 4 a aco este, 2 a aco sul, 1 a
aco oeste e 1 a aco NIL. Isto permite compreender o comportamento do agente que induz
rotaes pela direita.
2.2.1.1.2 Exemplo 2

Agente com 8 sensores


Os sensores detectam a presena (sensor a 1) ou a ausncia (sensor a 0) de obstculos na
vizinhana. O agente pode movimentar-se para as clulas vizinhas na mesma coluna ou linha. A
tarefa desta vez ser encontrar uma parede e segui-la.
Transformar os valores dos sensores em caractersticas de mais alto nvel.
Existem 2^8 = 256 estados diferentes. Para efeitos da tarefa a executar podemos definir apenas 4

IIA

Espcie de Sebenta/Resumo

19

Introduo Inteligncia Artificial


caractersticas, designadas por x1, x2, x3 e x4. Essas caractersticas indicam se as posies que
cobrem tm pelo menos uma delas ocupada.
Porqu estas caractersticas e no outras? Porque as caractersticas importantes so aquelas que
permitem determinar a aco que se liga resoluo da tarefa. Como no nosso caso o agente
apenas pode perceber o que se passa nas suas clulas vizinhas e tem de, com base nisso, procurar
seguir a parede exterior ou o obstculo encontrado, as caractersticas importantes relacionam-se
com o espao ocupado e o espao livre na vizinhana.
Segue_Paredes:
1.
2.
3.
4.
5.

x4 x1 N
x3 x4 O
x2 x3 S
x1 x2 E
TN

Com este sistema de produes o agente ao encontrar uma parede segue-a. No entanto existem
casos em que o agente no actua do modo esperado. Ao encontrar uma passa estreita o agente no
segue a parede. (Ver livro para exemplos)

2.2.1.2

Unidades Lineares de Limiar TLU

Representao de uma TLU


As TLU podem ser usadas para implementar uma produo. Por exemplo:
x4 x1 N
x4 ser verdadeiro desde que o valor dos sensores s8 ou s1 seja igual a 1. Igualmente para que x1
seja verdadeiro preciso que os sensores s2 e s3 sejam 0. Daqui resulta que uma TLU como a
indicada na figura apenas ter valor 1 se x4 e x1 sejam simultaneamente verdadeiros:

IIA

Espcie de Sebenta/Resumo

20

Introduo Inteligncia Artificial

TLU para a regra 1


Para implementar o mecanismo de controlo e resoluo de eventuais conflitos entre regras
baseamo-nos em unidades designadas TISA (Testar, Inibir, Silenciar, Actuar):

Estrutura de uma unidade TISA


Estas unidades so implementadas por duas TLU de duas entradas (A e B).
A TLU A implementa um OU Lgico das suas entradas Testar e Inibir. A sada Silenciar apenas ser 0
caso as duas entradas Testar e Inibir sejam ambas tambm 0.
A TLU B funciona da seguinte maneira: se a entrada Testar estiver a 1 ento a sada Actuar tambm
ser 1, a menos que o sinal Inibir esteja tambm ele a 1.
Deste modo, desde que inibio ou teste estejam activos, a sada Silenciar fica activa, enquanto a
entrada Inibir controla a passagem do sinal da entrada Testar para a sada Actuar.
Para implementar um sistema de produes, basta ligar a sada a uma TLU, que implementa uma
produo, entrada Testar de uma unidade TISA, ao mesmo tempo que ligamos a sada Silenciar
entrada Inibir da produo que a segue na sequncia e a sua entrada Inibir sada Silenciar
produo que a antecede na sequncia.

IIA

Espcie de Sebenta/Resumo

21

Introduo Inteligncia Artificial


Notar que a entrada Inibir da primeira regra est sempre a 0.

Implementao de um sistema de produes atravs de unidades TISA

Controlo do motor

Execuo da tarefa

Planeamento

Modelizao

Sensores

Percepo

2.2.1.3 Arquitectura de Subordinao


Rodney Brooks prope um abordagem diferente ao problema de ligar a entrada de um agente
respectiva sada. A sua abordagem baseia-se no que designa por hiptese do fundamento fsico: o
comportamento inteligente no resulta da manipulao de representaes explcitas do ambente,
mas antes da interaco do agente com o ambiente. Contrape arquitectura vertical da IA
tradicional uma arquitectura horizontal. Mais concretamente, a IA clssica faz uma ligao por
camadas, cada uma constituindo uma unidade funcional, entre as sensaes e as aces:

Actuadores

Exemplo da representao por camadas da IA clssica

IIA

Espcie de Sebenta/Resumo

22

Introduo Inteligncia Artificial


Na abordagem de Brooks a arquitectura est organizada em torno de comportamentos voltados
para a concretizao de tarefas, que liga directamente as entradas do agente s suas sadas:

Sensores

Planear mudanas no ambiente


Apanhar objectos
Explorar
Passear
Evitar objectos

Actuadores

Exemplo da arquitectura de subordinao


O projecto de um agente comea pela especificao dos comportamentos pretendidos para o
agente e sua diferenciao em nveis de competncia. Esses nveis de competncia podem ser
bsicos, como evitar objectos, ou mais complexos, como apanhar objectos. Cada um detes nveis
ser implementado como uma camada de controlo. A separao entre nveis permite a construo
incremental do agente e o teste separado de cada comportamento.
As diferentes camadas podem comunicar atravs de sinais de supresso (s) dos sinais de entrada ou
de inibio (i) dos sinais de sada. Ex: se o objectivo for o agente apanhar um objecto, a cada que
implementa este comportamento tem de inibir a camada que implementa o comportamento de
evitar objectos. Diz-se assim que as camadas superiores subordinam as camadas inferiores.

Ariquitectur de subordinao: implementao


Cada camada implementada por recurso a diferentes mdulos ligados entre si e ligados a mdulos
de outras camadas. (ver fig 2.29, pg. 59)
Cada mdulo implementado por recurso a mquinas de estados finitos aumentadas (MEFA). De
modo simplista, uma mquina de estados finitos um dispositivo que, em funo de um sinal de
entrada e do estado em que se encontra, muda de estado e produz um sinal de sada. Os estados da
mquina so em nmero finito e a mudana de estado comandada por um conjunto finito de
regras.
Uma MEF normal aumentada atravs de registos, unidades de supresso do sinal de entrada (s)
ou de inibio do sinal de sada (i) e de um relgio de alarme.

IIA

Espcie de Sebenta/Resumo

23

Introduo Inteligncia Artificial

2.3 Agentes reactivos com memria


[2.3]
Limitaes nas capacidades sensoriais dos agentes reactivos podem, em parte, ser ultrapassadas
pela incluso de um mecanismo de memria.
2.3.1 Arquitectura abstracta
Os agentes podem basear a sua deciso na sua histria. Uma maneira de tratar essa caracterstica
incluir na arquitectura do agente a capacidade de manter uma descrio do estado do ambiente,
presente e passado. Se designarmos por I o conjunto dos estados (internos) do agente, teremos
agora:
Percepo: E P
Estado: I x P I
Aco: I A
O comportamento do agente baseado no estado interno pode agora ser descrito do seguinte modo:

Admitamos que o agente se encontra num dado estado interno i;


O agente observa o estado do ambiente, e, e produz a percepo percepo(e);
O estado interno actualizado pela funo estado(i, percepo(e));
A aco selecionada ser aco(estado(i, percepo(e)));
E um novo ciclo recomea. Inicialmente o agente estar num estado i0.

O estado interno funciona ento como memria da histria das interaces entre o agente e o
ambiente. Por seu turno, o agente funciona como uma mquina de estados, que vai alterando o seu
estado em funo do seu estado actual e da informao que recebe do ambiente.
2.3.2 Implementao Formiga FORMART
Um sistema de produes tem a capacidade de implementar um agente com estado interno.
Formart uma formiga artificial, num mundo 2D. Formart segue um trilho contnuo de feromona, a
sua tarefa. Cada pedao do trilho ocupa uma clula. A formiga ocupa tambm uma clula,
podendo estar direcionada para cima, baixo, esquerda e direita.
A formiga pode estar em dois estados, activa (On) ou inactiva (Off). Pode avanar uma posio no
sentido em que se encontra, virar 90 graus para a esquerda ou para a direita, e ficar activa ou
inactiva. A sua percepo limita-se a detectar a presena de feromona na clula sua frente. Pode
ainda determinar se est activa ou inactiva.
Queremos especificar atravs de um sistema de produes o mecanismo de controlo da formiga
para que siga o trilho.
Aces possveis:
A Avanar
E rodar 90 graus esquerda
D rodar 90 graus direita
On passa a activa
Off passa a inactiva
IIA

Espcie de Sebenta/Resumo

24

Introduo Inteligncia Artificial


F ou F presena ou ausncia de feromona
O sistema de produes ser:
Segue_trilho:
1.
2.
3.
4.

Off, F A, Off
Off, F E, On
On, F A, Off
On, F D, On

O estado interno (On/Off) permite ter informao sobre o passado, isto , sobre o facto de a
formiga andar (On) ou no (Off) a mudar de direco. Assim o comportamento o seguinte.
Enquanto detecta feromona na sua frente avana (regra 1). Quando deixa de sentir, muda de estado
e roda esquerda (regra 2). Se mudou de direco e foi bem sucedida, volta ao estado anterior e
avana (regra 3). Caso tenha sido mal sucedida, volta atrs (regra 4) e mantm o estado de procura
(regra 4).
Constata-se que, sendo colocada inicialmente sobre o trilho e com feromona sua frente, a Formart
nunca sai do trilho. Tambm se verifica que nunca volta atrs. Fica claro neste exemplo o papel do
estado interno a funcionar como memria e a impedir a formiga de entrar em ciclo.
2.3.3 Limitaes sensoriais e estado interno.
(em falta) (parece no ter sido lecionado)

IIA

Espcie de Sebenta/Resumo

25

Introduo Inteligncia Artificial

3 Agentes de Procura
IAFA Cap. 3

3.1 Problemas, estados, operadores e procura


[3.1]
Na diversidade de problemas de quebra-cabea existem aspectos em comum entre estes problemas.
Por exemplo, o agente confrontado com uma situao, configurao ou estado inicial e uma
configurao, situao ou estado final. Existe sempre m critrio de reconhecimento de que o
problema foi resolvido ou que o objectivo foi alcanado. Associado soluo ou ao processo de
gerar solues existem restries aco do agente: so as regras do jogo. Tambm tm algumas
diferenas. Em alguns estamos apenas interessados em encontrar a soluo, enquanto que noutros
o que interessa a sequncia de aces que respeite as restries e permita alcanar o estado
objectivo. Nalguns problemas, apenas nos interessa encontrar uma soluo enquanto noutros
estamos interessados na melhor soluo. Trata-se de um problema de optimizao. Por fim, os
problemas considerados para este caso (n-rainhas, missionrios e canibais, etc), confrontam-se num
ambiente determinista. No entanto, os problemas de jogos como o xadrez ou as cartas, envolvendo
adversrios, introduzem uma componente de incerteza.
Caracterizar de forma mais rigorosa o problema:
Um problema pode ser definido pelo conjunto possvel das suas configuraes ou estados. Um
desses estados o estado inicial, enquanto outros so estados finais, aqueles que satisfazem o
objectivo estipulado no enunciado do problema. Ao conjunto de todos os estados chamamos espao
de estados ou espao de procura. Para alm dos estados, pode existir um conjunto de restries
que devem ser satisfeitas, quer para uma soluo ser vlida, quer para o processo de procura da
soluo ser vlido. Finalmente, existe um conjunto de operadores que permitem actuar sobre os
estados, alterando-os. As restries e os operadores definem implicitamente ligaes entre alguns
estados. O espao de estados com as respectivas ligaes pode ser visto como um grafo, por vezes
chamado grafo do espao de estados.
Para que o nosso agente possa resolver este tipo de problemas, tem de ter um conjunto de
capacidades. Por exemplo, tem de ser capaz de percepcionar os estados e construir uma
representao interna (um modelo) desses estados; tem de ter a capacidade de actuar sobre eles de
acordo com as regras do problema, provocando transies entre estados, isto , tem de ter
operadores de mudana de estado; tem evidentemente de ter a capacidade de reconhecer que
alcanou um estado final.
A estratgia genrica que o nosso agente adoptar basear-se- na navegao pelo espao de
estados procurando um caminho que ligue o estado inicial a um estado final. Esta estratgia
conhecida pelo paradigma da procura no espao de estados. Pode ser usada nos mais variados
problemas, da a sua qualificao como genrica. natural que o nosso agente procure usar uma
estratgia que satisfaa algumas caractersticas:
Seja completa se existir uma soluo para o problema, ela ser encontrada em tempo finito;
Seja discriminadora caso existam vrias solues que encontre a melhor;
Seja econmica que encontre a soluo o mais rpido possvel e ocupando o menor espao
possvel de memria.
IIA

Espcie de Sebenta/Resumo

26

Introduo Inteligncia Artificial


Na maioria dos problemas no possvel ao agente adoptar uma estratgia que se baseie na
manuteno explcita de uma representao de todo o grafo de estados e suas ligaes. Assim, as
diferentes estratgias que iremos apresentar constroem implicitamente o grafo.
Suponhamos que o nosso problema era o de encontrar um caminho entre duas cidades. O nosso
agente, ao utilizar uma estratgia baseada no paradigma da procura num espao de estados, ir
construir um grafo parcial. Ao processo de determinar os vizinhos, ou sucessores, de uma cidade (n

ainda no considerados, chamamos de expanso (do n).


Faz parte da estratgia do agente o modo como escolhe o caminho a seguir entre as vrias
alternativas possveis.
Em cada momento, as cidades (ns) conhecidas mas ainda no visitadas formam a fronteira
do espao de estados.
Para o funcionamento do algoritmo, necessrio manter uma estrutura de dados, o
conjunto de ns que formam a fronteira corrente da rvore de procuram, e que contm os
candidatos a expanso. A estratgia utilizada vai determinar directamente uma ordem
nesse conjunto, isto , o modo como ossucessores so guardados na estrutura e,
indirectamente, o modo como escolhido o prximo n para anlise.

3.2 Procura cega


[3.2]
Quando no existe nenhuma informao sobre o problema que nos permita ajudar no processo de
gerao e teste dos ns, teremos de nos socorrer de uma estratgia dita cega. O que essas
estratgias fazem basicamente definir um modo sistemtico de navegar na rvore de procura.
Existem fundamentalmente duas possibilidades: uma consiste em analisar repetidamente um
sucessor do ltimo n analisado; outra baseia-se na anlise de todos os sucessores de um dado n,
antes de passar para a anlise de todos os sucessores dos sucessores.
3.2.1 Em largura primeiro
[3.2.1]

IIA

Espcie de Sebenta/Resumo

27

Introduo Inteligncia Artificial

Numa rvore de procura cada n tem um nvel. A raiz tem nvel 0, os seus sucessores nvel 1, etc. A
estratgia de procura em largura primeiro analisa todos os ns de nvel n antes dos ns de nvel n+1.

rvore de procura com todos os ns at ao nvel 2


Do ponto de vista algortmico, se estivermos a resolver um problema em que apenas interessa a
soluo, ento no ser necessrio manter guardada toda a rvore de procura, mas sim a sua
fronteira. Caso nos interesse o caminho, teremos de manter todos os caminhos que ligam a raiz da
rvore aos ns na fronteira.
Para assegurar que a estratgia tem o comportamento indicado, a fronteira dever ser guardada
numa fila (FIFO): os elementos cabea da fila sero os primeiros a ser analisados e os sucessores
de um n gerados pela estratgia sero introduzidos no final da fila.
Algoritmo de procura em largura primeiro:
Funo ProcuraLarguraPrimeiro(problema, InsereFila): soluo ou falha
1. l_ns Faz_Fila(EstadoInicial (problema))
2. Repete
2.1. Se VaziaFila(l_ns) Ento
2.1.1. Devolve falha
Fim_de_Se
2.2. n RetiraFIla(l_ns)
2.3. Se TesteObjectivo(n) Ento
2.3.1. Devolve n
Seno
2.3.2. InsereFila(l_ns, Expanso(n, Operadores(problema)))

IIA

Espcie de Sebenta/Resumo

28

Introduo Inteligncia Artificial


Fim_de_Se
Fim_de_Repete
Fim_de_Funo

Como se pode verificar, o algoritmo comea por formar uma fila contendo o estado inicial (1). Entra
depois num ciclo (2) e, caso a fila no esteja vazia (2.1), situao que gera uma resposta negativa
(2.1.1), retira o elemento cabea da fila (2.2) e analisa-o, relativamente ao teste objectivo (2.3). se
for soluo, devolve-o (2.3.1), seno determina os seus sucessores de acordo com os operadores
que lhe so aplicveis, os quais so inseridos no fim da fila (2.3.2).
Os ns de um dado nvel no so gerados todos na mesma iterao. Existe a possibilidade de
aparecimento de ns j anteriormente expandidos e analisados, o que leva possibilidade de
existirem ciclos. O crescimento do nmero de ns na lista de ns no linear.

completa, mesmo no caso de espaos de procura infinitos ou contendo ciclos. Com efeito, os ns
vo sendo todos analisados nvel a nvel, pelo que, se existir uma soluo, mais cedo ou mais tarde
ela ser encontrada.
Ser discriminadora? Se todas as ligaes tiverem o mesmo custo (por exemplo, a distncia entre
duas quaisquer cidades for a mesma), ento a soluo encontrada ser a melhor (menos
quilometragem percorrida) pois o factor determinante ser o nvel a que foi encontrada a soluo.
Mesmo que os custos das ligaes sejam diferentes, a soluo encontrada pode ainda ser ptima se
o custo do caminho percorrido for uma funo no decrescente do nvel do n. Uma vez mais,
impossvel existir uma soluo melhor a um nvel mais baixo. Em geral, no entanto, estas condies
no esto garantidas, pelo que esta abordagem no garante que se encontre sempre a melhor
soluo.
econmica? A anlise feita em duas componentes: tempo de execuo e espao de memria
necessrio. Considerando que todos os ns tm o mesmo nmero de sucessores (factor de
ramificao), r.
Em termos de anlise temporal, admitindo que a soluo se encontra no nvel n, tiveram de ser
analisados obrigatoriamente todos os ns dos nveis anteriores. No nvel n, a soluo pode estar
entre as posies 1 e n. No pior caso, a soluo encontra-se no ltimo n do nvel.
O nmero de ns analisados cresce exponencialmente com o factor de ramificao, para um dado
nvel, mas tambm quando a variao feita em funo do nvel a que se encontra a soluo,
fixando o factor de ramificao.
Atravs de uma anlise da complexidade assimpttica, constacta-se que a complexidade temporal
de ordem O(rn).

IIA

Espcie de Sebenta/Resumo

29

Introduo Inteligncia Artificial


Em termos de anlise espacial, obtemos resultados semelhantes. O algoritmo para analisar os ns
de um dado nvel ter de os manter todos em memria. Como no nvel n existem rn ns, a
complexidade espacial assimpttica ser tambm O(rn).
Os problemas que apresentam uma complexidade exponencial so problemas computacionalmente
pesados. Os mtodos cegos apenas resolvem estes problemas para valores de r e n pequenos.

3.2.2 Em comprimento primeiro


[3.2.3]

Esta estratgia parte da raiz, expande um n, escolhe um dos seus sucessores, expande-o por sua
vez, continuando o processo at que encontre a soluo ou o n no possa ser mais expandido.

IIA

Espcie de Sebenta/Resumo

30

Introduo Inteligncia Artificial


Neste ltimo caso continua o processo com um irmo do ltimo n analisado, caso exista, ou
regressa ao nvel anterior para continuar o processo.
Para garantir que o algoritmo se comporte conforme indicado, basta que a fronteira da rvore de
procura seja guardada numa pilha (LIFO).
Algoritmo de procura em profundidade primeiro:
Funo ProcuraProfundidadePrimeiro (problema, InserePilha): soluo ou falha
1. l_ns FazPilha (EstadoInicial (problema))
2. Repete
2.1 Se VaziaPilha(l_ns) Ento
2.1.1 Devolve falha
Fim_de_Se
2.2 n RetiraPilha(l_ns)
2.3 Se TesteObjectivo(n) Ento
2.3.1 Devolve n
Seno
2.3.2 InserePilha(l_ns, Expanso(n, Operadores(problema)))
Fim_de_Se
Fim_de_Repete
Fim_de_Funo
O algoritmo tem um comportamento anlogo ao da procura em largura primeiro, comeando por
formar uma pilha contendo apenas o estado inicial (1). Entra depois num ciclo (2) e, caso a pilha no
esteja vazia, sinal de que analisou todos os ns, (2.1), retira o elemento cabea da pilha (2.2) e
analisa-o, relativamente ao teste objectivo (2.3); se, por acaso, no existirem mais elementos na
pilha termina falhando (2.1.1). Se o elemento retirado for soluo, devolve-o (2.3.1), seno
determina os seus sucessores de acordo com os operadores que lhe so aplicveis os quais so
inseridos cabea da pilha (2.3.2).
Os ns dos nveis mais pequenos que no so escolhidos vo ficando para trs na pilha, sendo por
isso analisados posteriormente queles que se encontram mais fundo na rvore de procura. Verificase tambm a possibilidade de existncia de ciclos. Finalmente, o nmero de ns na pilha aparenta
no crescer to rapidamente como no caso das estratgias em largura primeiro.
A estratgia no completa, mesmo que o espao de procura seja finito. Basta que exista um ciclo
no caminho de aprofundamento escolhido pelo algoritmo para ele nunca mais terminar.
Tambm no discriminadora. Com efeito, podem existir duas solues, uma num nvel alto e outra
num nvel baixo, que o algoritmo pode seguir pelo caminho que leva primeira. Caso os custos
associados aos caminhos sejam no negativos, lgico que a soluo de menor custo no ser
encontrada.
Analisemos quanto economia, para a complexidade temporal. Admitimos um factor de
ramificao constante (r) e um nvel n. A anlise mais complicado, mas duas coisas so certas: no
melhor dos casos, se a soluo estiver no ramo mais esquerda no nvel n, ento sero analisados

IIA

Espcie de Sebenta/Resumo

31

Introduo Inteligncia Artificial


n+1 ns; se a soluo estiver no ramo mais direita e no ltimo nvel, teremos o caso menos
favorvel, semelhante procura em largura primeiro, pelo que a complexidade semelhante.
Considerando a complexidade assimpttica, teremos O(rn).
Para a complexidade espacial, para um factor de ramificao constante, teremos, no caso de a
soluo se encontrar no nvel n, um valor mximo de ns guardados dado por:
n(r 1) + 1
A complexidade assimpttica ser de O(n*r), ou seja, linear com o nvel.

Esta estratgia apresenta um ganho substancial do ponto de vista de memria usada e uma
melhoria do ponto de vista temporal face procura em largura primeiro, mas a impossibilidade de
lidar com ciclos e a no garantia de encontrar a melhor soluo so aspectos negativos a ter em
conta.

3.2.3
3.2.3.1
[3.2.2]

Variantes
Custo uniforme

Pode existir um custo associado s transies de estado. Ex: no caso do mapa, o custo dado pela
distncia quilomtrica entre cidades. Ao aplicarmos um sequncia de operadores desde o n inicial
at um dado n k, o custo do caminho correspondente ser definido pelo soma dos custos parciais.
g(k) a funo que nos d o custo associado ao caminho que nos leva ao n k.

IIA

Espcie de Sebenta/Resumo

32

Introduo Inteligncia Artificial


O algoritmo de procura de custo uniforme uma variante do algoritmo de procura em largura
primeiro, que escolhe para expanso a cada momento o n pertencente fronteira cujo custo o
mais pequeno.
Neste caso, a insero de elementos na fila feita de forma ordenada, colocando os elementos de
menor custo cabea da fila.
Tratando-se de uma variante da procura em largura primeiro, as caractersticas deste algoritmo no
so muito distintas das daquele. Existe uma condio importante da funo de custo g(k) que
permite ao algoritmo apresentar boas propriedades:
g(Sucessor(k)) g(k)
isto , o custo de um caminho no pode diminuir medida que descemos de nvel. Basta que os
custos directos entre dois ns sejam no negativos. Assumindo que isto verdade para qualquer n,
podemos afirmar ento que o algoritmo completo, pois no podero existir ciclos de valor
decrescente de custo. Deste modo todos os ns iro ser analisados de forma sistemtica at a
soluo ser encontrada. Do mesmo modo ser discriminador, encontrando sempre a soluo de
menor custo.
Quanto vertente econmica, este algoritmo tem caractersticas semelhantes procura em largura
primeiro, pelo que apresentar complexidade temporal e espacial exponencial, O(rn).

3.2.3.2
[3.2.4]

Profundidade limitada

O algoritmo de procura em profundidade limitada uma variante do algoritmo de procura em


profundidade primeiro, e que procura evitar o problema deste de no conseguir lidar com caminhos
infinitos. F-lo fixando o nvel mximo de procura. O algoritmo exige apenas uma modificao. Esta
alterao consiste em supor que faz parte da descrio do estado o nvel a que se encontra,
podendo apenas ser aplicados os operadores caso o nvel do n seja inferior ao mximo escolhido.
O problema que se coloca o de saber qual o valor mximo para o nvel que deve ser usado.
Infelizmente, nem sempre possvel determinar esse valor e, quando tal possvel, isso depende do
problema.
Admitindo que possvel definir um limite mximo, ento o algoritmo de procura em profundidade
limitada ser completo. Continua pelas razes j explicadas a no ser discriminador. A
complexidade temporal assimpttica ser de ordem de O(rl) e a espacial O(l*r), sendo l o valor do
limite mximo. Ser assim econmico do ponto de vista do espao, mas no ser do ponto de vista
temporal.
3.2.3.3
[3.2.5]

Aprofundamento progressivo

Consiste na chamada repetida do algoritmo de procura limitada, fazendo variar o valor do limite
mximo entre o nvel 0 e infinito.

IIA

Espcie de Sebenta/Resumo

33

Introduo Inteligncia Artificial


Este algoritmo combina aspectos positivos da procura em largura e da procura em profundidade.
Assim manifestamente completo: o problema dos caminhos infinitos desaparece. discriminador
caso o custo associado a todas as transies for o mesmo. Caso contrrio, no encontra
necessariamente a soluo mais prxima da raiz. A complexidade espacial a da procura em
profundidade primeiro, ordem O(r*n), n o nvel da soluo. Pe-se, no entanto, a questo da
sobrecarga temporal motivada pelo facto de vrios ns serem analisados mais do que uma vez.
Este algoritmo uma excelente opo para problemas em que somos obrigados a recorrer a um
mtodo cego, o espao de procura grande, mas no sabes qual o nvel mximo em que pode estar
uma soluo.

3.3 Procura heurstica


[3.3]
Nos algoritmos seguintes vamos admitir que possumos informao adicional que torna capaz
estimar o custo do caminho do n corrente at ao n soluo. Essa informao dada por uma
funo h(n). No exemplo do mapa, a funo h(n) ser simplesmente a distncia quilomtrica em
linha recta entre cidades.
Os algoritmos apresentados podem ser distinguidos por vrios aspectos. Por exemplo, o modo como
o prximo operador escolhido: num caso, escolhe-se o melhor luz de uma heurstica global,
noutros casos a heurstica puramente local. Podemos tambm catalogar os algoritmos de acordo
com o modo como a memria , ou no, limitada. Finalmente, podemos ainda considerar o modo
como as componentes de custo, g(n) e h(n), so utilizadas.

3.3.1

IIA

Trepa colinas

Espcie de Sebenta/Resumo

34

Introduo Inteligncia Artificial

[3.3.5]
O algoritmo trepa colinas baseia-se na filosofia de encontrar a melhor soluo e no o caminho at
ela. Este tipo de abordagem tem uma natureza tipicamente local e envolve ir melhorando
progressivamente a soluo candidata. O algoritmo descarta todos os vizinhos menos o melhor.
Algoritmo da procura trepa colinas:
Funo TrepaColinas(problema): soluo
1. n_corrente Estado_Inicial(problema)
2. Repete
2.1. n_seguinte Melhor(h, Expanso(n_corrente, Operadores(problema)))
2.2. Se h(n_seguinte) > h(n_corrente) Ento
2.2.1 Devolve n_corrente
Fim_de_Se
2.3. n_corrente n_seguinte
Fim_de_Repete
Fim_de_Funo
Caractersticas:
No completo: pode haver situaes em que uma transio inicialmente promissora nos conduz
para um estado que no soluo e cujos descendentes no melhoram o resultado dado pela
funo de avaliao.
No discriminadora/ptima: podemos terminar num mximo local, o que torna impossvel
melhorar a soluo, logo impossvel atingir a soluo pretendida.
Quanto natureza econmica: em termos de complexidade espacial, esta contantes, ordem O(k),
pois apenas guarda um estado. Em termos de complexidade temporal, semelhante a uma procura
em profundidade primeiro, ordem O(r*n). a utilizao deste algoritmo depende bastante da
natureza do terreno. Para alm do problema dos mximos locais, tambm a existncia de
planaltos pode dificultar o funcionamento do algoritmo, pois, tendo este apenas uma viso local do
terreno, se a funo de avaliao devolver valores idnticos para todos os vizinhos, a escolha ser
ento aleatria.
Existem solues para estes problemas. Uma das possibilidades de tratar dos mximos locais seria
retomar o algoritmo a partir de uma nova posio. Do ponto de vista da complexidade, o algoritmo

IIA

Espcie de Sebenta/Resumo

35

Introduo Inteligncia Artificial


deixaria de ser to apelativo. No caso dos planaltos, uma soluo possvel seria deixar o algoritmo
ter uma vizinhana maior, isto , poder analisar o que se passa depois de usar mais do que um
operador em cadeia. Deixamos neste caso de ter um algoritmo to simples e ao mesmo tempo no
sabemos qual deve ser a dimenso do olhar para a frente.
3.3.2

Procura sfrega

[3.3.1]

Na procura sfrega o princpio consiste em escolher o n na fronteira da rvore de procura que


aparenta ser o mais promissor de acordo com o valor estimado por h(n).
Assim o nosso algoritmo limita-se a manter a fronteira da rvore de procura ordenada pelos valores
de h(n), sendo sempre escolhido o n de valor mais baixo, isto , aquele que est hipoteticamente
mais prximo da soluo.
Algoritmo de procura sfrega:
Funo ProcuraSfrega(problema, Insere_Lista_Ordenada, Heurstica): soluo ou falha
1. l_ns Faz_Lista_Ordenada(Estado_Inicial(problema))
2. Repete
2.1. Se Vazia_Lista_Ordenada(l_ns) Ento
2.2.1. Devolve falha
Fim_de_Se
2.2. n ! Retira_Lista_Ordenada(l_ns)
2.3. Se Teste_Objectivo(n) Ento
2.3.1. Devolve n
Seno
2.3.2. Insere_Lista_Ordenada(l_ns,Heurstica(Expanso(n,Operadores(problema))))
Fim_de_Se
Fim_de_Repete
Fim_de_Funo
A estrutura usada neste caso uma lista ordenada. A varivel l_ns ir manter a lista ordenada pela
heurstica dos ns ainda por visitar. Verifica-se o reaparecimento de ns j visitados.

IIA

Espcie de Sebenta/Resumo

36

Introduo Inteligncia Artificial


Caractersticas:
Em geral, no completa. Basta notar que podem aparecer ns repetidos que podem originar
caminhos infinitos.
No discriminadora.
Do ponto de vista da complexidade, reparamos que os ns vo sendo expandidos num modo hbrido
entre uma procura em profundidade e uma procura em largura, o que pode levar a que, no pior
caso, todos os ns tenham de ser expandidos e visitados o que significa uma complexidade
temporal da ordem de O(rn). Como a fronteira ter de ser toda mantida em memria, e atendendo
ao modo como ela evolui, teremos tambm no limite uma complexidade espacial da ordem de O(rn).

3.3.3

A*

[3.3.2]
O algoritmo A* tenta escolher a cada instante o melhor caminho passando pelo n n usando a
funo f(n) = g(n) + h(n). Dado que h(n) nos d um valor estimado, f(n) tambm quantifica o valor
estimado de um caminho passando por n.
Este algoritmo garante, no caso de a funo h(n) ter boas propriedades, no apenas ser completo,
mas encontrar a melhor soluo. Qual a propriedade que h(n) deve possuir? Deve ser admissvel,
entende-se por isso que nunca sobrestima o custo real do caminho que passa por n, ou seja:
h(n) hreal(n)

IIA

Espcie de Sebenta/Resumo

37

Introduo Inteligncia Artificial


Algoritmo A*:
Funo A*(problema, Insere_Lista_Ordenada, g+h): soluo ou falha
1. l_ns Faz_Lista_Ordenada(Estado_Inicial(problema))
2. Repete
2.1 Se Vazia_Lista_Ordenada(l_ns) Ento
2.2.1. Devolve falha
Fim_de_Se
2.2. n Retira_Lista_Ordenada(l_ns)
2.3. Se Teste_Objectivo(n) Ento
2.3.1. Devolve n
Seno
2.3.2. Insere_Lista_Ordenada(l_ns, g+h(Expanso(n,Operadores(problema))))
Fim_de_Se
Fim_de_Repete
Fim_de_Funo
A nica diferena relativa ao algoritmo de procura sfrega est no uso combinado das funes g(n) e
h(n).
Pressupostos:
f: montona no decrescente
O custo da funo f(n) ao longo de um caminho em geral nunca decresce;
h: admissvel
A funo heurstica nunca sobrestima o valor real do custo;
r: finito
Factor de ramificao associado a cada n finito;
c(n, m): positivo
(m um sucessor de n)
Cada arco tem um custo positivo.
Caractersticas
completo: o algoritmo vai expandindo os ns por valores crescentes de f. A nica possibilidade de
no encontrar a soluo, seria existir uma infinidade de ns com um valor de f inferior ao valor de f
da soluo. Tal s poderia acontecer se o factor de ramificao de um dado n fosse infinito, ou se
existisse um caminho com um nmero infinito de ns mas com custo finito. O facto de no poderem
existir ns com factor de ramificao infinito e ainda o facto de a aplicao de cada operador ter um
custo positivo impedem as duas condies de se verificarem.
discriminador: encontra sempre primeiro a melhor soluo. Prova feita por contradio.

IIA

Espcie de Sebenta/Resumo

38

Introduo Inteligncia Artificial

Em termos de complexidade, esta depende em parte da qualidade da funo heurstica. Em geral, no


entanto, o nmero de ns na fronteira definida pelo valor de f cresce exponencialmente. Por outro

lado, todos esses ns so conservados em memria. Concluindo, o comportamento genrico do


algoritmo, quer em espao quer em memria, exponencial.

3.4 Procura estocstica


[3.4]
3.4.1 Procura aleatria
[3.4.1]
O algoritmo de procura aleatria um algoritmo cego que escolhe de forma aleatria qual o
prximo n a ser analisado e expandido.

IIA

Espcie de Sebenta/Resumo

39

Introduo Inteligncia Artificial

Algoritmo de procura aleatria:


Funo ProcuraAleatria (problema): soluo ou falha
1. Inicializa a rvore de procura com o estado (n) inicial do problema
2. Repete
2.1. Se no h candidatos para expandir Ento
2.1.1. Devolve falha
Fim_de_Se
2.2. Escolhe aleatoriamente um n da rvore de procura
2.3. Se o n contm o objectivo Ento
2.3.1. Devolve a soluo correspondente
Seno
2.3.2 expande o n e acrescenta rvore de procura os seus sucessores
Fim_de_Se
Fim_de_Repete
Fim_de_Funo
Tal como est definido, este algoritmo salta de estado em estado sem nenhum critrio. Parece ser
pois um pssimo algoritmo, pois a procura no sistemtica. No entanto, para espaos de procura
muito grandes, a probabilidade de escolher um estado por onde j tenha passado baixa, e este
algoritmo, em situaes em que no existe informao que nos possa ajudar, pela sua simplicidade
pode ser uma opo a considerar. No se mantm em memria toda a rvore de procura,
trabalhando-se apenas com a fronteira da rvore que contm os ns ainda no testados.
No h garantia de que o algoritmo seja completo ou discriminador. Tambm no fcil fazer a
anlise da complexidade. Do ponto de vista da memria necessria, poder ser visto como um
hbrido entre procura em largura primeiro e a procura em profundidade primeiro. Quanto
complexidade temporal, o seu valor no limite aproximar-se- de valores exponenciais.

IIA

Espcie de Sebenta/Resumo

40

Introduo Inteligncia Artificial

3.4.2 Recristalizao simulada


[3.4.2]
Semelhante ao trepa colinas mas que procura evitar cair em mximos locais. Em cada momento
selecionado aleatoriamente um sucessor do n corrente. Se o seu valor heurstico for melhor do que
o n corrente, ento escolhido e o processo repete-se. No entanto, mesmo que o n tenha um
valor inferior ao n actual, pode na mesma ser escolhido. A escolha depende de dois factores.
Quanto pior for o novo n relativamente ao n actual, menor ser a probabilidade de ser escolhido.
Quanto mais etapas tiverem passado, menos provvel a escolha de um estado de pior qualidade.
Algoritmo de procura recristalizao simulada:
Funo RecristalizaoSimulada (problema, pol_escalonamento,h): n_corrente
1.n_corrente EstadoInicial(problema)
2. Para t=1 At infinito Faz
2.1. T PolEscalona(t)
2.2. Se T=0 Ento Ento
2.1.1 Devolve n_corrente
Fim_de_Se
2.3. n_seguinte Aleatrio(Expanso(n_corrente,Operadores(problema)))
2.4. Se h(n_seguinte) > h(n_corrente) Ento
2.4.1. n_corrente n_seguinte
Seno
2.4.2 n_corrente Prob(n_seguinte, e^(E/T))
Fim_de_Se
Fim_de_Para
Fim_de_Funo
Neste algoritmo, h uma funo heurstica, T um dos parmetros de controlo, denominado
temperatura, PolEscalona a funo que determina os valores sucessivos de T, e E a diferena de
qualidade entre o novo n e o n corrente.
A poltica de escalonamento dos valores de T fundamental para escapar aos mximos locais.
Teoricamente, quanto mais lentamente T for decrescendo, maior a possibilidade de encontrar um

IIA

Espcie de Sebenta/Resumo

41

Introduo Inteligncia Artificial


mximo global. evidente que uma variao lenta de T implica o aumento do nmero de iteraes
do algoritmo.
O algoritmo herda as caractersticas fundamentais do algoritmo trepa colinas. Assim no completo
nem ptimo (discriminador). Do mesmo modo, como apenas mantm um n em memria, a sua
complexidade espacial constante, enquanto a complexidade temporal da ordem de O(r*n).

3.5 Critrio de escolha


Alguns princpios genricos para escolha do algoritmo. Devemos ter em linha de conta a dimenso
do espao de procura. Se for bastante elevado, a opo dever recair sobre uma procura heurstica.
Caso o espao de procura no seja elevado, possvel tentar um algoritmo cego. Mas qual?
Para escolher um algoritmo de entre as duas grandes famlias (procura em profundidade primeiro e
procura em largura primeiro), temos de ter em conta a forma do espao de procura. Essa forma
pode ser calculada de modo aproximado usando informaes sobre o factor de ramificao, a
profundidade da soluo, e a dimenso do espao de procura. Estes valores nem sempre esto
disponveis ou so fceis de calcular. Intuitivamente, se o factor de ramificao for elevado e a
profundidade da soluo for baixa, devemos optar por uma procura em profundidade primeiro. Se o
factor de ramificao for baixo e a profundidade da soluo for elevada, ento a opo dever recair
num mtodo de procura em largura primeiro.
Exemplo Charada de 15 algoritmo cego
Dimenso espao de procura (#estados) = 16!
A possibilidade de movimentos de nmeros dependem da posio da casa livre, em mdia ser 3.
Admitimos ento um factor de ramificao mdio constante igual a 3.
Profundidade = log3 16! = 28
Optariamos pela procura em largura primeiro.

No caso de procurarmos usar uma procura heurstica, temos de ter em ateno o facto de a
heurstica h(n) dever ser admissvel.
Exemplo Charada de 15 algoritmo heurstico
Podemos pensar em usar como heurstica (relembrando que mede a distncia estimada soluo)
o valor do nmero de nmeros na posio errada. Outra possibilidade seria considerar o nmero de
movimentos mnimos para colocar um nmero na sua posio final, admitindo que o caminho est
livre.
Existindo mais do que uma heurstica admissvel, devemos mesmo assim ter cuidado na escolha. Um
critrio simples ser optar pela heurstica que distinga melhor os estados e aproxime mais do valor
real o valor estimado, isto , que fornea valores mais elevados.

IIA

Espcie de Sebenta/Resumo

42

Introduo Inteligncia Artificial

IIA

Espcie de Sebenta/Resumo

43

Introduo Inteligncia Artificial

Agentes Baseados em Conhecimento

IAFA Cap. 4

4.1 Generalidades
4.1.1

Arquitectura

4.1.2

Sistemas de representao de conhecimento e de raciocnio

4.1.2.1

O mundo

4.1.2.2

As abordagens computacionais

4.1.2.2.1 Abordagem Conexionista Sistemas Conexionistas


4.1.2.2.2 Abordagem Biolgica Sistemas Biolgicos
4.1.2.2.3 Abordagem Simblica
4.1.2.2.3.1 Sistemas Procedimentais
4.1.2.2.3.2 Sistemas Estruturados (Hbridos)
4.1.2.2.3.3 Sistemas Declarativos

4.2 Agentes dedutivos


4.2.1

Generalidades

4.2.2

Clculo proposicional

4.2.2.1

Sintaxe

4.2.2.2

Semntica

4.2.3

IIA

Clculo de predicados de primeira ordem

Espcie de Sebenta/Resumo

44

Introduo Inteligncia Artificial

5 Agentes Baseados em Conhecimento Imperfeito


IAFA Cap. 7

IIA

Espcie de Sebenta/Resumo

45

Introduo Inteligncia Artificial

6 Agentes Aprendizes
IAFA Cap. 5

6.1 Generalidades
[5.1]
6.1.1 O significado de aprender
A noo de experincia envolve quer o agente, quer o ambiente externo, do mesmo modo que o
problema do desempenho ter de ser referido a uma dada tarefa. Uma definio que torna mais
claro o relacionamento entre estas quatro diferentes componentes ser:
Aprendizagem o processo pelo qual um agente altera de modo automtico as suas estruturas
internas, de modo a realizar melhor tarefas do seu interesse, nas condies impostas pelo ambiente.
Ex: Admitamos que pretendemos um agente especialista na atribuio de crdito (tarefa). O
ambiente ser composto pelas centenas de processos de concesso de crdito cujo resultado
conhecido. O desempenho do agente pode ser medido pela percentagem de decises erradas que
tomou. O processo de aprendizagem procurar ento diminuir essa percentagem.

6.1.2 Arquitectura de um agente


A arquitectura de um agente baseia-se em quatro mdulos: o mdulo de percepo e o mdulo de
aco, como nos agentes reactivos; o mdulo de deciso, como nos agentes baseados em

Agente

Ambiente

Aprendizagem
Percepo

Aco
Deciso

conhecimento; e o mdulo de aprendizagem.


Arquitectura de um agente aprendiz
O mdulo de percepo responsvel pela traduo dos dados dos sensores em percepes. Essa
informao enviada para o mdulo de deciso que a utiliza para determinar a melhor aco a
executar. No entanto, essa deciso avaliada pelo mdulo de aprendizagem. Este mdulo
composto por dois submdulos essenciais: um crtico e um modificador.

IIA

Espcie de Sebenta/Resumo

46

Introduo Inteligncia Artificial

IIA

Espcie de Sebenta/Resumo

47

Introduo Inteligncia Artificial

Decisor

Decisor

Crtico

Modificador

Comparador
Mdulo de aprendizagem
Se a avaliao do comportamento do elemento de deciso, feita pelo mdulo crtico por
comparao com um standard, no satisfatria, ento o elemento modificador determina e
promove as mudanas necessrias no elemento de deciso tendo em vista a melhoria do
comportamento do agente. O processo pode repetir-se at que o mdulo de aprendizagem no
promova mais modificaes, altura em que o mdulo de deciso interage com o mdulo de aco
para este reagir sobre o ambiente.
Operacionalizao do problema de aprendizagem:
Dados:
INSTNCIAS (I)
CONCEITO ALVO (C)
EXEMPLOS DE TREINO DO CONCEITO ALVO (C I)
HIPTESES (H)
TEORIA SOBRE O DOMNIO EXPLICATIVA DOS EXEMPLOS (T)
Determinar:
Hipteses hi H para descrever o conceito alvo (C), consistente com os exemplos de treino
(E) e com a teoria sobre o domnio (T)
Significado:
O conjunto de instncias (I) refere-se ao conjunto de todos os objectos do mundo, ex: todas
as cadeiras;
O conceito alvo (C) o que se pretende que o sistema aprenda, ex: o conceito de cadeira;
O conjunto dos exemplos (de objectos) de treino (E) formado pelos objectos usados na
aprendizagem, sendo alguns deles cadeiras;
O conjunto de hipteses (H) definidoras do conceito refere-se s possibilidades de hipteses
definidoras para o conceito alvo, ex: objectos com 4 pernas que suportam uma superfcie
plano e dispondo de encosto;
A teoria sobre o domnio (T) o conhecimento preexistente e explicativo dos exemplos, ex:
uma cadeira um objecto estvel.

6.1.3 Taxinomia de agentes


Os agentes aprendizes distinguem-se pelo modo como o mdulo de aprendizagem representado e
implementado. Os algoritmos podem ser analisados de diferentes pontos de vista:
Ponto de vista da entrada do algoritmo, esta pode ser definida atravs de:

IIA

Espcie de Sebenta/Resumo

48

Introduo Inteligncia Artificial


o

Caractersticas binrias identificadoras da presena ou ausncia de determinada


caracterstica (cor_clara)
o Pares atributo/valor (cor(clara))
o Expresses relacionais (sobre(obj1, obj2));
Ponto de vista da sada do algoritmo (resultado da aprendizagem):
o Abstraces do tipo hierarquias de conceitos (rvores de deciso);
o Expresses lgicas;
o Vectores de nmeros;
o Regras do tipo se <condio> ento <aco>;
Tipos de aprendizagem: os algoritmos posicionam-se ao longo de uma dimenso que tem,
numa extremidade, os pobres em teoria (usam tcnicas indutivas), e na outra extremidade,
os ricos em teoria (usam tcnicas dedutivas), passando pelas abordagens hbridas baseadas
em casos;
Condies proporcionadas pelo ambiente: a aprendizagem pode ser:
o Supervisionada (quando os exemplos de treino vm classificados) ou no;
o Incremental (quando os exemplos aparecem sequencialmente ao longo do tempo)
ou no;
Tarefas para que esto vocacionados:
o Tarefas de classificao (quando se procura aprender a classificar, num passo de
aprendizagem e com preciso, instncias concretas);
o Tarefas de resoluo de problemas (quando se procura resolver em vrios passos de
forma eficiente um problema).

6.2 Redes Neuronais (Abordagem conexionista)


[5.2, 5.4]
Os modelos conexionistas so formados por redes de neurnios artificiais. As entradas da rede
neuronal so vectores de nmeros (inteiros ou reais) e a aprendizagem do tipo emprica,
traduzindo-se pela mudana nos pesos associados s ligaes entre neurnios.

IIA

Espcie de Sebenta/Resumo

49

Introduo Inteligncia Artificial

Neurnio artificial
Uma TLU uma rede neuronal com um nico neurnio, com uma funo de activao do tipo
degrau e usando uma regra delta como regra de aprendizagem. A partir de um conjunto de
exemplos de treino e de um parmetro que especifica a dimenso dos ajustes dos pesos (o ritmo de
aprendizagem ), vai aprender o conjunto de pesos que permite classificar correctamente os
exemplos de treino (e de teste).
Os pesos e o limiar so inicializados com valores aleatrios. Entra-se depois num ciclo em que, para
cada exemplo de treino, se verifica se a rede responde correctamente. Em caso negativo, procede-se
ao ajuste dos pesos na proporo do erro verificado e do ritmo de aprendizagem, seguindo a Regra
de Hebb: A fora entre A e B aumenta se A contribui de modo consistente para o disparo de B.

6.2.1

Generalidades
Neurnio i

Wi

Funo de
Entrada, Ini

Funo de
Activao, g

Funo de
Sada, fi

xi

[5.4.1]
Modelo abstracto do neurnio artificial
Na figura, X = <x0, x1, x2, , xn> representa o vector de entrada proveniente das sadas de outros
neurnios. Wi = <wi0, wi1, wi2, , win> um vector que traduz a fora da ligao entre entradas e o
neurnio i (pesos). Os sinais pesados da entrada so combinados e produzem o sinal total da
entrada. A forma mais usual de combinar os sinais de entrada atravs da sua soma pesada:

IIA

Espcie de Sebenta/Resumo

50

Introduo Inteligncia Artificial

Uma vez conhecido o sinal total de entrada, determina-se o nvel de activao do neurnio usando a
funo de activao g:
(

Calcula-se ento a sada xi:


( )
Vulgarmente a sada xi vai ser igual a ai.
Para sermos mais correctos, fazemos intervir a noo de tempo (a sada num dado instante (t+1)
depende das entradas no instante anterior t):
(

O limiar no mencionado, pois considerou-se uma entrada adicional,


1 e um peso
.
6.2.1.1

IIA

, que ter um valor fixo a

Funes de activao

linear

degrau

linear saturada

degrau bipolar

Espcie de Sebenta/Resumo

sigmide

sigmide bipolar

51

Introduo Inteligncia Artificial

A opo por uma destas funes de activao no irrelevante, como se ver mais frente.
6.2.1.2 Topologia
A topologia diz respeito ao modo como os diferentes neurnios se ligam uns aos outros.
Um conjunto de neurnios sem ligaes entre si, recebendo sinais de entrada de outro conjunto de
neurnios e transmitindo os seus sinais de sada a outro conjunto de neurnios chamado de
camada.

Camada
A camada de entrada recebe os sinais de entrada de fora da rede, a camada de sada envia os
seus sinais para fora da rede. A uma camada que no nem de entrada nem de sada designa-se
por camada escondida. Uma rede com uma topologia 3-2-5-4 tem trs neurnios na camada de
entrada, dois na primeira camada escondida e cinco na segunda, e quatro na camada de sada.
Podemos ter redes monocamadas (como as TLU) ou redes multicamadas. Se todos os neurnios de
uma camada estiverem ligados a todos os neurnios de outra camada, as duas camadas esto
completamente ligadas.

Rede neuronal multicamada, completamente ligada e alimentada para a frente.


Rede tipo 2-4-3
Sentido das ligaes:
Alimentada para a frente, quando as ligaes de sada de um neurnio, ou camadas de
neurnios, no puderem influenciar directa ou indirectamente o valor de entrada desse neurnio,
ou camada de neurnios.
Recorrente: caso contrrio.

IIA

Espcie de Sebenta/Resumo

52

Introduo Inteligncia Artificial


6.2.1.3 Algoritmo de aprendizagem
A aprendizagem feita por ajuste dos pesos das ligaes entre neurnios. Todos os algoritmos de
aprendizagem tm por base a Regra de Hebb (ver acima). Matematicamente traduz-se por:

Esta equao significa que, se uma dada entrada xj estiver simultaneamente activada com xi, ento
o valor de peso da sua ligao vai ser modificador de
. O ritmo de aprendizagem, , controla a
velocidade de convergncia dos valores dos pesos para a situao desejada. Se for baixo, a
convergncia lenta, se for elevado pode provocar oscilaes.
Quando estamos a treinar uma rede com exemplos de treino, a variao do peso pode depender da
proporo do erro entre o valor terico e o valor observado:
(

o valor correcto e o valor observado. Falamos neste caso de aprendizagem pela regra delta ou
regra de Widrow-Hoff.

6.2.2 Os limites das TLU


[5.4.2]
Portas lgicas AND, OR e NOT implementadas com recurso a TLU, sendo o valor dos seus pesos

aprendidos:

IIA

Espcie de Sebenta/Resumo

53

Introduo Inteligncia Artificial


A garantia de que os pesos para estes casos podem ser aprendidos dado pelo Teorema de
Rosenblatt:
Se os vectores de treino da TLU representarem classes linearmente separveis, ento o algoritmo
de treino converge, isto , aps n0 iteraes:
W(n0) = W(n0+1) = W(n0+2) =
Sendo que W define um hiperplano que separa correctamente as classes
Na figura abaixo encontram-se definidos os pontos representativos das duas classes de valores (0 e
1), para o caso do AND:

Classes linearmente separveis


Na figura temos uma recta que separa as duas classes. A equao dessa recta derivada a partir da
relao entre os sinais de entrada, o limiar e os pesos:

O que o algoritmo de aprendizagem faz , ao alterar o valor dos pesos e o valor do limiar, alterar a
inclinao e os pontos de interseco com os eixos.
XOR Limitao
Pode ser implementado com recurso a um AND e um OR, mas os valores dos pesos no so
aprendidos..

6.2.3 Algoritmo de retropropagao


Para resolver as dificuldades de casos como o XOR, surgiu uma nova arquitectura. Trata-se de uma
rede neuronal multi camada, alimentada para a frente, que usa a funo sigmide como funo de
activao e a regra delta generalizada como base do algoritmo de aprendizagem, conhecida como
algoritmo de retropropagao.
6.2.3.1 A regra delta
A regra delta baseia-se em procurar minimizar o erro quadrtico, calculado a partir da diferena
entre a sada desejada e a obtida, orientando as modificaes dos pesos no sentido do gradiente
descendente da superfcie do erro.
Considerando a funo de activao como sendo:

IIA

Espcie de Sebenta/Resumo

54

Introduo Inteligncia Artificial

o erro quadrtico define-se por:


(

O erro E depende dos pesos wi. Ao alterar os valores destes alteramos o valor de E.
A variao dos pesos dada por:

onde

corresponde ao ritmo de aprendizagem. Trabalhando a expresso da derivada do erro:

Por seu lado:


(

Juntando as duas expresses chegamos ao resultado:


(

Introduzindo o parmetro relativo ao tempo:


(

( )

( )

6.2.3.2 Regra delta generalizada


Para esta regra, a funo de activao considerada ser a sigmide binria. uma funo no linear,
contnua, diferencivel, monotonamente no decrescente e tem uma derivada fcil de calcular.
( )
derivada:

IIA

Espcie de Sebenta/Resumo

55

Introduo Inteligncia Artificial


( )

( ) (

( ))
Funo sigmide e suas derivadas

necessrio ter em ateno a existncia de camadas escondidas numa rede neuronal. Consideremos
apenas uma camada escondida.
A regra delta generalizada semelhante anteriormente apresentada. No entanto, como existem
mais camadas, uma vez calculado o erro final total, preciso atribu-lo aos vrios pesos da rede.
Consideraremos a seguinte arquitetura para as frmulas seguintes:
l

vji
xi

zj

wkj

yk

Arquitectura de uma rede multicamada


Na figura, xi, zj e yk representam os neurnios de cada uma das camadas. Por seu turno, vji e wkj
representam os pesos entre camadas.
Relao do erro entre a camada escondida e a camada de sada. Sabemos que:

sada do neurnio yk
)

Por definio teremos:

Do mesmo modo:

Agora a relao entre a camada de entrada e a escondida. necessrio encontrar uma expresso
para o erro. Enquanto para a camada de sada sabemos os valores que devamos obter, isso no se
passa para os neurnios da camada escondida. A ideia de retropropagao que o n escondido zj
contribui com uma dada fraco de erro para cada um dos ns da camada de sada a que est ligado,

IIA

Espcie de Sebenta/Resumo

56

Introduo Inteligncia Artificial


fraco essa proporcional ao peso da respectiva ligao. Para propagar o erro para trs, vamos ento
considerar cada uma dessas fraces como entradas do n zj e ver como afectam o erro sada.
Definio do erro:

Tratando a parcelo do erro, temos:


(

Juntando tudo:

Ou seja:

Algoritmo de treino por retropropagao:


Funo Retropropagao
1. Inicializar os pesos da rede (inclui o limiar)
2. Enquanto no for atingido a condio de paragem Fazer
2.1. Para cada par de treino (xi(t), ri(t)) Fazer
2.1.1. Propaga valores da entrada para a sada xi zj yk
2.1.2. Calcula variao dos erros por retropropagao
% da camada escondida para a de sada
% da camada de entrada para a escondida
2.1.3. Actualiza os pesos
(
)
( )
(
)
( )
Fim_de_Para
Fim_de_Enquanto
Fim_de_Funo
Exemplo ver livro, pg. 262

6.2.4 Questes
Inicializao dos pesos (inclui o limiar)
Valores elevados fazem com que a derivada da funo sigmide tenha valores pequenos, pelo
que a variao dos pesos tambm baixa. Com valores baixos, o valor da activao ser baixo.

IIA

Espcie de Sebenta/Resumo

57

Introduo Inteligncia Artificial


Em qualquer dos casos a convergncia ser lenta. normal escolherem-se valores aleatrios num
intervalo [-0.5, 0.5] ou [-1, 1].
Sobreajustamento
Originada com o prolongar da aprendizagem. Leva a que a rede classifique bem os padres de
treino, mas a qualidade do seu funcionamento baixa no conjunto de teste. Uma soluo vulgar
consiste em usar, paralelamente ao conjunto de treino, um conjunto de teste, para determinar
em cada iterao se h degradao na aprendizagem.
Nmero de exemplos de treino a usar
Uma regra simples consiste em dividir o nmero de pesos existentes na rede por um valor
relacionado com a preciso desejada.
Nmero de camadas escondidas a usar
Basta uma camada escondida para o algoritmo de retropropagao aproximar com a preciso
desejada qualquer funo contnua.
Convergncia: momentum
Usado para acelerar a convergncia do algoritmo de retropropagao. Consiste na introduo de
um termo adicional na expresso de actualizao dos pesos, o momentum, . As novas
expresses fazem depender o novo valor do gradiente actual e do anterior:
(
)
( )
(
)
( )

6.3 Aprendizagem simblica (Abordagem computacional)


[5.2, 5.3]
baseada na metfora computacional. A aprendizagem feita a partir de exemplos, e baseia-se na
existncia de exemplos classificados por um instrutor, da ser uma aprendizagem supervisionada e
incremental.
O objectivo principal da aprendizagem o de, a partir de um conjunto de exmplos concretos, os
especficos, chegar a uma descrio geral do conceito ou regras que os exemplos traduzem. Essa
descrio geral pode ser visto como uma funo booleana que, dada uma instncia, diz se sim ou se
no ela um exemplo positivo do conceito ou regra. Como a aprendizagem feita com base num
conjunto limitado de exemplos, o resultado a que se chega apenas uma aproximao do resultado
correcto. Mais tarde, ao se usar a descrio geral podem ser cometidos erros devido existncia de

falsos positivos
verdadeiros
positivos

IIA

Espcie defalsos
Sebenta/Resumo
negativos

58
f

Introduo Inteligncia Artificial


falsos positivos ou falsos negativos.

Idealmente a aproximao h de f deve ser:


Discriminante - no classificar como positivos instncias concretas negativas;
Completa - classificar todos os casos concretos positivos como positivos.

O problema da aprendizagem emprica a partir de exemplos classificados pode ser descrito do


seguinte modo:
DADOS:
INSTNCIAS (X): conjunto dos objectos do domnio (dias descritos por atributos tipo cu,
temp-ar, temp-gua, etc.)
CONCEITO ALVO (c): o que se quer aprender (fao-desporto?: dia -> {0, 1})
HIPTESES (H): conjunto das hipteses descriptoras do conceito, por exemplo:
((cu = limpo e temp-gua = fria))
EXEMPLOS DE TREINO (D): exemplos positivos e negativos do conceito alvo c.
DETERMINAR:
HIPTESE h de H tal que h(x) = c(x) para todo o x em X

Exemplo
Determinar, a partir de exemplos concretos de condies meteorolgicas, se devemos praticar
desporto ou no.
Domnio: As condies meteorolgicas num dado dia so caracterizadas a partir de um conjunto de

atributos e respectivos valores.


Uma instncia ser:
x = <limpo, quente, normal, forte, quente, mantm>
Um exemplo de treino um par <x, c(x)>, em que a primeira componente representa a instncia x, e
a segunda a classificao da instncia dada pelo instrutor. Ex:

IIA

Espcie de Sebenta/Resumo

59

Introduo Inteligncia Artificial


#1 = <<limpo, quente, normal, forte, quente, mantm>, +>
#2 = <<chuva, frio, alta, forte, quente, muda>, - >

exemplo positivo
exemplo negativo

Para que a descrio geral se traduza por aprendizagem, essa descrio deve poder caracterizar
correctamente mais exemplos do que aqueles que foram usados para a obter. As hipteses geradas
pelos algoritmos apresentaro atributos cujo valor pode ser qualquer, ou atributos cujo valor no
pode ser nenhum dos existentes.
? qualquer valor
- nenhum valor
Exemplos de hipteses h:
h1 = < ?, frio, alta, ?, ?, ?>
h2 = <?, ?, ?, ?, ?, ?>
h3 = <-, -, -, -, -, ->
h1 caracteriza a situao temperatura do ar frio e humidade alta.
h2 e h3 so os dois casos extremos: h2, o valor de todos os atributos irrelevante; h3, nenhum valor
possvel. h2 diz que todos os dias so bons para desporto; h3 diz que nenhum dia aconselhvel
para fazer desporto.
agora possvel estabelecer uma mtrica comparativa entre valores e hipteses:
Conceito de satisfao: uma instncia x satisfaz uma hiptese h, se e s se h classifica x como sendo
positiva:
h(x) = 1
Diz-se que uma hiptese hi mais geral ou igual do que a hiptese hj se e s se todas as instncias
que satisfazem hj tambm satisfazem hi. Tambm se diz que hj mais especfica ou igual do que hi.
Podem existir hipteses que no se podem comparar luz desta definio.
Exemplos:
h1 = <?, ?, normal, ?, quente, ?>
h2 = <?, ?, normal, ?, ?, ?>
h3 = <?, ?, normal, forte, ?, ?>
h4 = <?, ?, normal, forte, quente, ?>
De acordo com a definio, h2 mais geral do que h1, h3 e h4, mas h1 e h3 no podem ser
comparadas do ponto de vista da generalidade. h3 mais geral do que h4. Obtemos a sequncia:
h1 h2 hi hn
Se hn no tiver nenhuma outra hiptese em relao qual ela seja mais geral, dizemos que hn a
hiptese de sequncia maximamente especfica ou minimamente geral. Do mesmo modo, se no
existir nenhuma hiptese mais geral que h1, dizemos que h1 minimamente especfica ou
maximamente geral.

IIA

Espcie de Sebenta/Resumo

60

Introduo Inteligncia Artificial


Relao relativamente aos atributos (exemplo: atributo vento):
especfico

forte

fraco
geral

?
As setas do a indicao do mais geral para o mais especfico.

6.3.1 Espao de verses e eliminao de candidatos


O algoritmo Eliminao de Candidatos baseia-se na ideia de que a busca da melhor hiptese
corresponde procura num espao de hipteses que pode ser representado por aquilo que designa
por Espao de Verses (EV) conjunto de todas as hipteses que so consistentes com os exemplos
apresentados. Consistente significa que todas as hipteses classificam correctamente os exemplos

E:

<limpo, ?, ?, forte, ?, ?>

G:

{<limpo, quente, ?, forte, ?, ?>}

<limpo, quente, ?, ?, ?, ?>

{<limpo, ?, ?, ?, ?, ?>

<?, quente, ?, forte, ?, ?>

<?, quente, ?, ?, ?, ?>}

apresentados.
Exemplo de espao de verses
E simboliza o conjunto das hipteses mais especficas consistentes com os exemplos. G contm o
conjunto das hipteses mais gerais consistentes com os exemplos. As setas indicam o sentido da
relao mais geral ou igual do que.
Todo o espao de verses pode ser representado apenas pelos conjuntos E e G. com base nesse
teorema que o algoritmo de eliminao de candidatos funciona. A partir da fronteira G mais geral
(quando G = <?, ?, ?, ?, ?, ?>), o algoritmo usa os exemplos negativos para tornar mais especfica as
hiptese contidas em G. Simetricamente, para a fronteira mais especfica E (quando E = <-, -, -, -, -, >), o algoritmo usa os exemplos positivos para tornar mais geral E.
Algoritmo de Eliminao de Candidatos:
Funo Eliminao de Candidatos

IIA

Espcie de Sebenta/Resumo

61

Introduo Inteligncia Artificial


1. E := {<-, -, -, -, -, ->};
/* E o conjunto das hipteses mais especficas
2. G := {<?, ?, ?, ?, ?, ?>};
/* G o conjunto das hipteses mais gerais
3. Para cada instncia positiva x+ Fazer
3.1. Retirar de G os membros inconsistentes com x+;
3.2. Generalizar os membros de E at ficarem consistentes com x+, mas guard-los apenas se
forem mais especficos que G;
3.3. Retirar de E os membros que no forem maximamente especficos;
Fim_de_Para
4. Para cada instncia negativa x- Fazer
4.1. Retirar de E os membros inconsistentes com x-;
4.2. Especificar os membros de G at ficarem consistentes com x-, mas guard-los apenas se
forem mais gerais que E;
4.3. Retirar de G os membros que no forem minimamente especficos;
Fim_de_Para
Fim_de_Funo
Funcionamento do algoritmo:
Comeando com um conjunto de hipteses mais especficas e um conjunto de hipteses mais gerais,
o algoritmo usa os exemplos positivos para tornar as hipteses mais especficas mais gerais, e usa os
exemplos negativos para tornar as hipteses mais gerais mais especficas. Termina quando se
esgotarem os exemplos de treino. Se nessa altura existir interseco entre o conjunto E e o conjunto
G, ento essa interseco contm o conjunto das hipteses consistentes com os exemplos. Se
apenas existir um elemento na interseco, ento essa hiptese a hiptese pretendida. Caso no
haja interseco, ento E e G definem implicitamente o conjunto de todas as hipteses consistentes
formadas pelas hipteses compreendidas entre E e G, de acordo com as noes de mais geral ou

mais especfico.

Exemplo ver livro, pg 215


IIA

Espcie de Sebenta/Resumo

62

Introduo Inteligncia Artificial

O algoritmo eliminao de candidatos +e um algoritmo baseado numa descrio atributo/valor, que


aprende de forma supervisionada e incremental atravs de um mtodo emprico. Algumas questes
relevantes:
Rudo: o algoritmo pressupe que o instrutor no se engana, e que todos os valores e classificaes
esto correctas;
Disjuno: o algoritmo apenas permite aprender conceitos de tipo conjuntivo. Assim, no so
possveis situaes do tipo se A ou B ento C;
Convergncia: nas condies de ausncia de rudo, e apresentando um nmero suficiente de
exemplos o algoritmo converge para o conceito.

6.3.2 rvores de deciso


Aprendizagem supervisionada no-incremental
6.3.2.1 Algoritmo ID3 (Quinlan)
Trata-se de um algoritmo que, a partir de um conjunto de exemplos de treino positivos e negativos
de uma classe, constri uma rvore de deciso (AD) que define en inteno essa classe. Promove
uma aprendizagem indutiva em modo supervisionado e no incremental, sendo usado em tarefas de
classificao.
Algoritmo ID3
Dado:
um conjunto S de exemplos de treino (E+, E-);
uma famlia e conjuntos de atributos e respectivos valores, A;
um conceito alvo T
Determinar:
uma rvore de deciso, AD, cujas folhas so formadas por elementos todos da mesma
classe; o conceito alvo T dado pela disjuno da caracterizao da classe positiva (E+).
1. Se todos os exemplos so da mesma classe Ento
1.1. Terminar, com a AD formada por um n etiquetado pela classe dos elementos de S;
2. Caso contrrio:
2.1. Escolher um atributo A = {A1, , Av};
2.2. Dividir S em {S1, , Sv} conjuntos disjuntos de acordo com os diferentes valores de A;
2.3. Chamar recursivamente o algoritmo para cada um dos subconjuntos Si;
2.4. Construir um AD tendo por raiz o atributo A e os ramos etiquetados pelos valores Aj
ligados s sub-rvores associadas a Si;
O algoritmo parte de um conjunto S de exemplos positivos e negativos, descritos numa
representao baseada em pares atributo/valor, e de um conceito alvo T, para a construo da
rvore de deciso, cujas folhas so formadas por elementos todos da mesma classe. O conceito alvo
dado pela disjuno da caracterizao da classe positiva.

IIA

Espcie de Sebenta/Resumo

63

Introduo Inteligncia Artificial


Esta construo feita de modo repetido. Se o conjunto dos elementos (do n) em anlise pertence
todo mesma classe, ento o processo para com a formao de um n etiquetado pelo nome da
classe. Se no, escolhe-se um (nome de ) atributo, seja Aj, que permite dividir os exemplos de S em
subconjuntos Si, indexados pelos valores possveis do atributo Aj. A cada Si ficam associados os
elementos de S que tm o mesmo valor para Aj. O processo retomado recursivamente com cada
um dos Si. Finalmente, constri-se a AD tendo por raiz um n etiquetado pelo nome do atributo Aj
ligada s subrvores associadas a Si, sendo os valores do atributo Aj associados aos respectivos
ramos.
O atributo escolhido em cada etapa aquele que for mais discriminante, isto aquele que permite
criar mais ns com todos os elementos da mesma classe ou ento, no caso de isso ser impossvel,
com ns contendo muitos elementos de uma classe e poucos de outra. Assim garante-se a
construo de uma rvore de deciso ptima, isto , envolvendo em mdia o menor nmero de
testes para classificar correctamente novos exemplos.
Exemplo: ver livro, pg. 201

Problemas:
Rudo: se a classificao for mal efectuada, o algoritmo colapsa fornecendo resultados
inconsistentes;
Valores em falta/desconhecidos: em situaes reais pode acontecer que alguns exemplos de teste
tenha atributos sem valores associados. Coloca-se o problema de saber que valor atribuir nesses
casos. Uma soluo escolher o valor mais frequente para a classe;
Polarizao: o algoritmo prefere as hipteses simples s complexas, princpio genericamente usado
em aprendizagem emprica;
Sobreajustamento: problema que ocorre quando o sistema, dispondo de muitas hipteses onde
podem ocorrer erros, descobre regularidades sem sentido, classificando correctamente os exemplos
de treino, mas incorrectamente os de teste. Uma soluo possvel poder ser limitar o crescimento
da rvore de deciso;
Valores contnuos: necessitam ser discretizados, podendo tambm ainda serem definidos intervalos.

Escolha do atributo mais descriminante


Uma das questes mais importantes saber qual o atributo a escolher na etapa 2.1 do algoritmo
ID3.
O algoritmo ID3 fornece um critrio heurstico para determinar, para cada n, o atributo a escolher
por forma obter uma rvore de deciso mnima. A ideia por detrs da heurstica de Quinlan vai
buscar as suas razes teoria da informao.
(

Esta expresso traduz o contedo informativo por sabermos S dividindo em P e

IIA

64

Espcie de Sebenta/Resumo

Introduo Inteligncia Artificial


e x pertencer a P ou N.
Para determinarmos o contedo informativo por sabermos que o objecto x possui no atributo A um
determinado valor, temos que considerar a mdia pesada:
( )

onde o peso para o ramo i traduz a proporo dos objectos de S que pertencem a Si. O ganho de
informao por optarmos por A como elemento de diviso dado por:
G(A) = I(p, n) E(A)
Chegamos ento seguinte regra:
Regra de escolha Quinlan. Deve-se escolher como atributo de diviso aquele que produz o maior
ganho informativo, o mesmo dizer, para um dado n de etiqueta A, o atributo que minimiza E(A).
Exemplo ver livro, pg. 220 + slides pg. 13

6.4 Sistemas classificadores (Abordagem biolgica)


[5.2, 5.5] Resumo incompleto ver no livro, pg. 275
Baseado na evoluo das espcies naturais. Trata-se de um Algoritmo Gentico (AG), que s um
algoritmo de procura cega, paralela e estocstica guiado pelo princpio da seleco natural e da
gentica.
Caactersticas principais de um AG: privilegia uma representao binria para a entrada e sada, no
usa teoria sobre o domnio para aprender (tendo caractersticas empricas e indutivas), funciona de
modo no supervisionado e no incremental e estarem adaptados para tarefas de classificao, ou
ainda adaptados para tarefas de redoluo de problemas envolvendo optimizao.

6.4.1 Generalidades
Um sistema classificador (SC) um sistema semelhante a um sistemade produo mas capaz de
aprender regras, denominadas classificadores. Essas regras permitem ao sistema interagir de forma
adaptada com o ambiente, e permitem classificar as mensagens que o ambiente envia ao sistema.
semelhana de um sistema de controlo clssico um SC usa a reaco do ambiente para adaptar os
classificadores ao ambiente.
A reao traduz-se num sinal dito de reforo.
Um sistema classificador pode ainda ser visto como a juno de sistemas periciais baseados em
regras com os algoritmos genticos. O AG utilizado para aprender as regras que melhor se
adaptam tarefa e ao ambiente.
Duas abordagens mis conhecidas:
IIA

Espcie de Sebenta/Resumo

65

Introduo Inteligncia Artificial


Michigan: cada elemento da populao (a representao de) uma nica regra;
Pittsburgh: cada indivduo da populao (uma representao de) um sistema completo de regras.
6.4.2 Arquitectura
Um sistema classificador composto por trs subsistemas:
Um subsistema de regras (ou classificadores) e mensagens;
o Mdulos de percepo, aco, lista de mensagens e populao de classificadores;
Um subsistema de atribuio de crdito;
o Mdulos conjunto de aco, leilo e recompensa/punio;
Um subsistema de descoberta de regras ou classificadores.

Algoritmo Gentico
Arquitectura de um sistema classificador

6.4.2.1 Regras e mensagens


Cada regra ou classificador tem a forma:
se <condio> ento <aco> com fora <n>
ou
<condio> : <aco> (<n>)
<condio>: alfabeto {0, 1, #} - # corresponde a uma situao em que pode tomar o valor de 0 ou 1.
<aco>: alfabeto {0, 1}
<n>: medida do desempenho passado da regra. Esse valor varia ao longo do tempo.

IIA

Espcie de Sebenta/Resumo

66

Introduo Inteligncia Artificial


A especificidade de cada classificador depende do nmero de smbolos # presentes na condio.
Condio apenas com #s tem especificidade mnima (0), uma condio sem #s tem uma
especificidade mxima (igual ao seu comprimento).
A lista de mensagens descreve o estado corrente do ambiente. As mensagens tm duas origens. Se
for capturado do ambiente, colocada na lista. De seguida, o sistema determina quais as regras
cujas condies so compatveis com as mensagens da lista. A componente de aco da regra
selecionada tambm enviada para a lista de mensagens, sendo que pode gerar uma aco sobre o
ambiente.
6.4.2.2

IIA

Atribuio de crdito

Espcie de Sebenta/Resumo

67

Introduo Inteligncia Artificial

7 Agentes Adaptativos
IAFA Cap. 6

IIA

Espcie de Sebenta/Resumo

68

Introduo Inteligncia Artificial

8 Sociedades de Agentes
IAFA Cap. 9

IIA

Espcie de Sebenta/Resumo

69