Professional Documents
Culture Documents
TPICOS A SABER:
CAP: 1 INTRODUO
Veremos o que exactamente a AI e porque bom estud-la.
Mais, tal como providenciar um veculo para criar entidades com IA, o computador prov
uma ferramenta para testar as teorias da inteligncia.
O excitante novo esforo para fazer osO estudo das faculdades mentais atravs de
computadores pensar... mquinas commodelos computacionais (Charniak and
mentes, no seu sentido literal (Haugeland,McDermott, 1985)
1985)
O estudo das computaes que tornam
A automatizao de actividades quepossvel perceber, raciocinar e agir (Winston,
associamos com o pensamento dos humanos,1992)
actividades como tomada de decises,
resoluo de problemas,
aprendizagem...(Bellman, 1978)
A arte de criar mquinas que executamUm campo de estudo que procura explicar e
funes que requerem inteligncia quandoemular o comportamento inteligente em
executadas por pessoas (Kurzweil, 1991) termos de processos computacionais
(Schalkoff,1990)
O estudo de como fazer os computadores
fazer coisas, as quais, no momento, asO salto da cincia dos computadores que se
pessoas so melhores (Rich & Knight, 1991) preocupa com a automao do
comportamento inteligente (Luger &
Stubblefield,1993)
- Representao do conhecimento
- Raciocnio automatizado
- Aprendizagem
Uma vez que tenhamos uma teoria suficientemente precisa da mente, tornar-se- possvel
expressar a teoria como um programa de computador.
Agir racionalmente significa atingir certas metas, dadas certas crenas. Um agente
apenas algo que percebe e age.
Um problema com a concepo puramente material da mente que parece deixar pouco
espao para a liberdade de escolha (vontade).
A filosofia estabeleceu ento uma tradio, na qual a mente concebida como um aparelho
fsico operando principalmente por raciocnio, a partir do conhecimento que contm. O
prximo problema ento estabelecer a fonte do conhecimento. O movimento emprico
Nada est na compreenso que no estivesse antes nos sentidos.
... Por outras palavras, perceber como o conhecimento pode ser adquirido a partir da
experincia.
Aristteles: Deliberamos no acerca dos fins, mas acerca dos meios. ... At chegarmos
primeiras causa, a qual, na ordem da descoberta a ltima... ... Mas se uma coisa parece
possvel, ns tentamo-la.
Isto foi implementado por newell e Simon no seu programa GPS, que incorpora a heurstica
da anlise meios-fins.
A anlise meios-fins til, mas no nos diz o que fazer quando vrias aces conduziro
meta, ou quando nenhuma aco a atinge na totalidade.
George Boole (1815-1864) introduziu a sua linguagem formal para fazer inferncias lgicas
em 1847. Gottlob Frege (1848-1925) produziu a lgica de 1 ordem.
Godel (1906-1978) mostrou que existe um procedimento efectivo para provar qualquer frase
verdadeira na lgica de 1 ordem. O seu teorema da incomplitude mostrou que em qualquer
linguagem expressiva suficiente para descrever as propriedades dos nmeros nmaturais,
h frases verdadeiras que so indecidveis. O que pode ser interpretado como: h algumas
funes dos inteiros que no podem ser representadas por algoritmos isto , no podem
ser computadas.
Turing tambm mostrou que h algumas funes que nenhuma mquina de Turing
consegue computar.
Tal como na lgica, preciso fazer uma conexo entre o raciocnio probablistico e a aco.
A Teoria da Deciso, criada por John Von Neumann, combina a teoria das probabilidades
com a teoria da utilidade, para dar a primeira teoria geral que pode distinguir boas aces
de ms. A teoria das Decises o sucessor matemtico do utilitarismo, e prov a base
terica para muitos dos agentes deste livro.
Psicologia (1879-presente)
.... (pg.13)
Um agente algo que pode ser visto como percepcionando o seu ambiente atravs de
sensores e agindo sobre esse ambiente atravs de actuadores. Um software agente
codifica strings de bits como percepes e aces.
Usaremos o termo medida de perfomance para o como. Ns, como observadores externos
estabelecemos um standard do que significa ter sucesso num ambiente e usaremos isso
como medida da perfomance dos agentes.
Isto conduz definio de um agente racional ideal: Para cada sequncia de percepo
possvel, um agente racional ideal deve fazer uma aco esperada para maximizar a sua
medida de perfomance, na base da evidncia providenciada pela sequncia de percepo e
no conhecimento criado que o agente tem.
preciso ter cuidado com a definio. Por ex. no racional atravessar uma estrada sem
olhar. assim, fazer as aces em ordem a obter informao til uma parte importante da
racionalidade.
Para muito infinita, a menos que coloquemos fronteiras. Essa lista chamada mapa da
sequncia para as aces. Devemos tentar todas e gravar as suas aces. Se usar algum
tipo de randomizao, devemos tirar uma mdia.
Especificando que aco um agente deve tomar em resposta a uma qualquer sequncia
dada prov um design para um agente ideal (mapa ideal).
Isto mostra que possvel designar bonitos e compactos agentes que implementam o
mapa ideal para muitas mais situaes gerais (agentes que resolvem uma quantidade sem
limite de tarefas numa quantidade sem limite de ambientes).
Autonomia
Isto quer dizer que ao princpio deve actuar aleatoriamente, a menos que o designer d
alguma ajuda.
Assim ,tal como nos animais, deve-se dotar o agente com algum conhecimento inicial
assim como habilidade para aprender. A carocha...
Um agente verdadeiramente inteligente, deve ser capaz de operar com sucesso numa
variedade de ambientes, dado suficiente tempo para se adaptar.
Antes de desenharmos o programa agente, devemos ter uma boa ideia das possveis
percepes e aces, que metas e medida de perfomance o agente suposto atingir, e em
que tipo de ambiente ele operar.
A tabela seguinte mostra os elementos bsicos para a seleco dos tipos de agente.
Programas Agentes
Cada agente usa algumas estruturas de dados internos que sero actualizadas medida
que novas percepes chegarem. estas estruturas de dados so operadas pelos
procedimentos de tomadas de deciso do agente, para gerar uma escolha de uma aco,
que depois passada para a arquitectura para ser executada.
return action
vamos olhar para a maneira mais simples de escrever o programa agente uma tabela de
lookup. O programa agente :
return action
Ele opera mantendo em meria a sua total sequncia de percepes, e usando-a para
indexar a tabela, que contm a aco apropriada para todas as possveis sequncias.
Porque falha?
- A tabela precisa, para uma coisa to simples como um agente que joga xadrez, cerca de
35100 entradas
Mas funciona. Implementa o mapa. O ponto que podemos ter um agente que raciocina e
evita estas 4 desvantagens.
Um Exemplo
A opo de construir uma tabela de lookup est fora de questo (muitos pixels...)
Apesar destes agentes poderem ser implementados muito eficientemente, o seu espectro
de aplicao muito pequeno.
O agente anterior trabalha apenas se a deciso correcta puder ser tomada com base na
percepo corrente. Ex. carros antigos no d.
Deve ento manter um estado interno, em ordem a tomar uma aco. aqui o estado interno
no precisa ser muito extenso (basta uma frame anterior).
Outro caso: em ordem a decidir uma mudana de faixa, o condutor precisa de saber se h
l outros ou no. O problema ilustrado aparece porque os sensores no provm acesso ao
estado completo do mundo. Nesses casos, o agente pode precisar de manter algum estado
interno em ordem a distinguir entre estados do mundo que geram o mesmo percepo de
entrada mas que so significativamente diferentes (aces apropriadas diferentes).
Actualizando a informao do estado interno medida que o tempo passa requere 2 tipos
de conhecimento a ser codificado pelo agente. Primeiro, precisamos de informao de
como o mundo evolui independentemente do agente (ex. um carro estava perto dele h
pouco). Segundo, precisamos de informao de como as aces do agente influenciam o
mundo (ex. muda de faixa fica um gap na que estava).
return action
Apesar do agente baseado nas metas parecer menos eficiente, ele mais flexvel. Envolve
consideraes sobre o futuro. Por ex. se est a chover ele travar mais cedo. Os goals
substituem as regras de condition-action no diagrama e prev o que acontece se...
4-AGENTES BASEADOS NA UTILIDADE
2.4. AMBIENTES
- Esttico vs. Dinmico O ambiente pode mudar enquanto o agente est a deliberar
Taxi Driving No No No No No
Sistema de diagnsticoNo No No No No
mdico
Controlador de Refinaria No No No No No
Programas de Ambiente
O programa genrico de ambiente que se segue, ilustra as relaes bsicas entre agentes e
ambientes. Neste livro, achmos conveniente para muitos exerccios e exemplos, usar um
simulador de ambientes que segue a estrutura do programa. O simulador toma um ou mais
agentes como entrada e d a cada agente as percepes certas e recebe uma aco. O
simulador actualiza ento o ambiente, baseado nas aces, e outros processos dinmicos
possveis que no so considerados agentes (chuva por ex). O ambiente ento definido
pelo estado inicial e pela funo de actualizao. Claro que um agente que trabalha no
simulador deve tambm trabalhar no mundo real que prov o mesmo tipo de percepes e
aceita o mesmo tipo e aces.
TPICOS A SABER:
PART II PROBLEM-SOLVING
Nesta parte vamos ver como um agente pode agir estabelecendo goals e considerando
sequncias de aces que podem atingir esses goals. Um goal e um conjunto de meios para o
atingir chama-se problema, e o processo de explorar o que os meios podem fazer chamada
search.
Agentes inteligentes so supostos agir duma maneira em que o ambiente evolui atravs de uma
sequncia de estados que maximiza a perfomance.
Neste captulo consideramos um goal como um conjunto de estados do mundo apenas aqueles
em que o goal satisfeito. Aces podem ser vistas como causando transies de estado, e
obviamente o agente tem de encontrar que aces o fazem chegar ao estado goal. Antes tem de
considerar que aces tomar. Por ex. O nvel mover o p esquerdo 18 polegadas para a frente
um nvel de detalhe que conduz intratabilidade do problema. Problem formulation o processo
de decidir que aces e estados considerar e segue a goal formulation.
Se no tiver mais informao ter de tomar a deciso aleatoriamente (por onde seguir). Mas
supondo, por ex. Que tem um mapa de Romnia, pode usar essa informao para escolher os
passos subsequentes.
Em geral, ento, um agente com vrias opes imediatas de valor desconhecido pode decidir o
que fazer examinando primeiro diferentes possveis sequncias de aces que conduzem a
estados de valor desconhecido, e depois escolher o melhor. Este processo de procurar essa
sequncia chamada search. Um algoritmo de search toma um problema como input e retorna
uma soluo na forma de sequncia de aces. Uma vez encontrada a soluo as aces
recomendadas podem ser carregadas para a sada a execuo.
inputs: p, a percept
state UPDATE-STATE(state,p)
if s is empty then
g FORMULATE-GOAL(state)
problem FORMULATE-PROBLEM(state,g)
s SEARCH(problem)
action RECOMMENDATION(s,state)
s REMAINDERS(s,state)
return action
Primeiro vamos ver as diferentes quantidades de conhecimento que um agente pode ter no que
toca s suas aces e estados em que est. Isso depende da forma como o agente est ligado ao
seu ambiente atravs das suas percepes e aces. Vamos ver que existem 4 tipos diferentes de
problema problemas de estado-nico, de mltiplos-estados, de contingncia e de explorao.
Vamos considerar o mundo vcuo. O mundo tem s 2 locais e cada um deles pode estar limpo ou
sujo. H 8 possveis estados; h 3 aces possveis. O goal limpar tudo.
Primeiro, supnhamos que os sensores do agente lhe do informao suficiente para ele saber
exactamente em que estado est ( o mundo acessvel); supnhamos ainda que ele sabe
exactamente o que cada uma das suas aces faz. Ento ele pode calcular exactamente em que
estado estar depois de uma sequncia de aces. Este o caso mais simples e chama-se
problema de estado-nico.
Segundo, supnhamos que o agente sabe o efeito das suas aces, mas tem acesso limitado aos
esatdos do mundo. Quando o mundo no est totalmente acessvel, o agente tem de raciocinar
acerca de conjuntos de estados para os quais poder ir, em vez de estados nicos. Este o tipo
de problema de mltiplos estados.
Apesar de parecer diferente, o caso de ignorncia acerca dos efeitos das aces pode ser tratado
similarmente.
Por vezes a ignorncia pode impedir o agente de encontrar garantidamente uma sequncia de
soluo. ex. suck, right, suck apenas se estiver sujo (num estado o agente no sabe se os outros
estados esto limpos ou sujos). assim, resolver este tipo de problemas requer sensoriamento
durante a fase de execuo. Repare que o agente agora precisa de calcular uma rvore completa
de aces, em vez de uma simples sequncia delas. Estes so os problemas de contingncia
(cap.13). Os algoritmos so mais complexos e o design do agente diferente, ele pode agir antes
de ter encontrado um plano garantido. Na execuo pode obter mais informao interleaving of
search. Neste captulo consideraremos apenas casos com soluo garantida com uma sequncia
simples de aces.
Finalmente h o caso em que o agente no tem informao acerca dos efeitos das suas aces.
O agente tem de experimentar, gradualmente descobrir o que as suas aces fazem e que tipos
de estados existem (search no mundo real). Se sobreviver, o agente aprende um mapa do
ambiente, o qual pode usar depois para resolver os problemas subsequentes. o problema de
explorao (cap.20).
Problemas Bem-Definidos e Solues
Um problema na realidade uma coleco de informao que o agente usa para decidir o que
fazer. Vamos comear por especificar a informao necessria para definir um single-state
problema:
O conjunto de aces possveis para o agente. O termo operador usado para denotar a
descrio duma aco em termos da qual um estado atingido se fizer a aco a partir
dum estado particular. Pode-se usar a funo Sucessor, que d o conjunto de estados
atingveis de x por uma aco simples.
Juntas, elas definem o espao de estados do problema: o conjunto de todos os estados atingveis
a partir do estado inicial por uma qualquer sequncia de aces. Um path no espao de estados
simplesmente uma qualquer sequncia de aces que conduzam de um estado a outro.
O Teste do Goal, o qual o agente pode aplicar a uma descrio de estdos simples para
determinar se ele um estado goal. Por vezes h um conjunto explcito de estados goal e
o teste apenas checa para ver se atingiu um deles. Por outras o goal especificado por
uma propriedade abstracta. Ex. xadrez.
Uma funo custo de caminho que uma funo que associa um custo a cada caminho e
assim permite saber se uma soluo prefervel a outra. soma das parciais. g.
datatype PROBLEM
Instncias deste tipo de dados sero os inputs do algoritmo de search. O output a soluo, isto
, o caminho do estado inicial at um estado que satisfaa o goal-test.
A efectividade de uma procura pode ser medida de, pelo menos, 3 maneiras. Primeiro, encontrou
mesmo uma soluo? segundo, uma boa soluo (com um custo de caminho baixo)? terceiro,
qual o custo de search associado com o tempo e memria requeridos? O custo total da search
a soma do custo de caminho e o custo da search. Tem de haver um equilbrio/negociao.
Agora que j temos todas as definies, vamos exemplificar. conduzir de Arad para Bucareste
usando as estradas do mapa da figura (pg.62). Um espaod e esatdos apropriado tem 20 estados,
onde cada estado apenas a localizao. Assim, o estado inicial em Arad e o goal-test Is
This Bucareste? Os operadores correspondem a conduzir ao longo das estradas entre as
cidades. H uma grande quantidade de solues. Para decidir qual a melhor, precisamos de saber
a funo custo de caminho: pode ser em distncia (km) ou tempo esperado de viagem, por ex.
Como o mapa no especifica nenhum destes vamos escolher o n de passos.
A arte real da resoluo de problemas est em decidir o que interessa para a descrio dos
estados e operadores e o que pode ser deitado fora. O processo de remover os detalhes de uma
representao chama-se abstraco. Tal como abstramos os estados temos tambm de abstrair
as aces elas prprias. A escolha de uma boa abstraco assim, envolve a remoo de tantos
detalhes quanto possvel enquanto se retm a validade e se assegura que a aces abstractas
so fceis de lidar.
Toy Problems
The 8-puzzle
Em vez de mover a pea 4 par o espao em branco deve-se usar operadores do estilo O
espao branco troca de lugar com a pea esquerda. Isto porque assim h menos operadores.
Isto conduz-nos seguinte formulao:
Estados: uma descrio de estado especifica a localizao de cada uma das 8 peas num
dos nove quadrados. Para eficincia til incluir a localizao do vazio.
Este tipo de puzzle pertence famlia de sliding-block puzzles. Esta classe geral NP-completa.
Operadores: Coloque uma rainha na coluna mais esquerda vazia tal que ela no seja a tacada
por nenhuma outra. Nesta formulao, por vezes no possvel aces. O processo de procura
deve tentar outra escolha. Uma clculo rpido conduz-nos a 2057 possveis sequncias a
investigar. Vemos que a formulao correcta faz uma grande diferena ao espao de procura . O
mesma concluso se aplica formulao estado-completo:
Operadores: Mover qualquer rainha atacada para outra casa na mesma coluna.
Aritmtica Crptica
Letras representam dgitos e o objectivo encontrar uma substituio de letras por dgitos de que
resulte uma soma correcta.
Operadores: substituir todas as ocorrncias de uma letra por um dgito que ainda no tenha
aparecido no puzzle.
Goal Test: O puzzle contm somente dgitos e representa uma soma correcta
Repare-se que queremos tambm evitar testar permutaes das mesmas substituies. Uma
maneira adoptar uma ordem fixa, por ex. alfabtica.
O Mundo Vcuo
Vamos ver primeiro o caso estado-nico com informao completa. assumimos que o agente sabe
a sua localizao e as localizaes de todas as peas de sujidade:
Consideremos agora o caso em que o agente no tem sensores, mas ainda tem de limpar tudo.
camos no problema mltiplo-estado:
Missionrios e Canibais
3 missionrios e 3 canibais esto num lado de um rio assim como um barco que pode carregar
uma ou 2 pessoas. encontrar a maneira de passar toda a gente para o outro lado do rio mas sem
deixar um grupo de missionrios num dos lados que seja menor que o n de canibais.
Para formalizar o problema, o primeiro passo esquecer a chuva, os crocodilos, e todos os outros
detalhes que no tm relevncia para a soluo. O prximo passo decidir qual o conjunto de
operadores a usar. Por exemplo se interessa considerar o tempo em que esto no barco ou s a
chegada ao outro lado. Porque os barcos s levam 2 pessoas, no h perigo; s nos lados do rio.
Depois temos de abstrair os indivduos: qualquer permutao dos canibais ou dos missionrios
conduz mesma sada.
Problemas do Mundo-Real
VSLI Layout
uma das tarefas mais complexas da engenharia. Duas das mais difceis tarefas so o layout das
clulas e o encaminhamento das pistas/canais. A ideia minimizar a rea e tamanho das ligaes
para, assim, maximizar a velocidade.
Navegao de Robots
uma generalizao do problema route-finding. Em vez de um conjunto discreto de caminhos, um
robot pode mover-se num espao contnuo com (em princpio) um conjunto infinito de aces e
estados possveis. So necessrias tcnicas avanadas apenas para tornar o espao de procura
finito.
Sequncia de Montagem
Consiste na montagem automtica de objectos por parte de robots, como por exemplo motores
elctricos. O problema encontrar uma ordem na qual a montagem de um objecto se pode
concretizar.
feita executando uma procura pelo espao dos estados. a ideia manter e estender um
conjunto de sequncias de solues parciais. Vamos ver como gerar essas sequncias e como
manter o rasto delas usando estruturas de dados adequadas.
Esta a essncia da procura: escolher uma opo e colocar as outras de lado para mais tarde no
caso de a primeira escolha no conduza a soluo. supnhamos que escolhamos Zerind.
Checamos para ver se estado goal (no ) e depois expandimos para obter em Arad e em
Oradea. Podemos agora escolher qualquer um destes dois ou voltar atrs e escolher Sibiu ou
Timisoara. Continuamos a escolher, testar, e expandir at encontrarmos uma soluo ou at no
haver mais estados para expandir. a escolha do qual estado a expandir primeiro determinada
pela estratgia de procura.
til considerar este processo de procura como a construo de uma rvore de procura. A raiz
um n de procura correspondente ao estado inicial. As folhas no tm sucessores. A cada passo,
o algoritmo de procura escolhe uma folha para expandir. importante distinguir entre o espao de
estados e a rvore de procura.
loop do
if the node contains a goal state then return the corresponding solution
else expand the node and add the resulting nodes to the search tree
end
datatype node
MAKE-QEUE(elements)
EMPTY?(Queue)
REMOVE-FRONT(Queue)
nodes MAKE-QUEUE(MAKE-NODE(INITIAL_STATE[problem]))
loop do
node REMOVE-FRONT(nodes)
if GOAL-TEST[problem] applied to STATE(node) succeeds then return node
end
A maior parte do trabalho na rea da procura encontrar a estratgia de procura adequada para
um problema. Vamos estudar algumas em termos dos seguintes critrios:
Vamos estudar 6 estratgias que se enquadram nas procuras no informadas. Isso quer dizer que
no h informao acerca do n de passos ou do custo de caminho desde o estado corrente at
ao estado goal tudo o que ela pode fazer distinguir um estado goal dum que no o . Tambm
se chama procura cega.
Considerando novamente o Arad-Bucareste, um agente mais esperto pode ver que o goal,
Bucareste est a sueste de Arada e assim ver que s Sibiu fica naquela direco, sendo a melhor
escolha. Estratgias como esta so procuras informadas ou procuras heursticas cap.4. A
procura cega menos efectiva mas ainda assim importante pois h problemas em que no temos
mesmo qualquer outra informao.
Breadth-First Search
O n raiz expandido primeiro, seguindo-se todos os ns gerados pela expanso do n raiz e
depois os seus sucessores. Pode ser implementado pelo algoritmo de procura geral com uma
funo de queuing que coloca os novos estados gerados no fim da fila.
Podemos definir o factor de salto / branching factor com b. Supondo que a soluo para este
problema tem um caminho de comprimento d. Ento o mximo nmero de ns expandidos antes
de encontrar a soluo 1 + b+ b2 + b3 +...+ bd
H 2 lies a tirar:
- A necessidade de memria so o maior problema para o mtodo de procura breadth-first ,
mais que as de tempo de execuo.
Modifica o anterior expandindo sempre o n de menor custo da fronteira (como medido pelo custo
de caminho g(n)). O anterior este com g(n) = DEOTH(n).
Quando certas condies se verificam, a primeira soluo que for encontrada garantidamente a
mais barata. A condio : O custo de um caminho no pode diminuir medida que vamos
avanando no caminho. g(SUCCESSOR(n) >= g(n)
Procura DEPTH-FIRST
Expande sempre um dos ns do nvel mais profundo da rvore, voltando apenas aos mais
superficiais quando atinge um beco. Pode ser implementado pelo algoritmo de procura geral com
uma funo de enfileiramento que coloca os novos estados gerados na frente da fila.
O problema aqui que pode-se ir indefinidamente para baixo, por um caminho errado. Muitos
problemas tm rvores de procura muito profundas ou at infinitas. podemos ficar presos num
loop infinito e nunca retornar uma soluo. assim, no completo nem ptimo.
Por isso, deve ser evitado para rvores de procura com profundidades grandes ou infinitas
GENERAL-SEARCH(problem, ENQUEUE-AT-FRONT)
Procura DEPTH-LIMITED
uma estratgia que contorna o facto da escolha do melhor limite de profundidade tentando todos
os possveis limites (por ordem). Este algoritmo combina as vantagens do depth-first e do breadth-
first. ptimo e completo como o primeiro, mas tem apenas as modestas necessidades de
memria do depth-first.
end
return failure
Procura Bidireccional
A ideia simultaneamente procurar para a frente a partir do primeiro estado e para trs a partir do
goal e parar quando as duas procuras se encontram no meio.
Para problemas em que o factor de salto b em ambas as direces, a procura bidireccional pode
fazer uma grande diferena. Complexidade O(bd/2)
Esta complexidade assume que o processo de testar a interseco pode ser feita em tempo
constante (normalmente feito por uma tabela hsh). preciso que um dos conjuntos de ns fique
em memria (como no breadth-first), o que significa complexidade de espao de O(bd/2)
Antes de implementar o algoritmo h que ter em ateno alguns (5) pontos. Definir predecessores;
Calcul-los pode ser difcil; o que fazer se h vrios goal-states (pode-se trabalhar com conjuntos
de estados); checar cada novo n para ver se j aparece na outra procura; Decidir que procura
ter lugar em cada metade.
Tempo bd bd bm bl bd bd/2
Espao bd bd bm bl bd bd/2
ptimo? Sim Sim No No Sim Sim
H 3 modos de lidarmos:
Para implementar a ltima condio os algoritmos fazem apelo a uma tabela de ahsh onde
guardam os ns j gerados.
CSP um tipo especial de problemas que satisfaz mais algumas propriedades estruturais para
alm dos requisitos bsicos de um problema em geral. Os estados so definidos pelos valores de
um conjunto de variveis. Por ex. as 8 rainhas podem ser vistas co o um CSP onde as variveis
so as localizaes; e a constrio diz que nenhum par de rainhas pode estar na mesma linha,
coluna ou diagonal. Uma soluo para um CSP especifica os valores para todas as variveis tal
que as constries so satisfeitas.
Cada varivel Vi num CSP tem um domnio Di (discreto ou contnuo). Nos CSPs discretos onde os
domnios so finitos, as constries podem ser representadas enumerando simplesmente as
combinaes permitidas de valores. Usando esta ideia de enumerao, qualquer CSP discreto
pode ser reduzido a um CSP binrio.
Vamos ver como podemos aplicar um algoritmo geral a um CSP. O estado inicial ser o estado em
que todas as variveis no esto associadas. Operadores associaro um valor a uma varivel, a
partir do conjunto de possibilidades. O goal test checa se todas as variveis esto associadas e
todas as constries satisfeitas. Repare que a profundidade mxima da rvore fixa em n, o n de
variveis, e que todas as solues esto na profundidade n. agora podemso usar seguramente o
algoritmo depth-first.
Nos CSPs o goal-test decomposto num conjunto de constries a variveis em vez de ser uma
caixa-negra.
Depth-First gasta tempo procura quando as constries j forma violadas. Deve-se inserir um
teste antes da gerao do sucessor para ver se alguma constrio j foi violada. O algoritmo
resultante chama-se backtracking search. Tem algumas falhas, pelo que se pode usar Forward
checking, olhando para a frente para detectar insolvncia. Se algum dos domnios se tornar vazio
ento a procura backtarcka imediatamente. Forward checking um tipo especial de checagem de
arco de consistncia. Um estado arco-consistente se todas as variveis tm um valor no seu
domnio que consistente com cada uma das constries dessa varivel. Assim, arco-
consistncia exibe uma froma de propagao de constries. Nalguns casos, achar a arco-
consistncia suficiente para resolver o problema completamente porque os domnios de todas
as variveis so reduzidos a singularidades. Arco-Consistncia muitas vezes usada como
preprocessamento.
Ler captulo 4, com 35 pginas. Estima-se o tempo de leitura em 3h30, e aconselha-se a realizao
de dois periodos de leitura.
Tpicos a saber: Procura informada: algoritmos; heurstica consistente / admissivel; procura local:
algoritmos; agentes de procura em ambientes desconhecidos
Trabalho:
Simule os diversos algoritmos de procuras informadas, com o auxlio do gerador de rvore de
Estados. Faa bastantes exerccios, e com rvores grandes, de forma a dominar completamente os
algoritmos.
Simule os diversos algoritmos de procuras locais, com o auxlio do gerador de Espao de Solues.
Faa bastantes exerccios, e com espaos grandes, de forma a dominar completamente os
algoritmos.
Onde se ver como a informao acerca do espao de estados pode impedir os algoritmos de
navegar no escuro. H maior eficincia.
No algoritmo de procura geral que vimos, o nico stio onde usar informao na funo de
enfileiramento. Habitualmente o conhecimento para fazer esta determinao provido por uma
funo de avaliao que retorna um n para cada n, que no mais do que a prioridade de
expanso desse n. O best-first search parece ser o melhor de acordo com a funo.
Em ordem a focar a procura, a medida deve incorporar uma estimativa do custo do caminho
desde um estado at ao estado goal mais prximo.
H 2 estratgias:
Uma funo que calcula esses custos aproximados chamada funo heurstica:
Um best-first que usa h para seleccionar o prximo n a expandir chama-se procura greedy.
return BEST-FIRST(problem,h)
Nota:
Heurstica era vista como regras de thumb que experts num dado domnio podiam usar para
gerar boas solues sem uma procura exaustiva.
Correntemente, heurstica um adjectivo que refere alguma tcnica que melhora a perfomance do
caso mdio (no necessariamente a do pior caso). Na rea especfica da procura, refere uma
funo que prov um custo estimado da soluo.
Com a distncia directa heurstica, o primeiro n a ser expandido de Arad ser Sibiu, porque est
mais perto de Bucareste. Isto no perfeitamente ptimo. Deve-se ter mais cuidado na anlise de
opes de longo termo e no apenas na melhor escolha imediata.
a procura Greedy susceptvel de falsos comeos. Ex. chegar de Iasi a Fagaras. Alm disso, se
no formos cuidadosos a detectar estados repetidos, a sooluo nunca ser encontrada a
procura oscilar entre Neamt e Iasi.
Como g(n) d o custo do caminho desde o incio at ao n n e h(n) o custo estimado do caminho
mais barato de n at ao goal, temos:
Ento, uma coisa razovel para fazer de incio encontrar o n com o menor valor de f. Pode-se
provar que completo e ptimo, desde que se imponha uma condio a h. essa condio
escolhaer uma funo h que nunca sobrestime o custo de atingir o goal. chamada funo
heurstica admissvel.
O Comportamento da Procura A*
Ao longo e qualquer caminho desde a raiz, o custo-f nunca diminui. Isto no acidente. mantm-
se verdadeiro para quase toda as heursticas admissveis. Diz-se que exibe monotocidade.
Porque em algumas (poucas) isso no acontece, devemos checar, cada vez que se gera um n,
para ver se o custo-f menor que o custo-f do seu pai; se for usamos o custo-f do pai na sua vez.
Com uma heurstica mais apurada, as bandas do contorno esticam at ao estado golo e tornam-
se mais focadas volta do caminho ptimo.
Vamos olhar para a heurstica para o 8-puzzle. Isso trar luz natureza da heurstica em geral.
Os estados possveis so 320. Seguindo o rasto de estados repetidos reduz-se drasticamente para
362.880 arranjos diferentes de 9 quadrados, o que ainda muito. ento temos de encontrar uma
boa funo heurstica, que nunca sobrestime o n de passos para o goal. Eis 2 candidatas:
h1 = Nmero de peas que esto na posio errada. uma heurstica admissvel pois cada pea
ter de se mover pelo menos uma vez.
h2 = A soma das distncias das peas at s suas posies goal. Esta chamada por vezes
Distncia de Blocos Cidade ou Distncia de Manhattan.
Medidas experimentais de b* num pequeno conjunto de problemas pode fornecer um bom guia.
Uma heurstica bem desenhada ter um valor de b* prximo de l, permitindo uma vasta gana de
problemas sejam resolvidos. Para testar, germos 100 problemas cada um com tamanhos de
soluo diferentes.
Do quadro podemos perguntar se h2 sempre melhor que h1 e a resposta sim. Para qualquer
n n, h2(n) >= h1(n). Dizemos que h2 domina h1.
Assim, podemos concluir que sempre melhor usar uma funo heurstica com valores
maiores, desde que isso no implique sobrestimao.
frequente o caso em que o custo de uma soluo exacta para um problema relaxado uma
boa heurstica para o problema original.
(b) Uma pea pode mover-se do quadrado A para o quadrado B se B est vazio.
Frequentemente possvel pegar em features de um estado que contribui para a sua funo de
avaliao heurstica, mesmo que seja difcil de dizer exactamente que contribuio essa. Por ex:
no xadrez: n de peas de cada oponente; n de peas que esto atacadas, etc.
Um outro factor que no considermos foi o custo de correr a funo heurstica num n. No
esquecer que uma boa heurstica deve tanto ser eficiente como apurada.
Vamos estender a anlise considerando heurstica para seleccionar uma varivel para instanciar e
para escolher um valor para a varivel.
Depois de escolhida a varivel preciso escolher o valor para ela. A intuio leva heurstica
least-constraining-value: escolher um valor que impea o menor n de valores permitidos s
variveis conectadas varivel corrente, por constries, isto , deixar mais escolhas livres para o
futuro.
No cap. 3 vimos que a iterao em profundidade boa tcnica para reduzir necessidade de
memria. Podemos tentar o mesmo truque, tornando a procura A* no IDA*. Cada iterao uma
procura depth-first tal como no ID normal. S que o depth-first modificado para usar um custo-f
limite, em vez de uma profundidade limite. Assim, cada iterao expande todos os ns dentro do
contorno para o corrente custo-f, vendo qual o contorno seguinte. Uma vez que a procura no
interior de um contorno est completa, uma nova iterao comea, usando uma novo custo-f para
o prximo contorno.
completa e ptima, mas como depth-first, s requer espao proporcional ao caminho mais
longo que explora. Se for o custo de operador mais baixo e f* o custo da soluo ptima, ento,
no pior caso, IDA* requer bf*/ nso para armazenamento. na maioria dos casos bd uma boa
estimativa.
Infelizmente IDA* tem dificuldades nos domnios mais complexos. No problema do caixeiro
viajante, o valor heurstico diferente para cada estado. Isto quer dizer que cada contorno apenas
inclui mais um novo estado do que o contorno prvio, o que d complexidade O(N2).
Uma maneira de contornar este problema aumentar o limite do custo-f de uma quantidade fixa
em cada iterao, para que o n de iteraes seja proporcional a 1/. Isto pode reduzir o custo da
procura s custas de retornar solues que podem no ser ptimas por, no mximo, . Este
algoritmo conhecido por -admissvel.
root, a node
root MAKE-NODE(INITIAL-STATE[problem])
f-limit f-COST(root)
loop do
function DFS-CONTOUR(node, f-limit) returns a solution sequence and a new f-COST limit
local variables: next-f, the f-COST limit for the next contour, initially
Procura SMA*
As dificuldades do IDA* em termos de memria podem ser eliminadas, para se usar pouca
memria. Entre iteraes, ele retm apenas um n nico o limite de custo-f corrente. Porque no
se consegue lembrtar da histria, IDA* tem que repeti-la. Ento ele pode ser modificado para
checar o caminho presente para estados repetidos, mas incapaz de impedir estados repetidos
gerados por caminhos alternativos.
SMA* (Simplified memory-Bounded A*) far uso de toda a memria disponvel para conduzir a
procura. As suas propriedades so:
completo se a memria disponvel for suficiente para guardar a soluo menos profunda
ptimo se houver memria suficiente para guardar o caminho ptimo mais superficial
O desenho do SMA* simples. Quando ele precisa de gerar um sucessor mas no tem memria,
deixa cair um n da fila. esses ns so os forgotten nodes. Prefere deixar ns que no so
prometedores (com alto f-custo). Para evitar reexplorar subrvores que deixou cair, ele retm nos
ns antepassados informao acerca da qualidade do melhor caminho na subrvore esquecida.
Desta forma s regenera a subrvore quando todos os outros caminhos se mostrarem piores que
o caminho que foi esquecido.
SMA* melhor explicado por um exemplo em que o objectivo encontrar o n goal de menor
custo com memria s para 3 ns. Cada n ser etiquetado com o f-custo corrente, o qual
continuamente mantido para reflectir o f-custo mais baixo de qualquer dos seus descendentes. Os
valores entre parnteses mostram o valor dos melhores descendentes esquecidos.
SMA* o algoritmo de procura mais complicado com que nos deparmos at agora pg. 110).
No cap.3 vimos que muitos problemas weel-known (VLSI por ex.) tm a propriedade que a prpria
descrio de estados contm toda a informao necessria para a resoluo. Nesses casos, os
algoritmos de iterative improvement frequentemente fornecem uma aproximao mais prtica.
A ideia geral comear com uma configurao completa e fazer modificaes para aumentar a
sua qualidade.
A ideia tentar encontrar os picos mais altos, os quais so solues ptimas. Usualmente eles
guardam pistas apenas do estado corrente e no olham para a frente para alm dos vizinhos
imediatos. Ex. neural network.
Procura Hill-Climbing
Tenta melhorar, num loop, o valor do estado. s guarda o estado e a sua avaliao (VALUE).
Local Maxima Um mximo local, como oposio a um mximo global, um pico que
menor que o maior pico no espao de estados. Uma vez num mximo local o algoritmo
pode pensar que a soluo satisfatria.
Ridges A procura atinge o topo do ridge facilmente mas depois tudo se torna lento.
next, a node
current MAKE-NODE(INITIAL-STATE[problem])
loop do
current next
end
Simulated Annealing
Em vez de comear de novo aleatoriamente quando entravados num mximo local, podemos
permitir que a procura d uns passos atrs para baixo na colina para escapar ao mximo local.
next, a node
current MAKE-NODE(INITIAL-STATE[problem])
for t 1 to do
T schedule[t]
E VALUE[next] VALUE[current]
CAP. 5 JOGOS
Vamos examinar os problemas que surgem quando tentamos planear em avano num mundo que
inclui um agente hostil.
O oponente introduz incerteza. Em essncia, todos os programas de jogos devem lidar com o
problema da contingncia.
Mas o que torna os jogos realmente diferentes que so muito mais difceis de resolver. No
xadrez, a rvore de procura tem cerca de 35100 ns.
A incerteza surge no porque h falta de informao, mas porque no h tempo para calcular as
consequncias exactas de qualquer lance. Em vez disso, temos de fazer o melhor palpite baseado
na experincia.
A este respeito, os jogos so muito mais como o mundo real do que os problemas standard de
procura que vimos antes.
Vamos considerar o caso geral de um jogo com 2 jogadores, a quem chamamos MAX e MIN. MAX
move primeiro. Um jogo pode ser formalmente definido como um problema de tipo de procura com
os seguintes componentes:
- O estado inicial
- Uma funo utilidade (tambm chamada funo de pagamento), que nos d um valor numrico
para o estado de um jogo, na perspectiva do MAX.
Temos de definir uma estratgia e veremos como encontrar a estratgia ptima (ou racional).
No jogo do galo, no estado inicial o MAX tem 9 possveis movimentos. Atingiremos os ns folha
correspondentes aos estados terminais: estados onde tem 3 numa linha ou todos os quadrados
esto preenchidos. O n em cada folha indica o valor da utilidade do estado terminal do ponto de
vista do MAX. trabalho do MAX usar a rvore de procura (particularmente a utilidade dos
estados terminais) para determinar o melhor movimento.
Mesmo num jogo to simples muito complexo mostrar toda a rvore, por isso vamos mudar para
o jogo trivial da fig.5.2. Os movimentos possveis para o MAX esto etiquetados A1, A2, e A3. As
possveis respostas do MIN ao A1 so A!!, A12, A13 e assim por diante. Este jogo em particular
termina depois de um movimento de cada jogador (na gria de jogos, dizemos que esta rvore
de profundidade um movimento, consistindo de 2 meio-movimento ou 2 ply)
O algoritmo minimax designado para determinar a estratgia ptima para o MAX, e para decidir
qual o melhor primeiro movimento.
- Usar a utilidade dos estados terminais para determinar a utilidade dos ns um nvel acima.
Podemos tambm obter o valor para os ns do MIN, pensando que ele vai optar pelo melhor
movimento.
- Neste ponto, o MAX escolhe o movimento que conduz ao maior valor, a que se chama a deciso
minimax, porque ela maximiza a utilidade sob a assuno que o oponente jogar perfeitamente
para a minimizar.
Por exemplo, os livros introdutrios de xadrez do um valor aproximado para cada pea (valor
material).
Primeiro, a funo de avaliao deve concordar com a funo utilidade nos estados terminais.
Segundo, no deve demorar muito tempo. Terceiro, uma funo de avaliao deve reflectir
apuradamente as actuais chances de ganhar.
O ponto importante que dado um dado valor de avaliao, ele cobre muitas diferentes posies,
baseado na experincia.
Isto sugere que a funo de avaliao assuma que o valor da pea pode ser julgado
independentemente das outras peas presentes no tabuleiro. Este tipo de funo de avaliao
chamado funo linear pesada, porque pode ser expressa como:
Cortar a Procura
A aproximao mais directa fixar um limite para a profundidade, de modo a que o teste de corte
tenha sucesso para todos os ns nesse nvel ou abaixo uma profundidade d.
Obviamente, preciso um teste de corte mais sofisticado. A funo de avaliao deve ser apenas
aplicada a posies que so quiescentes, isto , que no estejam sujeitas a exibir mudanas
selvagens num valor num futuro prximo.. No xadrez, por exemplo, posies nas quais capturas
podem ser feitas no so quiescentes para uma funo de avaliao que apenas conta o material.
Posies no quiescentes podem ser expandidas at que posies quiescentes sejam atendidas.
O problema do horizonte mais difcil de eliminar... as pretas podem ir dando cheques por uma
quantidade grande de lances, mas inevitavelmente o peo das brancas ser rainha. No presente,
uma soluo geral para o problema do horizonte ainda no foi encontrada.
Felizmente, possvel computar a deciso minimax correcta sem olhar para todos os ns da
rvore. O processo de eliminar um salto (branch) de procura numa rvore de procura sem o
examinar, chamado aprumo da rvore. A tcnica particular que examinaremos a alfa-beta.
Quando aplicada a rvores standard minimax, retorna o mesmo movimento que o minimax
retornaria, mas elimina saltos que no podem influenciar a deciso final.
O princpio geral : Considerar um n n algures na rvore, tal que o jogador tem a escolha de se
mover para aquele n. Se o Jogador tem uma escolha melhor m no n pai de n, ou em qualquer
ponto de escolha acima, ento n nunca ser atingido no jogo actual. assim, uma vez que
descubramos o suficiente acerca de n (examinando alguns dos seus descendentes) para chegar a
esta concluso, podemos aprum-lo.
Relembremos que a procura minimax depth-first. Consideremos alfa ser o valo da melhor
escolha que encontrmos at aqui, em qualquer ponto de escolha ao longo do caminho para o
MAX, e beta o valor do melhor escolha (mais baixo valor)...para o MIN. A procura alfa-beta
actualiza o valor de alfa e beta medida que vai andando e apruma uma subrvore (isto ,
termina a chamada recursiva) logo que seja sabido que pior que os valores correntes de alfa e
beta.
Se os sucessores forem ordenados aleatoriamente ... O((b/log b)d) e o factor de branching efectivo
b/log b, que no muito menor que b. Por outro lado, a frmula assimpttica apenas apurada
para b > 1000 em outras palavras, nem para todos os jogos podemos usar com razoabilidade
esta tcnica.
O gamo um jogo tpico que combina capacidades com sorte. Os dados so rolados no princpio
de cada jogada para determinar o conjunto de jogadas permitidas que ficaro disponveis para o
jogador.
Apesar das brancas quais os seus lances legais, no sabe o que as pretas vo obter com o
lanamento dos dados. Isto significa que as brancas no podem construir um rvore completa do
jogo, da maneira que vimos para o jogo do galo e xadrez.
preciso ento incluir ns de acaso em adio aos ns de MAX e de MIN. So crculos. Os dados
podem dar 21 resultados diferentes.
Em vez disso, podemos apenas calcular uma mdia do valor expectvel, onde a mdia tirada
sobre todas as possibilidades dos resultados dos dados.
Para os ns terminais, usamos a funo utilidade, tal como nos jogos determinsticos. Subindo um
nvel na rvore, chegamos a um n de acaso. Consideremos que est etiquetado com C. Seja di
um possvel resultado dos dados, e P(di) a chance ou probabilidade de obter aquele resultado.
Para cada resultado dos dados, calculamos a utilidade do melhor movimento do MIN, e depois
somamos as utilidades, pesadas pela chance que esse particular resultado ocorra. Se for S(C, di)
deotar o conjunto de posies geradas por aplicao de lances legais para os resultados dos
dados P(di) posio em C, ento podemos calcular o chamado valor expectimax de C usando a
frmula: expectimax(C) = P(di) maxsS(C,di)(utility(S))
Andando mais um nvel para cima, para os ns MIN, podemos agora aplicar a frmula normal de
minimax.
Este processo pode ser aplicado recursivamente pela rvore acima, excepto no nvel de topo onde
o resultado dos dados j conhecido. Para calcular o melhor movimento, ento, substitumos
apenas o VALOR-MINIMAX pelo VALOR-EXPECTMINIMAX, o que fica como exerccio.
Avaliao da Posio em Jogos com Ns de Acaso
Temos de ser mais cautelosos acerca do que os valores de avaliao significam. No minimax
podemos usar valores quaisquer (ex: 1,2,3,4 ou 1,20,30,400). Aqui perdemos essa liberdade.
Complexidade de Expectminimax
Ser O(bmnm) onde n o nmero de resultados dos dados diferentes.
Mesmo que a profundidade da rvore seja limitada a um valor pequeno d, o custo extra
comparado com o minimax torna irrealista considerar olhar em avano muito longe em jogos como
o gamo, onde n 21 e b usualmente volta de 20 mas pode atingir 4000. 2 ply
provavelmente o mximo que poderemos atingir.
Podemos aplicar algo parecido com o alfa-beta e com um pouco de ingenuidade. Mas se
colocamos fronteiras nos possveis valores da funo de utilidade, podemos chegar a fronteiras
para a mdia. Por exemplo, se dissermos que todos os valores da utilidade esto entre 1 e 1,
ento o valor das folhas est fronteirado, e em troca podemos colocar uma fronteira superior no
valor do acaso sem olhar para todos os seus filhos.
Xadrez
A procura alfa-beta, aumentada com biblioteca de aberturas e algoritmos de fim de jogo infalveis
uma tomada de deciso hbrida.
O Deep Thought examina cerca de meio bilio de posies por segundo, permitindo atingir uma
profundidade de 10 ou 11. O Deep Blue atinge um bilio (100-200 biles por lance) e atinge
profundidade 14.
Damas
H um programa (Samuel) que aprende a sua prpria funo de avaliao jogando contra si
prprio milhares de vezes. Permanece uma das grandes feitos da AI.
5.7. DISCUSSO
Novas abordagens.
O problema mais evidente com a procura alfa-beta que ele no s designado para seleccionar
um bom movimento, mas tambm calcular os valores de todos os movimentos legais.
Numa situao de um claro favorito melhor chegar a uma deciso rpida. Isto conduz noo
de uma expanso de um n. Uma boa procura deve seleccionar expanses de ns de alta
utilidade.
Isto meta-raciocnio.
Este tipo de raciocnio ir directo ao goal ou planear, algumas vezes elimina procura combinatria.
Ler captulo 7, com 38 pginas. Estima-se o tempo de leitura em 4h, e aconselha-se dois periodos de
leitura.
Tpicos a saber: equivalncias lgicas; regras de inferncia: modus ponens / and-elemination;
resolution; CNF; grfico and-or; clausulas Horn; algoritmo DPLL; algoritmo WalkSAT; agentes
inference-based / circuit-based
Trabalho: Simule os diversos mtodos de resoluo lgica, com o auxlio do gerador de problemas
de Lgica Proposicional. Faa bastantes exerccios, medida que resolve um, gerado outro de
maior dimenso, tente fazer at maior dimenso que conseguir, de forma a dominar
completamente os mtodos.
Onde veremos agentes que formam representaes do mundo, usam um processo de inferncia
para derivar novas representaes e usam estas novas representaes para deduzir o que fazer.
Este tipo de agente precisa saber muitas coisas: o estado corrente do mundo; como inferir
propriedades escondidas do mundo a partir das percepes; como o mundo evolui ao longo do
tempo; onde quer chegar; e o que as suas aces fazem em determinadas circunstncias.
6.1. UM AGENTE BASEADO-NO-CONHECIMENTO
A KB pode ter inicialmente algum conhecimento de fundo. De cada vez que o programa agente
chamado, ele faz duas coisas. Primeiro, ele TELLs base de conhecimento o que ele
percepciona. Segundo, ele ASKs base de conhecimento que aco deve realizar. No processo
de responder a esta questo, raciocnio lgico usado para provar que uma aco melhor que
as outras, dado o que o agente sabe e quais so os seus goals. Ento o agente executa a aco
escolhida.
TELL(KB, MAKE-PERCEPT-SENTENCE(percept,t))
TELL(KB, MAKE-ACTION-SENTENCE(action,t))
t <-- t + 1
return action
Especificando o Ambiente
a stench
a breeze
a glitter
a bump
a scream
as percepes sero dadas ao agente na forma de uma lista de 5 smbolos. ex: [Stench, Breeze,
Glitter, None, None]. O agente no consegue percepcionar a sua localizao.
as aces so ir para afrente, virar direita a 90 , virar esquerda 90. A aco Grab para
pegar um objecto nesse quadrado; a Shoot para disparar uma seta (s tem uma); Climb para
sair da cave.
O agente tem de ter algum tipo de raciocnio lgico. segue-se uma descrio de um exemplo
(pg.155-157).
Vamos ver a natureza das linguagens de representao, das linguagens lgicas em particular e
explicar em detalhe a ligao entre a linguagem e o mecanismo de raciocnio.
Desde que estas sejam descritas com preciso, podemos chamar linguagem, lgica, e delas
podemos derivar um mecanismo de inferncia.
Queremos gerar novas frases que so necessariamente verdade, dado que as antigas o so. Esta
relao entre frases chama-se vnculo. Matematicamente: KB entails ou KB |= .
Um processo de inferncia pode fazer uma de duas coisas: dada uma base de conhecimento,
gerar novas frases vinculadas a KB. Ou, dada uma KB e outra frase, ver se essa frase vinculada
por KB. Um procedimento de inferncia que gere apenas frases vinculadas chamado sound ou
truth-preserving. KB |-i que se diz: alfa derivada de KB por i ou i deriva alfa de KB. Por
vezes o procedimento implcito e i omitido.
Um procedimento de inferncia completo se puder encontrar uma prova de qualquer frase que
est vinculada.
A chave para a inferncia sound ter os passos de inferncia respeitando a semntica das frases
que operam. Isto , dada uma KB, os passos de inferncia devem apenas derivar novas frases
que representam factos que se seguem dos factos representados por KB. Examinando a
semntica das linguagens lgicas, podemos extrair aquilo que se chama a teoria de prova da
linguagem, a qual especifica os passos de raciocnio que so sound.
Representao
vamos aprofundar a natureza da representao do conhecimento com o objectivo de criar sintaxe
e semntica apropriadas.
Semntica
Na lgica, o significado de uma frase o que ela diz acerca do mundo. Ento, como adquire uma
frase o seu significado? O escritor tem de atribuir uma interpretao para ela.
Uma frase verdadeira sob uma determinada interpretao se o estado de coisas que
representa o caso.
Inferncia
Neste cap. estamos preocupados com o raciocnio, que chamaremos de deduo ou inferncia
lgica. Esta um processo que implementa o vnculo entre frases. H um n variado de caminhos
de fazer a aproximao ao design dos sistemas de inferncia lgica. Vamos comear com a ideia
frase necessariamente verdadeira.
Validade e Satisfao
Uma frase vlida ou necessariamente verdadeira se e s se verdadeira sob todas as possveis
interpretaes em todos os possveis mundos, isto , analisando o suposto significado e o estado
de cosias no universo descrito. Por ex. H um stench em [1,1] ou no h um stench em [1,1].
Inferncia em Computadores
Veremos que a validade e insatisfao so cruciais para a capacidade de um computador
raciocinar.
Para reiterar, a grande coisa acerca da inferncia formal que pode ser usada para derivar
concluses vlidas mesmo quando o computador no sabe a interpretao que estamos a usar. O
computador apenas reporta concluses vlidas.
A palavra you neste pargrafo pode ser igualmente aplicada aos agentes humanos e
computacionais.
Lgicas
Para sumariar, podemos dizer que uma lgica que consista no seguinte:
Sintaxe
Os smbolos da lgica proposicional so constantes lgicas True e false, smbolos de proposies
tais como P e Q, os conectores lgicos , V, , => e ~ e os ( ). Todas as frases so feitas
colocando estes smbolos com as seguintes regras:
Uma frase pode ser formada combinando frases simples com um dos 5 conectores:
(implies): Uma frase como (P and Q) => R chamada uma implicao (ou
condicional). A sua premissa ou antecedente P and Q, e a sua concluso ou
consequncia R. Implicaes so tambm conhecidas como regras ou if-then
frases.
Uma gramtica para a lgica proposicional dada a seguir na notao BNF. A gramtica introduz
frases atmicas (smbolo nico, ex: P) e frases complexas (contm conectores ou ( )). O termo
literal usado para designar uma frase atmica ou a sua negao.
| P | Q | R |...
| ~Sentence
Estritamente falando a gramtica ambgua, por isso damos prcedncias aos operadores e
usamos parnteses. A ordem ~, and, V, =>,
Semntica
Definimo-la pela especificao da interpretao dos smbolos e constantes da proposio, e
especificando o significado dos seus conectores lgicos. Um smbolo proposicional pode ser tudo
o que se quiser. Uma frase contendo apenas um smbolo proposicional satisfatria mas no
vlida verdade apenas quando o facto que refere o caso. Com as constantes no h
hiptese.
Uma frase complexa tem o seu significado derivado do significado das suas partes. Cada conexo
pode ser pensada como uma funo. Uma maneira de definir uma funo atravs duma tabela
que apanhe todas as possveis combinaes possveis das entradas no nosso caso a tabela
da verdade.ex:
F F T F F T T
F T T F T T F
T F F F T F F
T T F T T T T
De alguma maneira, o conector implicao o mais importante, e a sua tabela pode ser confusa
primeira vista, porque no se enquadra bem na nossa compreenso intuitiva de P implica Q ou
if P then Q. Por alguma razo a lgica proposicional no requer qualquer relao de causa ou
relevncia entre P e Q. O sentido Se P verdade, ento eu reclamo que Q verdade. De outro
modo eu no reclamo nada.
Validade e Inferncia
As tabelas da verdade podem ser usadas no s para definir conectores mas tambm para testar
a validade das frases. Se a frase for verdade em todas as linhas, ento a frase vlida. ex: ((P V
Q) and ~H) => P
Isto importante. Diz que uma mquina tem algumas premissas e uma possvel concluso, ela
pode determinar se a concluso verdadeira. Pode fazer isso construindo uma tabela da verdade
para a frase Premissas => Concluso e checar todas as linhas. Se todas as linhas forem verdade,
a concluso vinculada pelas premissas.
Modelos
Qualquer mundo no qual uma frase verdade sob uma interpretao particular chamado um
modelo dessa frase sob essa interpretao.
Os modelos so muito importantes na lgica, para recolocar a definio de vnculo, uma frase alfa
vinculada por uma KB se os modelos de KB forem modelos de alfa.
Alguns autores preferem pensar os modelos como objectos matemticos. Neste ponto de vista,
um modelo na lgica proposicional simplesmente um plano dos smbolos proposiconais
directamente para a verdade ou falsidade, isto , a etiqueta para uma linha numa tabela da
verdade. Ento os modelos da frase so apenas aqueles planos que tornam a frase verdade.
Regras de Inferncia para a Lgica Proposicional
uma generalizao. O padro de inferncia (usado nas tabelas da verdade...) pode ser captado
e chamado regra de inferncia. Uma vez a regra estabelecida, ela pode ser usada sem ir pelo
entediante processo de construir tabelas da verdade.
=> ,
------------------
----------------------------------
1, 2, ... , n
---------------------------------
4. Or-Introduo (de uma frase, pode inferir a sua disjuno sm mais nada)
-------------------------
1 V 2 V ... V n
------
6. Resoluo Unitria (de uma disjuno, se um dos disjuntos falso, ento pode-se inferir
que o outro verdade)
V , ~
----------------
7. Resoluo (esta a mais difcil. Porque no pode ser simultaneamente verdade e falso,
um dos outros disjuntos tem de ser verdade em uma das premissas. Ou,
equivalentemente, implicao transitiva)
V , ~ V ~ => , =>
V ~ V
Para melhor compreender a ltima, ver fig. 6.14 (pg.173) tab. verdade demosntrativa.
Para usar as regras de inferncia para chegar a concluses baseamo-nos numa propriedade
de certas lgicas chamada monoticidade. Uma lgica monotnica quando ns
acrescentamos novas frases KB e todas as frases vinculadas pela KB original se mantm
vinculadas na nova KB. fcil mostrar que a lgica proposicional e a de 1 ordem so
montonas. Uma regra de inferncia como a Modus Ponens local porque as suas premissas
tm de ser comparadas com uma pequena poro da KB (2 frases, na realidade).
H tambm uma til classe de frases para as quais a inferncia em tempo polinomial existe.
a classe chamada frase de Horn, que tem a seguinte forma:
P1 and P2 and ... and => Q
Nem todas as KB podem ser escritas como uma coleco de frases Horn, mas para as que
podem, podemos usar uma regra de inferncia simples: aplique o Modus Ponens onde for
possvel at novas inferncias no poderem ser feitas.
() () comutatividade de
( ) ( ) contraposio
( ) ( V ) eliminao da implicao
( ) (( ) ( )) eliminao biconditional
() ( V ) de Morgan
(V) ( ) de Morgan
se e s se |= e |=
A regra de resoluo aplica-se s a disjunes de literais, logo pode parecer relevante ter KB e
questes consistindo desse tipo de disjunes. Como pode isso conduzir a um procedimento
de inferncia para toda a lgica proposicional? A resposta que toda a frase da lgica
proposicional logicamente equivalente a uma conjuno de disjunes de literais.
Uma frase expressa numa conjuno de disjunes diz-se que est na Forma Conjuntiva
Normal ou CNF. H tambm a k-CNF.
Os passos so:
3. O CNF requer que aparea s em literais, logo movemos para dentro dos parnteses
pela aplicao repetida das seguintes equivalncias: eliminao da dupla negao e leis de
Morgan.
4. Agora temos uma frase contendo opeardores e V aninhados aplicados a literais.
Aplicamos a lei distributiva (V sobre sempre que possvel)
A frase original est agora na CNF. Ser mais difcil de ler, mas pode ser usada como entrada
de um procedimento de resoluio.
Um Algoritmo de Resoluo
A clusula vazia uma disjuno sem disjuntos) equivalente a falso porque uma disjuno
s true se pelo menos um dos disjuntos o for.
Completeza da Resoluo
1- Todas as clusulas Horn podem ser escritas como uma implicao cuja premissa uma
conjuno de literais positivos e cuja concluso um nico literal positivo. Por ex. (L1,1 V
Breeze V B1,1) pode ser escrita como a implicao (L1,1 Breeze) => B1,1 mais fcil de ler.
Este tipo de clusulas Horn com exactamente um literal positivo so chamadas clusulas
definidas. O literal positivo chamado de cabea e os litearais negativos forma o corpo da
clusula. Uma clusula definida sem litaerais negativos simplesmente assertam uma dada
proposio por vezes chamado de facto. As clusulas definidas formam a base para a
programao lgica. Uma clusula Horn sem literais positivos pode ser escrita como uma
implicao cuja concluso o litaeral false. ex. (W1,1 V W1,2) equivalente a W1,1 W1,2 =>
false. Estas frases so chamadas restries de integridade na KB.
Nos algoritmos que se seguem assumimos que que as KB contm apenas clusulas definidas
e sem restries de integridade, isto , esto na forma de Horn.
2- A inferncia com clsulas Horn pode ser feita atravs de algoritmos de forward chaining e
backward chaining fceis para os humanos.
3- Decidir o seguimento com clusulas Horn pode ser feito em tempo linear no tamanho da
KB.
Nos grficos AND-OR, ligaes mltiplas juntas por um arco indicam uma conjuno todos
os links devem ser provados enquanto links mltiplos sem um arco indicam uma disjuno
qualquer link pode ser provado. fcil ver como o algoritmo FC funciona no grfico. As folhas
conhecidas (aqui A e B) so setadas, e a inferncia propaga-se para cima, no grfico, to
longe quanto possvel. Sempre que uma conjuno aparece, a propagao espera art que os
conjunctos sejam conhecidos, antes de prosseguir.
fcil de ver que o FC sound: todas as inferncias so essencialmente uma aplicao do
Modus Ponens. Tambm completo: todas as frases atmicas seguidas sero derivadas.
O algoritmo backward chaining, como o nome sugere, trabalha da frente para trs a partir da
query. Se a query q conhecida como true, ento no preciso qualquer trabalho. de outro modo,
o algoritmo encontra aquelas implicaes na KB que concluem q. Se todas as premissas de uma
dessas implicaes pode ser provada como true (por encadeamento para trs), ento q true. No
nosso ex. desce no grfico at atingir um conjunto de factos conhecidos que forma a base da
prova. O algoritmo completo deixado como exerccio. A sua implementao tambm linear no
tempo. um ex. de raciocnio direccionado para o goal.
o algoritmo David-Putnam (DPLL). ele toma como entrada uma frase na forma CNF um
conjunto de clusulas. Como o BACKTRACKING-SEARCH e TT-ENTAILS?, essencilamente
recursivo, enumerao depth-first de modelos possveis. Envolve 3 melhoramentos sobre o TT-
ENTAILS?
- Terminao mais cedo detecta se a frase false ou true mesmo com um modelo parcialmente
completo. Uma clusula true se algum literal true, mesmo que os outros ainda no tenham
ainda valor true. Por ex., a frase (AVB) (AVC) true se A true. Similarmente, uma frase false
se alguma clusula false, o que ocorre quando cada um dos literaris false. Evita pois
examinao de subrvores inteiras no espao de procura.
- Heurstica de Smbolos Puros. Um smbolo puro um smbolo que aparece sempre com o
mesmo sinal em todas as clusulas. Por ex. nas 3 clusulas (AVB), (BC) e (CVA), o smbolo
A puro. B tambm. C no. fcil de ver que se uma frase tem um modelo, ento tem um modelo
com os smbolos puros associados de modo a fazer os seus litearis true, porque dessa maneira
nunca podem fazer uma clusula false. Note-se que, na determinao da pureza de um smbolo, o
algoritmo pode ignorar clusulas que so j conhecidas serem true no modelo construdo at a.
Por ex., se o modelo contm B=false, ento a clusula (BVC) j true e C torna-se puro
porque parece apenas em (CVA).
- Heurstica de Clusula Unitria uma clusula com apenas um literal. No contexto do DPLL,
tambm significa clusulas nas quais todos os literais menos um esto j associados false pelo
modelo. Por ex. se o modelo cont, B=false, ento (BVC) torna-se equivalente a (false VC) ou
apenas C. Faz isto 8associao) a todas antes de prosseguir.
Uma consequncia importante disto que qualquer tentativa de provar 8por refutao) um literal
que j est na KB tem sucesso de imediato. Veja-se tambm que associar uma clusula unitria
pode ciar uma outra clusula unitria por ex. quando C posta a false, (CVA) torna-se uma
unitria, causando que true seja associado a A. esta cascata de associa~eos foradas
chamada de propagao unitria. parecido com FC.
Se a expresso CNF contm apenas clusulas Horn ento o DPLL essencialmente replica o FC.
Algoritmos de Procura Local
Porque o goal encontrar uma associaoque satisfaz todas as clusulas, uma funo de
avaliao que conte o n de clusulas no satisfeitas, faz o trabalho.
O objectivo, tal como nos CSPS encontrar o balano entre a ganncia e a aleatoriedade.
Dizemos que um ambiente exibe uma localidade se a true de cada proposio de interesse pode
ser determinada olhando apenas para um n constante de outras proposies. Minesweeper no
local (temos de olhar para trs o que for preciso), o que no bom para ABC.
Comparao:
- Conciso: o ABC, ao contrrio do ABI, no precisa de ter cpias separadas do seu conhecimento
para qualquer passo no tempo. Em vez disso, ele refer-se apenas aos passos correntes e
anteriores no tempo. ambos precisam de cpias da fsica (expressas como circuitos ou frases)
para cada quadrado e depois no se do bem com ambientes grandes. para isso so melhores os
de 1 ordem.
Em suma, quando a conexo entre percepes e aces simples (ex. Glitter Grab) um circuito
parece ptimo. Para conexes mais complexas, a aproximao declarativa pode ser melhor.
Os pequenos animais so ABC e os humanos ABI hbrido tem o melhor dos 2 mundos.
Lio 6 Cap. 7, 8 e 9
Palavras/Conceitos Chave
Tpicos a saber: diferncias entre lgicas; traduzir uma expresso lgica para texto e vice-versa;
passar de lgica de 1 ordem para lgica proposicional; unificao; algoritmo forward-chaining /
backward-chaining; ontologias; redes semnticas; dedues com informao de omisso
Trabalho: Construa uma lista de 10 provrbios populares em lgica de primeira ordem, e tente
encontrar dois provrbios que estejam em contradio.
Onde veremos uma lgica que suficiente para construir agentes baseados-no-conhecimento
A lgica de 1 ordem tem comprometimentos mais fortes. O primeiro que o mundo consiste
em objectos, que tm propriedades que os distinguem. Entre estes objectos existem relaes.
Algumas delas so funes.
Dividir o mundo duma certa maneira ajuda-nos a raciocinar sobre ele. Combinada com os
conectores da lgica proposicional, podemos estabelecer leis gerais e regras.
Na lgica proposicional toda a expresso uma frase, que representa um facto. A lgica de 1
ordem tem frases, mas tambm tem termos, que representam objectos. Smbolos de
constantes, variveis, e smbolos de funo so usados para construir termos, e
quantificadores e predicados so usados para construir frases.
Cada um nomeia exactamente um objecto, mas nem todos precisam de ter nomes e h
aqueles que tm mais de 1 nome.
Especifica uma relao particular. Num dado modelo, a relao definida pelo conjunto de
tuplos de objectos que a satisfazem. Um tuplo uma coleco de objectos arranjados numa
ordem fixa. So escritos com parntesis angulares cercando os objectos. Ex. num modelo com
3 objectos (KJ, RtL e Robin Hood), a relao de irmandade definida por:
Algumas relaes so funcionais, isto , qualquer objecto est relacionado exactamente com
outro.
Ao contrrio dos smbolos de predicado, os quais so usados para dizer que as relaes so
entre certos objectos, os smbolos de funo so usados para referir objectos particulares sem
usar o seu nome.
Termos
Um termo uma expresso lgica que se refere a um objecto. Constantes so termos. Por
vezes mais conveniente usar uma expresso para referir um objecto. Por ex., em Ingls
podemos usar a expresso King Johns left leg em vez de lhe dar um nome. para isto que
servem as funes: em vez de usar uma constante, usamos LeftLegOf(John). No caso gearl,
um termo complexo formado por um smbolo de funo seguido por uma lista de termos
como argumentos da funo, entre parntesis.
Frases Atmicas
Podemos juntar predicados e termos para formar frases atmicas que referem factos. Uma
frase atmica formada por um predicado seguido por uma lista de termos entre parntesis:
Brother(Richard, John)
Married(FatherOf(ricahrd), MotherOf(John))
Um frase atmica true se a relao referida pelo predicado se verifica entre os objectos
referidos pelos argumentos. A relao verifica-se apenas no caso do tuplo de objectos estar na
relao.
Frases Complexas
~Brother(Robin, John)
Quantificadores
Para expressar coleces inteiras de objectos, em vez de ter de enumerar os objectos pelo
nome.
Quantificao Universal ()
Usamos a conveno que todas as variveis comeam por letra minscula, e todas as
constantes, predicados, e funes so capitalizadas.
Assim, a tabela da verdade para => parece ser perfeita escrever regras gerais com
quantificadores universais.
Quantificao Existencial ()
Similarmente, podemos fazer uma frase acerca de alguns objectos no universo, sem os
nomear.
Uma implicao true se ambas a premissa e a concluso forem true, ou se a sua premissa
for falsa. Assim, se RtL no for irm de Spot, ento a implicao Sister(Spot, Richrd) =>
Cat(Richard) true e a disjuno completa true.
Quantificadores Aninhados
x y Loves(x,y)
y x Loves(x,y)
Uma dificuldade menor surge quando dois quantificadores so usados com o mesmo nome de
varivel: x [Cat(x) V (x Brother(Richard,x))]
Todas as variveis devem ser introduzidas por um quantificador antes de serem usadas. Uma
frase como x P(y) est incorrecta. Surge ento o termo frmula bem formada (well-formed
formula ou wff).
Ligaes Entre e
x ~P = ~x P ~P ~Q = ~(PVQ)
~x P = x ~P ~(PQ) = ~P V ~Q
x P = ~x ~P PQ = ~(~P V ~Q)
x P = ~x ~P P V Q = ~(~P ~Q)
Assim, no precisamos na realidade de ambos, tal como no precisamos de ambos and e or.
Igualdade
A lgica de 1 ordem inclui mais de uma maneira de construir frases atmicas, para alm de
usar predicados e termos como descrito atrs. Podemos usar o smbolo de igualdade:
Father(John) = Henry
A igualdade pode ser vista como um smbolo de predicado e fixo referir relao de
identidade.
Lgica de Ordem-Mais-Alta
A lgica de ordem mais alta permite-nos quantificar sobre relaes e funes tal como os
objectos na de 1 ordem.
Ex. de -expresso:
O Quantificador Unicidade !
!x King(x)
Podemos pensar no como o acrescentar de um novo quantificador, mas como sendo uma
abreviao conveniente para a frase mais longa:
s vezes ainda mais conveniente ter um termo representando o nico objecto directamente.
Variaes Notacionais
No Prolog: usa-se maisculas para variveis e minsculas para constantes; Inverte a ordem
das implicaes, escrevendo Q :- P em vez de P => Q; Uma vrgula usada tanto para
separar argumentos como para conjuno; e um ponto final marca o fim de uma frase.
O Domnio Kinship
Um axioma independente um que no pode ser derivado dos outros. Em AI comum incluir
axiomas redundantes, de modo a tornar o processo de prova mais eficiente.
2. ~x,s Adjoin(x,s)=EmptySet
O domnio das listas muito similar ao domnio dos conjuntos. A diferena que as listas
esto ordenadas e o mesmo elemento pode aparecer mais de uma vez.
A notao apenas uma abreviatura para a notao normal da lgica de 1 ordem sintaxe
aucarada.
tambm usamos notao standard aritmtica nas frases lgicas, por ex. x > 0 em vez de >(x,0)
e 1+2 em vez de +(1,2)
ASK(KB, x Child(x,Spot)) quer dizer algo como H algum x que... e resolvemo-la dando
como resultado tal x. A forma standard para uma resposta deste tipo uma substituio ou
uma lista binding que um conjunto de pares de variveis/termos.
Com a lgica de 1 ordem, temos todo o poder representacional que precisamos e podemos
colocar a questo interessante de como deve um agente organizar o que sabe em ordem a
tomar as aces correctas. vamos considerar 3 arquitecturas de agente: agentes reflexos que
meramente classificam as suas percepes e agem de acordo; agentes baseados em modelo
que constrem uma representao interna do mundo e a usam para actuar; e agentes
baseados no goal que formam goals e tentam atingi-los (tambm so baseados em modelos).
O primeiro passo definir a interface entre o ambiente e o agente. Uma frase tpica de
percepo :
TELL(KB, MAKE-ACTION-SENTENCE(action,t))
t <- t + 1
return action
Para determinar qual aco a melhor, a funo MAKE-ACTION-QUERY cria uma query tal
como: a Action(a,5) com a intena de ASK retiornar uma lista binding tal como {a/Grab} e
Grab est assignado como o valor da varivel action. O programa do agente chama ento
TELL mais uma vez para gravar que aco foi tomada.
O mais simples um agente que tem regras que ligam directamente percepes a aces
instintos.
...
Num ambiente mais complexo, a percepo pode ser um array inteiro de valores de cor ou
cinzento, mas a viso de computador uma tarefa complicada, apesar da ideia base ser a
mesma.
No pode ter a certeza quando Climb, porque nem ter o ouro nem estar no quadrado de
entrada parte da sua percepo; h coisas que o agente s sabe formando uma
representao do mundo. Os agentes reflexos so tambm incapazes de evitar loops infinitos:
a randomizao pode provocar uma soluo, mas s a troco do risco de fazer aces sem
frutos.
7.6. REPRESENTANDO A MUDANA DO MUNDO
Pode ser demonstrado que qualquer sistema que toma decises na base de percepes
passadas pode ser reescrito para usar em vez disso um conjunto de frases acerca do estado
presente do mundo.
A maneira mais simples de lidar com a mudana simplesmente mudar a KB, escrevendo por
cima. Uma segunda possibilidade um agente procurar atravs de um espao de passados e
futuros estados, onde cada estado representado por uma KB diferente. mas isto no deixa o
agente raciocinar acerca de mais que uma situao em simultneo.
Clculo de Situaes
Todas as relaes ou propriedades que podem mudar ao longo do tempo so lidadas por uma
dado argumento de situao extra correspondente ao predicado. Usamos a conveno que o
argumento da situao sempre o ltimo e as constantes de situao esto na forma Si.
Assim, em vez de At(Agent, location) podemos ter:
Result(Forwrd,S0) = S1
Result(Turn(Right),S1) = S2
Result(Forward,S2) = S3
Portable(Gold)
Um axioma similar diz que o agente no segurou nada depois de uma aco de Release
x,s ~Holding(x,Result(Release,s))
Tpicos a saber: diferncias entre lgicas; traduzir uma expresso lgica para texto e vice-versa;
passar de lgica de 1 ordem para lgica proposicional; unificao; algoritmo forward-chaining /
backward-chaining; ontologias; redes semnticas; dedues com informao de omisso
Trabalho: Construa uma lista de 10 provrbios populares em lgica de primeira ordem, e tente
encontrar dois provrbios que estejam em contradio.
Uma lgica no oferece qualquer guia de como os factos devem ser expressos, nem que
vocabulrio deve ser usado para os expressar.
Bear(Pooh)
a PartOf(BrainOf(a),a)
5.
TypicalBear = TypicalMember(Ursidae)
6.
7.
Medium = 1
Porque que isto true? Posso escrever antes os factos que tornem isto true?
Com que generalidade posso aplicar? Posso declarar isto para uma classe mais larga de
objectos?
Preciso de um novo predicado para denotar esta classe de objectos? como se relaciona esta
classe com as outras? parte de uma classe mais lata? Tem esta classe outras subclasses?
Quais so as outras propriedades dos objectos desta classe?
8.2. ENGENHARIA DO CONHECIMENTO
Metodologia de 5 passos:
Escrever frases lgicas ou axiomas, o que cumpre 2 objectivos. Primeiro, tornamos os termos
mais precisos para interpretao humana. Segundo, tornamos possvel correr procedimentos
de inferncia.
Um erro tpico :
a meta prover uma anlise que determina se o circuito de facto um somador, e que pode
responder a questes acerca do valor do fluxo corrente em vrios pontos do circuito.
H 4 tipos de gates: AND, OR, XOR e NOT. Todas as gates tm exactamente um terminal de
output. Os circuitos so compostos de gates e tm terminais de entrada e de sada.
Decidir do vocabulrio
Primeiro, precisamos de distinguir as gates umas das outras. X1, X2, etc.
Connected(Out(1,X1), In(1,X2))
Devem ser o menor n possvel de regras e cada regra deve declarar claramente e
concisamente.
On != Off
5. A sada de uma porta AND Off se e s se alguma das entradas for Off
Type(X1)=XOR ....
Connected(Out(1,X1),In(1,X2))
A resposta :
Podemos tambm fazer uma questo que uma verificao do circuito. (FAZER...est na
pg226).
codificada dentro da lgica de 1 ordem mas faz muitos mais compromissos que aquela no
faz.
- Deve ser aplicvel em mais ou menos qualquer special-purpose domnio (com a adio de
axiomas especficos do domnio)
Medidas
Objectos Compostos Objectos que pertencem a vrias categorias por virtude da sua
estrutura constituinte.
Substncias
Representar o conhecimento do senso comum pode ser muito iluminador. No nos vamos,
para j, preocupar com excepes e defaults.
Representar Categorias
Tambm servem para fazer previses acerca de objectos, uma vez classificados.
A lgica de 1 ordem torna mais fcil declarar factos acerca de categorias ou relacionando
objectos a categorias ou quantificando sobre os seus membros.:
Tomato Tomatoes
Tomatoes Fruit
Tomatoes DomesticatedSpecies
Tambm queremos ser capazes de declarar relaes entre categorias que no so subclasses
uma da outra. Para isso usamos a disjuno, a decomposio exaustiva e, se for ambos,
uma partio. ex:
Partition({males, Females},Animals)
MEDIDAS
l Centimeters(2.54*l) = Inches(l)
t Centigrade(t)=Fahrenheit(32+1.8*t)
Mass(Tomato)=Kilograms(0.16)
Price(Tomato)=$(0.32)
Este tipo de relaes montonas entre medidas forma a base do campo fsica qualitativa.
GNEROS NATURAIS
Em vez de ter uma definio completa de tomates, temos uma srie de caractersticas que
servem para identificar objectos que so claramente tomates tpicos.
A ideia chave separar o que true para todas as instncias da categoria do que true
apenas das instncias tpicas. assim, em adio categoria Tomatoes, temos tambm a
categoria Typical(Tomatoes). aqui Typical uma funo que mapeia uma categoria
subclasse dessa categoria que contm apenas instncias tpicas:
c Typical(c) c
OBJECTOS COMPOSTOS
Usamos a relao geral part of para dizer que uma coisa parte de outra. PartOf reflexiva e
transitiva.
PartOf(Bucharest,Romania)
PartOf((Romania,EasternEurope)
Part of(EasternEurope,Europe)
Qualquer objecto que tenha partes chamado de objecto composto. As categorias de objectos
compostos so frequentemente caracterizadas pela estrutura desses objectos, isto , as
partes e como as partes so relacionadas. Ex:
a Biped(a) =>
Attached(l1,b) Attached(l2,b)
SubEvent(WorldWarII, TwentiethCentury)
No clculo de situao, um dado facto true numa particular situao. No clculo de eventos,
um dado evento ocorre durante um intervalo particular.
Go(Shankar,NewYork,NewDelhi) com,
Finalmente, usamos a notao E(c,i) para dizer que um evento da categoria c um subevento
do evento (ou intervalo) i:
E(Go(Shankar,NewYork,NewDelhi),Yesterday)
LUGARES
In(NewYork,USA)
PROCESSOS
Flying(Shankar) tem uma qualidade diferente. De facto true para qualquer subintervalo.
E(Flying(Shankar),Yesterday)
T(Working(Stuart),TodayLunchHour)
T(c,I) significa que algum evento do tipo c ocorreu durante exactamente o intervalo i.
In(Mary,Supermarket)
T(In(mary,Supermarket),ThisAfternoon)
T(Closed(Supermarket),BunchOf(Sundays))
tentador escrever
o paralelo.
Uma vez que o mtodo para conjunctar categorias de eventos est definida, conveniente
extender a sintaxe para permitir smbolos conectivos infixos:
Partition({Moments, ExtendedIntervals},Intervals)
Agora inventamos uma escala de tempo e associamos pontos dessa escala a momentos,
dando-nos tempos absolutos. Medimos em segundos e dizemos que o tempo 0 1 de Janeiro
de 1900 s 0 horas.
A funo Start e End pegam nos momentos iniciais e finais de um intervalo. A Time entrgea um
ponto da escala de tempo para um momento.
Time(Start(AD1900))=Seconds(0)
TimeStart(AD1991)) = Seconds(2871694800)
Time(End(AD1991)) = Seconds(2903230800)
Duration(AD1991) = Seconds(31536000)
Para toornar isto mais simples de ler, introduzimos a funo Date com 6 argumentos.
Time(Start(AD1991)) = date(00,00,00,Jan,1,1991)
date(12,34,56,Feb,14,1993)=Seconds(2938682096)
A mais simples relao entre intervalos Meet. Dois intervlaos Meet se o final do tempo do 1
igual ao start time do segundo.
exemplos:
After(ReignOf(ElizabethII), ReignOf(GeorgeVI))
Overlap(Fifties,ReignOf(Elvis))
Start(Fifties) = Start(AD1950)
End(Fifties)=End(AD1950)
As relaes temporais entre intervalos so usadas principalmente para descrever aces, que
aqui d como resultado um intervalo em que um certo estado ocorre.
1. Se duas pessoas esto noivas, ento num futuro intervalo, elas casaro ou rompero o
noivado:
OBJECTOS REVISITADOS
T(Area(Poland,SqMiles(233000)), AD1426)
T(Area(Poland,SqMiles(117000)), AD1950)
T(Male(President(USA)), 19thCentury)
Fixed(Location(EmpireStateBuilding))
SUBSTNCIAS E OBJECTOS
H uma certa poro da realidade que parece desafiar uma individualizao bvia diviso
em objectos distintos. Damos a esta poro o nome de stuff.
Esta a maior distino entre coisas e stuff. Se cortarmos uma aardvark ao meio no ficamos
com 2 aardvarks. A distino a mesma que entre eventos lquidos e no lquidos. Por isso
tambm se chama a coisas como a manteiga substncias espaciais enquanto os eventos
lquidos so apelidados de substncias temporais.
Uma classe de objectos que inclui na sua definio apenas propriedades intrnsecas ento
uma substncia, ou mass noun. Uma classe que inclua alguma propriedade extrnseca na sua
definio um count noun.
A categoria Stuff a categoria mais geral das substncias. A classe Thing a categoria mais
geral dos objectos discretos.
BunchOf(Butter)
PartOf
Nos domnios multi-agente, torna-se importante para um agente raciocinar acerca dos
processos mentais dos outros agentes (ex. perguntar a quem...num supermercado).
Mas ns queremos um modelo abstracto que diga que se um agente lgico acredita P V Q e
aprende P, ento ele deve crer que Q.
x no pode ser uma frase lgica porque apenas termos podem ser argumentos de relaes.
Mas se for reificado comofluente j andidato a ser um objecto mental. e Believes pode ser
uma relao que toma um agente e uma proposio fluente em que o agente cr.
Ento, ... Teoria Sintctica dos Objectos mentais. Representamos os objectos mentais como
strings.
Nesta formulao Clark != Superman. A ideia o agente ter a KB com strings que so
adicionadas via TELL.
Agora s temos que prover uma sintaxe, semntica e teoria de prova para a linguagem de
representao de strings.
Comeamos por definir Den como a funo que mapeia a string ao objecto que ela denota, e
Name como a funo que mapeia um objecto string que o nome da constante que denota
o objecto.
Name(ManOfSteel)=K11
Correcto :
a,p,q LogicalAgent(a) Believes(a,p) (Believes(a,Concat(p,=>,q) => Believes(a,q) para o
Modus Ponens.
Podemos ir em 3 direces.
Uma a omniscincia lgica, mas mais realista definir agentes racionais limitados, pois
impossvel ter agentes lgicos instantneos.
O conceito de knowing what mais complicado. Uma melhor definio diz que o agente tem
de know algum x que string de dgitos a que Bob um n:
Claro que para outras questes temos um critrio diferente para uma resposta aceitvel. Para
uma questo de qual a capital de New York aceitmaos um nome. Para lidar com isto definimos
o KnowWhat como uma relao de 3 lugares: um agnte, um termo e um predicado que deve
ser a resposta da questo. Por exemplo:
CONHECIMENTO E ACO
Seremos capazes de definir o conhecimento que um agente precisa para comprar uma refio
numa loja.
Percepes:
Aces
4. zoomar a cmera
5. pegar num objecto no seu quadrado. Precisa ento de especificar as coordenadas relativas
do objecto e de estar de mos vazias
6. Largar um objecto
O goal do agente, inicialmente, comprar todos os itens numa lista de compras. Este goal
pode ser modificado se alguns itens no estiverem disponevis ou forem muito caros. Deve
comprar rapidamente e evitar esbarrar nas coisas.
O ambiente o interior de uma loja, com todos os objectos e pessoas dentro dela. deve sair
da loja pelo mesmo quadrado. H placas de EXIT.
...
Na seco 6.4. vimos as regras de inferncia para a lgica proposicional: Modus Ponens, And-
Elimination, And-Introduction, Or Introduction e Resoluo. Estas regras mantm-se na lgica
de 1 ordem. Mas precisamos de adicionais que so 3 e que so mais complexas, porque
temos de falar de substituies de indivduos particulares para as variveis. Usaremos a
notao SUBST(,) para denotar o resultado de aplicar a substituio frase . Por ex:
UNIVERSAL ELIMINATION
-----------------------
SUBST({v/g}, )
EXISTENTIAL ELIMINATION
--------------------------
SUBST({v/k}, )
Por exemplo, de x Kill(x,Victim), podemos inferir Kill(Murderer, Victim), desde que Murderer
no aparea em mais lado nenhum na KB
EXISTENTIAL INTRODUCTION
------------------------
v SUBST({g/v}, )
a aplicaao da sregras uma simples questo de fazer bater as premissas com as frases da
KB e depois adicionar as concluses.
Exemplo:
(6) American(West)
O pas Nono
(7) Nation(Nono)
(9) Nation(America)
de 2 e da Existential Elimination:
Da 10 e do And-Elimination
(11) Owns(Nono,M1)
(12) Missile(M1)
da 4 e da Universal Elimination
da 12 e da 13 e do Modus Ponens:
(14) Weapon(M1)
de 3 e da Universal Elimination:
(15) Owns(Nono,M1) Missile(M1) => Sells(West, Nono,M1)
da 15 e da 10 e de Modus Ponens
da 5 e da Universal Elimination
da 8, 18 e Modus Ponens
(19) Hostile(Nono)
da 17 e 20 e Modus Ponens
(21) Criminal(West)
Esta prova , obviamente, a soluo do problema de procura e, tambm obviamente, deve ser
um programa inteligente para seguir o caminho certo.
- A Universal Elimination pode ter um enorme factor de salto, porque podemos substituir a
varivel por qualquer termo ground
faz num nico passo o que fazem And-Introduction, Universal Eliminatiuon e Modus Ponens. A
ideia por ex. tirar da KB:
Missile(M1)
Owns(Nono,M1)
-----------------------------------------------------------
SUBST (,q)
FORMA CANNICA
Cada frase na KB pode ser ou uma frase atmica ou uma implicao com uma conjuno de
frases atmicas no lado esquerdo e um tomo do lado direito. Frases nesta forma so
conhecidas por Frases de Horn.
Convertemos frases em frases Horn quando entram na KB, usando a Existencial Elimination e
And Elimination. Por ex. x Owns(Nono,x) Missile(x) convertido em 2 frases de Horn
atmicas Owns(Nono,M1) e Missile(M1)
UNIFICAO
Unificar tomar 2 frases atmicas p e q e retornar uma substituio que faz p e q parecer o
mesmo. Formalmente:
e uma KB:
Knows(John,Jane)
Knows(y,Leonid)
Knows(y,Mother(y))
Knows(x,Elizabeth)
A ltima falah porque estamos a usar a mesma letra, mas podemos substituir por x1 por
exemplo e j d.
H mais uma complicao que tem a ver com o facto de existirem infinitas substituies que
do. Mas usamsop s a Most Geneal Unifier.
Owns(Nono,M1)
(24) Missile(M1)
American(West)
Nation(Nono)
(30) Enemy(Nono,America)
Nation(America)
Prova:
de 24, 26 e MPG
Weapon(M1)
de 30, 27 e MPG
Hostile(Nono)
Criminal(West)
CAP.10
Charles Pierce props grafos existenciais para representar a lgica de 1 ordem, dando origem
s redes semnticas. H maneiras de traduzir para a linguagem da lgica de 1 ordem
habitual.
O importante com qualquer linguagem de representao perceber a sua semntica e a teoria
da prova.
Os programadores podem construir uma grande rede e ainda assim manter uma boa ideia
acerca de que questes so eficientes, porque (a) fcil visualizar os passos que o
procedimento de inferncia dar, e (b) a linguagem das questes to simples que questes
difceis no podem ser colocadas.
subset
Define-se 1 uma verso onde no so permitidas excepes. Para alm dos links Subset e
Member, temos de ter R que mantm uma relao entre 2 objectos, A e B; outra que mantm
uma relao entre todos os elementos de uma classe A e o objecto B; e outra que mantm
uma relao entre todos os elementos de A e alguns elementos de B.
temos de mudar a semntica de um R em caixa de A para B para querer dizer que todos os
membros de A devem ter uma relao R para B, a menos que haja algum interveniente A para
o qual Rel(R,A,B). Note-se que Rel(R,A,B)agora quer dizer que B um valor por defeito, mas
esse valor pode ser overridden por outra informao.
instrutivo definir esta relao na semntica da lgica de 1 ordem. O primeiro passo reificar
relaes: uma relao R torna-se um objecto, no um predicado. O que quer dizer que j no
podemos escrever R(x,B). Usamos val(R,x,B) para significar que o equivalente de R(x,B)
explicitamente assertado na rede semntica, e Holds(R,x,B) para significar que R(x,B) pode
ser inferida. Definimos ento Hold dizendo que uma relao R se mantm entre x e b se existir
uma predicado Val explcito ou houver uma Rel numa classe pai de que x seja elemento, e no
houver Rel em qualquer classe interveniente i. (uma classe interveniente se x for um
elemento de i e i um subconjunto de p). Pode ser posto em linguagem simblica (pg.319).
O prximo passo reconhecer o que Rel e Val mantm mas tambm o que no mantm.
Suponhamos que tentamos encontrar o n que satisfaz Holds(Legs,Opus,n). sabemos que
Rel(Legs,Birds,2) e que Opus um Bird, mas da definio de Hold, temos que provar ainda
que no h Rel(Legs,i,b) para i=Penguins ou outra categoria interveniente. Se a KB s tiver
Rel positivos e atmicos estamos fritos. Por isso deve incluir frases que digam que Rel e Val
que so mostradas so as nicas verdadeiras.
HERANA MLTIPLA
Um objecto pode pertencer a mais do que uma categoria e assim herdar propriedades ao
longo de vrios caminhos.
possvel, contudo, para dois caminhos de herana produzirem respostas conflituosas. Por
ex. Opus pinguim e figura e BD, o que implica vocalizaes diferentes.
HERANA E MUDANA
Primeira, podemos mudar da lgica de 1 ordem para uma lgica no-monotnica que lide
explicitamente com valores por defeito. Segunda, podemos adicionar uma nova frase como
um RETRACT seguido de um TELL. Em vez de usarmos frases do tipo TELL(KB, Rel(R,A,B))
usamos:
TELL(KB, r,a,b Rel(r,a,b) ...) onde ... significa todas as Rels possveis. Assim, adicionar
rel(Legs,Cats,3), implica ter de remover a antiga frase equivalente e substitui-la por uma nova.
datatype SEM-NET-NODE
cada um destes campos de Rels est organizado como uma tabela indexada pela relao.
usamos a funo LOOKUP(key, table) para encontrar o valor associado com a chave na
tabela. assim, se tivermos 2 links Opus Friend Bill e Opus Friend Steve, ento o
LOOKUP(Friend, RELS-OUT(Opus) d {Steve, Bill}.
Lio 7 Planeamento
Ler captulos 11 e 12, com 70 pginas. Estima-se o tempo de leitura em 7h, pelo que se aconselha a
realizar trs a quatro periodos de leitura.
Tpicos a saber: traduzir de texto para STRIPS e vice-versa; plano de ordem parcial; passar de
STRIPS para lgica proposicional; planeamento condicional
Trabalho: Utilize o STRIPS para formular o problema das 8 damas.
CAP. 11 PLANEAMENTO
A aproximao clssica que muitos planeadores usam hoje descrever estados e operadores
numa linguagem restrita conhecida por STRIPS, que conduz a algoritmos de planeamento
eficientes.
At(x) Sells(x,Milk)
Porque muitas aces mudam apenas uma parte pequena da representao dos estados,
mais eficiente manter rasto das mudanas.
- a descrio da aco
- a pr-condio
- o efeito
At(here), Path(here,there)
Uma maneira de cortar no factor de salto procurar para trs (plano regressivo). Esta
abordagem prefervel porque nos problemas tpicos o estado goal tem apenas algumas
conjunes, cada qual com um conjunto de operadores apropriados pequeno, enquanto,
habitualmente, o estado inicial tem muitos operadores aplicveis. Um operador apropriado a
um goal se o goal um efeito do operador. Infelizmente isto difcil, pelo facto de que,
frequentemente, temos de atingir uma conjuno de goals e no apenas um.
os 4 operadores so:
Um plano parcial para este problema consiste em 2 passos RightShoe e LeftShoe. Mas qual
tomar 1? Muitos planeadores usam o princpio do menor compromisso que diz que que
devemos apenas fazer escolhas acerca de coisas que interessam na altura, deixando as
outras para depois.
Um planner que consegue representar planos nos quais alguns passos esto ordenados
(antes ou depois) com respeito uns aos outros e outros passos esto desordenados,
chamado um planner de ordem parcial. A alternativa um planner de total ordem (uma simples
lista de passos), e que chamado uma linearizao de P.
Um plano formalmente definido como uma estrutura de dados consistindo dos seguintes 4
componentes:
- Um conjunto de restries ordem dos passos (Si<Sj, quer dizer Si antes de Sj).
BINDINGS: {},
LINKS: {})
Como nos operadores individuais, usamos uma notao grfica para descrever os planos.
Por exemplo se adicionarmos um casaco ao problema, ser ainda um plano parcial que
representa as solues, mas haver 180 linearizaes desse plano parcial.
SOLUES
Uma soluo um plano que um agente pode executar, e que garante o atingimento do
objectivo.
regressivo e procura atravs do espao dos planos. Em cada iterao junta mais um passo.
Se isso conduzir a um plano inconsistente, volta a trs e tenta outro branch do espao de
procura. O planeador apenas considera a adio de passos que servem para atingir uma pr-
condio que ainda no foi atingida.
O estado inicial :
As aces so:
A primeira coisa que se v que h muitas maneiras de elaborar o plano. Algumas funcionam
outras no.
Comeamos por seleccionar 3 aces de Buy para atingir 3 das pr-condies da aco
Finish.
A seta a bold denota as linhas causais O planeador deve garantir que as condies
atingidas devem manter-se protegidas.
As setas no a bold mostram a ordem das restries. Por isso deve-se pensar tambm nas a
bold como se tivessem por baixo umas a no bold.
O segundo estgio mostra a situao depois do planeador ter escolhido atingir as pr-
condies Sells ligando-as ao estado inicial.
De seguida vamos estender o plano pela escolha de 2 aces Go para nos levar loja de
ferragens e ao supermercado, atingindo assim as pr-condies At das aces de Buy.
Neste ponto atingimos um beco sem sada na procura de uma soluo e devemos voltar atrs
e procurar outra escolha. O interessante ver que o planeador pode ver que este plano est
morto sem perder muito tempo com ele.
A chave que as ligaes causais no plano parcial so ligaes protegidas. Uma ligao
causal est protegida assegurando que ameaa isto , passos que possam apagar (ou
clobber) a condio protegida esto ordenados para virem antes ou depois da ligao
protegida.
Suponhamos que a prxima escolha tentar uma diferente maneira de atingir a pr-condio
At(x) do passo Go(SM), desta vez adicionado uma ligao causal de Go(HWS) para Go(SM).
Isto introduz uma nova ameaa (ir ao HWS e no comprar a Drill).
Finalmente adicionamos um passo Go(Home), mas introduz uma prcondio que tem de ser
atingida. Outra vez a proteco das ligaes causais ajudam o planeador a decidir como fazer:
vejamos o que conseguido com o planeador de ordem-parcial. Ele pega num problema que
requereria uitos milhares de esatdos de procura segundo uma aproximao de resoluo-de-
problema, e resolve-o em poucos esatdos de procura. Mais ainda, a natureza de menor
compromisso significa que ele s precisa de procurar em lugares em que os subplanos
interagem uns com os outros. Finalmente, as ligaes causais permitem ao planeador
reconhecer quando abandonar um plano sem sada sem perder muito tempo a expandir partes
irrelevantes.
Para aplicar os algoritmos anteriores, o mundo tem de ser acessvel, esttico e determinstico.
Mais, as descries das aces tm de ser correctas e completas, descrevendo todas as
consequncias exactamente. Nos domnios do mundo real, os agentes tm de lidar com a
incompleteza e incorreco da informao.
Op(ACTION:Remove(x),
PRECOND:On(x),
Op(ACTION:PutOn(x),
PRECOND:Off(x) ClearHub(x),
Op(Action:Inflate(x),
PRECOND:Intact(x) Flat(x),
EFFECT:Inflated(x) Flat(x))
Se a ausncia de Intact(Tire1) no estado inicial, realmente significa que o pneu no est intacto
(como os satndard assumem), ento tudo est bem. Mas supondo que temos uma
informaoincompleta do mundo, o pneu est furado. ento seria melhor que o agente
usassse um plano condicional: Se o Tire1 est intacto, ento enche. Se no, remove-o e
coloca o sobresselente. para expressar isto formalmente, podemos extender a nossa notao
original para os passos do plano com um passo condicional If(<Condition>, <ThenPart>,
<ElsePart>,). Assim, o plano seria:
O que o agente sabe num determinado ponto, deteminaod pela sequncia de percepesat
esse ponto, a sequncia de aces at a, e o conhecimento inicial do agente.
Para assegurar que um plano condicional executvel, o agente tem de saber inserir
aces que causem que as condies relevantes sejam conhecidas pelo agente.
Factos tornam-se conhecidos atravs doas percepes, logo o que queremos dizer que o
agente tem de agir duma forma de se assegurar que recebe as percepes adequadas. ex.
para saber se o pneu est intacto uma maneira colocar-lhe algum ar e ver se h
hiss/assobio.
Suponhamos que se usa CheckTire(x) para referir uma aco que estabelece o estado de x.
Esta um exemplo de uma aco de sensoriamento.
Op(ACTION:CheckTire(x),
PRECOND:Tire(x),
EFFECT:KnowsWheter(Intact(x)))
Note que tal como ter efeitos no conhecimento, uma aco de sensoriamento pode ter efeitos
ordinrios. por ex., se a aco CheckTire usar o mtodo da gua, o pneu fica molhado. Aces
de sensoriamento podem ter tambm prcondies que precisem de ser estabelecidas. Por
ex., podemos precisar de pegar numa bomba em ordem a meter algum ar.
Um planeador condiconal assim, deve algumas vezes criar planos que envolvem carrear
aces ordinrias para o propsito de obter alguma informao necessria.
Obviamente, no podemos ficar por aqui. precisaomos de um plano que actue nos 2 casos. o
planeador condicional assegura isso adicionando uma segunda cpia do estado final,
etiquetado com o contexto que a negao do contexto existente.
CAP. 14
INCERTEZA
Um problema com a lgica de 1 ordem, e assim com a aproximao do agente lgico, que
os agentes quase nunca tm acesso a toda a verdade acerca do seu ambiente.
O agente tem pois de actuar debaixo de incerteza. Por ex. o agente wumpus no consegue
saber qual dos 2 quadrados tem um pit; se esses quadrados fizerem parte do caminho para o
ouro, o agente tem de tomar uma deciso e entrar num desses quadrados.
A incerteza tambm pode emergir devido imcompletitude (muitas condies e por vezes
desconhecidas algumas) e incorreco da compreenso do agente das propriedades do
ambiente.
O plano A90 levar-nos- ao aeroporto a tempo, desde que o meu carro no avarie ou fique
sem gasolina, no tiver um acidente, o avio no sair mais cedo, no houver um terramoto,...
Apesar disso suponhamos que A90 de facto a coisa certa a fazer; no h certeza mas pode
levar a um grau de crena que ser atingido o objectivo.
A coisa certa a fazer, a deciso racional, depende pois da relativa importncia das vrias
metas e da semelhana e grau com que sero atingidas.
Tentar usar a lgica de 1 ordem para um domnio como o diagnstico mdico falha por:
- Ignorncia Terica
O mesmo vlido para outros domnios, como: justia, negcios, design, reparaes
automveis, jardinagem, etc. O conhecimento do agente, no mximo prov apenas um grau
de crena nas frases relevantes. a nossa principal ferramenta a teoria das probabilidades,
que associa um grau de crena numrico, entre 0 e 1, s frases.
importante notar que grau de crena no o mesmo que grau de verdade. Grau de verdade,
como oposto de grau de crena, o sujeito da lgica fuzzy.
Tal como o estado de seguimento pode mudar quando mais frases so adicionadas KB, as
probabilidades podem mudar quando mais evidncias so captadas.
Antes da evidncia ter sido obtida, falamos de probabilidade priori ou incondicional; depois
a probabilidade condicional ou posteriori.
Para fazer escolhas, um agente precisa primeiro ter preferncias entre diferentes possveis
sadas/consequncias dos vrios planos. Usaremos a teoria da utilidade para representar o
raciocnio com preferncias. a teoria da utilidade diz que todos os estados tm um grau de
utilidade para um agente e que o agente prefere estados em que a utilidade seja maior.
Precisamos duma linguagem formal para representar e raciocinar com conhecimento incerto.
Deve ser capaz de lidar com duas coisa principais: a natureza das frases nas quais os graus
de crena so associados e a dependncia do grau de crena do estado de conhecimento do
agente.
PROBABILIDADE PRIORI
P(A)
P(Cavity) = 0,1
Cada varivel randmica X tem um domnio de valores possveis (x1,..,xn) que pode tomar.
Se quisermos falar de todos os valores de uma varivel randmica usamos P(weather) que
denota um vector de valores. Podemos escrever
Esta frase define uma distribuio de probabilidade para a varivel randmica Weather.
Por ex. P(Weather,Cavity) denota uma tabela de probabilidades de 4x2. esta notao
simplifica muitas equaes.
PROBABILIDADE CONDICIONAL
P(AB)
P(B)
Pode ser escrita tambm:P(AB) = P(A|B) P(B)
Assim, uma das equaes pode ser: P(X=x1 Y=y2) = P(X=x1|Y=y2) P(Y=y2)
Para definir apropriadamente a semntica das frases da teoria das probabilidades, precisamos
de descrver como as probabilidades e os conectores lgicos interagem.
0 P(A) 1
P(True) = 1; P(False) = 0
Se o agente 1 expresa um conjunto de graus de crena que violem os axiomas da teoria das
probabilidades, ento h uma estratgia de apostas para o Agente 2 que garante que o Agente
1 perde dinheiro.
Vamos ver agora como os axiomas podem ser usados para fazer inferncias.
Tootache -Tootache
A juno pode ser usada para computar estatisticamente qualquer frase que queiramos saber
acerca do domnio, expressando a frase como uma disjuno de eventos atmicos e
adicionando as suas probabilidades:
Relembrando:
Igualando os dois lados direitos e dividindo por P(A), obtemos a Regra de Bayes
Seja S a proposio que o paciente tem o pescoo inchado e M a proposio que o paciente
tem meningite, temos:
P(S|M) = 0,5
P(M) = 1/50000
P(S) = 1/20
NORMALIZAO
Consideremos:
Em alguns casos, a semelhana relativa suficiente para tomar decises, mas quando, como
no nosso caso, as duas possibilidades conduzem a radicalmente diferentes utilidades para
aces de tratamento, precisamos dos valores exactos, em ordem a tomar decises racionais.
P(S|M) P(M)
P(M|S) = -------------------------------------------
No caso multivalorado:
Suponha
P(Cavity|Tootache) = 0,8
P(Cavity|Catch) = 0,95
que podamos ter obtido de aplicar a regra de Bayes. Que pode um dentista concluir se
catches no dente a doer do paciente? Se soubermos toda a juno, ser fcil ler P(Cavity|
Tootache Catch). Alternativamente, podemos usar a regra de Bayes para reformular o
problema:
P(Tootache Catch)
A aplicao da Regra de Bayes pode simplificar para uma forma que requeira poucas
probabilidades. O primeiro passo tomar uma viso diferente do processo de incorporao de
mltiplas peas de evidncia. O processo de Actualizao Bayesiano incorpora uma evidncia
de cada vez, modificando a crena anterior na varivel desconhecida. Comeando por
Tootache, temos (escrevendo a regra de Bayes de maneira a revelar o processo de
actualizao):
P(Tootache|Cavity)
P(Catch|Tootache Cavity)
P(Catch|Tootache)
P(Tootache) P(Catch|Tootache)
Assim, na actualizao de Bayes, cada nova pea de evidncia que observada, a crena na
varivel desconhecida multiplicada por um factor que depende da nova evidncia.
P(Tootache|Cavity) P(Catch|Cavity)
P(Tootache) P(Catch|Tootache)
H ainda o termo P(Catch|Tootache), que parece envolver todos os pares de sintomas, mas
defacto este termo vai for a. Veja que o produto dos denominadores P(Catch|Tootache)
P(Tootache), ou P(Tootache Catch). Podemos eliminar este termo por normalizao, desde
que tenhamos acesso a P(Tootache|-Cavity) e P(Catch|-Cavity).
O cap. anterior deu a sintaxe e semntica de teoria das probabilidades. Agora vamos ver o
mecanismo de inferncia para construir um sistema de raciocnio sobre a incerteza.
A principal vantagem do raciocnio probabilstico sobre o lgico que este permit ao agente
atingir decises racionais mesmo quando no h informao suficinete para provar que uma
dada aco resulta. Comearemos por ver como capturar conhecimento incerto de uma forma
natural e eficiente. Depois veremos como a inferncia probablistica, apesar de exponencial no
pior caso, pode ser feita eficientemente em muitas situaes prticas.
- Cada n tem a tabela de probabilidade condicional que quantifica os efeitos dos pais no n.
Os pais de um n so todos os que tm setas apontando para ele.
habitual fcil para um expert do domnio decidir que relaes de dependncia condicional o
domnio tem mais fcil que especificar as prprias probabilidades. Uma vez a topologia da
rede especificada, precisamos apenas de especificar as probabilidades condicionais para os
ns que participam em dependncias directas, e usar essas para computar quaisquer outros
valores de probabilidades.
Ex. alarm... Dada a evidncia de quem telefonou ou quem no telefonou, podemos estimar a
probabilidade do roubo.
A topologia da rede pode ser pensada como uma KB abstracta, porque representa a estrutura
gearl dos processos causais no domnio, em vez de quaisquer detalhes das individualidades
da populao. fig. 15.1 uma rede tpica
P(Alarme|
Roubo,Terramoto)
figura 15.2
Uma rede fornece uma descrio completa do domnio. Cada entrada na JDP pode ser
calculada da informao da rede.
Assim, cada entrada na juno representada pelo produto dos elementos apropriados da
tabela de probabilidade condicional (CPTs) na rede de crena. Os CPTs assim fornecem uma
representao decomposta da juno. Para ilustrar isto vamos calcular a probabilidade do
evento em que o alarme toca mas nem ocorreu um roubo nem um terramoto e ambos john e
Mary telefonaram:
A seco 14.3 explicava que a distribuio da juno podia ser usada para responder a
qualquer consulta acerca do domnio. Se um rede de crena uma representao da juno,
ento tambm pode. Trivialmente, isso pode ser feito computando primeiro todas as entradas
da juno. Mas h mtodos melhores.
a eq. 15.1. implica certas independncias condicionais que podem ser usadas para guiar a
engenharia de conhecimento na construo da topologia da rede. Primeiro, reescrevemos a
juno em termos de probabilidade condicional usando a definio de probabilidade
condicional:
P(x1,...,xn) = P(xn|xn-1,...,x1)P(xn-1|xn-2,...,x1)...P(x2|x1) =
P(xi|xi-1,...,x1)=P(xi|Parents(x1))
O que a equao precedente diz que a rede de crena uma representao correcta do
domnio apenas se cada n for condicionalmente independente dos seus predecessores na
ordenao dos ns, dados os seus pais. S temos pois que escolher os pais de cada n de
modo a que esta propriedade seja respeitada. Intuitivamente, os pais do n Xi devem conter
todos os ns em X1,...,Xi-1 que influenciam directamente o Xi. Por ex. os pais de MaryCalls s
devem ser o alarme, logo:
...
Escrever a tabela pode ser complicado e fastidioso. Para melhorar a eficincia dessa tarefa,
usualmente as relaes caem numa de vrias categorias que tm distribuies cannicas
padro, pelo que podemos especificar o nome do padro e dar uns poucos parmetros.
O ex. mais simples so os ns determinsticos, que tem o seu valor especificado pelos valores
dos seus pais, sem incerteza (ex. a relao entre Mexicano, Norte Americano, Canadiano e o
filho Norte-Americano, que o filho a disjuno dos pais; ou o preo mnimo).
Relaes incertas podem ser habitualmente caracterizadas pela chamada relao noisy. O
ex. standard o chamado noisy-Or, que uma generalizao do Or lgico. Na lgica
proposicional podemos dizer que Fever true sse Cold, Flu or Malaria. O noisy-Or adiciona
alguma incerteza a esta aproximao lgica estrita. O modelo faz 3 assunes: 1 assume
que cada causa tem uma probabilidade independente de causar o efeito. 2 assume que
todas as possveis causas esto listadas. 3 assume que o que impedir, por ex. Cold de
causar Fever idependente do que inibe Flu de causar Fever. Estes inibidores no so
representados como ns mas como parmetros noise. SE P(Fever|Cold) = 0.4, P(Fever|Flu) =
0,8 e P(Fever|Malaria) = 0,9, ento os parmetros noise so 0,6 0,2 e 0,1, respectivamente.
Se nenhum n pai for verdade, ento a sada 100% false com certeza Para o nosso ex.
temos:
F F F 0.0 1.0
F F T 0.9 0.1
F T F 0.8 0.2
F T T 0.98 0.02=0.2*0.1
T F F 0.4 0.6
T F T 0.94 0.06=0.6*0.1
T T F 0.88 0.12=0.6*0.2
T T T 0.988 0.012=0.6*0.2*0
.1
Em geral, um agente apanha valores para as variveis de evidncia a partir das sua
percepes (ou de outro raciocnio), e pergunta acerca de possveis valores de outras
variveis de modo a poder decidir que aco tomar.
- Decidir que evidncias adicionais devem ser observadas em ordem a ganhar informao til
- executar anlise sensitiva apar compreender que aspectos do modelo tem maior impacto nas
probabilidades da consulta
- Computar a contribuio de Ex+, computando o seu efeito nos pais de X, e depois passar
esse efeito para X. Repare que computar o efeito em cada pai de X uma instncia recursiva
do probelam de computar o efeito em X.
- Computar a contribuio de Ex-, computando o seu efeito nos filhos de X, e depois passar
esse efeito para X. Repare que computar o efeito em cada filho de X uma instncia recursiva
do probelam de computar o efeito em X.
As preferncias de um agente entre estados so capatadas por uma funo de utilidade, que
associa um nmero para expressar a desejabilidade do estado. Utilidades so combinadas
com probabilidades de sada para aces, para dar a utilidade expectvel para cada aco.
U(S) denota a utilidade do estado S. Estados so snapshot completos do mundo, similares s
situaes do cap.8. Os estados pode ser decompostos sob certas circunstncias para
propsitos de associao de utilidade.
o princpio da utilidade mxima expectvel (MEU) diz que um agente racional deve escolher
uma aco que maximiza a utilidade expectvel pelo agente.
Mas isto no a soluo da AI toda pois as computaes envolveidas podem ser proibitivas, e
por vezes at difcil formular o problema completamente. Tambm h dificuldade em saber a
utilidade de cada estado. Assim, a teoria da deciso no a panaceia mas fornece uma
framework.
Cada sada pode ser um estado atmico ou outra lotaria. Uma lotaria com apenas uma sada
pode ser escrita A ou [1,A]. funo do tomador de decises escolher entre lotarias. A
seguinte notao usada:
A > B a preferido a B
A ~ B o agente indiferente a A e B
(A > B) V (B > A) V (A ~ B)
- Transitividade
(A > B) (B > C) => (A > C)
- Continuidade
- Substitubilidade
- Monoticidade
- Decomponibilidade
1. Princpio da Utilidade
U(A)=U(B) A ~ B
A utilidade de uma lotaria a soma das probabilidades de cada sada vezes a utilidade dessa
sada. U([p1,S1;...;pn,Sn]) = somatrio em i de pi U(Si)
Embora a aco mais racional no seja sempre maximizar a funo de utilidade, observando
as preferncias do agente, contudo, possvel construir a funo de utilidade que representa
o que as aces do agente esto a tentar atingir.
Utilidade uma funo que mapeia estados a nmeros reais. Para alm das restries
listadas antes, um agente pode ter as preferncias que quiser. As preferncias tambm podem
interagir. Felizmente, as preferncias de agentes reais so habitualmente mais sistemticas.
A Utilidade Do Dinheiro
a economia fornece um candidadto bvio para a medida de utilidade: dinheiro.
Se restringirmos a nossa ateno a aces que afectam apenas a quantidade de dinheiro que
o agente tem, dizemos que o agente exibe uma preferncia monotnica por dinheiro. Isto no
suficiente para garantir que o dinheiro se torna numa funo de utilidade. tecnicamente
falando o dinheiro torna-se uma funo valor ou medida de utilidade ordinal, considerando que
apenas prefere mais a menos em quantias finais-certas. Para percebermos as decises
monetrias tomadas sob incerteza, temos tambm de analisar as preferncias do agente entre
lotarias envolvendo dinheiro. ex. ganhei 1000 -> 3000 ou nada. O valor monetrio esperado
(EMV) do jogo * 0 + * 3000 = 1500, o que mais que 1000. Mas isso no significa que
aceitar jogar seja a melhor deciso. Suponhamos que temos k:
EU(Decline) = U(Sk+1000)
Bernoulli resolveu o paradoxo dizendo que a utilidade do dinheiro medida numa escala
logartmica (pelo menso para quantidades positivas).
U(Sk+n) = log2 n
Com esta funo de utilidade, a utilidade esperada do jogo 2, o que quer dizer que o agente
racional com essa escala de utilidade s pagaria at 4 para jogar o jogo, pois U(Sk+4) = log2
4= 2.
Em 1960 Beard disse: U(Sk+n) = -263.31 + 22.09 log(n+150,000) para uma gama entre n=-
150000 e 800000.
Se restringirmos a nosaa ateno s partes positivas das curvas, onde a inclinao diminui,
ento para qualquer lotaria L, a utilidade de ser presenteado com essa lotaria menor que a
utilidade de ser manejado o valor esperado monetrio da lotaria, como uma coisa segura:
U(SL)<U(SEMV(L))
Isto , o agente com curvas deste tipo averso ao risco: prefere uma coisa segura com um
pagamento menor que um valor esperado de um jogo. Por outro lado, na regio desesperada
negativa, o comportamento de procura do risco.
O equivalente certo de 0 ou 1000 400. A diferena entre o valor monetrio esperado por uma
lotaria e o seu equivalente certo chamdo de prmio de seguro. A averso ao risco a base
da indstria dos seguros.
Um agente que tem uma curva linear diz-se de risco neutro, o que acontece para jogos com
pequenas quantias.
Os axiomas da utilidade no especificam uma nica funo para um agente, dado o seu
comprtamento preferencial. simples de ver que um agente usando a funo U(S) = k1 + k2
U(S), em que k1 uma constante e k2 uma qualquer constante positiva, se comportar de
forma idntica a um agente com U(S), se tiver as mesmas crenas. A escala de utilidade
algo arbitrria. Um procedimento comum para valorizar as utilidades estabelecer uma escala
com um melhor possvel prmio em U(S)=ut e uma pior catstrofe possvel com U(S)=ul.
Utilidades normalizadas usam uma escala com ul=0 e ut=1. Utilidades de estados intermdias
so valorizadas perguntando ao agente para indicar a preferncia entre a sada dada em S e
uma lotaria standard [p,ut; (1-p)ul). A probabilidade p ajustada at que o agente seja
indiferente entre S e a lotaria standard. Assumindo utilidades normalizadas, a utilidade de S
dada por p.
Problemas como este (ex. decidir se uma substncia cancergena pode circular no ambiente,
construir um aeroporto), em que as sadas so caracetrizadas por 2 ou mais atributos, so
lidadas pela teoria da utilidade com multiatributos, ou MAUT.
Dominncia
Suponha que o local para o aeroporto S1 custa menos, gera menos barulho e mais seguro
que o local S2. Ningum hesitar em rejeitar S2. Dizemos que h uma dominncia estrita de
S1 sobre S2. Em geral, se uma opo de menor valor em todos os atributos que uma outra
opo, no precisa de ser mais considerada da para a frente.
Felizmente, h uma mais til generalizao chamada de dominncia estocstica, que ocorre
frequentemente em problemas reais. mais fcil de compreender no contexto de um atributo
simples. Suponha que se acredita que o custo de construir o aeroporto em S1 seja
normalmente distribudo volta de 3,8 bilies de dlares, com desvio padro de 0,4 bilies; e
o custo de ser em S2 normalmente distribudo com mdia de 4 bilies, com desvio padro
de 0,35. A figura 16.3(a) mostra estas distribuies, como o custo plotado como um valor
negativo. Ento, dada essa nica informao, que a utilidade decresce com o custo, podemos
dizer que S1 domina estoxcasticamente S2 isto , S2 pode ser descartada. importante
notar que isso no se segue de comparar os custos esperados. Por ex., se soubssemos que
o custo de S1 seria exactamente 3,7 bilies, ento seramos incapazes de tomar uma deciso
sem informao adicional da utilidade do dinheiro.
...
Na anlise precedente, assumimos que toda a informao relevante, ou pelo menos toda a
informao disponvel, dada ao agente antes de ele tomar a deciso. Na prtica, isso
raramente acontece. Uma das partes mais importantes da tomada de deciso saber que
questes colocar.
Ex. um mdico no pode fazer todos os testes e questes. A sua importncia depende de 2
factores: Se as diferentes possveis respostas/sadas faro uma diferena significativa para o
curso ptimo da aco, e a semelhana das vrias sadas.
Esta seco descreve a teoria do valor da informao, que permite ao agente escolher que
informao adquirir. Ela adquirida por aces de sensoriamento; temos de avaliara as
aces de sensoriamento pelo seu efeito nas aces subsequentes do agente.
Um Exemplo Simples
- Com probabilidade 1/n, a sondagem mostra que o bloco 3 contm petrleo. Neste caso a
companhia comprar o bloco 3 por C/n dlares, e far um lucro de C-C/n=(n-1)C/n dlares.
assim, a companhia dever estar disposta a pagar ao sismlogo at C/n pela informao: a
informao vale tanto como o prprio bloco.
simples derivar uma forma geral matemtica para o valor da informao. Habitualmente,
assumimos que a evidncia exacta obtida acerca de alguma varivel randmica Ej, e ento
a frase valor da informao perfeita (VPI) usado. Seja o conhecimento do agente, E. Ento o
valor da melhor aco corrente ser:
Em ordem a termos alguma intuio para esta frmula, considere o caso simples onde h s 2
aces A1 eA2 por onde escolher. As suas utilidade esperadas correntes so U1 e U2. A
informao Ej conduzir a uma nova expectativa de U1 e U2 para as aces, mas antes de
obter Ej, temos alguma distribuio de probabilidade sobre os possveis valores de U1 e U2
(que asumimos independentes). Por exemplo A1 e A2 so 2 diferentes estradas no Inverno. Ej
a informao do satlite. No vale a pena pagar pela informao do satlite. Mas se for por 2
estradas parecidas e carregarnmos uma pessoa ferida, j vale apena pagar pela informao
do satlite.
Em suma, podemos dizer que a informao tem mais valor quando pode causar uma mudana
de plano e que este seja bem melhor.
Veremos como tratar estados como sendo mais que pequenas caixas negras conduz
inveno de uma gama de novos e poderosos mtodos de procura e a uma compreenso
mais profunda da estrutura do problema e da sua complexidade.
(A restrio tambm pode ser representada mais sucintamente como a inigualdade WA!=NT,
desde que o algoritmo tenha maneira de avaliar expresses desse tipo).
A estrutura do grafo pode ser usada para simplificar o processo de soluo, em alguns casos
dando uma reduo exponencial de complexidade.
Um CSP pode ser dado uma formulao incremental como um problema de procura standard:
- Estado inicial: A associao vazia {}, na qual todas as variveis no esto associadas.
- Uma funo sucessor: Um valor pode ser associado a qualquer varivel, desde que no
conflitue com as variveis previamente associadas.
Por outro lado, podemos usar tambm uma formulao estado-completo, na qual todos os
estados so uma associao completa que pode ou no satisfazer as restries. Os mtodos
de procura local trabalham bem com esta formulao.
O caso mais simples de CSP envolve variveis que so discretas e tm domnios finitos. O
problema da 8 rainhas (cap.3) pode tambm ser visto como um CSP de domnio finito, onde as
variveis Q1,...,Q8 so as posies de cada rainha nas colunas 1, ..., 8 e cada varivel tem o
domnio {1,2,3,4,5,6,7,8}.
As variveis discretas tambm podem ter domnios infinitos. Uma linguagem de restries tem
de ser usada. Por ex. StartJob1 + 5 StartJob3. Tambm no possvel resolver estes
problemas de CSP enumerando todas as possveis associaes.
O tipo mais simples a restrio unria. Uma restrio binria relaciona 2 variveis. Por ex.
SA!=NSW uma restrio binria. Um CSP binrio um que tem apenas restries binrias;
pode ser representada num grafo de restries.
O + O = R + 10 * X1
X1 + W + W = U + 10 * X2
X2 + T + T = O + 10 * X3
X3 = F
Onde X1, X2 e X3 so variveis auxiliares representado o dgito (0 ou 1) de transporte para a
prxima coluna. Restries de ordem elevada podem ser representadas num hipergrafo de
restries.
Qualquer algoritmo de procura que vimos nos cap. 3 e 4 podem resolver os CSPs. Mas
suponhamos que aplicvamos o breadth-first. algo de terrvel acontece: Geramos uma rvore
com n! * dn folhas, mesmo pensando que h apenas dn associaes possveis.
A nossa formulao possvel mas naive ignora uma propriedade crucial comum a todos os
CSPs: a comutatividade se a ordem de aplicao de uma qualquer conjunto da aces no
tem influncia na sada. Alm disso, todos os algoritmos de procura CSP geram sucessores
considerando as possveis associaes apenas para uma nica varivel em cada n na rvore
de procura. Por ex. na pintura do mapa de Austrlia nunca vamos escolher azul ou vermelho
para o SA. Assim, com estas restries, o n de folhas dn co o espervamos.
O termo procura backtracking usado para uma procura depth-first que escolhe valores para
uma varivel num dado instante e rasteia quando uma varivel no valores legais para
associar.
Parte da rvore de procura gerada por backtracking simples para a colorao do mapa.
O backtracking puro cego, por isso no devemos esperar que seja muito eficiente em
problemas grandes.
No captulo das procuras cegas, usmos o conhecimento especfico do domnio para reduzir a
dimenso da procura, aqui vamos usar mtodos gerais para responder s questes:
1. Que varivel deve ser associada a seguir, e em que ordem devem os valores ser tentados?
3. Quando um caminho falha (varivel no tem valores legais possveis) pode a procura evitar
repetir esta falha nos caminhos subsequentes?
Por defeito associa simplesmente a prxima dada na lista VARIABLES[csp]. A ideia intutiva
escolher a varivel com o menor n de valores legais chamada a MRV (Minimum
Remaining Values) heurstica. Tambm pode ser chamada de varivel mais restrita ou falha-
primeiro. Assim, a rvore aprumada. Se h uma varivel X com 0 valores legais, o MRV
escolhe X e a falha detectada imediatamente, evitando procuras inteis. O MRV+BT melhora
o BT em 3 a 3000 vezes.
Mas o MRV no ajuda em escolher a primeira. Neste caso a heurstica grau til. ela tenta
reduzir o factor de ramificao nas escolhas futuras, seleccionando a varivel que est
envolvida no maior n de restries nas outras variveis inassociadas. No nosso caso SA.
til como tie-braker da MRV.
Uma vez que uma varivel foi escolhida, o algoritmo tem de decidir em que ordem vai
examinar os valores. Para isto a heurstica valor-menos-restrito pode ser eficiente. Ela prefere
o valor que que regula as menos escolhas para as variveis vizinhas no grfico de restries.
Por ex. suponhamos que j tinhamos WA=red e NT=green e a seguinte era Q. O blue m
escolha porque elimina o ltimo valor legal para o vizinho de Q, SA. Ela tenta pois deixar a
maior flexibilidade para as associaes seguintes.
FORWARD CHECKING
Quando uma varivel X associada, o FC olha para cada uma das no associadas ainda Y
que est ligada a X por uma restrio e apaga do domnio de Y qualquer valor que seja
inconsistente com o valor escolhido para X.
Vejamos a evoluo:
WA NT Q NSW V SA T
Depois R B G R B RGB
de
V=blue
9 Mtodos de Aprendizagem
Ler captulos 18, 19, 20 e 21, com um total de 116 pginas. Estima-se o tempo de leitura desta lio
em 12h. Aconselha-se a realizar esta lio em dois dias, com periodos de leitura no superiores a 2h
cada. Para um aluno com o tempo muito limitado, esta lio pode ser dispensada, arriscando-se no
entanto a no ter bases para fazer entre 2 a 4 valores no exame.
Tpicos a saber: rvore de deciso; mtodo dos k-vizinhos; redes neuronais
Trabalho: Faa numa folha de calculo um perceptro com algoritmo de aprendizagem.
...
um mtodo indutivo dos mais simples e, ainda assim, das forma com mais sucesso de
algoritmos de aprendizagem.
Uma rvore de deciso toma como entrada um objecto ou situao descrita por um conjunto
de propriedades e d como sada uma deciso sim/no. Representam assim funes
booleanas.
Ex. esperar por uma mesa no restaurante. O objectivo aprender uma definio para o
predicado goal WillWait, onde a definio expressa como uma rvore de deciso.
Primeiro temos de decidir que propriedades ou atributos esto disponveis para descrever
expls. no domnio. Suponhamos que decidimos pela lista:
Logicamente, a rvore pode ser expressa como uma conjuno de implicaes individuais
correspondentes aos caminhos atravs da rvore terminando nos nsYes. por ex. o caminho
para um restaurante cheio de pessoas, com estimativa de espera de 10-30 minutos quando o
agente no est com fome, expressa pela frase lgica:
Um exemplo descrito pelos valores dos atributos e o valor do predicado goal, a que
chamamos a classificao do ex. Se for true um exemplo positivo, caso contrrio negativo.
Um conjunto de ex. para o problema do restaurante dado na tabela seguinte. O conjunto
chamado de conjunto de treino.
Exempl Goal
o
WillW
ait
O problema de encontrar a rvore de deciso que concorde com o conjunto de treino pode
parecer difcil mas de facto h uma soluo trivial. Podemos simplesment construir a rvore
que tem um caminho para uma folha para cada exemplo. Quando for dado o mesmo exemplo
outra vez a rvore classificar correctamente. Infelizmente no teremos assim informao
qualquer sobre os outros casos. O problema com esta rvore trivial que apensa memoriza as
observaes. No extrai qualquer padro, de modo a que possamos extrapolar para ex. nunca
vistos.
Extrair padro significa ser capaz de descrever um grande n de casos duma forma concisa,
pelo que devemos tentar encontrar uma rvore concisa. este um ex. do princpio geral de
aprndizagem indutiva, frequentemente chamado de Ockhams Razor: A hiptese mais
provvel a mais simples que consistente com todas as observaes.
Infelizmente encontrar a rvore de deciso mais simples um problema intratvel, mas com
heurstica simples podemos fazer um bom trabalho em enontrar uma pequena.
Depois dop primeiro teste ter partido os exemplos, cada sada uma nova rvore de deciso
com menos exemplos e menos atributos. H 4 casos para considerar nestes problemas
recursivos:
1. Se h ex. positivos e negativos, ento escolher o atributo mais imposrtante para os partir. A
figura mostar que Hungry, no nosso ex.
2. Se os exemplos restantes forem todos positivos (ou negativos), ento est acabado:
podemos responder Yes ou No. A fig. mostra casos destes nos casos None e Some.
3. Se no restaram exemplos, significa que esse ex. no foi observado ainda, e retornamos a
um valor por defeito calculado pela classificao maioritria no n pai.
4. Se no restam atributos, mas sim ex. negativos e positivos, temos um problema. Significa
que h exemplos com a mesma descrio mas com classificaes diferentes. Isto , h dados
incorrectos dizemos que h rudo nos dados. Tambm acontece quando os atributos no do
informao suficiente para descrever completamente a situao ou quando o domnio
fortemente no determinstico. Uma maneira simples de resolver o problema ir a votos.
Aplicando obtemos uma rvore diferente da dada anteriormente (trivial). bvio que se
dermos mais exemplos podemos chegar a uma rvore diferente.
Se o algoritmo induz uma rvore consistente com os exemplos, mas incorrecta, quo
incorrecta estar? A prxima seco dir-nos- como calcular experimentalmente.
+ X1,X3,X4,X6,X8,X12
- X2,X5,X7,X9,X10,X11
Patrons?
+ + X1,X3,X6,X8 + X4,X12
- X7,X11 - X2,X5,X9,X10
---------------------------------------------------------------------------------------------------------------------------
+ X1,X3,X4,X6,X8,X12
- X2,X5,X7,X9,X10,X11
Type?
+ X1 + X6 + X4,X8 + X3,X12
---------------------------------------------------------------------------------------------------------------------------
+ X1,X3,X4,X6,X8,X12
- X2,X5,X7,X9,X10,X11
Patrons?
- X7,X11 - X2,X5,X9,X10
Yes No Hungry
Y N
+ X4,X12 +
- X2,X10 - X5,X9
---------------------------------------------------------------------------------------------------------------------------
Patrons
No Yes Hungry
No Yes
Type No
No Yes
No Yes
PERFOMANCE DO ALGORITMO DE APRENDIZAGEM
Os agentes podem lidar com a incerteza do mundo real usando mtodos probabilsticos e
teoria da deciso. Mas primeiro tm de aprender as suas teorias probabilsticas a partir da
experincia. Vamos ver como formular a tarefa da aprendizagem como um processo de
inferncia probabilstica.
h1 100% cereja
h5 100% limo
medida que os pacotes so abertos so revelados os dados D1, D2, ..., Dn, com cada Di
sendo limo ou cereja. A tarefa do agente prever qual o sabor do prximo.
Agora suponha-se que queremos fazer uma previso acerca de uma quantidade
desconhecida X:
P(X|d) = (20.2)
onde assumimos que cada hiptese determina uma distribuio de probabilidade sobre X.
Esta equao mostra que as previses so mdias ponderadas sobre as previses das
hipteses individuais. As hipteses so intermedirias. As quantidades chave na aproximao
de Bayes so as hipteses priori, P(hi), e a semelhana dos dados sobre cada hiptese, P(d|
hi).
No nosso ex. assumimos que h1,...,h5 (0.1, 0.2, 0.4, 0.2, 0.1), dados pelo fabricante. A
semelhana dos dados calculada debaixo da assuno de que as observaes so i.i.d., e
ento:
P(d|hi) = (20.3.)
Por ex. suponhamos que temos um saco s limo e os primeiros 10 rebuados so todos
limo; ento P(d|h3) = 0,510.
Mais importante, a previso de Bayes ptima, para pequenas ou grandes amostras. Isto tem
um preo para aprendizagem real, o espao de hipteses muito grande ou infinito, pelo
que, em muitos casos, temos de proceder a simplificaes ou aproximaes.
Uma aproximao comum fazer previses baseadas numa nica hiptese mais provvel
isto , um hi que maximiza P(hi|d). chamado um mximo posteriori (MAP). Essas
previses hMAP so aproximadamente Bayesianas numa extenso onde P(X|d) P(X|hMAP). No
nosso ex., hMAP = h5 depois de desembrulhar 3 rebuados de limo e assim o MAP prev que
o 4 ser de limo com probabilidade 1.0 mais perigoso que a Bayesiana que dizia 0.8.
quanto maisor for a amostra mais se aproximam. Embora o nosso ex. no demonstre,
encontrar hipteses MAP frequentemente mais simples que a aprendizagem bayesiana.
Em geral, ambas penalizam as hiptese complexas (so mais, usualmente). Por outro lado as
hiptese mais complexas tm grande capacidade de se adaptar aos dados. Assim, a hiptese
priori traduz uma negociao entre a complexidade e o seu grau de se adaptar aos dados.
Uma simplificao final assumir uma priori uniforme sobre o espao de hipteses. Nesse
caso, a aprendizagem MAP reduz-se a escolher a hi que maximiza P(d|Hi). chamado a
mxima semelhana (ML), hML. razovel quando no h qualquer razo para preferir uma
hiptese sobre outra, priori ex. quando so todas igualmente complexas. Aproxima-se do
MAP e da Bayes quando a amostra grande.
Comeamos com a tarefa mais simples: aprendizagem de parmetros com dados completos.
Envolve encontrar os parmetros numricos para um modelo probabilstico cuja estrutura
fixa.
P(d|h) =
A hiptese de mxima semelhana dada pelo valor de que maximiza esta expresso. O
mesmo valor obtido maximizando o log da semelhana.
= c / c+l = c/N
Ou seja, hML diz que a proporo de cerejas no saco igual proporo observada at agora.
Embora parea termos descoberto o bvio, tirmos um mtodo standard para a aprendizagem
dos parmetros ML.
1. Escrever uma expresso para a semelhana dos dados como funo dos parmetros
2. Derivar o log da semelhana com respeito a cada parmetro
O passo mais difcil o ltimo. O ex. tambm ilustra um dos problemas do ML: quando o
conjunto de dados pequeno e alguns eventos no foram observados ex: nenhum rebuado
de cereja o ML associa a probabilidade zero a esse eventos. vrios truques so usados para
evitar este problema, tal como, por ex. iniciar a contagem por 1.
Vamos supor agora que o fabricante embrulhava em cores diferentes cada sabor. O papel para
cada rebuado escolhido probabilisticamente, de acordo com alguma (desconhecida)
distribuio condicional, de acordo com o sabor. O modelo mostrado na fig 20.2.b):
= P(Flavor = cereja|h,1,2)P(Wrapper=verde|flavor=cherry,h,1,2) = * (1 - 1)
Estes resultados so muito reconfortantes, e fcil ver que os podemos extender a qualquer
rede Bayesiana cujas probabilidades condicionais so representadas em tabelas.
Uma previso determinista pode ser obtida, escolhendo a classe mais semelhante. No
aprende to bem como a rvore de deciso. Mas, escala bem para problemas muito grandes:
com n atributos Booleanos, h apenas 2n+1 parmetros, e no precisa procura para
encontrar hML. tambm no tem dificuldade com dados rudo.
...
uma soluo definir a vizinhana para ser suficientemente larga para incluir k pontos -> o
tamanho da vizinhana varia.
Aqui no podemos ter variveis escondidas, mas ainda podemos usar a estimativa da
densidade para prever um valor alvo y dados valores de uma caracterstica de input x,
calculando
P(y|x) = P(y,x) / P(x), desde que os dados incluam valores para a caracterstica alvo.
Tambm possvel usar a ideia de vizinhos mais prximos para supervisionar directamente a
aprendizagem. Dado um ex de teste com input x, o output y=h8x) obtido dos y valores dos k
vizinhos mais prximos de x. No caso discreto podemos obter um previso por maioria de
votos. No caso contnuo, podemos fazer uma mdia dos k valores.
MODELOS DE KERNEL
....
Um neurnio uma clula do crebro cuja principal funo captar, processar e disseminar
sinais elctricos. A IA tenta criar redes neuronais artificiais (tambm chamadas de
conexionismo ou processamento paralelo distribudo ou computao neural).
As redes neuronais so compostas por ns ou unidades ligadas por links directos. um link da
unidade j para a i serve para propagar a activao aj de j para i. Cada link tem um peso Wj
associado, que determina o a intensidade e sinal da conexo. Cada unidade i primeiro
computa a soma pesada das entradas:
ini =
depois aplica uma funo de activao g a esta soma, para derivar a sada:
ai = g(ini) = g () (20.10.)
Repare que incluimos um peso bias W0,i conectado a uma entrada fixa a0=-1
A funo g tem 2 funes: Pimeiro, queremos que a unidade fique activa (perto do +1) quando
as entradas certas esto presentes e inactiva (perto de 0) quando as entradas erradas esto
presentes. segundo, a activao tem de ser no linear, caso contrrio toda a rede cai numa
funo linear.
H 2 escolhas par g: a funo limiar e a funo sigmod (funo logstica). Esta ltima tem a
vantagem de ser diferencivel. Ambas tm um limiar no zero. O peso bias W0,i coloca o limiar
actual para a unidade.
Podemos sentir a operao de um unidade individual, comparando-a com portas lgicas. A
figura 20.17 mostra que o And, Or e Not podem ser representadas por estas unidades de
limiar com pesos adequados. Isto importante pois significa que podemos usar estas
unidades para construir uma rede para computar qualquer funo Booleana das entradas.
And W0=1.5 W1 e W2 = 1
Or W0=0.5 W1 e W2 = 1
ESTRUTURAS DE REDE
A primeira representa uma funo da sua entrada corrente; assim, no tem estados internos
para alm dos pesos. A segunda alimenta as entradas com as sadas. Isto significa que
podemos ter nveis de activao para um sistema dinmico que pode atingir um estado estvel
ou entrar em oscilaes ou at catico. Mais, a resposta a entradas depende do estado inicial,
que depende de entradas anteriores (tm memria).
1 W1,3 3
W1,4 W3,5
W2,3
2 W2,4 4 W4,5
Tem 2 unidades de entrada, duas unidades escondidas e uma unidade de sada (para manter
simples omitimos as unidades de bias).
a5 = g(W3,5 a3 + W4,5 a4) = g(W3,5 g(W1,3 a1 + W2,3 a2) + W4,5 g(W1,4 a1 + W2,4 a2))
Vemos que os pesos actuam como parmetros da funo; escrevendo W para os parmetros,
a rede computa a funo hW(x). Ajustando os pesos, mudamos a funo. assim que a
aprendizagem ocorre nas redes neuronais.
Uma rede neuronal pode ser usada para classificao ou regresso. Para a classificao
Booleana com sadas contnuas (isto unidades sigmod) tradicional ter uma nica sada
com um valor acima de 0.5 interpretado como 1 e abaixo como 0. Para classificao k-modos
podemos dividir a sada e k pores mas mais usual ter k sadas.
Todas as entradas esto conectadas directamente com as sadas. Como cada unidade de
sada independente das outras cada peso afecta apenas uma das sadas podemos
limitar o nosso estudo a perceptres com apenas uma sada.
Qual o espao de hipteses que o perceptro pode representar? Com uma funo de
activao de limiar podemos v-lo como representando uma funo Boolena. Para alm das
funes bsicas pode representar outras mais complexas de forma compacta. Ex. a funo
maioria que d 1 apenas se mais de metade das entradas for 1, pode ser representada por um
perceptro com cada Wj=1 e limiar=n/2. uma rvore de deciso precisaria de O(2n) ns para
representar esta funo.
A ideia ajustar os pesos da rede para minimizar alguma medida de erro no conjunto de
dados. assim, a aprendizagem formulada como uma optimizao da procura no espao de
pesos.
A medida clssica do erro a soma dos erros quadrados. O erro quadrado para um ex. com
entrada x e sada true y escrito como:
E = Err2 = (y-hW(x))2
Podemos usar o gradiente descent para reduzir o erro quadrado, calculando a derivada parcial
de E com respeito a cada peso, o que vai dar:
Wj Wj + * Err * g(in) * xj
algoritmos genticos.
Ao contrrio das outras abordagens, que transformam uma soluo candidata, estes
algoritmos trabalham com uma populao de solues candidatas.
Tem de haver:
Seno
3.6. Voltar a 3.
representao:
qualidade:
o fentipo. Por ex. pode ser dada pelo somatrio de ataques. ex: mrito(Ck)=2.
mrito(Ck)=[() N ] /2
a funo ataca ser 1 caso as rainhas estejam na mesma linha i=n, na mesma coluna j=m ou
diagonal i-j = n-m ou i+j = n+m.
mrito_relativo(Ck) = mrito(Ck) /
recombinao e mutao:
Para que a definio fique completa h que definir a forma de iniciar a populao e respectiva
dimenso, o critrio de paragem.
Caractersticas:
LIVRO ADOPTADO
A funo depende do problema mas toma sempre o indivduo como input e retorna um
nmero.