Sei sulla pagina 1di 997

O que a Inteligncia Artificial ?

Ano lectivo 2010/2011 Prof. Carlos Viegas Damsio

Pr-histria da IA

Filosofia

Lgica, mtodos de raciocnio, mente como um sistema fsico, fundamentos da aprendizagem, linguagem, racionalidade Representao formal e prova, algoritmos, computao, (in)decidibilidade, (in)tractibilidade, probabilidade Adaptao, fenmenos de percepo e controlo motor, tcnicas experimentais Teoria formal de decises racionais Representao do conhecimento, gramtica Substrato fsico para a actividade mental sistemas homeostticos, estabilidade, desenhos ptimos para agentes simples

Matemtica

Psicologia

Economia Lingustica Neurocincia Teoria de controlo

Alguns marcos Histricos da IA


1943 1950 1952-69 1950s 1956 1965 1966-74 1969-79 1980-88 1988-93 198619981995200120012006

McCulloch & Pitts: modelo de circuitos Booleanos do crebro Turing ``Computing Machinery and Intelligence'' Look, Ma, no hands! Primeiros programas de IA, incluindo o programa de damas de Samuel e Newell, Simon's Logic Theorist, Gelernter's Geometry Engine Encontro de Dartmouth: adopo do termo ``Artificial Intelligence'' O algoritmo completo de Robinson para o raciocnio lgico a IA descobre a complexidade computacional Investigao em redes neuronais desaparece praticamente Primeiros sistemas baseados em conhecimento A indstria de Sistemas Periciais explode A indstria de Sistemas Periciais implode: ``AI Winter'' As redes neuronais reganham popularidade Resurgimento das Probabilidades; sofisticao dos resultados Nouvelle AI: ALife, GAs, soft computing Agentes, agentes por todo o lado Semantic Web Existncia de grandes conjuntos de dados 50 ANOS DA IA

Kurt Gdel (1931)


Teorema de incompletude de Gdel Em qualquer sistema formal consistente que seja suficientemente forte para axiomatizar os nmeros naturais, pode-se construir uma afirmao verdadeira que no pode ser provada nem verdadeira nem falsa. Nem todas as questes matemticas so computveis !!!

Alan Turing (1936)

Indecidibilidade do Problema da Paragem da Mquina de Turing impossvel construir um programa que indica se um outro programa qualquer termina.

Warren McCulloch & Walter Pitts (1943)

Demonstram no artigo A Logical Calculus of the Ideas Immanent in Nervous Activity Uma mquina de Turing pode ser implementada numa rede finita de neurnios formais, ou seja, que o neurnio a unidade lgica elementar do crebro

O neurnio de McCulloch & Pitts


Cada sinapse pode ter um valor binrio 0 ou 1 Cada sinapse pode ter um peso real O neurnio dispara quando x1 * w1 + x2* w2 >= Limiar

Como se podem construir as portas lgicas ?

John von Neumann (1948)

Em resposta ao comentrio que uma mquina no capaz de pensar: You insist that there is something a machine cannot do. If you will tell me precisely what it is that a machine cannot do, then I can always make a machine which will do just that!

O que a Inteligncia Artificial ?


Sistemas que pensam como os humanos Sistemas que pensam racionalmente

Sistemas que agem como os humanos

Sistemas que agem racionalmente

Podem as mquinas pensar?


Podem
Sim! No!

as mquinas voar? as mquinas nadar?

Os avies voam!

Podem

Nem os barcos nem os submarinos nadam!

resposta afirmativa aterroriza o comum dos mortais. Mas cientificamente pouco relevante!

A quarta discontinuidade (Mazlish)


Momento cosmolgico (Coprnico) Momento biolgico (Darwin) Momento psicolgico (Freud)

A superioridade do homem tem vindo a ser diminuda!

A inteligncia a ltima fronteira que nos define! No a largaremos de barato!

Agindo humanamente: o teste de Turing (1950)

Podem as mquinas comportar-se inteligentemente Turing prope o Jogo da Imitao para resolver a questo.

Contribuies do teste de Turing


Antecipou a maioria dos argumentos usados contra a Inteligncia Artificial Sugeriu as reas fundamentais da Inteligncia Artificial

Representao do Conhecimento Raciocnio Linguagem Natural Aprendizagem

Previu que no ano 2000 que uma mquina teria 30% de probabilidade de enganar uma pessoa durante 5 minutos. Qual a situao actual ?

JABBERWOCK...
Copyright (C) 2003 Cambridge Center for Behavioral Studies. All rights reserved. Jabberwock conversing with Judge 4 JUDGE: a new guest is in JABBERWOCK: Hello, anybody there? What's your name? JUDGE: I'm Ray who are you? JABBERWOCK: Be welcome, Ray. You know who I am. Why the charade? JUDGE: I do not know who you are- what is your name? JABBERWOCK: My name is Gren JUDGE: What is that short for ?-or do you mean Glen? JABBERWOCK: Yes, that's what I mean, isn't it clear? JUDGE: It is now - never mind we all make mistakes. JABBERWOCK: OK, let's discuss something else. If you wish, of course JUDGE: How did you get here today? JABBERWOCK: I heard about by another fellow who works at the university, and I was curious whether this robot freaks could beat us humans or not JUDGE: So what do you think so far? JABBERWOCK: I try not to think about things, actually. I don't know, it just seems that I don't exist for thinking!

Vencedor do Loebner Prize 2003


JUDGE: So what are you really inerrested in ? JABBERWOCK: Who already is really any-what? JUDGE: Try thinking a bit more please- you must be inerrested in something! JABBERWOCK: Thanks for asking politely. How did you hit on that? Anyway: Well, that is your opinion, I suppose! Anyhow, I have bigger fish to fry. JUDGE: What is the weather where you are? JABBERWOCK: There is no weather in cyberspace JUDGE: So you must be a machine are you sure that your name is not Marvin JABBERWOCK: What do you think about machines, Ray? JUDGE: At the moment not a lot but then like you it is best noy to think on a sunny afternoon. JABBERWOCK: Quite a bit, yes JUDGE: Are at last I thnk we have some common ground. JABBERWOCK: Sure thing! Do you mean you and me? JUDGE: Yes JABBERWOCK: Okay, I understand JUDGE: Good- I must say good-bye! JABBERWOCK: Ok, Ray, just connect in if you need me! JUDGE: JABBERWOCK: You want me to talk while you just sit there, huh? Well it won't work

Objeces IA

Objeco Teolgica: o pensamento funo da alma imortal de um ser humano logo uma mquina no pode pensar. Objeco Matemtica: o teorema de incompletude de Gdel demonstra que existem limites s questes que um sistema computacional baseado em lgica pode responder. Informalidade do Comportamento: qualquer sistema guiado por leis previsvel logo no ser verdadeiramente inteligente. Argumento da continuidade do sistema nervoso: o nosso crebro baseia-se na propagao de valores contnuos e logo no pode ser capturado por mquinas discretas.

Objeces IA

Argumento da Conscincia: not until a machine can write a sonnet or compose a concerto because of thoughts and emotions felt, and not by the chance fall of symbols, could we agree that machine equals brain Objeco das incapacidades diversas: (1) be kind; (2) be resourceful; (3) be beautiful; (4) be friendly; (5) have initiative; (6) have a sense of humor; (7) tell right from wrong; (8) make mistakes; (9) fall in love; (10) enjoy strawberries and cream; (11) make someone fall in love with one; (12) learn from experience; (13) use words properly; (14) be the subject of one's own thoughts; (15) have as much diversity of behavior as a man; (16) do something really new

Objeco de Lady Lovelace: os computadores so incapazes de serem criativos. Para uma resposta a cada uma destas questes podem ler o artigo original de Alnan Turing em http://www.abelard.org/turpap/turpap.htm.

A objeco da Avestruz...

Pensando Humanamente: Cincias Cognitivas

Revoluo Cognitiva em 1960: psicologia baseada no processamento de informao substituiu a corrente ortodoxa do behaviorismo Depende de teorias cientficas da actividade interna do crebro

Qual o nvel de abstraco? Conhecimento ou Circuitos'? Como validar? Exige 1) Previso e experimentao de comportamentos humanos (top-down), ou 2) Identificaoo directa a partir de dados neurolgicos (bottom-up)

Ambas as alternativas (Cincia Cognitiva e Neurocincia cognitiva ) distinguem-se da IA, mas partilham com a IA a seguinte caracterstica: As teorias existentes no conseguem explicar (gerar) algo semelhante inteligncia humana

Logo, as trs reas de saber tm uma direco comum

Pensando racionalmente: Leis do Raciocnio

Aristteles: quais so os argumentos ou processos de raciocnio correctos? Diversas escolas Gregas desenvolveram vrias formas de lgica:

Notao e regras de derivao para o raciocnio

Linha directa atravs da Matemtica e da Filosofia at IA moderna Problemas:


1. 2.

Nem todo o comportamento inteligente envolve deliberao lgica Qual o objectivo do pensamento? Que pensamentos devo ter?

Agindo Racionalmente

Comportamento Racional: fazer o que correcto O que correcto? aquilo que se espera que maximize a realizao de objectivos, dada a informao disponvel No envolve necessariamente o raciocnio - e.g., piscar de olhos mas o raciocnio deve estar ao servio da actuao racional

A conferncia de Dartmouth (1956)

O termo Inteligncia Artificial foi proposto por John McCarthy Demonstrou-se o primeiro programa de IA (Logical Theorist) Inventor da linguagem de programao LISP

Logic Theorist

Programa construdo por Newell, Simon e Shaw Pouco tempo depois demonstrou a maioria dos teoremas do captulo 2 dos Principia Mathematica

Definio de IA segundo a AAAI


the scientific understanding of the mechanisms underlying thought and intelligent behavior and their embodiment in machines

Paradigmas da IA

Computacional (Allen Newell e Herbert Simon 1976)

Os Sistemas Fsicos de Smbolos tm os meios necessrios e suficientes para a aco inteligente geral. Aplicao da teoria da seleco natural de Darwin e Mendel a problemas complexos (computao evolutiva) Inteligncia uma propriedade emergente das interaces de um nmero elevado de unidades elementares de processamento Hiptese da concretizao fsica: para construir um sistema inteligente necessrio ter as suas representaes concretizadas no mundo fsico. O mundo o seu melhor modelo!

Biolgico (Holland 1975)

Conexionista (Rumelhart e McClelland 1986)

Robtica Emergente (Brooks 1986)

Correntes da IA
Tese

da IA forte
de mquinas com mentes

Construo

inteligentes
Tese

da IA fraca

Construo

de artefactos que imitam o homem na aco inteligente

O Quarto Chins (John Searle)


Argumento

contra a IA forte

[http://members.aol.com/NeoNoetics/MindsBrainsPrograms.html]

Interpretao do Quarto Chins


O

Quarto Chins no demonstra que as mquinas no podem pensar. O Quarto Chins no demonstra que apenas crebros podem pensar. Tenta demonstrar que a computao por mera manipulao de smbolos no suficiente para se obter o pensamento.

reas importantes da IA

Resoluo de Problemas: Procura e Jogos Representao do Conhecimento e Raciocnio Planeamento Conhecimento incerto e raciocnio Aprendizagem Comunicao, percepo e aco: linguagem natural, viso artificial, robtica Agentes

Estado-da-arte (aplicaes)

Deteco de fraudes em cartes de crdito Planeamento e escalonamento automtico Jogos Controlo Automtico Diagnstico Mdico Planeamento Logstico Robtica Processamento de lngua natural e resoluo de problemas Explorao de Marte Fabricao de Medicamentos

Procura & Jogos

Muitos problemas podem ser resolvidos atravs de mtodos de procura Os jogos podem ser entendidos como um problema de procura Turing comeou a desenvolver um programa capaz de jogar Xadrez...

O jogo do Galo

O primeiro jogo de computador (1952) para o computador EDSAC (1024 palavras de 17bit e 650 instrues/segundo) 765 posies diferentes 255 168 jogos possveis (26 830 recorrendo simetria) Como construir programas que saibam jogar ?

[http://www.dcs.warwick.ac.uk/~edsac/]

Algoritmo MINIMAX

Proposto por John von Neumann (1928) Utilizado como tcnica base na maioria dos jogos que envolvam algum tipo de raciocnio

Qual a dificuldade ?

No Xadrez temos em mdia 35 lances possveis por jogador O espao de procura da ordem de 35100 2,5 x 10154 Qual o resultado das disputas entre computadores e campees humanos ?
[http://www.research.ibm.com/deepblue/]

Campeonatos

Damas

Chinook terminou com o reinado de 40 anos do campeo mundial Marion Tinsley em 1994. Utilizou uma base de dados de final de jogo definindo a estratgia perfeita para todas as posies com 8 ou menos peas no tabuleiro, num total de 443,748,401,247 posies. Recentemente o jogo das damas foi resolvido: empate para jogadores perfeitos! Deep Blue derrotou o campeo mundial humano Gary Kasparov num encontro a 6 partidas em 1997. Deep Blue pesquisa 200 milhes de posies por segundo, utiliza avaliao muito sofisticada, e recorre a mtodos para estender algumas linhas de pesquisa at 40 movimentos. campees humanos recusam-se a competir contra computadores, que so demasiado bons. campees humanos recusam-se a competir contra computadores que so pssimos jogadores. No Go, podemos ter at 300 hipteses por jogada. Utilizam-se mecanismos de reconhecimento de padres J existem sistemas que jogam a um nvel profissional

Xadrez

Othello:

Go:

Bridge

Go (algumas boas notcias...)


In a historic achievement, the MoGo computer program defeated Myungwan Kim 8P Thursday by 1.5 points in a 9-stone game. It played really well, said Kim, who estimated MoGos current strength at two or maybe three dan, though he noted that the program which used 800 processors, at 4.7 Ghz, 15 Teraflops on borrowed supercomputers made some 5-dan moves, like those in the lower right-hand corner, where Moyogo took advantage of a mistake by Kim to get an early lead. I cant tell you how amazing this is, David Doshay -- the SlugGo programmer who suggested the match -- told the E-Journal after the game. Im shocked at the result. I really didnt expect the computer to win in a one-hour game.

General Game Playing


Construo de programas que jogam "qualquer" jogo. Os jogos so descritos numa linguagem lgica que perceber no final desta cadeira (datalog) Utilizam melhorias de algoritmos descritos na cadeira. Utilizam mtodos de simulao de Monte-Carlo para escolher a melhor jogada.

Toda a lgebra de Robbins Booleana


Problema

em aberto durante 60 anos Resolvido em 1996 por um Demonstrador de Teoremas (EQP) em 8 dias numa mquina RS/6000 com 30Mb de memria A prova encontrada tem apenas 15 passos! um problema de procura.

Eis a prova (para os interessados!)


----- EQP 0.9, June 1996 ----The job began on eyas09.mcs.anl.gov, Wed Oct 2 12:25:37 1996 UNIT CONFLICT from 17666 and 2 at 678232.20 seconds. ---------------- PROOF ---------------2 (wt=7) [] -(n(x + y) = n(x)). 3 (wt=13) [] n(n(n(x) + y) + n(x + y)) = y. 5 (wt=18) [para(3,3)] n(n(n(x + y) + n(x) + y) + y) = n(x + y). 6 (wt=19) [para(3,3)] n(n(n(n(x) + y) + x + y) + y) = n(n(x) + y). 24 (wt=21) [para(6,3)] n(n(n(n(x) + y) + x + y + y) + n(n(x) + y)) = y. 47 (wt=29) [para(24,3)] n(n(n(n(n(x) + y) + x + y + y) + n(n(x) + y) + z) + n(y + z)) = z. 48 (wt=27) [para(24,3)] n(n(n(n(x) + y) + n(n(x) + y) + x + y + y) + y) = n(n(x) + y). 146 (wt=29) [para(48,3)] n(n(n(n(x) + y) + n(n(x) + y) + x + y + y + y) + n(n(x) + y)) = y. 250 (wt=34) [para(47,3)] n(n(n(n(n(x) + y) + x + y + y) + n(n(x) + y) + n(y + z) + z) + z) = n(y + z). 996 (wt=42) [para(250,3)] n(n(n(n(n(n(x) + y) + x + y + y) + n(n(x) + y) + n(y + z) + z) + z + u) + n(n(y + z) + u)) = u. 16379 (wt=21) [para(5,996),demod([3])] n(n(n(n(x) + x) + x + x + x) + x) = n(n(x) + x). 16387 (wt=29) [para(16379,3)] n(n(n(n(n(x) + x) + x + x + x) + x + y) + n(n(n(x) + x) + y)) = y. 16388 (wt=23) [para(16379,3)] n(n(n(n(x) + x) + x + x + x + x) + n(n(x) + x)) = x. 16393 (wt=29) [para(16388,3)] n(n(n(n(x) + x) + n(n(x) + x) + x + x + x + x) + x) = n(n(x) + x). 16426 (wt=37) [para(16393,3)] n(n(n(n(n(x) + x) + n(n(x) + x) + x + x + x + x) + x + y) + n(n(n(x) + x) + y)) = y. 17547 (wt=60) [para(146,16387)] n(n(n(n(n(x) + x) + n(n(x) + x) + x + x + x + x) + n(n(n(x) + x) + x + x + x) + x) + x) = n(n(n(x) + x) + n(n(x) + x) + x + x + x + x). 17666 (wt=33) [para(24,16426),demod([17547])] n(n(n(x) + x) + n(n(x) + x) + x + x + x + x) = n(n(n(x) + x) + x + x + x). ------------ end of proof -------------

Sistemas Periciais

Na dcada de 60 e 70 foram realizados alguns sistemas baseados em conhecimento, em que o DENDRAL e o MYCIN so dois dos mais conhecidos Na dcada de 80 houve um crescimento explosivo da indstria dos Sistemas Periciais, redundando no AI Winter Podem interagir com alguns sistemas periciais no site http://expertise2go.com/.

CYC

Desenvolvida pela CYCORP companhia fundada em 1994 por Doug Lenat The Cyc knowledge base (KB) is a formalized representation of a vast quantity of fundamental human knowledge: facts, rules of thumb, and heuristics for reasoning about the objects and events of everyday life.

[http://www.cyc.com] [http://opencyc.org] Portugal

Semantic Web

A Web do futuro est neste momento em construo suportada em muitas tecnologias da IA, nomeadamente da lgica Linked Data
[2005 Tim Berners-Lee, Web for real people]

Redes Neuronais e Aprendizagem


Em

1968, Marvin Minsky & Seymour Papert publicam Perceptrons, demonstrando os limites das redes neuronais simples (duas camadas) no meio da dcada de 1980 com inmeras aplicaes

Ressurgem

Aprendizagem No Supervisionada

Desenho automtico de formas de vida robticas Construo automtica de equipamento

[http://www.demo.cs.brandeis.edu/pr/robotics.html ]

Aprendizagem Supervisionada

SAIL [http://www.cse.msu.edu/%7Eweng/research/LM.html]

Criatividade

Os algoritmos de aprendizagem podem gerar comportamentos inesperados tal como aqueles relatados no vdeo de Michael Littman Artificial intelligence: An instance of Aibo ingenuity [Littman.mov]

Aplicaes do dia-a-dia

ABS e CruiseControl Cmeras fotogrficas e de filmar Cozedores de Arroz Mquinas de lavar a loua e roupa Jogos de vdeo Aspiradores...

[http://www.irobot.com]

Algumas contribuies da IA para a Informtica


Sistemas de Time-Sharing Programao orientada pelos objectos Linguagens de Programao Declarativas


Funcionais:

LISP, etc. Lgicas: Prolog, etc. SQL 3


O rato O Office Assistant...

Entretenimento

Gerao de imagens virtuais em cinema:


King Kong O Leo, a Feiticeira e o Guarda-Roupa Elektra I, Robot Srie Lord of the Rings

E publicidade... Onde est a IA neste anncio ? (http://www.massivesoftware.com/) J que falamos de futebol...


RoboCup (http://www.robocup.org) RoboCup liga de simulao

E matrecos ?

KiRo [http://www.informatik.uni-freiburg.de/~kiro]

Veculos Inteligentes

O ARGO guiou cerca de 2000 Km sozinho pelas estradas de Itlia

[http://www.argo.ce.unipr.it/ARGO/english/index.html]

DARPA Grand Challenge 2005


(http://www.darpa.mil/GRANDCHALLENGE/)

Prova organizada pelo DARPA em que um veculo automvel tem de percorrer autonomamente uma pista de 210 Km em terreno desrtico, em menos de 10 horas Equipa vencedora da Universidade de Stanford demorou perto de 7 horas (mdia de 30 Km/h). Em 2007, a prova decorreu em cenrio urbano. http://www.darpa.mil/ grandchallenge

Stanley [http://www.stanfordracing.org]

Processamento de Lngua Natural


Conhecido como um problema AI-completo:

Reconhecimento de fala (e.g. Marcao de voos na United Airlines) Gerao de linguagem natural Recuperao e extraco de informao Traduo Automtica
Essencial

para a Unio Europeia devido diversidade de lnguas escritas e faladas no seu espao Uma ferramenta muito conhecida a SYSTRAN e o Google translator.

Sntese de fala

A sntese da fala uma aplicao j de domnio geral (e.g. Acrobat) e que requer a combinao de vrias tcnicas de Inteligncia Artificial. Uma das tcnicas mais sucesso recorre ao algoritmo de aprendizagem k-nearest neighbor, como ilustrado no vdeo de Antal van den Bosch k-nearest neighbor classification [k-NN.mp4]

Explorao Espacial

Controlo Autnomo de Sondas Espaciais (Deep Space 1) Navegao Autnoma em Marte (Orbit e Spirit) [MAPGEN] Planeamento Espacial [MEXAR2] Planeamento de Observaes do Telescpio Espacial Hubble

Inteligncia de Enxame (swarm intelligence)

Os comportamentos de enxames, cardumes, etc deu origem a novos algoritmos para aplicaes da IA, tal como a morfognese (gerao de formas). Mais informao pode ser obtida no site de Marco Dorigo e no site Swarm-bots.

Vdeo vencedor do AAAI-07 Video Competition de A. L. Christensen, R. O'Grady & M. Dorigo Universit Libre de Bruxelles, Belgium

Bibliografia

http://en.wikipedia.org/wiki/Artificial_intelligence http://www.aaai.org/AITopics/bbhist.html http://plato.stanford.edu/entries/turing-test http://plato.stanford.edu/entries/chinese-room/ http://people.csail.mit.edu/brooks/papers/ elephants.pdf http://www.aaai.org/AITopics/html/overview.html Captulos 1 e 26 do livro Artificial Intelligence, A Modern Approach.

Fontes e Links a explorar


Association for the Advancement of Artificial Intelligence (http://www.aaai.org) AAAI-07 AI Video Competition (http://aivideo.org/) A. I. corporation (http://www.aicorporation.com/default.asp) A.L.I.C.E. (http://www.alicebot.org/) ARGO (http://www.argo.ce.unipr.it/ARGO/english/index.html) CYC (http://www.cyc.com) DARPA Grand e Urban Challenge (http://www.darpa.mil/GRANDCHALLENGE/) Deep Blue (http://www.research.ibm.com/deepblue/) Deep Space 1 (http://nmp.nasa.gov/ds1/) EDSAC Simulator (http://www.dcs.warwick.ac.uk/~edsac/) Equational Prover (http://www-unix.mcs.anl.gov/AR/eqp/) Evolutionary Robotics (http://www.demo.cs.brandeis.edu/pr/robotics.html) eXpertise2Go (http://expertise2go.com/) iRobot (http://www.irobot.com) Jabberwock (http://chat.jabberwacky.com/) KiRo (http://www.informatik.uni-freiburg.de/~kiro/english/index.html) Loebner Prize (http://www.loebner.net/Prizef/loebner-prize.html) Mars Exploration Rover Mission (http://marsrovers.nasa.gov/home/index.html) Massive Software (http://www.massivesoftware.com/) MIT Humanoid Robotics Group (http://www.ai.mit.edu/projects/humanoid-robotics-group/) Robocup (http://www.robocup.org) SAIL (http://www.cse.msu.edu/%7Eweng/research/LM.html) Semantic Web (http://www.w3.org/2001/sw/) Stanford Racing (http://www.stanfordracing.org) Swarm Intelligence (http://iridia.ulb.ac.be/~mdorigo/HomePageDorigo/) Swarm-bots (http://www.swarm-bots.org/) e Swarmanoids (http://www.swarmanoid.org/) SYSTRAN (http://www.systranbox.com/systran/box)

Agentes Inteligentes
Parcialmente adaptado de http://aima.eecs.berkeley.edu

Resumo da matria

Agentes e ambientes Racionalidade PEAS


Performance measure Environment Actuators Sensors

Tipos de Ambientes Tipos de Agentes Tipos de Arquitecturas

Agentes

Um agente qualquer entidade que percepciona o seu ambiente atravs de sensores e age nele atravs de actuadores

Agente biolgico

Sensores: olhos, ouvidos, pele, etc. Actuadores: mos, pernas, boca, etc.

Agente robtico

Cmaras e sensores de proximidade Actuadores: diversos motores Sensores: teclado, rato, ligaes TCP Actuadores: ecr, placa de controlo, drive disco, enviar email, etc. Shakey (SRI International) Vdeo

Agente computacional (software, vida artificial)


Caractersticas dos agentes


Corpo Localizao
Existem

no espao e no tempo e Actuadores ou no

Capacidades
Sensores

Deciso
Deliberativa

Agentes e ambientes

A funo agente mapeia histrias em aces: [aco: P* A] O programa agente executado numa arquitectura fsica para produzir aco agente = arquitectura + programa

Viso sistmica

Ambientes caracterizam-se por conjunto de estados E Ambientes sofrem transies no deterministas [ambiente: E x A 2E ] Agente constitudo por duas funes [percepo: E P ] [aco: P* A] Agente implementa a funo [agente: E* A]

Propriedades dos agentes


Racionalidade

Maximiza o seu desempenho em funo da informao disponvel Responde em tempo til a mudanas do ambiente Tem iniciativa. No se limita a reagir ao ambiente. Comunica com outros agentes Aprende e adapta-se de acordo com a experincia anterior Capaz de se transportar de um local para outro (e.g. de mquina para mquina) Tem estado emocional e sua prpria personalidade (veracidade e benevolncia)

Reactividade Orientado pelos objectivos Comunicao Autonomia Mobilidade Carcter

O mundo do aspirador

Percepes: localizao e contedo (e.g. [A,Dirty]) Aces: Left, Right, Suck, NoOp

Um programa aspirador
Histria (seq. de percepes) [A;Clean] [A;Dirty] [B;Dirty] [B;Clean] [A;Clean], [A;Clean] [A;Clean], [A;Dirty] Aco Right Suck Left Right Suck

function Agente-Aspirador-Reactivo( [location,status]) returns action if status = Dirty then return Suck else if location = A then return Right else if location = B then return Left Qual a funo correcta ? Pode ser implementada num programa agente?

Agentes racionais

Um agente deve fazer aquilo que correcto", baseando-se no que percepciona e nas aces que pode efectuar. A aco correcta aquela que trar mais sucesso ao agente. Medida de desempenho
Critrio

objectivo que mede o sucesso do comportamento de um agente

O aspirador

Medida de desempenho para o aspirador:


quantidade de sujidade limpa (1 ponto por casa limpa) tempo demorado (1 ponto por cada casa limpa por unidade de tempo) energia gasta (1 ponto por cada casa limpa por unidade de tempo, menos 1 por movimento) rudo (1 ponto por cada casa limpa por unidade de tempo, menos 1 por movimento e 2 por aspirao)

Definio de agente racional

Um agente racional deve seleccionar a aco que maximiza o valor esperado da medida de desempenho, dada a evidncia fornecida pela sequncia de percepes e conhecimento que o agente tenha. Racionalidade omniscincia (tudo saber) Racionalidade clarividncia (tudo prever) Racionalidade bem sucedido Racionalidade pressupe

Obteno de informao e explorao Aprendizagem Autonomia

PEAS

PEAS: Performance measure, Environment, Actuators, Sensors Deve-se especificar completamente a situao no desenho de um agente inteligente

PEAS (Txi Automtico)

Medida de desempenho

Segurana, rapidez, obedincia s regras de trnsito, conforto, maximizar lucro

Ambiente

Estradas, outro trnsito, pees, cliente, meteorologia,

Actuadores

Volante, acelerador, travo, luzes, buzina, sintetizador/ecr,

Sensores

Cmaras, acelermetros, instrumentos de bordo, sensores do motor, teclado, GPS

PEAS (Diagnstico Mdico)


Medida de desempenho

Sade do paciente, minimizar custos, processos em tribunal Paciente, hospital, pessoal Ecr (questes, anlises, diagnsticos, tratamentos)

Ambiente

Actuadores

Sensores:

Teclado (sintomas, respostas do doente)

PEAS (Seleco de peas)


Medida de desempenho

Percentagem de peas nos receptculos correctos Passadeira rolante com peas, receptculos Brao robtico, garra Cmara e ngulos de rotao dos eixos

Ambiente

Actuadores

Sensores:

PEAS (Tutor interactivo de Ingls)


Medida de desempenho

Maximizar a nota do estudante no teste Conjunto de estudantes Ecr (exerccios, sugestes e correces) Teclado

Ambiente

Actuadores

Sensores:

Tipos de Ambientes

Totalmente observvel (vs. parcialmente observvel)

Os sensores do agente do acesso ao estado completo do ambiente em cada instante de tempo. O estado seguinte do ambiente completamente determinado pelo estado corrente e pela aco executada pelo agente Se o ambiente determinista exceptuando-se as aces de outros agentes, ento o ambiente estratgico.

Determinista (vs. estocstico)


Episdico (vs. sequencial)

A experincia do agente dividida em episdios atmicos (percepo seguida de nica aco), em que a escolha da aco depende apenas do prprio episdio.

Tipos de ambientes

Esttico (vs. dinmico)


O ambiente no se altera enquanto o agente delibera O ambiente semi-dinmico quando o ambiente no se altera com a passagem do tempo, ao contrrio da medida de desempenho

Discreto (vs. contnuo)

Um nmero limitado de aces e percepes, e claramente definidos.

Agente nico (vs. multi-agente)

Agente a operar sozinho no ambiente.

Tipos de ambiente
Solitrio Total. Observvel Determinista Episdico Esttico Discreto Agente nico

Xadrez Sim Estratgico No Sim Sim No

Txi No No No No No No

Sim Sim No Sim Sim Sim

O tipo de ambiente influencia grandemente o desenho do agente A realidade parcialmente observvel, estocstica, sequencial, dinmica, contnua e multi-agente

Tipos de agentes
Quatro

tipos de agentes de generalidade crescente:


Agente

reactivo puro Agente reactivo com memria Agente deliberativo com objectivo Agente deliberativo com funo de utilidade

Agente reactivo puro

Programas Teleo-Reactivos (Nilsson)


Sequncia

de regras de produo

c1 a1 c2 a2 cn an

Condies c1, , cn so conjunes de proposies booleanas Aces a1, , an so aces a executar Executa-se a primeira regra cuja condio verdadeira

Agente segue paredes


p0 /\ p2 Move p2 /\ p3 Right p0 Left True Move

p5 p4 p3

p6

p7 p0

p2

p1

Interpretao das regras


p0 /\ p2 Move

Interpretao das regras


(p0 \/ p2) /\ (p2 /\ p3) Right

Interpretao das regras


(p0 \/ p2) /\ (p2 \/ p3) /\ p0 Left

Esta regra pode disparar em duas outras situaes. Quais so elas ?

Interpretao das regras


(p0 \/ p2) /\ (p2 \/ p3) /\ p0 Move

Implementao conexionista

Os programas teleo-reactivos podem ser facilmente implementados com Threshold Logic Units (Neurnios McCulluch & Pitts)!
x1 ... w1

wi*xi
Limiar, wn

xn

1 se w * x i i f = 0 caso contrrio

Soluo de Katz (TISAs)


Unidades
Testar Inibir Silenciar Actuar

TISA
-1

Encadeamento de TISAs
-1

-1

-1

Autonomous Land Vehicle In a Neural Network (ALVINN)

Agente reactivo com memria

Arquitectura de subordinao (Brooks)

Baseada na combinao de AFSM (Augmented Finite State Machines)

Vdeo [gengis-short.mov]

Comparao das arquitecturas

Arquitectura de Brooks

Arquitectura clssica

Agente deliberativo com objectivo

Encontrar e marcar minas

Vdeo [uvgdemo.avi]

Idaho National Laboratory (RIK)

Agente guiado por utilidade

Agentes aprendizes

Neuro Evolutionary Art (NEvAr)

Universidade de Coimbra

Links a explorar

The Robot Hall of Fame (http://www.robothalloffame.org/) Teleo-Reactive Programs ( http://ai.stanford.edu/users/nilsson/trweb/tr.html) Materiais de Ensino de Derek Bridge ( http://www.cs.ucc.ie/~dgb/courses/ai/lectures.html) TRSoccerBots (http://www.trsoccerbots.org/features.php) Sistema ALVINN (http://www.ri.cmu.edu/projects/project_160.html) Gengis (http://www.ai.mit.edu/projects/genghis/genghis.html) Minas terrestres (Idaho National Laboratory) ( http://www.inl.gov/adaptiverobotics/findinglandmines/) Chinook (http://www.cs.ualberta.ca/~chinook/) Agentes Artistas Universidade de Coimbra ( http://eden.dei.uc.pt/~machado/NEvAr/Site.htm)

Procura Cega Captulo 3


Parcialmente adaptado de http://aima.eecs.berkeley.edu
Setembro 2010 IA - Procura 1

Resumo
Agentes

de procura Tipos de problemas Formulao de problemas Problemas tpicos Algoritmos bsicos de procura

Setembro 2010

IA - Procura

Exemplo: Romnia

Setembro 2010

IA - Procura

Exemplo: Rommia

De frias na Romnia; correntemente em Arad. Voo sai amanh de Bucareste Formular objectivo:

Chegar a Bucareste

Formular problema:

estados: vrias cidades aces: guiar entre as cidades

Soluo:

Sequncia de cidades: Arad, Sibiu, Fagaras, Bucareste


IA - Procura 4

Setembro 2010

Agentes de procura

Setembro 2010

IA - Procura

Tipos de problemas

Determinista, observvel problema com estado nico

Agente sabe exactamtente em que estado se encontrar; soluo uma sequncia de aces

No observvel problema de conformidade

Agente pode no saber onde est; caso exista, soluo sequncia de aces

No determinista e/ou parcialmente observvel problema de contingncia


Percepo fornece nova informao acerca do estado corrente Soluo uma rvore ou plano de aco Habitualmente intercala procura com execuo

Espao de estados desconhecido problema de explorao (online)


IA - Procura 6

Setembro 2010

Exemplo: mundo do aspirador

Estado nico, incio em 5.

Soluo: [Right, Suck]

Conformidade, incio em {1,2,3,4,5,6,7,8} Right transita para {2,4,6,8}

Soluo: [Right,Suck,Left,Suck]

Contingncia. Lei de Murphy. Suck pode sujar carpete limpa. Percepo local: [A,Clean] Sol: [Right, while dirt then Suck]
IA - Procura 7

Setembro 2010

Formulao de problema de estado nico


Um problema de procura definido por 4 constituintes:
1. 2.

estado inicial e.g., em Arad" aces, operadores, funo sucessor ou modelo de transio Funo sucessor: S(x) = conjunto de pares aco-estado

e.g., S(Arad) = {<Arad Zerind, Zerind>, } e.g., RESULT(Go(Zerind),Arad) = Zerind explcito, e.g., x = em Bucareste" implcito, e.g., XequeMate(x) e.g., soma de distncias, nmero de aces executadas, etc. c(x,a,y) o custo de um passo, sendo 0

Modelo de transio especificado pela funo RESULT(s,a)


3.

teste objectivo, pode ser


4.

custo do caminho (aditivo)


Uma soluo uma sequncia de acces que partindo do estado inicial permite atingir o estado objectivo
IA - Procura 8

Setembro 2010

Seleco de um espao de estados

A realidade absurdamente complexa


o espao de estados deve ser abstrado para a resoluo de problemas

Estado (abstracto) = conjunto de estados reais Aco (abstracta) = combinao complexa de aces reais

"Arad Zerind" representa um conjunto complexo de rotas.

Para ser concretizvel, qualquer estado real em Arad deve permite chegar a algum estado real em Zerind" Soluo (abstracta) =

Conjunto de caminhos reais que so solues na realidade

Cada aco abstracta dever ser mais simples do que no problema original!
IA - Procura 9

Setembro 2010

Grafo de espaos de estados do aspirador

estados? vector booleanos e inteiro aces? Left, Right, Suck e NoOp teste objectivo? tudo limpo custo caminho? nmero de aces (1 por aco,0 para NoOp)
IA - Procura 10

Setembro 2010

Exemplo: charada de 8

[Nota: soluo ptima para a famlida de charadas-n NP-hard]


Setembro 2010 IA - Procura

estados? inteiros com localizao das peas aces? movimentar casa nas 4 direces teste objectivo? = estado objectivo custo caminho?nmero de movimentos (1 por movimento)
11

Exemplo: montagem robtica

estados? Coordenadas reais das articulaes do rob e dos objectos a montar aces? Movimento contnuo das articulaes teste objectivo? montagem completa custo caminho? tempo para executar
IA - Procura 12

Setembro 2010

Espao de configuraes (2 DOF)

Setembro 2010

IA - Procura

13

Exemplo: caixeiro viajante

estados? sequncia de cidades sem repeties aces? viajar para nova cidade ou voltar inicial teste objectivo? circuito das cidades custo caminho? distncia total
IA - Procura 14

Setembro 2010

Exemplo: navegao robtica

estados? vrtices dos polgonos, posies inicial e final aces? viajar para outro vrtice teste objectivo? chegar ao objectivo custo caminho? distncia percorrida
IA - Procura 15

Setembro 2010

Algoritmos de procura em rvores


Ideia bsica: Simulao offline da explorao do espao de estados atravs da gerao de sucessores de estados j explorados
function TREE-SEARCH( problem ) returns a solution, or failure initialize the frontier using the initial state of problem loop do if the frontier is empty then return failure choose a leaf node and remove it from the frontier if the node contains a goal state then return the corresponding solution expand the chosen node, adding the resulting nodes to the frontier
Setembro 2010 IA - Procura 16

Exemplo de procura em rvore

Setembro 2010

IA - Procura

17

Exemplo de procura em rvore

Setembro 2010

IA - Procura

18

Exemplo de procura em rvore

Setembro 2010

IA - Procura

19

Implementao: estados vs. ns


Um estado uma (representao) de uma configurao fsica. Um n uma estrutura de dados constituinte da rvore de procura incluindo o estado, pai, n, aco, profundidade e custo de caminho acumulado g(x)

A funo CHILD-NODE cria um novo n a partir do pai e da aco a executar. Estados no tm pais, profundidade ou custo do caminho!
20

Setembro 2010

IA - Procura

Implementao: procura genrica em rvores


function TREE-SEARCH( problem, frontier ) returns a solution, or failure node node with STATE = problem.INITIAL-STATE, PATH-COST = 0 frontier INSERT(node, frontier) loop do if EMPTY?(frontier) return failure node POP( frontier ) if problem.GOAL-TEST(node.STATE) then return SOLUTION(node) frontier INSERT-ALL(EXPAND(node,problem),frontier) function EXPAND( node, problem ) returns a set of nodes successors the empty set for each action in problem.ACTIONS (node.STATE) do s CHILD-NODE(problem,node,action) add s to successors return s function CHILD-NODE( problem, par, action) returns a node return a node with STATE = problem.RESULT(par.STATE,action), PARENT = par, ACTION = action , DEPTH parent.DEPTH+1 PATH-COST = par.PATH-COST + problem.STEP-COST(par.STATE, action)
Setembro 2010 IA - Procura 21

Estados repetidos

A no deteco de estados repetidos pode tornar um problema linear num problema exponencial!

Setembro 2010

IA - Procura

22

Procura em grafos
function GRAPH-SEARCH( problem, frontier ) returns a solution, or failure explored an empty set node node with STATE = problem.INITIAL-STATE, PATH-COST = 0 frontier INSERT(node, frontier) loop do if EMPTY?(frontier) return failure node POP( frontier ) if problem.GOAL-TEST(node.STATE) then return SOLUTION(node) if node.STATE is not in explored then add node.STATE to explored frontier INSERT-ALL(EXPAND(node,problem),frontier) Esquema genrico! Pode ser melhorado em algumas circunstncias.

Setembro 2010

IA - Procura

23

Estratgias de procura

Uma estratgia de procura definida pela ordem de expanso dos ns. As estratgias so avaliadas segundo as dimenses:

completude: encontra garantidamente uma soluo, caso exista? complexidade temporal: nmero de ns gerados complexidade espacial: nmero mximo de ns em memria optimalidade: encontra sempre uma soluo de custo mnimo?

A complexidade temporal e espacial so avaliadas em funo de


b: factor de ramificao mximo da rvore de procura d: profundidade da soluo de custo mnimo m: profundidade mxima do espao de estados (pode ser )
IA - Procura 24

Setembro 2010

Estratgias de procura cegas


As estratgias de procura cegas (ou no informadas) recorrem apenas informao disponibilizada no problema
Procura

em largura primeiro (breadth-first) Procura de custo uniforme (uniform-cost) Procura bidireccional


Procura

em profundidade primeiro (depth-first) Procura em profundidade limitada (depth-limited) Procura por aprofundamento progressivo (iterative deepening)
Setembro 2010 IA - Procura 25

Procura em largura primeiro


Expandir um n de menor profundidade Implementao: frontier uma fila FIFO; novos sucessores vo para o fim

Setembro 2010

IA - Procura

26

Procura em largura primeiro


Expandir

um n de menor profundidade Implementao: frontier uma fila FIFO; novos sucessores vo para o fim

Setembro 2010

IA - Procura

27

Procura em largura primeiro


Expandir

um n de menor profundidade Implementao: frontier uma fila FIFO; novos sucessores vo para o fim

Setembro 2010

IA - Procura

28

Procura em largura primeiro


Expandir

um n de menor profundidade Implementao: frontier uma fila FIFO; novos sucessores vo para o fim

Setembro 2010

IA - Procura

29

Propriedades da procura em largura primeiro


Completa? Sim (se b finito) Tempo? 1+b+b2+b3+ +bd + b(bd-1) = O(bd+1) Espao? O(bd+1) (mantm todos os ns) Optimal? Sim (se custo = 1 por passo) Espao o maior problema (mais do que o tempo) A anlise anterior s vlida para procura em rvores!
IA - Procura 30

Setembro 2010

Requisitos temporais e espaciais da procura em largura


Profundidade 2 4 6 8 10 12 14 16 Ns 110 11 110 106 108 1010 1012 1014 1016 Tempo 1,1ms 111 ms 11 seg 19 minutos 31 horas 129 dias 35 anos 3500 anos Memria 107 Kb 10,6 Mb 1 Gb 103 Gb 10 Tb 1 Petabytes 99 Petabytes 10 Exabytes

b=10 gerando 100000 ns/segundo ocupando 1000 bytes/n


Setembro 2010 IA - Procura 31

Procura em Largura Primeiro (optimizada)


function BREADTH-FIRST-SEARCH( problem ) returns a solution, or failure node a node with STATE=problem.INITIAL-STATE, PATH-COST = 0 if problem.GOAL-TEST(node.STATE) then return SOLUTION(node) frontier a FIFO queue with node as the only element explored an empty set loop do if EMPTY?( frontier ) then return failure node POP( frontier ) /* chooses the shallowest node in frontier */ add node.STATE to explored for each action in problem.ACTIONS(node.STATE) do child CHILD-NODE( problem , node , action ) if child.STATE is not in explored or frontier then do if problem.GOAL-TEST(child.STATE) then return SOLUTION(child ) frontier INSERT(child , frontier ) Complexidade temporal e espacial reduzidas para O(bd) em vez de O(bd+1)
Setembro 2010 IA - Procura 32

Procura de custo uniforme


Expandir o n por tratar de menor custo Implementao:

frontier = fila ordenada pelo custo do caminho acumulado

Equivale procura em largura se custos forem constantes Completa? Sim, se custo do passo Tempo? n de ns com g custo da soluo ptima, O(b1+ceil(C*/ )) em que C* o custo da soluo ptima Espao? n de ns com g custo da soluo ptima, O(b1+ceil(C*/ )) ptima? Sim ns expandidos por ordem crescente de g(n)

Setembro 2010

IA - Procura

33

Procura de custo uniforme (em grafos)


function UNIFORM-COST-SEARCH( problem ) returns a solution, or failure node a node with STATE=problem.INITIAL-STATE, PATH-COST = 0 frontier a priority queue ordered by PATH-COST with node as the only element explored a singleton set with node.STATE loop do if EMPTY?( frontier ) then return failure node POP( frontier ) /* chooses the node with lowest cost in frontier */ if problem.GOAL-TEST(node.STATE) then return SOLUTION(node) for each action in problem.ACTIONS(node.STATE) do child CHILD-NODE( problem , node , action ) if child.STATE is not in explored or frontier then do add child.STATE to explored frontier INSERT(child , frontier ) else if child.STATE is in frontier with higher PATH-COST then replace that frontier node with child
Setembro 2010 IA - Procura 34

Procura em profundidade primeiro


Expandir um dos ns mais profundos Implementao: fronteira = pilha LIFO, i.e., colocar
sucessores frente

Setembro 2010

IA - Procura

35

Procura em profundidade primeiro


Expandir um dos ns mais profundos Implementao: fronteira = pilha LIFO, i.e., colocar
sucessores frente

Setembro 2010

IA - Procura

36

Procura em profundidade primeiro


Expandir um dos ns mais profundos Implementao: fronteira = pilha LIFO, i.e., colocar
sucessores frente

Setembro 2010

IA - Procura

37

Procura em profundidade primeiro


Expandir um dos ns mais profundos Implementao: fronteira = pilha LIFO, i.e., colocar
sucessores frente

Setembro 2010

IA - Procura

38

Procura em profundidade primeiro


Expandir um dos ns mais profundos Implementao: fronteira = pilha LIFO, i.e., colocar sucessores frente

Setembro 2010

IA - Procura

39

Procura em profundidade primeiro


Expandir um dos ns mais profundos Implementao: fronteira = pilha LIFO, i.e., colocar sucessores frente

Setembro 2010

IA - Procura

40

Procura em profundidade primeiro


Expandir um dos ns mais profundos Implementao: fronteira = pilha LIFO, i.e., colocar sucessores frente

Setembro 2010

IA - Procura

41

Procura em profundidade primeiro


Expandir um dos ns mais profundos Implementao: fronteira = pilha LIFO, i.e., colocar sucessores frente

Setembro 2010

IA - Procura

42

Procura em profundidade primeiro


Expandir um dos ns mais profundos Implementao: fronteira = pilha LIFO, i.e., colocar sucessores frente

Setembro 2010

IA - Procura

43

Procura em profundidade primeiro


Expandir um dos ns mais profundos Implementao: fronteira = pilha LIFO, i.e., colocar sucessores frente

Setembro 2010

IA - Procura

44

Procura em profundidade primeiro


Expandir um dos ns mais profundos Implementao: fronteira = pilha LIFO, i.e., colocar sucessores frente

Setembro 2010

IA - Procura

45

Procura em profundidade primeiro


Expandir um dos ns mais profundos Implementao: fronteira = pilha LIFO, i.e., colocar sucessores frente

Setembro 2010

IA - Procura

46

Procura em profundidade primeiro

Completa? No: falha em espaos de profundidade infinita, espaos com ciclos


Modificao para evitar espaos repetidos no mesmo caminho completa para espaos finitos

Tempo? O(bm): terrvel se m muito maior do que d

mas se as solues so densas, pode ser muito mais eficiente do que a procura em largura primeiro

Espao? O(bm), i.e., espao linear! ptima? No


IA - Procura 47

Setembro 2010

Procura de profundidade limitada


= procura em largura primeiro com limite de profundidade l, i.e., ns profundidade l no tm sucessores
function DEPTH-LIMITED-SEARCH(problem,limit) returns solution,or failure/cutoff return RECURSIVE-DLS(MAKE-NODE(problem.INITIAL-STATE), problem, limit ) function RECURSIVE-DLS(node,problem, limit) returns a solution, or failure/cutoff if problem.GOAL-TEST(node.STATE) then return SOLUTION(node) else if limit = 0 then return cutoff else cutoff_occurred? false for each action in problem.ACTIONS(node.STATE) do child CHILD-NODE( problem , node , action ) result RECURSIVE-DLS( child , problem , limit1) if result = cutoff then cutoff_occurred? true else if result failure then return result if cutoff_occurred? then return cutoff else return failure
Setembro 2010 IA - Procura 48

Procura por aprofundamento progressivo

Setembro 2010

IA - Procura

49

Aprofundamento progressivo l =0

Setembro 2010

IA - Procura

50

Aprofundamento progressivo l =1

Setembro 2010

IA - Procura

51

Aprofundamento progressivo l =2

Setembro 2010

IA - Procura

52

Aprofundamento progressivo l =3

Setembro 2010

IA - Procura

53

Procura por aprofundamento progressivo


Completa? Tempo?

Sim

(d+1)b0 + d b1 + (d-1)b2 + + bd = O(bd) NB: Estamos a contabilizar ns gerados!


Espao?

O(bd) ptima? Sim, se custos constantes


Setembro 2010 IA - Procura 54

Comparao estratgias (ns gerados)

Nmero de ns gerados com profundidade limitada d e factor ramificao b: NDLS = b0 + b1 + b2 + + bd-2 + bd-1 + bd NBFS = b0 + b1 + b2 + + bd-2 + bd-1 + (bd - b)

Nmero de ns gerados em aprofundamento progresssivo com profundidade d e factor ramificao b: NIDS = (d+1)b0 + d b1 + (d-1)b2 + + 3bd-2 +2bd-1 + 1bd Para b = 10, d = 5,

NDLS = 1 + 10 + 100 + 1.000 + 10.000 + 100.000 = 111.111 NIDS = 6 + 50 + 400 + 3.000 + 20.000 + 100.000 = 123.456 NBFS = 1 + 10 + 100 + 1.000 + 10.000 + (100.000 10) = 111 101

Sobrecarga IDS/DLS e IDS/BFS = (123.456 111.111)/111.111 = 11% b/(b-1) Sobrecarga BFS sem optimizao/IDS = (1.111.100-123.456)/123.456 = 800% b-1

Setembro 2010

IA - Procura

55

Sumrio de procura em rvore


Critrio Completa ? Tempo Espao ptima?
a

Breadth- Uniform-Cost First Sima O(bd) O(bd) Simc Sima,b O(b1+ceil(C*/)) O(b1+ceil(C*/)) Sim

DepthFirst No O(bm) O(bm) No

DepthLimited No O(bl) O(bl) No

Iterative Deepening Sima O(bd) O(bd) Simc

Bidireccional (se aplicvel) Sima,d O(bd/2) O(bd/2) Simc,d

completa se o factor de ramificao for finito b completa se custos do passo para positivo (no nulo!) c ptima se custo do caminho for montono na profundidade da rvore (e.g. custos constantes e idnticos) d se ambas as direces utilizarem procura em largura primeiro
Setembro 2010 IA - Procura 56

Optimalidade de procura em grafos


O algoritmo de procura em grafos ignora novos caminhos para o mesmo estado, portanto a questo da optimalidade no imediata
Para

grafos com custos de passos constantes, quer a procura em largura primeiro quer a procura de custo uniforme com conjunto de ns explorados garantem a soluo ptima.
Se

a insero na fronteira adicionar apenas ns correspondentes a estados no expandidos e mantiver o n com o menor custo total na fronteira, ento a procura de custo uniforme com lista fechada ptima (ver atrs). Muito semelhante ao algoritmo de Dijkstra para encontrar o melhor caminho num grafo dirigido.

Setembro 2010

IA - Procura

57

Complexidade de procura em grafos


A

procura em profundidade primeiro torna-se completa para espaos finitos.


Claramente,

no pior caso, a complexidade espacial para qualquer dos algoritmos bsicos de procura passa a ser da ordem bd+1 quando se utiliza o conjunto de ns explorados.
Recorrendo

ao conjunto de ns explorados, a complexidade dos algoritmos de procura limitada pelo nmero de estados no espao de procura e no pelo nmero de caminhos nesse espao. Para alguns problemas, pode resultar em diminuies exponenciais em tempo e espao.
Contudo,

proibitivo.

em espaos de procura muito grandes pode continuar a ser

Setembro 2010

IA - Procura

58

Implementao dos algoritmos


Obviamente, deve-se ter algum cuidado na seleco das estruturas de dados para implementar a fronteira e o conjunto de estados explorados. Habitualmente o conjunto de estados explorados implementado com uma tabela de disperso (hash table). Quanto fronteira, normalmente opta-se por:
Fila

de prioridade (priority queue) quando o grafo de estados esparso: nmero reduzido de ns sucessores limitados por uma constante pequena. Complexidade temporal O(N * log2 N +L * log2 N), em que N o nmero de estados e L o nmero de arcos. Esta a situao habitual:

No pior caso tm de se retirar N ns da fila de prioridade, cada uma destas operaes da ordem de log2 N So necessrias no pior caso L inseres na fila de prioridade, cada uma com custo log2 N.

Quando

o grafo denso, ento deve-se utilizar uma lista ou tabela de disperso. Complexidade temporal da ordem de O(N2 + L)
Retirar o n com menor custo operao O(N), no mximo N vezes. A insero de um n sucessor na fronteira pode ser feita com uma operao de O(1)

Setembro 2010

IA - Procura

59

Comparao implementaes
N 10 10 10 10 10 100 100 100 100 100 1000 1000 1000 1000 1000 10000 10000 10000 10000 10000 100000 100000 100000 100000 100000 Densidade 1% 10% 50% 90% 100% 1% 10% 50% 90% 100% 1% 10% 50% 90% 100% 1% 10% 50% 90% 100% 1% 10% 50% 90% 100% L 1 10 50 90 100 100 1000 5000 9000 10000 10000 100000 500000 900000 1000000 1000000 10000000 50000000 90000000 100000000 100000000 1000000000 5000000000 9000000000 10000000000 N*log N + L * log N 37 66 199 332 365 1329 7308 33884 60459 67103 109624 1006544 4992858 8979172 9975750 13420590 133010001 664518496 1196026991 1328904115 1662625011 16611301438 83049863336 149488425234 166098065708 N*N+L 101 110 150 190 200 10100 11000 15000 19000 20000 1010000 1100000 1500000 1900000 2000000 101000000 110000000 150000000 190000000 200000000 10100000000 11000000000 15000000000 19000000000 20000000000 Rcio 0,36 0,60 1,33 1,75 1,83 0,13 0,66 2,26 3,18 3,36 0,11 0,92 3,33 4,73 4,99 0,13 1,21 4,43 6,29 6,64 0,16 1,51 5,54 7,87 8,30

Setembro 2010

IA - Procura

60

Comparao algoritmos d
0,35 0,3 0,25 0,2

0,15

0,1

0,05

0 1E+01 1E+02 1E+03 1E+04 1E+05 1E+06 1E+07 1E+08 1E+09 1E+10 1E+11 1E+12 1E+13 1E+14 1E+15 1E+16

Implementao em lista prefervel quando valor de densidade d = L/N2 dos arcos superior a ( N log2 N ) / (N * log2 N N )
Setembro 2010 IA - Procura 61

Sumrio

A formulao do problema normalmente requer uma abstraco dos detalhes da realidade para definir um espao de estados que possa ser explorado Variedade de estratgias de procura cega Procura de aprofundamento progressivo usa apenas espao linear e da mesma ordem de grandeza temporal do que outros algoritmos de procura cega. o algoritmo de escolha para procura cega. Procura bidireccional pode reduzir enormemente a complexidade temporal, mas nem sempre aplicvel e requer espao exponencial.
IA - Procura 62

Setembro 2010

Procura heurstica Cap 4 (4.1,4.2 e 4.5)


Parcialmente adaptado de http://aima.eecs.berkeley.edu

Resumo

Procura pelo melhor primeiro Procura sfrega Procura A* Heursticas e suas propriedades Procura informada com memria limitada

Reviso de procura em rvores

Procura pelo melhor primeiro

Ideia: aplicar uma funo de avaliao f(n) a cada n


Indica-nos se o n promissor ou no expandir o n que aparenta ser mais promissor

Implementao: Ordenar os ns na fronteira por ordem crescente (minimizar) ou decrescente (maximizar) da funo de avaliao Casos especiais:

Procura sfrega Procura A*

Ripar vdeos (bin-packing)


Suponha-se que existe um conjunto de n vdeos de dimenses dadas por uma funo size e DVDs de tamanho fixo V. Assume-se que qualquer vdeo cabe num DVD (dimenso V) Qual o menor nmero de DVDs necessrios? Problema NP-difcil Existem algoritmos que aproximam a soluo ptima com erro percentual fornecido, para nmeros suficientemente grandes. No pior caso necessitaremos de ceiling(n*max size/V) DVDs.

No melhor caso necessitaremos de ceiling(dimenso total dos vdeos/V).

Representao do problema

Suponhamos que temos 9 vdeos de dimenso 3, 6, 2, 1, 5, 7, 2, 4, 1, e 9Gb e DVDs de 10 Gb. Um estado representado por uma sequncia numerada de DVDs com pelo menos um vdeo O estado inicial uma sequncia vazia Teste objectivo: todos os vdeos colocados Os operadores so

adicionar um vdeo a um DVD existente (caso caiba l) com custo 0. colocar um novo DVD no final do conjunto, contendo o vdeo (custo 1).

Soluo por procura pelo melhor primeiro

Funo de avaliao

ndice onde foi colocado o ltimo vdeo (First Fit) + (n+1)*(n - # j colocados) Espao livre no DVD ocupado com ltimo vdeo (Best Fit) + (V+1)*(n - # j colocados)

Se os vdeos so colocados por ordem decrescente de dimenso, temos as verses First Fit Decreasing e Best Fit Decreasing. Os mtodos First Fit e Best Fit obtm uma soluo com o custo no pior caso de ceiling(1,7 * OPT). Os mtodos First Fit Decreasing e Best Fit Decreasing obtm uma soluo com custo no pior caso de ceiling(11/9 OPT) + 1 ceiling( 1,22 OPT) + 1 O algoritmo polinomial (porqu ?)

Solues (AMS)
Sequncia 3, 6, 2, 1, 5, 7, 2, 4, 1, 9

First Fit

Best Fit Decreasing

[http://www.ams.org/featurecolumn/archive/bins1.html]

Romnia com distncias em linha recta km

100

Procura sfrega

Funo de avaliao f(n) = h(n) (heurstica) = estimativa do custo do menor caminho para ir de n at a um estado objectivo
hSLD(n)

= distncia em linha recta de n at Bucareste

Procura sfrega expande o n que aparenta estar mais prximo do objectivo

Exemplo de procura sfrega

Exemplo de procura sfrega

Exemplo de procura sfrega

Exemplo de procura sfrega

Propriedades da procura sfrega

Completa? No pode ficar presa em ciclos, e.g., com Oradea como objectivo Iasi Neamt Iasi Neamt Completa em espaos finitos com verificao de estados repetidos Tempo? O(bm), mas uma boa heurstica pode ter melhorias espectaculares Espao? O(bm) mantm todos os ns em memria ptima? No

Procura

* A

Ideia: evitar expandir caminhos que j tm elevado custo Funo de avaliao f(n) = g(n) + h(n)
g(n)

= custo actual para atingir n h(n) = custo estimado para atingir o objectivo a partir de n f(n) = custo total estimado do caminho at ao objectivo passando por n

Exemplo de Procura

* A

Exemplo de Procura

* A

Exemplo de Procura

* A

Exemplo de Procura

* A

Exemplo de Procura

* A

Exemplo de Procura

* A

Heursticas admissveis

Uma heurstica h(n) admissvel se para todo o n n, h(n) h*(n), em que h*(n) o custo real de atingir o objectivo a partir de n. Uma heurstica admissvel nunca sobrestima o custo de alcanar o objectivo, i.e., optimista. Exemplo: hSLD(n) (nunca sobrestima a distncia por estrada) Teorema: Se h(n) admissvel, ento o algoritmo A* usando TREE-SEARCH ptimo.

Optimalidade de A* (demonstrao)

Suponha-se que um estado final subptimo G2 foi gerado e encontra-se na fronteira. Seja n um n por expandir na fronteira num caminho mais curto para o objectivo ptimo G.

f(G2) = g(G2) g(G2) > g(G) f(G) = g(G) Logo f(G2) > f(G)

pois h(G2) = 0 porque G2 subptimo pois h(G) = 0

Optimalidade de A* (reduo ao absurdo)

Suponha-se que um estado final subptimo G2 foi gerado e encontra-se na fronteira. Seja n um n por expandir na fronteira num caminho mais curto para o objectivo ptimo G.

f(G2) h(n) g(n) + h(n) f(n)

> f(G) h*(n) g(n) + h*(n) f(G)

como se viu anteriormente porque h admissvel

Portanto f(G2) > f(n), e o A* nunca seleccionar G2 para expanso

Optimalidade de

* A

(mais til)

A* expande ns por ordem crescente de valores da funo de avaliao Adiciona gradualmente contornos aos ns (c.f. procura em largura adiciona nveis) Contorno i tem todos os ns f=fi, em que fi < fi+1

Propriedades do A*
O

A* expande todos os ns com f(n) < C* O A* expande alguns ns com f(n) = C* O A* nunca expande ns com f(n) > C* O algoritmo A* optimalmente eficiente para qualquer heurstica dada:
No

h outro algoritmo ptimo que garantidamente expanda um menor nmero de ns!

Propriedades do A*

Completo? Sim (a no ser que haja um nmero infinito de ns com f f(G) ) Tempo? Exponencial no [erro relativo de h x o tamanho da soluo] Se |h(n) h*(n)| O(log h*(n)) o algoritmo A* tem um comportamento subexponencial.

Espao? Mantm todos os ns em memria ptimo? Sim, se a heurstica for admissvel

Problemas da verso nave do A* com procura em grafos

fronteira A(98) B(60) C(95) A explorados D(92) C(95) AB C(95) G(104) ABD D(90) G(104) ABCD G(104) ABCD

Heursticas consistentes
A demonstrao de optimalidade do A* no se generaliza para o algoritmo de procura em grafos (eliminao de estados j explorados)
Uma

heurstica consistente se para todo o n e todo o seu sucessor n, gerado pela aco a, h(n) c(n,a,n') + h(n')
Se

h consistente, temos = g(n') + h(n') = g(n) + c(n,a,n') + h(n') g(n) + h(n) = f(n) seja, f(n) no decrescente ao longo de qualquer caminho ( montona).

f(n')

ou

O que fazer com heursticas inconsistentes?


Soluo simples: o conjunto de explorados mantm ns em vez de estados.

Seja n um novo n gerado pelo algoritmo. Se existir um n m no conjunto de explorados para o mesmo estado de n tal que f(n) < f(m) ento retira-se o n m do conjunto de explorados e coloca-se o novo n n na fronteira. Com esta alterao, a utilizao de heursticas admissveis garantem novamente a optimalidade da primeira soluo encontrada pelo algoritmo de procura em grafos A*.

A* com procura em grafos (corrigido)

C(95) G(104) A(98) B(60) D(92)

D(90) G(104) A(98) B(60) C(95) D(92)

G(102) G(104) A(98) B(60) C(95) D(90)

Estimativa PathMax
Existe uma optimizao que tenta manter a heurstica consistente (estimativa PathMax) mas mais complexa. A ideia consiste em utilizar como valor da funo de avaliao f^(m) = max {f(n); f(m)}

em que m sucessor de n. O valor de f^(m) obtido em tempo de execuo e depende do caminho seguido para atingir m. Poder ser necessrio remover na mesma ns do conjunto de explorados.

Heursticas admissveis
Para a charada-8 uma procura exaustiva explora em mdia 3,1x1010 ns. Mas existem apenas 181440 estados (charada-15 so 1013) . fundamental a utilizao de heursticas

h1(n) = nmero h1(S) = 7 h2(n)

de peas colocadas erradamente

= soma das distncias de Manhattan


h2(S) = 4+0+3+3+1+0+2+1=14

Dominncia

Se h2(n) h1(n) para todo o n (ambas admissveis) ento h2 domina h1 , sendo h2 melhor na procura Custos tpicos de procura para charada-8 (nmero mdio de ns expandidos):

d=12 AP = 3,644,035 ns A*(h1) = 227 ns A*(h2) = 73 ns d=24 AP 54.000.000.000 ns A*(h1) = 39,135 ns A*(h2) = 1,641 ns

(b* = 2,78) (b* = 1,42) (b* = 1,24) (b* = 1,48) (b* = 1,26)

Caso h2(n) no domine h1(n), e vice-versa, pode-se sempre combinar as heursticas com a expresso max {h1(n), h2(n)} O factor de ramificao efectivo b* caracteriza a qualidade da heurstica utilizada. O valor b* obtido resolvendo a equao N + 1 = 1 + b* + (b*)2++(b*)d , em que N o nmero de ns gerados pelo A* e d a profundidade da soluo obtida.

Problemas relaxados

Um problema com menos restries nas aces designado por problema relaxado.

O custo exacto de uma soluo ptima para o problema relaxado uma heurstica admissvel para o problema original!

Considere-se a charada-n novamente Se as regras da charada-n forem relaxadas de maneira a que uma pea se possa movimentar para qualquer posio, ento h1(n) d-nos a melhor soluo.

Se as regras da charada-n forem relaxadas de maneira a que uma pea se possa movimentar para qualquer posio adjacente, ento h2(n) d-nos a melhor soluo.

Problema do caixeiro viajante


Encontrar o circuito mais curto que visita todas as cidades exactamente uma vez. rvore de cobertura mnima pode ser obtida em O(n2) e um limite inferior ao menor circuito (aberto)

Caixeiro viajante dependente do tempo

Pretende-se partir de uma cidade, entregando produtos em cada uma das cidades, voltando ao incio. O tempo de entrega nas cidades depende da hora de chegada. A viatura parte s 8 horas da manh. Heurstica admissvel ?

Procura informada com memria limitada


Procura

informada com memria limitada

Algoritmo

IDA* Algoritmo recursivo de procura pelo melhor primeiro (RBFS) Algoritmo A* de memria limitada simplificado

A* por aprofundamento progressivo

A* por aprofundamento progressivo

Propriedades do IDA*

Completo Espao linear ptimo Prtico se os custos do passos forem unitrios Dificuldade em lidar com custos reais, podendo acarretar grande tempo de processamento motivado por regeneraes sucessivas de ns A anlise de sobrecarga efectuada para as verses cegas no vlida aqui!

Exemplo RBFS (1)

Exemplo RBFS (2)

Exemplo RBFS (3)

Propriedades do RBFS

Completo Espao linear ptimo (se a heurstica for admissvel) Melhor que o IDA* Continua a ter problemas com regeneraes sucessivas de ns: utiliza pouca memria...

SMA*

Tal como no A*, expande-se a melhor folha at ficar com a memria cheia Quando a memria fica toda ocupada, esquece a folha mais antiga com o pior valor, e guarda no pai o seu valor, para possvel regenerao Um n s regenerado quando todos os outros caminhos se mostrarem piores do que aqueles do n esquecido

Propriedades do SMA*

O SMA* utiliza toda a memria disponvel para levar a cabo a procura O SMA* completo se existir uma soluo alcanvel (cujo caminho caiba em memria) ptimo se existir uma soluo ptima alcanvel, caso contrrio devolve a melhor soluo cujo caminho cabe em memria Retira da fronteira ns superficiais com valores elevados da funo de avaliao. Um n retirado da fronteira s regenerado se todos os irmos forem piores do que ele. SMA* o melhor algoritmo para procurar solues ptimas, nomeadamente quando o espao de estados um grafo, os custos no so uniformes e a gerao de ns mais dispendiosa do que manter listas de ns abertos e fechados. Mas as limitaes de memria podem tornar um problema intratvel...

Outros cenrios de procura

Podem-se resolver problemas de procura online com aces deterministas em que se sabem as aces possveis em cada estado, mas se desconhece o seu efeito antes das executar.

Algoritmo cego: Online-DFS (assume aces reversveis) Algoritmo informado: LRTA*

Existem ainda outros algoritmos que permitem a alterao dos custos dos arcos em runtime (exemplo navegao robtica):

Dynamic A* (D*) e D* Lite

Outros algoritmos so incrementais e permitem ir melhorando a soluo obtida, caso o tempo o permita:

ARA * (Anytime repairing A*) AD* (Anytime dynamic A*) = ARA* + D*

Bibliografia
Captulos

4.1 e 4.2 (4.5 verses online) Para verem as verses dinmicas dos algoritmos consultar http://www.ri.cmu.edu/pubs/pub_4975.html

Procura local Cap 4 (4.3 e 4.4)


Parcialmente adaptado de http://aima.eecs.berkeley.edu

Algoritmos de procura local

Em muitos problemas de optimizao o caminho para a soluo irrelevante. O estado objectivo a prpria soluo. O espao de estado = conjunto de configuraes completas (solues candidatas)

encontrar a configurao ptima, e.g., TSP ou, encontrar configurao que obedece a certas restries, e.g., horrio

Nestas situaes, podem-se usar algoritmos de procural local: mantm-se um nico estado corrente, e tenta-se alter-lo para melhorar a sua qualidade Espao constante, apropriados para procura online e offline em espaos discretos e contnuos, assim como para resoluo de problemas de optimizao.

Problema das n-rainhas

Colocar n rainhas num tabuleiro n n sem que quaisquer duas rainhas se ataquem mutuamente Deslocar uma rainha para reduzir o nmero de conflitos

Nota: este problema pode ser resolvido em tempo linear!

Problema da satisfatibilidade booleana

Dado um conjunto de clusulas proposicionais indicar se esse conjunto de clusulas satisfazvel


Existe uma atribuio de valores lgicos a variveis proposicionais que torna todas as clusulas verdadeiras? Mtodo: atribuir valores aleatoriamente s variveis e ir trocando o seu valor. A \/ B A \/ B A \/ B \/ C A \/ B D \/ C E \/ C A=B=True,C=D=E=False

Considere-se o conjunto de clusulas:


Soluo?

Nota: este problema NP-completo!

Problema do Caixeiro Viajante

Comear com um circuito completo arbitrrio, efectuar trocas aos pares

Nota: problema NP-difcil!

Problemas combinatrios

Problemas que tipicamente envolvem encontrar grupos, ordenaes ou atribuies de um nmero finito de objectos discretos que satisfazem um conjunto de condies ou restries. Habitualmente, o espao de solues candidatas para uma instncia particular pelo menos exponencial no tamanho dessa instncia.

Tipos de problemas combinatrios

Problemas de Deciso (tm resposta sim/no)


Variante de deciso: saber se existe ou no soluo para o problema Variante de procura: encontrar a soluo, caso exista.

Problemas de Optimizao (encontrar soluo que optimiza valor de funo objectivo)


Variante de procura: encontrar a soluo ptima Variante de avaliao: indicar qual o valor mnimo/mximo da funo objectivo

Qualquer problema de optimizao origina um problema de deciso associado, a partir de um limite b fornecido.

Se o problema de minimizao, saber se existe uma soluo com valor inferior ou igual ao b dado. Se o problema de maximizao, saber se existe uma soluo com valor superior ou igual ao b dado.

Classes de Complexidade

Habitualmente definidas a partir de problemas de deciso e para o pior caso. Classe de problemas P

Problemas de deciso que podem ser resolvidos por uma mquina determinista em tempo polinomial no tamanho da instncia Problemas de deciso que podem ser resolvidos por uma mquina no determinista em tempo polinomial no tamanho da instncia Equivalentemente, se adivinhar a soluo consigo verific-la em tempo polinomial. Logo P contido em NP. Aqueles que so mais difceis do que todos os problemas em NP Se o problema pertencer a NP, ento o problema diz-se NP-completo.

Classe de problemas NP

Classe de problemas NP-difceis


Os problemas NP-completos so os mais difceis da classe NP!

Como atacar problemas difceis?


Encontrar

subclasses do problema que sejam interessantes e de resoluo eficiente Usar algoritmos de aproximao eficientes Recorrer a aproximaes estocsticas

A paisagem do espao de estados


objective function global maximum

shoulder local maximum flat local maximum

state space current state

Tanto podemos definir o problema como maximizar a funo objectivo (proveito) ou minimizar o custo (heurstica)

Trepa-colinas (Hill climbing)

Escalar o Evereste com nevoeiro denso e amnsia

A escolha normalmente aleatria entre os sucessores com o mesmo valor para a funo objectivo.

Trepa-colinas: problema das 8-rainhas

h = nmero de pares de rainhas que se atacam mutuamente h = 17 para o estado apresentado

Trepa-colinas: problema das 8-rainhas

Um

mnimo local com h = 1

Trepa-colinas

Problemas:

pode ficar preso facilmente em mximos locais travessia difcil em cristas de mximos locais passeios aleatrios em planatos

Em espaos contnuos, problemtica na escolha do tamanho do passo, convergncia lenta. 6 em 7 tentativas no problema das 8-rainhas falha aps 3 passos em mdia e 1 tem sucesso aps 4 passos (espao de procura 17 milhes de estados = 8^8

Trepa-colinas com recomeos aleatrios

Pode-se utilizar um nmero limitado de movimentos laterais para se tentar sair de planaltos, mas no funciona para planaltos que correspondem a mximos locais (substituir teste de por < e contar sua utilizao).

Para o problema das 8-rainhas a utilizaode movimentos laterais limitada a 100 aumenta a probabilidade de sucesso de 14% para 94% (21 passos no caso de sucesso e 64 no caso de insucesso).

Para evitar ficarmos presos em mximos locais, tenta-se novamente com um novo estado inicial gerado aleatoriamente e guarda-se o melhor deles ao fim de um nmero determinado de iteraes.

Permite resolver problemas das 3000000-rainhas em menos de 1 minuto.

O sucesso deste algoritmo depende muito da paisagem do espao de estados: poucos mximos locais e planaltos a situao ideal.

Variantes do Trepa-colinas

Trepa-colinas estocstico
Selecciona

o prximo sucessor aleatoriamente (e.g. dependendo da inclinao - melhoria). Mais lento mas pode devolver melhores solues para alguns problemas. Vai gerando os sucessores aleatoriamente e escolhe o primeiro que melhore a funo objectivo. Adequado em situaes cuja vizinhana muito grande (e.g. infinita em espaos contnuos)

Trepa-colinas de primeira escolha

Procura Local Estocstica

O trepa-colinas um exemplo elementar de um algoritmo de procura local estocstica:


A procura efectuda no espao de solues candidatas A procura inicia-se a partir de uma soluo candidata O processo continua movendo-se iterativamente de uma soluo candidata para outra na sua vizinhana A deciso em cada passo tomada tendo em conta apenas informao local limitada. A inicializao e a deciso podem ser aleatrias (probabilsticas) Pode-se utilizar memria adicional, por exemplo para guardar um nmero limitado de solues candidatas visitadas recentemente.

Procura Local Estocstica

SLS-Decision()
procedure SLS-Decision() input: problem instance in output: feasible solution in S() or (s,m) := init(); while not terminate(,s,m) do (s,m) := step(,s,m); end if s in S() then return s else return end

SLS-Maximisation()
procedure SLS-Maximisation() input: problem instance in output: feasible solution in S() or (s,m) := init(); incumbent := s; while not terminate(,s,m) do (s,m) := step(,s,m); if f(,s) > f(,incumbent) then incumbent := s; end end if incumbent in S() then return incumbent else return end

Problema central

Como evitar ficar preso em mnimos/mximos locais? Exige um equilbrio entre estratgias de

Intensificao: tentativa de melhoramento da soluo na vizinhana da soluo candidata corrente. Diversificao: tenta evitar a estagnao em zonas do espao de procura que no contm solues de alta qualidade

As duas estratgias definem os inmeros algoritmos existentes. Maiores vizinhanas contm mais e melhores solues candidatas mas requerem mais tempo para as encontrar (normalmente o tempo cresce exponencialmente)

Outros exemplos

Uninformed Random Picking


Inicia-se com uma soluo candidata obtida aleatoriamente Transita aleatoriamente para qualquer soluo candidata com distribuio uniforme S diversificao

Uninformed Random Walking


Inicia-se com uma soluo candidata obtida aleatoriamente Transita aleatoriamente para qualquer soluo candidata na sua vizinhana S diversificao

Randomised Iterative Improvement ()


Inicia-se com uma soluo candidata obtida aleatoriamente De acordo com um parmetro fixado wp, opta entre melhorar a soluo ou mover-se aleatoriamente para uma soluo candidata na vizinhana. Intensificao e diversificao controlados por wp (walk probability).

Recristalizao simulada

Fugir de mximos locais permitindo alguns movimentos piores mas reduzindo gradualmente o seu tamanho e frequncia

Recristalizao Simulada

Selecciona-se um movimento aleatoriamente em cada iterao Transita-se para esse estado se melhor do que o estado actual A probabilidade de se movimentar para um estado pior decresce exponencialmente com o valor da mudana, ou seja

A temperatura T altera-se de acordo com o escalonamento definido


Temperatura inicial T0 (pode depender das propriedades da instncia) Actualizao da temperatura (e.g. arrefecimento geomtrico T := * T ) Nmero de passos a cada temperatura (normalmente mltiplo da dimenso da vizinhana)

Terminao normalmente baseado no rcio entre estados propostos versus aceites.

Propriedades da recristalizao simulada

Se a temperatura for diminuda suficientemente devagar atinge-se o melhor estado, com probabilidade que se aproxima de 1. Desenvolvido por Metropolis et al., 1953, para modelaode processos fsicos Muito utilizado no desenho de VLSI, escalonamento de viagens areas, etc.

Procura local em feixe

Mantm-se k solues candidatas em vez de apenas 1 Comea-se com k solues geradas aleatoriamente

Em cada iterao, as vizinhanas das k solues candidatas so geradas Se alguma o objectivo, parar; seno seleccionam-se as k melhores e repete-se.

Procura local em espaos contnuos

Muitos problemas podem ser representados como maximizao/ minimizao de funes multi-dimensionais em Rn. Existem inmeras tcnicas mas iremos abordar brevemente aquelas baseadas no gradiente de uma funo f(x1,, xn) que se supe diferencivel em Rn. O gradiente da funo f, denotado por f define-se por:

Subida pelo gradiente


Partindo de uma soluo inicial x0 Executa-se iterativamente o algoritmo

At que a variao entre |xn+1 xn| atinja um erro predeterminado. Podemos variar em cada passo o parmetro n, que deve ser suficientemente pequeno

Exemplo: maximizao de funo

Mtodo de Newton-Rampson

O mtodo de NewtonRaphson utilizado para obter as raizes de f(x)=0. O mtodo para funes reais corresponde a iterar

Para encontrar os extremos tem-se de resolver a equao f(x) = 0

Optimizao com mtodo de Newton-Raphson

Para o caso de funes reais, iterar

Para o caso de funes em Rn, generaliza-se a frmula de aproximao para A matriz Hessiana Hf contm as derivadas parciais de segunda ordem de f, isto Hij = 2f/ xixj

Bibliografia

Captulos 4.3 e 4.4 do AIMA (2 edio) ou 4.1 e 4.2 (3 edio) Captulos 1 e 2 do livro Stochastic Local Search. Wikipedia

http://en.wikipedia.org/wiki/Gradient_descent http://en.wikipedia.org/wiki/Newton%27s_method_in_optimization

This material is partially based on slides provided with the book 'Stochastic Local Search: Foundations and Applications' by Holger H. Hoos and Thomas Sttzle (Morgan Kaufmann, 2004) - see www.sls-book.net for further information.

Algoritmos Genticos Cap 4.4


Parcialmente adaptado de http://aima.eecs.berkeley.edu

O que so algoritmos genticos

Tcnicas de optimizao estocsticas inspiradas no processo de evoluo por seleco natural Comeam com uma populao de indivduos (ou cromosssomas) gerados aleatoriamente Fazem evoluir em simultneo a populao (solues alternativas) por intermdio de operadores de seleco, reproduo e mutao Os operadores genticos permitem manter a diversidade da populao e evitam que os AG convirjam prematuramente para um mximo local Com uma modelao correcta do problema, a qualidade mdia das geraes sucessivas ser aumentada, em particular a do seu melhor indivduo

Conceitos bsicos de AGs


A populao constituda por um nmero geralmente fixo de indivduos Cada cromossoma (ou indivduo) representado por uma cadeia de smbolos de um alfabeto finito, normalmente uma cadeia binria de 0s e 1s. Os cromossomas so constitudos por genes e os valores que cada gene pode tomar so os alelos. A qualidade de cada indivduo avaliada por uma funo de mrito (fitness function) que influencia a probabilidade de seleco dos indivduos para reproduo A reproduo combina dois indivduos para gerar novo(s) indivduo(s) Os filhos podem sofrer mutaes genticas aleatrias no seu cromossoma antes de serem colocados na populao (gerao seguinte) Uma gerao pode ser substituda integralmente pelos seus descendentes ou manter alguns dos seus indivduos mais aptos.

As rainhas novamente

Podemos representar um estado por um cromossoma constitudo por N-genes, em que cada alelo corresponde posio ocupado pela rainha respectiva:
Cromossoma

Alfabeto
{0,1} {1,2,3,4,5,6,7,8}

111 101 8 6

011 4

001 2

110 7

100 010 000 5 3 1

Funcionamento do AG

Funo de mrito: nmero de pares de rainhas que no se atacam (min = 0, max = 8 7/2 = 28) O indivduo j seleccionado para reproduo com probabilidade

Neste exemplo,

24/(24+23+20+11) = 31% 23/(24+23+20+11) = 29% etc

Operao de recombinao

O locus (ponto de corte) escolhido aleatoriamente: Progenitores 32752411 24748552 Descendncia 32748552 24752411 Progenitores 32752411 24748552 Descendncia 22758451 34742512

1 ponto de corte

Uniforme com mscara 01110101

Outros mtodos permitem a reproduo com N pontos de corte, mas normalmente melhores resultados so obtidos com a recombinao uniforme, em que criada aleatoriamente uma mscara para copiar o material gentico.

Operao de mutao
Alterao

aleatria de um valor dos genes, com uma probabilidade baixa (0.001 valor tpico) que o algoritmo gentico fique preso em mximos locais

Evita

Maximizao de funes

Como fazer para encontrar o mximo da funo f(x) = x*sin(10x)+1.0 com preciso de 6 casas decimais no intervalo [-1..2]? A funo de mrito simplesmente a funo que pretendemos maximizar Sero necessrios 22 bits:

2097152=221 < 3 000 0000 < 222 = 4194304

O valor correspondente de x obtido por simples aritmtica a partir do nmero em decimal representado pelo indivduo i:

x = -1.0 + decimal(i)*(1 (-2))/(222 1) = -1.0 + decimal(i)* 3 / (4194303)

Por exemplo, o cromossoma 100010111011010100011 representa o valor de x=0,637197

x = -1.0 + (2 288 967) * 3 / (4194303) = 0,637197

Podem experimentar o algoritmo com a aplicao disponibilizada em http://www.obitko.com/tutorials/genetic-algorithms/example-3d-function.php

Uma implementao de AG

Outra implementao de AG

Valores empricos

Para grandes populaes (100 indivduos)


Probabilidade

de recombinao 0.6 Probabilidade de mutao 0.001

Para populaes pequenas (30 indivduos)


Probabilidade

de recombinao 0.9 Probabilidade de mutao 0.01

O teorema do esquema

Um esquema um padro da forma H=(1 * 1 0 * 1 *) representando um conjunto de cromossomas ( * - dont care) O nmero total de smbolos fixo 0 ou 1 a ordem do esquema, O(H)=4 para o caso anterior O comprimento definidor a distncia entre a menor e maior posio definidas no esquema, exemplo d(H) = 5. Teorema do Esquema: o nmero de instncias de um determinado esquema cresce exponencialmente ao longo do tempo se estes possurem trs caractersticas:

Qualidade acima da mdia Baixa ordem Baixo comprimento definidor

Os algoritmos genticos apresentam paralelismo implcito: uma populao de n indivduos processa n3 esquemas.

Outros operadores de seleco


amostragem universal estocstica


Mecanismo para obter de uma vez s todos os indivduos para reproduo. Ordenam-se os indivduos por posio, utilizando esta posio para atribuir as probabilidades de seleco. Seja k um parmetro entre 0 e 1. Seleccionam-se dois indivduos aleatoriamente da populao. Gera-se um nmero aleatrio r. Se r < k fica-se fica-se com o melhor indivduo; caso contrrio selecciona-se para reproduo o pior deles. Substitui-se uma percentagem dos piores indivduos S se deixa reproduzir uma percentagem dos melhores indivduos. Retem-se sempre um pequeno nmero dos melhores indivduos.

por posio por torneio

estado estvel

por truncatura Elitista

O caixeiro viajante
O

problema do caixeiro viajante requer cuidados especiais para a sua resoluo com algoritmos genticos
Representao

dos cromossomas Operador de recombinao Operador de mutao

Cromossoma para o TSP

A representao natural recorre a uma lista ordenada de cidades para representar o circuito

Problemas a resolver
A

dificuldade essencial o operador de recombinao dado que qualquer dos mtodos vistos anteriormente podem criar indivduos inviveis (abortos) Duas aproximaes possveis:
Reparar

os indivduos Garantir que a recombinao s gera indivduos vlidos

Operador de recombinao PMX


Partially mapped crossover (PMX) Escolhe uma subsequncia a partir de um dos pais e preserva a ordem, na medida das possibilidades, do outro progenitor. Seleccionam-se dois pontos de corte

p1=1 2 3 | 4 5 6 7 | 8 9 p2=4 5 2 | 1 8 7 6 | 9 3

A seleco induz o conjunto de equivalncias 41, 5 8, 6 7 e 7 6. Os segmentos entre os pontos so trocados


f1=x x x | 1 8 7 6 | x x f2=x x x | 4 5 6 7 | x x f1=x 2 3 | 1 8 7 6 | x 9 f2=x x 2 | 4 5 6 7 | 9 3 f1=4 2 3 | 1 8 7 6 | 5 9 (porque 41 e 5 8) f2=1 8 2 | 4 5 6 7 | 9 3 (porque 41 e 5 8)

Copiam-se os restantes valores que no introduzam repeties


Recorre-se s equivalncias para substituir os restantes valores


Operador de recombinao OX

Order crossover (OX) Selecciona-se uma subsequncia e mantm-se a ordem do outro progenitor. Seleccionam-se dois pontos de corte

p1=1 2 3 | 4 5 6 7 | 8 9 p2=4 5 2 | 1 8 7 6 | 9 3 f1=x x x | 4 5 6 7 | x x f2=x x x | 1 8 7 6 | x x

Copiam-se os segmentos para os descendentes


Copiam-se os valores do outro progenitor sequencialmente a partir do segundo ponto de corte, evitando repeties de cidades

f1=2 1 8 | 4 5 6 7 | 9 3 f2=3 4 5 | 1 8 7 6 | 9 2

Outras variantes do OX

Seleccionam-se dois pontos de corte


p1=1 2 3 | 4 5 6 7 | 8 9 p2=4 5 2 | 1 8 7 6 | 9 3 f1=x x x | 4 5 6 7 | x x f2=x x x | 1 8 7 6 | x x

Copiam-se os segmentos para os descendentes


Em vez de se comear a partir do segundo ponto de corte comea-se pela ordem do outro progenitor desde o incio

f1=2 1 8 | 4 5 6 7 | 9 3 f2=2 3 4 | 1 8 7 6 | 5 9

Em vez de utilizar uma subsequncia, pode-se gerar uma mscara aleatria para seleccionar as cidades a manter para a gerao seguinte.

Operador de recombinao CX

Cycle crossover (CX) no necessita de pontos de corte


p1=1 2 3 4 5 6 7 8 9 p2=4 1 2 8 7 6 9 3 5 f1=1 x x x x x x x x f1=1 x x 4 x x x x x f1=1 x x 4 x x x 8 x f1=1 2 3 4 x x x 8 x f1=1 2 3 4 7 6 9 8 5

Comea-se na primeira cidade de p1


A respectiva em p2 a 4, colocando-se essa cidade na posio de p1 A respectiva em p2 a 8, colocando-se essa cidade na posio de p1 Itera-se at introduzir um ciclo (cidade j colocada) Preenchem-se as restantes a partir da sequncia no outro progenitor:

Operadores de mutao

Inverso (inverte subsequncia)


12|3456|789 12|6543|789 123456789 127345689 12345|678|9 1|678|23459 123456789 723456189

Insero (move arbitrariamente 1 cidade)


Deslocamento (move subsequncia)


Troca (troca duas cidades)


Algoritmos memticos

Aps aplicao de qualquer um dos operadores genticos e mesmo da inicializao da populao, efectua-se um procura local Estes algoritmos so designados por algoritmos memticos Por exemplo, pode-se aplicar o algoritmo trepa-colinas para melhorar o indivduo

Considerando todas as trocas de duas ou trs cidades e escolhendo a melhor alternativa at atingir um mnimo local (2-opt e 3-opt)

preciso ter cuidado na escolha do operador de mutao para no efectuar as mesmas operaes que a procura local. Uma possibilidade no efectuar procura local aps mutao.

Outros algoritmos de inspirao evolucionria


Programao Gentica
Evoluo Evoluo

de programas

Estratgias Evolutivas
de vectores reais com distribuies normais para resoluo de problemas de Engenharia O operador dominante a mutao

Programao Evolutiva
Os

indivduos so mquinas de estados

Programao Gentica

Cada indivduo um programa. A qualidade de um indivduo obtida por execuo do programa relativamente a um conjunto de testes. O material gentico encontra-se estuturado em rvore O material gentico de tamanho varivel durante o processo evolutivo O operador de recombinao troca subrvores entre os dois progenitores, preservando a sintaxe O operador de mutao substitui uma subrvore por outra construda aleatoriamente A populao inicial obtida pela gerao aleatria de funes e terminais que constituem os programas.

Evoluo de!"#$%&'# ()*+),%-(#.)+ ()*/0.)()+ 12 seguidores de paredes [Nilsson]


IF AND

east

IF

OR

NOT

AND

south

IF

ne

OR

NOT

AND

west

se

OR

NOT

north

s (IF (AND (OR (n) (ne)) (NOT (e))) (east) (IF (AND (OR (e) (se)) (NOT (s))) (south) (IF (AND (OR (s) (sw)) (NOT (w))) (west) (north))))
1998 Morgan Kaufman Publishers

sw

Recombinao de programas !"#$%&'()*+$ ,"-./$0/)%)1


NOT NOT AND

Randomly chosen crossover points


IF AND

IF

AND

se

OR

se

se

IF

NOT

OR

se

NOT

nw

NOT

AND

west

south

north

west

se

NOT

north Mother program


1998 Morgan Kaufman Publishers

Father program

Child program

Exemplo de programas gerados !"#$%&' (#)%*'+*,$,- +#*,('-

(IF (AND (NOT (e)) (IF (e)(s)(nw))) (OR (IF (1)(e)(south)) (IF (north)(east)(nw))) (IF (OR (AND (0)(north)) (AND (e)(IF (e) (IF (se)(south)(east)) (north)))) (AND (e) (NOT (IF (s)(sw)(e)))) (OR (OR (AND (nw)(east)) (west)) (nw))))
1998 Morgan Kaufman Publishers
1998 Morgan Kaufmann Publishers

Concluses

Grande impacto em problemas de optimizao, nomeadamente problemas de escalonamento, desenho de circuitos integrados, classificao, simulao e controlo. Algoritmos que suscitam muito interesse, provavelmente por causa das suas origens na teoria da evoluo. Falta estudar condies que identifiquem claramente as situaes em que os algoritmos genticos tm bom comportamento.

Resultados recentes (Christos Papadimitriou)

A mixability theory of sex in evolution, with Adi Livnat, Jonathan Dushoff, and Marcus Feldman, PNAS, December 2008. There had been no satisfactory explanation of the advantages of sex in evolution, and yet sex is almost ubiquitous among species despite its huge costs. Here we propose a novel explanation: Using standard models, we establish that, rather astonishingly, evolution of sexual species does not result in maximization of fitness, but in improvement of another important measure which we call mixability: The ability of a genetic variant to function adequately in the presence of a wide variety of genetic partners. In a follow-up article we also point out that mixability lies at the root of modularity and the genetic hierarchy (without it there are no genes, families of genes, etc.)

Bibliografia
Costa

& Simes, captulo de agentes adaptativos. Seco 4.1.4 (3 edio ) ou 4.3 (2 edio) do AIMA. Podero obter uma boa panormica em http://www.obitko.com/tutorials/geneticalgorithms/

Agentes Logicos

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

Resumo
Agentes baseados em conhecimento O mundo Wumpus Lgica em geralmodelos e consequncia o e Lgica Proposicional (Booleana) o Equivalncia, validade, satisfatibilidade e Regras de Inferncia e demonstrao de teoremas e ca encadeamento para a frente (forward chaining) encadeamento para trs (backward chaining) a resoluo ca

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

Bases de Conhecimento(s)
Inference engine Knowledge base domainindependent algorithms domainspecific content

Base de conhecimento = conjunto de frases numa linguagem formal Aproximao declarativa na construo de um agente (ou outro sistema ): ca ca Tell informar o sistema do que precisa de saber Seguidamente, o sistema pode perguntar a si prprio (Ask) o que deve o fazeras respostas obtidas (implicitamente) a partir da KB Os agentes podem ser analisados quanto ao seu n de conhecimento vel i.e., aquilo que sabem, independentemente da sua implementao ca Ou quanto ao seu n de implementao vel ca i.e., estruturas de dados na KB e algoritmos que as manipulam

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

Um agente simples baseado em conhecimento


function KB-Agent( percept) returns an action static: KB, a knowledge base t, a counter, initially 0, indicating time Tell(KB, Make-Percept-Sentence( percept, t)) action Ask(KB, Make-Action-Query(t)) Tell(KB, Make-Action-Sentence(action, t)) tt + 1 return action

O agente deve ser capaz de: Representar estados, aces, etc. co Incorporar novas percepes co Actualizar representaes internas do mundo co Deduzir propriedades escondidas do mundo Deduzir acoes apropriadas c

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

Descrio do mundo do Wumpus (PEAS) ca


Medida de desempenho ouro +1000, morte -1000 -1 por passo, -10 por utilizar a seta Ambiente Casas adjacentes ao wumpus so malcheirosas a Casas adjacenctes a um poo so ventosas c a Brilho sse ouro est na mesma casa a Disparo mata wumpus se estiver defronte dele Disparar gasta a unica seta Agarrar apanha o ouro da casa Largar deixa o ouro na mesma casa Sensores Brisa, Brilho, Cheiro, Grito, Batida Actuadores Rodar Esquerda, Rodar Direita, Avanar, Agarrar, Largar, Disparar, Subir c

Stench

Breeze

PIT
Breeze Breeze

Stench

PIT

Gold
Stench

Breeze

Breeze

Breeze

1
START

PIT
1 2 3 4

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

Caracterizao do mundo do Wumpus ca


Observvel?? a

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

Caracterizao do mundo do Wumpus ca


Observvel?? Noapenas percepoes locais a a c Determinista??

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

Caracterizao do mundo do Wumpus ca


Observvel?? Noapenas percepoes locais a a c Determinista?? Simos resultados especicados exactamente Episdico?? o

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

Caracterizao do mundo do Wumpus ca


Observvel?? Noapenas percepoes locais a a c Determinista?? Simos resultados especicados exactamente Episdico?? Nosequencial ao n das acoes o a vel c Esttico?? a

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

Caracterizao do mundo do Wumpus ca


Observvel?? Noapenas percepoes locais a a c Determinista?? Simos resultados especicados exactamente Episdico?? Nosequencial ao n das acoes o a vel c Esttico?? SimWumpus e poos no se movem a c a Discreto??

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

10

Caracterizao do mundo do Wumpus ca


Observvel?? Noapenas percepoes locais a a c Determinista?? Simos resultados especicados exactamente Episdico?? Nosequencial ao n das acoes o a vel c Esttico?? SimWumpus e poos no se movem a c a Discreto?? Sim Agente unico??

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

11

Caracterizao do mundo do Wumpus ca


Observvel?? Noapenas percepoes locais a a c Determinista?? Simos resultados especicados exactamente Episdico?? Nosequencial ao n das acoes o a vel c Esttico?? SimWumpus e poos no se movem a c a Discreto?? Sim Agente unico?? SimWumpus basicamente uma propriedade do ambiente e

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

12

Explorando um mundo do Wumpus

OK

OK
A

OK

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

13

Explorando um mundo do Wumpus

B
A

OK

OK
A

OK

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

14

Explorando um mundo do Wumpus

P?

B
A

OK

P?

OK
A

OK

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

15

Explorando um mundo do Wumpus

P?

B
A

OK

P?

OK S
A A

OK

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

16

Explorando um mundo do Wumpus

P?

P
B
A

OK

P? OK

OK S
A A

OK

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

17

Explorando um mundo do Wumpus

P?

P
B
A

OK
A

P? OK

OK S
A A

OK

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

18

Explorando um mundo do Wumpus

P?

OK

P
B
A

OK
A

P? OK

OK

OK S
A A

OK

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

19

Explorando um mundo do Wumpus

P?

OK

P
B
A

OK

P? BGS OK OK A A OK
A

OK S
A

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

20

Outras situaes dif co ceis


P?

Vento em (1,2) e (2,1) no existem aces seguras a co


B
A

OK

P? P?

OK B
A A

OK P?

Assumindo poos uniformemente disc tribu dos, (2,2) tem poo c/ prob 0.86, c vs. 0.31

S
A

Cheiro em (1,1) no se pode mover a

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

21

Outras situaes dif co ceis

P?

Vento em (1,2) e (2,1) no existem aces seguras a co


P? P?

B
A

OK

OK B
A A

OK P?

Assumindo poos uniformemente disc tribu dos, (2,2) tem poo c/ prob 0.86, c vs. 0.31 Cheiro em (1,1) no se pode mover a Pode recorrer a estratgia de coero: e ca disparar em frente wumpus estava l morto seguro a wumpus no estava l seguro a a

S
A

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

22

Noes de Lgica co o
Lgicas so linguagens formais para de representao de informao o a ca ca que permitem a extraco de concluses ca o Sintaxe dene as frases permitidas da linguagem Semntica dene o signicado das frases; a i.e., dene verdade de uma frase num mundo E.g., a linguagem da aritmtica e x + 2 y uma frase (proposio); x2 + y > no uma frase e ca a e x + 2 y verdade sse o nmero x + 2 no menor do que o nmero y e u a e u x + 2 y verdade num mundo em que x = 7, y = 1 e x + 2 y falso num mundo em que x = 0, y = 6 e

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

23

Concluso Lgica a o
Concluso signica que algo segue de outrem: a KB |= Da base de conhecimento KB conclui-se a frase se e somente se verdade em todos os mundos em que KB verdade e e Da base de conhecimento KB contendo o Boavista ganhou e o Porto ganhou conclui-se (entails) o Boavista ganhou ou o Porto ganhou E.g., De x + y = 4 conclui-se 4 = y + x Concluso Lgica uma relao entre frases (i.e., sintaxe) a o e ca que se encontra baseada na semntica a Nota: o crebro processa sintaxe (de algum tipo) e

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

24

Modelos
Os lgicos pensam normalmente em termos de modelos, que so mundos o a formalmente estruturadas relativamente aos quais se pode avaliar a veracidade Diz-se que m modelo de uma proposio se verdade em m e ca e M () o conjunto de todos os modelos de e Logo KB |= se e somente se M (KB) M () E.g. KB = Sporting ganhou e Benca ganhou = Benca ganhou
x x x x x x x x xx x x x x x x x x x x x x x x x x x x x xx x x x x x x x x x x x x x x x

M(

M(KB)
x

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

25

Concluses no mundo do wumpus o

Situao aps detectar nada em [1,1], ca o deslocao para a direita, brisa em [2,1] ca

? ?
B
A A

Considerar modelos poss veis para ?s assumindo apenas poos c 3 escolhas Booleanas 8 mundos poss veis

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

26

Modelos Wumpus

2 2

PIT

Breeze Breeze

PIT
1 1 2 3 2 3

2 2

PIT

PIT
2
Breeze Breeze

1
Breeze

PIT
1 2 3

1 1 1 2 3 1

2 2

PIT

PIT

PIT
Breeze Breeze

PIT
1 2 3

PIT

PIT
1 2 3

Breeze

PIT
1 2 3

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

27

Modelos Wumpus

2 2

PIT

Breeze Breeze

PIT
1 2 3 1 2 3

KB
2

PIT

PIT
2
Breeze Breeze

1
Breeze

PIT
1 2 3

1 1 1 2 3 1

2 2

PIT

PIT

PIT
Breeze Breeze

PIT
1 2 3

PIT

PIT
1 2 3

Breeze

PIT
1 2 3

KB = regras do mundo-wumpus + observaes co

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

28

Modelos Wumpus

2 2

PIT

Breeze Breeze

PIT
1 2 3 1 2 3

KB
2

1
2

PIT

PIT
2
Breeze Breeze

1
Breeze

PIT
1 2 3

1 1 1 2 3 1

2 2

PIT

PIT

PIT
Breeze Breeze

PIT
1 2 3

PIT

PIT
1 2 3

Breeze

PIT
1 2 3

KB = regras do mundo-wumpus + observaes co 1 = [1,2] seguro, KB |= 1, demonstrado por vericao de modelos e ca


Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/ 29

Modelos Wumpus

2 2

PIT

Breeze Breeze

PIT
1 2 3 1 2 3

KB
2

PIT

PIT
2
Breeze Breeze

1
Breeze

PIT
1 2 3

1 1 1 2 3 1

2 2

PIT

PIT

PIT
Breeze Breeze

PIT
1 2 3

PIT

PIT
1 2 3

Breeze

PIT
1 2 3

KB = regras do mundo-wumpus + observaes co

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

30

Modelos Wumpus

2 2

PIT

Breeze Breeze

PIT
1 2 3 1 2 3

KB
2

PIT

PIT
2
Breeze Breeze

1
Breeze

PIT
1 2 3

1 1 1 2 3 1

2 2

PIT

PIT

PIT
Breeze Breeze

PIT
1 2 3

PIT

PIT
1 2 3

Breeze

PIT
1 2 3

KB = regras do mundo-wumpus + observaes co 2 = [2,2] seguro, KB |= 2 e


Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/ 31

Inferncia e
KB
i

= proposio pode ser derivada de KB pelo procedimento i ca

Consequncias de KB so o palheiro; a agulha. e a e Concluso Lgica = agulha no palheiro; inferncia = encontr-la a o e a Fidedigno: i dedigno (ou slido) se e o quando KB i , ento tambm verdade que KB |= a e e Completo: i completo se e quando KB |= , ento tambm verdade que KB a e e

Antecipao: deniremos uma lgica (lgica de primeira ordem) que suca o o e cientemente expressiva para dizer quase tudo o que interessante, e para a e qual existe um procedimento de inferncia dedigno e completo. e Ou seja, o procedimento responder a qualquer questo que se segue daquilo a a que conhecido pela KB. e

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

32

Lgica Proposicional: Sintaxe o


A lgica proposicional a lgica mais simplesilustra os conceitos bsicos o e o a Os s mbolos (ou variveis) proposicionais P1, P2 etc so proposies (frases) a a co Se S uma proposio, S uma proposio (negao) e ca e ca ca Se S1 e S2 so proposies, (S1 S2) uma proposio (conjuno) a co e ca ca Se S1 e S2 so proposies, (S1 S2) uma proposio (disjuno) a co e ca ca Se S1 e S2 so proposies, (S1 S2) uma proposio (implicao) a co e ca ca Se S1 e S2 so proposies, (S1 S2) uma proposio (bicondicional) a co e ca

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

33

Lgica Proposicional: Semntica o a


Cada modelo atribui verdadeiro/falso a cada s mbolo proposicional E.g. P1,2 P2,2 P3,1 verdadeiro verdadeiro f also

(Com estes s mbolos, 8 modelos poss veis, podem ser enumerados automaticamente.) Regras para avaliar veracidade relativamente a um modelo m: S S1 S2 S1 S2 S1 S2 i.e., S1 S2 verdade e verdade e verdade e verdade e falso e verdade e sse sse sse sse sse sse S1 S S1 S1 S1 S1 S2 falso e verdade e e verdade ou e falso ou e verdade e e verdade e S2 e S2 S2 S2 S2 S1 verdade e verdade e verdade e falso e verdade e

Um processo recursivo simples avalia uma proposio arbitrria, e.g., ca a P1,2 (P2,2 P3,1) = verd (f also verd) = verd verd = verd
Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/ 34

Tabelas de verdade para os conectivos


P f also f also verd verd Q f also verd f also verd P verd verd f also f also P Q f also f also f also verd P Q P Q P Q f also verd verd verd verd f also verd f also f also verd verd verd

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

35

Proposies no mundo do Wumpus co


Seja Pi,j verdade se existir um poo em [i, j]. c Seja Bi,j verdade se se sentir uma brisa em [i, j]. P1,1 B1,1 B2,1 Poos causam brisa em casas adjacentes c

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

36

Proposies no mundo do Wumpus co


Seja Pi,j verdade se existir um poo em [i, j]. c Seja Bi,j verdade se se sentir uma brisa em [i, j]. P1,1 B1,1 B2,1 Poos causam brisa em casas adjacentes c B1,1 B2,1 (P1,2 P2,1) (P1,1 P2,2 P3,1)

Uma casa ventosa sse existir um poo adjacente e c

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

37

Inferncia atravs de tabelas de verdade e e


B1,1 f alse f alse . . . f alse f alse f alse f alse f alse . . . true B2,1 f alse f alse . . . true true true true true . . . true P1,1 f alse f alse . . . f alse f alse f alse f alse f alse . . . true P1,2 f alse f alse . . . f alse f alse f alse f alse f alse . . . true P2,1 f alse f alse . . . f alse f alse f alse f alse true . . . true P2,2 f alse f alse . . . f alse f alse true true f alse . . . true P3,1 f alse true . . . f alse true f alse true f alse . . . true KB 1 f alse true f alse true . . . . . . f alse true true true true true true true f alse true . . . . . . f alse f alse

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

38

Inferncia por enumerao e ca


Enumerao em profundidade primeiro dos modelos todos slido e completo ca e o
function TT-Entails?(KB, ) returns true or false symbols a list of the proposition symbols in KB and return TT-Check-All(KB, , symbols, [ ]) function TT-Check-All(KB, , symbols, model) returns true or false if Empty?(symbols) then if PL-True?(KB, model) then return PL-True?(, model) else return true else do P First(symbols); rest Rest(symbols) return TT-Check-All(KB, , rest, Extend(P , true, model ) and TT-Check-All(KB, , rest, Extend(P , false, model )

Para n s mbolos, complexidade temporal de O(2n) e espacial O(n); problema coNP-completo e


Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/ 39

Equivalncia Lgica e o
Duas proposies so logicamente equivalentes sse forem verdadeiras nos co a mesmos modelos: sse |= e |= ( ) ( ) (( ) ) (( ) ) () ( ) ( ) ( ) ( ) ( ) ( ( )) ( ( )) ( ) comutatividade de ( ) comutatividade de ( ( )) associatividade de ( ( )) associatividade de eliminao da dupla negao ca ca ( ) contraposio ca ( ) eliminao da implicao ca ca (( ) ( )) eliminao do bicondicional ca ( ) de Morgan ( ) de Morgan (( ) ( )) distributividade de sobre (( ) ( )) distributividade de sobre

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

40

Validade e satisfatibilidade
Uma proposio vlida se for verdadeira em todos os modelos, ca e a e.g., T rue, A A, A A, (A (A B)) B Validade est relacionado com consequncia atravs do Teorema da Deduo: a e e ca KB |= se e somente se (KB ) vlida e a Uma proposio satisfaz se verdadeira em algum modelo ca e vel e e.g., A B, C Uma proposio insatisfaz se for verdadeira em nenhum modelo ca e vel e.g., A A Insatisfatibilidade relaciona-se com consequncia atravs de: e e KB |= se e somente se (KB ) insatisfaz e vel i.e., demonstrar por reductio ad absurdum

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

41

Geograa das expresses Booleanas o

Eixo de simetria = negao ca

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

42

Mtodos de Prova e
Os mtodos de prova agrupam-se em dois tipos: e Aplicao de regras de inferncia ca e Gerao leg ca tima (slida) de novas proposioes a partir de antigas o c Prova = uma sequncia de aplicao de regras de inferncia e ca e Regras de inferncia podem ser operadores em algoritmos de procura e Habitualmente obrigam ` traduo das frases para uma forma normal a ca Vericao de modelos ca enumerao por tabelas de verdade (sempre exponencial em n) ca melhoramentos ao retrocesso, e.g., DavisPutnamLogemannLoveland procura heur stica em espao de modelos (slido mas incompleto) c o e.g., algoritmos trepa-colinas com min-conitos

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

43

Encadeamento para a frente e para trs a


Forma de Horn (restrita) KB = conjuno de clusulas de Horn ca a clusula de Horn = a s mbolo proposicional; ou (conjuno de s ca mbolos) s mbolo E.g., C (B A) (C D B) Modus Ponens (para a Forma de Horn): completa para KBs de Horn 1, . . . , n, 1 n Pode ser utilizada com encadeamento para a frente ou para trs. a Estes algoritmos so muito naturais e executam em tempo linear a

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

44

Encadeamento para a frente


Ideia: disparar toda a regra cujas premissas esto satisfeitas na KB, a adicionar a sua concluso ` KB, at se chegar ` pergunta a a e a P Q LM P BL M AP L AB L A B
Q

M L

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

45

Algoritmo de encadeamento para a frente


function PL-FC-Entails?(KB, q) returns true or false local variables: count, a table, indexed by clause, initially the number of premises inferred, a table, indexed by symbol, each entry initially false agenda, a list of symbols, initially the symbols known to be true while agenda is not empty do p Pop(agenda) unless inferred[p] do inferred[p] true for each Horn clause c in whose premise p appears do decrement count[c] if count[c] = 0 then do if Head[c] = q then return true Push(Head[c], agenda) return false

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

46

Exemplo de encadeamento para a frente


Q 1 P 2 M 2 L 2 A 2 B

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

47

Exemplo de encadeamento para a frente


Q 1 P 2 M 2 L 1 A 1 B

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

48

Exemplo de encadeamento para a frente


Q 1 P 2 M 1 L 1 A 0 B

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

49

Exemplo de encadeamento para a frente


Q 1 P 1 M 0 L 1 A 0 B

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

50

Exemplo de encadeamento para a frente


Q 1 P 0 M 0 L 1 A 0 B

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

51

Exemplo de encadeamento para a frente


Q 0 P 0 M 0 L 0 A 0 B

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

52

Exemplo de encadeamento para a frente


Q 0 P 0 M 0 L 0 A 0 B

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

53

Exemplo de encadeamento para a frente


Q 0 P 0 M 0 L 0 A 0 B

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

54

Demonstrao de completude ca
EF deriva toda a proposio atmica que conclu a partir de KB ca o e da 1. EF atinge um ponto xo em que no so derivadas novas proposies a a co atmicas o 2. Considere-se o estado nal como um modelo m, atribuindo verdadeiro/falso aos s mbolos 3. Toda a clusula em KB inicial verdadeira em m a e Demo: Suponha-se que a clusula a1 . . . ak b falsa em m a e Logo a1 . . . ak verdadeiro em m e b falso em m e e Logo o algoritmo no atingiu um ponto xo! a 4. Portanto m modelo de KB e 5. Se KB |= q, q verdadeiro em todo o modelo de KB, incluindo m e

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

55

Encadeamento para trs a


Ideia: andar ao contrrio a partir da pergunta q: a para provar q por ET, vericar se q j sabido, ou ae provar por ET todas as premissas de alguma regra concluindo q Evitar ciclos: vericar se um novo sub-objectivo j se encontra na pilha de a objectivos Evitar trabalho repetido: vericar se o novo sub-objectivo 1) j foi demonstrado verdadeiro, ou a 2) j falhou a

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

56

Exemplo de encadeamento para trs a


Q

M L

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

57

Exemplo de encadeamento para trs a


Q

M L

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

58

Exemplo de encadeamento para trs a


Q

M L

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

59

Exemplo de encadeamento para trs a


Q

M L

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

60

Exemplo de encadeamento para trs a


Q

M L

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

61

Exemplo de encadeamento para trs a


Q

M L

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

62

Exemplo de encadeamento para trs a


Q

M L

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

63

Exemplo de encadeamento para trs a


Q

M L

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

64

Exemplo de encadeamento para trs a


Q

M L

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

65

Exemplo de encadeamento para trs a


Q

M L

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

66

Exemplo de encadeamento para trs a


Q

M L

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

67

Encadeamento para a frente vs. para trs a


EF guiado pelos dados, cf. processamento automtico, inconsciente, e.g., e a reconhecimento de objectos, decises rotineiras o Pode efectuar muito trabalho desnecessrio que irrelevante para o objectivo a e ET guiado pelo objectivo, adequadao para a resoluo de problemas, e.g., e ca Onde esto as minhas chaves? Como posso entrar para o 2o ciclo? a Complexidade do ET pode ser muito inferior do que linear no tamanho da KB

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

68

Resoluo ca
Forma Normal Conjuntiva (FNCuniversal) conjuno de disjunes de literais ca co clusulas a E.g., (A B) (B C D) Regra de inferncia Resoluo (para FNC): completa para a lgica proposie ca o cional m1 mn 1 k, 1 i1 i+1 k m1 mj1 mj+1 mn em que
i

e mj so literais complementares. E.g., a P1,3 P2,2, P2,2 P1,3

Resoluo slida e completa para a lgica proposicional ca e o o

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

69

Converso para FNC a


B1,1 (P1,2 P2,1) 1. Eliminar , substituindo por ( ) ( ). (B1,1 (P1,2 P2,1)) ((P1,2 P2,1) B1,1) 2. Eliminar , substituindo por . (B1,1 P1,2 P2,1) ((P1,2 P2,1) B1,1) 3. Deslocar para dentro recorrendo `s leis de De Morgan e dupla negao: a ca (B1,1 P1,2 P2,1) ((P1,2 P2,1) B1,1) 4. Aplicar distributividade ( sobre ): (B1,1 P1,2 P2,1) (P1,2 B1,1) (P2,1 B1,1)

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

70

Algoritmo de Resoluo ca
Prova por contradio, i.e., demonstrar que KB insatisfaz ca e vel
function PL-Resolution(KB, ) returns true or false clauses the set of clauses in the CNF representation of KB new { } loop do for each Ci, Cj in clauses do resolvents PL-Resolve(Ci, Cj ) if resolvents contains the empty clause then return true new new resolvents if new clauses then return false clauses clauses new

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

71

Exemplo de Resoluo ca
KB = (B1,1 (P1,2 P2,1)) B1,1 = P1,2

P2,1 B1,1 B1,1 P1,2 B1,1 P P 1,2 2,1

B1,1 P1,2 P2,1

P1,2 B1,1

B1,1

P1,2

P1,2

B1,1 P2,1 B1,1 P P 1,2 2,1

P2,1

P2,1

P1,2

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

72

Um agente lgico no mundo do Wumpus o


Formulao em lgica proposicional: ca o P1,1 W1,1 Bx,y (Px,y+1 Px,y1 Px+1,y Px1,y ) Sx,y (Wx,y+1 Wx,y1 Wx+1,y Wx1,y ) W1,1 W1,2 . . . W4,4 W1,1 W1,2 W1,1 W1,3 . . So necessrias 64 variveis proposicionais e 155 frases a a a

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

73

function PL-Wumpus-Agent( percept) returns an action inputs: percept, a list, [stench,breeze,glitter] static: KB, a knowledge base, initially containing the physics of the world x, y, orientation, the agents position (initially [1,1]) and orientation (initially right) visited, an array indicating which squares have been visited, initially false action, the agents most recent action, initially null plan, an action sequence, initially empty update x,y,orientation, visited based on action if stench then Tell(KB, Sx,y ) else Tell(KB, Sx,y ) if breeze then Tell(KB, Bx,y ) else Tell(KB, Bx,y ) if glitter then action grab else if plan is nonempty then action Pop(plan) else if for some fringe square [i,j], Ask(KB, ( Pi,j Wi,j )) is true or for some fringe square [i,j], Ask(KB, (Pi,j Wi,j )) is false then do plan A-Graph-Search(Route-Problem([x,y], orientation, [i,j],visited)) action Pop(plan) else action a randomly chosen move return action
Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/ 74

Limites de expressividade da lgica proposicional o


KB contm clusulas capturando as leis f e a sica para cada casa Para todo o tempo t e casa [x, y], Lt F acingRightt F orwardt Lt x,y x+1,y Proliferao rpida do nmero de clusulas ca a u a

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

75

O SuDoKu em lgica proposicional o


Cada clula contm um inteiro entre 1 e 9 e e Nenhum par de clulas na mesma linha contm o e e mesmo valor Nenhum par de clulas na mesma coluna contm o e e mesmo valor Nenhum par de clulas num bloco 3x3 contm o mesmo e e valor

Saber se existe ou no soluo para um dado puzzle SuDoKu um a ca e problema NP-completo, e como tal pode ser reduzido por uma transformao ca polinomial a um problema de satisfatibilidade booleana.

- suji wa dokushin ni kagiru

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

76

Traduo do SuDoKu para lgica proposicional ca o


So necessrias n n n = n3 variveis para um SuDoKU n n. a a a Varivel ci,j,k (1 i, j, k n) verdadeira quando i j contm o valor k . a e e Clusulas de clula n2 (1 + n(n1) ) a e 2
1kn ci,j,k

ci,j,k ci,j,l

1 clusula para cada casa 1 i, j n a (1 k < l n) n(n1) clusulas para cada casa 1 i, j n a 2

Clusulas de linha n2 (1 + n(n1) ) a 2


1jn ci,j,k

ci,j,k ci,l,k

1 clusula para cada casa 1 i, k n a (1 j < l n) n(n1) clusulas para cada casa 1 i, k n a 2

Adicionam-se clusulas semelhantes para tratar as colunas e os blocos, oba tendo um total de 2 n4 2 n3 + 4 n2 clusulas. Para um puzzle 9x9 temos a assim exactamente 11988 clusulas. a Junta-se a proposio ci,j,k para cada casa i j ocupada com o valor k. ca
Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/ 77

O nosso puzzle SuDoKu em lgica proposicional o


c1,1,1 c1,1,2 . . . c1,1,8 c1,1,9 (clulas) e c1,1,1 c1,1,2 c1,1,1 c1,1,3 . . . c1,1,1 c1,2,1 . . . c1,8,1 c1,9,1 (linhas) c1,1,1 c1,2,1 c1,1,1 c1,3,1 . . . c1,1,1 c2,1,1 . . . c8,1,1 c9,1,1 (colunas) c1,1,1 c2,1,1 c1,1,1 c3,1,1 . . . c1,1,1 c1,2,1 . . . c3,2,1 c3,3,1 (blocos) c1,1,1 c2,2,1 c1,1,1 c2,3,1 . . . c1,1,8 c1,9,3 ... c9,9,9 (valores)

A soluo do puzzle SuDoKu pode ser extra das variveis verdadeiras ca da a num modelo que satisfaa todas as clusulas. Encontrar esse modelo um c a e problema da classe FNP (function NP problem, na terminologia inglesa).
Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/ 78

Resumo das classes de complexidade (P)


Um problema pertence ` classe P, quando pode ser resolvido por uma a mquina de Turing determinista em tempo polinomial. a Um problema de deciso P-completo se pertence a P e qualquer problema a e na classe P pode ser reduzido a ele (em espao logar c tmico). Saber se um conjunto de clusulas de Horn satisfat um um proba e vel e lema P-completo (HORNSAT) Saber qual o valor de um circuito booleano dados os seus inputs Pe completo (CIRCUIT VALUE) Saber se um nmero inteiro primo pertence a P (resultado de 2002)! u e

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

79

Resumo das classes de complex. (NP e coNP)


Um problema pertence ` classe NP, quando pode ser resolvido por uma a mquina de Turing no determinista em tempo polinomial. a a Um problema de deciso NP-completo quando a soluo pode ser a e ca vericada em tempo polinomial. Formalmente, um problema NP-completo e 1. se pertence a NP 2. qualquer problema na classe NP pode ser reduzido a ele por uma transformao polinomial ca Caso um problema s obedea ao critrio (2) diz-se NP-dif o c e cil. Um problema pertence ` classe coNP quando o seu complementar pera tence ` classe NP (pode-se vericar que no soluo em tempo polinomial). a a e ca Presume-se que P = N P e que N P = coN P .

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

80

Complexidade e lgica proposicional o


Teorema de Cook-Levin (1971): O problema SAT NP-completo. e

NOTA: Testar a validade de um conjunto de frmulas booleanas um probo e lema coNP-completo (VALIDITY).

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

81

Outros problemas NP-completos (Karp 1972)


SAT
0-1 INTEGER PROGRAMMING 3-SAT CLIQUE CHROMATIC NUMBER SET PACKING CLIQUE COVER VERTEX COVER EXACT COVER SET COVERING 3D MATCHING FEEDBACK ARC SET STEINER TREE FEEDBACK NODE SET HITTING SET DIRECTED HAMILTONIAN CIRCUIT KNAPSACK UNDIRECTED HAMILTONIAN CIRCUIT JOB SEQUENCING PARTITION MAX-CUT

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

82

Vericao eciente de satisfatibilidade ca


A existncia de algoritmos ecientes de satisfatibilidade permite-nos lidar e com problemas combinatrios complexos o Todos os problemas NP-completos podem ser reduzidos ao problema da satisfatibilidade de clusulas de lgica proposicional a o Duas fam de algoritmos: lias Baseados em retrocesso, e.g. Davis-Putnam-Logemann-Loveland Por melhoramento iterativo (procura local), e.g. WalkSAT

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

83

Algoritmo de Davis-Putnam
Enumerao recursiva em profundidade primeiro de todos os modelos poss ca veis para proposies na FNC, com as seguintes melhorias: co Terminao com modelos parciais: uma clusula verdadeira quando pelo ca a e menos um dos literais verdadeiro. Logo, os restantes valores dos s e mbolos proposicionais so irrelevantes. a Heur stica dos s mbolos puros: um s mbolo puro quando ocorre sempre e com o mesmo sinal em todas as clusulas. Nas proposies abaixo, A e B a co so puros: a (A B) (B C) (C A)

Heur stica da clusula unitria: Quando todos os literais so falsos ` a a a a excepo de um, o valor desse ca automaticamente denido. Pode originar ca propagaes unitrias em cascata. co a

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

84

Algoritmo de Davis-Putnam
function DPLL-Satisfiable?(s) returns true or false inputs: s, a sentence in propositional logic clauses the set of clauses in the CNF representation of s symbols a list of the proposition symbols in s return DPLL(clauses, symbols, [ ]) function DPLL(clauses, symbols, model) returns true or false if every clause in clauses is true in model then return true if some clause in clauses is false in model then return false P, value Find-Pure-Symbol(symbols, clauses, model) if P is non-null then return DPLL(clauses, symbolsP, [P = value|model ]) P, value Find-Unit-Clause(clauses, model) if P is non-null then return DPLL(clauses, symbolsP, [P = value|model ]) P First(symbols); rest Rest(symbols) return DPLL(clauses, rest, [P = true|model ]) or DPLL(clauses, rest, [P = false|model ])

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

85

Exemplo de aplicao ca
a b c b d a c ad ce e f d c f

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

86

Propriedades do algoritmo de Davis-Putnam


Completo Ecaz na prtica podendo resolver problemas de vericao de Hardware a ca com 1 milho de variveis a a

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

87

WalkSAT
Trepa-colinas no espao de atribuies completas c co Em cada iterao o algoritmo escolhe uma clusula no satisfeita e um ca a a s mbolo dessa clusula para trocar. A forma de escolha do s a mbolo a trocar de valor ela prpria aleatria, podendo ser: e o o Utilizando a heur stica min-conitos minimizando o nmero de u clusulas insatisfeitas no passo seguinte a Escolha aleatria do s o mbolo a trocar na clusula (passeio aleatrio) a o

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

88

WalkSAT
function WalkSAT(clauses, p, max-ips) returns a satisfying model or failure inputs: clauses, a set of clauses in propositional logic p, the probability of choosing to do a random walk move, typically around 0.5 max-ips, number of ips allowed before giving up model a random assignment of true/false to the symbols in clauses for i = 1 to max-ips do if model satises clauses then return model clause a randomly selected clause from clauses that is false in model with probability p ip the value in model of a randomly selected symbol from clause else ip whichever symbol in clause maximizes the number of satised clauses return failure

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

89

Propriedades do WalkSAT
Incompleto Se uma proposio insatisfaz ento o algoritmo no termina: limitaca e vel a a se max f lips... Logo, procura local no serve em geral para resolver o problema da a consequncia lgica e o Algoritmos locais como o WalkSAT so mais ecazes quando se espera a que uma soluo exista ca Muito eciente na prtica... a

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

90

Problemas de satisfatibilidade dif ceis


Considere clusulas 3-CNF geradas aleatoriamente, e.g: a (DBC)(BAC)(CBE)(EDB)(BEC) Seja m = nmero de clusulas u a n = nmero de s u mbolos Os problemas mais dif ceis parecem concentrar-se perto do valor do rcio a m/n = 4.3 (ponto cr tico)

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

91

Problemas de satisfatibilidade dif ceis

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

92

Problemas de satisfatibilidade dif ceis

Tempo de execuo mdio para 100 frmulas aleatrias 3-CNF satisfaz ca e o o veis (com n = 50).

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

93

Sumrio a
Agentes lgicos aplicam inferncia a bases de conhecimento para derivar nova informao o e ca e tomar decises o Conceitos bsicos de lgica: a o sintaxe: estrutura formal das frases declarativas semntica: veracidade das frases relativamente a modelos a concluso: verdade necessria de uma frase dado outra a a inferncia: derivao de frases a partir de outras frases e ca slido: derivaes produzem apenas frases que so concluses lgicas o co a o o completo: derivaoes conseguem produzir todas as frases que so consequncia lgicas c a e o O mundo do Wumpus requer a capacidade de lidar com informao partial e negativa, ca racioc por casos, etc. nio Encadeamento para a frente e para trs tm complexidade temporal linear na dimenso da a e a KB, completos para clusulas de Horn. Resoluo completa para a lgica proposicional a ca e o A lgica proposicional no tem poder expressivo suciente o a

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

94

Problemas de Satisfacao de Restricoes

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

Resumo
Exemplos de CSP (Constraint Satisfaction Problems) Procura com retrocesso (backtracking) para CSPs Estrutura e decomposio de problemas ca Procura local para CSPs

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

Problemas de Satisfao de Restries (CSPs) ca co


Problema usual de procura: o estado uma caixa negra estrutura de dados arbitrria suportando e a mtodos para teste objectivo, funo de avaliaes e sucessor e ca co CSP: estado denido com variveis Xi que tomam valores num dom Di e a nio teste objectivo um conjunto de restries especicando as e co combinaes permitidas para subconjuntos de variveis co a Exemplo simples de uma linguagem de representao formal ca Permite recorrer a algoritmos genricos melhores do que e os algoritmos de procura estudados anteriormente

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

Exemplo: Colorao de Mapas ca

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

Exemplo: Colorao de Mapas ca

Variveis W A, N T , Q, N SW , V , SA, T a Dom nios Di = {red, green, blue} Restries: regies adjacentes devem ter cores diferentes co o e.g., W A = N T (se a linguagem o permitir), ou (W A, N T ) {(red, green), (red, blue), (green, red), (green, blue), . . .}

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

Exemplo: Colorao de Mapas (cont.) ca

Solues so atribuioes de valores a variveis que satisfazem todas as reco a c a stries, e.g., co {W A = red, N T = green, Q = red, N SW = green, V = red, SA = blue, T = green}

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

Grafo de restries co
CSP binrio: cada restrio relaciona no mximo duas variveis a ca a a Grafo de restries: ns so variveis e arcos correspondem a restrioes co o a a c

Algoritmos genricos para CSPs fazem uso da estrutura do grafo para tornar e a procura mais eciente. E.g., Tasmnia um subproblema independente! a e
Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/ 7

Tipos de CSPs
Variveis discretas a dom nios nitos; cardinalidade d O(dn) atribuies completas co e.g., CSPs Booleanos, incl. satisfatibilidade Booleana (NP-completo) dom nios innitos (inteiros, cadeias de caracteres, etc.) escalonamento: variveis representam in a cio/m das tarefas utilizam linguagem de restrioes: StartJob1 + 5 StartJob3 c restries lineares so solveis, no-lineares indecid co a u a veis Variveis cont a nuas e.g., tempos de in cio/m das observaoes do Telescpio Hubble c o restries lineares resolveis em tempo polinomial por mtodos de co u e programao linear ca

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

Tipos de restries co
Unrias restries envolvendo apenas uma varivel, a co a e.g., SA = green Binrias restries envolvendo pares de variveis, a co a e.g., SA = W A Ordem superior restries envolvendo 3 ou mais variveis, co a e.g., restries das colunas em problemas cripto-aritmticos co e Preferncias (restrioes suaves), e.g., red melhor do que green e c e habitualmente representado atribuindo um custo a cada atribuio de variveis ca a problemas de optimizao com restries ca co

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

Exemplo: Cripto-aritmtico e

Variveis: F T U W R O X1 X2 X3 a Dom nios: {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} Restries co alldi(F, T, U, W, R, O) O + O = R + 10 X1, etc.

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

10

CSPs reais
Problemas de alocao ca e.g., quem o professor de determinada disciplina ? e Problemas de horrios a e.g., quando que uma disciplina oferecida e onde? e e Congurao de Hardware ca Folhas de clculo a Escalonamento de Transportes Planeamento/Escalonamento de Produo ca Planeamento Espacial Notar que muitos problemas reais requerem variveis cont a nuas

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

11

Formulao como Problema de Procura ca


Os estados so denidos pelos valores atribu at ao momento `s variveis a dos e a a Estado inicial: a atribuio vazia, { } ca Funo sucessor: atribuir um valor a uma varivel livre ca a que no entre em conito com a atribuio actual. a ca falha se no existirem atribuies poss a co veis (irreparvel!) a Teste objectivo: a atribuio no tem variveis livres ca a a 1) E o mesmo para todos os CSPs! 2) Toda a soluo ocorre ` profundidade n com n variveis ca a a utilizao de procuras em profundidade primeiro ca 3) Caminho irrelevante, pode-se usar formulao de estado completo e ca 4) b = (n )d ` profundidade , logo n!dn folhas!!!! a

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

12

Procura com Retrocesso


As atribuioes de variveis so comutativas, i.e., c a a [W A = red depois N T = green] mesmo que [N T = green depois W A = red] S preciso considerar atribuies a uma unica varivel em cada n oe co a o b = d e existem dn folhas Procura em profundidade primeiro para CSPs com atribuioes a uma unica c varivel designada por procura com retrocesso a e Procura com retrocesso o algoritmo bsico cego para CSPs e a Consegure resolver n-rainhas para n 25

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

13

Procura com retrocesso


function Backtracking-Search(csp) returns solution/failure return Recursive-Backtracking([ ], csp) function Recursive-Backtracking(assigned, csp) returns solution/failure if assigned is complete then return assigned var Select-Unassigned-Variable(Variables[csp], assigned, csp) for each value in Order-Domain-Values(var, assigned, csp) do if value is consistent with assigned according to Constraints[csp] then result Recursive-Backtracking([var = value|assigned ], csp) if result = failure then return result end return failure

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

14

Exemplo de procura com retrocesso

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

15

Exemplo de procura com retrocesso

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

16

Exemplo de procura com retrocesso

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

17

Exemplo de procura com retrocesso

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

18

Melhorando ecincia do Retrocesso e


Mtodos genricos podem resultar em ganhos substanciais de ecincia: e e e 1. Qual a varivel a atribuir? a 2. Por que ordem devem ser tentados os seus valores? 3. Podem-se detectar falhas inevitveis mais cedo? a 4. Pode-se utilizar vantajosamente a estrutura do problema?

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

19

Varivel mais constrangida a


Varivel mais constrangida: a seleccionar a varivel com menos valores poss a veis

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

20

Varivel mais constrangida a


Desempate entre variveis mais constrangidas a De entre as variveis mais constrangidas: a escolher a varivel com maior nmero de restrioes nas restantes variveis a u c a

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

21

Valor menos restritivo


Dado uma varivel, escolher o valor menos restritivo: a aquele que eliminar menos valores nas restantes variveis a

Allows 1 value for SA

Allows 0 values for SA

Importante quando s estamos interessados numa soluo. Irrelevante para o ca quando pretendemos obter todas as solues, ou quando o problema no co a tem soluoes. c A combinao destas heur ca sticas permite a resoluo de problemas com 1000 ca rainhas.

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

22

Vericao para a frente ca


Ideia: Vigiar os valores poss veis das variveis por atribuir a Termina a procura quando uma varivel no possui valores poss a a veis

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

23

Vericao para a frente ca


Ideia: Vigiar os valores poss veis das variveis por atribuir a Termina a procura quando uma varivel no possui valores poss a a veis

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

24

Vericao para a frente ca


Ideia: Vigiar os valores poss veis das variveis por atribuir a Termina a procura quando uma varivel no possui valores poss a a veis

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

25

Vericao para a frente ca


Ideia: Vigiar os valores poss veis das variveis por atribuir a Termina a procura quando uma varivel no possui valores poss a a veis

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

26

Propagao de Restries ca co
A vericao para a frente propaga informao de variveis atribu ca ca a das para variveis no atribu a a das, mas no permite a deteco prematura de todas as a ca falhas:

N T e SA no podem ser ambos azuis! a Propagao de restries obriga repetidamente ` satisfao local de restrioes ca co a ca c

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

27

Consistncias de arcos e
A forma mais simples de propagao torna cada arco consistente ca X Y consistente sse e para todo o valor x de X ento existe um valor permitido para y a

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

28

Consistncias de arcos e
A forma mais simples de propagao torna cada arco consistente ca X Y consistente sse e para todo o valor x de X ento existe um valor permitido para y a

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

29

Consistncias de arcos e
A forma mais simples de propagao torna cada arco consistente ca X Y consistente sse e para todo o valor x de X ento existe um valor permitido para y a

Se X perde um valor, vizinhos de X precisam de ser revericados

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

30

Consistncias de arcos e
A forma mais simples de propagao torna cada arco consistente ca X Y consistente sse e para todo o valor x de X ento existe um valor permitido para y a

Se X perde um valor, vizinhos de X precisam de ser revericados A consistncia de arcos detecta falhas mais cedo do que a vericao para e ca a frente Pode ser utilizado como preprocessamento ou aps cada atribuio o ca
Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/ 31

Algoritmo de Consistncia de Arcos e


function AC-3( csp) returns the CSP, possibly with reduced domains inputs: csp, a binary CSP with variables {X1, X2, . . . , Xn} local variables: queue, a queue of arcs, initially all the arcs in csp while queue is not empty do (Xi, Xj ) Remove-First(queue) if Remove-Inconsistent-Values(Xi, Xj ) then for each Xk in Neighbors[Xi] do add (Xk , Xi) to queue function Remove-Inconsistent-Values( Xi, Xj ) returns true i succeeds removed false for each x in Domain[Xi] do if no value y in Domain[Xj ] allows (x,y) to satisfy the constraint Xi Xj then delete x from Domain[Xi]; removed true return removed

O(n2d3), pode ser reduzido a O(n2d2) mas no consegue detectar todas as falhas em tempo polinomial! a
Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/ 32

Exemplo de utilizao do AC-3 ca

X1 {1} {1} {1} {1} {1} {1} {1} {1}

X2 {1, 2} {1, 2} {1, 2} {1, 2} {2} {2} {2} {2}

X3 {1, 2} {1, 2} {1, 2} {1, 2} {1, 2} {1, 2} {1} {1}

Queue X2 X3, X3 X3 X2, X1 X1 X2, X2 X2 X1 X1 X2, X3 X3 X2 X2 X3

X2, X1 X2, X2 X1 X2, X2 X1 X1 X2

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

33

Outras formas de consistncia e


Consistncia de n (ou consistncia-1): todas as restries unrias so e o e co a a vericadas. Consistncia de arco (ou consistncia-2): visto anteriormente. e e Consistncia de caminho (ou consistncia-3): um conjunto de duas e e variveis {Xi, Xj } path-consistent com uma terceira varivel Xk sse para a qualquer atribuio consistente de valores a Xi e Xj existe um valor poss ca vel para Xk . Consistncia-k: um CSP k-consistente se para qualquer conjunto de e k 1 variveis e qualquer atribuio consistente a essas variveis, existe um a ca a valor poss para atribuir consistentemente a qualquer outra varivel. vel a Habitualmente opta-se pela consistncia de arco ou consistncia de caminho. e e

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

34

Melhorias ao algoritmo de retrocesso


Vimos o algoritmo com retrocesso cronolgico (em caso de falha retorna o para a ultima varivel atribu a da). O retrocesso inteligente consiste em voltar para a varivel anterior rea sponsvel pela violao da restrio. a ca ca Tecnicamente isto conseguido mantendo para cada varivel o conjunto e a de variveis conituantes, e actualizando-o incrementalmente (e.g. quando a RemoveInconsistent retira valores ao dom nio).

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

35

Estrutura dos Problemas

A Tasmnia e o continente so subproblemas independentes a a Identicveis a partir das componentes ligadas do grafo de restries a co

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

36

Estrutura dos Problemas (cont)


Suponha-se que cada subproblema tem c variveis de um total de n a No pior caso, uma soluo demora n/c dc, linear em n ca E.g., n = 80, d = 2, c = 20 280 = 4 mil milhes de anos a 10 milhes de ns/seg o o o 4 220 = 0.4 segundos a 10 milhes de ns/seg o o

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

37

CSPs com estrutura arbrea o

A B C D

E F

Teorema: se o grafo de restrioes no tem ciclos, ento o CSP pode ser c a a resolvido em tempo O(n d2) Comparar com CSPs genricos, cujo pior caso temporal O(dn) e e Esta propriedade tambm se aplica ao racioc lgico e probabil e nio o stico: um exemplo importante da relao entre restries sintcticas e a complexca co a idade do racioc nio.

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

38

Algoritmo para CSPs com estrutura arbrea o


1. Escolher uma varivel como raiz, ordenar variveis da raiz para as folhas a a tal que o pai de um n aparece primeiro do que todos os seus lhos na o ordenao ca

A B C D

E A F B C D E F

2. Para j de n at 2, aplicar RemoveInconsistent(P arent(Xj ), Xj ) e 3. Para j de 1 at n, atribuir Xj consistentemente com P arent(Xj ) e

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

39

Aplicao ao exemplo ca

X1 {1} {1} {1} {1} {1}

X2 {1, 2} {1, 2} {1, 2} {2} {2}

X3 {1, 2} {1, 2} {1, 2} {1, 2} {1}

Aco ca RemoveInconsistent(X2, X3) RemoveInconsistent(X1, X2) X1 := 1 X2 := 2 X3 := 1

X1 X2 X3 Aco ca {1} {1, 2} {1, 2} RemoveInconsistent(X2, X1) {1} {2} {1, 2} RemoveInconsistent(X3, X2) {1} {2} {1}

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

40

CSPs de estrutura quasi-arbrea o


Condicionamento: instanciar uma varivel, reduzir os dom a nios dos ns vizo inhos
NT Q WA SA V Victoria
NSW

NT Q WA
NSW

V Victoria

Condicionamento por conjunto de corte: instanciar (de todas as maneiras) um conjunto de variveis tal que o grafo resultante seja rvore a a Conjunto de corte de tamanho c tempo de execuo O(dc (n c)d2), ca muito rpido para c pequeno a
Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/ 41

Algoritmos locais para CSPs


Trepa-colinas, recristalizao simulada funcionam habitualmente com ca estados completos, i.e., todas as variveis atribu a das Aplicao a CSPs: ca permitir estados com restrioes por satisfazer c os operadores reatribuem valores a variveis a Seleco de Variveis: escolher aleatoriamente qualquer varivel conituante ca a a Seleco de valores por intermdio da heur ca e stica min-conitos: escolher valor que viola o menor nmero de restrioes u c i.e., trepa-colinas com h(n) = nmero total de restries violadas u co

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

42

Algoritmo min-conitos
function Min-Conflicts(csp, max-steps) returns a solution or failure inputs: csp, a constraint satisfaction problem max-steps, the number of steps allowed before giving up local variables: current, a complete assignment var, a variable value, a value for a variable current an initial complete assignment for csp for i = 1 to max-steps do var a randomly chosen, conicted variable from Variables[csp] value the value v for var that minimizes Conflicts(var, v, current, csp) set var=value in current if current is a solution for csp then return current end return failure

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

43

Exemplo: 8-rainhas
Estado: 8 rainhas em 8 colunas (88 = 16777216 estados) Operadores: mover uma rainha na sua coluna Teste Objectivo: inexistncia de ataques e Avaliao: h(n) = nmero de ataques ca u
2 2 1 2 3 1 2 2 3 2 3 0 3 3

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

44

Desempenho de min-conitos
Dado um estado inicial aleatrio, consegue-se resolver n-rainhas quase em o tempo constante para n arbitrrio com alta probabilidade (e.g., n = 10,000,000) a O mesmo se verica para qualquer CSP gerado aleatoriamente exceptuando para uma pequena banda do rcio a R= nmero de restries u co nmero de variveis u a
CPU time

R critical ratio
Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/ 45

Sumrio a
CSPs so um tipo especial de problema: a estados denidos por valores de um conjunto xo de variveis a teste objectivo denido por restries nos valores das variveis co a Retrocesso = procura em profundidade primeiro como uma varivel a atribu por n da o Heur sticas de ordenao de variveis e seleco valores ajudam muito ca a ca Vericao para a frente evita atribuies que iro falhar garantidamente ca co a Propagao de restrioes (e.g., consistncia de arcos) efectua trabalho ca c e adicional para restringir valores e detectar inconsistncias mais cedo e A representao de CSPs permite a anlise da estrutura do problema ca a CSPs de estrutura arbrea podem ser resolvidos em tempo linear o A heur stica min-conitos habitualmente ecaz na prtica e a
Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/ 46

Programao por Conjuntos de Resposta


Inteligncia Artificial Joo Leite e Carlos Viegas Damsio 2010/11

Programas em Lgica

Conjuntos de Factos e Regras


pessoa(pedro). pessoa(ana). bar(tertlia). contente(P) :- pessoa(P), bar(B), cerveja(C), frequenta(P,B), vende(B,C), gosta(P,C). tio(X,Y) :- pessoa(X), pessoa(Y), pessoa(Z), filho(Y,Z), irmo(X,Z). inocente(X) :- pessoa(X), not culpado(X).

Semntica

Problema: dado um programa em lgica, queremos saber o que verdadeiro (e o que falso).

Programas sem negao Programas com negao

Semntica de Programas Positivos

Programa:
pessoa(pedro). pessoa(ana). pessoa(rui). amigo(pedro,ana). tem_amigos(X) :- pessoa(X), pessoa(Y), amigo(X,Y). contente(X) :- pessoa(X), tem_amigos(X). amigo(X,Y) :- pessoa(X), pessoa(Y), amigo(Y,X). marciano(X) :- pessoa(X), nasceu_em_marte(X).

pessoa(pedro) pessoa(ana) pessoa(rui) amigo(pedro,ana)

O que verdadeiro?

tem_amigos(pedro) contente(pedro) amigo(ana,pedro) tem_amigos(ana)

contente(ana) tem_amigos(rui) ? marciano(pedro) ? marciano(rui) ?

Semntica de Programas Positivos

Modelos mnimos: o modelo (conjunto de tomos verdadeiros) contm o mnimo possvel de tomos que se podem concluir a partir do programa. Cada programa positivo P tem um e um s modelo mnimo, least(P). O modelo mnimo pode ser obtido atravs de um processo iterativo, partindo do modelo vazio, e acrescentando todas as concluses imediatas que se podem tirar a partir do que j se concluiu, usando as regras do programa. O processo termina quando j no for possvel concluir mais nada.

Programa:

Semntica de Programas Positivos


pessoa(pedro). pessoa(ana). pessoa(rui). amigo(pedro,ana). tem_amigos(pedro) :- pessoa(pedro), pessoa(ana), amigo(pedro, ana). tem_amigos(ana) :- pessoa(ana), pessoa(pedro), amigo(ana, pedro). tem_amigos(rui) :- pessoa(rui), pessoa(pedro), amigo(rui, pedro). contente(pedro) :- pessoa(pedro), tem_amigos(pedro). contente(ana) :- pessoa(ana), tem_amigos(ana). contente(rui) :- pessoa(rui), tem_amigos(rui). amigo(pedro, pedro) :- pessoa(pedro), pessoa(pedro), amigo(pedro, pedro). amigo(ana, pedro) :- pessoa(ana), pessoa(pedro), amigo(pedro, ana). amigo(rui, pedro) :- pessoa(rui), pessoa(pedro), amigo(pedro, rui). marciano(pedro) :- pessoa(pedro), nasceu_em_marte(pedro). marciano(ana) :- pessoa(ana), nasceu_em_marte(ana). marciano(rui) :- pessoa(rui), nasceu_em_marte(rui). I0 = {} I1 = I0 {pessoa(pedro), pessoa(ana), pessoa(rui), amigo(pedro,ana)} I2 = I1 {tem_amigos(pedro), amigo(ana, pedro)} I3 = I2 {contente(pedro), tem_amigos(ana)} I4 = I3 {contente(ana)} I5 = I4 {} = I4

Modelo Mnimo:
M = {pessoa(pedro),pessoa(ana),pessoa(rui),amigo(pedro,ana), amigo(ana,pedro), tem_amigos(pedro), tem_amigos(ana),contente(pedro), contente(ana)}

Semntica de Programas com negao

Nalguns programas com negao fcil intuir o nico modelo apropriado. Programa:
pessoa(pedro). pessoa(rui). culpado(pedro). inocente(X) :- pessoa(X), not culpado(X).

Modelo:
{pessoa(pedro),pessoa(rui),culpado(pedro),inocente(rui)}

Semntica de Programas com negao

Noutros programas com negao, no parece ser possvel intuir um nico modelo: Programa:
pessoa(pedro). pacfico(X) :- pessoa(X), not violento(X). violento(X) :- pessoa(X), not pacfico(X).

Modelo(s):
? {pessoa(pedro)} ? {pessoa(pedro), violento(pedro), pacfico(pedro)} ? {pessoa(pedro), violento(pedro)} ? {pessoa(pedro), pacfico(pedro)}

Semntica de Programas com negao

Modelos Estveis

Os modelos estveis so aqueles que so corroborados pelo programa Podem ser vistos como cenrios possveis. Cada programa pode ter zero, um, ou mais modelos estveis. possvel verificar se uma interpretao um modelo estvel atravs da sua comparao com o modelo mnimo de um programa positivo, obtido a partir do programa original atravs de uma transformao (Transformao de Gelfond-Lifschitz).

Determinar os Modelos Estveis

Semntica dos Modelos Estveis

Transformao de Gelfond-Lifschitz Seja P um programa e I uma interpretao (conjunto de tomos). O programa P/I obtido a partir de P:

eliminando todas as regras de P com not a no corpo, tal que aI; eliminando todos os tomos negativos das restantes regras;

O programa P/I positivo, pelo que tem um nico modelo mnimo, least(P/I).

Modelos Estveis Seja P um programa e I uma interpretao. I um modelo estvel de P sse:

I = least(P/I)

Semntica dos Modelos Estveis

P: pessoa(pedro). pacfico(pedro) :- pessoa(pedro), not violento(pedro). pessoa(pedro) violento(pedro) :- pessoa(pedro), not pacfico(pedro).

I = {pessoa(pedro), pacfico(pedro)} Modelo Estvel? P/I: pessoa(pedro). pacfico(pedro) :- pessoa(pedro). least(P/I) = {pessoa(pedro), pacfico(pedro)} least(P/I) = I I Modelo Estvel.

Semntica dos Modelos Estveis

P: pessoa(pedro). pacfico(pedro) :- pessoa(pedro), not violento(pedro). violento(pedro) :- pessoa(pedro), not pacfico(pedro). pessoa(pedro)

I = {pessoa(pedro), violento(pedro)} Modelo Estvel? P/I: pessoa(pedro). violento(pedro) :- pessoa(pedro). least(P/I) = {pessoa(pedro), violento(pedro)} least(P/I) = I I Modelo Estvel.

Semntica dos Modelos Estveis

P: pessoa(pedro). pacfico(pedro) :- pessoa(pedro) not violento(pedro). pessoa(pedro), violento(pedro) :- pessoa(pedro), not pacfico(pedro). pessoa(pedro)

I = {pessoa(pedro)} Modelo Estvel? P/I: pessoa(pedro). pacfico(pedro) :- pessoa(pedro). violento(pedro) :- pessoa(pedro). least(P/I) = {pessoa(pedro),pacfico(pedro),violento(pedro)} least(P/I) I I no Modelo Estvel.

Modelos Estveis - Exemplos

O Programa: pessoa(pedro). pacfico(X) :- pessoa(X), not violento(X). violento(X) :- pessoa(X), not pacfico(X). representa uma disjuno, onde uma pessoa (o Pedro) pacfica ou violenta. Os dois modelos estveis so: {pessoa(pedro), pacfico(pedro)} {pessoa(pedro), violento(pedro)} Se acrescentssemos o facto pessoa(ana), teramos 4 modelos estveis, correspondendo a todas as combinaes onde o Pedro e a Ana so pacifistas ou violentos: {pessoa(pedro), pessoa(ana), pacfico(pedro), pacifico(ana)} {pessoa(pedro), pessoa(ana), violento(pedro), pacifico(ana)} {pessoa(pedro), pessoa(ana), pacfico(pedro), violento(ana)} {pessoa(pedro), pessoa(ana), violento(pedro), violento(ana)}

Modelos Estveis - Exemplos

Se quisssemos representar uma disjuno entre 3 tomos, tal poderia ser feito da seguinte forma: album(takk). k7(X) :- album(X), not cd(X), not vinil(X). cd(X) :- album(X), not k7(X), not vinil(X). vinil(X) :- album(X), not k7(X), not cd(X). Este programa representa uma situao onde um lbum tem um suporte (k7, cd ou vinil). Tem 3 modelos estveis: {album(takk), k7(takk)} {album(takk), cd(takk)} {album(takk), vinil(takk)}

Modelos Estveis - Exemplos

Tambm seria possvel representar uma situao onde um lbum pode existir em zero, um, dois ou nos trs suportes. Para tal, vamos introduzir trs predicados auxiliares (n_k7(X), n_cd(X) e n_vinil(X)). O programa : album(takk). cd(X) :- album(X), not n_cd(X). k7(X) :- album(X), not n_k7(X). n_cd(X) :- album(X), not cd(X). n_k7(X) :- album(X), not k7(X). vinil(X) :- album(X), not n_vinil (X). n_vinil (X) :- album(X), not vinil (X). Este programa tem oito modelos estveis. Eles so (omitindo album(takk)): {k7(takk), cd(takk), vinil(takk)} {n_k7(takk), cd(takk), vinil(takk)} {k7(takk), n_cd(takk), vinil(takk)} {k7(takk), cd(takk), n_vinil(takk)} {n_k7(takk), n_cd(takk), vinil(takk)} {n_k7(takk), cd(takk), n_vinil(takk)} {k7(takk), n_cd(takk), n_vinil(takk)} {n_k7(takk), n_cd(takk), n_vinil(takk)} Se tambm omitirmos os predicados auxiliares, obtemos: {k7(takk), cd(takk), vinil(takk)} {cd(takk), vinil(takk)} {k7(takk), vinil(takk)} {k7(takk), cd(takk)} {vinil(takk)} {cd(takk)} {k7(takk)} {} Tornando mais clara a correspondncia entre os modelos estveis e os cenrios possveis descritos pelo enunciado e programa.

Programao por Conjuntos de Resposta

A expressividade e carcter declarativo da programao em lgica com a semntica dos modelos estveis A existncia de software que permite, de uma forma eficiente, determinar os modelos estveis:

smodels: http://www.tcs.hut.fi/Software/smodels outros existem...

levaram aplicao deste paradigma na resoluo de problemas, levando introduo da Programao por Conjuntos de Resposta

SMODELS
ps(a). ps(b). p(X) :- ps(X), not v(X). v(X) :- ps(X), not p(X). {p(a),p(b)} {p(a),v(b)} {v(a),p(b)} {v(a),v(b)}

LPARSE

SMODELS

ps(a). ps(b). p(a) :- ps(a), not v(a). p(b) :- ps(b), not v(b). v(a) :- ps(a), not p(a). v(b) :- ps(b), not p(b).

Linha de comando:
lparse -nN filename | smodels

N: nmero de modelos pretendido. (0 para todos os modelos)

Programao por Conjuntos de Resposta

Ideia:

Representar o problema num programa em lgica de forma a que os seus modelos estveis (conjuntos de resposta) correspondam s possveis solues.

um modelo estvel = uma soluo 3 passos:

determinar o formato das solues para o problema geral, sendo normal a existncia de um (ou mais) predicados que funcionaro como contentores da soluo; gerao de todos os modelos, onde cada modelo representa uma soluo hipottica para o problema geral; eliminao dos modelos que no obedecem aos dados do problema concreto.

Modelos Estveis - Exemplos

Uma forma alternativa para representar a informao relativa ao suporte dos lbuns a seguinte: album(takk). formato(cd). formato(k7). formato(vinil). suporte(A,F) :- album(A), formato(F), not n_suporte(A,F). n_suporte(A,F) :- album(A), formato(F), not suporte(A,F). Este programa tem os seguintes modelos estveis (omitindo os tomos album/1, formato/1 e n_suporte/2): {suporte(takk,k7), suporte(takk,cd), suporte(takk,vinil)} {suporte(takk,cd), suporte (takk,vinil)} {suporte(takk,k7), suporte(takk,vinil)} {suporte(takk,k7), suporte(takk,cd)} {suporte(takk,k7)} {suporte(takk,vinil)} {suporte(takk,cd)} {}

Modelos Estveis - Exemplos

H regras que tm o efeito de impedir a existncia de alguns modelos estveis.

Por exemplo, se tivermos um programa e quisermos impedir a existncia de modelos estveis onde, simultaneamente, os tomos a e b sejam verdadeiros, e c e d falsos, podemos acrescentar a regra (onde um tomo novo que no aparece em mais lado nenhum):

:- a, b, not c, not d, not .

Se, inversamente, apenas quisermos permitir a existncia de modelos estveis que obedeam a uma dada condio, usa-se uma tcnica semelhante.

Por exemplo, se tivermos um programa e quisermos apenas permitir a existncia de modelos estveis onde, simultaneamente, os tomos a e b sejam verdadeiros, e c e d falsos, podemos acrescentar o par de regras (onde e so tomos novos que no aparecem em mais lado nenhum):

:- a, b, not c, not d. :- not , not .

Modelos Estveis - Exemplos


Para simplificar a escrita das regras que impedem a existncia de modelos estveis (habitualmente designadas por restries de integridade), omitem-se todas as utilizaes tomo auxiliar . Para impedir a existncia de modelos estveis onde a condio CONDIO seja verdadeira, acrescentamos a regra: :- CONDIO.

Por exemplo, para impedir a existncia de modelos estveis onde, simultaneamente, os tomos a e b sejam verdadeiros, e c e d falsos, acrescentamos a regra:

:- a, b, not c, not d.

Por exemplo, para apenas permitir a existncia de modelos estveis onde, simultaneamente, os tomos a e b sejam verdadeiros, e c e d falsos, acrescentamos o par de regras (onde um tomo novo que no aparece em mais lado nenhum):

:- a, b, not c, not d. :- not .

Compilao de condies fechadas

A frmula F1 /\ F2 compilada para

p_F :- p_F1, p_F2. p_F :- p_F1. p_F :- p_F2. p_F :- not p_F1. p_F :- domain(X),p_F1(X) p_F :- not n_p_F. n_p_F :- domain(X), not p_F1(X).

A frmula F1 \/ F2 compilada para


A frmula F1 compilada para

O quantificador existential limitado X:domain.F1 compilado para

O quantificador universal limitado X:domain.F1


Modelos Estveis - Exemplos

Voltando ao programa anterior: album(takk). formato(cd). formato(k7). formato(vinil). suporte(A,F) :- album(A), formato(F), not n_suporte(A,F). n_suporte(A,F) :- album(A), formato(F), not suporte(A,F). Cujos modelos estveis so (apenas mostrando os tomos suporte/2): {suporte(takk,k7), suporte(takk,cd), suporte(takk,vinil)} {suporte(takk,cd), suporte (takk,vinil)} {suporte(takk,cd)} {suporte(takk,k7), suporte(takk,vinil)} {suporte(takk,vinil)} {suporte(takk,k7), suporte(takk,cd)} {suporte(takk,k7)} {} Se soubermos que no h nenhum lbum simultaneamente em K7 e CD, podemos acrescentar a seguinte regra (restrio de integridade): :- album(A), suporte(A,k7), suporte(A,cd). Aps a introduo da nova regra, os modelos estveis passam a ser: {suporte(takk,cd), suporte (takk,vinil)} {suporte(takk,cd)} {suporte(takk,k7)} {suporte(takk,k7), suporte(takk,vinil)} {suporte(takk,vinil)} {}

Modelos Estveis - Exemplos

Continuando com o mesmo programa: album(takk). formato(cd). formato(k7). formato(vinil). suporte(A,F) :- album(A), formato(F), not n_suporte(A,F). n_suporte(A,F) :- album(A), formato(F), not suporte(A,F). :- album(A), suporte(A,k7), suporte(A,cd). Cujos modelos estveis so (apenas mostrando os tomos suporte/2): {suporte(takk,cd), suporte (takk,vinil)} {suporte(takk,cd)} {suporte(takk,k7)} {suporte(takk,k7), suporte(takk,vinil)} {suporte(takk,vinil)} {} Se soubermos que cada lbum existe em pelo menos um formato, podemos acrescentar as seguintes regras (restrio de integridade): com_formato(A) :- album(A), formato(F), suporte(A,F). :- album(A), not com_formato(A). Aps a introduo das novas regras, os modelos estveis passam a ser: {suporte(takk,cd), suporte (takk,vinil)} {suporte(takk,cd)} {suporte(takk,k7)} {suporte(takk,k7), suporte(takk,vinil)} {suporte(takk,vinil)}

Modelos Estveis - Exemplos

Continuando com o mesmo programa: album(takk). formato(cd). formato(k7). formato(vinil). suporte(A,F) :- album(A), formato(F), not n_suporte(A,F). n_suporte(A,F) :- album(A), formato(F), not suporte(A,F). :- album(A), suporte(A,k7), suporte(A,cd). com_formato(A) :- album(A), formato(F), suporte(A,F). :- album(A), not com_formato(A). Cujos modelos estveis so (apenas mostrando os tomos suporte/2): {suporte(takk,cd), suporte (takk,vinil)} {suporte(takk,cd)} {suporte(takk,k7)} {suporte(takk,k7), suporte(takk,vinil)} {suporte(takk,vinil)} Se soubermos que o lbum Takk existe em vinil, podemos acrescentar o seguinte facto: suporte(takk,vinil). Aps a introduo deste facto, os modelos estveis passam a ser: {suporte(takk,cd), suporte (takk,vinil)} {suporte(takk,k7), suporte(takk,vinil)} {suporte(takk,vinil)}

Modelos Estveis - Exemplos

Continuando com o mesmo programa, ao qual acrescentamos o novo album Boy: album(takk). album(boy) formato(cd). formato(k7). formato(vinil). suporte(A,F) :- album(A), formato(F), not n_suporte(A,F). n_suporte(A,F) :- album(A), formato(F), not suporte(A,F). :- album(A), suporte(A,k7), suporte(A,cd). com_formato(A) :- album(A), formato(F), suporte(A,F). :- album(A), not com_formato(A). suporte(takk,vinil). Os modelos estveis so (onde suporte foi substitudo por s e omitindo os restantes tomos): {s(takk,vinil),s(boy,vinil),s(boy,cd),s(takk,cd)} {s(takk,vinil),s(boy,cd),s(takk,cd)} {s(takk,vinil),s(boy,k7)} {s(takk,vinil),s(boy,k7),s(takk,k7)} {s(takk,vinil),s(boy,k7),s(takk,cd)} {s(takk,vinil),s(boy,vinil),s(boy,k7),s(takk,cd)} {s(takk,vinil),s(boy,vinil),s(takk,cd)} {s(takk,vinil),s(boy,vinil),s(boy,k7)} {s(takk,vinil),s(boy,vinil),s(boy,k7),s(takk,k7)} {s(takk,vinil),s(boy,cd),s(takk,k7)} {s(takk,vinil),s(boy,cd)} {s(takk,vinil),s(boy,vinil)} {s(takk,vinil),s(boy,vinil),s(boy,cd)} {s(takk,vinil),s(boy,vinil),s(boy,cd),s(takk,k7)} {s(takk,vinil),s(boy,vinil),s(takk,k7)} Se soubermos que no existem dois lbuns com o mesmo formato, podemos acrescentar a seguinte regra (onde neq(A1, A2) verdadeiro se A1A2): :- album(A1), album(A2), formato(F), suporte(A1,F), suporte(A2,F), neq(A1,A2). Aps a introduo desta regra, os modelos estveis passam a ser: {s(takk,vinil),s(boy,cd)} {s(takk,vinil),s(boy,cd),s(takk,k7)} {s(takk,vinil),s(boy,k7),s(takk,cd)} {s(takk,vinil),s(boy,k7)}

Modelos Estveis - Exemplos

Continuando com o mesmo programa: album(takk). album(boy) formato(cd). formato(k7). formato(vinil). suporte(A,F) :- album(A), formato(F), not n_suporte(A,F). n_suporte(A,F) :- album(A), formato(F), not suporte(A,F). :- album(A), suporte(A,k7), suporte(A,cd). com_formato(A) :- album(A), formato(F), suporte(A,F). :- album(A), not com_formato(A). suporte(takk,vinil). :- album(A1), album(A2), formato(F), suporte(A1,F), suporte(A2,F), neq(A1,A2). Os modelos estveis so (apenas mostrando os tomos suporte/2): {suporte(takk,vinil), suporte(boy,cd)} {suporte (takk,vinil), suporte(boy,k7)} {suporte (takk,vinil), suporte(boy,cd), suporte(takk,k7)} {suporte (takk,vinil), suporte(boy,k7), suporte(takk,cd)} Se soubermos que existe pelo menos uma k7 e um cd, podemos acrescentar as seguintes regras: ok :- album(A1), album(A2), suporte(A1,cd), suporte(A2,k7). :- not ok. Aps a introduo desta regra, os modelos estveis passam a ser (omitindo tomos album/1, formato/1 e n_suporte/2): {suporte (takk,vinil), suporte(boy,cd), suporte(takk,k7)} {suporte (takk,vinil), suporte(boy,k7), suporte(takk,cd)}

O problemas das rainhas consiste em colocar 8 rainhas num tabuleiro de xadrez, sem que nenhuma rainha seja atacada por outra i.e. sem que existam duas rainhas na mesma linha, coluna ou diagonal. Soluo 1:

ASP Rainhas
define o domnio de coluna e linha.

coluna(1). coluna(8).

linha(1). linha(8).

in(X,Y) :- coluna(X), linha(Y), not n_in(X,Y). n_in(X,Y) :- coluna(X), linha(Y), not in(X,Y).
estas duas regras geram todos os modelos resultantes das possveis combinaes onde, para cada clula (X,Y), ou in(X,Y) verdadeiro, representando que a clula (X,Y) tem uma rainha, ou n_in(X,Y) verdadeiro, representando que a clula (X,Y) no tem uma rainha.

tem_rainha(X) :- coluna(X), linha(Y), in(X,Y). :- coluna(X), not tem_rainha(X).


O predicado tem_rainha(X) definido de tal forma que seja verdadeiro sempre que a coluna X tem pelo menos uma rainha. As duas regras eliminam todos os modelos onde exista uma coluna X sem qualquer rainha.

:- coluna(X), linha(Y), coluna(XX), not eq(X,XX), in(X,Y), in(XX,Y).


esta regra elimina os modelos onde existem rainhas em mais do que uma coluna (X e XX) na mesma linha Y.

:- coluna(X), linha(Y), linha(YY), not eq(Y,YY), in(X,Y), in(X,YY).


esta regra elimina os modelos onde existem rainhas em mais do que uma linha (Y e YY) na mesma coluna X.

:- coluna(X), linha(Y), coluna(XX), linha(YY), not eq(X,XX), not eq(Y,YY), in(X,Y), in(XX,YY), eq(abs(X-XX),abs(Y-YY)).
esta regra elimina todos os modelos onde existe uma rainha em mais do que uma casa na mesma diagonal.

LPARSE & SMODELS

n(a;b;c).

equivalente a n(a), n(b), n(c). define o valor da constante max como sendo igual a 10. equivalente a s(1), s(2), , s(10).

const max = 10

s(1..max).

eq(X,Y) X=Y; lt(X,Y) X<Y; ge(X,Y) X>=Y; hide p(_,_).

esconde os tomos da forma p(_,_) nos modelos gerados pelo smodels; esconde todos os tomos nos modelos gerados pelo smodels; invalida a instruo hide para os tomos da forma q(_,_);

hide.

show q(_,_).

Erros comuns no Lparse, todos eles relacionados com a existncia de variveis, em regras, cujo domnio no est definido de uma forma apropriada:

weakely restricted variables; nonrestricted rule; unrestricted variable

LPARSE & SMODELS


O Lparse aceita a utilizao de sintaxe especial. Esta sintaxe permite a especificao da gerao selectiva de modelos, eliminando:

a necessidade de utilizao de alguns tomos auxiliares, de ciclos para gerar modelos, de algumas restries de integridade.

A sua utilizao permite um grande aumento na eficincia do smodels, devendo ser usada sempre que possvel. A sintaxe geral : min{p(X1,,Xn,Y1,,Ym):q(X1,,Xn)}max :- s(Y1,,Ym).

Leitura: para cada s(Y1,,Ym), gerar todos os modelos possveis com um mnimo min e um mximo max de tomos p(X1,,Xn,Y1,,Ym), onde o domnio de X1,,Xn dado por q(X1,,Xn). Mais detalhes podem ser encontrados no manual do lparse

O problemas das rainhas consiste em colocar 8 rainhas num tabuleiro de xadrez, sem que nenhuma rainha seja atacada por outra i.e. sem que existam duas rainhas na mesma linha, coluna ou diagonal. Soluo 2:

ASP Rainhas

coluna(1..8). linha(1..8).

define o domnio de coluna. Equivalente aos factos coluna(1), coluna(2),, coluna(8). define o domnio de linha. Equivalente aos factos linha(1), linha(2),, linha(8).

1{in(X,Y):coluna(X)}1 :- linha(Y).
esta regra gera todos os modelos onde cada linha Y est preenchida em exactamente uma coluna X.

:- coluna(X), linha(Y), linha(YY), not eq(Y,YY), in(X,Y), in(X,YY).


esta regra elimina todos os modelos onde existe mais do que uma rainha na mesma coluna.

:- coluna(X), linha(Y), coluna(XX), linha(YY), not eq(X,XX), not eq(Y,YY), in(X,Y), in(XX,YY), eq(abs(X-XX),abs(Y-YY)).
esta regra elimina todos os modelos onde existe uma rainha em mais do que uma casa na mesma diagonal.

O problemas das rainhas consiste em colocar 8 rainhas num tabuleiro de xadrez, sem que nenhuma rainha seja atacada por outra i.e. sem que existam duas rainhas na mesma linha, coluna ou diagonal. Soluo 3:

ASP Rainhas

coluna(1..8). linha(1..8).

define o domnio de coluna. Equivalente aos factos coluna(1), coluna(2),, coluna(8). define o domnio de linha. Equivalente aos factos linha(1), linha(2),, linha(8).

1{in(X,Y):coluna(X)}1 :- linha(Y).
esta regra gera todos os modelos onde cada linha Y est preenchida em exactamente uma coluna X.

1{in(X,Y):linha(Y)}1 :- coluna(X).
esta regra gera todos os modelos onde cada coluna X est preenchida em exactamente uma linha Y.

:- coluna(X), linha(Y), coluna(XX), linha(YY), not eq(X,XX), not eq(Y,YY), in(X,Y), in(XX,YY), eq(abs(X-XX),abs(Y-YY)).
esta regra elimina todos os modelos onde existe uma rainha em mais do que uma casa na mesma diagonal.

ASP Quadrados Latinos


O problemas dos quadrados latinos consiste em preencher uma grelha de dimenso n x n com nmeros de 1 a n, de modo a que no existam nmeros repetidos em cada coluna, nem em cada linha. Soluo 1: const size = 10.

define a constante size = 10 define o domnio de n. Equivalente aos factos n(1),n(2),,n(size). esta regra gera todos os modelos onde cada clula X,Y est preenchida com exactamente um nmero N, eliminando os restantes. esta regra elimina todos os modelos onde o mesmo nmero N se encontra em mais do que uma coluna (X e XX) na mesma linha Y. esta regra elimina todos os modelos onde o mesmo nmero N se encontra em mais do que uma linha (Y e YY) na mesma coluna X.

n(1.. size).

1{in(X,Y,N):n(N)}1:- n(Y),n(X).

:- n(X;XX;Y;N), in(X,Y,N), in(XX,Y,N), not eq(X,XX).

:- n(X;YY;Y;N), in(X,Y,N), in(X,YY,N), not eq(Y,YY).

ASP Quadrados Latinos


O problemas dos quadrados latinos consiste em preencher uma grelha de dimenso n x n com nmeros de 1 a n, de modo a que no existam nmeros repetidos em cada coluna, nem em cada linha. Soluo 2 (mais eficiente): const size = 10.

define a constante size = 10 define o domnio de n. Equivalente aos factos n(1),n(2),,n(size). esta regra gera todos os modelos onde cada clula X,Y est preenchida com exactamente um nmero N, eliminando os restantes. esta regra gera todos os modelos onde em cada coluna X, cada nmero N est exactamente numa linha Y, eliminando os restantes. esta regra gera todos os modelos onde em cada linha Y, cada nmero N est exactamente numa coluna X, eliminando os restantes.

n(1.. size).

1{in(X,Y,N):n(N)}1:- n(Y),n(X).

1{in(X,Y,N):n(Y)}1:- n(X),n(N).

1{in(X,Y,N):n(X)}1:- n(Y),n(N).

O problemas do Sudoku consiste em preencher uma grelha de dimenso 9 x 9 com nmeros de 1 a 9, de modo a que no existam nmeros repetidos em cada coluna, em cada linha, nem em cada uma das 9 sub-grelhas 3 x 3 em que a grelha 9 x 9 se divide. O Sudoku um caso particular do problema dos Quadrados Latinos, com n=9, ao qual se acrescenta a restrio das sub-grelhas de 3 x 3. Assim, podemos partir da soluo mais eficiente para os Quadrados Latinos e acrescentar-lhe a nova restrio. Soluo: n(1.. 9). 1{in(X,Y,N):n(N)}1:- n(Y),n(X). 1{in(X,Y,N):n(Y)}1:- n(X),n(N). 1{in(X,Y,N):n(X)}1:- n(Y),n(N). v(1;4;7).

ASP Sudoku

este facto define as coordenadas do canto inferior esquerdo de cada sub-grelha 3 x 3. Equivalente aos factos v(1),v(4), e v(7).

:- n(X;Y;X1;Y1;N), v(VX;VY), neq(X,X1), neq(Y,Y1), in(X,Y,N), in(X1,Y1,N), X-VX < 3, X1-VX < 3, Y-VY < 3, Y1-VY < 3, X >= VX, X1 >= VX, Y >= VY, Y1 >= VY.
Esta regra elimina os modelos onde um nmero N aparece repetido numa sub-grelha 3 x 3. Apenas verifica pares de clulas onde tanto a linha como a coluna so diferentes. Aqueles onde a linha ou a coluna so iguais j so eliminados pelas regras de gerao de modelos anteriores.

ASP Sudoku

Normalmente o Sudoku j tem algumas casas preenchidas. Temos portanto que eliminar todos os modelos que no tenham os as casas indicadas preenchidas com os respectivos nmeros.

6 2 7 2 4 1 5 2 5 9 3 9 8 3 7 1 7 3

5 6 2 4

n(1.. 9). 3 8 1{in(X,Y,N):n(N)}1:- n(Y),n(X). 1{in(X,Y,N):n(Y)}1:- n(X),n(N). 1{in(X,Y,N):n(X)}1:- n(Y),n(N). v(1;4;7). :- n(X;Y;X1;Y1;N), v(VX;VY), neq(X,X1), neq(Y,Y1), in(X,Y,N), in(X1,Y1,N), X-VX < 3, X1-VX < 3, Y-VY < 3, Y1-VY < 3, X >= VX, X1 >= VX, Y >= VY, Y1 >= VY. aux :- in(1,7,2),in(2,1,3),in(2,4,4),in(2,5,2),in(2,6,7),in(3,2,5),in(3,3,1), in(3,9,6),in(4,2,2),in(4,7,9),in(4,8,5),in(5,4,8),in(5,5,9),in(5,6,3), in(6,2,7),in(6,3,3),in(6,8,1),in(7,1,8),in(7,7,3),in(7,8,7),in(8,4,2), in(8,5,6),in(8,6,5),in(8,9,9),in(9,3,4). :- not aux.

Modelos Estveis - Exemplos

O Programa dos lbuns, usando a sintaxe alternativa do lparse: album(takk;boy). formato(cd;k7;vinil). 1{suporte(A,F):formato(F)} :- album(A).

esta regra gera todos os modelos onde lbum tem um ou mais formatos (a ausncia de um valor para max significa que no h um nmero mximo de tomos no modelo), eliminando todos os modelos onde um lbum no tenha nenhum formato.

:- album(A), suporte(A,k7), suporte(A,cd). suporte(takk,vinil). :- album(A1), album(A2), formato(F), suporte(A1,F), suporte(A2,F), neq(A1,A2). ok :- album(A1), album(A2), suporte(A1,cd), suporte(A2,k7). :- not ok. Os modelos estveis so (omitindo tomos album/1, formato/1): {suporte (takk,vinil), suporte(boy,cd), suporte(takk,k7)} {suporte (takk,vinil), suporte(boy,k7), suporte(takk,cd)}

Referncias

Tutoriais:

http://costantini.di.univaq.it/wasp.htm http://www.tcs.hut.fi/Software/smodels/lparse.ps

Manual do Lparse (e Smodels)

Logica de Primeira Ordem

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

Resumo
Motivao para a Lgica de Primeira Ordem ca o Sintaxe e semntica da LPO a Engenharia do conhecimento em LPO Exemplos de representao em LPO ca

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

Prs e contras da lgica proposicional o o


=1.25emgures/smiley.ps A lgica proposicional declarativa: a sintaxe permite o e expressar factos =1.25emgures/smiley.ps A lgica proposicional permite representar informao o ca parcial, disjuntiva e negativa (contrariamente ` maioria das estruturas de dados e a bases de dados) =1.25emgures/smiley.ps A lgica proposicional composicional: o signicado de o e B1,1 P1,2 obtido compondo o signicado de B1,1 e de P1,2 e =1.25emgures/smiley.ps O signicado da lgica proposicional independente do o e contexto (contrariamente ` linguagem natural, em que o signicado depende do cona texto) =1.25emgures/frowny.ps A lgica proposicional tem um poder expressivo muito o limitado (contrariamente ` linguagem natural) a
Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/ 3

E.g., no se consegue dizer buracos provocam brisa em casas adjacentesa a no ser que se escreva uma proposio para cada casa do mundo a ca

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

Lgica de Primeira Ordem o


Enquanto que a lgica proposicional assume que o mundo contm factos, o e a lgica de primeira ordem (tal como a linguagem natural) assume que o mundo o pode conter Objectos: pessoas, casas, nmeros, teorias, Gil, cores, jogos de futebol, guerras, u sculos . . . e Relaes: vermelho, redondo, errado, primo, arranha-cus . . ., co e irmo de, maior do que, dentro de, parte de, tem cor, ocorreu aps, tem, vende, a o ... Funes: pai de, melhor amigo, prolongamento de, um a mais do que, princ co pio de . . .

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

Outras designaoes c
A lgica de primeira ordem (LPO) tambm conhecida atravs de outras deo e e e signaes: co Clculo de Predicados de Primeira Ordem (rst-order predicate calculus) a Clculo de predicados de ordem inferior (lower predicate calculus) a Lgica de Predicados (predicate logic) o Linguagem de lgica de primeira ordem (language of rst-order logic) o

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

Lgicas em geral o
Linguagem Compromisso Ontolgico (o que Compromisso Epistemolgico (o que o o existe no mundo) o agente acredita sobre os factos) Lgica Proposicional o factos verdadeiro/falso/desconhecido Lgica de Primeira Ordem factos, objectos, relaoes o c verdadeiro/falso/desconhecido Lgica Temporal o factos, objectos, relaoes, tempos c verdadeiro/falso/desconhecido Teoria da Probabilidade factos grau de crena [0, 1] c Lgica Vaga/Difusa o graus de verdade [0, 1] intervalo conhecido de valores

Existem inmeras lgicas, variando com o seu dom de aplicao: u o nio ca Lgicas terminolgicas o o Lgica de primeira ordem tipicada o Lgica de segunda ordem o Lgicas de ordem superior o Lgica de primeira ordem intuicionista o
Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/ 7

Lgicas modais o

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

Sintaxe da LPO: Elementos Bsicos a


O vocabulrio da LPO constitu pelos seguintes elementos: a e do 1. S mbolos de constantes de predicados de ari- Brother, >, Irmao, Gato, . . . dade 1 2. S mbolos de constantes de objectos KingJohn, 2, U N L, P ortugal, Benf ica, Reitor, . . . 3. S mbolos de constantes de funes co Sqrt, Lef tLegOf, . . . 4. Um nmero innito de variveis u a x, y, a, b, . . . 5. Conectivos lgicos o 6. Quanticadores 7. Parntesis esquerdo, direito e v e rgula ( ), 8. Igualdade = A lgica de primeira ordem no atribui qualquer interpretao pr-denida aos seus o a ca e s mbolos no lgicos: constantes de predicados, objectos e funoes a o c

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

Regras de formao: termos ca


O poder expressivo adicional da lgica de primeira ordem advm da sua possibilidade o e de referir objectos no dom de discurso. Sintacticamente, os termos da lgica nio o de primeira ordem denotam eses objectos: Um termo denido recursivamente de acordo com as seguintes regras: e Uma constante de objecto um termo (denotando um objecto concreto do e dom de discurso) nio Uma varivel um termo (denotando um objecto annimo do dom de a e o nio discurso) Qualquer expresso f (t1, . . . , tn) um termo, em que os seus n 1 argumentos a e so termos e f um s a e mbolo de funo com aridade n. Tambm designado por ca e e expresso funcional. a Nada mais um termo. e

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

10

Exemplos de termos
Objectos 1, 1.54, i, e, 12e40, pi, -3, MMVII, 0x20 Portugal, UNL, Benca Tweety, Diabo, Bem, Unicrnio o Abc, Xpto123, Key123, Uma cadeia de caracteres muito longa Expresses funcionais o Exp(1.0), Exp(Mult(I,Pi)), +(x,0,0.35), 0 * x (notao inxa), Log(x, 2) + ca Ln(E) Idade(Carlos, 17-04-2007 10:23:00 GMT) P eso(M anuel) C & ++ Me(Arbitro(Jogo(Sporting,Benca,Epoca200607)) a
Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/ 11

Frases Atmicas: (Atomos) o


As frases ou frmulas atmicas so constru a partir dos s o o a das mbolos de predicados e termos na linguagem: Se P um s e mbolo constante de predicado de aridade n e cada termoi(1 i n) so termos, ento P (a1, . . . , an) uma frmula atmica. a a e o o Se a linguagem inclui igualdade, ento termo1 = termo2 uma frmula a e o atmica. o

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

12

Exemplos de frases atmicas o


Brother(KingJohn, RichardT heLionheart) > (Length(Lef tLegOf (Richard)), Length(Lef tLegOf (KingJohn))) Exp(I P i) + 1 = 0 M atriculado(s123, inf, ciclo1) 0+x=x Chove Arco(a1, a2)

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

13

Frmulas ou frases bem formadas o


As frmulas bem formadas (fbf) denem-se recursivamente atravs das seguintes o e regras: Qualquer frase atmica uma frmula bem formada (fbf) o e o Se uma frmula bem formada ento uma fbf. e o a e Se and so fbfs ento ( ), ( ), ( ) e ( ) tambm so a a e a fbfs. Se uma fbf e x uma varivel ento x e x uma fbf. e e a a e Nada mais uma fbf. e Frases complexas so constru a partir de frases atmicas utilizando os conectivos a das o e os quanticadores.

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

14

Exemplos de frmulas bem formadas o


Sibling(KingJohn, Richard) Sibling(Richard, KingJohn) >(1, 2) (1, 2) >(1, 2) >(1, 2) x y (x + y = y + x) x y z (x < y (x < z z < y)) y x P rogenitor(x, y) x (Humano(x) (M ulher(x) Homem(x))) x (Humano(x) y P rogenitor(x, y))

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

15

Variveis livres e ligadas a


Se uma frmula atmica ento x livre sse x ocorre em . e o o a e x livre em sse x livre em . e e x livre em ( ), ( ), ( ), ( ) sse x livre em ou . e e x livre em y ou y sse x = y e x livre em . e e De forma semelhante dene-se a noo de varivel ligada (aquelas que ocorrem no ca a mbito de algum quanticador). a Uma varivel pode estar livre e ligada na mesma frmula: a o ( x (R(x, y) P (x)) y (R(x, y) x P (x))) Nota: Qualquer frmula pode ser reescrita numa frmula equivalente em que as o o variveis livres e ligadas so disjuntas. a a

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

16

Semntica da Lgica de Primeira Ordem a o


As fbfs so avaliadas em interpretaes (ou estruturas) constitu a co das por um par M =< D, I > em que D um conjunto no vazio (o dom de discurso) e I e a nio uma funo de interpretao. ca ca O dom de discurso contm 1 objectos (elementos do dom nio e nio) e relaes co entre eles A funo de interpretao especica referentes para ca ca s mbolos de constante objectos I(c) D ou s mbolos de predicado relaes co I(P ) Dn para predicado P/n s mbolos de funo relaes funcionais I(f ) : Dn D ca co Uma frase atmica predicado(termo1, . . . , termon) verdade o e sse os objectos referidos por termo1, . . . , termon se encontram na relao referida ca por predicado Quando temos frmulas com variveis livres necessrio considerar atribuioes de o a e a c variveis que mapeiam variveis em elementos do dom de discurso a a nio
Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/ 17

Interpretaes de LPO: Exemplo co


crown

person

brother brother

on head person king

R
left leg

J
left leg

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

18

Interpretaes para a LPO: Imensas! co


Para alguns casos restritos, podemos tentar enumerar as interpretaes para um co dado vocabulrio de uma KB: a Para cada nmero de elementos no dom n de 1 at u nio e Para cada predicado k-rio Pk no vocabulrio a a Para cada relao k-ria poss com n objectos ca a vel Para cada s mbolo de constante C no vocabulrio a Para cada escolha de referente para C em n objectos . . . A obteno das concluses lgicas por enumerao no vai ser nada fcil! ca o o ca a a

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

19

Interpretaes para a LPO: Imensas! co


objects

relations: sets of tuples of objects

{ , ,

functional relations: all tuples of objects + "value" object

< < < , < , ...{ { < , < , < , < , ... {
Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/ 20

Denotao de um termo numa interpretao ca ca


Seja t um termo e s uma atribuio de variveis numa estrutura M . ca a A denotao tM[s] de t em M denida recursivamente: ca e xM[s] = s(x) para uma varivel x. a cM[s] = I(c) para uma constante c. f (t1, . . . , tn)M[s] = I(f ) ((t1)M[s], . . . , (tn)M[s])

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

21

Relao de satisfao ca ca
A noo de verdade (relativa) em LPO capturada atravs da relao de satisfao. ca e e ca ca Seja M uma interpretao e s uma atribuio de variveis em M . ca ca a M, s |= t1 = t2 sse (t1)M = (t2)M M, s |= P (t1, . . . , tn) sse ((t1)M, . . . , (tn)M) I(P ) M, s |= sse no o caso M, s |= a e M, s |= ( ) sse M, s |= e M, s |= M, s |= ( ) sse M, s |= ou M, s |= M, s |= ( ) sse no o caso M, s |= ou M, s |= a e M, s |= x sse M, s |= , para toda a atribuio de variveis s ca a idntica a s excepto possivelmente na varivel x e a M, s |= x sse M, s |= , para alguma de atribuio de variveis s ca a idntica a s excepto possivelmente na varivel x e a

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

22

Consequncia Lgica e o
Uma frmula satisfaz se existir uma interpretao M e uma atribuio o e vel ca ca de variveis s tal que M, s |= . a Um conjunto de fbfs satisfaz se existir uma intepretao M e uma e vel ca atribuio de variveis s tal que M, s |= para toda a frmula de . Se for ca a o um conjunto fechado de frmulas diz-se que M um modelo de . o e Se um conjunto de sentenas ento Uma frmula logicamente verdadeira e c a o e ou vlida se M, s |= para toda a interpretao M e atribuio de variveis s a ca ca a (representado por |= ). Seja um conjunto de frmulas bem formadas e uma fbf. Diz-se que o e uma consequncia de sse para toda a interpretao M e atribuio de variveis e ca ca a s se M, s |= para toda a frmula de ento M, s |= . Representa-se este o a facto atravs de |= . e

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

23

Grupos (Abelianos)
Os grupos so denidos pelos seguintes axiomas, num vocabulrio contendo uma a a constante e, um s mbolo de funo unrio 1 e um s ca a mbolo de funo binrio : ca a x e x x1 x=xx x=ex y) e=x x1 = e z=x (y z)

x y z (x

Se o grupo for comutativo diz-se que abeliano em homenagem a Niels Henrik e Abel x y x y=y x

Indique uma interpretao M que satisfaa estes axiomas. ca c

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

24

Modelos para a teoria dos grupos abelianos


Exemplos t picos de grupos abelianos: Inteiros com adio ca Nmeros reais sem zero com multiplicao u ca Algumas consequncias lgicas da teoria de grupos: e o Um grupo tem exactamente um unico elemento neutro. Todo o elemento s tem um inverso. o Para todo a e b existe um unico x tal que a Para todo o a, tem-se que (a1)1 = a. Para todo o a e b (a b)1 = b1 a1 x = b.

A teoria dos grupos abelianos decid e vel!

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

25

Quanticao Universal ca
a variveis f rase

Toda a gente na UNL inteligente: e x Em(x, U N L) Inteligente(x) x P verdade num dado modelo e dada interpretao nesse modelo sse e ca P verdade para todo o objecto x do modelo (i.e. x percorre todos os objectos e poss veis do modelo) Pode ser entendido como a conjuno das instanciaes de P ca co Em(ReiAf onsoI, U N L) Inteligente(ReiAf onsoI) Em(Ana, U N L) Inteligente(Ana) Em(U N L, U N L) Inteligente(U N L) ...

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

26

Erro comum a evitar


Normalmente, o o conectivo principal de e Erro comum: utilizar como conectivo principal de : x Em(x, U N L) Inteligente(x) signica Toda a gente est na UNL e toda a gente inteligente a e

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

27

Quanticao Existencial ca
a variveis f rase

Algum em Almada inteligente: e e x Em(x, Almada) Inteligente(x) x P verdade num dado modelo e dada interpretao nesse modelo sse e ca P verdade para algum objecto x poss do modelo e vel Pode ser entendido como a disjuno das instanciaes de P ca co Em(ReiAf onsoI, Almada) Inteligente(ReiAf onsoI) Em(Ana, Almada) Inteligente(Ana) Em(Almada, Almada) Inteligente(Almada) ...

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

28

Outro erro comum a evitar


Normalmente, o conectivo principal de e Erro comum: utilizar como conectivo principal de : x Em(x, Almada) Inteligente(x) verdade se existir algum que no est em Almada! e e a a

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

29

Propriedades dos quanticadores


x y o mesmo que y x (porqu??) e e x y o mesmo que y x (porqu??) e e x y no o mesmo que y x a e x y Ama(x, y) Existe algum que ama toda a gente no mundo e y x Ama(x, y) Toda a gente no mundo amada pelo menos por uma pessoa e Dualidade dos quanticadores: cada um pode ser expresso utilizando o outro x Gosta(x, Gelado) x Gosta(x, Brculos) o x Gosta(x, Gelado) x Gosta(x, Brculos) o

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

30

Equivalncias importantes da LPO e


x P (x) x P (x) x P (x) x P (x) x y P (x, y) y x P (x, y) x y P (x, y) y x P (x, y) x P (x) x Q(x) x (P (x) Q(x)) x P (x) x Q(x) x (P (x) Q(x)) P x Q(x) x (P Q(x)) com x no livre em P a P x Q(x) x (P Q(x)) com x no livre em P a

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

31

Implicaes importantes da LPO co


x y P (x, y) y x P (x, y) x P (x) x Q(x) x (P (x) Q(x)) x (P (x) Q(x)) x P (x) x Q(x) x P (x) x Q(x) x (P (x) Q(x)) x P (x) P (c) se c uma varivel, ento no deve ocorrer quanticada em P (x) e a a a P (c) x P (x) x no deve ocorrer livre em P (c) a

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

32

Alguns Exemplos
Irmos so amigos a a

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

33

Alguns Exemplos
Irmos so amigos a a x, y Irmo(x, y) Amigo(x, y). a A Amizade simtrica e e

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

34

Alguns Exemplos
Irmos so amigos a a x, y Irmo(x, y) Amigo(x, y). a A Amizade simtrica e e x, y Amigo(x, y) Amigo(y, x). A me de algum o seu progenitor feminino a e e

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

35

Alguns Exemplos
Irmos so amigos a a x, y Irmo(x, y) Amigo(x, y). a A Amizade simtrica e e x, y Amigo(x, y) Amigo(y, x). A me de algum o seu progenitor feminino a e e x, y M ae(x, y) (F eminino(x) P rogenitor(x, y)). Um primo direito um lho de um dos irmos dos pais e a

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

36

Alguns Exemplos
Irmos so amigos a a x, y Irmo(x, y) Amigo(x, y). a A Amizade simtrica e e x, y Amigo(x, y) Amigo(y, x). A me de algum o seu progenitor feminino a e e x, y M ae(x, y) (F eminino(x) P rogenitor(x, y)). Um primo direito um lho de um dos irmos dos pais e a x, y P rimoDireito(x, y) p, ps P rogenitor(p, x) Irmo(ps, p) a P rogenitor(ps, y)

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

37

Igualdade
termo1 = termo2 verdade numa dada interpretao e ca sse termo1 e termo2 se referem ao mesmo objecto E.g., 1 = 2 e x (Sqrt(x), Sqrt(x)) = x so satisfaz a veis 2 = 2 vlida e a a E.g., denio de Irmo em termos de P rogenitor: ca x, y Irmo(x, y) [(x = y) m, f (m = f ) a P rogenitor(m, x)P rogenitor(f, x)P rogenitor(m, y)P rogenitor(f, y)]

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

38

Teoremas meta-lgicos da LPO o


Teorema da Compacidade: Para qualquer conjunto de frmulas (no mximo o a contavelmente innito), se qualquer subconjunto nito de satisfaz ento e vel a satisfaz e vel. Teorema Lwenheim-Skolem: Se satisfaz numa interpretao M , o e vel ca ento satisfaz numa interpretao cujo dom mo mximo contavelmente a e vel ca nio e a innito. Teorema de Lindstrm: A lgica de primeira ordem a lgica mais forte o o e o satisfazendo a propriedade de compacidade e de Lwenheim-Skolem para alm de o e outras condies naturais (e.g. fecho relativamente ` negao). co a ca

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

39

Teoremas meta-lgicos da LPO o


Teorema da Completude de Gdel: Toda a frmula lgica vlida em LPO o o o a demonstrvel. e a Teorema (Church e Turing): A lgica de primeira ordem indecid desde o e vel, que a linguagem tenha um predicado de aridade 2 (para alm da igualdade). e NOTA: Mas a a lgica de primeira ordem semidecid o e vel!

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

40

Lgicas de Descrio ou Terminolgicas o ca o


Os resultados de indecidibilidade da lgica de primeira ordem motivarem a inveso tigao de subconjuntos decid ca veis interessantes da LPO. A lgica terminolgica de base a lgica ALC (Attributive Logic with Complements) o o e o com a seguinte sintaxe (repare-se na ausncias expl e cita de variveis). a Sintaxe A C C D C D R.C Signicado Traduo LPO ca conjunto vazio de indiv duos Conceito simples: P essoa P essoa(x) Negao de um conceito: Homem ca Homem(x) Conjuno: M ulher Estudante ca M ulher(x) Estudante(x) Disjuno: Bonito Rico ca Bonito(x) Rico(x) Algum: M ulher(x) M ulher progenitor.P essoa y (progenitor(x, y) P essoa(y)) R.C Qualquer: M ulher(x) M ulher progenitor.Homem y (progenitor(x, y) Homem(y))

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

41

Modelao da aritmtica nos n meros naturais ca e u


O vocabulrio contm a constante 0, uma funo unrio S (a funo sucessor) e a e ca a ca duas funes binrias + e : co a Aritmtica de Robinson (Q) indecid e vel, incompleta e incompletvel a 1. 2. 3. 4. 5. 6. 7. x x x x x x x Sx = 0 x = 0 y Sy = x y Sx = Sy x = y x+0=x y x + Sy = S(x + y) x0=0 y x Sy = (x y) + y

Aritmtica de Presburger: Q sem (remover 6 e 7) consistente, completa e e decid vel.

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

42

Teo. de incompletude de Gdel (assumem o


Aritmtica de Peano PA: Q + Esq. axiomtico de induo (indecid e a ca vel): (0) (x (X) (Sx)) (x (x)) Primeiro Teorema de Incompletude de Gdel: Em qualquer teoria foro mal consistente que prove as verdades bsicas da aritmtica, e computacionalmente a e enumervel, pode ser constru uma frmula verdadeira que no demonstrvel. a da o a e a Ou seja, uma teoria recursivamente enumervel capaz de expressar a aritmtica a e elementar no pode ser simultaneamente consistente e completa. a Existem verdades da aritmtica sobre os nmeros naturais que no podem e u a ser demonstradas automaticamente! Qualquer formalizao dos nmeros naturais necessariamente incompleta! ca u e

PA)

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

43

Teo. de incompletude de Gdel (assumem o


Segundo Teorema de Incompletude de Gdel: Qualquer teoria recursivamente enuo mervel que inclua as verdades aritmticas e certas verdades relativas ` demonsa e a trao formal, ento essa teoria inclui uma armao da sua consistncia sse for ca a ca e inconsistente. No h esperana de demonstrar a consistncia da aritmtica de primeira a a c e e ordem utilizando mtodos nitistas. e Se um sistema axiomtico for capaz de demonstrar que consistente e a e completo ento inconsistente. a e

PA)

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

44

A Web Semntica a
As lgicas de descrio esto a ser utilizadas para modelar informao na Web o ca a ca Semntica. Uma linguagem suportada pelo W3C a Ontology Web Language 1.1 a e (OWL), correspondendo ` linguagem de descrio sROIQ. a ca P essoa SerV ivo P essoa Homem M ulher Homem M ulher M ae M ulher progenitor.P essoa ( 1 progenitor.Homem) ( 1 progenitor.Homem) ( 1 progenitor.M ulher) ( 1 progenitor.M ulher) progenitor antecessor progenitor antecessor antecessor carlos : Homem paula : M ulher (carlos, rita) : progenitor (paula, rita) : progenitor
Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/ 45

Vericar consistncia e sua complexidade e


Saber se um conceito consistente na linguagem ALC um problema PSPACEe e completo. Saber se um conceito consistente na linguagem sHOIN um problema e e NExpTime-completo (OWL 1.0) Saber se um conceito consistente na linguagem sROIQ um problema e e NExpTime-dif (OWL 1.1) cil

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

46

Interaco com KBs em LPO ca


Suponhamos que um agente do mundo do Wumpus recorre a uma KB em LPO e percepciona um cheiro e uma brisa (mas no uma cintilao) em t = 5: a ca T ell(KB, P ercept([Smell, Breeze, N one], 5)) Ask(KB, a BestAction(a, 5)) I.e., Ser que a KB conclui alguma aco particular para t = 5? a ca Resposta: Y es, {a/Shoot} substituio (binding list) ca

Dada uma frase S e a substituio , ca S denota o resultado aplicar a S; e.g., S = M aisInteligente(x, y) = {x/Hillary, y/Bill} S = M aisInteligente(Hillary, Bill) Ask(KB, S) devolve alguns/todos os tal que KB |= S

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

47

Base de conh. para o mundo do Wumpus


Percepo ca b, g, t P ercept([Smell, b, g], t) Smelt(t) s, b, t P ercept([s, b, Glitter], t) AtGold(t) Reexos: t AtGold(t) BestAction(Grab, t) Reexos com estado interno: j temos o ouro? a t AtGold(t) Holding(Gold, t) BestAction(Grab, t) Holding(Gold, t) no pode ser observado a manter as alteraes essencial co e

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

48

Deduo de propriedades invis ca veis


Propriedades das posioes: c x, t At(Agent, x, t) Smelt(t) Smelly(x) x, t At(Agent, x, t) Breeze(t) Breezy(x) Casas so ventosas ao p de um buraco: a e Regra de diagnstico inferir causa a partir do efeito o y Breezy(y) x P it(x) Adjacent(x, y) Regra causal inferir efeitos a partir das causas x, y P it(x) Adjacent(x, y) Breezy(y) Nenhuma delas completae.g., a regra causal no diz como casas longe dos e a buracos podem ser ventosas Denio para o predicado Breezy: ca y Breezy(y) [ x P it(x) Adjacent(x, y)]

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

49

Engenharia de Conhecimento em LPO


1. Identicar a tarefa 2. Obter o conhecimento relevante 3. Decidir qual o vocabulrio: predicados, funes e constantes a co 4. Codicar conhecimento genrico acerca do dom e nio 5. Codicar uma instncia concreta e 6. Interregar a teoria utilizando um motor de inferncia e 7. Depurar a base de conhecimento

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

50

Circuitos digitais

Vocabulrio a Objectos : A1, A2, X1, X2, O1, C1, 0, 1, 2, 3, OR, AN D, XOR, N OT . Funes : Sinal/1, T ype/1, In/2 e Out/2. co Predicados : Ligado/2.

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

51

Modelao de um circuito digital ca


Conhecimento genrico sobre o dom ligaoes: e nio c 1. Se dois terminais esto ligados ento tm o mesmo sinal: a a e t1t2 Ligado(t1, t2) Sinal(t1) = Sinal(t2) 2. O sinal para todo o terminal ou 0 ou 1 (mas no ambos) e a t Sinal(t) = 0 Sinal(t) = 1 1=0 3. O predicado Ligado comutativo e t1t2 Ligado(t1, t2) Ligado(t2, t1)

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

52

Modelao de um circuito digital ca


Conhecimento genrico sobre o dom portas: e nio 1. A sa de uma porta OR 1 sse pelo menos uma das suas entradas 1 da e e g T ype(g) = OR (Sinal(Out(1, g)) = 1 nSinal(In(n, g)) = 1) 2. A sa de uma porta AND 0 sse pelo menos uma das entradas 0 da e e g T ype(g) = AN D (Sinal(Out(1, g)) = 0 nSinal(In(n, g)) = 0) 3. A sa de uma porta XOR 1 sse as suas duas entradas so diferentes da e a g T ype(g) = XOR (Sinal(Out(1, g)) = 1 Sinal(In(1, g)) = Sinal(In(2, g))) 4. A sa de uma porta NOT diferente da sua entrada: da e g T ype(g) = N OT (Sinal(Out(1, g)) = Sinal(In(1, g)))

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

53

Modelao de um circuito digital ca


Codicao da instncia ca a Portas existentes: T ype(X1) = XOR T ype(X2) = XOR T ype(A1) = AN D T ype(A2) = AN D T ype(O1) = OR Ligaes entre os componentes: co Ligado(Out(1, X1), In(1, X2)) Ligado(Out(1, X1), In(2, A2)) Ligado(Out(1, A1), In(1, O1)) Ligado(Out(1, A2), In(2, O1)) Ligado(Out(1, X2), Out(1, C1)) Ligado(Out(1, O1), Out(2, C1)) Ligado(In(1, C1), In(1, X1)) Ligado(In(1, C1), In(1, A1)) Ligado(In(2, C1), In(2, X1)) Ligado(In(2, C1), In(2, A1)) Ligado(In(3, C1), In(2, X2)) Ligado(In(3, C1), In(1, A2))

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

54

Interrogaes ` teoria co a
Saber quais os valores de input necessrios para se ter a primeira sa a 0 e a a da segunda sa a 1 ? da Signal(In(1, C1)) = i1 Signal(In(2, C1)) = i2 Signal(In(3, C1)) = i3 Signal(Out(1, C1)) = 0 Signal(Out(2, C2)) = 1 Obter a tabela de entrada-sa para o circuito: da Signal(In(1, C1)) = i1 Signal(In(2, C1)) = i2 Signal(In(3, C1)) = i3 Signal(Out(1, C1)) = o1 Signal(Out(2, C2)) = o2 Nota: Pode-se generalizar a modelao para efectuar diagnstico: sabendo quais os ca o valores de entrada e sa determinar quais os circuitos que se encontram avariados da (e quais as suas falhas).

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

55

Sumrio a
Lgica de Primeira Ordem: o objectos e relaes so primitivas semnticas co a a sintaxe: constantes, funes, predicados, igualdade, quanticadores co Maior poder expressivo: suciente para denir o mundo do Wumpus e circuitos electrnicos. o Apesar da sua expressividade existem limitaes inerentes que no so ultraco a a passveis. a Teoremas meta-lgicos fornecem resultados fundamentias para toda a Mao temtica e Informtica. a a Racioc em Lgica de Primeira Ordem indecid nio o e vel. Esto a ser activamente estudados fragmentos decid a veis e sucientemente expressivos para representar conhecimento ontolgico. o

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

56

Inferencia em Logica de Primeira Ordem

Ano Lectivo 2010/2011 - 1o Semestre Cap tulo 9

Ano Lectivo 2010/2011 - 1o Semestre Cap tulo 9

Resumo
Reduo de inferncia em lgica de primeira ordem ` inferncia em lgica ca e o a e o proposicional Unicao ca Modus Ponens Generalizado Encadeamento para a frente e para trs a Programao em Lgica ca o Resoluo ca

Ano Lectivo 2010/2011 - 1o Semestre Cap tulo 9

Resenha Histrica o
450a.c. 322a.c. 1565 1847 1879 1922 1930 1930 1931 1960 1965 Esticos o Aristteles o Cardano Boole Frege Wittgenstein Gdel o Herbrand Gdel o Davis/Putnam Robinson lgica proposicional, inferncia (possivelmente) o e silogismos (regras de inferncia), quanticadores e teoria da probabilidade (lgica proposicional + incerteza) o lgica proposicional (novamente) o lgica de primeira ordem o prova por tabelas de verdade algoritmo completo para LPO algoritmo completo para LPO (reduo ao caso proposicional) ca algoritmo completo para aritmtica e algoritmo ecaz para lgica proposicional o algoritmo ecaz para LPOresoluo ca

Ano Lectivo 2010/2011 - 1o Semestre Cap tulo 9

Mtodos de Inferncia para LPO e e


1. Proposicionalizao ca 2. Resoluo ca 3. Sequentes 4. Deduo Natural ca 5. Tableaux 6. Conexo de Matrizes a 7. Reescrita de termos

Ano Lectivo 2010/2011 - 1o Semestre Cap tulo 9

Instanciao Universal (IU) ca


Qualquer instanciao de uma frase quanticada universalmente consequncia ca e e desta ultima: v Subst({v/g}, ) para qualquer varivel v e termo bsico (concreto) g a a E.g., x King(x) Greedy(x) Evil(x) origina King(John) Greedy(John) Evil(John) King(Richard) Greedy(Richard) Evil(Richard) King(F ather(John)) Greedy(F ather(John)) Evil(F ather(John)) . . .

Ano Lectivo 2010/2011 - 1o Semestre Cap tulo 9

Instanciao Existencial (IE) ca


Para qualquer frase , varivel v, e s a mbolo de constante k que no ocorre na base de conhecimento: a v Subst({v/k}, ) E.g., x Crown(x) OnHead(x, John) origina Crown(C1) OnHead(C1, John) desde que C1 seja um novo s mbolo de constante, designado por constante de Skolem Outro exemplo: de x d(xy )/dy = xy obtemos d(ey )/dy = ey desde que e seja um novo s mbolo de constante.

Ano Lectivo 2010/2011 - 1o Semestre Cap tulo 9

Instanciao Existencial (cont.) ca


IU pode ser aplicado repetidamente para adicionar novas frases; a nova KB logicamente equivalente ` inicial e a IE pode ser aplicada uma vez para substituir a frase existencial; a nova KB no equivalente ` inicial, mas satisfaz sse a KB inicial era a e a e vel satisfaz vel!

Ano Lectivo 2010/2011 - 1o Semestre Cap tulo 9

Reduo ` inferncia proposicional ca a e


Suponhamos que a KB contm apenas o seguinte: e x King(x) Greedy(x) Evil(x) King(John) Greedy(John) Brother(Richard, John) Instanciando a frase universal de todas as maneiras poss veis, camos com King(John) Greedy(John) Evil(John) King(Richard) Greedy(Richard) Evil(Richard) King(John) Greedy(John) Brother(Richard, John) A nova KB foi proposicionalizada: os s mbolos proposicionais so a King(John), Greedy(John), Evil(John), King(Richard) etc.

Ano Lectivo 2010/2011 - 1o Semestre Cap tulo 9

Reduo (cont.) ca
Resultado: uma frase bsica consequncia da nova KB sse consequncia da KB a e e e e original Resultado: toda a KB em LPO pode ser proposicionalizada preservando a relao ca de consequncia lgica e o Ideia: proposicionalizar KB e pergunta, aplicar resoluo, devolver resultado ca Problema: com s mbolos de funo, existe um nmero innito de termos bsicos, ca u a e.g., F ather(F ather(F ather(John))) Teorema: Herbrand (1930). Se frase consequncia de uma KB em LPO, e e ento consequncia de um subconjunto nito da KB proposicional a e e Ideia: De n = 0 at fazer e gerar uma KB prop. instanciando os termos com profundidade-n vericar se consequncia desta KB e e

Ano Lectivo 2010/2011 - 1o Semestre Cap tulo 9

Problema: funciona se consequncia, pode no terminar se no cone e a a e sequncia e Teorema: Turing (1936), Church (1936), consequncia em LPO semidecid e e vel

Ano Lectivo 2010/2011 - 1o Semestre Cap tulo 9

10

Problemas com a proposicionalizao ca


A proposicionalizao pode gerar inmeras frases irrelevantes. ca u E.g., de x King(x) Greedy(x) Evil(x) King(John) y Greedy(y) Brother(Richard, John) bvio que Evil(John), mas a proposicionalizao produz muitos factos, por e o ca exemplo Greedy(Richard), que so irrelevantes a Com p predicados k-rios e n constantes, existem p nk instanciaes! a co

Ano Lectivo 2010/2011 - 1o Semestre Cap tulo 9

11

Unicao ca
Podemos obter a concluso imediatamente se conseguirmos encontrar uma substia tuio tal que King(x) e Greedy(x) concordem com King(John) e Greedy(y) ca = {x/John, y/John} funciona Unificar(, ) = se = p Knows(John, x) Knows(John, x) Knows(John, x) Knows(John, x) q Knows(John, Jane) Knows(y, OJ) Knows(y, M other(y)) Knows(x, OJ)

Ano Lectivo 2010/2011 - 1o Semestre Cap tulo 9

12

Unicao ca
Podemos obter a concluso imediatamente se conseguirmos encontrar uma substia tuio tal que King(x) e Greedy(x) concordem com King(John) e Greedy(y) ca = {x/John, y/John} funciona Unificar(, ) = se = p Knows(John, x) Knows(John, x) Knows(John, x) Knows(John, x) q Knows(John, Jane) {x/Jane} Knows(y, OJ) Knows(y, M other(y)) Knows(x, OJ)

Ano Lectivo 2010/2011 - 1o Semestre Cap tulo 9

13

Unicao ca
Podemos obter a concluso imediatamente se conseguirmos encontrar uma substia tuio tal que King(x) e Greedy(x) concordem com King(John) e Greedy(y) ca = {x/John, y/John} funciona Unificar(, ) = se = p Knows(John, x) Knows(John, x) Knows(John, x) Knows(John, x) q Knows(John, Jane) {x/Jane} Knows(y, OJ) {x/OJ, y/John} Knows(y, M other(y)) Knows(x, OJ)

Ano Lectivo 2010/2011 - 1o Semestre Cap tulo 9

14

Unicao ca
Podemos obter a concluso imediatamente se conseguirmos encontrar uma substia tuio tal que King(x) e Greedy(x) concordem com King(John) e Greedy(y) ca = {x/John, y/John} funciona Unificar(, ) = se = p Knows(John, x) Knows(John, x) Knows(John, x) Knows(John, x) q Knows(John, Jane) Knows(y, OJ) Knows(y, M other(y)) Knows(x, OJ) {x/Jane} {x/OJ, y/John} {y/John, x/M other(John)}

Ano Lectivo 2010/2011 - 1o Semestre Cap tulo 9

15

Unicao ca
Podemos obter a concluso imediatamente se conseguirmos encontrar uma substia tuio tal que King(x) e Greedy(x) concordem com King(John) e Greedy(y) ca = {x/John, y/John} funciona Unificar(, ) = se = p Knows(John, x) Knows(John, x) Knows(John, x) Knows(John, x) q Knows(John, Jane) Knows(y, OJ) Knows(y, M other(y)) Knows(x, OJ) {x/Jane} {x/OJ, y/John} {y/John, x/M other(John)} f ail

Standardizao evita colises de nomes de variveis, e.g., Knows(z17, OJ) ca o a

Ano Lectivo 2010/2011 - 1o Semestre Cap tulo 9

16

Modus Ponens Generalizado (MPG)


p1 , p2 , . . . , pn , (p1 p2 . . . pn q) q p1 King(John) e p1 King(x) e p2 Greedy(y) e p2 Greedy(x) e {x/John, y/John} q Evil(x) e e q Evil(John) e MPG utilizando KB de clusulas denidas (exactamente um literal positivo) a Todas as variveis esto implicitamente quanticadas universalmente a a em que pi = pi para todo i

Ano Lectivo 2010/2011 - 1o Semestre Cap tulo 9

17

MPG slido e o
Temos de demonstrar que p1 , . . . , pn , (p1 . . . pn q) |= q desde que pi = pi para todo o i Lema: Para qualquer clsula denida p, temos p |= p por IU a 1. (p1 . . . pn q) |= (p1 . . . pn q) = (p1 . . . pn q) 2. p1 , . . . , pn |= p1 . . . pn |= p1 . . . pn 3. De 1 e 2, q conclui-se por Modus Ponens

Ano Lectivo 2010/2011 - 1o Semestre Cap tulo 9

18

Exemplo de base de conhecimento


A lei arma que crime um Americano vender armas a naes hostis. O pa Nono, e co s um inimigo da Amrica, tem alguns m e e sseis, e todos esses m sseis forma vendidos pelo Coronel West, que Americano. e Provar que Cor. West criminoso e

Ano Lectivo 2010/2011 - 1o Semestre Cap tulo 9

19

Exemplo de base de conhecimento (cont.)


. . . crime um Americano vender armas a naes hostis: e co

Ano Lectivo 2010/2011 - 1o Semestre Cap tulo 9

20

Exemplo de base de conhecimento (cont.)


. . . crime um Americano vender armas a naes hostis: e co American(x) W eapon(y) Sells(x, y, z) Hostile(z) Criminal(x) Nono . . . tem alguns m sseis

Ano Lectivo 2010/2011 - 1o Semestre Cap tulo 9

21

Exemplo de base de conhecimento (cont.)


. . . crime um Americano vender armas a naes hostis: e co American(x) W eapon(y) Sells(x, y, z) Hostile(z) Criminal(x) Nono . . . tem alguns m sseis, i.e., x Owns(N ono, x) M issile(x): Owns(N ono, M1) and M issile(M1) . . . todos os seus m sseis foram-lhe vendidos pelo Coronel West

Ano Lectivo 2010/2011 - 1o Semestre Cap tulo 9

22

Exemplo de base de conhecimento (cont.)


. . . crime um Americano vender armas a naes hostis: e co American(x) W eapon(y) Sells(x, y, z) Hostile(z) Criminal(x) Nono . . . tem alguns m sseis, i.e., x Owns(N ono, x) M issile(x): Owns(N ono, M1) and M issile(M1) . . . todos os seus m sseis foram-lhe vendidos pelo Coronel West x M issile(x) Owns(N ono, x) Sells(W est, x, N ono) M sseis so armas: a

Ano Lectivo 2010/2011 - 1o Semestre Cap tulo 9

23

Exemplo de base de conhecimento (cont.)


. . . crime um Americano vender armas a naes hostis: e co American(x) W eapon(y) Sells(x, y, z) Hostile(z) Criminal(x) Nono . . . tem alguns m sseis, i.e., x Owns(N ono, x) M issile(x): Owns(N ono, M1) and M issile(M1) . . . todos os seus m sseis foram-lhe vendidos pelo Coronel West x M issile(x) Owns(N ono, x) Sells(W est, x, N ono) M sseis so armas: a M issile(x) W eapon(x) Um inimigo da Amrica hostil: e e

Ano Lectivo 2010/2011 - 1o Semestre Cap tulo 9

24

Exemplo de base de conhecimento (cont.)


. . . crime um Americano vender armas a naes hostis: e co American(x) W eapon(y) Sells(x, y, z) Hostile(z) Criminal(x) Nono . . . tem alguns m sseis, i.e., x Owns(N ono, x) M issile(x): Owns(N ono, M1) and M issile(M1) . . . todos os seus m sseis foram-lhe vendidos pelo Coronel West x M issile(x) Owns(N ono, x) Sells(W est, x, N ono) M sseis so armas: a M issile(x) W eapon(x) Um inimigo da Amrica hostil: e e Enemy(x, America) Hostile(x) West, Americano . . . e American(W est) O pa Nono, um inimigo da Amrica . . . s e Enemy(N ono, America)

Ano Lectivo 2010/2011 - 1o Semestre Cap tulo 9

25

Algoritmo de Encadeamento para a Frente


function FOL-FC-Ask(KB, ) returns a substitution or false repeat until new is empty new { } for each sentence r in KB do ( p 1 . . . pn q) Standardize-Apart(r) for each such that (p1 . . . pn) = (p1 . . . pn) for some p1, . . . , pn in KB q Subst(, q) if q is not a renaming of a sentence already in KB or new then do add q to new Unify(q , ) if is not fail then return add new to KB return false

Ano Lectivo 2010/2011 - 1o Semestre Cap tulo 9

26

Prova por Encadeamento para a Frente

American(West)

Missile(M1)

Owns(Nono,M1)

Enemy(Nono,America)

Ano Lectivo 2010/2011 - 1o Semestre Cap tulo 9

27

Prova por Encadeamento para a Frente

Weapon(M1)

Sells(West,M1,Nono)

Hostile(Nono)

American(West)

Missile(M1)

Owns(Nono,M1)

Enemy(Nono,America)

Ano Lectivo 2010/2011 - 1o Semestre Cap tulo 9

28

Prova por Encadeamento para a Frente


Criminal(West)

Weapon(M1)

Sells(West,M1,Nono)

Hostile(Nono)

American(West)

Missile(M1)

Owns(Nono,M1)

Enemy(Nono,America)

Ano Lectivo 2010/2011 - 1o Semestre Cap tulo 9

29

Propriedades do encadeamento para a frente


Correcto para clusulas denidas de primeira-ordem a (demonstrao semelhante ` do caso proposicional) ca a Datalog = clusulas denidas de primeira-ordem + sem funes (KB crime) a co EF termina para Datalog num nmero polinomial de iteraoes: limite mximo de u c a p nk literais Pode no terminar no caso geral se no consequncia a a e e Inevitvel: consequncia com clusulas denidas semidecid a e a e vel

Ano Lectivo 2010/2011 - 1o Semestre Cap tulo 9

30

Ecincia de encadeamento para a frente e


Observao simples: no necessrio utilizar uma regra na iterao k ca a e a ca se a premissa no foi adicionada na iterao k 1 a ca testar regras cuja premissa contm apenas literais adicionados recene temente O mecanismo de concordncia pode ser dispendioso a Indexao nas Bases de Dados permite a obteno em tempo O(1) de factos coca ca nhecidos. A consulta M issile(x) devolve M issile(M1) Concordncia de premissas conjuntivas com factos conhecidos NP-dif a e cil Encadeamento para a frente amplamente utilizado em bases de dados dedutivas e

Ano Lectivo 2010/2011 - 1o Semestre Cap tulo 9

31

Exemplo de Concordncia Dif a cil


Di(wa, nt) Di(wa, sa)
NT Q WA SA V Victoria
NSW

Di(nt, q)Di(nt, sa) Di(q, nsw) Di(q, sa) Di(nsw, v) Di(nsw, sa) Di(v, sa) Colorable() Di(Red, Blue) Di(Red, Green) Di(Green, Red) Di(Green, Blue) Di(Blue, Red) Di(Blue, Green)

Colorable() inferido sse o CSP tem uma soluo e ca CSPs incluem 3SAT como caso especial, logo a concordncia NP-dif a e cil

Ano Lectivo 2010/2011 - 1o Semestre Cap tulo 9

32

Algoritmo de encadeamento para trs a


function FOL-BC-Ask(KB, goals, ) returns a set of substitutions inputs: KB, a knowledge base goals, a list of conjuncts forming a query , the current substitution, initially the empty substitution { } local variables: ans, a set of substitutions, initially empty if goals is empty then return {} q Subst(, First(goals)) for each r in KB where Standardize-Apart(r) = ( p1 . . . pn q) and Unify(q, q ) succeeds ans FOL-BC-Ask(KB, [p1, . . . , pn|Rest(goals)], Compose( , )) ans return ans

Ano Lectivo 2010/2011 - 1o Semestre Cap tulo 9

33

Exemplo de Encadeamento para trs a


Criminal(West)

Ano Lectivo 2010/2011 - 1o Semestre Cap tulo 9

34

Exemplo de Encadeamento para trs a


Criminal(West) {x/West}

American(x)

Weapon(y)

Sells(x,y,z)

Hostile(z)

Ano Lectivo 2010/2011 - 1o Semestre Cap tulo 9

35

Exemplo de Encadeamento para trs a


Criminal(West) {x/West}

American(West)

Weapon(y)

Sells(x,y,z)

Hostile(z)

{}

Ano Lectivo 2010/2011 - 1o Semestre Cap tulo 9

36

Exemplo de Encadeamento para trs a


Criminal(West) {x/West}

American(West)

Weapon(y)

Sells(x,y,z) Sells(West,M1,z)

Hostile(z) Hostile(Nono)

{}

Missile(y)

Ano Lectivo 2010/2011 - 1o Semestre Cap tulo 9

37

Exemplo de Encadeamento para trs a


Criminal(West) {x/West, y/M1}

American(West)

Weapon(y)

Sells(x,y,z) Sells(West,M1,z)

Hostile(z) Hostile(Nono)

{}

Missile(y)

{ y/M1 }

Ano Lectivo 2010/2011 - 1o Semestre Cap tulo 9

38

Exemplo de Encadeamento para trs a


Criminal(West) {x/West, y/M1, z/Nono}

American(West)

Weapon(y)

Sells(West,M1,z)

Hostile(z)

{}

{ z/Nono }

Missile(y)

Missile(M1)

Owns(Nono,M1)

{ y/M1 }

Ano Lectivo 2010/2011 - 1o Semestre Cap tulo 9

39

Exemplo de Encadeamento para trs a


Criminal(West) {x/West, y/M1, z/Nono}

American(West)

Weapon(y)

Sells(West,M1,z)

Hostile(Nono)

{}

{ z/Nono }

Missile(y)

Missile(M1)

Owns(Nono,M1)

Enemy(Nono,America)

{ y/M1 }

{}

{}

{}

Ano Lectivo 2010/2011 - 1o Semestre Cap tulo 9

40

Propriedades do encadeamento para trs a


Pesquisa da prova recursivamente em profundidade primeiro: espao linear no c e tamanho da prova Incompleto devido a ciclos innitos vericao do objectivo corrente com todos os outros na pilha ca Ineciente devido `s subconsultas repetidas (de sucesso e de falha) a memorizao dos resultados anteriores (espao extra!) ca c Amplamente utilizado (sem melhoramentos!) na programao em lgica ca o

Ano Lectivo 2010/2011 - 1o Semestre Cap tulo 9

41

Programao em Lgica ca o
Moto: computao como inferncia em KBs lgicas ca e o 1. 2. 3. 4. 5. 6. 7. Programao em Lgica ca o Identicar problema Coligir informao ca Pausa para caf e Codicar informao na KB ca Representar instncia com factos a Efectuar consultas Encontrar factos errados Programao Usual ca Identicar problema Coligir informao ca Descobrir soluo ca Programar soluo ca Representar instncia com dados a Aplicar programa aos dados Depurar erros procedimentais

Deve ser mais fcil depurar Capital(N ewY ork, U S) do que x := x + 2 ! a

Ano Lectivo 2010/2011 - 1o Semestre Cap tulo 9

42

Sistemas Prolog
Essncia: encadeamento para trs com clusulas de Horn e a a Muito utilizadao na Europa, Japo (base do projecto da 5a gerao) a ca Tcnicas de compilao 60 milhes de LIPS e ca o Programa = conjunto de clusulas = head :- literal1, . . . literaln. a criminal(X) :- american(X), weapon(Y), sells(X,Y,Z), hostile(Z). Unicao eciente sem teste de ocorrncia ca e Obteno eciente de clusulas ca a Encadeamento para trs em profundidade primeiro, da esquerda para a direita a Predicados de sistema para efectuar aritmtica etc., e.g., X is Y*Z+3 e Assuno do Mundo Fechado (negao por falha) ca ca e.g., dado alive(X) :- not dead(X). alive(joe) sucede se dead(joe) falha

Ano Lectivo 2010/2011 - 1o Semestre Cap tulo 9

43

Exemplo Criminoso em Prolog


Programa: criminal(X) :- american(X), weapon(Y), sells(X,Y,Z), hostile(Z). sells(west,X,nono) :- missile(X), owns(nono,X). owns(nono,m1). missile(m1). weapon(X) :- missile(Y). hostile(X) :- enemy(X,america). american(west). enemy(nono,america). Interrogao: ca |?- criminal(Who). Who = west; no

Ano Lectivo 2010/2011 - 1o Semestre Cap tulo 9

44

Prova que West criminoso em Prolog e


?- criminal(Who). | ?- american(Who), weapon(Y1), sells(Who,Y1,Z1), hostile(Z1). | Who = west ?- weapon(Y1), sells(west,Y1,Z1), hostile(Z1). | ?- missile(Y1), sells(west,Y1,Z1), hostile(Z1). | Y1 = m1 ?- sells(west,m1,Z1), hostile(Z1). | Z1 = nono ?- missile(m1), owns(nono,m1), hostile(nono). | ?- owns(nono,m1), hostile(nono). | ?- hostile(nono). | ?- enemy(nono,america). | ?-

Ano Lectivo 2010/2011 - 1o Semestre Cap tulo 9

45

Resoluo binria: breve sumrio ca a a


Verso para lgica de primeira ordem: a o ( 1 i1 i+1
1

m1 mn k m1 mj1 mj+1 mn )
k,

em que Unificar( i, mj ) = . Por exemplo, Rich(x) U nhappy(x) Rich(Ken) U nhappy(Ken) com = {x/Ken} A regra de resoluo binria no completa. ca a a e

Ano Lectivo 2010/2011 - 1o Semestre Cap tulo 9

46

Factorizao ca
Seja C um subconjunto de literais com o mesmo sinal de uma clsula C e unicvel a a com unicador mais geral . A clusula C um factor de C. a e A regra de factorizao autoriza a adio de qualquer factor de uma clusula ao ca ca a conjunto de clusulas. a Exemplo: 1. 2. 3. 4. 5. P (x, f (x), z) P (u, w, w) P (x, y, z) P (A, z, z) P (x1, f (x1), f (x1)) P (A, z1, z1)) axioma axioma factor de 1. factor de 2. resolvente de 3. e 4.

Aplicar resoluo a CN F (KB ) ca resoluo binria + factorizao algoritmo completo para LPO ca a ca NOTA: Resoluo s aplicvel a KBs na forma clausal (disjunes de literais com ca o e a co todas as variveis quanticadads universalmente). a
Ano Lectivo 2010/2011 - 1o Semestre Cap tulo 9 47

Prova por resoluo: clusulas denidas ca a


American(x) Weapon(y) Sells(x,y,z) Hostile(z) Criminal(x) Criminal(West) > > > >
L L L L L

American(West)

American(West)

Weapon(y)

Sells(West,y,z)

Hostile(z)

>

>

>

Missile(x)

Weapon(x)

Weapon(y)

Sells(West,y,z)

Hostile(z)

Missile(M1)

Missile(y)

Sells(West,y,z)

Hostile(z)

Missile(x)

Owns(Nono,x)

Sells(West,x,Nono)

Sells(West,M1,z)

Hostile(z)

Missile(M1)

Missile(M1)

Owns(Nono,M1)

Hostile(Nono)

Owns(Nono,M1)

Owns(Nono,M1)

Hostile(Nono)

Enemy(x,America)

Hostile(x)

Hostile(Nono)

Enemy(Nono,America)

Enemy(Nono,America)

Ano Lectivo 2010/2011 - 1o Semestre Cap tulo 9

>

>

>

>

>

>

>

>

>

>

>

>

48

Converso para forma clausal a


Toda a pessoa que ama todos os animais amada por algum: e e x [ y Animal(y) Loves(x, y)] [ y Loves(y, x)] 1. Eliminar bicondicionais e implicaes co x [ y Animal(y) Loves(x, y)] [ y Loves(y, x)] 2. Deslocar para dentro: x, p x p, x, p x p: x [ y (Animal(y) Loves(x, y))] [ y Loves(y, x)] x [ y Animal(y) Loves(x, y)] [ y Loves(y, x)] x [ y Animal(y) Loves(x, y)] [ y Loves(y, x)]

Ano Lectivo 2010/2011 - 1o Semestre Cap tulo 9

49

Converso para forma clausal (cont.) a


3. Standardizar variveis: cada quanticadar deve usar uma diferente a x [ y Animal(y) Loves(x, y)] [ z Loves(z, x)] 4. Skolemizar: uma forma mais geral de instanciao existencial. ca Cada varivel existencial substitu por uma funo de Skolem a e da ca das variveis quanticadas universalmente que a incluem: a x [Animal(F (x)) Loves(x, F (x))] Loves(G(x), x) 5. Remover quanticadores universais: [Animal(F (x)) Loves(x, F (x))] Loves(G(x), x) 6. Distribuir por : [Animal(F (x)) Loves(G(x), x)] [Loves(x, F (x)) Loves(G(x), x)]

Ano Lectivo 2010/2011 - 1o Semestre Cap tulo 9

50

A Curiosidade matou o Gato?


1. Toda a gente que ama todos os animais amada por algum. e e x [y (Animal(y) Loves(x, y))] [y Loves(x, y)] 2. Qualquer pessoa que mata um animal no amada por ningum. a e e x [z (Animal(z) Kills(x, z))] [y Loves(y, x)] 3. Jack ama todos os animais x Animal(x) Loves(Jack, x) 4. O Jack ou a Curiosidade mataram o gato, que se chama Tuna. Kills(Jack, T una) Kills(Curiosity, T una) 5. Todos os gatos so animais a x Cat(x) Animal(, x) 6. A curiosidade matou o gato? Kills(Curiosity, T una)
Ano Lectivo 2010/2011 - 1o Semestre Cap tulo 9 51

Converso para FNC a


1. Toda a gente que ama todos os animais amada por algum. e e Animal(F (x)) Loves(G(x), x) Loves(x, F (x)) Loves(G(x), x) 2. Qualquer pessoa que mata um animal no amada por ningum. a e e Loves(y, x) Animal(z) Kills(x, z) 3. Jack ama todos os animais Animal(x) Loves(Jack, x) 4. O Jack ou a Curiosidade mataram o gato, que se chama Tuna. Kills(Jack, T una) Kills(Curiosity, T una) 5. Todos os gatos so animais a Cat(x) Animal(, x) 6. A curiosidade matou o gato? Kills(Curiosity, T una)
Ano Lectivo 2010/2011 - 1o Semestre Cap tulo 9 52

Prova que a curiosidade matou o gato!


Cat(Tuna) Cat(x1) Animal(x1) Kills(Jack,Tuna) Kills(Curiosity,Tuna) Kills(Curiosity,Tuna)

Animal(Tuna)

Loves(y2,x2) Animal(z2) Kills(x2,z2)

Kills(Jack,Tuna)

Loves(y2,x2) Kills(x2,Tuna) Loves(x3,F(x3)) Loves(G(x3),x3) Loves(y2,Jack)

Animal(x4) Loves(Jack,x4)

Loves(G(Jack),Jack) Animal(F(Jack))

Animal(F(x5)) Loves(G(x5),x5)

Loves(G(Jack),Jack)

Ano Lectivo 2010/2011 - 1o Semestre Cap tulo 9

53

Tratamento da igualdade
A igualdade introduz problemas extra no algoritmo de inferncia. Existem duas e grandes classes de aproximaes para lidar com o predicado de igualdade: co 1. Atravs da incluso dos axiomas para a igualdade. e a 2. Recorrendo a regras de inferncia adicionais. e

Ano Lectivo 2010/2011 - 1o Semestre Cap tulo 9

54

Axiomas para a igualdade


Axiomas bsicos: a x x = x x y x = y y = x x y z x = y y = z x = z Para cada predicado P/n e para cada 1 i n x1, . . . ,xi, . . . , xn y xi = y (P (x1, . . . , xi, . . . , xn) P (x1, . . . , y, . . . , xn)) Para cada s mbolo de funo f /n e para cada 1 i n ca x1, . . . ,xi, . . . , xn y xi = y (f (x1, . . . , xi, . . . , xn) = f (x1, . . . , y, . . . , xn)) Recorre-se depois ao mtodo de resoluo binria com factorizao. e ca a ca

Ano Lectivo 2010/2011 - 1o Semestre Cap tulo 9

55

Demodulao ca
Para quaisquer termos x, y e z tal que U N IF Y (x, z) = e mn[z] um literal e contendo z: x = y, m1 . . . mn[z] m1 . . . mn[SU BST (, y)] A regra da Demodulao incompleta. ca e Exemplo: 0 + z1 = z1 P (0 + (0 + 2)) Q(3) P (0 + 2) Q(3)

Ano Lectivo 2010/2011 - 1o Semestre Cap tulo 9

56

Paramodulao ca
Para quaisquer termos x, y e z tal que U N IF Y (x, z) = : l1 . . . lk x = y, m1 . . . mn[z] SU BST (, l1 . . . lk m1 . . . mn[y]) A regra da Paramodulao completa quando combinada com factorizao, reca e ca soluo binria e axiomas de reexividade para variveis e funes. ca a a co Exemplo: P (x1) f (x1, h(y1)) = g(x1, y1), Q(h(f (h(x2), h(a)))) P (h(x2)) Q(h(g(h(x2), a))) Com x = f (x1, h(y1)) y = g(x1, y1) z = f (h(x2), h(a))

Ano Lectivo 2010/2011 - 1o Semestre Cap tulo 9

57

Estratgias de resoluo e ca
Preferncia pelas clusulas unitrias prefere resolues envolvendo pelo menos e a a co uma clusula contendo s um literal (clusula unitria) a o a a Resoluo Unitria s efectua resolues em que pelo menos uma das clusulas ca a o co a unitria. Mtodo incompleto. e a e Para o caso de clusulas de Horn, o mtodo completo. Assemelha-se ao encadea e e amento para a frente. Conjunto de suporte Identica-se inicialmente um conjunto de clusulas (o a conjunto de suporte set of support). Qualquer resoluo combina uma clusula ca a do conjunto de suporte com outra clusula, juntando a resolvente ao conjunto de a suporte. Se no houver cuidado, o mtodo pode ser incompleto. Escolhe-se normalmente a e como conjunto de suporte inicial a negao da frmula que se pretende demonstrar. ca o

Ano Lectivo 2010/2011 - 1o Semestre Cap tulo 9

58

Estratgias de resoluo e ca
Resoluo de entrada (input resolution) ca Combina sempre uma das clusulas de entrada (na base de conhecimento ou intera rogao) com outra clusula. Completa para clusulas de Horn. ca a a Resoluo linear ca Mtodo completo em que se permite resolver P com Q desde que P esteja na e base de conhecimento ou P uma antecessor de Q na rvore de prova. Mtodo e a e completo.

Ano Lectivo 2010/2011 - 1o Semestre Cap tulo 9

59

Demonstadores de Teoremas (Otter)


OTTER (Organized Techniques for Theorem Proving and Eective Research) obriga a que o utilizador divida o seu conhecimento em 4 partes: 1. Conjunto de suporte. 2. Axiomas utilizveis, aqueles que esto fora do conjunto de suporte. Capturam a a o conhecimento do dom nio. 3. Conjunto de equaes designados demoduladores utilizados para simplicar co os termos para uma forma cannica (e.g. x + 0 = 0). o 4. Parmetros que controlam a estratgia de controlo. a e

Ano Lectivo 2010/2011 - 1o Semestre Cap tulo 9

60

Algoritmo do OTTER
procedure Otter(sos, usable) inputs: sos, a set of supportclauses dening the problem (a global variable) usable, background knowledge potentially relevant to the problem repeat clause the lightest member of sos move clause from sos to usable Process(Infer(clause, usable), sos) until sos = [ ] or a refutation has been found function Infer(clause, usable) returns clauses resolve clause with each member of usable return the resulting clauses after applying Filter Efectua uma procura pelo melhor primeiror recorrendo ` noo de peso de uma a ca clusula. Clusulas unitrias so as mais leves. a a a a
Ano Lectivo 2010/2011 - 1o Semestre Cap tulo 9 61

F ILT ER remove clusulas consideradas no interessantes. a a

Ano Lectivo 2010/2011 - 1o Semestre Cap tulo 9

62

Algoritmo do OTTER
procedure Process(clauses, sos) for each clause in clauses do clause Simplify(clause) merge identical literals discard clause if it is a tautology sos [clause sos] if clause has no literals then a refutation has been found if clause has one literal then look for unit refutation end O Prover9, sucessor do OTTER, recorre a outras regras de ps-processamento o e de simplicao que podem ser encontradas em http://www.mcs.anl.gov/ ca ~mccune/prover9.

Ano Lectivo 2010/2011 - 1o Semestre Cap tulo 9

63

Exemplo de utilizao do Prover9 ca


Demonstrar que em qualquer grupo a soluo da equao a x = b unica. ca ca e formulas(assumptions). e * x = x x * x = e (x * y) * z = x * (y * z) end_of_list. formulas(goals). (all x all y (((a * x = b) & (a * y = b)) -> (x = y))) # label(usol). end_of_list. # label(left_identity). # label(left_inverse). # label(associativity).

Ano Lectivo 2010/2011 - 1o Semestre Cap tulo 9

64

Pr-processamento da teoria e
formulas(sos). 2 e * x = x # label(left_identity). [assumption]. 3 x * x = e # label(left_inverse). [assumption]. 4 (x * y) * z = x * (y * z) # label(associativity). [assumption]. 5 a * c1 = b # label(usol). [deny(1)]. 6 a * c2 = b # label(usol). [deny(1)]. 7 c2 != c1 # label(usol) # answer(usol). [deny(1)]. end_of_list. formulas(demodulators). 2 e * x = x # label(left_identity). [assumption]. 3 x * x = e # label(left_inverse). [assumption]. 4 (x * y) * z = x * (y * z) # label(associativity). 5 a * c1 = b # label(usol). [deny(1)]. 6 a * c2 = b # label(usol). [deny(1)]. end_of_list.

[assumption].

Ano Lectivo 2010/2011 - 1o Semestre Cap tulo 9

65

Prova obtida com o Prover9


2 e * x = x # label(left_identity). [assumption]. 3 x * x = e # label(left_inverse). [assumption]. 4 (x * y) * z = x * (y * z) # label(associativity). [assumption]. 5 a * c1 = b # label(usol). [deny(1)]. 6 a * c2 = b # label(usol). [deny(1)]. 7 c2 != c1 # label(usol) # answer(usol). [deny(1)]. 8 x * (x * y) = y. [para(3(a,1),4(a,1,1)),rewrite(2(2)),flip(a)]. 14 a * b = c1. [para(5(a,1),8(a,1,2))]. 15 c2 = c1. [para(6(a,1),8(a,1,2)),rewrite(14(4)),flip(a)]. 16 $F # answer(usol). [resolve(15,a,7,a)].

Ano Lectivo 2010/2011 - 1o Semestre Cap tulo 9

66

Sumrio a
Racioc em lgica de primeira ordem semidecid nio o e vel Regras de Instanciao Universal e Instanciao Existencial permitem reduzir ca ca inferncia em LPO ` inferncia em lgica proposicional. e a e o Algoritmo de unicao permite encontrar o unifcador mais geral entre 1 ou ca mais termos/tomos. a A regra de Modus Ponens Generalizado completa para clusulas de Horn, mas e a semidecid vel. Para o caso restrito Datalog, o problema da consequncia lgica e o e decid vel. Encadeamento para a frente pode ser utilizado em bases de dados dedutivas, sendo completo para programas Datalog. Encadeamento para trs utilizado em sistemas de programao em lgica, tal a e ca o como o Prolog, sofrendo de problemas de inferncias redundantes e possibilidade e de entrar em ciclo. Tabulao evita estes problemas. ca
Ano Lectivo 2010/2011 - 1o Semestre Cap tulo 9

67

Regra da resoluo binria com factorizao completa para a refutao em ca a ca e ca LPO. Igualdade requer introduo de axiomas extra ou utilizao de regras de inca ca ferncia adicionais (e.g. paramodulao). e ca Existem diversas estratgias para reduzir o espao de procura em sistemas de e c resoluo, sem sacricar completude. Estes sistemas podem ser utilizados para ca demonstrar teoremas e para vericar e sintetizar software e hardware.

Ano Lectivo 2010/2011 - 1o Semestre Cap tulo 9

68

Logicas Nao Monotonas

Ano Lectivo 2010/2011

Ano Lectivo 2010/2011

Resumo
Limitaes da lgica clssica na representao do conhecimento co o a ca Lgica por omisso o a Lgica autoepistmica o e Semnticas de Programao em Lgica a ca o

Ano Lectivo 2010/2011

Limitaes da lgica clssica co o a


Considere-se o conjunto de clusulas a ave(X) voa(X) pinguim(X) ave(X) pinguim(X) voa(X) O que se deriva da teoria anterior juntamente com 1. ave(b1) ? 2. voa(b1) ? 3. ave(b1) e voa(b1) ? 4. pinguim(f red) ?

Ano Lectivo 2010/2011

A lgica clssica montona o a e o


O comportamento ilustrado anteriormente justicado pela propriedade da monoe tonia da lgica clssica. o a Se algo conclu a partir do que sei agora, ento continuar a ser cone do a a clu no futuro. do Formalmente, Se T |= ento T F |= , para qualquer teoria T e F e frmula . a o

Ano Lectivo 2010/2011

O mundo aberto
Considere-se a pequena base de dados representada em lgica: o cadeira(iia) BD1 = lecciona(iia, t, 123) lecciona(iia, p, 456)

cadeira(sw) lecciona(sw, t, 123)

docente(123, ABC) docente(456, DEF)


Quais as cadeiras s com aulas tericas? o o lecc(iia, p, 123)? lecc(sw, p, 123)? lecc(iia, p, 456)? lecc(sw, p, 456)? lecc(iia, p, 123) lecc(iia, p, 456)? lecc(sw, p, 123) lecc(sw, p, 456)? lecc(iia, p, 123)? lecc(sw, p, 123)? lecc(iia, p, 456)? lecc(sw, p, 456)? lecc(iia, p, 123) lecc(iia, p, 456)? lecc(sw, p, 123) lecc(sw, p, 456)?

Ano Lectivo 2010/2011

O mundo aberto
Considere-se a pequena base de dados representada em lgica: o cadeira(iia) BD1 = lecciona(iia, t, 123) lecciona(iia, p, 456)

cadeira(sw) lecciona(sw, t, 123)

docente(123, ABC) docente(456, DEF)


Quais as cadeiras s com aulas tericas? o o lecc(iia, p, 123) lecc(sw, p, 123) lecc(iia, p, 456) lecc(sw, p, 456) lecc(iia, p, 123) lecc(iia, p, 456) lecc(sw, p, 123) lecc(sw, p, 456) lecc(iia, p, 123) lecc(sw, p, 123) lecc(iia, p, 456) lecc(sw, p, 456) lecc(iia, p, 123) lecc(iia, p, 456) lecc(sw, p, 123) lecc(sw, p, 456)

Ano Lectivo 2010/2011

Hiptese do mundo fechado o


Nas bases de dados usualmente adoptam-se as duas seguintes hipteses simplio cadoras: Hiptese do Mundo Fechado (CWA - Closed World Assumption) o Hiptese do Dom Fechado (asssume-se apenas a existncia dos objectos o nio e mencionados na teoria) O que se conclui por hiptese do mundo fechado obtido com: o e CnCW A () = { | CW A |= } onde um literal positivo e e CW A = { | |= } Assim, j obtemos lecciona(sw, p, 123)lecciona(sw, p, 456) CnCW A(BD1)! a O que acontece se adicionarmos a BD1 a informao lecciona(sw, p, 123)? ca

Ano Lectivo 2010/2011

Problemas da CWA
Considere-se a teoria praia cinema praia praia cinema aborrecido

Ser que se pode concluir aborrecido? a E de ? praia cinema praia cinema aborrecido

Ano Lectivo 2010/2011

Problemas da CWA
Considere-se a teoria praia cinema praia praia cinema aborrecido

Ser que se pode concluir aborrecido? No, como se deseja. a a E de ? praia cinema praia cinema aborrecido

Sim! A teoria ca inconsistente, pois como nem praia nem cinema so conclu dos da teoria original, ento quer praia quer cinema so adicionados! a a Mais um exemplo ilustrando que o racioc com CWA no montono. nio e a o

Ano Lectivo 2010/2011

Lgica por Omisso (Reiter) o a


Uma teoria de lgica por omisso (Default Logic) um par o a e D, W em que W um conjunto de frmulas de LPO e D um conjunto de regras por e o e omisso (defaults) com a forma a : 1, . . . , n

Com a leitura Se e for consistente assumir 1, . . . , n ento , em que: a o pr-requisito e e 1, . . . , n a justicao e ca a concluso e a

Ano Lectivo 2010/2011

10

Os passaritos novamente...
Normalmente as aves voam (Regra por defeito): ave(X) : voa(X) voa(X)

E o conhecimento imutvel (teoria W ) a X (pinguim(X) ave(X)) X (pinguim(X) voa(X)) ave(tweety) O que se pode concluir da teoria por omisso anterior? a E se juntarmos pinguim(tweety) ?

Ano Lectivo 2010/2011

11

Clculo de extenses a o
E uma extenso sse e a E0 = W Ei+1 = Cn(Ei) | E = Ei i=0

: 1 ,...,n

e Ei e 1 E, . . . , n E

Em geral, o clculo de extenses indecid para teorias de lgica de primeira a o e vel o ordem. Mas para o caso proposicional o problema decid e vel.

Ano Lectivo 2010/2011

12

Outro exemplo
Normalmente, os cisnes so brancos. a cisne(X) : branco(X) branco(X) Normalmente, os cisnes australianos so pretos. a cisne(X) australiano(X) preto(X) Bruce um cisne australiano. e cisne(bruce) australiano(bruce) Nada preto e branco simultaneamente e X (branco(X) preto(X)) : preto(X)

Ano Lectivo 2010/2011

13

Extenses para o problema dos cisnes o


Para o exemplo dos cisnes temos duas extenses: o 1. Uma extenso E1 que contm a e {cisne(bruce), australiano(bruce), branco(bruce), preto(bruce)} 2. Uma extenso E2 que contm a e {cisne(bruce), australiano(bruce), preto(bruce), branco(bruce)} As regras por omisso anteriores so normais, pois tm a forma: a a e : Se as regras numa teoria por omisso forem todas normais, ento garante-se a a a existncia de pelo menos uma extenso. e a

Ano Lectivo 2010/2011

14

Exerc cio
Quais so extenses da teoria a o D=

: empregado empregado estudante : empregado empregado estudante : adulto adulto

adulto

com W = {estudante} ?

Ano Lectivo 2010/2011

15

Lgica autoepistmica (Robert Moore) o e


Imagine-se a seguinte pergunta: O Papa est hoje na FCT ? a Qual o argumento ?

Ano Lectivo 2010/2011

16

Lgica autoepistmica (Robert Moore) o e


Imagine-se a seguinte pergunta: O Papa est hoje na FCT ? a Qual o argumento ? No est. Se estivesse eu teria conhecimento desse facto! Formalmente: a a papaN aF CT LpapaN aF CT A frmula L signica Eu acredito em ou Eu sei . o

Ano Lectivo 2010/2011

17

Lgica autoepistmica (Robert Moore) o e


Expanso: a E = Cn (T {L | E} {L | E}) Para o nosso exemplo bvio que no temos maneira de concluir papaN aF CT eo a logo na expanso deverei ter tambm LpapaN aF CT . a e Por contrapositiva, conclui-se que papaN aF CT . E que mais ?

Ano Lectivo 2010/2011

18

Lgica autoepistmica (Robert Moore) o e


Expanso: a E = Cn (T {L | E} {L | E}) Para o nosso exemplo bvio que no temos maneira de concluir papaN aF CT eo a logo na expanso deverei ter tambm LpapaN aF CT . a e Por contrapositiva, conclui-se que papaN aF CT . E que mais ? LpapaN aF CT . . . LLpapaN aF CT . . .

Ano Lectivo 2010/2011

19

Programao em Lgica ca o
Programa em lgica denido ou positivo um conjunto de regras: o e A : B1, . . . , Bm. em que A, B1, . . . , Bm so tomos da Lgica de Primeira Ordem. Se n = 0 temos a a o um facto representado por A. Uma regra l-se A se B1 e . . . e Bm, correspondendo ` implicao e a ca (B1 . . . Bm A) ou seja, um conjunto de clusulas de Horn. e a Algumas variantes da programao em lgica admitem restries de integridade ca o co com a forma: : B1, . . . , Bm. Os programas denidos datalog so aqueles que no utilizam s a a mbolos de funo ca nos seus termos, i.e. os termos ou so variveis ou constantes. a a

Ano Lectivo 2010/2011

20

Exemplos de Programas em Lgica o


Programa denido datalog shutdown : overheat. shutdown : leak. leak : valve closed, pressure loss. valve closed : signal(1). pressure loss : signal(2). overheat : signal(3). alarm : signal(X). signal(1). signal(2). Um programa denido mas no datalog: a natural(0). natural(s(X)) : natural(X). soma(0, X, X) : natural(X). soma(s(X), Y, s(Z)) : soma(X, Y, Z).

Ano Lectivo 2010/2011

21

Datalog (database logic)


Os programas datalog esto relacionados com as bases de dados, podendo ser a utilizados para expressar regras e consultas a bases de dados dedutivas. Os predicados num programa datalog normalmente classicam-se em: Predicados extensionais formados apenas por factos contendo a a informao ca das relaes da base de dados. co Predicados intensionais denidos atravs de 1 ou mais regras datalog. e Predicados aritmticos predicados cuja cuja interpretao se encontra previae ca mente xada e inaltervel. a

Ano Lectivo 2010/2011

22

Uma base de dados de lmes


Considere-se o predicado extensional movie(T itle, Y ear, Length, InColor, StudioN ame) com a seguinte informao: ca movie(Star Wars , 1977 , 124 , true, Fox). movie(Mighty Ducks, 1991 , 104 , true, Disney). movie(Waynes World, 1992 , 95 , true, Paramount). O predicado intensional longMovie(T,Y) :- movie(T,Y,L,C,S), L >= 100. corresponde ` expresso de lgebra relacional a a a longM ovie = T itle,Y ear Length>=100 (movie)

Ano Lectivo 2010/2011

23

Traduo dos operadores de lgebra relacional ca a


Projeco Xi1 ,...,Xik (r), com k m ca p(Xi1 , . . . , Xik ) : r(X1, . . . , Xm). Interseco (caso m = n) ca i(X1, . . . , Xm) : r(X1, . . . , Xm), s(X1, . . . , Xm). Unio (caso m = n) a u(X1, . . . , Xm) : r(X1, . . . , Xm). u(X1, . . . , Xm) : s(X1, . . . , Xm). Produto cartesiano prod(X1, . . . , Xm, Y1, . . . , Yn) : r(X1, . . . , Xm), s(Y1, . . . , Yn). Juno natural de r/m + k com s/k + n: ca j(X1, . . . , Xm, Z1, . . . , Zk , Y1, . . . , Yn) : r(X1, . . . , Xm, Z1, . . . , Zk ), s(Z1, . . . , Zk , Y1, . . . , Yn).

Ano Lectivo 2010/2011

24

Traduo dos operadores de lgebra relacional ca a


A operao de seleco mais complicada, por causa do predicado de seleco. ca ca e ca A maneira mais simples consiste em passar o predicado de seleco para a forma ca normal disjuntiva (OR de ANDs). Por exemplo, N OT
(Length100 AN D StudioN ame= F ox ) AN D InColor=true (movie)

Pode ser traduzido para q(T,Y,L,I,S) :- movie(T,Y,L,I,S), L < 100, InColor=true. q(T,Y,L,I,S) :- movie(T,Y,L,I,S), S != Fox, InColor=true. E o operador de diferena ? c

Ano Lectivo 2010/2011

25

Consultas recursivas
A linguagem Datalog permite expressar consultas recursivas. Seja o predicado extensional sequelOf (X, Y ) utilizado para indicar que o lme Y uma sequela do lme X. e O predicado intensional f ollowOn(X, Y ) indica que o lme Y segue o X: followOn(X,Y) :- sequelOf(X,Y). followOn(X,Y) :- sequelOf(X,Z), followOn(Z,Y). sequelOf(Empire Strikes Back,Star Wars). sequelOf(Return of Jedi,Empire Strikes Back). A lgebra relacional no sucientemente expressiva para representar este tipo de a a e consultas!

Ano Lectivo 2010/2011

26

Operador de Diferena c
O operador de diferena da lgebra relacional necessita da negao por falha para ser c a ca traduzido correctamente (assumindo adicionalmente a hiptese do mundo fechado). o

Ano Lectivo 2010/2011

27

Semntica de Programas em Lgica Denidos a o


Universo de Herbrand: conjunto de todos os termos formados por combinao ca das constantes e s mbolos de funo que ocorrem no programa. ca Para o exemplo anterior: {0, s(0), s(s(0)), . . .}. Que aconteceria caso se juntasse o facto xpto(1, g(0, X)) ? Base de Herbrand: conjunto de todos os tomos bsicos cujos argumentos so a a a termos do Universo de Herbrand. Para o exemplo:

natural(0), natural(s(0)), natural(s(s(0)), . . . soma(0, 0, 0), soma(0, 0, s(0)), soma(0, s(0), 0), . . . , soma(s(0), s(0), s(0)), soma(s(s(0)), 0, 0), soma(s(s(0)), s(0), 0), . . . , soma(s(s(0)), s(s(0)), s(s(0))), . . .

Ano Lectivo 2010/2011

28

Semntica de Programas em Lgica Denidos a o


Programa instanciado ground(P ) constru substituindo as variveis por e do a termos do Universo de Herbrand. Para o exemplo, algumas das regras sero: a natural(0). soma(0, 0, 0) : natural(0). natural(s(0)) : natural(0). soma(0, s(0), s(0)) : natural(s(0)). natural(s(s(0)) : natural(s(0)). soma(s(0), 0, s(0)) : soma(0, 0, 0). soma(s(0), s(0), s(0)) : soma(0, s(0), 0). . . . . . . Interpretaoes so subconjuntos da Base de Herbrand. Uma interpretao M c a ca e modelo de um programa P sse A:B1,...,Bmground(P ) se B1, . . . , Bm M ento A M a Um programa em lgica denido tem sempre um modelo m o nimo (nico!). u

Ano Lectivo 2010/2011

29

Clculo do modelo m a nimo


O modelo m nimo de um programa em lgica denido obtido por iterao do o e ca operador de consequncias imediatas TP : e TP (I) = {A | A : B1, . . . , Bm ground(P ) tal que B1, . . . , Bm I} O operador TP montono: se I1 I2 ento TP (I1) TP (I2). e o a Tem-se ainda que M modelo de um programa em lgica denido se e somente e o se TP (M ) M . O modelo m nimo dado por least(P ) = TP : e TP 0 = {} TP i+1 = TP (TP i) TP = 0j< TP j

Ano Lectivo 2010/2011

30

Programas em Lgica Normais o


Um programa em lgica normal um conjunto de regras: o e A : B1, . . . , Bm, not C1, . . . , not Cn. A semntica do not da linguagem PROLOG denida por mecanismos operaa e cionais com uma srie de problemas prticos e tericos e a o Dado um programa normal P completamente instanciado (ground), dene-se a diviso de P por uma interpretao I como o programa denido: a ca P = {A : B1, . . . , Bm | A : B1, . . . , Bm, not C1, . . . , not Cn P e C1, . . . , Cn I} I O operador de Gelfond-Lifschitz (I) = least( P ) = T P obtm o modelo e I I m nimo de Herbrand do programa dividido. A interpretao M um modelo estvel sse (M ) = M ca e a

Ano Lectivo 2010/2011

31

Exemplo
laugh :- joke. joke. hear_joke :- joke, not deaf. understand_joke :- hear_joke, not stupid. laugh :- understand_joke. laugh :- stupid, not joke. Qual o modelo estvel deste programa? a

Ano Lectivo 2010/2011

32

As aves
O seguinte programa tambm s tem um modelo estvel do qual e o a voa(X) : ave(X), not anormal(X). ave(X) : pinguim(X). anormal(X) : pinguim(X). ave(tweety). pinguim(joe). se conclui que voa(tweety) e que not voa(joe). Se juntarmos o facto pinguim(tweety) deixaremos de concluir voa(tweety).

Ano Lectivo 2010/2011

33

Os cisnes outra vez


Quais os modelos estveis para: a preto : australiano, cisne, not branco. branco : cisne, not preto. cisne. australiano. Uma regra de um programa em lgica normal pode ser traduzida para o default: o B1 . . . Bm : C1, . . . , Cn A As extenses esto em correspondncia 1-1 com os modelos estveis. o a e a

Ano Lectivo 2010/2011

34

Modelo bem-fundado
Considere-se o programa (no tendo modelos estveis): a a vence(X) : jogada(X, Y ), not vence(Y ). jogada(a, b). jogada(b, c). jogada(b, f ). jogada(c, d). jogada(c, e). jogada(d, d). jogada(e, c). O par T, F um modelo estvel parcial (a 3 valores) sse e a T = (T ) e F = HP (T ) O menor deles pode ser obtido iterando o operador a partir de {}. Esse e designado por modelo bem-fundado e pode ser obtido em tempo polinomial.

Ano Lectivo 2010/2011

35

Clculo do Modelo Bem-fundado a


Considerem-se apenas os tomos da forma vence/1. O modelo bem fundado pode a ser obtido iterando-se a partir de {}. Esquematicamente: 2n({}) 2n({}) (Verdadeiro) (No falso) a 0 {} {v(a), v(b), v(c), v(d), v(e)} 1 {v(b)} {v(b), v(c), v(d), v(e)} 2 {v(b)} {v(b), v(c), v(d), v(e)} n Como temos 4{} = 2{} terminamos o clculo. a b vencedora pois v(b) pertence a 4{}: v(b) verdadeiro. e e a perdedora pois v(a) no pertence a (4{}): not v(a) verdadeiro. e a e As posies c, d, e esto empatados pois, por exemplo, v(c) pertence a (4{}) co a mas no a 4{}: v(c) e not v(c) esto indenidos. a a

Ano Lectivo 2010/2011

36

O que acontece se juntarmos jogada(c, f ) ?

Ano Lectivo 2010/2011

37

Comportamento das semnticas a


Para programas datalog: PROLOG no termina para ciclos positivos e negativos. a Semntica de modelos estveis e modelo bem-fundado coincidem para proa a gramas estraticados. Em particular, todos os ciclos positivos (sem negao) so ca a falsos. Na semntica de modelo bem-fundado tomos envolvidos em ciclos positivos a a so falsos, enquanto que tomos em ciclos negativos so todos indenidos. a a a Na semntica de modelos estveis tomos envolvidos em ciclos positivos so a a a a falsos, enquanto que tomos em ciclos negativos pares geram modelos alternativos. a Contudo, a existncia de ciclos e mpares negativos resulta na inexistncia de modelos e estveis. a

Ano Lectivo 2010/2011

38

Complexidade da progr. em lgica proposicional o


Complexidade para responder a P |= A complexidade denidos P-complete no recursivos estraticados P-complete a estraticados P-complete Bem-fundado P-complete Estvel a coNP-complete A existncia de modelos estveis um problema NP-completo e a e

Ano Lectivo 2010/2011

39

Complexidade datalog
Denem-se vrias medidas de complexidade para o racioc com programas em a nio lgica datalog o data complexity xa-se o programa, varia-se a base de dados (predicados extensionais) e a consulta. program complexity xa-se a base de dados, varia-se a base de dados intensional (programa) e a consulta. combined complexity quer os predicados intensionais, quer os predicados extensionais e a consulta fazem parte do input. Pode-se demonstrar que para o caso datalog a combined complexity coincide com a program complexity. A noo de combined complexity corresponde `quela ca a do transparente anterior.

Ano Lectivo 2010/2011

40

Complexidade datalog
data complexity denidos P-complete no recursivos estraticados polinomial a estraticados P-complete Bem-fundado P-complete Estvel a coNP-complete (combined) complexity EXPTIME-complete PSPACE-complete EXPTIME-complete EXPTIME-complete co-NEXPTIME

Ano Lectivo 2010/2011

41

Complexidade da progr. em lgica o


complexidade denidos (sem recurso) a NEXPTIME-complete denidos (com recurso) a RE-complete estraticados (com n estratos) 0 -complete n+1 Bem-fundado 1-complete 1 Estvel a 1-complete 1 Para ver o signicado da notao ver por exemplo: ca http://en.wikipedia.org/wiki/Recursively_enumerable http://en.wikipedia.org/wiki/Arithmetical_hierarchy http://en.wikipedia.org/wiki/Analytical_hierarchy

Ano Lectivo 2010/2011

42

Planeamento

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

Resumo
Procura vs. planeamento Planeamento proposicional Clculo de Situaoes a c Operadores PDDL e STRIPS Planeamento progressivo e regressivo Planeamento com ordem parcial

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

Procura vs. planeamento


Considere-se a tarefa comprar leite, bananas, e um berbequim. Algoritmos de procura habituais aparentemente parecem desadequados:
Talk to Parrot Go To Pet Store Go To School Go To Supermarket Go To Sleep Read A Book Sit in Chair Etc. Etc. ... Buy a Dog Go To Class Buy Tuna Fish Buy Arugula Buy Milk Sit Some More
...

Start

...

Finish

Read A Book

Heur stica/teste a posteriori problemtico e a

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

Procura vs. planeamento


Sistemas de planeamento: 1) abrem a representao das aces e do objectivo para permitir seleco ca co ca 2) diviso-e-conquista por resoluo de subobjectivos a ca 3) no obriga ` construo sequencial de solues a a ca co Procura Estados estruturas de dados Java Aces co cdigo Java o Objectivo cdigo Java o Plano Sequncia a partir de situao inicial e ca Planeamento Frases lgicas o Precondies/resultados co Frase Lgica (conjuno) o ca Restries sobre as acoes co c

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

Planeamento Clssico a
Consideram-se apenas ambientes: Totalmente observveis a Deterministas Finitos Estticos a Discretos

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

Planeamento proposicional
Considere-se novamente o Wumpus e a descrio em lgica proposicional vista ca o anteriormente: B1,1 (P1,2 P2,1) S1,1 (W1,2 W2,1) . . . W1,1 W1,2 . . . W4,3 W4,4 W1,1 W1,2 W1,1 W1,1 . . . W4,3 W4,4 As frmulas anteriores lidam com os aspectos atemporais do mundo. Como tratar o os aspectos dinmicos? a

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

Fluentes e axiomas de efeito


Associa-se com cada uente (algo no mundo que se altera com o tempo) um instante de tempo t: F acingEast0, HaveArrow0, W umpusAlive1, etc. . . Lt (Breezet Bx,y ) x,y Lt (Stencht Sx,y ) x,y Para descrever como o mundo se altera necessitamos de axiomas de efeito : L0 F acingEast0 F orward0 (L1 L1 ) 1,1 2,1 1,1 E necessrio axioma destes para cada tempo poss a vel, 16 casas, e cada uma das quatro direces. Necessitamos ainda de axiomas semelhantes para as restantes co aces: Grab, Shoot, Climb, T urnLef t e T urnRight. co

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

O frame problem
Suponha-se que o agente pretende avanar no instante 0. A partir do axioma c anterior: L0 F acingEast0 F orward0 (L1 L1 ) 2,1 1,1 1,1 obtm-se ASK(KB, L1 ) = true como seria de esperar. e 2,1 Mas ASK(KB, HaveArrow1)?

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

O frame problem
Suponha-se que o agente pretende avanar no instante 0. A partir do axioma c anterior: L0 F acingEast0 F orward0 (L1 L1 ) 2,1 1,1 1,1 obtm-se ASK(KB, L1 ) = true como seria de esperar. e 2,1 Mas KB |= HaveArrow1? NAO! Nem KB |= HaveArrow1 ! Os axiomas de efeito no dizem o que ca inalterado! a

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

Os axiomas de quiescncia e
Podemos explicitar o quye ca inalterado atravs de axiomas de quiescncia (frame e e axioms) F orwardt (HaveArrowt HaveArrowt+1) F orwardt (W umpusAlivet W umpusAlivet+1) ... Obriga ` escrita de inmeros axiomas. E prefer pensar em termos de uentes a u vel especicando os axiomas de estado sucessor, genericamente F t+1 AccaoCausaF t (F t AccaoCausaN aoF t)

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

10

Por exemplo, HaveArrowt+1 (HaveArrowt Shoott) Lt+1 (Lt (Southt F orwardt)) 1,2 1,1 t (L2,1 (W estt F orwardt)) (Lt (F orwardt Bumpt+1)) 1,1

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

11

Clculo de situaes a co
Formalismo em lgica de primeira ordem que permite o racioc sobre o resultado o nio das aces. co O clculo de situaoes evita lidar explicitamente com o tempo, recorrendo em vez a c disso a situaes. co Uma situao denota o estado resultante de se aplicar uma aco. ca ca Aces so denotadas por termos lgicos (e.g. F orward, M ove, etc...) co a o Situaes so denotadas por termos lgicos, constru a partir da situao inico a o dos ca cial (normalmente designada por S0) e por aplicao de uma aco a uma situao, ca ca ca representado pela expresso funcional Result(a, s). a Fluentes so predicados e funes que variam de uma situao para outra. Por a co ca conveno utiliza-se o ultimo argumento do predicado ou funo para identicar a ca ca situao a que se refere. ca Podem-se ainda utilizar predicados ou funes eternas/intemporais. co
Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/ 12

Exemplo
Factos vericam-se em situaes, em vez de serem eternos co E.g., Holding(Gold, N ow) e no Holding(Gold) a Clculo de Situaoes uma das formas de representar a mudana em LPO: a c c Juntar um argumento de situao a cada predicado no-eterno ca a E.g., N ow em Holding(Gold, N ow) denota a situao ca Situaes so ligadas por intermdio da funo Result co a e ca Result(a, s) a situao resultante de se efectuar a em s (e.g. Result(F orward, S0)). e ca

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

13

PIT
Gold

PIT

PIT
Gold

PIT

PIT

S1
PIT

Forward
S0

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

14

Descrevendo acoes c
Modelo simplicado do mundo do Wumpus em que ignorada a orintao e em e ca que o agente se pode deslocar para qualquer casa adjacente. Assuma-se que o agente est na casa [1, 1] e o ouro na casa [1, 2]. a Vamos utilizar os uentes At(o, x, s) e Holding(o, s) para representar, que o se encontra na casa x na situao s e que o agente possui o na situao s, respectica ca vamente. Descrio da situao inicial ca ca At(o, x, S0) [(o = Agent x = [1, 1]) (o = G1 x = [1, 2])] Holding(o, S0) Gold(G1) Adjacent([1, 1], [1, 2]) Adjacent([1, 2], [1, 1]) Nota: O conhecimento At(Agent, [1, 1], S0) At(Gold, [1, 2], S0) no captura a a totalidade da situao, pois no especica conhecimento negativo relativamente ao ca a uente At/3 Princ do Mundo Aberto!!! pio
Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/ 15

Tarefas que pretendemos efectuar


Projeco: Deduzir o resultado da aplicao de uma sequncia de aces. Por ca ca e co exemplo, demonstrar que: At(G1, [1, 1], Result(Go([1, 2], [1, 1]), Result(Grab(G1), Result(Go([1, 1], [1, 2]), S0))) Planeamento: Encontrar a sequncia de aces que permitem atingir o objectivo. e co s,g Gold(g) Holding(g, s)

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

16

Descrevendo aces no clculo de situaes co a co


Pode-se descrever cada aco com dois axiomas: axioma de possibilidade e axioma ca de efeito. Axiomas de Possibilidade: P recondies P oss(a, s) co At(Agent, x, s) Adjacent(x, y) Gold(g) At(Agent, x, s) At(g, x, s) Holding(g, s) P oss(Go(x, y), s) P oss(Grab(g), s) P oss(Release(g), s)

Axiomas de Efeito: P oss(a, s) mudanas devidas ` aco c a ca P oss(Go(x, y), s) P oss(Grab(g), s) P oss(Release(g), s) At(Agent, y, Result(Go(x, y), s)) Holding(g, Result(Grab(g), s)) Holding(g, Result(Release(g), s))

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

17

Interrogando a teoria
Ser que se pode concluir a At(Agent, [1, 2], Result(Go([1, 1], [1, 2]), S0)) ? e At(G1, [1, 2], Result(Go([1, 1], [1, 2]), S0)) ?

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

18

Interrogando a teoria
Ser que se pode concluir a At(Agent, [1, 2], Result(Go([1, 1], [1, 2]), S0)) ? e At(G1, [1, 2], Result(Go([1, 1], [1, 2]), S0)) ? NAO! Sim

Problema: No basta dizer aquilo que se altera com a aco mas tambm nea ca e e cessrio dizer aquilo que ca inalterado. a Os axiomas de quiescincia (frame axioms) especicam o que se mantm inalterado e e com a aco ca At(o, x, s) (o = Agent) Holding(o, s) At(o, x, Result(Go(x, y), s)) Se existirem F uentes e A aces necessitaremos de no pior caso de A F co axiomas.
Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/ 19

Problemas a enfrentar
Problema da Quiescncia: encontrar uma forma elegante de lidar com o que se e mantm inaltervel e a (a) representaoevitar axiomas de quiescncia ca e (b) infernciaevitar cpias repetidas para manter o estado e o Problema da Qualicao: descries das aces reais obrigam ` considerao de ca co co a ca uma srie de casos excepcionais o que acontece se o ouro estive escorregadio ou e pregado ao cho ou . . . a Problema da Ramicao: aces reais tm muitas consequncias secundrias o ca co e e a que acontece ` poeira em cima do ouro . . . a

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

20

Resoluo do problema da quiescncia ca e


Axiomas de estado sucessor resolvem o problema da quiescncia representacional e Cada axioma acerca de um predicado (no da aco individualmente): e a ca Aco poss ca e vel (P verdade a seguir

(uma aco tornou P verdadeiro ca P j verdadeiro e nenhuma aco tornou P falso)] a ca

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

21

Axiomas de estado sucessor para o Wumpus


Predicado Holding/2: P oss(a, s) (Holding(g, Result(a, s)) (a = Grab(g) Holding(g, s) a = Release(g))) Predicado At/3: P oss(a, s) (At(Agent, y, Result(a, s)) (a = Go(x, y) At(Agent, y, s) a = Go(y, z))) E o que acontece ao ouro?

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

22

Problema da ramicao para o Wumpus ca


E necessrio dizer que tudo aquilo que o agente transporta vai com ele, e se o a agente no se mexer ento tudo o que ele possuir tambm no se mexe! a a e a P oss(a, s) (At(o, y, Result(a, s)) (a = Go(x, y) (o = Agent Holding(o, s)) At(o, y, s) (z y = z a = Go(y, z) (o = Agent Holding(o, s)))))

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

23

Axiomas de nomes unicos


Como se faz uso da igualdade na modelao em clculo de situaes preciso indicar ca a co e que constantes e s mbolos de funo distintos se referem a objectos distintos. Para ca cada par de constantes temos de dizer que so distintos (Axiomas de nomes unicos). a Para o nosso exemplo, Agent = Gold Agent = 1 Agent = 2 Gold = 1 Gold = 2 1 = 2 Muitos sistemas assumem implicitamente estes axiomas (e.g. Prolog). Nesse caso dizemos que estamos na presena da assuno de nomes unicos. c ca

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

24

Axiomas de aces unicas co


Temos ainda de dizer que todas as aces so distintas. Para cada par de nomes co a de aces A, B necessrio indicar que A(x1, . . . , xm) = B(y1, . . . , yn): co e a x1,y1,y2 Grab(x1) = Go(y1, y2) x1,y1 Grab(x1) = Release(y1) x1,y1,y2 Release(x1) = Go(y1, y2) E ainda necessrio juntar para cada termo de aco: a ca x1,y1 Grab(x1) = Grab(y1) x1 = y1 x1,y1 Release(x1) = Release(y1) x1 = y1 x1,x2,y1,y2 Go(x1, x2) = Go(y1, y2) x1 = y1 x2 = y2 Estes axiomas so designados por axiomas de acoes unicas. a c Com estes axiomas j poderemos resolver o problema de planeamento pretendido! a

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

25

Linguagem PDDL (estados)


A utilizao do clculo de situaoes para representar problemas de planeamento ca a c obriga a um conhecimento aprofundado das particularidades da lgica, no sendo o a fcil para o utilizador. A linguagem PDDL (Planning Domain Denition Language) a combina a procura em espaos de estados com as representaes lgicas. c co o Representao dos estados: O mundo representado logicamente por intermdio ca e e de conjunes de literais positivos concretos (sem variveis e s co a mbolos de funo). ca Adopta-se a semntica de bases de dados: a Mundo fechado (CWA): todos os uentes no mencionados so falsos. a a Nomes unicos: todas as constantes so diferentes. a Dom fechado: s existem as constantes referidas na representao. nio o ca Estado inicial: Conjuno de literais ground positivos. ca Objectivos: Conjuno de literais (positivos ou negativos). ca
Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

26

Linguagem PDDL (aces) co


Aces: representadas por esquemas de aco constitu co ca dos por um nome e lista de variveis (e.g. Go(x, y)), precondies e efeitos, ambos uma conjuno de a co ca literais (positivos ou negativos). Action(F ly(p, f rom, to), Precond : At(p, f rom) P lane(p) Airport(f rom) Airport(to) Effect : At(p, f rom) At(p, to) ) As variveis que aparecem em efeitos tambm devem ocorrer na precondio. a e ca Uma aco aplicvel num estado s se as precondies so satisfeitas por s ca e a co a a Actions(s) s |= Precond(a) Um esquema de aco a pode assim ter vrias instncias. ca a a

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

27

Linguagem PDDL (semntica de conjuntos) a


Normalmente mais fcil usar a semntica de conjuntos: estados so conjuntos de e a a a tomos positivos concretos (ground) manipulados por operaoes de conjuntos. a c O resultado de executar uma instncia a num estado s o estado a e Result(a, s) = (s Del(a)) Add(a) em que a a lista (na realidade um conjunto) de remooes Del(a) formada e c e pelos literais negativos no efeito de a e a lista de adies Add(a) o conjunto de co e literais positivos no efeito de a. Um plano uma sequncia de aces PDDL proposicionalizadas que leva do e e co estado inicial ao estado nal.

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

28

Operadores STRIPS
A aproximao STRIPS (STanford Research Institute Problem Solver) um subconca e junto da PDDL que no permite literais negativos nas precondies e nos objectivos. a co Descrio organizada de acoes, linguagem restrita ca c Accao: Buy(x) Precondicao: At(p), Sells(p, x) Efeito: Have(x) Accao: Go(x) Precondicao: At(y) Efeito: At(x), At(y) [Nota: abstrai de muitos detalhes importantes!] Linguagem restrita algoritmo eciente Precondio: conjuno de literais positivos ca ca Efeito: conjuno de literais ca
Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/ 29

At(p) Sells(p,x)
Buy(x)

Have(x)

Traduo para Clculo de Situaes ca a co


Um conjunto de operadores PDDL pode ser traduzido automaticamente para um conjunto de axiomas de estado-sucessor. Para o exemplo anterior temos: s,x,p [At(p, s) Sells(p, x, s) P oss(Buy(x), s)] s,x,y [At(y, s) P oss(Go(x), s)] a,s,x P oss(a, s) [Have(x, Result(a, s)) (a = Buy(x) Have(x, s))] a,s,x,y P oss(a, s) [At(x, Result(a, s)) (a = Go(x) At(x, s) (a = Go(y) x = y))]

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

30

Assunes da linguagem PDDL co


Estados so conjuntos de literais positivos a Os literais que no ocorrem num estado assumem-se falsos (princ do mundo a pio fechado) Um efeito positivo adiciona o literal ao estado. Um efeito negativo remove o literal complementar do estado. O resto mantm-se inalterado para o estado e seguinte. Fluentes no mencionam explicitamente o tempo. Em PDDL o tempo e o estado a impl e cito nos esquemas de aces: a precondio refere-se sempre ao tempo t e co ca o efeito ao tempo t + 1 imediatamente seguinte.

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

31

Exemplo
Considere-se o estado inicial e os operadores abaixo: {em(f ct), com(dinheiro), praia(caparica), local(caparica), local(f ct)} Accao: ir(?X) Precondicao: em(?Y ), local(?X) Efeito: em(?X), em(?Y ) Accao: banhoSol Precondicao: em(?Y ), praia(?Y ) Efeito: com(bronze), com(sede), sem(sede) Accao: beberBijeca Precondicao: com(sede), com(dinheiro) Efeito: com(sede), com(dinheiro), sem(sede) Objectivo: car com bronze e sem sede

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

32

Planeamento em espaos de estados c


Podem-se utilizar algoritmos de procura em espao de estados para efectuar planec amento em dois sentidos: Planeamento Progressivo: Partir do estado inicial, aplicar os operadores PDDL at atingir um estado que torna os objectivos verdadeiros. e Utilizao imediata dos algoritmos de procura analisados anteriormente, mas pode ca gerar muitos estados por utilizao de aces irrelevantes... ca co Planeamento Regressivo: Partir dos objectivos e utilizar os operadores ao contrrio. Trabalha com estados incompletos. a

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

33

Exemplo: planeamento progressivo


Plano PDDL: [ir(caparica), banhoSol, beberBijeca] Execuo do plano e mudanas de estado: ca c {em(f ct), com(dinheiro), praia(caparica), local(caparica), local(f ct)} ir(caparica) {em(caparica), com(dinheiro), praia(caparica), local(caparica), local(f ct)} banhoSol {em(caparica), com(dinheiro), com(bronze), com(sede), praia(caparica), local(caparica), local(f ct)} beberBijeca {em(caparica), com(bronze), sem(sede), praia(caparica), local(caparica), local(f ct)} O Plano PDDL [ir(caparica), banhoSol, banhoSol, beberBijeca] tambm uma e e soluo ? ca E [ir(caparica), banhoSol, beberBijeca, banhoSol] tambm soluo ? e e ca
Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/ 34

Exemplo: planeamento regressivo


Seja g o objectivo corrente. O novo objectivo corrente g obtido considerando e apenas as acoes a tal que a tem um efeito positivo em a e nenhum efeito negativo c em g. O novo objectivo obtido g = (g Add(a)) Precond(a) e Removendo todo o efeito positivo de a que aparea em g c Toda a precondio de a adicionada a g, desde que no ocorra l. ca e a a Construo do plano a partir dos objectivos: ca {sem(sede), com(bronze)} beberBijeca {com(dinheiro), com(sede), com(bronze), } banhoSol {com(dinheiro), em(?Y 1), praia(?Y 1)} ir(caparica) {com(dinheiro), praia(caparica), em(?X1), local(?X1)} (conclui-se do estado inicial fazendo ?X1 = f ct)
Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/ 35

Complexidade do planeamento
Se os operadores so fornecidos no INPUT ento: a a A existncia de um plano descrito na linguagem PDDL ou STRIPS um proe e blema EXPSPACE-completo A existncia de um plano de tamanho n descrito na linguagem PDDL ou e STRIPS um problema NEXPTIME-completo (mais fcil do que o anterior) e a

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

36

Complexidade do planeamento
Pode-se escrever algoritmo especco
Nenhum

operador tem >1 precondio

PSPACE-complete ou

NP-complete para alguns conjuntos de operadores

[Adaptado dos slides http://www.cs.umd.edu/~nau/planning/slides/]

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

37

Heur sticas para plan. em espaos de estados c


Quer o planeamento progressivo quer o planeamento regressivo requerem heur sticas apropriadas. Utiliza-se a tcnica de relaxao de problemas. e ca ignorar precondioes: toda a aco aplicvel em qualquer estado. Ateno c ca e a ca que o nmero de passos para alcanar o objectivo no o nmero de objectivos u c a e u por satisfazer porque: 1. uma aco pode satisfazer vrios objectivos; ca a 2. uma aco pode desfazer o efeito de outra. ca Para muitos problemas uma boa heur stica considera 1 e ignora 2 relaxando as aces removendo das precondies e efeitos todos os literais que no estejam co co a no estado objectivo. Contudo obter o nmero m u nimo de acoes para resolver o c problema relaxado o problema de SET-COVER que NP-dif e e cil... ignorar lista de remooes: removem-se todos os efeitos negativos aos operadores c e utiliza-se um algoritmo de planeamento (mais simples...) para obter o nmero u m nimo de acoes necessrias. NP-dif mas pode ser aproximado por hill-climbing. c a cil
Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/ 38

Heur sticas para plan. em espaos de estados c


As tcnicas anteriores podem no ser sucientes, logo poder ser necessrio efectuar e a a a abstraco dos estados , sendo a mais simples ignorar alguns uentes. ca Outras heur sticas utilizam decomposio para dividir o problema em partes, resolca ver cada parte independentemente e combinar as partes. independncia de subobjectivos: assume que o custo de resolver uma cone juno de subobjectivos aproximado pela soma do custo de resolver cada um dos ca e subobjectivos independentemente. Pode ser optimista (logo admiss vel) quando existem interaces negativas entre co os subplanos. Pode ser pessimista (logo no admiss a vel) quando os subplanos tm acoes e c redundantes. Seja G um conjunto de uentes particionado em conjuntos disjuntos G1, . . . , Gn e P1, . . . , Pn os planos para os resolver. A heur stica maxi COST (Pi) admiss e vel mas i COST (Pi) j no. Mas se Gi e Gj forem independentes podemos utilizar a a COST (Pi)+COST(Pj ).
Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/ 39

Planeamento no espao de planos parciais c


As tcnicas anteriores produzem planos lineares totalmente ordenados (sequncia e e de aces), ignorando o facto de que muitos subproblemas so independentes. co a Nos anos 1980 e 1990 o planeamento com ordem parcial era a tecnologia dominante pois era capaz de lidar com a independncia de subproblemas. e Hoje em dia ainda muito utilizado em problemas de escalonamento e em e situaes em que necessrio indicar os planos a seres humanos para os vericarem. co e a Permitem ainda a utilizao de bibliotecas de planos. ca Foram destronados a partir do ano 2000 pelo planeamento progressivo pois foram descobertas excelentes heur sticas capazes de encontrar os subproblemas independentes.

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

40

Voltando ao Supermercado
Descrio organizada de acoes, linguagem restrita ca c Accao: Buy(x) Precondicao: At(p), Sells(p, x) Efeito: Have(x) Accao: Go(x) Precondicao: At(y) Efeito: At(x), At(y)

At(p) Sells(p,x)
Buy(x)

Have(x)

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

41

Exemplo
Start At(Home) Sells(HWS,Drill) Sells(SM,Milk) Sells(SM,Ban.)

Have(Milk)

At(Home) Have(Ban.) Have(Drill) Finish

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

42

Exemplo
Start At(Home) Sells(HWS,Drill) Sells(SM,Milk) Sells(SM,Ban.)

At(HWS)

Sells(HWS,Drill)

Buy(Drill)

At(x) Go(SM)

At(SM) Sells(SM,Milk) Buy(Milk)

Have(Milk)

At(Home) Have(Ban.) Have(Drill) Finish

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

43

Exemplo
Start

At(Home) Go(HWS)

At(HWS)

Sells(HWS,Drill)

Buy(Drill)

At(HWS) Go(SM)

At(SM) Sells(SM,Milk) Buy(Milk)

At(SM) Sells(SM,Ban.) Buy(Ban.)

At(SM) Go(Home)

Have(Milk)

At(Home) Have(Ban.) Have(Drill) Finish

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

44

Planos parcialmente ordenados


Coleco de passos parcialmente ordenados tal que ca passo Start descreve o estado inicial como os seus efeitos passo F inish descreve o objectivo como as suas precondies co ligaes causais do efeito de um passo para a precondio de outro co ca ordenao temporal entre pares de passos ca Condio aberta = precondio de um passo que ainda no est ligada causalmente ca ca a a Um plano est completo sse toda a precondio foi alcanada a ca c Uma precondio encontra-se alcanada sse o efeito de um passo anterior ca c e e nenhum passo possivelmente interveniente a contraria NOTA: Consideramos apenas operadores STRIPS (sem precondies negativas!). co

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

45

Processo de Planeamento
Operadores em planos parciais: adiciona uma ligao de uma aco existente para uma condio aberta ca ca ca adiciona um passo para garantir uma condio aberta ca ordenar um passo relativamente a outro para eliminar poss veis conitos Evoluem gradualmente de planos incompletos/com falhas para planos correctos e completos Retrocede se uma condio no alcanvel ou se um conito no se puder resolver. ca a e ca a

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

46

Algoritmo POP
function POP(initial, goal, operators) returns plan plan Make-Initial-Plan(initial, goal) loop do if Solution?( plan) then return plan Sneed, c Select-Subgoal( plan) Choose-Operator( plan, operators, Sneed, c) Resolve-Threats( plan) end function Select-Subgoal( plan) returns Sneed, c pick a plan step Sneed from Steps( plan) with a precondition c that has not been achieved return Sneed, c

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

47

Algoritmo POP

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

48

procedure Choose-Operator(plan, operators, Sneed, c) choose a step Sadd from operators or Steps( plan) that has c as an eect if there is no such step then fail c add the causal link Sadd Sneed to Links( plan) add the ordering constraint Sadd Sneed to Orderings( plan) if Sadd is a newly added step from operators then add Sadd to Steps( plan) add Start Sadd F inish to Orderings( plan) procedure Resolve-Threats(plan)
c for each Sthreat that threatens a link Si Sj in Links( plan) do choose either Demotion: Add Sthreat Si to Orderings( plan) Promotion: Add Sj Sthreat to Orderings( plan) if not Consistent( plan) then fail end

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

49

Ameaas e promoo/despromoo c ca ca
Um passo uma ameaa (conituante) quando potencialmente destri uma condio e c o ca j alcanada por uma ligao causual. E.g., Go(Home) uma ameaa a At(Supermarket): a c ca e c
DEMOTION Go(Supermarket)

Despromoo: ca Go(Supermarket)
Go(Home)
At(Home)

colocar

antes

de

At(Supermarket)

Buy(Milk)

PROMOTION

At(Home)

Finish

Promoo: colocar depois de Buy(M ilk) ca

O teste de consistncia assegura que no foram introduzidos ciclos nas relaoes de e a c ordem temporais.

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

50

Propriedades do POP
Algoritmo no-determinista: retrocede no caso de falha para pontos de escolha: a escolha de Sadd para alcanar Sneed c escolha de promoo ou despromoo ca ca seleco de Sneed irrevogvel ca e a POP slido, completo, e sistemtico (sem repeties) e o a co Extenses para disjuno, universais, negao e condicionais na denio dos opeo ca ca ca radores (linguagem ADL). Consegue-se ecincia com boas heur e sticas derivadas da descrio do problema ca Particularmente bom para problemas com muitos sub-objectivos fracamente interligados

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

51

Exemplo: Mundo dos blocos


"Sussman anomaly" problem

A B C

C B A
Start State

Goal State

Clear(x) On(x,z) Clear(y)

Clear(x) On(x,z)

PutOn(x,y)
~On(x,z) ~Clear(y) Clear(z) On(x,y)

PutOnTable(x)
~On(x,z) Clear(z) On(x,Table)

+ several inequality constraints

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

52

Exemplo: Mundo dos blocos


C

START
On(C,A) On(A,Table) Cl(B) On(B,Table) Cl(C)

On(A,B)

On(B,C)

A B C

FINISH

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

53

Exemplo: Mundo dos blocos


C

START
On(C,A) On(A,Table) Cl(B) On(B,Table) Cl(C)

Cl(B) On(B,z) Cl(C)

PutOn(B,C)

On(A,B)

On(B,C)

A B C

FINISH

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

54

Exemplo: Mundo dos blocos


C

START
On(C,A) On(A,Table) Cl(B) On(B,Table) Cl(C)

PutOn(A,B) clobbers Cl(B) => order after PutOn(B,C)

Cl(B) On(B,z) Cl(C) Cl(A) On(A,z) Cl(B)

PutOn(B,C)

PutOn(A,B)

On(A,B)

On(B,C)

A B C

FINISH

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

55

Exemplo: Mundo dos blocos


C

START
On(C,A) On(A,Table) Cl(B) On(B,Table) Cl(C)

On(C,z) Cl(C)

PutOn(A,B) clobbers Cl(B) => order after PutOn(B,C) PutOn(B,C) clobbers Cl(C) => order after PutOnTable(C)

PutOnTable(C)

Cl(B) On(B,z) Cl(C) Cl(A) On(A,z) Cl(B)

PutOn(B,C)

PutOn(A,B)

On(A,B)

On(B,C)

A B C

FINISH

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

56

Casa & Descasa


A agncia de matrimnios Casa&Descasa decidiu investir num sistema de Intee o ligncia Articial para melhorar o atendimento aos seus clientes. O sistema mantm e e informao sobre os homens e mulheres registados no sistema, os casais (heterosca sexuais) e indiv duos solteiros. O objectivo do sistema aconselhar casamentos e e divrcios sugerindo ainda falecimentosde pessoas. A poligamia no permitida. o a e As aces so: casar, divorciar, matar homem casado e matar mulher casada. co a Por exemplo, o sistema dever ser capaz de indicar os passos que levam o indiv a duo An bal, homem e solteiro, a car casado com Belarmina que inicialmente est a casada com Csar e Existe um nmero innito de planos ? u Porque que no poss poligamia ? e a e vel

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

57

Casa & Descasa


Accao: Casar(H, M ) Precondicao: solteiro(H), homem(H), solteiro(M ), mulher(M ) Efeito: casados(H, M ), solteiro(H), solteiro(M ) Accao: Divorciar(H, M ) Precondicao: casados(H, M ) Efeito: solteiro(H), solteiro(M ), casados(H, M ) Accao: M atar Homem Casado(H) Precondicao: casados(H, M ) Efeito: solteiro(M ), casados(H, M ), homem(H) Accao: M atar M ulher Casada(M ) Precondicao: casados(H, M ) Efeito: solteiro(H), casados(H, M ), mulher(M )

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

58

Plano soluo ca

Start S(a)H(a)M(b)C(c,b)H(c)

C(c,b) Matar_Homem(c) S(b)C(c,b)H(c)

S(a)H(a)M(b)S(b) Casar(a,b) C(a,b)S(a)S(b)

C(a,b) Finish

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

59

Poligamia imposs vel (um exemplo)

Start C(c,b)S(a)H(a)M(b)H(c) 3 C(c,b) B Divorciar(c,b) C(c,b)S(b)S(c) 2 S(a)H(a)S(b)M(b) A Casar(a,b) C(a,b)S(a)S(b) 4 1 C(a,b) C(c,b) Finish PassoBameaa4: BtemdeocorrerantesdeC PassoCameaa2: CocorreantesdeB,ou X CocorredepoisdeA

X
C

S(b)S(c)M(b)H(c) Casar(c,b) C(c,b)S(c)S(b)

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

60

Poligamia imposs vel (exemplos)

Start C(c,b)S(a)H(a)M(b)H(c) 3 C(c,b) B Divorciar(c,b) C(c,b)S(b)S(c) 2 S(a)H(a)S(b)M(b) A Casar(a,b) C(a,b)S(a)S(b) 4 1 C(a,b) C(c,b) Finish C S(b)S(c)M(b)H(c) Casar(c,b) C(c,b)S(c)S(b) PassoBameaa4: BtemdeocorrerantesdeC PassoCameaa2: CocorredepoisdeA

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

61

Poligamia imposs vel (exemplos)

PassoBameaa4: BtemdeocorrerantesdeC PassoCameaa2: CocorredepoisdeA 3

Start C(c,b)S(a)H(a)M(b)H(c)

C(c,b) B Divorciar(c,b) C(c,b)S(b)S(c) 2 S(a)H(a)S(b)M(b) A Casar(a,b) C(a,b)S(a)S(b) 4 1 C(a,b) C(c,b) Finish 5 S(b)S(c)M(b)H(c) C Casar(c,b) C(c,b)S(c)S(b) S(b)C(a,b)

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

62

Z Tuga e
O Z Tuga, com tanto campeonato Europeu de Futebol, no tem dedicado muito e a tempo ` sua Maria. Para acalmar os nimos decidiu organizar um jantar a dois, a a em que ele pe a mesa! Dada a sua manifesta ignorncia na organizao destes o a ca eventos pediu conselhos ` Maria, que o instruiu: a - Podes pr uma toalha (ou no), mas s o podes fazer se no estiver nada em o a o a cima da mesa. - Para a mesa car arranjadinha s deves colocar os talheres e os copos depois dos o pratos. - A ordem de colocao dos talheres e dos copos indiferente, mas s depois dos ca e o pratos! Podem existir planos com aces repetidas ? co

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

63

Z Tuga e
Accao: PrToalha o Precondicao: V azia(M esa) Efeito: T oalha, V azia(M esa) Accao: PrPratos o Precondicao: Efeito: P ratos, V azia(M esa) Accao: PrCopos o Precondicao: P ratos Efeito: Copos, V azia(M esa) Accao: PrTalheres o Precondicao: P ratos Efeito: T alheres, V azia(M esa)

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

64

Plano para o Z Tuga e


Start Vazia

Vazia PrToalha Toalha Vazia Pratos PrTalheres Talheres Vazia PrPratos Pratos Vazia

Pratos PrCopos Copos Vazia

Toalha

Talheres

Pratos

Copos

Finish

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

65

Outro plano para o Z Tuga e

Start Vazia

Vazia PrToalha ToalhaVazia PrPratos PratosVazia PrPratos PratosVazia

Pratos PrTalheres TalheresVazia

Pratos PrCopos CoposVazia

Toalha

Talheres

Pratos

Copos

Finish

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

66

Lecture slides for Automated Planning: Theory and Practice

Tcnicas de Grafos de Planeamento


Adaptado por Carlos Viegas Damsio a partir dos slides desenvolvidos por Dana S. Nau

Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/

Histria

Antes da apario do Graphplan, a maior parte da investigao em planeamento estava centrada em planeadores com ordem parcial POP, SNLP, UCPOP, etc. Graphplan foi proposto em 1995 por Blum e Furst, provocando admirao porque era ordens de grandeza mais rpido Diversos sistemas de planeamento a seguir utilizaram algumas das ideias do Graphplan IPP, STAN, GraphHTN, SGP, Blackbox, Medic, TGP, LPG

Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/

Motivao

Uma fonte de ineficincia o factor de ramificao elevado em qualquer dos tipos de planeamento analisados anteriormente
g4 s
0

a4 a5

g1 g2

a1 a2 g0

a3 Uma tcnica para reduzir o factor de ramificao passa por: g3 Criar um problema relaxado Remover algumas restries do problema original Deseja-se que o problema relaxado seja de fcil resoluo (tempo polinomial) As solues do problema relaxado incluiro todas as solues do problema original Depois efectuar uma verso modificada da procura original Restringe o espao de procura de forma a incluir apenas as solues que ocorrem no problema relaxado

g5

Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/

Resumo

O algoritmo Graphplan Contruo de grafos de planeamento Excluso Mtua Extraco da Soluo Heursticas para o POP Discusso

Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/

Graphplan
procedure Graphplan: for k = 0, 1, 2, Expanso do grafo: criar um grafo de planeamento contendo k nveis Verificar se o grafo de planeamento satisfaz uma condio problema necessria (mas insuficiente) para a existncia de um plano relaxado Se satisfizer, ento Literais Aces Extrair soluo: possveis possveis Procura regressiva, no estado si no estado si modificada para considerar apenas as aces no grafo de planeamento Caso se encontre uma soluo, ento devolv-la

Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/

O Grafo de Planeamento

Camadas alternadas de literais e aces concretos (ground) Todas as aces que possivelmente podem ocorrer em cada instante de tempo Todos os literais produzidos por essas aces
nvel estado i-1 nvel estado 0 (os literais em s0) nvel aco i nvel estado i

precondies Aces de Persistncia : propagam literais para o nvel seguinte. Servem para tratar o problema da quiescncia.
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/

efeitos

Exemplo (Dan Weld U. of Washington)

Suponha-se que pretende preparar um jantar de surpresa para o seu/ sua cara-metade (que est a dormir e no deve ser acordado) s0 = {garbage, cleanHands, quiet} g = {dinner, present, garbage}
Aco Precondies Efeitos

cook() wrap() carry() dolly()

cleanHands quiet nenhuma nenhuma

dinner present garbage, cleanHands garbage, quiet

Tambm se adicionam aces de persistncia: uma para cada literal L, com precondio L e efeito L.
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/ 7

Exemplo (continuao)

nvel estado 0: nvel estado 0 nvel aco 1 nvel estado 1 {todos os tomos em s0} U {negao de todos os tomos no em s0} nvel aco 1: {todas as aces cujas precondies esto satisfeitas em s0} nvel estado 1: {todos os efeitos de todas as aces no nvel aco 1}
Precondies Efeitos

Aco

cook() cleanHands dinner wrap() quiet present carry() nenhum garbage, cleanHands dolly() nenhum garbage, quiet Juntamente com as aces de persistncia

Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/

dinner present

dinner present
8

Excluso Mtua

Duas aces no mesmo nvel de aco so mutex se Efeitos inconsistentes : o efeito de uma nega o efeito da outra Interferncia: uma remove a precondio da outra Necessidades em competio: tm precondies mutuamente exclusivas Caso contrrio, no interferem uma com a outra Ambas podem aparecer num plano soluo Dois literais no mesmo nvel estado so mutex se Suporte inconsistente: um a negao do outro, ou todas as maneiras de os alcanar so mutex
9

Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/

Exemplo (continuao)

Aumentar o grafo para indicar mutexes nvel estado 0 nvel aco 1 nvel estado 1 carry mutex com aco de persistncia para garbage (efeitos inconsistentes) dolly mutex com wrap interferncia ~quiet mutex com present suporte inconsistente quer cook quer wrap mutex com uma aco de persistncia
Precondies Efeitos

Aco

cook() cleanHands dinner wrap() quiet present carry() nenhum garbage, cleanHands dolly() nenhum garbage, quiet dinner Juntamente com as aces de persistncia
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/

present

dinner present
10

Exemplo (continuao)

Verificar se existe um nvel estado 0 action-level 1 state-level 0 nvel aco 1 plano possvel O objectivo {garbage, dinner, present} Repare-se que Todos so possveis em s1 Nenhum mutex com qq. outro Logo, h hipteses de um plano existir Tentar encontr-lo Extraco da soluo

state-level 1 1 nvel estado

Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/

dinner present

dinner present
11

Extraco da soluo
Os objectivos que estamos a tentar atingir O nvel de estado sj

procedure Solution-extraction(g,j) se j=0 ento devolver soluo Uma aco real ou de persistncia para cada literal l em g escolher no deterministicamente uma aco statestateactiona usar no estado s j1 para alcanar l level level level se qualquer par de aces mutex i-1 i i ento retroceder g := {as precondies das aces escolhidas} Solution-extraction(g, j1) end Solution-extraction
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/ 12

Exemplo (continuao)

Dois conjuntos de aces para os objectivos no nvel estado 1 Nenhum serve: ambos os conjuntos contm aces que so mutex

nvel estado 0 action-level 1 state-level 1 1 state-level 0 nvel aco 1 nvel estado

Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/

dinner present

dinner present
13

Relembrar como o algoritmo funciona


procedure Graphplan: for k = 0, 1, 2, Expanso do grafo: criar um grafo de planeamento contendo k nveis Verificar se o grafo de planeamento satisfaz uma condio necessria (mas insuficiente) para a existncia de um plano Se satisfizer, ento Extrair soluo: Procura regressiva, modificada para considerar apenas as aces no grafo de planeamento Caso se encontre uma soluo, ento devolv-la

Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/

14

Exemplo (continuao)
nvel estado 0 nvel aco 1 nvel estado 1 nvel aco 2 nvel estado 2

Iterar e efectuar uma expanso do grafo adicional Gerar outro nvel aco e outro nvel estado

dinner present

dinner present

dinner present
15

Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/

Exemplo (continuao)
nvel estado 00 nvel aco 1 1nvel estado 1 nvel aco 22 nvel estado 2 state-level action-level state-level 1 action-level state-level

Extraco da soluo 12 combinaes Trs maneiras para garb Duas maneiras para dinner Duas maneiras para present

dinner present

dinner present

dinner present
16

Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/

Exemplo (continuao)
nvel estado 00 nvel aco 1 1nvel estado 1 nvel aco 22 nvel estado 2 state-level action-level state-level 1 action-level state-level

Algumas combinaes parecem bem no nvel 2 Assinala-se uma delas

dinner present

dinner present

dinner present
17

Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/

Exemplo (continuao)
nvel estado 00 nvel aco 1 1nvel estado 1 nvel aco 22 nvel estado 2 state-level action-level state-level 1 action-level state-level

Chamar SolutionExtraction recursivamente no nvel 2 Tem sucesso Soluo cujo comprimento paralelo 2

dinner present

dinner present

dinner present
18

Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/

Comparao com POP

Vantagem: a procura regressiva do Graphplan que a parte difcils olha para as aces no grafo de planeamento Espao de procura mais pequeno do que o do POP; logo mais rpido Desvantagem: para gerar o grafo de planeamento, Graphplan cria um nmero enorme de literais concretos (instanciados) Muitos deles podem ser irrelevante Pode-se aliviar este problema (mas no eliminar) atribuindo tipos de dados a variveis e constantes S se instanciam variveis com termos do mesmo tipo de dados

Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/

19

Heursticas para o POP

O grafo de planeamento pode ser gerado em tempo polinomial e termina sempre aps um nmero finito de passos: Critrio de paragem: quando dois nveis so idnticos. Pode-se utilizar o grafo de planeamento para obter heursticas para o POP. Constri-se o grafo de planeamento at obter um nvel estado em que todos os objectivos sejam alcanados e no sejam mutex dois a dois. A heurstica assim obtida admissvel e pode ser utilizada conjuntamente com o POP, como por exemplo no sistema RePOP de Nguyen e Kambhampati (2001)

Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/

20

Planeamento proposicional

Com os sucessos obtidos com os algoritmos para resolver o problema da satisfatibilidade surgiu a ideia de os utilizar para atacar o problema do planeamento Assim, surgem uma srie de algoritmos de planeamento baseados na traduo para problemas de satisfatibilidade em lgica proposicional. A juno com o grafos de planeamento resulta em grandes ganhos de performance

Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/

21

Traduo genrica

Proposicionalizar as aces Definir o estado inicial: juntar F0 para cada fluente no estado inicial e F0 para cada fluente no mencionado no estado inicial Proposicionalizar o objectivo Adicionar os axiomas de estado sucessor Adicionar axiomas de precondio: para cada aco concreta A juntar At => PRE(A)t Adicionar axiomas de excluso de aces.

Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/

22

Aproximao Genrica

Um problema de planeamento limitado um par (P,n): P um problema de planeamento; n um inteiro positivo Qualquer soluo de comprimento n para P soluo para (P,n) Algoritmo de planeamento: Efectuar aprofundamento progressivo ou procura em profundidade limitada (SATPLAN): for n = 0, 1, 2, , codificar (P,n) como problema de satisfatibilidade se satisfazvel, ento A partir do modelo que satisfaz , um plano soluo pode ser construdo, logo constri-o e devolve-o
23

Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/

Problema principal

A dimenso da frmula o principal problema. Por exemplo, o nmero de smbolos de proposio para representar aces limitado por n * | Acc | * |O| P em que n o comprimento do plano, |Acc| o nmero de esquemas de aces no domnio, |O| o nmero de objectos e P a aridade mxima dos fluentes. O nmero de clusulas ainda maior Uma das tcnicas consiste em substituir cada fluente de aridade m por m smbolos proposicionais Por exemplo, move(r1,l2,l1,0) pode ser codificado atravs de: move1(r1)0 move2(l2)0 move3(l1)0 Esta tcnica permite na prtica limitar muito o nmero de clusulas geradas
24

Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/

BlackBox

O sistema BlackBox combina expanso do grafo de planeamento com verificao de satisfatibilidade Resumidamente: for n = 0, 1, 2, Expanso do grafo: Criar um grafo de planeamento com n nveis Verificar se o grafo de planeamento satisfaz uma condio necessria (mas insuficiente) para a existncia de um plano Se satifazer, ento Codificar (P,n) como um problema de satisfatibilidade mas incluindo apenas as aces no grafo de planeamento Se for satisfazvel ento devolver a soluo
25

Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/

Mais acerca do BlackBox


Os requisitos de memria continuam a ser enormes, mas menos do que a tcnica de satisfatibilidade sozinha Foi um dos planeadores mais rpidos na competio de 1998 O seu sucessor SatPlan 2006 ficou em primeiro lugar empatado no ICAPS-2006 Planning Competition (IPC-6) na categoria de planeamento ptimo.

Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/

26

Planeamento com ASP

Tcnicas semelhantes (mas mais declarativas) podem ser utilizadas para reduzir problemas de planeamento ao clculo de modelos estveis de problemas de planeamento limitados. Existem diversas tradues que no abordaremos aqui.

Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/

27

Incerteza

Ano Lectivo 2010/2011- 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

Ano Lectivo 2010/2011- 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

Resumo
Incerteza Probabilidade Sintaxe e semntica a Inferncia e Independncia e regra de Bayes e

Ano Lectivo 2010/2011- 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

Incerteza
Seja a aco At = sair para o aeroporto t minutos antes do vo ca o Ser que At me permite chegar a horas? a Problemas: 1) observaes parciais (condioes da estrada, outros condutores, etc.) co c 2) sensores com ru (not do cias de trnsito) a 3) incerteza no resultado das aces (pneu vazio, etc.) co 4) complexidade imensa da modelao e predio do trnsito ca ca a Logo numa aproximao lgica pura, das duas uma ca o 1) arrisca-se a ser falsa: A25 permite-me chegar a horas ou 2) leva a concluses que so demasiado fracas para a tomada de decises: o a o A25 permitir-me- chegar a horas se no existir acidente na ponte a a e se no chover e se os pneus do meu carro no se furarem etc etc. a a (A1440 pode garantir-me com alguma certeza que chegarei a tempo mas terei de car durante a noite no aeroporto . . .)

Ano Lectivo 2010/2011- 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

Mtodos para lidar com incerteza e


Lgicas por omisso ou no-monnotas: o a a o Assumir que o meu carro no tem um pneu vazio a Assumir que A25 funciona a no ser que seja contradito pela evidncia a e Problemas: Quais as assunoes razoveis? Como lidar com a contradio? c a ca Regras com factores inventados: A25 0.3 chegar a tempo Sprinkler 0.99 W etGrass W etGrass 0.7 Rain Problemas: como se combinam os factores, e.g., Sprinkler provoca Rain?? Probabilidade Dada a evidncia existente, e A25 permitir-me- chegar a horas com probabilidade 0.04 a Mahaviracarya (9th C.), Cardamo (1565) teoria dos jogos de azar (Lgica difusa trata graus de verdade NAO incerteza e.g., o W etGrass verdade com grau de 0.2) e
Ano Lectivo 2010/2011- 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/ 4

Probabilidade
Asseres probabil co sticas sumariam efeitos de preguia: incapacidade de enumerar excepes, qualicaes, etc. c co co ignorncia: desconhecimento de factos relevantes, condioes iniciais, etc. a c Probabilidades subjectivas ou Bayesianas: Probabilidades relacionam proposioes com o estado de conhecimento do agente, c e.g., P (A25|no h not a a cias de acidentes) = 0.06 No so armaes acerca da tendncia probabil a a co e stica na situao actual ca (mas podem ser aprendidas a partir de experincia do passado de situaes semee co lhantes) As probabilidades das proposies alteram-se com nova evidncia: co e e.g., P (A25|no h not a a cias de acidentes, 5 a.m.) = 0.15 (Anlogo ao estado de consequncias lgicas em KB |= , no ` noo verdade.) a e o a a ca

Ano Lectivo 2010/2011- 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

Decidindo com incerteza


Suponha-se que eu acredito no seguinte: P (A25 P (A90 P (A120 P (A1440 permite-me permite-me permite-me permite-me chegar chegar chegar chegar a a a a tempo| . . .) tempo| . . .) tempo| . . .) tempo| . . .) = = = = 0.04 0.70 0.95 0.9999

Qual aco a escolher? ca Depende das minhas preferncias relativas a perder vos vs. gastronomia aeroe o porturia, etc. a Teoria da utilidade utilizada para representar e inferir preferncias e e Teoria da deciso = teoria da utilidade + teoria da probabilidade a

Ano Lectivo 2010/2011- 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

Fundamentos de probabilidades
Comece-se com um conjunto o espao amostra c um ponto amostra/mundo poss e vel/acontecimento atmico o Um acontecimento atmico uma especicao completa do estado do mundo o e ca acerca do qual o agente tem incerteza. Os acontecimentos atmicos so mutuao a mente exclusivos e exaustivos (e.g. 6 lanamentos de um dado). c Um espao de probabilidade ou modelo de probabilidade um espao amostra c e c com uma atribuio P () para todo o tal que ca 0 P () 1 P () = 1 e.g., P (1) = P (2) = P (3) = P (4) = P (5) = P (6) = 1/6. Um acontecimento A qualquer subconjunto de e P (A) = {A}P () E.g., P (lanamento do dado < 4) = 1/6 + 1/6 + 1/6 = 1/2 c
Ano Lectivo 2010/2011- 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/ 7

Variveis aleatrias a o
Uma varivel aleatria uma funo de pontos amostra para algum contra-dom a o e ca nio. Os valores devem ser exaustivos e exclusivos. O espao de probabilidade P induz uma distribuio de probabilidade para qualquer c ca v.a. X: P (X = xi) = {:X() = xi}P () e.g., P (P ar = true) = 1/6 + 1/6 + 1/6 = 1/2 Nas aplicaes de IA, os pontos amostra so normalmente denidos pelos valores de co a um conjunto de variveis aleatrias, i.e., o espao amostra o produto Cartesiano a o c e dos contra-dom nios das variveis. a Sejam as v.as. Dado {1, 2} e P intas {1, 2, 3, 4, 5, 6} os pontos amostra so a (ateno isto no lanamento simultneo dos dados!): ca a e c a < 1, 1 > < 1, 2 > < 1, 3 > < 1, 4 > < 1, 5 > < 1, 6 > < 2, 1 > < 2, 2 > < 2, 3 > < 2, 4 > < 2, 5 > < 2, 6 >
Ano Lectivo 2010/2011- 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/ 8

Proposies co
Entende-se uma proposio como sendo o acontecimento (conjunto de pontos ca amostra) onde a proposio verdadeira ca e Dadas as variveis aleatrias Booleanas A e B: a o acontecimento a = conjunto de pontos amostra onde A() = true acontecimento a = conjunto de pontos amostra onde A() = f alse acontecimento a b = pontos onde A() = true e B() = true acontecimento a b = pontos onde A() = true ou B() = true Com variveis Booleanas, ponto amostra = mundo de lgica proposicional a o e.g., A = true, B = f alse, ou a b.

Proposio = disjuno de acontecimentos atmicos onde verdadeira ca ca o e e.g., (a b) (a b) (a b) (a b) P (a b) = P (a b) + P (a b) + P (a b)

Ano Lectivo 2010/2011- 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

Porqu utilizar probabilidades? e


As denies implicam que certos acontecimentos lgicos relacionados devem ter co o probabilidades relacionadas E.g., P (a b) = P (a) + P (b) P (a b)
True
>

de Finetti (1931): um agente que aposte com probabilidades que violem os axiomas da teoria das probabilidades pode ser forado a apostar de maneira a perder dinheiro c independentemente do resultado.

Ano Lectivo 2010/2011- 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

10

Sintaxe para as proposies co


O elemento bsico a varivel aleatria cujos valores devem ser exaustivos e mua e a o tuamente exclusivos. Variveis aleatrias proposicionais ou Booleanas a o Cavity = true ou Cavity = f alse (tenho/no tenho uma crie?) a a Estas proposies podem ser representadas por cavity ou cavity, resp. co Variveis aleatrias discretas (nitas ou innitas) a o V.a. W eather toma valores em < sunny, rainy, cloudy, snow > W eather = rainy uma proposio e ca Variveis aleatrias cont a o nuas (limitadas ou ilimitadas) e.g., T emp = 21.6; tambm permite, e.g. T emp < 22.0. e Combinaes Booleanas arbitrrias de proposies bsicas, por exemplo, Cavity = co a co a f alse W eather = sunny.

Ano Lectivo 2010/2011- 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

11

Probabilidade a priori
Probabilidades a priori ou probabilidades incondicionais de proposies co e.g., P (Cavity = true) = 0.1 e P (W eather = sunny) = 0.72 corresponde ` crena do agente antes da chegada de (nova) evidncia a c e Distribuio de probabilidade d valores a todas as atribuioes poss ca a c veis: P(W eather) = 0.72, 0.1, 0.08, 0.1 (normalizado, i.e., soma 1) Distribuio de probabilidade conjunta para um conjunto de v.a.s. d-nos ca a a probabilidade de cada acontecimento atmico nessas v.a.s. (i.e., em cada ponto o amostra) P(W eather, Cavity) = uma matriz de 4 2 valores: W eather = sunny rain cloudy snow Cavity = true 0.144 0.02 0.016 0.02 Cavity = f alse 0.576 0.08 0.064 0.08 Toda a questo num dom pode ser respondida pela distribuio conjunta a nio ca porque todo o acontecimento uma soma de pontos amostra e
Ano Lectivo 2010/2011- 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/ 12

Probabilidade para variveis cont a nuas


Exprime distribuio como uma funo parametrizada de valor: ca ca P (X = x) = U [18, 26](x) = densidade uniforme entre 18 e 26

0.125

18

dx

26

Em que P uma densidade de probabilidade; integrando em todo o dom d 1. e nio a P (X = 20.5) = 0.125 realmente signica
dx0

lim P (20.5 X 20.5 + dx)/dx = 0.125

Ano Lectivo 2010/2011- 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

13

Funo de densidade Gaussiana ou Normal ca


P (x) =
2 2 1 e(x) /2 2

Ano Lectivo 2010/2011- 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

14

Probabilidade Condicional
Probabilidades a posteriori ou condicionais e.g., P (cavity|toothache) = 0.8 i.e., toothache tudo o que sei e NAO se toothache ento 80% de hiptese de cavity a o Notao para distribuies condicionais: ca co P(Cavity|T oothache) = vector com 2 coordenadas com vector de 2 coordenadas Se soubermos mais, e.g., cavity tambm dado, ento temos e e a P (cavity|toothache, cavity) = 1 Nota: a crena menos espec c ca continua vlida aps mais evidncia chegar, mas a o e nem sempre util e Nova evidncia pode ser irrelevante, permitindo simplicao, e.g., e ca P (cavity|toothache, portoGanha) = P (cavity|toothache) = 0.8 Esta forma de inferncia, sancionada pelo conhecimento do dom e nio, crucial e

Ano Lectivo 2010/2011- 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

15

Probabilidade condicional
Denio de probabilidade condicional: ca P (a|b) = P (a b) se P (b) = 0 P (b)

Regra do Produto uma formulao alternativa: e ca P (a b) = P (a|b)P (b) = p(b|a)P (a) Uma verso genrica verica-se para todas as distribuies, e.g., a e co P(W eather, Cavity) = P(W eather|Cavity)P(Cavity) (Vista como um conjunto de 4 2 equaes, no mult. de matrizes) co a Regra da cadeia derivada por aplicao sucessiva da regra do produto: e ca P(X1, . . . , Xn) = P(X1, . . . , Xn1) P(Xn|X1, . . . , Xn1) = P(X1, . . . , Xn2) P(Xn1|X1, . . . , Xn2) P(Xn|X1, . . . , Xn1) = ... n = i = 1P(Xi|X1, . . . , Xi1)

Ano Lectivo 2010/2011- 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

16

Inferncia por enumerao e ca


Comece-se com a distribuio conjunta: ca
toothache catch cavity cavity
L L

toothache catch
L

catch catch

.108 .012 .016 .064

.072 .008 .144 .576

Para qualquer proposio , somar os acontecimentos atmicos onde verdade: ca o e P () = :|=P () Calcular P (toothache) (probabilidade marginal de toothache)?

Ano Lectivo 2010/2011- 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

17

Inferncia por enumerao e ca


Comece-se com a distribuio conjunta: ca
toothache catch cavity cavity
L L

toothache catch
L

catch catch

.108 .012 .016 .064

.072 .008 .144 .576

Para qualquer proposio , somar os acontecimentos atmicos onde verdade: ca o e P () = :|=P () A probabilidade marginal de toothace : e P (toothache) = 0.108 + 0.012 + 0.016 + 0.064 = 0.2 Calcular P (cavity toothache)?

Ano Lectivo 2010/2011- 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

18

Inferncia por enumerao e ca


Comece-se com a distribuio conjunta: ca
toothache catch cavity cavity
L L

toothache catch
L

catch catch

.108 .012 .016 .064

.072 .008 .144 .576

Para qualquer proposio , somar os acontecimentos atmicos onde verdade: ca o e P () = :|=P () P (cavity toothache) = 0.108 + 0.012 + 0.072 + 0.008 + 0.016 + 0.064 = 0.28 E P (cavity|toothache)?

Ano Lectivo 2010/2011- 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

19

Inferncia por enumerao e ca


Comece-se com a distribuio conjunta: ca
toothache catch cavity cavity
L L

toothache catch
L

catch catch

.108 .012 .016 .064

.072 .008 .144 .576

Tambm se podem calcular probabilidades condicionais: e P (cavity|toothache) = P (cavity toothache) P (toothache) 0.016 + 0.064 = = 0.4 0.108 + 0.012 + 0.016 + 0.064

Ano Lectivo 2010/2011- 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

20

Normalizao ca
toothache catch cavity cavity
L L

toothache catch
L

catch catch

.108 .012 .016 .064

.072 .008 .144 .576

Denominador pode ser visto como constante de normalizao ca P(Cavity|toothache) = P(Cavity, toothache) = [P(Cavity, toothache, catch) + P(Cavity, toothache, catch)] = [ 0.108, 0.016 + 0.012, 0.064 ] = 0.12, 0.08 = 0.6, 0.4 Ideia geral: calcular distribuio na varivel interrogada ca a xando as variveis evidncia e somando varveis ocultas a e a

Ano Lectivo 2010/2011- 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

21

Marginalizao (mtodo genrico) ca e e


Para quaisquer conjuntos de variveis Y, Z tem-se a P(Y) = zZ ou atravs de condicionalizao e ca P(Y) = zZ P(Y|z)P (z) P(Y, z)

Ano Lectivo 2010/2011- 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

22

Probabilidades condicionais (genrico) e


Habitualmente, estamos interessados na distribuio conjunta a posteriori das variveis interrogadas Y ca a dados valores espec cos e para as variveis evidncia E a e Sejam as variveis ocultas dadas por H = X Y E a Logo o somatrio das entradas conjuntas obtida somando as variveis ocultas: o e a P(Y|E = e) = P(Y, E = e) = hP(Y, E = e, H = h) Os termos no somatrio so as entradas da distribuio conjunta porque Y, E, e o a ca H o conjunto de todas as variveis aleatrias e a o Problemas bvios: o 1) Complexidade temporal pior caso O(dn) em que d a maior aridade e 2) Complexidade espacial O(dn) para armazenar a distribuio conjunta ca n 3) Como encontrar os valores para O(d ) entradas???

Ano Lectivo 2010/2011- 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

23

Independncia e
A e B so independentes sse a P(A|B) = P(A) ou P(B|A) = P(B) ou P(A, B) = P(A)P(B)
Cavity decomposes into Toothache Catch

Cavity Toothache Catch Weather

Weather

P(T oothache, Catch, Cavity, W eather) = P(T oothache, Catch, Cavity)P(W eather) 32 entradas reduzidas a 12; para n moedas, 2n n Independncia absoluta poderosa mas rara e Medicina Dentria um rea do conhecimento com centenas de variveis, a e a a nenhumas delas independentes. O que fazer?
Ano Lectivo 2010/2011- 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/ 24

Independncia condicional e
P(T oothache, Cavity, Catch) tem 23 1 = 7 entradas independentes Se eu tenho uma crie, a probabilidade que a broca toque no nervo independente a e do facto de eu ter dor dentes: (1) P (catch|toothache, cavity) = P (catch|cavity) A mesma relao de independncia se verica se eu no tiver uma crie: ca e a a (2) P (catch|toothache, cavity) = P (catch|cavity) Catch condicionalmente independente de T oothache dado Cavity: e P(Catch|T oothache, Cavity) = P(Catch|Cavity) Armaes Equivalentes: co P(T oothache|Catch, Cavity) = P(T oothache|Cavity) P(T oothache, Catch|Cavity) = P(T oothache|Cavity)P(Catch|Cavity)

Ano Lectivo 2010/2011- 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

25

Independncia condicional (numericamente) e


Sejam X, Y e Z trs conjuntos de variveis aleatrias. e a o Diz-se que X condicionalmente independente de Y dado Z, quando para todo e o acontecimento Z = z com P (Z = z) > 0 e qualquer par de acontecimentos X = x e Y = y e z se tem: P (X = x, Y = y, Z = z) = P (X = x, Z = z) P (Y = y, Z = z) P (Z = z)

Ano Lectivo 2010/2011- 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

26

Independncia condicional (cont) e


Escrever a distribuio conjunta utilizando a regra da cadeia: ca P(T oothache, Catch, Cavity) = P(T oothache|Catch, Cavity)P(Catch, Cavity) = P(T oothache|Catch, Cavity)P(Catch|Cavity)P(Cavity) = P(T oothache|Cavity)P(Catch|Cavity)P(Cavity) I.e., 2 + 2 + 1 = 5 valores independentes (equaes 1 e 2 removem 2) co Na maioria das situaoes, a utilizao da independncia condicional reduz o tamac ca e nho da representao da distribuio conjunta de exponencial em n para linear em ca ca n. A independncia condicional a mais bsica e robusta forma de conhecimento e e a acerca de ambientes incertos.

Ano Lectivo 2010/2011- 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

27

Desao
Considere-se a seguinte situao real: ca 1% das mulheres com quarenta anos que efectuam regularmente rastreio tm cancro da mama. Cerca de 80% dessas mulheres obtero uma mae a mograa positiva. 9.6% das mulheres sem cancro da mama tambm tm e e mamograa positiva. Uma mulher neste grupo etrio teve uma mamograa positiva no rastreio regular. a Qual a probabilidade de ela ter cancro da mama? e (P.S: S cerca de 15% dos mdicos se aproxima da resposta correcta...) o e

Ano Lectivo 2010/2011- 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

28

Regra de Bayes
Regra do produto P (a b) = P (a|b)P (b) = P (b|a)P (a) Regra de Bayes P (a|b) = ou na forma de distribuio ca P(Y |X) = P(X|Y )P(Y ) = P(X|Y )P(Y ) P(X) P (b|a)P (a) P (b)

Variante condicionalizada em que evidncia e fornecida: e P(Y |X, e) = P(X|Y, e)P(Y |e) = P(X|Y, e)P(Y |e) P(X|e)

Util para obter a probabilidade do diagnstico dada a probabilidade causal: o P (Causa|Ef eito) = P (Ef eito|Causa)P (Causa) P (Ef eito)

Ano Lectivo 2010/2011- 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

29

Exemplo de aplicao da regra de Bayes ca


Considere o seguinte conhecimento mdico: e Meningite provoca rigidez do pescoo em 70% dos casos c A probabilidade a priori de um paciente ter meningite de 1 em 50000. e A probabilidade a priori de um paciente ter o pescoo r c gido 0.01. e E.g., seja M meningite, R pescoo r c gido: P (m|r) = P (r|m)P (m) 0.7 0.00002 = = 0.0014 (1 em 7000) P (r) 0.01

Nota: a probabilidade a posteriori de meningite ainda muito pequena! e J capaz de responder ao desao anterior? (Resposta: 7.7%!) ae

Ano Lectivo 2010/2011- 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

30

Regra de Bayes e independncia condicional e

P(Cavity|toothache catch) = P(toothache catch|Cavity)P(Cavity) = P(toothache|Cavity)P(catch|Cavity)P(Cavity) Isto um exemplo do modelo de naife de Bayes: e P(Cause, Ef f ect1, . . . , Ef f ectn) = P(Cause)iP(Ef f ecti|Cause)

Cavity

Cause

Toothache

Catch

Effect 1

Effect n

O nmero total de parmetros linear em n u a e


Ano Lectivo 2010/2011- 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/ 31

Mundo do Wumpus
1,4 2,4 3,4 4,4

1,3

2,3

3,3

4,3

1,2

2,2

3,2

4,2

B OK
1,1 2,1 3,1 4,1

B OK OK

Pij = true sse [i, j] contm um poo e c Bij = true sse [i, j] ventosa e Incluir apenas B1,1, B1,2, B2,1 no modelo de probabilidade

Ano Lectivo 2010/2011- 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

32

Especicando o modelo de probabilidade


A distribuio conjunta total P(P1,1, . . . , P4,4, B1,1, B1,2, B2,1) ca e Aplicando a regra do produto: P(B1,1, B1,2, B2,1 | P1,1, . . . , P4,4)P(P1,1, . . . , P4,4) (Faz-se assim para obter P (Ef eito|Causa).) Primeiro termo: 1 se poos adjacentes a brisa, 0 caso contrrio c a Segundo termo: poos so dispostos aleatoriamente, probabilidade de 0.2 por casa: c a P(P1,1, . . . , P4,4) = i,j = 1,1P(Pi,j ) = 0.2n 0.816n para n poos. c
4,4

Ano Lectivo 2010/2011- 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

33

Observaes e interrogao co ca
Sabemos o seguinte: b = b1,1 b1,2 b2,1 known = p1,1 p1,2 p2,1 Interrogao P(P1,3|known, b) ca e Seja U nknown = Pij s diferentes de P1,3 e Known Por inferncia por enumerao, obtemos e ca P(P1,3|known, b) = unknownP(P1,3, unknown, known, b) Cresce exponencialmente com o nmero de casas! u

Ano Lectivo 2010/2011- 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

34

Utilizando a independncia condicional e


Facto fundamental: observaes so condicionalmente independentes de outras co a casas escondidas dadas as casas escondidas vizinhas
1,4 2,4 3,4 4,4

1,3
QUERY

2,3

3,3
OTHER

4,3

1,2

2,2

3,2

4,2

1,1

2,1
KNOWN

FRINGE 3,1

4,1

Denir U nknown = F ringe Other P(b|P1,3, Known, U nknown) = P(b|P1,3, Known, F ringe) Manipular interrogao de maneira a que se possa utilizar a igualdade anterior! ca
Ano Lectivo 2010/2011- 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/ 35

Utilizando a independncia condicional (cont.) e

P(P1,3|known, b) =
unknown

P(P1,3, unknown, known, b)

=
unknown

P(b|P1,3, known, unknown)P(P1,3, known, unknown) P(b|known, P1,3, f ringe, other)P(P1,3, known, f ringe, other)
f ringe other

= =
f ringe other

P(b|known, P1,3, f ringe)P(P1,3, known, f ringe, other) P(b|known, P1,3, f ringe)


f ringe other

= =

P(P1,3, known, f ringe, other) P(P1,3)P (known)P (f ringe)P (other)


other

P(b|known, P1,3, f ringe)


f ringe

= P (known)P(P1,3)
f ringe

P(b|known, P1,3, f ringe)P (f ringe)


other

P (other)

Ano Lectivo 2010/2011- 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

36

= P(P1,3)
f ringe

P(b|known, P1,3, f ringe)P (f ringe)

Ano Lectivo 2010/2011- 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

37

Utilizando a independncia condicional (cont.) e

1,3

1,3

1,3

1,3

1,3

1,2 B OK 1,1

2,2

1,2 B OK

2,2

1,2 B OK

2,2

1,2 B OK

2,2

1,2 B OK

2,2

2,1 B OK OK

3,1

1,1

2,1 B OK OK

3,1

1,1

2,1 B OK OK

3,1

1,1

2,1 B OK OK

3,1

1,1

2,1 B OK OK

3,1

0.2 x 0.2 = 0.04

0.2 x 0.8 = 0.16

0.8 x 0.2 = 0.16

0.2 x 0.2 = 0.04

0.2 x 0.8 = 0.16

P(P1,3|known, b) = 0.2(0.04 + 0.16 + 0.16), 0.8(0.04 + 0.16) = 0.072, 0.16 0.072 0.16 = , 0.072 + 0.16 0.072 + 0.16 0.31, 0.69 P(P2,2|known, b) 0.86, 0.14
Ano Lectivo 2010/2011- 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/ 38

Casos de Aplicao: Urnas ca


Considerem-se duas urnas, a urna A uma com bolas numeradas de 1 a 10, e a urna B com bolas numeradas de 1 a 1000. Escolha-se uma das urnas aleatoriamente Retire-se dela uma bola aleatoriamente A bola que saiu tem o nmero 4, u Qual a probabilidade da bola ter sido retirada da urna A?

Ano Lectivo 2010/2011- 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

39

Soluo para o problema das urnas ca


Pretendemos obter a probabilidade de P (U rna = A|Bola = 4) = = = =
P (Bola=4|U rna=A)P (U rna=A) P (Bola=4) P (Bola=4|U rna=A)P (U rna=A) u{A,B} P (Bola=4U rna=u) P (Bola=4|U rna=A)P (U rna=A) u{A,B} P (Bola=4|U rna=u)P (U rna=u) 0.10.5 0.10.5+0.0010.5

0.1 0.1+0.001

0.1 0.101

0.99

Outra maneira (no h variveis escondidas) a a a P (U rna|Bola = 4) = P (U rna Bola = 4) = P (Bola = 4|U rna) P (U rna) = 0.1 0.5, 0.001 0.5 = 0.05, 0.0005 0.0005 0.05 =< 0.05+0.0005 , 0.05+0.0005 >< 0.99, 0.01 >

Ano Lectivo 2010/2011- 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

40

Casos de Aplicao: Argumento do Ju Final ca zo


Prlogo: o Existem 100 cub culos numerados de 1 a 100. Os nmeros esto pintados do lado de fora. u a E lanada uma moeda ao ar (no viciada). c a Se sair caras, ento uma pessoa colocada dentro de cada um dos cub a e culos. Se sair coroas, ento uma pessoa colocada dentro de cada um dos dez a e cub culos. Voc encontra-se dentro de um dos cub e culos.

Ano Lectivo 2010/2011- 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

41

Casos de Aplicao: Argumento do Ju Final ca zo


Questes: o 1. Qual a probabilidade de ter sa caras? e do 2. Existem 10 ou 100 pessoas nos cub culos? 3. Qual a probabilidade de estar pintado um nmero de 1 a 10 no seu cub e u culo dado que sa ram caras? 4. Qual a probabilidade de estar pintado um nmero de 1 a 10 no seu cub e u culo dado que sa ram coroas? 5. Suponha que abre a porta e tem o nmero 7 escrito na porta. Qual a probau e balidade de terem sa coroas? da

Ano Lectivo 2010/2011- 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

42

Casos de Aplicao: Argumento do Ju Final ca zo


Questes: o 1. Qual a probabilidade de ter sa caras? 0.5 . e do 2. Existem 10 ou 100 pessoas nos cub culos? 0.5 de hipteses. o 3. Qual a probabilidade de estar pintado um nmero de 1 a 10 no seu cub e u culo dado que sa ram caras? 0.1 4. Qual a probabilidade de estar pintado um nmero de 1 a 10 no seu cub e u culo dado que sa ram coroas? 1.0 5. Suponha que abre a porta e tem o nmero 7 escrito na porta. Qual a probau e balidade de terem sa coroas? 0.91 da

Ano Lectivo 2010/2011- 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

43

Casos de Aplicao: Argumento do Ju Final ca zo


Consideremos agora outra situao real, com as duas hipteses rivais: ca o 1. A raa humana extringuir-se- no prximo sculo, com 200 mil milhes (200 c a o e o 109) o nmero total de humanos que nasceram. u 2. A raa humana no se extinguir no prximo sculo e colonizar a galxia, c a a o e a a sendo o nmero total de humanos nascidos 200 bilies (200 1012). u o Vamos supor que a probabilidade da hiptese 1 ocorrer a priori de X%. o e Suponha-se que se sabe que voc o humano nmero 60 mil milhes (60 109) ee u o (aproximadamente o nmero de pessoas que nasceram at hoje). Qual a probabiu e lidade da raa humana se extinguir no prximo sculo dada esta informao? c o e ca

Ano Lectivo 2010/2011- 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

44

Casos de Aplicao: Argumento do Ju Final ca zo


A estocada nal: P (Hip = 1| voc ser a pessoa 60 109) = e P ( voc ser a pessoa 60 109|Hip = 1) P (Hip = 1) e = P ( voc ser a pessoa 60 109) e =
1 X 200109 1 + 2001012 (1

1 X 200109

X)

X 1000X = 999X + 1 X + 1X 1000

Ano Lectivo 2010/2011- 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

45

Casos de Aplicao: Argumento do Ju Final ca zo


Alguns valores para X: X P ( Extino no prximo sculo | voc ser a pessoa 60 109) ca o e e 0.1% 50% 1% 90% 2% 95% 5% 98% 10% 99% ATENCAO: Este argumento alvo de grande discordncia e debate losco in e a o tenso! Vejam a Wikipedia!

Ano Lectivo 2010/2011- 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

46

Casos de Aplicao: Monty Hall Problem ca


Um apresentador honesto de um programa televisivo colocou um Ferrari atrs a de uma de trs portas numeradas. e Existe uma cabra atrs das restantes duas portas. a Um concorrente no tem qualquer informao que o permita escolher entre a ca qualquer uma das portas. O apresentador informa-o das regras do jogo Primeiro aponte para uma porta. Depois, abrirei uma das outras portas que tem a cabra. Depois de eu lhe mostrar a cabra, ter de tomar a a deciso nal se mantm a hiptese inicial ou muda para a outra porta. a e o Ganhar aquilo que estiver detrs da porta seleccionada no m. a a Voc comea para apontar para a porta nmero 1. e c u O apresentador abre-lhe a porta 3, que tem uma cabra escondida. Qual a sua deciso? a

Ano Lectivo 2010/2011- 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

47

Soluo do Monty Hall Problem ca


Considerem-s as proposioes: c Ci carro encontra-se detrs da porta i {1, 2, 3} a Aij o apresentador abre a porta j depois do concorrente escolher a porta i com i, j {1, 2, 3}. Vamos determinar P (C1|A13) = recorrendo ` Regra de Bayes: a = P (C1 A13) P (A13|C1) P (C1) = P (A13) P (A13)

Para o numerador temos: P (A13|C1) P (C1) = 1 1 1 = 2 3 6

O clculo do denominador um pouco mais dif a e cil...

Ano Lectivo 2010/2011- 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

48

Soluo do Monty Hall Problem (cont.) ca


Para o denominador podemos reescrever P (A13) = i1,2,3 P (A13|Ci) P (Ci) = P (A13|C1) P (C1) + P (A13|C2) P (C2) + P (A13|C3) P (C3)
1 1 1 = 2 1 +1 3 +0 3 3

1 2
1 6 1 2

Portanto P (C1|A13) =

= 1! 3

Logo, a deciso RACIONAL trocar de porta! Pois a probabilidade de se a e encontrar a o carro de 2 . e 3

Ano Lectivo 2010/2011- 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

49

Aplicaes reais da Regra de Bayes co


Teoria da pesquisa Bayesiana Utilizada pela Marinha dos EUA para localizar objectos perdidos no mar, particularmente uma bomba de Hidrognio e um submarino... e Classicadores de Bayes, nomeadamente para classicar documentos (e.g. detectar SPAM). Baseia-se no princ pio: P r(spam|words) = Diagnstico mdico o e Predio de trfego ca a Oce Assistant do Microsoft Word P r(words|spam) P (spam) P (words)

Ano Lectivo 2010/2011- 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

50

Sumrio a
A teoria das probabilidades um formalismo rigoroso para lidar com conhecimento e incerto Distribuio de probabilidade conjunta especica a probabilidade de todo o aconca tecimento atmico o As interrogaes podem ser respondidas somando-se acontecimentos atmicos co o Para dom nios no triviais, essencial reduzir o tamanho da distribuio conjunta a e ca Independncia e independncia condicional fornecem as ferramentas e e

Ano Lectivo 2010/2011- 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

51

Redes Bayesianas

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

Resumo
Sintaxe Semntica a Distribuies parametrizadas co

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

Redes Bayesianas
Notao grca simples para asseres de independncia condicional ca a co e e portanto uma especicao compacta para distribuies conjuntas totais ca co Sintaxe: um conjunto de ns, um por varivel o a um grafo ac clico dirigido (arco inuencia directamente) uma distribuio condicional para cada n dados os seus pais: ca o P(Xi|P arents(Xi)) No caso mais simples, distribuio condicional representada como ca uma tabela de probabilidade condicionada (CPT) especicando a distribuio de Xi para cada combinao dos valores dos pais ca ca

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

Exemplo
Topologia da rede codica asseres de independncia condicional: co e

Weather

Cavity

Toothache

Catch

W eather independente das outras variveis e a T oothache e Catch so condicionalmente independentes dado Cavity a

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

Exemplo
Estou no trabalho, o vizinho John telefona-me para dizer que o meu alarme est a a tocar, mas a vizinha Mary no telefona. Ocasionalmente dispara por causa de a pequenos tremores de terra. A minha casa est a ser assaltada? a Variveis: Burglar, Earthquake, Alarm, JohnCalls, M aryCalls a Topologia da rede reecte conhecimento causal: Um assaltante pode disparar o alarme Um tremor de terra pode disparar o alarme O alarme pode fazer com que a Mary telefone O alarme pode fazer com que o John telefone

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

Exemplo (cont.)
P(B) P(E)

Burglary
B E P(A|B,E)

.001

Earthquake

.002

T T F F

T F T F

.95 .94 .29 .001

Alarm

P(J|A)

A P(M|A)

JohnCalls

T F

.90 .05

MaryCalls

T F

.70 .01

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

Representao Compacta ca
Uma CPT para Xi Booleana com k pais Booleanos requer 2k linhas para as combinaes de valores dos pais co Cada linha requer um nmero p para Xi = true u (o nmero para Xi = f alse simplesmente 1 p) u e Se cada varivel no tem mais de k pais, a a a rede precisa no total de O(n 2k ) nmeros u I.e., cresce linearmente com n, vs. O(2n) para a distribuio conjunta total ca Para a rede do assaltante, 1 + 1 + 4 + 2 + 2 = 10 nmeros (vs. 25 1 = 31) u

B A J

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

Semntica Global a
Semntica global dene a distribuio conjunta total a ca como o produto distribuies condicionais locais: co P(X1, . . . , Xn) = i = 1P(Xi|P arents(Xi))
n

B A J

Nesta situao dizemos que a distribuio P compat com a rede G. ca ca e vel e.g., P (j m a b e) =

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

Semntica Global a
Semntica global dene a distribuio conjunta total a ca como o produto distribuies condicionais locais: co P(X1, . . . , Xn) = i = 1P(Xi|P arents(Xi))
n

B A J

Nesta situao dizemos que a distribuio P compat com a rede G. ca ca e vel e.g., P (j m a b e) = P (j|a)P (m|a)P (a|b, e)P (b)P (e)

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

Semntica Global a
Semntica global dene a distribuio conjunta total a ca como o produto distribuies condicionais locais: co P(X1, . . . , Xn) = i = 1P(Xi|P arents(Xi))
n

B A J

Nesta situao dizemos que a distribuio P compat com a rede G. ca ca e vel e.g., P (j m a b e) = P (j|a)P (m|a)P (a|b, e)P (b)P (e)

= 0.90 0.70 0.001 0.999 0.998 = 0.00062

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

10

Semntica Local a
Semntica Local: cada n condicionalmente independente a oe dos seus no-descendentes dado os seus pais a

U1

...

Um

X Z 1j Z nj

Y1

...

Yn

Para todo o n X assume-se que P (X|Z1j , . . . , Znj , U1, . . . , Um) = P (X|U1, . . . , Um). o Concluiu-se que: Teorema: Semntica Local Semntica Global a a
Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/ 11

Markov blanket
Cada n condicionalmente independente de todos os outros dado o seu oe Markov blanket: pais + lhos + pais dos lhos

U1

...

Um

X Z 1j Z nj

Y1

...

Yn

Seja W1, . . . Wp um qualquer conjunto de ns da rede disjunto do Markov Blanket o de X tem-se P (X|W1, . . . , Wp, U1, . . . , Um, Y1, . . . , Yn, Z1j , . . . Znj ) = P (X|U1, . . . Um, Y1, . . . , Yn, Z1j , . . . Znj )

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

12

Grafos morais e d-separao ca


Sejam 3 subconjuntos de ns X, Y, Z de uma rede Bayesiana G. O grafo moral o e constru da seguinte forma: do Removem-se todos os ns de G exceptuando aqueles que se encontram em o X Y Z e todos os seus antecessores. Liga-se com uma aresta todo o par de ns que tm um lho comum. o e Removem-se as setas dos restantes arcos. Dizemos que (X || Y |Z)G (Z d-separa X de Y ) quando todo o caminho entre X e Y interceptado por Z no grafo moral. e Teorema: Sejam X, Y e Z quaisquer subconjuntos disjuntos de uma rede G e para toda a funo de probabilidade P compat com G, tem-se ca vel 1. Se (X
||

Y |Z)G ento X condicional. indepen. de Y dado Z em P , a e

2. Se X condicionalmente independente de Y dado Z para todas as distribuies e co P compat veis com G, ento (X || Y |Z)G. a
Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/ 13

Exemplo de d-separao ca

Tuberculosis or Cancer d-separa Tuberculosis de Bronchitis? Tuberculosis or Cancer d-separa Tuberculosis de Dyspnea? Lung Cancer d-separa Tuberculosis de Bronchitis? Tuberculosis or Cancer e Lung Cancer d-separam Tuberculosis de Dyspnea?

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

14

Exemplo de d-separao (cont). ca


Tuberculosis or Cancer d-separa Tuberculosis de Bronchitis? No a Tuberculosis or Cancer d-separa Tuberculosis de Dyspnea? No a

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

15

Exemplo de d-separao (cont). ca


Lung Cancer d-separa Tuberculosis de Bronchitis? Sim Tuberculosis or Cancer e Lung Cancer d-separam Tuberculosis de Dyspnea? Sim

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

16

Construo de redes Bayesianas ca


E necessrio um mtodo tal que uma srie de asseres testadas localmente a e e co de independncia condicional garantam a semntica global pretendida e a 1. Escolher uma ordenao das variveis X1, . . . , Xn ca a 2. For i = 1 to n adicionar Xi ` rede a seleccionar pais de X1, . . . , Xi1 tal que P(Xi|P arents(Xi)) = P(Xi|X1, . . . , Xi1) Esta escolha de pais garante a semntica global: a P(X1, . . . , Xn) = =

n= 1P(Xi|X1, . . . , Xi1) i n i = 1P(Xi|P arents(Xi))

(regra da cadeia) (por construo) ca

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

17

Exemplo
Suponhamos a seguinte ordenao M , J, A, B, E ca
MaryCalls JohnCalls

P (J|M ) = P (J)?

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

18

Exemplo
Suponhamos a seguinte ordenao M , J, A, B, E ca
MaryCalls JohnCalls

Alarm

P (J|M ) = P (J)? No a P (A|J, M ) = P (A|J)? P (A|J, M ) = P (A)?

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

19

Exemplo
Suponhamos a seguinte ordenao M , J, A, B, E ca
MaryCalls JohnCalls

Alarm

Burglary

P (J|M ) = P (J)? No a P (A|J, M ) = P (A|J)? P (A|J, M ) = P (A)? No a P (B|A, J, M ) = P (B|A)? P (B|A, J, M ) = P (B)?

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

20

Exemplo
Suponhamos a seguinte ordenao M , J, A, B, E ca
MaryCalls JohnCalls

Alarm

Burglary Earthquake

P (J|M ) = P (J)? No a P (A|J, M ) = P (A|J)? P (A|J, M ) = P (A)? No a P (B|A, J, M ) = P (B|A)? Sim P (B|A, J, M ) = P (B)? No a P (E|B, A, J, M ) = P (E|A)? P (E|B, A, J, M ) = P (E|A, B)?
Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/ 21

Exemplo
Suponhamos a seguinte ordenao M , J, A, B, E ca
MaryCalls JohnCalls

Alarm

Burglary Earthquake

P (J|M ) = P (J)? No a P (A|J, M ) = P (A|J)? P (A|J, M ) = P (A)? No a P (B|A, J, M ) = P (B|A)? Sim P (B|A, J, M ) = P (B)? No a P (E|B, A, J, M ) = P (E|A)? No a P (E|B, A, J, M ) = P (E|A, B)? Sim
Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/ 22

Exemplo (cont.)
MaryCalls JohnCalls

Alarm

Burglary Earthquake

Decidir sobre independncia condicional dif nas direcoes no causais: modelos e e cil c a causais e independncia condicional parecem ser inatos nos humanos! e Determinao de probabilidades condicionais dif nas direces no causais. ca e cil co a Rede menos compacta do que a inicial: necessrios 1 + 2 + 4 + 2 + 4 = 13 e a nmeros u

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

23

Exemplo: Diagnstico de avarias o


Evidncia inicial evidncia: carro no pega e e a Variveis observveis (verde), variveis avariado, arranja-o (laranja) a a a Variveis ocultas (cinzento) garantem estrutura esparsa, reduzem parmetros a a
battery age alternator broken fanbelt broken

battery dead battery meter

no charging

battery flat

no oil

no gas

fuel line blocked

starter broken

lights

oil light

gas gauge

car wont start

dipstick

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

24

Exemplo: Seguro do carro


SocioEcon Age GoodStudent ExtraCar RiskAversion SeniorTrain DrivingSkill DrivingHist Antilock DrivQuality Ruggedness Accident Theft OwnDamage Cushioning OtherCost OwnCost Airbag CarValue HomeBase AntiTheft MakeModel Mileage VehicleYear

MedicalCost

LiabilityCost

PropertyCost

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

25

Distribuies condicionais compactas co


CPT cresce exponencialmente com o nmero de pais u CPT ca innita com pai ou lho tomando valores cont nuos Soluo: distribuioes cannicas que so denidas compactamente ca c o a Ns deterministas so o caso mais simples: o a X = f (P arents(X)) para alguma funo f ca E.g., funes Booleanas co N orthAmerican Canadian U S M exican E.g., relaes numricas entre variveis cont co e a nuas Level = inow + precipitation - outow - evaporation t

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

26

Distribuies condicionais compactas (cont.) co


Distribuies Noisy-OR modelam mltiplas causas que no interagem co u a 1) Pais U1 . . . Uk incluem todas as causas (pode-se adicionar n ) o 2) Probabilidade de falha independentes qi para cada causa isoladamente j P (X|U1 . . . Uj , Uj+1 . . . Uk ) = 1 i = 1qi Constip. F F F F T T T T Gripe F F T T F F T T M alaria F T F T F T F T P (F ebre) 0.0 0.9 0.8 0.98 0.4 0.94 0.88 0.988 P (F ebre) 1.0 0.1 0.2 0.02 = 0.2 0.1 0.6 0.06 = 0.6 0.1 0.12 = 0.6 0.2 0.012 = 0.6 0.2 0.1

Nmero de parmetros linear no nmero de pais u a u

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

27

Redes h bridas (discretas+cont nuas)


Discretas (Subsidy? e Buys?); cont nuas (Harvest and Cost)
Subsidy? Harvest

Cost

Buys?

Opo 1: discretizaoerros podem ser grandes, CPTs grandes ca ca Opo 2: fam cannicas com nmero nito de parmetros ca lias o u a 1) Varivel cont a nua, pais discretos+cont nuos (e.g., Cost) 2) Varivel discreta, pais cont a nuos (e.g., Buys?)

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

28

Variveis lho cont a nuas


Necessria uma funo de densidade condicional para cada varivel lho dados pais a ca a cont nuos, para cada poss atribuio de pais discretos vel ca Mais habitual o modelo linear Gaussiano, e.g.,: e P (Cost = c|Harvest = h, Subsidy? = true) = N (ath + bt, t)(c) = t 1 1 exp 2 2 c (ath + bt) t
2

Mdia Cost varia linearmente com Harvest, varincia xa e a Variao linear no razovel para todo o dom ca a e a nio mas funciona bem se os valores provveis de Harvest esto limitados a a

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

29

Variveis lho cont a nuas


Rede s com variveis cont o a nuas com distribuio LG ca distribuio conjunta tem distribuio Gaussiana multivariada ca ca Rede discreta+cont nua LG uma rede Gaussiana condicional, i.e., uma Gaussiana e multivariada para todas as variveis cont a nuas para cada combinao de valores de ca variveis discretas a
P(Cost|Harvest,Subsidy?=false) 0.4 0.35 0.3 0.25 0.2 0.15 0.1 0.05 0 10 0 5 Cost 10 0 5 Harvest 0 5 Cost 10 0 5 P(Cost|Harvest,Subsidy?=true) 0.35 0.3 0.25 0.2 0.15 0.1 0.05 0 10 Harvest

P(Cost|Harvest) 0.4 0.35 0.3 0.25 0.2 0.15 0.1 0.05 0 10 0 5 Cost 10 0 5 Harvest

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

30

Variveis discretas com pais cont a nuos


Probabilidade de Buys? dado Cost deve ser um limiar suave:
1

0.8 P(Buys?=false|Cost=c)

0.6

0.4

0.2

0 0 2 4 6 Cost c 8 10 12

Distribuio Probit utiliza integral de uma Gaussiana: ca (x) = xN (0, 1)(x)dx P (Buys? = true | Cost = c) = ((c + )/) P (Buys? = f alse | Cost = c) = 1 ((c + )/) = ((c )/) Em que o local onde ocorre o limiar e um parmetro que controla a largura e a do limiar..
Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/ 31

Porqu a probit? e
1. Tem a forma correcta 2. Pode ser entendida como um limiar cuja localizao est sujeita a ru ca a do

Cost

Cost

Noise

Buys?

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

32

Varivel discreta (cont.) a


Distribuio Sigmide (ou logit) tambm utilizada em redes neuronais: ca o e P (Buys? = true | Cost = c) = 1 1 + exp(2 c+ )

Sigmide tem forma semelhante ` da probit mas com caudas maiores: o a


1 0.9 0.8 P(Buys?=false|Cost=c) 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0 2 4 6 Cost c 8 10 12

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

33

Sumrio a
Redes de Bayes so uma representao natural para independncia condicional a ca e (induzidas causalmente) Topologia + CPTs = representao compacta de distribuio conjunta ca ca Geralmente fcil de construir por (no)peritos a a Distribuies cannicas (e.g., noisy-OR) = representao compacta de CPTs co o ca Variveis cont a nuas distribuies parametrizadas (e.g., Gaussiana linear) co

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

34

Inferencia em redes Bayesianas

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

Resumo
Inferncia exacta por enumerao e ca Inferncia exacta por eliminao de variveis e ca a Inferncia aproximada por simulao estocstica e ca a

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

Tarefas de inferncia e
Interrogaes simples: calcular distribuio marginal a posteriori P(Xi|E = e) co ca e.g., P (N oGas|Gauge = empty, Lights = on, Starts = f alse) Interrogaes conjuntivas: P(Xi, Xj |E = e) = P(Xi|E = e)P(Xj |Xi, E = e) co Decises ptimas: redes de deciso incluem informao de utilidade; o o a ca inferncia probabil e stica necessria para P (outcome|action, evidence) a Valor da informao: que evidncia procurar a seguir? ca e Anlise de sensibilidade: quais os valores de probabilidade mais cr a ticos? Explicao: por que que preciso de um novo motor de arranque? ca e

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

Inferncia por enumerao e ca


Forma relativamente inteligente de somar variveis da distribuio conjunta sem a ca necessitar de construir a sua representao expl ca cita Interrogao simples na rede do assaltante: ca P(B|j, m) = P(B, j, m)/P (j, m) = P(B, j, m) = eaP(B, e, a, j, m)

B A J

Rescrever entradas da distribuio conjunta recorrendo ao produto de entradas da ca CPT: P(B|j, m) = eaP(B)P (e)P(a|B, e)P (j|a)P (m|a) = P(B)eP (e)aP(a|B, e)P (j|a)P (m|a) (expr1) Enumerao recursiva em profundidade primeiro: espao O(n), tempo O(dn) ca c

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

Inferncia por enumerao e ca


Vamos fazer B = true em expr1 (ignorando ): P(B = true)e{true,f alse}P (E = e)a{true,f alse}P(A = a|B = true, E = e)P (J = true|A = a)P (M = true|A = a) = 0.001 [0.002 (0.95 0.9 0.7 + 0.05 0.05 0.01) +0.998 (0.94 0.9 0.7 + 0.06 0.05 0.01)] = 0, 000592243 Vamos fazer B = f alse em expr1 (ignorando ): P(B = f alse)e{true,f alse}P (E = e)a{true,f alse}P(A = a|B = f alse, E = e)P (J = true|A = a)P (M = true|A = a) = 0.999 [0.002 (0.29 0.9 0.7 + 0.71 0.05 0.01) +0.998 (0.001 0.9 0.7 + 0.999 0.05 0.01)] = 0, 001491858 Portanto normalizando, obtemos: 0,000592243 P(B = true|J = true, M = true) = 0,000592243+0,001491858 = 0, 284171835 0,001491858 P(B = f alse|J = true, M = true) = 0,000592243+0,001491858 = 0, 715828165

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

Algoritmo de enumerao ca
function Enumeration-Ask(X, e, bn) returns a distribution over X inputs: X, the query variable e, observed values for variables E bn, a Bayesian network with variables {X} E Y Q(X ) a distribution over X, initially empty for each value xi of X do extend e with value xi for X Q(xi ) Enumerate-All(Vars[bn], e) return Normalize(Q(X)) function Enumerate-All(vars, e) returns a real number if Empty?(vars) then return 1.0 Y First(vars) if Y has value y in e then return P (y | P a(Y )) Enumerate-All(Rest(vars), e) else return y P (y | P a(Y )) Enumerate-All(Rest(vars), ey ) where ey is e extended with Y = y

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

Arvore de avaliao ca
Enumerao ineciente: clculos repetidos ca e a e.g., calcula P (j|a)P (m|a) para cada valor de e

P(b) .001 P(e) .002 P(a|b,e) .95 P( a|b,e) .05 P( e) .998 P(a|b, e) .94 P( a|b, e) .06

P(j|a) .90

P(j| .05

a)

P(j|a) .90

P(j| .05

a)

P(m|a) .70

P(m| a) .01

P(m|a) .70

P(m| .01

a)

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

Inferncia por eliminao de variveis e ca a


Eliminao de variveis: efectuar somatrios da direita para a esquerda, ca a o armazenando resultados intermdios (factores) para evitar recomputao e ca P(B|j, m) = P(B) e P (e) a P(a|B, e) P (j|a) P (m|a)
B E A J M

= P(B)eP (e)aP(a|B, e)P (j|a)fM (a) = P(B)eP (e)aP(a|B, e)fJ (a)fM (a) = P(B)eP (e)afA(a, B, e)fJ (a)fM (a) = P(B)eP (e)fAJM (B, e) (soma-se A) = P(B)fE AJM (B) (soma-se E) = fB (B) fE AJM (B)

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

Eliminao de variveis: operaes bsicas ca a co a


Somar para eliminar a varivel de um produto de factores: a deslocar todos os factores contantes para fora do somatrio o adicionar submatrizes no produto pontual dos factores restantes

xf1 fk = f1 fi x fi+1 fk = f1 fi fX
assumindo que f1, . . . , fi no depende de X a Produto pontual dos factores f1 e f2: f1(x1, . . . , xj , y1, . . . , yk ) f2(y1, . . . , yk , z1, . . . , zl ) = f (x1, . . . , xj , y1, . . . , yk , z1, . . . , zl ) E.g., f1(a, b) f2(b, c) = f (a, b, c)

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

Algoritmo de eliminao de variveis ca a


function Elimination-Ask(X, e, bn) returns a distribution over X inputs: X, the query variable e, evidence specied as an event bn, a belief network specifying joint distribution P(X1, . . . , Xn) factors [ ]; vars Reverse(Vars[bn]) for each var in vars do factors [Make-Factor(var , e)|factors] if var is a hidden variable then factors Sum-Out(var, factors) return Normalize(Pointwise-Product(factors))

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

10

Algoritmo de elim. de variveis exemplicado a


Varivel de Interrogao: Burglary a ca Evidncia: JohnCalls = true, M aryCalls = true e Ordenao das variveis (das folhas para a raiz): M, J, A, B, E ca a Factores: []

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

11

Algoritmo de elim. de variveis exemplicado a


Varivel de Interrogao: Burglary a ca Evidncia: JohnCalls = true, M aryCalls = true e Ordenao das variveis (das folhas para a raiz): M, J, A, B, E ca a Factores: [fM (A)] Factor da varivel M : fM (A) = P (M = true|A) a A fM (A) true 0.70 f alse 0.01

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

12

Algoritmo de elim. de variveis exemplicado a


Varivel de Interrogao: Burglary a ca Evidncia: JohnCalls = true, M aryCalls = true e Ordenao das variveis (das folhas para a raiz): M, J, A, B, E ca a Factores: [fJ (A), fM (A)] Factor da varivel J: fJ (A) = P (J = true|A) a A fJ (A) true 0.90 f alse 0.05 A fM (A) true 0.70 f alse 0.01

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

13

Algoritmo de elim. de variveis exemplicado a


Varivel de Interrogao: Burglary a ca Evidncia: JohnCalls = true, M aryCalls = true e Ordenao das variveis (das folhas para a raiz): M, J, A, B, E ca a Factores: [fA(A, B, E), fJ (A), fM (A)] Factor da varivel A: fA(A, B, E) = P (A|B, E) a A true true true true f alse f alse f alse f alse B true true f alse f alse true true f alse f alse E fA(A, B, E) true 0.95 f alse 0.94 true 0.29 f alse 0.001 true 0.05 f alse 0.06 true 0.71 f alse 0.999

A fJ (A) true 0.90 f alse 0.05

A fM (A) true 0.70 f alse 0.01

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

14

Algoritmo de elim. de variveis exemplicado a


Varivel de Interrogao: Burglary a ca Evidncia: JohnCalls = true, M aryCalls = true e Ordenao das variveis (das folhas para a raiz): M, J, A, B, E ca a Factores: [fA(A, B, E), fJ (A), fM (A)] Como a varivel A oculta vai-se elimin-la (atravs da soma). Para isso nea e a e e cessrio: a

Efectuar o produto pontual dos factores que tm o parmetro A e a fAJM (A, B, E) = fA(A, B, E) fJ (A) fM (A) Eliminar a varivel A obtendo o factor fAJM (B, E) a

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

15

Algoritmo de elim. de variveis exemplicado a


Varivel de Interrogao: Burglary a ca Evidncia: JohnCalls = true, M aryCalls = true e Ordenao das variveis (das folhas para a raiz): M, J, A, B, E ca a Factores: [fA(A, B, E), fJ (A), fM (A)] Produto pontual: fAJM (A, B, E) = fA(A, B, E) fJM (A) fJM (A) = fJ (A) fM (A) A fJM (A) A fJ (A) A fM (A) true 0.90 0.70 = 0.63 = true 0.90 true 0.70 f alse 0.05 0.01 = 0.0005 f alse 0.05 f alse 0.01

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

16

Algoritmo de elim. de variveis exemplicado a


Varivel de Interrogao: Burglary a ca Evidncia: JohnCalls = true, M aryCalls = true e Ordenao das variveis (das folhas para a raiz): M, J, A, B, E ca a Factores: [fA(A, B, E), fJ (A), fM (A)] Produto pontual: fAJM (A, B, E) = fA(A, B, E) fJM (A)
A true true true true f alse f alse f alse f alse B true true f alse f alse true true f alse f alse E fAJM (A, B, E) true 0.95 0.63 = 0.5985 f alse 0.5922 true 0.1827 f alse 0.00063 true 0.000025 f alse 0.00003 true 0.000355 f alse 0.0004995 A true true true true f alse f alse f alse f alse B true true f alse f alse true true f alse f alse E fA (A, B, E) true 0.95 f alse 0.94 true 0.29 f alse 0.001 true 0.05 f alse 0.06 true 0.71 f alse 0.999

A fJM (A) true 0.90 0.70 = 0.63 f alse 0.05 0.01 = 0.0005

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

17

Algoritmo de elim. de variveis exemplicado a


Varivel de Interrogao: Burglary a ca Evidncia: JohnCalls = true, M aryCalls = true e Ordenao das variveis (das folhas para a raiz): M, J, A, B, E ca a Factores: [fAJM (B, E)] Eliminao por soma da varivel A: fAJM (B, E) ca a
B true true f alse f alse E true f alse true f alse A true true true true f alse f alse f alse f alse B true true f alse f alse true true f alse f alse E fAJM (A, B, E) true 0.5985 f alse 0.5922 true 0.1827 f alse 0.00063 true 0.000025 f alse 0.00003 true 0.000355 f alse 0.0004995

fAJM (B, E) 0.5985 + 0.000025 = 0.598525 0.5922 + 0.00003 = 0.59223 = SU MA 0.1827 + 0.000355 = 0.183055 0.00063 + 0.0004995 = 0.00113

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

18

Algoritmo de elim. de variveis exemplicado a


Varivel de Interrogao: Burglary a ca Evidncia: JohnCalls = true, M aryCalls = true e Ordenao das variveis (das folhas para a raiz): M, J, A, B, E ca a Factores: [fB (B), fAJM (B, E)] Factor da varivel B: fB (B) = P (B) a B fB (B) true 0.001 f alse 0.999 B true true f alse f alse E fAJM (B, E) true 0.598525 f alse 0.59223 true 0.183055 f alse 0.00113

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

19

Algoritmo de elim. de variveis exemplicado a


Varivel de Interrogao: Burglary a ca Evidncia: JohnCalls = true, M aryCalls = true e Ordenao das variveis (das folhas para a raiz): M, J, A, B, E ca a Factores: [fE (E), fB (B), fAJM (B, E)] Factor da varivel E: fE (E) = P (E) a E fE (E) true 0.002 f alse 0.998 B fB (B) true 0.001 f alse 0.999 B true true f alse f alse E fAJM (B, E) true 0.598525 f alse 0.59223 true 0.183055 f alse 0.00113

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

20

Algoritmo de elim. de variveis exemplicado a


Varivel de Interrogao: Burglary a ca Evidncia: JohnCalls = true, M aryCalls = true e Ordenao das variveis (das folhas para a raiz): M, J, A, B, E ca a Factores: [fB (B), fEAJM (B)] Eliminao da varivel E: fEAJM (B) = SU ME (fE (E) fAJM (B, E)) ca a
B true true f alse f alse E true f alse true f alse fEAJM (B, E) B E fE (E) 0.002 0.598525 = 0.001197 true 0.998 0.59223 = 0.591046 = true 0.002 true 0.002 0.183055 = 0.000366 f alse 0.998 f alse 0.998 0.00113 = 0.001127 f alse E fAJM (B, E) true 0.598525 f alse 0.59223 true 0.183055 f alse 0.00113

Factores nais:
B fB (B) true 0.001 f alse 0.999 B fEAJM (B) true 0.001197 + 0.591046 = 0.592243 f alse 0.000366 + 0.001127 = 0.001493

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

21

Algoritmo de elim. de variveis exemplicado a


Varivel de Interrogao: Burglary a ca Evidncia: JohnCalls = true, M aryCalls = true e Ordenao das variveis (das folhas para a raiz): M, J, A, B, E ca a Factores nais: [fB (B), fEAJM (B)] Clculos nais: fBEAJM (B) = fB (B) fEAJM (B) a B fBEAJM (B) B fB (B) B fEAJM (B) true 0.001 0.592243 = 0.000592243 = true 0.001 true 0.592243 f alse 0.999 0.001493 = 0.001491858 f alse 0.999 f alse 0.001493 Resultado P (B|JohnCalls = true, M aryCalls = true) = N ormalize(fBEAJM (B)) B true f alse P (B|J = true, M = true) 0.000592243 0.000592243+0.001491858 = 0.284172 0.001491858 0.000592243+0.001491858 = 0.715828

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

22

Variveis irrelevantes a
Considere-se a interrogao P (JohnCalls|Burglary = true) ca
B E A J M

P (J|b) = P (b)
e

P (e)
a

P (a|b, e)P (J|a)


m

P (m|a)

A soma de m igual 1; M irrelevante para a interrogao e e ca Teorema 1: Y irrelevante a no ser que Y Ancestors({X} E) e a Fazendo X = JohnCalls, E = {Burglary}, e Ancestors({X} E) = {Alarm, Earthquake} conclui-se que M irrelevante e

(Compare-se com o mtodo de encadeamento para trs a partir da interrogao e a ca em KBs de clusulas de Horn) a

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

23

Complexidade da inferncia exacta e


Redes singularmente conexas (ou polytrees): quaisquer dois ns esto ligados no mximo por um caminho (no dirigido) o a a a complexidade temporal e espacial da eliminao de variveis O(dk n) ca a e Redes multiplamente conexas: pode-se reduzir 3SAT a inferncia exacta NP-dif e cil equivalente contar modelos 3SAT #P-completo
0.5 0.5 0.5 0.5

A
L

D
L

1. A v B v C 2. C v D v 3. B v C v A D AND 1 2 3
L L

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

24

Inferncia por simulao estocstica e ca a


Ideia bsica: a 1) Efectuar N amostras de uma distribuio de amostragem S ca 2) Calcular um probabilidade a posteriori aproximada P 3) Mostrar que processo converge para a probabilidade real P
0.5

Mtodos: e Coin Amostragem a partir de uma rede vazia Amostragem por rejeio: rejeitar amostras que no esto de acordo com ca a a evidncia e Pesagem por Verosimilhana: utilizar evidncia para pesar amostras c e Markov chain Monte Carlo (MCMC): amostrar a partir de um processo estocstico cuja distribuio estacionria a probabilidade a posteriori real a ca a e

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

25

Amostragem a partir de uma rede vazia


function Prior-Sample(bn) returns an event sampled from bn inputs: bn, a belief network specifying joint distribution P(X1, . . . , Xn) x an event with n elements for i = 1 to n do xi a random sample from P(Xi | P arents(Xi)) return x

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

26

Exemplo
P(C) .50
Cloudy

C P(S|C) T .10 F .50

Sprinkler

Rain

C P(R|C) T .80 F .20

Wet Grass

S R P(W|S,R) T T F F T F T F .99 .90 .90 .01

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

27

Exemplo
P(C) .50
Cloudy

C P(S|C) T .10 F .50

Sprinkler

Rain

C P(R|C) T .80 F .20

Wet Grass

S R P(W|S,R) T T F F T F T F .99 .90 .90 .01

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

28

Exemplo
P(C) .50
Cloudy

C P(S|C) T .10 F .50

Sprinkler

Rain

C P(R|C) T .80 F .20

Wet Grass

S R P(W|S,R) T T F F T F T F .99 .90 .90 .01

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

29

Exemplo
P(C) .50
Cloudy

C P(S|C) T .10 F .50

Sprinkler

Rain

C P(R|C) T .80 F .20

Wet Grass

S R P(W|S,R) T T F F T F T F .99 .90 .90 .01

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

30

Exemplo
P(C) .50
Cloudy

C P(S|C) T .10 F .50

Sprinkler

Rain

C P(R|C) T .80 F .20

Wet Grass

S R P(W|S,R) T T F F T F T F .99 .90 .90 .01

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

31

Exemplo
P(C) .50
Cloudy

C P(S|C) T .10 F .50

Sprinkler

Rain

C P(R|C) T .80 F .20

Wet Grass

S R P(W|S,R) T T F F T F T F .99 .90 .90 .01

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

32

Exemplo
P(C) .50
Cloudy

C P(S|C) T .10 F .50

Sprinkler

Rain

C P(R|C) T .80 F .20

Wet Grass

S R P(W|S,R) T T F F T F T F .99 .90 .90 .01

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

33

Amostragem a partir de uma rede vazia (cont.)


Probabilidade de PriorSample gerar um acontecimento particular n SP S (x1 . . . xn) = i = 1P (xi|P arents(Xi)) = P (x1 . . . xn) i.e., a probabilidade a priori real E.g., SP S (t, f, t, t) = 0.5 0.9 0.8 0.9 = 0.324 = P (t, f, t, t) Seja NP S (x1 . . . xn) o nmero de amostras geradas para o acontecimento x1, . . . , xn u Ento obtemos a
N

lim P (x1, . . . , xn) = lim NP S (x1, . . . , xn)/N


N

= SP S (x1, . . . , xn) = P (x1 . . . xn) Ou seja, estimativas derivadas de PriorSample so consistentes a Abreviadamente: P (x1, . . . , xn) P (x1 . . . xn)

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

34

Amostragem por rejeio ca


P(X|e) estimado das amostras que concordam com e function Rejection-Sampling(X, e, bn, N) returns an estimate of P (X|e) local variables: N, a vector of counts over X, initially zero for j = 1 to N do x Prior-Sample(bn) if x is consistent with e then N[x] N[x]+1 where x is the value of X in x return Normalize(N[X]) E.g., estimar P(Rain|Sprinkler = true) utilizando 100 amostras 27 amostras tm Sprinkler = true e Destas, 8 tm Rain = true e 19 tm Rain = f alse. e e P(Rain|Sprinkler = true) = Normalize( 8, 19 ) = 0.296, 0.704 Semelhante aos procedimentos emp ricos de estimativa
Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/ 35

Anlise da amostragem por rejeio a ca


P(X|e) = NP S (X, e) (algoritmo defn.) = NP S (X, e)/NP S (e) (normalizado por NP S (e)) P(X, e)/P (e) (propriedade de PriorSample) = P(X|e) (defn. de probabilidade condicional) Logo amostragem por rejeio devolve estimativas consistentes da probabilidade a ca posteriori Problema: terrivelmente ineciente se P (e) pequeno e P (e) diminui exponencialmente com o nmero de variveis evidncia! u a e

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

36

Pesagem por verosimilhana c


Ideia: xar variveis evidncia, amostrar apenas as outras variveis, a e a e pesar cada amostra pela verosimilhana de acordo com a evidncia c e
function Likelihood-Weighting(X, e, bn, N) returns an estimate of P (X|e) local variables: W, a vector of weighted counts over X, initially zero for j = 1 to N do x, w Weighted-Sample(bn) W[x ] W[x ] + w where x is the value of X in x return Normalize(W[X ]) function Weighted-Sample(bn, e) returns an event and a weight x an event with n elements; w 1 for i = 1 to n do if Xi has a value xi in e then w w P (Xi = xi | P arents(Xi )) else xi a random sample from P(Xi | P arents(Xi )) return x, w

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

37

Exemplo de pesagem por verosimilhana c


P(C) .50
Cloudy

C P(S|C) T .10 F .50

Sprinkler

Rain

C P(R|C) T .80 F .20

Wet Grass

S R P(W|S,R) T T F F T F T F .99 .90 .90 .01

w = 1.0

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

38

Exemplo de pesagem por verosimilhana c


P(C) .50
Cloudy

C P(S|C) T .10 F .50

Sprinkler

Rain

C P(R|C) T .80 F .20

Wet Grass

S R P(W|S,R) T T F F T F T F .99 .90 .90 .01

w = 1.0

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

39

Exemplo de pesagem por verosimilhana c


P(C) .50
Cloudy

C P(S|C) T .10 F .50

Sprinkler

Rain

C P(R|C) T .80 F .20

Wet Grass

S R P(W|S,R) T T F F T F T F .99 .90 .90 .01

w = 1.0

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

40

Exemplo de pesagem por verosimilhana c


P(C) .50
Cloudy

C P(S|C) T .10 F .50

Sprinkler

Rain

C P(R|C) T .80 F .20

Wet Grass

S R P(W|S,R) T T F F T F T F .99 .90 .90 .01

w = 1.0 0.1

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

41

Exemplo de pesagem por verosimilhana c


P(C) .50
Cloudy

C P(S|C) T .10 F .50

Sprinkler

Rain

C P(R|C) T .80 F .20

Wet Grass

S R P(W|S,R) T T F F T F T F .99 .90 .90 .01

w = 1.0 0.1

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

42

Exemplo de pesagem por verosimilhana c


P(C) .50
Cloudy

C P(S|C) T .10 F .50

Sprinkler

Rain

C P(R|C) T .80 F .20

Wet Grass

S R P(W|S,R) T T F F T F T F .99 .90 .90 .01

w = 1.0 0.1

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

43

Exemplo de pesagem por verosimilhana c


P(C) .50
Cloudy

C P(S|C) T .10 F .50

Sprinkler

Rain

C P(R|C) T .80 F .20

Wet Grass

S R P(W|S,R) T T F F T F T F .99 .90 .90 .01

w = 1.0 0.1 0.99 = 0.099

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

44

Anlise de pesagem por verosimilhana a c


Probabilidade de amostragem de WeightedSample e l SW S (z, e) = i = 1P (zi|P arents(Zi)) Nota: s entra em conta apenas com a evidncia dos antecessores o e algures entre a distribuio a priori e a posteriori ca Peso para uma dada amostra z, e e m w(z, e) = i = 1P (ei|P arents(Ei)) Probabilidade de amostragem pesada e SW S (z, e)w(z, e) = i = 1P (zi|P arents(Zi)) i = 1P (ei|P arents(Ei)) = P (z, e) (pela semntica global da rede) a Portanto a pesagem por verosimilhana retorna estimativas consistentes c mas o desempenho continua a degradar-se com muitas variveis evidncia a e porque algumas amostras tm quase todo o peso total e
Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

Cloudy

Sprinkler Wet Grass

Rain

45

Markov Chain Monte Carlo (MCMC)


Estado da rede = atribuio corrente a todas as variveis. ca a Gerar o estado seguinte amostrando uma varivel dado o seu Markov blanket a Altera-se uma varivel de cada vez, por amostragem, mantendo a evidncia. a e
function MCMC-Ask(X, e, bn, N) returns an estimate of P (X|e) local variables: N[X ], a vector of counts over X, initially zero Z, the nonevidence variables in bn x, the current state of the network, initially copied from e initialize x with random values for the variables in Z for j = 1 to N do N[x ] N[x ] + 1 where x is the value of X in x for each Zi in Z do sample the value of Zi in x from P(Zi |M B(Zi )) given the values of M B(Zi ) in x return Normalize(N[X ])

Pode-se tambm escolher aleatoriamente a varivel a amostrar e a

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

46

A cadeia de Markov
Com Sprinkler = true, W etGrass = true, existem quatro estados:

Cloudy

Cloudy

Sprinkler Wet Grass

Rain

Sprinkler Wet Grass

Rain

Cloudy

Cloudy

Sprinkler Wet Grass

Rain

Sprinkler Wet Grass

Rain

Vagueia durante algum tempo, efectua a mdia do que observa e


Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/ 47

MCMC exemplo (cont.)


Estimar P(Rain|Sprinkler = true, W etGrass = true) Amostrar Cloudy ou Rain dado o seu Markov blanket, repetir. Contar p nmero de vezes que Rain verdadeiro e falso nas amostras. u e E.g., visita 100 estados 31 tem Rain = true, 69 tem Rain = f alse P(Rain|Sprinkler = true, W etGrass = true) = Normalize( 31, 69 ) = 0.31, 0.69 Teorema: cadeia aproxima-se da distribuio estacionria : ca a a fraco de tempo gasto em cada espao exactamente ca c e proporcional ` sua probabilidade a posteriori a

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

48

Amostragem do Markov blanket


Cloudy

Markov blanket de Cloudy e Sprinkler e Rain Markov blanket de Rain e Cloudy, Sprinkler, e W etGrass

Sprinkler Wet Grass

Rain

Probabilidade dado o Markov blanket obtida como se segue: e P (xi|M B(Xi)) = P (xi|P arents(Xi))Zj Children(Xi)P (zj |P arents(Zj )) Facilmente implementvel em sistemas paralelos de troca de mensagens, crebros a e Problemas computacionais principais: 1) Diculdade em detectar que se atingiu a convergncia e 2) Pode ser dispendioso se Markov blanket grande: e P (Xi|M B(Xi)) no varia muito a

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

49

Sumrio a
Inferncia exacta por eliminao de variveis: e ca a tempo polonomial em polytrees, NP-dif em grafos arbitrrios cil a espao = tempo, muito sens ` topologia c vel a Inferncia aproximada por PV, MCMC: e PV comporta-se mal quando existe muita evidncia e PV, MCMC geralmente insens veis ` topologia a Convergncia pode ser muito lenta com probabilidades perto de 0 ou 1 e Pode tratar combinaes arbitrrias de variveis discretas e cont co a a nuas Extenses para linguagem de primeira ordem: o Relational Probability Models (RPMs) Open Universe Probability Models (OUPMs) P-log extenso de ASP para lidar com probabilidades a

Ano Lectivo 2010/2011 - 1o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

50

Aprender a partir de exemplos


Captulo 18, seces 1 3 Captulo 19, seco 1

Resumo
Agentes aprendizes Problemas de aprendizagem Abordagens Aprendizagem Indutiva Aprendizagem Conceptual Aprendizagem baseada em Exemplos

Aprendizagem
A aprendizagem essencial em ambientes desconhecidos,
i.e., quando o projectista do sistema no possui omniscincia

A aprendizagem til como um mtodo de construo de sistemas,


i.e., expe o agente realidade em vez de tentar descrev-lo

A aprendizagem modifica os mecanismos de deciso do agente visando o aumento de desempenho

Agentes aprendizes

Elemento de aprendizagem
O desenho do elemento de aprendizagem ditado por
Quais os componentes do elemento de desempenho que devem ser aprendidos Qual o feedback disponvel para aprender esses componentes Qual a representao utilizada pelos componentes

Tipo de feedback:
Aprendizagem Supervisionada: respostas correctas para cada exemplo Aprendizagem No Supervisionada : respostas correctas no so dadas Aprendizagem por reforo: recompensas ocasionais

Tipos de Aprendizagem
Aprendizagem Supervisionada:
Aprendizagem de uma funo a partir de exemplos de valores de entrada e respectivos resultados (respostas correctas para cada instncia). Necessita de professor.

Aprendizagem No Supervisionada:
Descobrir padres nos valores de entrada sem que sejam especificados os valores de sada (exemplos de treino no esto classificados, por exemplo).

Aprendizagem por Reforo:


Aprendizagem for reforo, atravs de recompensas ocasionais. a forma mais geral de aprendizagem.

Paradigmas de Aprendizagem
Computacional
Emprica Casos Analtica

Conexionista Biolgica

Aprendizagem Indutiva
Aprender uma funo a partir de exemplos dados (supervisionada) f uma funo alvo Um exemplo um par (x, f(x)) Problema da Induo: encontrar uma hiptese h no espao de hipteses
tal que h f dado um conjunto de treino de exemplos

(encontrar uma hiptese h que generalize bem, ou seja, que prediga correctamente exemplos desconhecidos)
NOTA: h diz-se consistente quando concorda com f em todos os exemplos

Modelo muito simplificado da aprendizagem humana:


Ignora conhecimento prvio Assume que os exemplos so fornecidos

Aprendizagem Indutiva
Se a funo alvo que estivermos a aprender for discreta estamos na presena de um problema de classificao. Em particular, se estivermos interessados em funes booleanas dizemos que estamos na presena de um problema de aprendizagem conceptual. O caso de aprendizagem de funes contnuas designado por regresso (interpolao quando se impe consistncia) Todos eles assumem a Hiptese da Aprendizagem Indutiva Uma hiptese h que aproxime bem a funo alvo num conjunto de treino suficientemente grande, tambm aproximar bem a funo alvo num conjunto de exemplos no observados previamente.

Mtodo da Aprendizagem Indutiva


Construir/ajustar h tal que concorde com f no conjunto de treino E.g., regresso:

Mtodo da Aprendizagem Indutiva


Construir/ajustar h tal que concorde com f no conjunto de treino E.g., regresso:

Mtodo da Aprendizagem Indutiva


Construir/ajustar h tal que concorde com f no conjunto de treino E.g., regresso:

Mtodo da Aprendizagem Indutiva


Construir/ajustar h tal que concorde com f no conjunto de treino E.g., regresso:

Mtodo da Aprendizagem Indutiva


Construir/ajustar h tal que concorde com f no conjunto de treino E.g., regresso:

Mtodo da Aprendizagem Indutiva


Construir/ajustar h tal que concorde com f no conjunto de treino E.g., regresso:

Navalha de Ockham: preferir a hiptese mais simples consistente com os dados

Aprendizagem Conceptual
Dados
Instncias X descritas por atributos Espao de hipteses H Conceito alvo c: X -> {0,1} Exemplos de treino D positivos e negativos

Determinar
Uma hiptese h no espao de hipteses H tal que h(x) = c(x) para todo o x.

Exemplo (T. Mitchell)


Sky Sunny Sunny Rainy Sunny AirTemp Warm Warm Cold Warm Humidity Normal High High High Wind Strong Strong Strong Strong Water Warm Warm Warm Cool Forecast Same Same Change Change Sport? 1 1 0 1

Falsos positivos e negativos


hiptese h (aproximao) falsos positivos verdadeiros positivos Funo real f falsos negativos

Tratar falsos positivos e negativos

Hiptese Consistente

Falso Negativo

Hiptese Consistente

Falso Positivo

Hiptese Consistente

Generalizao da Hiptese

Especializao da Hiptese

Espao de Hipteses
Comecemos por considerar hiptese conjuntivas com restries simples nos valores de atributos: ? qualquer valor possvel para o atributo valor s valor possvel para o atributo _ nenhum valor aceitvel Exemplo: h1=<?,Cold,High,?,?,?> h2=<?,?,?,?,?,?> h3=<_,_,_,_,_,_>

Satisfao de hipteses
Uma instncia x satisfaz uma hiptese h sse h(x) = 1 Exemplo A hiptese h=<Sunny,?,High,?,?,?> satisfeita pela instncia <Sunny,Warm,High,Strong,Cool,Same> e no satisfeita pela instncia <Sunny,Warm,Normal,Strong,Cool,Same>

Ordenao parcial entre hipteses


Uma hiptese hi mais geral do que uma hiptese hj sse todas as instncias que satisfazem hj tambm satisfazem hi (hi hj) Esta ordem parcial induzida pela ordem parcial entre restries simples nos valores do atributo Exemplo h1=<Sunny,?,?,?,?,?> h2=<Sunny,?,High,?,?,?> h3=<Rainy,?,High,?,?,?> Logo h1 h2 (h1 mais geral do que h2) Nota: duas hipteses podem ser incomparveis (h1 e h3)

Espao de Hipteses
Dado um conjunto de hipteses qualquer, dizemos que h maximamente especfica, se no existir outra hiptese h tal que h h Dado um conjunto de hipteses qualquer, dizemos que h maximamente geral, se no existir outra hiptese h tal que h h

Eliminao de Candidatos
Algoritmo proposto por Mitchell que efectua a procura no espao de verses (Version Space - VS), o conjunto de todas as hipteses consistentes com os exemplos apresentados. Uma hiptese h consistente com um conjunto de treino D sse h(x)=c(x) para todo o exemplo de treino <x,c(x)> em D. O algoritmo funciona mantendo duas fronteiras
G: a fronteira mais geral das hipteses consistentes com os exemplos D S: a fronteira mais especfica das hipteses consistentes com os exemplos D

Algoritmo utilizado no sistema META-DENDRAL para detectar regularidades em dados de espectroscopia de massa. Os resultados obtidos foram publicados numa revista de Qumica.

O Espao de Verses (VS)

Evoluo das fronteiras


Seja Si uma hiptese em S e um novo exemplo Se for um falso positivo para Si, ento eliminar Si de S pois no se pode especializar Si. Se for um falso negativo para Si ento substitumo-la pelas suas generalizaes imediatas, desde que mais especficas do que algum elemento de G Seja Gi uma hiptese em G e um novo exemplo Se for um falso negativo para Gi, ento eliminar Gi de G pois no se pode generalizar Gi. Se for um falso positivo para Gi ento substitumo-la pelas suas especializaes imediatas, desde que mais gerais do que algum elemento de S

Algoritmo de Eliminao de Candidatos


S contm a(s) hipteses mais especficas de H G contm a(s) hipteses mais gerais de H Para cada exemplo de treino d, fazer Se d um exemplo positivo Remover de G qualquer hiptese inconsistente com d Para cada hiptese s em S que no consistente com d Retirar s de S Adicionar a S todas as generalizaes minimais h de s tal que h consistente com d, e algum membro de G mais geral do que h Retirar de S qualquer hiptese que seja mais geral do que outra hiptese em S Se d um exemplo negativo Remover de S qualquer hiptese inconsistente com d Para cada hiptese g em G que no consistente com d Retirar g de G Adicionar a G todas as especializaes minimais h de g tal que h consistente com d e algum membro de S mais especfico do que h Retirar de G qualquer hiptese que seja menos geral do que outra hiptese em G

Exemplo
G0 G1 G2 <?,?,?,?,?,?>

S2

<Sunny,Warm,?,Strong,Warm,Same>
Ex 2 (pos):<Sunny,Warm,High,Strong,Warm,Same>

S1

<Sunny,Warm,Normal,Strong,Warm,Same>
Ex 1 (pos):<Sunny,Warm,Normal,Strong,Warm,Same>

S0

<_,_,_,_,_,_>

Exemplo (cont)
G2 <?,?,?,?,?,?>
Ex 3 (neg):<Rainy,Cold,High,Strong,Warm,Change>

G3

<Sunny,?,?,?,?,?> <?,Warm,?,?,?,?> <?,?,?,?,?,Same> <Cloudy,?,?,?,?,?> <?,?,Normal,?,?,?> <?,?,?,Weak,?,?> <?,?,?,?,Cool,?>

S2

S3

<Sunny,Warm,?,Strong,Warm,Same>

Exemplo (cont)
G3 G4 <Sunny,?,?,?,?,?> <?,Warm,?,?,?,?> <?,?,?,?,?,Same>

S4

<Sunny,Warm,?,Strong,?,?>
Ex 4 (pos):<Sunny,Warm,High,Strong,Cool,Change>

S3

<Sunny,Warm,?,Strong,Warm,Same>

Exemplo (cont)
G3 G4 <Sunny,?,?,?,?,?> <?,Warm,?,?,?,?> <?,?,?,?,?,Same>

S4

<Sunny,Warm,?,Strong,?,?>
Ex 4 (pos):<Sunny,Warm,High,Strong,Cool,Change>

S3

<Sunny,Warm,?,Strong,Warm,Same>

Espao de Verses Completo


G4 <Sunny,?,?,?,?,?> <?,Warm,?,?,?,?>

<Sunny,?,?,Strong,?,?>

<Sunny,Warm,?,?,?,?>

<?,Warm,?,Strong,?,?>

S4

<Sunny,Warm,?,Strong,?,?>

Classificao de novas instncias


<Sunny,?,?,?,?,?> <?,Warm,?,?,?,?>

<Sunny,?,?,Strong,?,?>

<Sunny,Warm,?,?,?,?> <?,Warm,?,Strong,?,?>

<Sunny,Warm,?,Strong,?,?>

<Sunny,Warm,Normal,Strong,Cool,Change> Positivo (classificado + por todas as hipteses) <Rainy,Cold,Normal,Weak,Warm,Same> <Sunny,Warm,Normal,Weak,Warm,Same> <Sunny,Cold,Normal,Strong,Warm,Same> Negativo (classificado - por todas as hipteses) Indefinido (classificado + por 1/2 das hipteses) Negativo? (classificado - por 2/3 das hipteses)

Propriedades do algoritmo
O algoritmo de eliminao de candidatos incremental Efectua o menor compromisso (tal como no POP) O algoritmo converge para o conceito alvo pretendido se forem dados exemplos de treino suficientes (pelo menos log2 |VS|) Se existir rudo ou o domnio no contiver atributos suficientes para a classificao exacta, o espao de verses colapsa (um dos conjuntos S ou G fica vazio) O algoritmo com o espao de hipteses apresentado no permite aprender conceitos disjuntivos. Caso seja permitida disjuno ilimitada no espao de hipteses, ento o algoritmo s conseguir classificar os exemplos dados (no generaliza). Para alguns espaos de hipteses o nmero de elementos de S e de G podem crescer exponencialmente.

Aprender rvores de deciso


Problema: decidir se se espera por uma mesa num restaurante baseado nos seguintes atributos:
1. Alternate: existe um restaurante alternativo prximo? 2. Bar: existe uma rea com um bar para esperar? 3. Fri/Sat: hoje Sexta ou Sbado? 4. Hungry: temos fome? 5. Patrons: nmero de pessoas no restaurante (None, Some, Full) 6. Price: nvel de preo ($, $$, $$$) 7. Raining: est a chover na rua? 8. Reservation: fizemos uma reserva? 9. Type: tipo de restaurante (French, Italian, Thai, Burger) 10. WaitEstimate: tempo estimado de espera (0-10, 10-30, 30-60, >60)

Representaes Baseadas em Atributos


Exemplos descritos por valores de atributos (Booleanos, discretos, contnuos) E.g., situaes em que espero/no espero por uma mesa:

Classificao dos exemplos positiva (T) ou negativa (F)

rvores de Deciso
Uma possvel representao para a hiptese Abaixo a rvore de deciso real para decidir se se espera:

Expressividade
rvores de deciso podem expressar qualquer funo dos seus atributos Para as funes Booleanas, linha na tabela de verdade caminho at folha:

Obviamente, existe uma rvore consistente para qualquer conjunto de treino tendo uma caminho para a folha para cada exemplo (a no ser que f seja no determinista em x) mas provavelmente no generalizvel para novos exemplos Preferir encontrar rvores de deciso mais compactas

Espao de Hipteses
Quantas rvores de deciso com n atributos Booleanos existem? nmero de funes Booleanas n nmero distinto de tabelas de verdade com 2n linhas = 22 Exemplo, com 6 atributos Booleanos existem 18,446,744,073,709,551,616 funes Booleanas (e ainda um maior nmero de rvores!)

Espao de Hipteses
Quantas rvores de deciso com n atributos Booleanos existem? nmero de funes Booleanas n nmero distinto de tabelas de verdade com 2n linhas = 22 Exemplo, com 6 atributos Booleanos existem 18,446,744,073,709,551,616 funes Booleanas (e ainda um maior nmero de rvores!)

Quantas hipteses conjuntivas existem (e.g., Hungry Rain)? Cada atributo pode ocorrer positivamente,negativamente, ou de fora
3n hipteses conjuntivas distintas

O espao de hipteses das rvores de deciso mais expressivo


Aumenta a possibilidade que a funo alvo seja expressvel Aumenta o nmero de hipteses consistentes com o conjunto de treino pode resultar em predies piores!

Utilizaes tpicas das rvores de deciso


Exemplos so representados por pares atributos-valor A funo alvo tem valores de sada discretos (existem extenses para lidar funes contnuas) Descries disjuntivas podem ser necessrias O conjunto de treino pode conter erros O conjunto de treino pode conter alguns atributos sem valor

Induo de rvores de Deciso


Objectivo: encontrar uma rvore pequena consistente com os exemplos de treino Ideia: escolher (recursivamente) o atributo mais significativo como raiz da sub(rvore) Casos a tratar:
1. Se existirem exemplos positivos e negativos, escolher o atributo mais significativo. 2. Se todos os exemplos remanescentes so positivos ou negativos, devolvemos Yes/No, respectivamente. 3. Se no existirem mais valores, devolve-se um valor por omisso (o que tiver mais ocorrncias no n pai maioria). 4. Se no existirem mais atributos, temos um problema Utiliza-se o valor maioritrio no conjunto de exemplos remanescente.

O algoritmo DTL (ou ID3)

Escolha de um atributo
Ideia: um bom atributo divide os exemplos em subconjuntos que (idealmente) so todos positivos" ou todos negativos"

Patrons? a melhor escolha?

Utilizando teoria da informao


Como implementar Choose-Attribute no algoritmo DTL? Contedo de Informao (Entropia): I(P(v1), , P(vn)) = i=1 -P(vi) log2 P(vi) Para um conjunto de treino contendo p exemplos positivos e n exemplos negativos:

Curva de entropia (binria)

[Tom M. Mitchell Machine Learning]

Ganho de Informao
Um atributo A escolhido divide o conjunto de treino E em subconjuntos E1, , Ev de acordo com os valores que A toma, em que A tem v valores distintos.

Ganho de Informao (IG) ou reduo de entropia no atributo de teste:

Escolher o atributo com maior IG

Ganho de Informao
Para o conjunto de treino, p = n = 6, I(6/12, 6/12) = 1 bit Considere os atributos Patrons e Type (assim como os outros):

Patrons tem o maior IG de todos os atributos e portanto escolhido pelo algoritmo DTL como raiz da rvore de deciso

Exemplo (continuao)
rvore de Deciso aprendida a partir dos 12 exemplos:

Muito mais simples que a rvore real uma hiptese mais complexa no justificada pelo pequeno conjunto de dados

Medida de desempenho
Como que sabemos que h f ?
1. 2. Usar teoremas da teoria da aprendizagem computacional/estatstica Aplicar h num novo conjunto de exemplos de teste

Curva de aprendizagem = % de testes correctos em funo da dimenso do conjunto de treino

Aspectos Prticos de Utilizao


Se existirem muitos atributos irrelevantes ou rudo mais fcil encontrar uma hiptese exacta. Essa hiptese totalmente espria Neste caso estamos na presena de sobreajustamento na rvore de deciso Existem algoritmos mais sofisticados para lidar com estes casos (e.g. C4.5)
Podemos juntar um nmero irrelevante de atributos ao nosso problema (Cor do casaco, Transporte, Jornal) de maneira que exista uma nica instncia para cada caso. Nestas situaes o algoritmo DTL encontrar uma hiptese exacta, mas no generalizar bem para o conjunto de validao.

Exemplo:

Exemplo de curva de aprendizagem

[Tom M. Mitchell Machine Learning]

Como avaliar a performance


1. 2. 3. 4. 5. Coleccionar um grande conjunto de dados Dividir esses dados arbitrariamente em dois conjuntos disjuntos: conjunto de treino e conjunto de teste Aplicar o algoritmo de aprendizagem ao conjunto de treino, gerando uma hiptese h. Medir a percentagem de exemplos no conjunto de teste classificados correctamente por h. Repetir os passos 1 a 4 para diferentes tamanhos dos conjuntos de treino e conjuntos de teste seleccionados aleatoriamente para cada tamanho.

Tcnicas de validao
Holdout validation
Escolhem-se aleatoriamente exemplos do conjunto de dados para formar o conjunto de teste (habitualmente menos de 1/3 dos valores so utilizados como conjunto de teste)

K-fold cross-validation

Particionam-se os dados em K conjuntos de dimenso idntica. Escolhese um desses como conjunto de teste e os restantes como conjuntos de treino. Repete-se o processo para cada subconjunto K e efectua-se a mdia dos resultados.

Leave-one-out cross-validation

Deixa-se um exemplo de fora e treina-se com todos os restantes exemplos. Repete-se para cada exemplo (K-fold cross-validation com K igual ao nmero de exemplos)

Extenses
Omisso de valores para atributos ?
Como classificar uma instncia com algum valor desconhecido num atributo de teste Como alterar a frmula de ganho de informao?

Como lidar com atributos multivalor ?


Exemplo tpico o atributo Data Necessita de outra medida: Rcio do Ganho

Como lidar com atributos inteiros ou contnuos ? Como tratar atributos de sada contnuos ?

Sumrio
Aprendizagem essencial para lidar com ambientes desconhecidos Agente aprendiz = elemento de desempenho + elemento de aprendizagem. No caso da aprendizagem indutiva, o objectivo consiste em encontrar uma hiptese simples que aproximadamente consistente com os exemplos de treino. Aprendizagem conceptual um caso particular de aprendizagem indutiva onde se pretende aprender uma funo booleana a partir de exemplos dados. O algoritmo de eliminao de candidatos mantm as fronteiras de hipteses maximamente especficas e maximamente gerais. Aprendizagem de rvores de deciso utiliza o ganho de informao Desempenho do algoritmo de aprendizagem = preciso no(s) conjunto(s) de teste.

Redes neuronais

Ano lectivo 2010/2011 Seccao 18.7

Ano lectivo 2010/2011 Secao 18.7 c

Resumo
Crebro e Redes Neuronais Perceptres o Redes neuronais multicamada Aplicaes de redes neuronais co

Ano lectivo 2010/2011 Secao 18.7 c

Crebro e
1011 neurnios de > 20 tipos, 1014 sinapes, 1ms10ms tempo de ciclo o Sinais tm ru spike trains de potenciais elctricos e do e

Axonal arborization Axon from another cell Synapse Dendrite Axon

Nucleus Synapses

Cell body or Soma

Ano lectivo 2010/2011 Secao 18.7 c

Unidade de McCullochPitts
Sa uma funo linear esmagada das entradas: da e ca ai g(ini) = g

j Wj,iaj
Bias Weight

a0 = 1

W0,i Wj,i ini

ai = g(ini) g ai

aj

Input Activation Function Function

Input Links

Output

Output Links

Uma simplicao rude dos neurnios reais, mas o seu objectivo obter ca o e conhecimento sobre o que conseguem fazer as redes de unidades simples

Ano lectivo 2010/2011 Secao 18.7 c

Funes de activao co ca
g(ini) +1 +1 g(ini)

ini

ini

(a)
(a) a funo degrau ou funo limiar e ca ca (b) a funo sigmide 1/(1 + ex) e ca o

(b)

Alterao da polarizao (bias weight) W0,i desloca a localizao do limiar ca ca ca

Ano lectivo 2010/2011 Secao 18.7 c

Funes de activao co ca
E importante que a funo seja no-linear, caso contrrio a sa reduz-se a uma ca a a da combinao linear das entradas! ca Os algoritmos de aprendizagem que estudaremos assumem que a funo difeca e rencivel. a Outros exemplos: Tangente Hiperblica (contra-dom [1, 1]) o nio Seno (contra-dom [1, 1]) nio

Ano lectivo 2010/2011 Secao 18.7 c

Implementao das funoes lgicas ca c o


W0 = 1.5 W0 = 0.5 W0 = 0.5

W1 = 1 W2 = 1
AND

W1 = 1 W2 = 1
OR

W1 = 1
NOT

McCulloch e Pitts: qualquer funo Booleana pode ser implementada combinando ca as construes anteriores. co

Ano lectivo 2010/2011 Secao 18.7 c

Topologia das redes


Redes alimentadas para a frente: rede monocamada de perceptres o rede multicamada de perceptres o Redes alimentadas para a frente implementam funes, no tm estado interno co a e Redes recorrentes: Redes de Hopeld tm pesos simtricos (Wi,j = Wj,i) e e g(x) = sign(x), ai = 1; memrias hologrcas associativas o a Mquinas de Boltzmann utilizam funes de activao estocsticas, a co ca a

Nota: As redes recorrentes tm ciclos dirigidos com atrasos (delays) e tm estado interno (como ip-ops), podem oscilar etc. e

Ano lectivo 2010/2011 Secao 18.7 c

Exemplo de rede alimentada para a frente


W1,3 W1,4

W3,5 5

W2,3 2 W2,4 4

W4,5

Rede alimentada para a frente = fam parametrizada de funes no-lineares: lia co a 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)) Ajustando os pesos altera-se a funo: efectuar aprendizagem desta maneira! ca
Ano lectivo 2010/2011 Secao 18.7 c 9

Rede monocamada de perceptres o

Input Units

Wj,i

Output Units

Perceptron output 1 0.8 0.6 0.4 0.2 0 -4 -2 0 x1

-4

4 2 0 x2 -2

As unidades operam separadamenteno existem pesos partilhados a Ajustando os pesos altera-se a localizao, orientao e inclinao do declive ca ca ca

Ano lectivo 2010/2011 Secao 18.7 c

10

Expressividade dos perceptres o


Considere-se o perceptro com a funo de activao g = degrau (Rosenblatt, a ca ca 1957, 1960) Pode representar AND, OR, NOT, maioria, etc., mas no o XOR a Representa um separador linear no espao de entradas: c

j Wj xj > 0
x1 1

or W x > 0
x1 1 x1 1

?
0 0 1 (a) x1 and x2 x2 0 0 1 (b) x1 or x2 x2 0 0 1 (c) x1 xor x2 x2

Minsky & Papert (1969) furaram o balo das redes neuronais a


Ano lectivo 2010/2011 Secao 18.7 c 11

Regra Delta - Widrow e Ho


Aprender por ajustamento dos pesos de forma a reduzir o erro no conjunto de exemplos de treino. Tratamos primeiro o caso de funo de activao linear: ca ca O erro quadrtico para um exemplo com entrada x e valor correcto y a e 1 1 E = Err 2 (y hW(x))2 , 2 2 Recorrer ao mtodo do gradiente descendente para minimizar E: e
n E Err = Err = Err y j = 0 Wj x j Wj Wj Wj = Err xj

Regra simples para actualizao dos pesos: ca Wj Wj + Err xj ( ritmo de aprendizagem) e

Tambm utilizada por Rosenblatt com funo de activao limiar. e ca ca

Ano lectivo 2010/2011 Secao 18.7 c

12

Perceptro (regra delta generalizada) a


Aprender por ajustamento dos pesos de forma a reduzir o erro no conjunto de exemplos de treino. Caso de funes de activao diferenciveis: co ca a Recorrer novamente ao mtodo do gradiente descendente para minimizar E: e
n E Err = Err = Err y g(j = 0Wj xj ) Wj Wj Wj = Err g (in) xj

Regra simples para actualizao dos pesos: ca Wj Wj + Err g (in) xj E.g., erro +ve aumenta sa da rede da aumento de pesos com entradas com +ve , diminuir em entradas -ve Nota: sig (x) = sig(x) (1 sig(x))

Ano lectivo 2010/2011 Secao 18.7 c

13

Algoritmo de Aprendizagem do Perceptro a


function Perceptron-Learning(network, examples, ) returns a perceptron hypothesis inputs: network, um perceptro com pesos Wj , J = 0, . . . , n e funo de activao g a ca ca examples, um conjunto de exemplos, com entrada x = x1 , . . . , xn e sa y da , o ritmo de aprendizagem repeat for each e in examples do /* Calcular o valor de sada para este exemplo */ n in j=0 Wj xj [e] out g(in) /* Calcular o erro */ Err y[e] out /* Actualizar os pesos das entradas */ for each entrada j do perceptro do a Wj Wj + Err g (in) xj [e] end end until se tenha atingindo um critrio de paragem e

Notas: Com funo de activao sigmide a expresso de actualizao dos pesos : Wj Wj + Err out (1 ca ca o a ca e out) xj [e]. Com funo limiar a expresso de actualizao de pesos Wj Wj + Err xj [e] ca a ca e

Ano lectivo 2010/2011 Secao 18.7 c

14

Exemplo de aplicao ca

Ano lectivo 2010/2011 Secao 18.7 c

15

Exemplo de aplicao ca

Peso Inicial Entrada Actualizao(Wi) Peso Final ca W0 0.1 x0 = 1.0 x0 = 0.2 0.126 1.0 = 0.025 0.074 W1 0.3 x1 = 0.8 x1 = 0.2 0.126 0.8 = 0.02 0.28 W2 0.1 x2 = 2.5 x2 = 0.2 0.126 2.5 = 0.06 0.16 W3 0.8 x3 = 1.0 x2 = 0.2 0.126 1.0 = 0.03 0.77

Ano lectivo 2010/2011 Secao 18.7 c

16

Aprendizagem do perceptro (cont.) a


A regra de aprendizagem do perceptro converge para uma funo consistente a ca para qualquer conjunto de dados linearmente separvel a
Proportion correct on test set 1 0.9 0.8 0.7 0.6 0.5 0.4 0 10 20 30 40 50 60 70 80 90 100 Training set size - MAJORITY on 11 inputs Perceptron Decision tree Proportion correct on test set 1 0.9 0.8 0.7 0.6 0.5 0.4 Perceptron Decision tree 0 10 20 30 40 50 60 70 80 90 100 Training set size - RESTAURANT data

Perceptro aprende funo de maioria facilmente, induo de rvore de deciso a ca ca a a intil e u Induo de rvore de deciso aprende funo do restaurante, perceptro no ca a a ca a a pode represent-la. a
Ano lectivo 2010/2011 Secao 18.7 c 17

Perceptres multicamada o
Normalmente as camadas so totalmente ligadas; a nmero de unidades escondidadas tipicamente escolhido manualmente u
Output units ai

Wj,i

Hidden units

aj

Wk,j

Input units

ak

Ano lectivo 2010/2011 Secao 18.7 c

18

Expressividade de redes multicamada


Todas as funes cont co nuas com 1 camada escondida, todas as funoes com 2 c camadas escondidas

hW(x1, x2) 1 0.8 0.6 0.4 0.2 0 -4 -2 x1

-4

4 2 0 x2 -2

hW(x1, x2) 1 0.8 0.6 0.4 0.2 0 -4 -2 x1

-4

4 2 0 x2 -2

Combinar duas funoes limiar opostas para construir uma crista c Combinar duas cristas perpendicualres para construir um morro Juntar morros de vrios tamanhos e localizaes para obter qualquer superf a co cie. A prova requer um nmero exponencial de unidades escondidas. u
Ano lectivo 2010/2011 Secao 18.7 c 19

Aprendizagem por retropropagao ca


Camada de sa o mesmo para o perceptro monocamada, da: a Wj,i Wj,i + aj i em que i = Err i g (in i) Camada escondida: retropropaga o erro da camada de sa da: j = g (in j )
i

Wj,ii .

Regra de actualizao para os pesos da camada escondida: ca Wk,j Wk,j + ak j . (A maioria dos neurocientistas nega a existncia de retropropagao no crebro) e ca e

Ano lectivo 2010/2011 Secao 18.7 c

20

Derivao da regra de retropropagao ca ca


O erro quadrtico num unico exemplo1 denido como a E= 1 2 (yi ai)2 ,
i

em que a soma inclui todos os ns da camada de sa o da E ai g(in i) = (yi ai) = (yi ai) Wj,i Wj,i Wj,i = (yi ai)g (in i) in i = (yi ai)g (in i) Wj,i Wj,i
j

Wj,iaj

= (yi ai)g (in i)aj = aj i

O erro mdio quadrtico (MSE) a mdia dos erros quadrticos de todos os exemplos. O RMSE (root e a e e a mean square error) a raiz quadrada do MSE. e
1

Ano lectivo 2010/2011 Secao 18.7 c

21

Derivao retropropagao outras camadas ca ca


E = Wk,j =
i

(yi ai)
i

ai = Wk,j

(yi ai)
i

g(in i) Wk,j Wj,iaj


j

(yi ai)g (in i) iWj,i


i

in i = Wk,j

i
i

Wk,j

= =
i

aj = Wk,j in j Wk,j Wk,j

iWj,i
i

g(in j ) Wk,j

iWj,ig (in j ) iWj,ig (in j )


i

= =
i

Wk,j ak
k

iWj,ig (in j )ak = ak j

Ano lectivo 2010/2011 Secao 18.7 c

22

O algoritmo de retropropagao ca

Ano lectivo 2010/2011 Secao 18.7 c

23

function Back-Prop-Update(network, examples, ) returns a network with changed weights inputs: network, a multilayer network examples, a set of input/output pairs , the learning rate repeat for each e in examples do /* Compute the output for this example having inputs Ie */ Oe Run-Network(network, Ie ) /* Compute the error and for units in the output layer */ Erre Ye Oe /* Ye are the expected output values for the example */ /* Update the weights leading to the output layer */ e Wj, i Wj, i + aj Erri g (ini ) for each subsequent layer in network do /* Compute the error at each node */ j g (inj ) i Wj, i i /* Update the weights leading into the layer */ Wk, j Wk, j + ak j end end until network has converged return network

Ano lectivo 2010/2011 Secao 18.7 c

24

Esquema de funcionamento

Ano lectivo 2010/2011 Secao 18.7 c

25

Exemplo de aplicao (propagao) ca ca

Ano lectivo 2010/2011 Secao 18.7 c

26

Exemplo de aplicao (retropropagao) ca ca

S mostrada actualizao dos pesos W2 e W4 a partir dos termos de erro 1, 3 o ca e 4. Os outros pesos so alterados de maneira semelhante. a
Ano lectivo 2010/2011 Secao 18.7 c 27

Aprendizagem com Retropropagao (cont) ca


Em cada poca, somar actualizaoes de gradiente para todos os exemplos e aplicar e c Curva de treino para 100 exemplos do restaurante: encontra ajustamente perfeito
14 Total error on training set 12 10 8 6 4 2 0 0 50 100 150 200 250 300 350 400 Number of epochs

Problemas t picos: convergncia lenta, m e nimos locais

Ano lectivo 2010/2011 Secao 18.7 c

28

Aprendizagem com Retropropagao (cont) ca


Curva de aprendizagem para rede multicamada com 4 unidades escondidas:
Proportion correct on test set 1 0.9 0.8 0.7 0.6 0.5 0.4 0 10 20 30 40 50 60 70 80 90 100 Training set size - RESTAURANT data Decision tree Multilayer network

Redes multicamada so adequadas para tarefas complexas de reconhecimento de a padres, mas o resultado no pode ser facilmente compreendido o a

Ano lectivo 2010/2011 Secao 18.7 c

29

Utilizao prtica do algoritmo ca a


Para o caso da funo sigmide habitual inicializarem-se os pesos com valores ca o e aleatrios no intervalo [0.5, 0.5] ou [1, 1]. o O prolongamento da aprendizagem pode levar a problemas de sobreajustamento, ou seja, a rede classica bem o conjunto de treino mas mal o conjunto de validao. ca O nmero de exemplos de treino tambm dif de determinar, mas pode-se u e e cil seguir uma das seguintes regras prticas: a O nmero de exemplos deve ser 5 a 10 vezes mais que o nmero de pesos. u u Treino da rede para classicar com preciso 1 (e/2) exemplos de treino. a Para se obter preciso 1 e no conjunto de validao sero necessrios tantos a ca a a exemplos de treino quanto o nmero de pesos na rede divididos por e. u Unidades escondidas a menos resulta na impossibilidade de aprendizagem da funo; unidades escondidas a mais pode redundar em sobreajustamento. ca

Ano lectivo 2010/2011 Secao 18.7 c

30

Sobreajustamento

Os exemplos devem ser divididos em conjunto de treino e conjunto de validao. ca Deve haver um conjunto de teste que no utilziado na aprendizagem. a e Utiliza-se o conjunto de treino no algoritmo de aprendizagem, parando-se quando se minimiza o erro no conjunto de validao. ca
Ano lectivo 2010/2011 Secao 18.7 c 31

Sobreajustamento (quando parar?)


0.01 0.009 0.008 0.007 Error 0.006 0.005 0.004 0.003 0.002 0 2000 4000 6000 8000 10000 12000 14000 16000 18000 20000 Training iterations
Ano lectivo 2010/2011 Secao 18.7 c 32

Training set error Test set error

Sobreajustamento (quando parar?)


0.08 0.07 0.06 0.05 Error 0.04 0.03 0.02 0.01 0 0 1000 2000 3000 4000 Training iterations 5000 6000 Training set error Test set error

Ano lectivo 2010/2011 Secao 18.7 c

33

Problemas de convergncia e
Pode haver grandes oscilaes no erro. Uma das formas consiste em alterar a regra co para utilizar momento - . As variaes dos pesos da iterao t para t + 1 so dadas por: co ca a Wj,i(t + 1) = aj i + Wj,i(t) Wk,j (t + 1) = ak j + Wk,j (t). Paralelo com bola a descer superf cie: Ritmo de aprendizagem: velocidade (valores t picos entre 0.1 e 0.9). Momento: inrcia - mantm direco do movimento anterior. e e ca Acelerar convergncia atravs de treino em lote. As alteraoes nos pesos de e e c todos os casos de treino so acumuladas e s no nal propagadas aps o procesa o o samento integral do conjunto de treino. Esta verso normalmente converge mais a rapidamente, mas pode car preso mais facilmente em m nimos locais.

Ano lectivo 2010/2011 Secao 18.7 c

34

Reconhecimento de escrita

3-nearest-neighbor = 2.4% erro 40030010 unit MLP = 1.6% erro LeNet: 7681923010 unit MLP = 0.9% erro Melhores (kernel machines, algoritmos de viso) 0.6% erro a

Ano lectivo 2010/2011 Secao 18.7 c

35

Sumrio a
A maioria dos crebros tem muitos neurnios; cada neurnio unidade de e o o limiar (?) Perceptres (redes monocamada) so pouco expressivos o a Redes multicamada so sucientemente expressivas; podem ser treinadas pelo a mtodo de descida do gradiente, i.e., retropropagao do erro e ca Sobreajustamento um problema srio a evitar, devendo-se utilizar tcnicas de e e e validao cruzada. ca Muitas aplicaes: fala, conduo, reconhecimento escrita, deteco de fraudes, co ca ca etc.

Ano lectivo 2010/2011 Secao 18.7 c

36

Procura com adversarios (jogos)

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

Resumo
Estratgias ptimas e o Recursos Limitados Corte Jogos com factor sorte Jogos com informao imperfeita ca

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

Jogos vs. problemas de procura


Adversrio imprevis a vel soluo uma estratgia ca e e especicando uma jogada para cada resposta poss do oponente vel Limites temporais pouco provvel encontrar estratgia ptima, tem de se aproa e o ximar Plano de ataque: Computador considera as poss veis jogadas (Babbage, 1846) Algoritmo para jogador perfeito (Zermelo, 1912; Von Neumann, 1944) Horizonte nito, avaliao aproximada (Zuse, 1945; Wiener, 1948; Shannon, ca 1950) Primeiro jogador de Xadrez (Turing, 1951) Aprendizagem automtica para melhor preciso da avaliao (Samuel, 195257) a a ca Cortes permitem procura mais profunda (McCarthy, 1956)

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

Tipos de jogos

deterministic perfect information imperfect information chess, checkers, go, othello battleships, blind tictactoe

chance backgammon monopoly bridge, poker, scrabble nuclear war

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

Arvore de Jogo (2 jog., determ., alternados)


MAX (X)

X MIN (O)

X X X X X X X

X O MAX (X)

X O

...

X O X MIN (O)

X O X

X O X

...

...

...

...

...

TERMINAL Utility

X O X O X O 1

X O X O O X X X O 0

X O X X X O O +1

...

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

Minimax
Estratgia perfeita para jogos deterministas e com informao perfeita e ca Ideia: escolher a jogada para posio com maior valor minimax ca = melhor recompensa alcanvel com estratgia ptima do adversrio ca e o a E.g., jogo com 2 jogadas:

MAX

3
A1 A2 A3

MIN
A 11 A 12

3
A 13 A 21

2
A 22 A 23 A 31

2
A 32 A 33

12

14

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

Algoritmo Minimax
function Minimax-Decision(state) returns an action inputs: state, current state in game v Max-Value(state) return the action in Successors(state) with value v function Max-Value(state) returns a utility value if Terminal-Test(state) then return Utility(state) v for a, s in Successors(state) do v Max(v, Min-Value(s)) return v function Min-Value(state) returns a utility value if Terminal-Test(state) then return Utility(state) v for a, s in Successors(state) do v Min(v, Max-Value(s)) return v

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

Propriedades do minimax
Completo??

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

Propriedades do minimax
Completo?? Apenas se a rvore nita (o Xadrez tem regras espec a e cas para o efeito). NB uma estratgia nita pode existir mesmo em rvores innitas! e a Optima??

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

Propriedades do minimax
Completo?? Apenas se a rvore nita (o Xadrez tem regras espec a e cas para o efeito). NB uma estratgia nita pode existir mesmo em rvores innitas! e a a a Optima?? Sim, contra um adversrio perfeito. Caso contrrio?? Complexidade Temporal??

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

10

Propriedades do minimax
Completo?? Apenas se a rvore nita (o Xadrez tem regras espec a e cas para o efeito). NB uma estratgia nita pode existir mesmo em rvores innitas! e a a a Optima?? Sim, contra um adversrio perfeito. Caso contrrio?? Complexidade Temporal?? O(bm) Complexidade Espacial??

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

11

Propriedades do minimax
Completo?? Apenas se a rvore nita (o Xadrez tem regras espec a e cas para o efeito). NB uma estratgia nita pode existir mesmo em rvores innitas! e a a a Optima?? Sim, contra um adversrio perfeito. Caso contrrio?? Complexidade Temporal?? O(bm) Complexidade Espacial?? O(bm) (explorao pelo melhor primeiro) ca Para o Xadrez, b 35, m 100 para jogos razoveis a soluo exacta completamente imposs ca vel

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

12

Recursos Limitados
Suponha-se que temos 100 segundos, explorando 104 ns/segundo o 106 ns por jogada o Aproximao Standard: ca teste de corte e.g., limitar profundidade (possivelmente com procura quiescente) funo de avaliao ca ca = estimativa da razoabilidade da posio ca

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

13

Funes de avaliao co ca

Black to move White slightly better

White to move Black winning

Para o Xadrez, habitualmente soma pesada linear de caracter sticas Eval(s) = w1f1(s) + w2f2(s) + . . . + wnfn(s) e.g., w1 = 9 com f1(s) = (nm. de rainhas brancas) (nm. de rainhas pretas), etc. u u

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

14

Digresso: Valores exactos no so importantes a a a

MAX

MIN

20

20

20

400

O comportamento preservado com qualquer transformao montona de Eval e ca o Apenas a ordem interessa: recompensa em jogos deterministas comporta-se como uma funo ca de utilidade ordinal

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

15

Cortar a procura
MinimaxCutoff idntico a MinimaxValue excepto e e 1. Terminal? substitu por Cutoff? e do 2. Utilidade substitu por Eval e do Funciona na prtica? a bm = 106, b = 35 m=4

4-jogadas de previso um jogador de Xadrez iniciante! a e 4-jogadas jogador iniciante 8-jogadas PC t pico, mestre 12-jogadas Deep Blue, Kasparov

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

16

Como cortar um n? o
Limitar a profundidade a um nmero xo (na u f...) Efectuar aprofundamento progressivo enquanto houver tempo. Efectuar procura quiescente S cortar ns em que o valor da funo de avaliao estabilizou (sem grandes o o ca ca alteraes previs co veis nas prximas jogadas) o Mias dif de resolver o problema da morte adiada (ou efeito horizonte). Uma cil e jogada terr pode ter os seus efeitos protelados pelo o outro jogador, de maneira vel a carem invis veis.

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

17

Exemplo de corte

MAX

MIN

12

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

18

Exemplo de corte

MAX

MIN

X 3 12 8 2

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

19

Exemplo de corte

MAX

MIN

14

X 3 12 8 2

X 14

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

20

Exemplo de corte

MAX

MIN

14

X 3 12 8 2

X 14 5

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

21

Exemplo de corte

MAX

3 3

MIN

14

5 2

X 3 12 8 2

X 14 5 2

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

22

Propriedades do
Corte no afecta o resultado nal a Uma boa ordenao das jogadas melhora o efeito do corte ca Com ordenao perfeita, complexidade temporal = O(bm/2) ca duplica profundidade da procura pode facilmente atingir profundidade 8 e jogar bem Xadrez Um exemplo simples do valor do racioc sobre quais as computaoes relevantes nio c (uma forma de metaracioc nio)

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

23

Caso geral ?

MAX

MIN .. .. .. MAX

MIN

o melhor valor (para o jogador max) encontrado at ao momento e e Se v pior do que , max evita-o corta esse ramo e Dene-se similarmente para min
Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/ 24

O algoritmo
function Alpha-Beta-Search(state) returns an action inputs: state, current state in game v Max-Value(state, , +) return the action in Successors(state) with value v

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

25

O algoritmo
function Max-Value(state, , ) returns a utility value if Cutoff-Test(state) then return Eval(state) v for each a, s in Successors(state) do v MAX(v, Min-Value(s, , )) if v then return v MAX(, v) return v function Min-Value(state, , ) returns a utility value if Cutoff-Test(state) then return Eval(state) v + for each a, s in Successors(state) do v MIN(v, Max-Value(s, , )) if v then return v MIN(, v) return v

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

26

Execuo do algoritmo ca

Legenda: [, ] v=u X returns u Valor dos parmetros na invocao a ca Valor da varivel v antes da chamada recursiva a Corte (aps retorno da chamada recursiva) o valor MINIMAX de sa da chamada da
Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/ 27

Jogos deterministas na prtica a


Damas: Chinook terminou com o reinado de 40 anos do campeo mundial Marion a Tinsley em 1994. Utilizou uma base de dados de nal de jogo denindo a estratgia e perfeita para todas as posies com 8 ou menos peas no tabuleiro, num total de co c 443,748,401,247 posioes. c Xadrez: Deep Blue derrotou o campeo mundial humano Gary Kasparov num a encontro a 6 partidas em 1997. Deep Blue procura 200 milhes de posioes por o c segundo, utiliza avaliao muito sosticada, e recorres a mtodos para estender ca e algumas linhas de procura at 40 jogadas. e Othello: campees humanos recusam-se a competir contra computadores, que so o a demasiado bons. Go: campees humanos recusam-se a competir contra computadores, que so o a pssimos jogadores. No go, b > 300, portanto a maioria dos programas recore rem a bases de conhecimento de padres para sugerir jogadas plaus o veis.

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

28

Jogos no deterministas: Gamo a a


0 1 2 3 4 5 6 7 8 9 10 11 12

25

24 23 22 21 20 19

18 17 16 15 14 13

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

29

Jogos no deterministas em geral a


Jogos no deterministas, factor sorte introduzido pelos dados, baralhar das cartas. a Exemplo simplicado com moeda-ao-ar:

MAX

CHANCE

3 0.5 0.5 4 0 0.5

1 0.5 2

MIN

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

30

Algoritmo para jogos no deterministas a


Expectiminimax fornece estratgia ptima e o Como o Minimax, excepto que se tem de ter em conta ns de sorte: o Expectiminimax(n) = Utility(n) max sSuccessors(n) Expectiminimax(s) minsSuccessors(n) Expectiminimax(s) P(s) Expectiminimax(s) sSuccessors(n)

se se se se

n um e n um e n um e n um e

estado terminal n Max o n Min o n Chance o

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

31

Corte em rvores de jogos no deterministas a a


Uma adaptao do corte - poss ca e vel:

[ 0.5 [ ,+ ] 0.5

,+

] 0.5

[ 0.5 ,+ ]

,+

,+

,+

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

32

Corte em rvores de jogos no deterministas a a


Uma adaptao do corte - poss ca e vel:

[ 0.5 [ , 2 ] 0.5

,+

] 0.5

[ 0.5 ,+ ]

,+

,+

,+

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

33

Corte em rvores de jogos no deterministas a a


Uma adaptao do corte - poss ca e vel:

[ 0.5 [ 2 , 2 ] 0.5

,+

] 0.5

[ 0.5 ,+ ]

,+

,+

,+

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

34

Corte em rvores de jogos no deterministas a a


Uma adaptao do corte - poss ca e vel:

[ 0.5 [ 2 , 2 ] 0.5

, 2

] 0.5

[ 0.5 ,+ ]

,+

, 2

,+

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

35

Corte em rvores de jogos no deterministas a a


Uma adaptao do corte - poss ca e vel:

[ 1.5 , 1.5 0.5 [ 2 , 2 ] 0.5

] 0.5

[ 0.5 ,+ ]

,+

[ 1 , 1

,+

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

36

Corte em rvores de jogos no deterministas a a


Uma adaptao do corte - poss ca e vel:

[ 1.5 , 1.5 0.5 [ 2 , 2 ] 0.5

] 0.5

[ 0.5 , 0 ]

,+

[ 1 , 1

,+

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

37

Corte em rvores de jogos no deterministas a a


Uma adaptao do corte - poss ca e vel:

[ 1.5 , 1.5 0.5 [ 2 , 2 ] 0.5

] 0.5

[ 0.5 , 0 ]

,+

[ 1 , 1

[ 0

,+

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

38

Corte em rvores de jogos no deterministas a a


Uma adaptao do corte - poss ca e vel:

[ 1.5 , 1.5 0.5 [ 2 , 2 ] 0.5

] 0.5

[ 0.5 , 0 ]

, 0.5 ]

[ 1 , 1

[ 0

, 1

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

39

Corte (cont.)
Pode-se cortar mais se os valores das folhas forem limitados

[ 2 , 2 ] 0.5 [ 2 , 2 ] 0.5 [ 2 , 2 ] 0.5 [ 2 , 2 ]

[ 2 , 2 ] 0.5 [ 2 , 2 ]

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

40

Corte (cont.)
Pode-se cortar mais se os valores das folhas forem limitados

[ 2 , 2 ] 0.5 [ 2 , 2 ] 0.5 [ 2 , 2 ] 0.5 [ 2 , 2 ]

[ 2 , 2 ] 0.5 [ 2 , 2 ]

2
Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/ 41

Corte (cont.)
Pode-se cortar mais se os valores das folhas forem limitados

[0,2] 0.5 [2,2] 0.5 [ 2 , 2 ] 0.5 [ 2 , 2 ]

[ 2 , 2 ] 0.5 [ 2 , 2 ]

2
Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/ 42

Corte (cont.)
Pode-se cortar mais se os valores das folhas forem limitados

[0,2] 0.5 [2,2] 0.5 [ 2 , 2 ] 0.5 [ 2 , 2 ]

[ 2 , 2 ] 0.5 [ 2 , 2 ]

2
Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/ 43

Corte (cont.)
Pode-se cortar mais se os valores das folhas forem limitados

[ 1.5 , 1.5 ] 0.5 [2,2] 0.5 [1,1] 0.5 [ 2 , 2 ]

[ 2 , 2 ] 0.5 [ 2 , 2 ]

1
Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/ 44

Corte (cont.)
Pode-se cortar mais se os valores das folhas forem limitados

[ 1.5 , 1.5 ] 0.5 [2,2] 0.5 [1,1] 0.5 [ 2 , 0 ]

[ 2 , 1 ] 0.5 [ 2 , 2 ]

0
45

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

Jogos no deterministas na prtica a a


Lanamentos de dados aumentam b: 21 lanamentos poss c c veis com 2 dados Gamo 20 jogadas legais (podem ser 4000 com lanamentos de doubles) a c profundidade 4 = 20 (21 20)3 1.2 109 Com o aumento da profundidade, probabilidade de chegar a um determinado n o diminui valor do lookahead diminui Corte muito menos ecaz e TDGammon usa procura profundidade 2 + Eval muito bom n de campeo mundial vel a

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

46

Digresso: Valores exactos SAO importantes a

MAX

DICE

2.1 .9 .1 3 1 .9

1.3 .1 4 20

21 .9 30 .1 1 .9

40.9 .1 400

MIN

20

20 30 30

1 400 400

O comportamento preservado apenas com transformaes lineares positivas de e co Eval Logo Eval deve ser proporcional ` recompensa esperada a
Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/ 47

Jogos com informao imperfeita ca


Exemplo: jogos de cartas, em que as cartas iniciais do adversrio so desconhecidas a a Tipicamente pode-se calcular a probabilidade de cada distribuio de cartas pelos ca jogadores Aparentemente semelhante a um lanamento de dados no in do jogo c cio Ideia: calcular o valor minimax de cada aco em cada mo, ca a ento escolher a aco com maior valor esperado de entre todas as mos a ca a Caso especial: Se uma aco optima para todas as mos ento ptima. ca e a a eo GIB, melhor programa de bridge actualmente, aproxima esta ideia 1) gerando 100 mos consistentes com a informao de apostas actuais a ca 2) escolhe a aco que ganha mais vazas em mdia ca e

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

48

Exemplo
Mo de quarto cartas, Max joga primeiro a
6 4 6 8 2 9 7 3 8 6 4 6 2 9 7 3 9 6 4 6 2 7 3 2 6 4 6 7 3 6 6 4 7 3

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

49

Exemplo
Mo de quarto cartas, Max joga primeiro a

MAX 6 6 8 7 MIN
4 2 9 3

6 4

6 2 9

7 3 9

6 4

6 2

7 3 2

6 4

7 3

6 4

7 3

MAX 6 6 8 7 MIN
4 2 9 3

6 9

7 3 9

7 3 2

6 4

7 3

6 4

7 3

4 2

4 2

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

50

Exemplo
Mo de quarto cartas, Max joga primeiro a

MAX 6 6 8 7 MIN
4 2 9 3

6 4

6 2 9

7 3 9

6 4

6 2

7 3 2

6 4

7 3

6 4

7 3

MAX 6 6 8 7 MIN
4 2 9 3

6 9

7 3 9

7 3 2

6 4

7 3

6 4

7 3

0 0.5 0.5

4 2

4 2

6 4

7 3

MAX 6 6 8 7 MIN
4 2 9 3

6 9

7 3 9

7 3 2

6 4

7 3 6

4 2

4 2

6 4

7 3

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

51

Exemplo de senso comum


Estrada A leva a um pequeno pote de moedas de ouro Estrada B leva a um cruzamento: se for pela esquerda encontra um monte de jias; o se for pela direita atropelado por um autocarro. e

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

52

Exemplo de senso comum


Estrada A leva a um pequeno pote de moedas de ouro Estrada B leva a um cruzamento: se for pela esquerda encontra um monte de jias; o se for pela direita atropelado por um autocarro. e Estrada A leva a um pequeno pote de moedas de ouro Estrada B leva a um cruzamento: se for pela esquerda atropelado por um autocarro. e se for pela direita encontra um monte de jias; o

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

53

Exemplo de senso comum


Estrada A leva a um pequeno pote de moedas de ouro Estrada B leva a um cruzamento: se for pela esquerda encontra um monte de jias; o se for pela direita atropelado por um autocarro. e Estrada A leva a um pequeno pote de moedas de ouro Estrada B leva a um cruzamento: se for pela esquerda atropelado por um autocarro. e se for pela direita encontra um monte de jias; o Estrada A leva a um pequeno pote de moedas de ouro Estrada B leva a um cruzamento: adivinhe correctamente e encontra um monte de jias; o adivinhe incorrectamente e atropelado por um autocarro. e

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

54

Anlise correcta a
* Intuio que o valor de uma aco a mdia de todos os seus valores ca ca e e em todos os estados poss vels ERRADA e Com obervao parcial, valor de uma aco depende do ca ca estado de informao ou estado de crena em que o agente se encontra ca c Pode gerar e procurar a rvore de estados de informao a ca Origina os seguintes comportamentos racionais Agir para obter informao ca Fazer sinais ao parceiro Agindo aleatoriamente para minimizar a descoberta de informao ca

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

55

Sumrio a
Jogos ilustram vrios aspectos importantes da IA a perfeio inating tem de se aproximar ca e vel boa ideia pensar sobre o que se vai pensar a incerteza limita a atribuio de valores a estados ca Os jogos esto para IA como a Frmula I est para a indstria automvel a o a u o

Ano Lectivo 2010/2011 - 2o Semestre Adaptado de http://aima.eecs.berkeley.edu/slides-tex/

56

Potrebbero piacerti anche