Você está na página 1de 997
O que é a Inteligência Artificial ?
O que é a Inteligência
Artificial ?

Ano lectivo 2010/2011

Prof. Carlos Viegas Damásio

Pré-história da IA    Filosofia      Lógica, métodos de raciocínio, mente como

Pré-história da IA

Filosofia

 

Lógica, métodos de raciocínio, mente como um sistema físico, fundamentos da aprendizagem, linguagem, racionalidade

Matemática

Representação formal e prova, algoritmos, computação, (in)decidibilidade, (in)tractibilidade, probabilidade

Psicologia

 

Adaptação, fenómenos de percepção e controlo motor, técnicas experimentais

Economia

 

Teoria formal de decisões racionais

Linguística

 

Representação do conhecimento, gramática

Neurociência

Substrato físico para a actividade mental

Teoria de controlo

sistemas homeostáticos, estabilidade, desenhos óptimos para agentes simples

Alguns marcos Históricos da IA    1943 McCulloch & Pitts: modelo de circuitos Booleanos

Alguns marcos Históricos da IA

1943

McCulloch & Pitts: modelo de circuitos Booleanos do cérebro

1950

Turing ``Computing Machinery and Intelligence''

1952-69

Look, Ma, no hands!

1950s

Primeiros programas de IA, incluindo o programa de damas de Samuel e

1956

Newell, Simon's Logic Theorist, Gelernter's Geometry Engine Encontro de Dartmouth: adopção do termo ``Artificial Intelligence''

1965

O algoritmo completo de Robinson para o raciocínio lógico

1966-74

a IA descobre a complexidade computacional

1969-79

Investigação em redes neuronais desaparece praticamente Primeiros sistemas baseados em conhecimento

1980-88

A indústria de Sistemas Periciais explode

1988-93

A indústria de Sistemas Periciais implode: ``AI Winter''

1986-

As redes neuronais reganham popularidade

1998-

Resurgimento das Probabilidades; sofisticação dos resultados

1995-

“Nouvelle AI‘”: ALife, GAs, soft computing Agentes, agentes por todo o lado…

2001-

Semantic Web

2001-

Existência de grandes conjuntos de dados

2006

50 ANOS DA IA

Kurt Gödel (1931) Teorema de incompletude de Gödel Em qualquer sistema formal consistente que seja

Kurt Gödel (1931)

Kurt Gödel (1931) Teorema de incompletude de Gödel Em qualquer sistema formal consistente que seja suficientemente

Teorema de incompletude de Gödel

Em qualquer sistema formal consistente que seja suficientemente forte para axiomatizar os números naturais, pode-se construir uma afirmação verdadeira que não pode ser provada nem verdadeira nem falsa.

Nem todas as questões matemáticas são computáveis !!!

Alan Turing (1936)    Indecidibilidade do Problema da Paragem da Máquina de Turing É

Alan Turing (1936)

Alan Turing (1936)    Indecidibilidade do Problema da Paragem da Máquina de Turing É impossível

Indecidibilidade do Problema da Paragem da Máquina de Turing

É impossível construir um programa que indica se um outro programa qualquer termina.

Warren McCulloch & Walter Pitts (1943)    Demonstram no artigo A Logical Calculus of

Warren McCulloch & Walter Pitts

(1943)

Warren McCulloch & Walter Pitts (1943)    Demonstram no artigo A Logical Calculus of the
Warren McCulloch & Walter Pitts (1943)    Demonstram no artigo A Logical Calculus of the

Demonstram no artigo A Logical Calculus of the Ideas Immanent in Nervous Activity

Uma máquina de Turing pode ser implementada numa rede finita de neurónios formais, ou seja, que o neurónio é a unidade lógica elementar do cérebro

O neurónio de McCulloch & Pitts    Cada sinapse pode ter um valor binário

O neurónio de McCulloch & Pitts

O neurónio de McCulloch & Pitts    Cada sinapse pode ter um valor binário 0

Cada sinapse pode ter um valor binário 0 ou 1 Cada sinapse pode ter um peso real O neurónio dispara quando

x1 * w1 + x2* w2 >= Limiar

Como se podem construir as portas lógicas ?

John von Neumann (1948)    Em resposta ao comentário que uma máquina não é

John von Neumann (1948)

John von Neumann (1948)    Em resposta ao comentário que uma máquina não é capaz

Em resposta ao comentário que uma máquina não é 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 Inteligência Artificial ? Sistemas que pensam como os humanos Sistemas que

O que é a Inteligência Artificial ?

Sistemas que pensam como os humanos

Sistemas que pensam racionalmente

Sistemas que agem como os humanos

Sistemas que agem racionalmente

Podem as máquinas pensar?    Podem as máquinas voar?    Sim! Os aviões

Podem as máquinas pensar?

Podem as máquinas voar?

Sim! Os aviões voam!

Podem as máquinas nadar?

Não! Nem os barcos nem os submarinos nadam!

A resposta afirmativa “aterroriza” o comum dos mortais. Mas cientificamente é pouco relevante!

A quarta discontinuidade (Mazlish)    Momento cosmológico (Copérnico)    Momento biológico (Darwin) 

A quarta discontinuidade (Mazlish)

Momento cosmológico (Copérnico) Momento biológico (Darwin) Momento psicológico (Freud)

A “superioridade” do homem tem vindo a ser diminuída!

A inteligência é a última fronteira que nos define! Não a largaremos de barato!

Agindo humanamente: o teste de Turing (1950)    Podem as máquinas comportar-se inteligentemente 

Agindo humanamente:

o teste de Turing (1950)

Agindo humanamente: o teste de Turing (1950)    Podem as máquinas comportar-se inteligentemente   

Podem as máquinas comportar-se inteligentemente

Turing propõe o Jogo da Imitação para resolver a questão.

Contribuições do teste de Turing    Antecipou a maioria dos argumentos usados contra a

Contribuições do teste de Turing

Antecipou a maioria dos argumentos usados contra a Inteligência Artificial Sugeriu as áreas fundamentais da Inteligência Artificial

Representação do Conhecimento Raciocínio Linguagem Natural Aprendizagem

Previu que no ano 2000 que uma máquina teria 30% de probabilidade de enganar uma pessoa durante 5 minutos. Qual é a situação actual ?

JABBERWOCK Copyright (C) 2003 Cambridge Center for Behavioral Studies. All rights reserved. Jabberwock conversing with

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:

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

Objecções à IA    Objecção Teológica : o pensamento é função da alma imortal

Objecções à IA

Objecção Teológica: o pensamento é função da alma imortal de um ser humano logo uma máquina não pode pensar.

Objecção Matemática: o teorema de incompletude de Gödel demonstra que existem limites às questões que um sistema computacional baseado em lógica pode responder.

Informalidade do Comportamento: qualquer sistema guiado por leis é previsível logo não será verdadeiramente inteligente.

Argumento da continuidade do sistema nervoso: o nosso cérebro baseia-se na propagação de valores contínuos e logo não pode ser capturado por máquinas discretas.

Objecções à IA    Argumento da Consciência : “not until a machine can write

Objecções à IA

Argumento da Consciência: “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”

Objecção 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

Objecção de Lady Lovelace: os computadores são incapazes de serem criativos.

Para uma resposta a cada uma destas questões podem ler o artigo original de Alnan Turing em http://www.abelard.org/turpap/turpap.htm.

A objecção da Avestruz

A objecção da Avestruz

A objecção da Avestruz
Pensando Humanamente: Ciências Cognitivas    “ Revolução Cognitiva ” em 1960: psicologia baseada no

Pensando Humanamente:

Ciências Cognitivas

Revolução Cognitiva” em 1960: psicologia baseada no processamento de informação substituiu a corrente ortodoxa do behaviorismo

Depende de teorias científicas da actividade interna do cérebro

 

Qual o nível de abstracção? “Conhecimento” ou “Circuitos”'?

Ambas as alternativas (Ciência Cognitiva e Neurociência cognitiva ) distinguem-se da

Como validar? Exige

1) Previsão e experimentação de comportamentos humanos (top-down), ou 2) Identificaçãoo directa a partir de dados neurológicos (bottom-up)

IA, mas partilham com a IA a seguinte característica:

As teorias existentes não conseguem explicar (gerar) algo semelhante à inteligência humana

Logo, as três áreas de saber têm uma direcção comum

Pensando racionalmente: Leis do Raciocínio    Aristóteles: quais são os argumentos ou processos de

Pensando racionalmente:

Leis do Raciocínio

Aristóteles: quais são os argumentos ou processos de raciocínio correctos?

Diversas escolas Gregas desenvolveram várias formas de lógica:

Notação e regras de derivação para o raciocínio

Linha directa através da Matemática e da Filosofia até à IA moderna

Problemas:

1.Nem todo o comportamento inteligente envolve deliberação lógica 2.Qual é o objectivo do pensamento? Que pensamentos devo ter?

Agindo Racionalmente    Comportamento Racional : fazer o que é correcto    O

Agindo Racionalmente

Comportamento Racional: fazer o que é correcto

O que é correcto? aquilo que se espera que maximize a realização de objectivos, dada a informação disponível

Não envolve necessariamente o raciocínio - e.g., piscar de olhos – mas o raciocínio deve estar ao serviço da actuação racional

A conferência de Dartmouth (1956)    O termo Inteligência Artificial foi proposto por John

A conferência de Dartmouth (1956)

A conferência de Dartmouth (1956)    O termo Inteligência Artificial foi proposto por John McCarthy

O termo Inteligência Artificial foi proposto por John McCarthy Demonstrou-se o primeiro programa de IA (Logical Theorist) Inventor da linguagem de programação LISP

Logic Theorist    Programa construído por Newell, Simon e Shaw    Pouco tempo

Logic Theorist

Logic Theorist    Programa construído por Newell, Simon e Shaw    Pouco tempo depois
Logic Theorist    Programa construído por Newell, Simon e Shaw    Pouco tempo depois

Programa construído por Newell, Simon e Shaw Pouco tempo depois demonstrou a maioria dos teoremas do capítulo 2 dos Principia Mathematica

Definição de IA segundo a AAAI the scientific understanding of the mechanisms underlying thought and

Definição 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)   

Paradigmas da IA

Computacional (Allen Newell e Herbert Simon – 1976)

Os Sistemas Físicos de Símbolos têm os meios necessários e suficientes para a acção inteligente geral.

Biológico (Holland – 1975)

Aplicação da teoria da selecção natural de Darwin e Mendel a problemas complexos (computação evolutiva)

Conexionista (Rumelhart e McClelland – 1986)

Inteligência é uma propriedade emergente das interacções de um número elevado de unidades elementares de processamento

Robótica Emergente (Brooks – 1986)

Hipótese da concretização física: para construir um sistema inteligente é necessário ter as suas representações concretizadas no mundo físico. O mundo é o seu melhor modelo!

Correntes da IA    Tese da IA forte    Construção de máquinas com

Correntes da IA

Tese da IA forte

Construção de máquinas com mentes inteligentes

Tese da IA fraca

Construção de artefactos que imitam o homem na acção inteligente

O Quarto Chinês (John Searle)    Argumento contra a IA forte [

O Quarto Chinês (John Searle)

Argumento contra a IA forte

Chinês (John Searle)    Argumento contra a IA forte [ http://members.aol.com/NeoNoetics/MindsBrainsPrograms.html

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

Interpretação do Quarto Chinês    O Quarto Chinês não demonstra que as “máquinas não

Interpretação do Quarto Chinês

O Quarto Chinês não demonstra que as “máquinas não podem pensar”. O Quarto Chinês não demonstra que apenas cérebros podem pensar. Tenta demonstrar que a computação por mera manipulação de símbolos não é suficiente para se obter o pensamento.

Áreas importantes da IA    Resolução de Problemas: Procura e Jogos    Representação

Áreas importantes da IA

Resolução de Problemas: Procura e Jogos Representação do Conhecimento e Raciocínio Planeamento Conhecimento incerto e raciocínio Aprendizagem Comunicação, percepção e acção: linguagem natural, visão artificial, robótica Agentes

Estado-da-arte (aplicações)    Detecção de fraudes em cartões de crédito    Planeamento e

Estado-da-arte (aplicações)

Detecção de fraudes em cartões de crédito Planeamento e escalonamento automático Jogos Controlo Automático Diagnóstico Médico Planeamento Logístico Robótica Processamento de língua natural e resolução de problemas Exploração de Marte Fabricação de Medicamentos

Procura & Jogos    Muitos problemas podem ser resolvidos através de métodos de procura

Procura & Jogos

Muitos problemas podem ser resolvidos através de métodos de procura

Os jogos podem ser entendidos como um problema de procura

Turing começou a desenvolver um programa capaz de jogar Xadrez

O jogo do Galo [ http://www.dcs.warwick.ac.uk/~edsac/ ]    O primeiro jogo de computador (1952)

O jogo do Galo

O jogo do Galo [ http://www.dcs.warwick.ac.uk/~edsac/ ]    O primeiro jogo de computador (1952) para
O jogo do Galo [ http://www.dcs.warwick.ac.uk/~edsac/ ]    O primeiro jogo de computador (1952) para

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

O primeiro jogo de computador (1952) para o computador EDSAC (1024 palavras de 17- bit e 650 instruções/segundo)

765 posições diferentes

255 168 jogos possíveis (26 830 recorrendo à simetria)

Como construir programas que saibam jogar ?

Algoritmo MINIMAX    Proposto por John von Neumann (1928)    Utilizado como técnica

Algoritmo MINIMAX

Algoritmo MINIMAX    Proposto por John von Neumann (1928)    Utilizado como técnica base

Proposto por John von Neumann (1928)

Utilizado como técnica base na maioria dos jogos que envolvam algum tipo de raciocínio

Qual é a dificuldade ?    No Xadrez temos em média 35 lances possíveis

Qual é a dificuldade ?

No Xadrez temos em média 35 lances possíveis por jogador

O espaço de procura é da ordem de 35 100 2,5 x 10 154

Qual o resultado das disputas entre computadores e campeões humanos ?

   Qual o resultado das disputas entre computadores e campeões humanos ? [ http://www.research.ibm.com/deepblue/ ]

[http://www.research.ibm.com/deepblue/]

Campeonatos    Damas    Chinook terminou com o reinado de 40 anos do

Campeonatos

Damas

 

Chinook terminou com o reinado de 40 anos do campeão mundial Marion Tinsley em 1994.

Utilizou uma base de dados de final de jogo definindo a estratégia perfeita para todas as posições com 8 ou menos peças no tabuleiro, num total de 443,748,401,247 posições. Recentemente o jogo das damas foi resolvido: empate para jogadores perfeitos!

Xadrez

Deep Blue derrotou o campeão mundial humano Gary Kasparov num encontro a 6 partidas em 1997. Deep Blue pesquisa 200 milhões de posições por segundo, utiliza avaliação muito sofisticada, e recorre a métodos para estender algumas linhas de pesquisa até 40 movimentos.

Othello:

campeões humanos recusam-se a competir contra computadores, que são demasiado bons.

Go:

campeões humanos recusam-se a competir contra computadores que são péssimos jogadores. No Go, podemos ter até 300 hipóteses por jogada. Utilizam-se mecanismos de reconhecimento de padrões

Bridge

Já existem sistemas que jogam a um nível profissional

Go (algumas boas notícias ) In a historic achievement, the MoGo computer program defeated Myungwan

Go (algumas boas notícias

)

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 MoGo’s 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 can’t tell you how amazing this is,” David Doshay -- the SlugGo programmer who suggested the match -- told the E-Journal after the game. “I’m shocked at the result. I really didn’t expect the computer to win in a one-hour game.

General Game Playing    Construção de programas que jogam "qualquer" jogo.    Os

General Game Playing

Construção de programas que jogam "qualquer" jogo. Os jogos são descritos numa linguagem lógica que perceberá no final desta cadeira (datalog) Utilizam melhorias de algoritmos descritos na cadeira. Utilizam métodos de simulação de Monte-Carlo para escolher a melhor jogada.

Toda a Álgebra de Robbins é Booleana    Problema em aberto durante 60 anos

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 máquina RS/6000 com 30Mb de memória 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

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 década de 60 e 70 foram realizados alguns sistemas baseados

Sistemas Periciais

Na década de 60 e 70 foram realizados alguns sistemas baseados em conhecimento, em que o DENDRAL e o MYCIN são dois dos mais conhecidos

Na década de 80 houve um crescimento explosivo da indústria dos Sistemas Periciais, redundando no “AI Winter”

Podem interagir com alguns sistemas periciais no site

http://expertise2go.com/.

CYC [ http://www.cyc.com ] [ http://opencyc.org ] Portugal    Desenvolvida pela CYCORP companhia fundada

CYC

CYC [ http://www.cyc.com ] [ http://opencyc.org ] Portugal    Desenvolvida pela CYCORP companhia fundada em

[http://www.cyc.com]

[http://opencyc.org]

Portugal

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.

Semantic Web    A Web do futuro está neste momento em construção suportada em

Semantic Web

A Web do futuro está neste momento em construção suportada em muitas tecnologias da IA, nomeadamente da lógica

Linked Data

[2005 Tim Berners-Lee, Web for real people]
[2005 Tim Berners-Lee, Web for real people]
Redes Neuronais e Aprendizagem    Em 1968, Marvin Minsky & Seymour Papert publicam Perceptrons

Redes Neuronais e Aprendizagem

Em 1968, Marvin Minsky & Seymour Papert publicam Perceptrons, demonstrando os limites das redes neuronais simples (duas camadas)

Ressurgem no meio da década de 1980 com inúmeras aplicações

Aprendizagem Não Supervisionada [ http://www.demo.cs.brandeis.edu/pr/robotics.html ]    Desenho automático de

Aprendizagem Não Supervisionada

Aprendizagem Não Supervisionada [ http://www.demo.cs.brandeis.edu/pr/robotics.html ]    Desenho automático de
Aprendizagem Não Supervisionada [ http://www.demo.cs.brandeis.edu/pr/robotics.html ]    Desenho automático de

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

Desenho automático de formas de vida robóticas

Construção automática de equipamento

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

Aprendizagem Supervisionada

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

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

Criatividade    Os algoritmos de aprendizagem podem gerar comportamentos inesperados tal como aqueles relatados

Criatividade

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

Aplicações do dia-a-dia [ http://www.irobot.com ]    ABS e CruiseControl    Câmeras fotográficas

Aplicações do dia-a-dia

Aplicações do dia-a-dia [ http://www.irobot.com ]    ABS e CruiseControl    Câmeras fotográficas e

[http://www.irobot.com]

ABS e CruiseControl Câmeras fotográficas e de filmar Cozedores de Arroz Máquinas de lavar a louça e roupa Jogos de vídeo Aspiradores

Algumas contribuições da IA para a Informática    Sistemas de Time-Sharing    Programação

Algumas contribuições da IA para a Informática

Sistemas de Time-Sharing Programação orientada pelos objectos Linguagens de Programação Declarativas

Funcionais: LISP, etc. Lógicas: Prolog, etc. SQL 3

O rato O Office Assistant

Entretenimento    Geração de imagens virtuais em cinema:    King Kong   

Entretenimento

Geração de imagens virtuais em cinema:

King Kong O Leão, a Feiticeira e o Guarda-Roupa Elektra I, Robot Série Lord of the Rings

E publicidade

Onde está a IA neste anúncio ?

(http://www.massivesoftware.com/)

Já que falamos de futebol

RoboCup (http://www.robocup.org) RoboCup liga de simulação

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

E matrecos ?

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

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

Veículos Inteligentes [ http://www.argo.ce.unipr.it/ARGO/english/index.html ]    O ARGO guiou cerca de 2000 Km

Veículos Inteligentes

Veículos Inteligentes [ http://www.argo.ce.unipr.it/ARGO/english/index.html ]    O ARGO guiou cerca de 2000 Km

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

O ARGO guiou cerca de 2000 Km sozinho pelas estradas de Itália

DARPA Grand Challenge 2005 ( http://www.darpa.mil/GRANDCHALLENGE/ )    Prova organizada pelo DARPA em que

DARPA Grand Challenge 2005

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

Prova organizada pelo DARPA em que um veículo automóvel tem de percorrer autonomamente uma pista de 210 Km em terreno desértico, em menos de 10 horas

Equipa vencedora da Universidade de Stanford demorou perto de 7 horas (média de 30 Km/h).

de Stanford demorou perto de 7 horas (média de 30 Km/h). Stanley [ http://www.stanfordracing.org ] 

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

Em 2007, a prova decorreu em cenário urbano. http://www.darpa.mil/ grandchallenge

Processamento de Língua Natural Conhecido como um problema AI-completo:    Reconhecimento de fala (e.g.

Processamento de Língua Natural

Conhecido como um problema AI-completo:

Reconhecimento de fala (e.g. Marcação de voos na United Airlines) Geração de linguagem natural Recuperação e extracção de informação Tradução Automática

Essencial para a União Europeia devido à diversidade de línguas escritas e faladas no seu espaço Uma ferramenta muito conhecida é a SYSTRAN e o

Google translator.

Síntese de fala    A síntese da fala é uma aplicação já de domínio

Síntese de fala

A síntese da fala é uma aplicação já de domínio geral (e.g. Acrobat) e que requer a combinação de várias técnicas de Inteligência Artificial. Uma das técnicas mais sucesso recorre ao algoritmo de aprendizagem k-nearest neighbor, como ilustrado no vídeo de Antal van den Bosch k-nearest neighbor classification [k-NN.mp4]

Exploração Espacial    Controlo Autónomo de Sondas Espaciais (Deep Space 1)    Navegação

Exploração Espacial

Exploração Espacial    Controlo Autónomo de Sondas Espaciais (Deep Space 1)    Navegação Autónoma
Exploração Espacial    Controlo Autónomo de Sondas Espaciais (Deep Space 1)    Navegação Autónoma

Controlo Autónomo de Sondas Espaciais (Deep Space 1) Navegação Autónoma em Marte (Orbit e Spirit) [MAPGEN] Planeamento Espacial [MEXAR2] Planeamento de Observações do Telescópio Espacial Hubble

Inteligência de Enxame (swarm intelligence)    Os comportamentos de enxames, cardumes, etc deu origem

Inteligência de Enxame (swarm intelligence)

Os comportamentos de enxames, cardumes, etc deu origem a novos algoritmos para aplicações da IA, tal como a morfogénese (geração de formas).

Mais informação pode ser obtida no site de Marco Dorigo e no site Swarm-bots.

ser obtida no site de Marco Dorigo e no site Swarm-bots . Vídeo vencedor do AAAI-07

Vídeo 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   

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 Capítulos 1 e 26 do livro Artificial Intelligence, A Modern Approach.

Fontes e Links a explorar    Association for the Advancement of Artificial Intelligence (

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
Agentes Inteligentes

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

Resumo da matéria    Agentes e ambientes    Racionalidade    PEAS 

Resumo da matéria

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 através de

Agentes

Um agente é qualquer entidade que percepciona o seu ambiente através de sensores e age nele através de actuadores

Agente biológico

Sensores: olhos, ouvidos, pele, etc. Actuadores: mãos, pernas, boca, etc.

Agente robótico

Câmaras e sensores de proximidade Actuadores: diversos motores

Agente computacional (software, vida artificial)

Sensores: teclado, rato, ligações TCP Actuadores: ecrã, placa de controlo, drive disco, enviar email, etc.

TCP    Actuadores: ecrã, placa de controlo, drive disco, enviar email, etc. Shakey (SRI International)
TCP    Actuadores: ecrã, placa de controlo, drive disco, enviar email, etc. Shakey (SRI International)

Shakey (SRI International) Vídeo

Características dos agentes    Corpo    Localização    Existem no espaço e

Características dos agentes

Corpo Localização

Existem no espaço e no tempo

Capacidades

Sensores e Actuadores

Decisão

Deliberativa ou não

Agentes e ambientes    A função agente mapeia histórias em acções: [ acção :

Agentes e ambientes

Agentes e ambientes    A função agente mapeia histórias em acções: [ acção : P*

A função agente mapeia histórias em acções:

[acção: P* A] O programa agente é executado numa arquitectura física para produzir acção agente = arquitectura + programa

Visão sistémica    Ambientes caracterizam-se por conjunto de estados E    Ambientes sofrem

Visão sistémica

Ambientes caracterizam-se por conjunto de estados E

Ambientes sofrem transições não deterministas [ambiente: E x A 2 E ]

Agente é constituído por duas funções [percepção: E P ] [acção: P* A]

Agente implementa a função [agente: E* A]

Propriedades dos agentes    Racionalidade    Maximiza o seu desempenho em função da

Propriedades dos agentes

Racionalidade

Maximiza o seu desempenho em função da informação disponível

Reactividade

Responde em tempo útil a mudanças do ambiente

Orientado pelos objectivos

Tem iniciativa. Não se limita a reagir ao ambiente.

Comunicação

Comunica com outros agentes

Autonomia

Aprende e adapta-se de acordo com a experiência anterior

Mobilidade

Capaz de se transportar de um local para outro (e.g. de máquina para máquina)

Carácter

Tem estado emocional e sua própria personalidade (veracidade e benevolência)

O mundo do aspirador    Percepções: localização e conteúdo (e.g. [A,Dirty])    Acções:

O mundo do aspirador

O mundo do aspirador    Percepções: localização e conteúdo (e.g. [A,Dirty])    Acções: Left

Percepções: localização e conteúdo (e.g. [A,Dirty]) Acções: Left, Right, Suck, NoOp

Um programa aspirador História (seq. de percepções) Acção [ A;Clean ] [ A;Dirty ] [

Um programa aspirador

História (seq. de percepções)

Acção

[A;Clean] [A;Dirty] [B;Dirty] [B;Clean] [A;Clean], [A;Clean] [A;Clean], [A;Dirty]

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 função correcta ? Pode ser implementada num programa agente?

Agentes racionais    Um agente deve “ fazer aquilo que é correcto ", baseando-se

Agentes racionais

Um agente deve “fazer aquilo que é correcto", baseando-se no que percepciona e nas acções que pode efectuar. A acção correcta é aquela que trará mais sucesso ao agente.

Medida de desempenho

Critério objectivo que mede o sucesso do comportamento de um agente

O aspirador…    Medida de desempenho para o aspirador:    quantidade de sujidade

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) ruído (1 ponto por cada casa limpa por unidade de tempo, menos 1 por movimento e 2 por aspiração)

Definição de agente racional    Um agente racional deve seleccionar a acção que maximiza

Definição de agente racional

Um agente racional deve seleccionar a acção que maximiza o valor esperado da medida de desempenho, dada a evidência fornecida pela sequência de percepções e conhecimento que o agente tenha.

Racionalidade omnisciência (tudo saber) Racionalidade clarividência (tudo prever) Racionalidade bem sucedido

Racionalidade pressupõe

Obtenção de informação e exploração Aprendizagem Autonomia

PEAS    PEAS : P erformance measure, E nvironment, A ctuators, S ensors 

PEAS

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

PEAS (Táxi Automático)    Medida de desempenho    Segurança, rapidez, obediência às regras

PEAS (Táxi Automático)

Medida de desempenho

Segurança, rapidez, obediência às regras de trânsito, conforto, maximizar lucro

Ambiente

Estradas, outro trânsito, peões, cliente, meteorologia, …

Actuadores

Volante, acelerador, travão, luzes, buzina, sintetizador/ecrã, …

Sensores

Câmaras, acelerómetros, instrumentos de bordo, sensores do motor, teclado, GPS

PEAS (Diagnóstico Médico)    Medida de desempenho    Saúde do paciente, minimizar custos,

PEAS (Diagnóstico Médico)

Medida de desempenho

Saúde do paciente, minimizar custos, processos em tribunal

Ambiente

Paciente, hospital, pessoal

Actuadores

Ecrã (questões, análises, diagnósticos, tratamentos)

Sensores:

Teclado (sintomas, respostas do doente)

PEAS (Selecção de peças)    Medida de desempenho    Percentagem de peças nos

PEAS (Selecção de peças)

Medida de desempenho

Percentagem de peças nos receptáculos correctos

Ambiente

Passadeira rolante com peças, receptáculos

Actuadores

Braço robótico, garra

Sensores:

Câmara e ângulos de rotação dos eixos

PEAS (Tutor interactivo de Inglês)    Medida de desempenho    Maximizar a nota

PEAS (Tutor interactivo de Inglês)

Medida de desempenho

Maximizar a nota do estudante no teste

Ambiente

Conjunto de estudantes

Actuadores

Ecrã (exercícios, sugestões e correcções)

Sensores:

Teclado

Tipos de Ambientes    Totalmente observável (vs. parcialmente observável)    Os sensores do

Tipos de Ambientes

Totalmente observável (vs. parcialmente observável)

Os sensores do agente dão acesso ao estado completo do ambiente em cada instante de tempo.

Determinista (vs. estocástico)

O estado seguinte do ambiente é completamente determinado pelo estado corrente e pela acção executada pelo agente Se o ambiente é determinista exceptuando-se as acções de outros agentes, então o ambiente é estratégico.

Episódico (vs. sequencial)

A experiência do agente é dividida em episódios atómicos (percepção seguida de única acção), em que a escolha da acção depende apenas do próprio episódio.

Tipos de ambientes    Estático (vs. dinâmico)    O ambiente não se altera

Tipos de ambientes

Estático (vs. dinâmico)

O ambiente não se altera enquanto o agente delibera O ambiente é semi-dinâmico quando o ambiente não se altera com a passagem do tempo, ao contrário da medida de desempenho

Discreto (vs. contínuo)

Um número limitado de acções e percepções, e claramente definidos.

Agente único (vs. multi-agente)

Agente a operar sozinho no ambiente.

Tipos de ambiente   Solitário Xadrez Táxi Total. Observável Determinista Episódico Estático Discreto

Tipos de ambiente

 

Solitário

Xadrez

Táxi

Total. Observável Determinista Episódico Estático Discreto Agente único

Sim

Sim

Não

Sim

Estratégico

Não

Não

Não

Não

Sim

Sim

Não

Sim

Sim

Não

Sim

Não

Não

O tipo de ambiente influencia grandemente o desenho do agente

A realidade é parcialmente observável, estocástica, sequencial, dinâmica, contínua e multi-agente

Tipos de agentes    Quatro tipos de agentes de generalidade crescente:    Agente

Tipos de agentes

Quatro tipos de agentes de generalidade crescente:

Agente reactivo puro Agente reactivo com memória Agente deliberativo com objectivo Agente deliberativo com função de utilidade

Agente reactivo puro

Agente reactivo puro

Agente reactivo puro
Programas Teleo-Reactivos (Nilsson)    Sequência de regras de produção    c 1 

Programas Teleo-Reactivos (Nilsson)

Sequência de regras de produção

c 1 a 1 c 2 a 2

c n a n

Condições c 1 , …, c n são conjunções de proposições booleanas Acções a 1 , …, a n são acções a executar Executa-se a primeira regra cuja condição é verdadeira

Agente segue paredes    ┐ p0 /\ p2  Move    ┐ p2

Agente segue paredes

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

p5

p4

p3

p6

p5 p4 p3 p6 p2 p7 p0 p1

p2

p7

p0

p1

Interpretação das regras ┐ p0 /\ p2  Move

Interpretação das regras

p0 /\ p2 Move

Interpretação das regras ┐ p0 /\ p2  Move
Interpretação das regras ┐ p0 /\ p2  Move
Interpretação das regras (p0 \/ ┐ p2) /\ ( ┐ p2 /\ p3)  Right

Interpretação das regras

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

Interpretação das regras (p0 \/ ┐ p2) /\ ( ┐ p2 /\ p3)  Right
Interpretação das regras (p0 \/ ┐ p2) /\ ( ┐ p2 /\ p3)  Right
Interpretação das regras (p0 \/ ┐ p2) /\ (p2 \/ ┐ p3) /\ p0 

Interpretação das regras

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

regras (p0 \/ ┐ p2) /\ (p2 \/ ┐ p3) /\ p0  Left Esta regra
regras (p0 \/ ┐ p2) /\ (p2 \/ ┐ p3) /\ p0  Left Esta regra

Esta regra pode disparar em duas outras situações. Quais são elas ?

Interpretação das regras (p0 \/ ┐ p2) /\ (p2 \/ ┐ p3) /\ ┐ p0

Interpretação das regras

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

Interpretação das regras (p0 \/ ┐ p2) /\ (p2 \/ ┐ p3) /\ ┐ p0 
Interpretação das regras (p0 \/ ┐ p2) /\ (p2 \/ ┐ p3) /\ ┐ p0 

Implementação conexionista

Os programas teleo-reactivos podem ser facilmente implementados com Threshold Logic Units (Neurónios McCulluch & Pitts)!

x 1

x

n

w 1

w

n

Σ w i *x i

McCulluch & Pitts)! x 1 x n w 1 w n Σ w i *x i
McCulluch & Pitts)! x 1 x n w 1 w n Σ w i *x i
McCulluch & Pitts)! x 1 x n w 1 w n Σ w i *x i

f

f =

Limiar, θ

1 se

w i * x i

θ

0 caso contrário

Solução de Katz (TISAs)    Unidades TISA    Testar    Inibir 

Solução de Katz (TISAs)

Unidades TISA

Testar

Inibir

Silenciar

Actuar

-1
-1
Encadeamento de TISAs -1 -1 -1

Encadeamento de TISAs

-1 -1 -1
-1
-1
-1
Autonomous Land Vehicle In a Neural Network (ALVINN)

Autonomous Land Vehicle In a Neural Network (ALVINN)

Autonomous Land Vehicle In a Neural Network (ALVINN)
Agente reactivo com memória

Agente reactivo com memória

Agente reactivo com memória
Arquitectura de subordinação (Brooks)    Baseada na combinação de AFSM (Augmented Finite State Machines)

Arquitectura de subordinação (Brooks)

Baseada na combinação de AFSM (Augmented Finite State Machines)

(Brooks)    Baseada na combinação de AFSM (Augmented Finite State Machines) Vídeo [ gengis-short.mov ]
(Brooks)    Baseada na combinação de AFSM (Augmented Finite State Machines) Vídeo [ gengis-short.mov ]

Vídeo [gengis-short.mov]

Comparação das arquitecturas Arquitectura de Brooks Arquitectura clássica

Comparação das arquitecturas

Comparação das arquitecturas Arquitectura de Brooks Arquitectura clássica

Arquitectura de Brooks

Comparação das arquitecturas Arquitectura de Brooks Arquitectura clássica

Arquitectura clássica

Agente deliberativo com objectivo

Agente deliberativo com objectivo

Agente deliberativo com objectivo
Encontrar e marcar minas Vídeo [ uvgdemo.avi ]

Encontrar e marcar minas

Encontrar e marcar minas Vídeo [ uvgdemo.avi ]

Vídeo [uvgdemo.avi]

Encontrar e marcar minas Vídeo [ uvgdemo.avi ]
Idaho National Laboratory (RIK)

Idaho National Laboratory (RIK)

Idaho National Laboratory (RIK)
Agente guiado por utilidade

Agente guiado por utilidade

Agente guiado por utilidade
Agentes aprendizes

Agentes aprendizes

Agentes aprendizes
Neuro Evolutionary Art ( NEvAr ) Universidade de Coimbra

Neuro Evolutionary Art (NEvAr)

Neuro Evolutionary Art ( NEvAr ) Universidade de Coimbra

Universidade de Coimbra

Links a explorar    The Robot Hall of Fame ( http://www.robothalloffame.org/ )   

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 Capítulo 3
Procura Cega
Capítulo 3

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

Resumo    Agentes de procura    Tipos de problemas    Formulação de

Resumo

Agentes de procura Tipos de problemas Formulação de problemas Problemas típicos Algoritmos básicos de procura

Exemplo: Roménia Setembro 2010 IA - Procura 3

Exemplo: Roménia

Exemplo: Roménia Setembro 2010 IA - Procura 3
Exemplo: Romémia    De férias na Roménia; correntemente em Arad.    Voo sai

Exemplo: Romémia

De férias na Roménia; correntemente em Arad. Voo sai amanhã de Bucareste

Formular objectivo:

Chegar a Bucareste

Formular problema:

estados: várias cidades acções: guiar entre as cidades

Solução:

Sequência de cidades: Arad, Sibiu, Fagaras, Bucareste

Agentes de procura Setembro 2010 IA - Procura 5

Agentes de procura

Agentes de procura Setembro 2010 IA - Procura 5
Tipos de problemas    Determinista, observável  problema com estado único    Agente

Tipos de problemas

Determinista, observável problema com estado único

Agente sabe exactamtente em que estado se encontrará; solução é uma sequência de acções

Não observável problema de conformidade

Agente pode não saber onde está; caso exista, solução é sequência de acções

Não determinista e/ou parcialmente observável problema de contingência

Percepção fornece nova informação acerca do estado corrente Solução é uma árvore ou plano de acção Habitualmente intercala procura com execução

Espaço de estados desconhecido problema de exploração (“online”)

Exemplo: mundo do aspirador    Estado único , início em 5.    Solução:

Exemplo: mundo do aspirador

Estado único, início em 5.

Solução: [Right, Suck]

Conformidade, início em

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

Right transita para {2,4,6,8}

Solução: [Right,Suck,Left,Suck]

Contingência. Lei de Murphy. Suck pode sujar carpete limpa. Percepção local: [A,Clean] Sol: [Right, while dirt then Suck]

limpa. Percepção local: [A,Clean]    Sol : [Right, while dirt then Suck] Setembro 2010 IA
Formulação de problema de estado único Um problema de procura é definido por 4 constituintes:

Formulação de problema de estado único

Um problema de procura é definido por 4 constituintes:

1.

estado inicial e.g., “em Arad"

e.g., S(Arad) = {<Arad Zerind, Zerind>, … }

2.

acções, operadores, função sucessor ou modelo de transição

Função sucessor: S(x) = conjunto de pares acção-estado

Modelo de transição especificado pela função RESULT(s,a)

e.g., RESULT(Go(Zerind),Arad) = Zerind

3.

teste objectivo, pode ser

explícito, e.g., x = “em Bucareste" implícito, e.g., XequeMate(x)

4.

custo do caminho (aditivo)

e.g., soma de distâncias, número de acções executadas, etc. c(x,a,y) é o custo de um passo, sendo 0

Uma solução é uma sequência de accções que partindo do estado inicial permite atingir o estado objectivo

Selecção de um espaço de estados    A realidade é absurdamente complexa  o

Selecção de um espaço de estados

A realidade é absurdamente complexa

o espaço de estados deve ser abstraído para a resolução de problemas

Estado (abstracto) = conjunto de estados reais

Acção (abstracta) = combinação complexa de acções reais

"Arad Zerind" representa um conjunto complexo de rotas.

Para ser concretizável, qualquer estado real “em Arad” deve permite chegar a algum estado real “em Zerind"

Solução (abstracta) =

Conjunto de caminhos reais que são soluções na realidade

Cada acção abstracta deverá ser mais simples do que no problema original!

Grafo de espaços de estados do aspirador    estados? vector booleanos e inteiro Left

Grafo de espaços de estados do aspirador

Grafo de espaços de estados do aspirador    estados? vector booleanos e inteiro Left ,

estados? vector booleanos e inteiro

Left, Right, Suck e NoOp

teste objectivo? tudo limpo custo caminho? número de acções

acções?

(1 por acção,0 para NoOp)

Exemplo: charada de 8    estados? inteiros com localização das peças    acções?

Exemplo: charada de 8

Exemplo: charada de 8    estados? inteiros com localização das peças    acções? 

estados? inteiros com localização das peças

acções?

teste objectivo? = estado objectivo

custo caminho? número de movimentos

movimentar casa nas 4 direcções

(1 por movimento)

[Nota: solução óptima para a famílida de charadas-n é NP-hard]

Exemplo: montagem robótica    estados? Coordenadas reais das articulações do robô e dos objectos

Exemplo: montagem robótica

Exemplo: montagem robótica    estados? Coordenadas reais das articulações do robô e dos objectos a

estados? Coordenadas reais das articulações do robô e dos objectos a montar

acções?

teste objectivo?

custo caminho?

Movimento contínuo das articulações

montagem completa tempo para executar

Espaço de configurações (2 DOF) Setembro 2010 IA - Procura 13

Espaço de configurações (2 DOF)

Espaço de configurações (2 DOF) Setembro 2010 IA - Procura 13
Espaço de configurações (2 DOF) Setembro 2010 IA - Procura 13
Exemplo: caixeiro viajante    estados? sequência de cidades sem repetições    acções? 

Exemplo: caixeiro viajante

Exemplo: caixeiro viajante    estados? sequência de cidades sem repetições    acções?   

estados? sequência de cidades sem repetições

acções?

teste objectivo? custo caminho?

viajar para nova cidade ou voltar à inicial

circuito das cidades distância total

Exemplo: navegação robótica    estados? vértices dos polígonos, posições inicial e final   

Exemplo: navegação robótica

Exemplo: navegação robótica    estados? vértices dos polígonos, posições inicial e final    acções?

estados? vértices dos polígonos, posições inicial e final

acções?

teste objectivo?

custo caminho?

viajar para outro vértice

chegar ao objectivo distância percorrida

Algoritmos de procura em árvores    Ideia básica:    Simulação offline da exploração

Algoritmos de procura em árvores

Ideia básica:

Simulação offline da exploração do espaço de estados através da geração 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

Exemplo de procura em árvore Setembro 2010 IA - Procura 17

Exemplo de procura em árvore

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

Exemplo de procura em árvore Setembro 2010 IA - Procura 18
Exemplo de procura em árvore Setembro 2010 IA - Procura 19

Exemplo de procura em árvore

Exemplo de procura em árvore Setembro 2010 IA - Procura 19
Implementação: estados vs. nós    Um estado é uma (representação) de uma configuração física.

Implementação: estados vs. nós

Um estado é uma (representação) de uma configuração física. Um é uma estrutura de dados constituinte da árvore de procura incluindo o estado, pai, nó, acção, profundidade e custo de caminho acumulado g(x)

acção , profundidade e custo de caminho acumulado g(x)    A função CHILD-NODE cria um

A função CHILD-NODE cria um novo nó a partir do pai e da acção a executar. Estados não têm pais, profundidade ou custo do caminho!

Implementação: procura genérica em árvores function TREE-SEARCH( problem, frontier ) returns a solution, or

Implementação: procura genérica 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)

Estados repetidos    A não detecção de estados repetidos pode tornar um problema linear

Estados repetidos

A não detecção de estados repetidos pode tornar um problema linear num problema exponencial!

detecção de estados repetidos pode tornar um problema linear num problema exponencial! Setembro 2010 IA -
Procura em grafos function GRAPH-SEARCH( explored ← an empty set problem, frontier ) returns a

Procura em grafos

function GRAPH-SEARCH( explored an empty set

function GRAPH-SEARCH( explored ← an empty set problem, frontier ) returns a solution, or failure node

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)

if node.STATE is not in explored then add node.STATE to explored frontier INSERT-ALL(EXPAND(node,problem),frontier)

Esquema genérico! Pode ser melhorado em algumas circunstâncias.

Estratégias de procura    Uma estratégia de procura é definida pela ordem de expansão

Estratégias de procura

Uma estratégia de procura é definida pela ordem de expansão dos nós. As estratégias são avaliadas segundo as dimensões:

completude: encontra garantidamente uma solução, caso exista? complexidade temporal: número de nós gerados complexidade espacial: número máximo de nós em memória optimalidade: encontra sempre uma solução de custo mínimo?

A complexidade temporal e espacial são avaliadas em função de

b: factor de ramificação máximo da árvore de procura d: profundidade da solução de custo mínimo m: profundidade máxima do espaço de estados (pode ser )

Estratégias de procura cegas As estratégias de procura cegas (ou não informadas) recorrem apenas à

Estratégias de procura cegas

As estratégias de procura cegas (ou não informadas) recorrem apenas à informação 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)

Procura em largura primeiro    Expandir um nó de menor profundidade    Implementação

Procura em largura primeiro

Expandir um nó de menor profundidade Implementação: frontier é uma fila FIFO; novos sucessores vão para o fim

   Implementação : frontier é uma fila FIFO; novos sucessores vão para o fim Setembro
Procura em largura primeiro    Expandir um nó de menor profundidade    Implementação

Procura em largura primeiro

Expandir um nó de menor profundidade Implementação: frontier é uma fila FIFO; novos sucessores vão para o fim

   Implementação : frontier é uma fila FIFO; novos sucessores vão para o fim Setembro
Procura em largura primeiro    Expandir um nó de menor profundidade    Implementação

Procura em largura primeiro

Expandir um nó de menor profundidade Implementação: frontier é uma fila FIFO; novos sucessores vão para o fim

   Implementação : frontier é uma fila FIFO; novos sucessores vão para o fim Setembro
Procura em largura primeiro    Expandir um nó de menor profundidade    Implementação

Procura em largura primeiro

Expandir um nó de menor profundidade Implementação: frontier é uma fila FIFO; novos sucessores vão para o fim

   Implementação : frontier é uma fila FIFO; novos sucessores vão para o fim Setembro
Propriedades da procura em largura primeiro    Completa? Sim (se b é finito) 

Propriedades da procura em largura primeiro

Completa? Sim (se b é finito) Tempo? 1+b+b 2 +b 3 +… +b d + b(b d -1) = O(b d+1 ) Espaço? O(b d+1 ) (mantém todos os nós) Optimal? Sim (se custo = 1 por passo)

Espaço é o maior problema (mais do que o tempo) A análise anterior só é válida para procura em árvores!

Requisitos temporais e espaciais da procura em largura Profundidade Nós Tempo Memória 2 110 1,1ms

Requisitos temporais e espaciais da procura em largura

Profundidade

Nós

Tempo

Memória

2

110

1,1ms

107

Kb

4

11 110

111 ms

10,6 Mb

6

10

6

11

seg

1

Gb

8

10

8

19

minutos

103

Gb

10

10

10

31

horas

 

10

Tb

12

10

12

129 dias

1

Petabytes

14

10

14

35

anos

 

99

Petabytes

16

10

16

3500 anos

 

10

Exabytes

b=10 gerando 100000 nós/segundo ocupando 1000 bytes/nó

Procura em Largura Primeiro (optimizada) function BREADTH-FIRST-SEARCH( problem ) returns a solution, or failure

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(b d ) em vez de O(b d+1 )

Procura de custo uniforme    Expandir o nó por tratar de menor custo 

Procura de custo uniforme