Roteiro
Inteligência Artificial
Parte I
Curso de Graduação em Ciência da Computação, UFMA
Prof. Dra. Rosario Girardi
[email protected] http://maae.deinf.ufma.br/rgirardi.html
Introdução Histórico Abordagens da IA IA Agentes Inteligentes Inteligentes Resolução de problemas através da Busca Lógica de Primeira Ordem Programação em lógica e a linguagem Prolog Construindo bases de conhecimento Sistemas de raciocínio lógico Planejamento
2004 / 2 ©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
Livro Texto
Bibliografia Complementar • RICH, E. e KNIGHT, K. Inteligência Artificial, 2.ed, Ed. Makron Books do Brasil, Brasil, São Paulo, 1994. • WISTON, P. H Inteligência Artificial, Livros Técnicos e Científicos Editora, Rio de Janeiro, 1987. • BITTENCOURT, Guilherme. Inteligência Artificial. Ferramentas e Teorias. UNICAMP, 1996, p. 163-170. • BARR, A., COHEN, A. e FEIGENBAUM, E. The Handbook of Artificial Intelligence, M Kaufmann, 1981.
RUSSEL, S. e NORVIG, P. Artificial Intelligence: A Modern Approach., Prentice Hall, , Inc., 1995. Português – ed. Campus Versão em Português –
©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
2
3
©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
4
Inteligência Artificial (IA)
Parte I
Ciência que estuda o fenômeno da Inteligência
estudo da inteligência em computadores e através deles, nas pessoas
Objetivo:
Introdução e histórico
Compreender, modelar e simular a inteligência ;
estudar estudar se os computadores computadores podem pensar e como construir computadores que pensem
Construir sistemas inteligentes inteligentes
©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
6
Definições
O que´e a Inteligência ?
Conjunto de técnicas para construir máquinas “inteligentes”, capazes de resolver problemas complexos. (Nilson).
Tecnologia de Processamento da Informação que envolve processos de raciocínio, aprendizado e percepção. (Winston)
©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
7
IA & Informática
Percepção
Resolução de Problemas Tomada de decisão
Compreensão
Aprendizagem
Ramo da Informática que tenta simular comportamentos humanos inteligente inteligentes s.(Luger e Stubble).
Atingir objetivos
8
©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
IA & as Ciências Humanas Psicologia
Bases de Dados
Inteligência Artificial
Inteligência Artificial
Engenharia de Software
Linguistica
Lógica Matemática Filosofia Sociologia
Informática
©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
9
Um programa tradiciona tradicionall só pode fornecer fornecer respostas às situações para as quais ele ele foi concebido
Um sistema de IA pode fornecer respostas para situações não previstas
©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
10
Introdução
IA vs Informática Clássica
©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
11
Estudo da Inteligência é uma das disciplinas mais antigas Formalmente a área foi criada em 1956 quando o nome foi cunhado Filosofia Filosofia - por 2000 anos anos como ver, apreender, recordar e raciocinar pode ser realizado? Nos anos 50 passou-s passou-se e à prática prática com a criação do computador ©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
12
O que é Inteligência Artificial?
Abordagens da IA Desempenho Capacidade de humano raciocínio
Dimensões
Pensamento vs. Comportamento Humano vs. Racional
Processos mentais Sistemas que e de raciocinio pensam como PENSAMENTO Comportamento AÇÃO
©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
13
Sistemas que pensam como os humanos
©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
“O novo esforço excitante de fazer os computadores pensar ... maquinas com mentes, no sentido completo e literal” (Haugeland, 1985) “A automação de atividades que associamos com o pensamento humano, atividades como tomada de decisão, resolução de problemas, aprendizado...” (Bellman)
abordagem de Psicologia cognitiva
como funciona a mente humana
15
introspecção psicologia experimental
Psicologia cognitiva
©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
14
Pensam como os humanos
humanos Sistemas que atuam como humanos
Sistemas que pensam racionalmente Sistemas que atuam racionalmente
técnicas experimentais da psicologia, para a construção de teorias sobre o funcionamento da mente humana ©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
16
Processos cognitivos
Psicologia cognitiva Evolução humana bem sucedida devido a faculdades mentais para uso e acceso à informação
Mente
Processador de Informação
©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
17
Sensação e percepção da informação de entrada Atenção à informação relevante Armazenamento em memória de corta duração enquanto é processada Aquisição de habilidades complexas Produção lingüística de saída oral ou escrita Resolução de problemas para tomar ações apropriadas Planejamento de seqüência de ações
©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
18
Abordagens da IA
Limitações dos processos cognitivos
Desempenho humano
Miller (1956)
5 a 9 elementos recordáveis em corto tempo
Processos mentais Sistemas que e de raciocinio pensam como
sensitivas ao contexto
complexidade
PENSAMENTO
familiaridade
possibilidade de ser discriminados
Comportamento AÇÃO
©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
19
Sistemas que pensam racionalmente
abordagem das leis do raciocínio Aristóteles
leis do pensamento certo - processos de raciocínio irrefutável silogismos
21
Pensam racionalmente
Socrates é um homem; todos os homens são mortais; por isso, Socrates é mortal
padrões para estruturar argumentos que levam a conclusões corretas dadas as premissas corretas leis que governam as operações mentais que deram origem a Lógica
©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
desde 65 - dada a descrição de um problema em notação lógica, encontravam, si existia uma solução ao problema
obstáculos
Desempenho Capacidade de humano raciocínio Processos mentais Sistemas que e de raciocinio pensam como PENSAMENTO
dificuldade de formalizar conhecimento diferença entre teoria e prática (recursos computacionais) ©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
22
Abordagens da IA
Abordagem lógica
20
Pensam racionalmente
“O estudo das faculdades mentais através de modelos computacionais” (Charniak e Mcdermott, 1985) “O estudo das operações que fazem possível perceber, raciocinar e atuar” (Wiston, 1992)
©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
humanos Sistemas que atuam como humanos
Sistemas que pensam racionalmente Sistemas que atuam racionalmente
©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
Capacidade de raciocínio
Comportamento AÇÃO
23
humanos Sistemas que atuam como humanos
Sistemas que pensam racionalmente Sistemas que atuam racionalmente
©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
24
Sistemas que atuam como humanos
Atuam como humanos
“A arte de criar máquinas que realizam funções que requerem inteligência quando realizadas por humanos”( Kurzweil, 1990) “O estudo de como fazer os computadores fazer coisas nas quais, no momento, as pessoas são melhores”( Rich e Knight, 1991)
Máquina Inteligente
“Um computador é inteligente se ele parece humano para o homem”
A. Turing
25
©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
Teste de Turing
Teste de Turing
B
C Sistema Intermediário
Máquina
Homem
1950 Os indivíduos A, B e C estão separados fisicamente Eles se comunicam via um sistema intermediário
Interrogador
A
©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
Para passar o teste:
Computador precisa também:
computador com as seguintes capacidades
28
Teste de Turing total
O objetivo do Interrogador é descobrir quem (B ou C) é a máquina.
A máquina é “inteligente” se o interrogador é incapaz de descobrir quem (B ou C) é a máquina
27
Atuam como humanos
26
Visão por computador para perceber objetos Robótica para mover esses objetos
processamento de linguagem natural representação de conhecimento raciocínio automático aprendizado de máquina
©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
29
©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
30
Sistemas que atuam racionalmente
Abordagens da IA
Desempenho Capacidade de humano raciocínio
Processos mentais Sistemas que e de raciocinio pensam como PENSAMENTO Comportamento AÇÃO
humanos Sistemas que atuam como humanos
Sistemas que pensam racionalmente Sistemas que atuam racionalmente
©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
31
Atuam racionalmente
processamento de linguagem natural
representação de conhecimento
©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
para raciocinar a partir dele e tomar decisões
visão
33
para lidar com a complexidade do mundo
raciocínio automático aprendizado de máquina
parte de ser um agente racional não é única forma de atuar racionalmente (ações reflexas)
geração de estratégias cada vez mais efetivas conseqüências de determinada ação
©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
Abordagens da IA
Processo mentais e de raciocinio Comportamento
32
todas as destrezas cognitivas do teste de Turing são necessárias para suportar comportamento racional
alcançar seus objetivos de acordo com as suas crenças
inferência
©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
Atuam racionalmente
abordagem de agentes racionais atuar racionalmente
“Um campo de estudo que tenta explicar e emular comportamento inteligente em termos de processos computacionais” (Schalkoff, 1990) “O ramo da ciência da computação que esta preocupada com a automação do comportamento inteligente” (Luger e Stubblefield, 1993)
Desempenho humano
Capacidade de raciocinio
Sistemas que pensam como humanos Sistemas que atuam como humanos
Sistemas que pensam racionalmente Sistemas que atuam racionalmente
©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
Histórico
35
34
Principais eventos da IA
Os Começos da IA
desenvolvimento do computador eletrônico em 1941 disponibilizou a tecnologia para criar inteligência de máquina
termo inteligência artificial - 1956, à conferência de Dartmouth. Norbert Wiener - princípio de teoria da retroalimentação (“feedback”) comportamento inteligente era o resultado de mecanismos de retroalimentação mecanismos que poderiam ser simulados possivelmente através de máquinas
©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
37
Os Começos da IA
©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
Expansão do conhecimento
1955, Newell e Simon desenvolveram “O Teorista da Lógica” - o primeiro programa de IA. O programa, enquanto representando cada problema como um modelo de árvore, tentaria resolver isto selecionando a rama que resultaria provável na conclusão correta.
38
1956, John McCarthy, considerado o pai da AI, organizou uma conferência entre interessadas por inteligência de máquina ("The Dartmouth summer research project on artificial intelligence.") o campo seria conhecido como inteligência artificial. a conferência de Dartmouth reuniu os fundadores em AI, e serviu pôr a base para o futuro da pesquisa da AI.
Carnegie Mellon e MIT criam centros para pesquisa na AI 1957, a primeira versão do General Problem Solver (GPS) foi testado.
extensão do princípio de feedback de Wiener - capaz de resolver uma maior extensão de problemas
©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
1958 - McCarthy anunciou o desenvolvimento da linguagem LISP
39
Expansão do conhecimento
©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
40
A Multidão de programas
1963 o MIT recebeu 2.2 milhões de dólares, concessão do governo de Estados Unidos - Department of Defense's Advanced research projects Agency (ARPA) para pesquisa na Cognição ajudada por computador (inteligência artificial) para assegurar que o EUA ficaria à frente da União soviética em avanços tecnológicos.
SHRDLU parte do projeto de microworlds
pesquisa e programação em mundos pequenos (como com um número limitado de formas geométricas).
MIT - Marvin Minsky, demonstraram que quando limitados a um domínio pequeno, os programas de computação poderiam resolver problemas espaciais e problemas de lógica.
©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
41
©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
42
A Multidão de programas
A Multidão de programas
durante os 60 STUDENT - resolver problemas de álgebra SIR - entender orações de inglês simples resultado destes programas
1986-87 a demanda em sistemas de AI desceu, e a indústria perdeu quase um a metade de um bilhão de dólares e o financiamento de projetos de pesquisa também desceu.
avanço na compreensão da linguagem natural e da lógica.
nos 70 advento dos sistemas especialistas.
90 - Agentes inteligentes
predizem a probabilidade de uma solução segundo um determinado conjunto de condições mercado de valores, diagnosticar doenças, e para instruir os mineiros a localidades minerais promissores.
teoria dos marcos (“frames”) de Minsky. a linguagem PROLOG. ©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
43
©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
44
Paradigmas de desenvolvimento
O paradigma computacional de agentes
Metáfora (abstração) de modelagem Metodologia de desenvolvimento
Estruturado (procedimentos e funções) Orientado a objetos Orientado a agentes
©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
Complexidade do software
Sistema multiagente Um sistema formado por vários agentes que trabalham de forma cooperativa para atingir uma meta
Estruturado Mundo real Sistemas abertos, distribuídos
46
Decomposição Orientado a objetos Abstração Interações flexíveis
Mundo computacional
Orientado a agentes
©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
47
©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
48
Aplicações
Aplicações
Aplicações Industriais
Controle de Tráfego Aéreo (OASIS-dMARS) Controle de Manufatura (Parunak) Controle de Processos (Automação Industrial) Distribuição de Energia Elétrica (ARCHON) Controle de Espaçonaves Monitoração de Usinas Nucleares Telecomunicações Sistemas de Transporte ©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
Gerência de Informações Filtragem e recuperação de Informações Comércio Eletrônico Software Educativo Interface Humano-Computador Modelagem de usuários
49
Aplicações
Aplicações Comerciais
©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
50
Agentes Percepções
Aplicações Médicas Monitoração de Pacientes Entretenimento Jogos Cinema Interativo Simulação Social Simulação de Sociedades (inclusive humanas)
Sensores
?
Ambiente
Agente
Ações Executores
Ciências Sociais: da sociologia à economia, da psicologia social à teoria das organizações e ciências políticas
Simulação de Organizações (interesse comercial também). Objetivos
Compreender determinada situação (em uma sociedade) e sua origem Prever comportamentos futuros ©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
51
Propriedades desejadas dos agentes
Autonomia
function Skeleton-Agent( percept ) returns action static: memory , the agent’s memory of the world memory Update-memory(memory, percept ) action Choose-Best_action(memory ) memory Update-memory( memory, action ) return action
A ção que fun Afunç função queimplementa implementaoo mapeamento mapeamentodo doagente agentedas das percepç ç ões à s aç ç ões percep a percepções às ações
©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
52
Do nível global ao detalhado Arquiteturas (tipos) de agentes Arquiteturas de sistemas multiagentes
O que os distingue dos objetos
Sociabilidade Capacidade de aprendizado
©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
53
©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
54
Agente Racional
ARQUITETURA DE UM AGENTE
Demonstra o projeto detalhado de cada agente, sua estrutura e como os módulos que o compõem podem interagir
Realiza a coisa certa (bem sucedido)
Sucesso: grau e quando Medida de desempenho –
Racionalidade depende de:
©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
simples com estado
Deliberativos ou racionais
57
baseados em metas baseados na utilidade
©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
58
CLASSIFICAÇÃO - Russel e Norvig
Russel e Norvig Weiss GESEC
©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
56
Reativos ou reflexivos
Classificação das arquiteturas detalhadas
©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
TIPOS DE AGENTES
Para cada seqü seqüência de percepç percepções possí possível, um agente racional ideal deve tomar qualquer ação esperada para maximizar sua medida de desempenho tendo como base a evidência fornecida pela seqü seqüência de percepç percepção (historico) e qualquer conhecimento que o agente tenha Um agente racional é autonomo
©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
Medida de Desempenho Seqü Seqüência de percepç percepções (histó (histórico) Conhecimento sobre ambiente Aç Ações que podem ser realizadas
55
Agente Racional Ideal
Ex. aspirador de p ó
59
Agentes Reflexivos Agentes Reflexivos com estado Agentes baseados em metas Agentes baseados na utilidade
©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
60
Agentes Reflexivos
Agentes reflexivos com estado function Reflex-Agente-With-State( percept ) returns action static: state, a description of the current world state rules , a set of condition-action rules
function Simple-Reflex-Agent( percept ) returns action static: rules , a set of condition-action rules state Interpret-Input( percept ) rule Rule-Match(state, rules ) action Rule-Action(rule ) return action
state Update-State(state, percept ) rule Rule-Match( state, rules ) action Rule-Action(rule ) state Update-State(state, action )
return action
61
©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
Agente baseado em metas
©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
62
Agente baseado na utilidade
Function Goal-Based-Agent ( percept ) returns action static: state, a description of the current world state
Function Utility-Based-Agent ( percept,utility ) returns action static: state, a description of the current world state
state Update_State(state, percept ) goal Define_Goal(state ) action Get_Action_From_Plan ( goal ) state Update_State(state, action )
state Update_State(state, percept ) goal Define_Goal( state ) action Get_Action_From_Plan ( goal,utility ) state Update_State(state, action )
return action return action 63
©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
Aspirador Universal – um exemplo de agente deliberativo
©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
CLASSIFICAÇÃO
sujeira
(0,2)
sujeira
Por Weiss
(1,2)
(2,2)
(0,1)
(1,1)
(2,1)
(0,0)
(1,0)
(2,0)
©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
64
65
Arquitetura baseada em Lógica Arquiteturas reativas Arquiteturas em camadas Arquiteturas de crença, desejo e intenção (BDI)
©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
66
Arquiteturas Reativas
Arquitetura baseada em Lógica
Módulo Competente
• Contém um modelo simbólico do mundo • Decisões feitas via Raciocínio lógico. Sensores
Saída
Executor
Módulo Competente
Planejar
Programar
Atuadores
Entrada
(ações)
Saída
(percepções)
Interações
Intenções Metas Aspirações
“Raciocinador”
Administrador
Entrada (percepções)
• Não Possui modelo simbólico central, nem utiliza raciocínio lógico • Módulos responsáveis por uma tarefa definida. • Maior Tolerância a erros.
Base de Conhecimento (modelo simbólico do ambiente)
Informação
(ação) Módulo Competente
67
©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
68
Arquiteturas BDI
Arquiteturas em Camadas Ação Saída
Percepção Entrada
Camada n
Camada n
Camada n
...
...
...
Camada 2
Camada 2
Camada 1
Camada 1
Camada 2
Ação Saída
Camada 1
Percepção Entrada (b) Vertical
(a) Horizontal
(um controle de passagem)
Percepção Entrada
Baseadas em três estados mentais fundamentais:
Ação Saída
(c) Vertical (dois controles de passagem)
Fluxo
de Controle Horizontal Fluxo de Controle Vertical • Arquitetura de uma passagem • Arquitetura de duas passagem ©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
69
Crenças - visões que o agente possui sobre o
ambiente em que ele se encontra. Desejos - representam o estado motivacional do sistema Um estado mental é motivador se é um mecanismo ou representação que tende a produzir, modificar ou selecionar ações à luz das crenças. Intenções - representam os componentes deliberativos do sistema, que servem para decidir o curso de ação que deve ser tomado pelo sistema. ©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
70
Sensor Entrada Função revisão de crença
Processo
Processo de Raciocínio Prático Crença
Tentar entender as opções que se tem disponíveis Optar e comprometer-se com uma delas, esta escolha vem a ser sua intenção. Busca-se então tentar alcança-lá, persistindo nesta busca. Ocorre um processo de restrição do raciocínio prático futuro Estas intenções estão relacionadas com as crenças sobre o futuro.
• Gera uma lista de opções • Seleciona um subconjunto dessas opções para adoção • Se existe uma ação atômica que pode ser executada dentro da estrutura de intenção, ela é, então, executada • Então, se um agente satisfaz uma intenção ou decidiu que uma intenção não pode ser satisfeita mais adiante, tal intenção é abandonada. • Atualiza as crenças dos agentes e repete a partir do ponto 1
Função geração de opções
Desejo
Função filtro
Intenção
Ação
©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
71
Ação ©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html Saída
72
Arquitetura de Agentes Deliberativas
- baseadas Lógica - BDI - Intencionais
Reativas
- Reflexivas
Exemplo BDI
©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
Outros Nomes e Variações
Possui um modelo simbólico do mundo Decisões são tomadas via raciocínio lógico. Possui um conjunto de metas e intenções, onde é elaborado um plano baseando-se nessas metas. Possui certas restrições sobre a construção do modelo simbólico. Agentes complexos. Sem modelo simbólico central Decisões tomadas são implementadas em alguma forma de mapeamento direto da situação para a ação, são usadas regras de condição/ação.
Híbridas
Mistura de componentes das arquiteturas Deliberativas e Reativa.
Em camadas
Decisões tomadas via várias camadas de software.
73
KENDALL/GESEC – Agente deliberativo
em
Descrição
©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
74
KENDALL/GESEC – Agente deliberativo
Mobilidade
Podem não estar presentes
Tradução
camada Sensitiva
camada de Crenças
camada de Raciocínio
camada de Ação
camada de Colaboração
Colaboração
Ações
Raciocínio
Crenças
75
GESEC – Agente reativo
agente determina sua abordagem para cooperar ou trabalhar com outros agentes e formula mensagens para outros agentes agente formula mensagens para agentes de outra sociedade multiagente, traduzindo-as para outras semânticas permite a migração real e virtual dos agentes. ©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
camada Sensitiva
camada de regras
camada de Ação
camada de Colaboração
Tradução
Colaboração
Ação
Regras
76
Sensitiva
Seleciona uma regra a partir da percepção Executa a ação selecionada na camada de regras agente determina sua abordagem para cooperar ou trabalhar com outros agentes e formula mensagens para outros agentes agente formula mensagens para agentes de outra sociedade multiagente, traduzindo-as para outras semânticas
camada de Mobilidade
77
agente percebe o seu ambiente através de sensores
camada de Tradução
©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
cumpre um plano selecionado pela camada de Raciocínio
GESEC – Agente reativo
Mobilidade
Podem não estar presentes
agente determina o que fazer
camada de Mobilidade
©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
agente mantém modelos de seu ambiente e de si mesmo
camada de Tradução
Sensitiva
agente capta o seu ambiente através de sensores
permite a migração real e virtual dos agentes. ©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
78
Classificação das arquiteturas dos sistemas multiagente
Do nível global ao detalhado
Arquiteturas (tipos) de agentes Arquiteturas de sistemas multiagentes
©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
79
Classificação das arquiteturas dos sistemas multiagentes quanto ao funcionamento
©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
Cooperação entre agentes
partilha de tarefas e/ou partilha de resultados quadro-negro troca de mensagens federativa
Coordenação de agentes
maneira com que os agentes estão organizados a fim de cooperar para alcançar um objetivo comum ao sistema
81
mensagens podem ser de dois tipos:
©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
consulta
um agente envia uma pergunta para um outro agente.
83
os agentes se conhecem e, por isso, trocam informações diretamente entre si
Comunicação indireta
resultado da consulta, ou seja, o agente que recebeu uma consulta envia uma resposta ao agente que solicitou a consulta
©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
82
Comunicação direta
afirmação
linguagem de comunicação entre agentes (ACL) suporte aos mecanismos de coordenação e cooperação
Tipos de comunicação
Troca de mensagens entre agentes
80
importante característica que os agentes devem possuir para que possam cooperar e interagir é necessária uma linguagem de comunicação que seja comum a todos os agentes que vivem em sociedade. KQML (Knowledge Query and Manipulation Language)
Mestre – escravo Mecanismo de mercado
©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
Arquitetura simples Arquitetura moderada Arquitetura complexa
Comunicação entre agentes
Quanto ao funcionamento
Quanto a complexidade:
os agentes não se conhecem e, desta maneira, a comunicação ocorre através de uma estrutura de dados compartilhada
©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
84
Arquitetura quadro-negro
Arquitetura de troca de mensagens
quadro-negro
meio de interação entre os agentes, onde estes escrevem e lêem mensagens que serão usadas para atingir o objetivo do sistema
©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
86
duas classes de agentes
os gerentes (mestres) e os trabalhadores (escravos)
©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
88
Ferramentas
os agentes estão em um mesmo nível e sabem as tarefas que cada agente é capaz de desempenhar os agentes podem ser classificados como produtores e consumidores e são utilizados para maximizar lucros através de um processo de negociação
©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
87
Arquitetura Mecanismo de mercado
©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
Arquitetura Mestre – escravo
Os agentes da sociedade são divididos em grupos ou federações segundo um critério de agrupamento escolhido, e junto a cada grupo existem os agentes facilitadores
©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
Cada agente sabe os nomes e endereços de todos os agentes
85
Arquitetura Federativa
Os agentes se comunicam diretamente através de mensagens
89
ZEUS AGENTBUILDER JADE
©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
90
Resolução de Problemas Através de Busca
Agentes para Resolução de Problemas
Resolução de Problemas Através de Busca
Decidem o que fazer pela busca de ações que levem a estados desejáveis Um tipo de agente baseado em metas
Resolução de Problemas Através de Busca
Resolução de Problemas Através de Busca
1eiro passo: Formulação da Meta
Conjunto de estados do mundo nos quais os objetivos são alcançados
2do. passo: Formulação do Problema
As ações dos agentes reflexivos estão limitadas só a percepção atual. Estes agentes não tem conhecimento de suas ações nem dos objetivos que querem atingir
Que aç ações e estados devem ser considerados e com que ní nível de detalhamento? Problema=estados+aç Problema=estados+ações
As ações causam transições entre os estados do mundo. O agente tem que achar que ações levam ao estado objetivo
Agente para Resolução de Problemas Através de Busca
Busca – Examinar a seqü seqüência de aç ações que levam a estados objetivos e depois escolher o melhor – Ex. achar caminho de São Luis a Imperatriz – Estados: estância em uma cidade em particular – A – Açções: associadas à conduç condução entre uma cidade e outra
Algoritmo de busca
function SIMPLE-PROBLEM-SOLVING-AGENT(p) returns action inputs: p, a percept static: s, an action sequence, initially empty state, some description of the current world state g, a goal, initially null problem, a problem formulation
Problema
Solução Algoritmo de busca
state <= UPDATEUPDATE-STATE(state, p) if s is empty then g <= FORMULATEFORMULATE-GOAL(state) problem <= FORMULATEFORMULATE-PROBLEM(state, PROBLEM(state, g) s <= SEARCH( problem) action <= RECOMMENDATION(s, state) s <= REMAINDER(s, state) return action
(seq. de ações) Formulate Search Execute
Formulação de Problemas
Problemas de um único estado
Tipos de problemas
Único estado Múltiple estado Problemas de contingência Problemas de exploração
Problemas de estados múltiplos As informações sobre o mundo não estão disponíveis O agente conhece o efeito de suas ações O agente raciocina sobre conjuntos de ações que atigem o estado objetivo independentemente do estado inicial Lei de Murphy (as vezes ao aspirar se deposita poeira – sí esta limpo)
Problemas de exploração
O agente não tem conhecimento dos efeitos de suas ações (ex. recém nascidos) O agente deve explorar, experimentar
Descobrir os efeitos de suas ações e os possíveis estados existentes
O agente sabe em que estado esta O agente sabe o resultado de cada ação O agente pode calcular uma seqüência que o leva a meta
Problemas de contingência
Estes problemas requerem percepção durante a execução O agente deve calcular uma arvore de ações
Cada rama da árvore se corresponde com uma contingência)
Ex. Dirigir um carro
Problemas clássicos da vida real
Problemas e soluções bem definidos
Problema informações que o agente usa para decidir o que fazer problema = estado + ações Estado inicial Operadores Espaço de estados Conj. de todos os estados atingíveis a partir do estado inicial através de qqer seq. de ações Caminho - seq. de ações que levam de um estado a outro Teste de objetivo Solução - Caminho do estado inicial até a meta
Problemas e soluções bem definidos
Formulação de Problemas
datatype PROBLEM components: INITIAL_STATE {conj. de estados iniciais} OPERATORS, {possíveis ações do agente} GOAL_TEST, {teste de objetivo} PATH_COST_FUNCTION {função que atribui um custo a um caminho}
Definição do problema de aspirar datatype PROBLEM components: INITIAL_STATE {1,...,7,8} OPERATORS, {esq,dir,asp} GOAL_TEST, estado = {7,8} PATH_COST_FUNCTION {nro movs do aspirador}
Problemas e soluções bem definidos
Podem existir várias soluções, mas podem preferir-se caminhos com ações menos custosas As instancias do tipo de dados PROBLEM são as entradas dos algoritmos de busca
©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
Medindo o desempenho da busca 3 aspetos: 1 - Encontra uma solução? 2 - É uma boa solução?
Custo do caminho (caminho mais barato)
3 - Qual o custo da busca?
tempo e memória
106
Exemplo – Puzzle de 8 nros ESTADO INICIAL: ARAD; ESTADO OBJETIVO: BUCHAREST Operadores: ações de conduzir através das rotas (ESCOLHER ROTA, CONDUZIR ATÉ PROXIMA CIDADE) VARIAS SOLUÇÕES COMO SE MEDE O CUSTO DO CAMNIHO (KMS OU TEMPO DE VIAGEM) Em ex. custo do caminho = nro de tramos MELHOR SOLUÇÃO {Arad, Sibiu, Fagaras, Bucarest} Custo de caminho = 3 A FORMULAÇAO ADEQUADA DO PROBLEMA PERMETE REDUZIR O ESPAÇO DE BUSCA ©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
109
Exemplo – O problema das 8 rainhas INITIAL_STATE (localização de cada nro e do branco) OPERATORS (branco a ezq, dir, acima ou abaixo) GOAL_TEST (estado coincide com o mostrado na figura) PATH_COST (nro. De movs, cada mov custa 1)
©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
Colocar as 8 rainhas no tabuleiro de forma que nenhuma rainha ataque a outra
Uma rainha ataca uma outra na mesma fila, coluna ou diagonal
Dois tipos de formulações
Incremental (colocar as rainhas uma a uma) Colocar as 8 rainhas no tabuleiro e move-as)
111
Buscando uma solução INITIAL_STATE (qqer arranjo de 8 rainhas no tabuleiro) OPERATORS (colocar uma rainha em qqer localização) GOAL_TEST (8 rainhas no tabuleiro, não atacáveis) PATH_COST (zero)
Ex. Mapa rodoviário - achar caminho Árvore de busca
Ex. Do aspirador
©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
Gerar novos estados
INITIAL_STATE (um dos 8 mostrados na fig.) OPERATORS {esq, dir, aspirar} GOAL_TEST (sem poeira a esq, sem poeira a dir) PATH_COST: cada ação custa 1
Expandir um nó
Estratégia de busca
113
Nó raiz = estado inicial
Seleção de que nós expandir primeiro
Algoritmo de busca
function GENERALGENERAL-SEARCH( problem, strategy) returns a solution, or failure initialize the search tree using the ini tial state of problem initial loop do if there are no candidates for expansion then return failure choose a leaf node for expansion according to strategy if the node contains a goal state then return the corresponding solution else expand the node and add the resulting nodes to the search tree end
Estrutura de Dados para Árvores de Busca Um nó tem: – O estado ao qual corresponde – O nó pai – O operador aplicado – A – A profundidade da árvore – O custo do caminho da raiz at é o nodo
Datatype node Components: STATE, PARENT_NODE, OPERATOR, DEPTH, PATH-COST
©2004 Rosario Girardi – http://maae.deinf.ufma.br/rgirardi.html
Estrutura de Dados para Árvores de Busca Fronteira - nós esperando para serem expandidos Estratégia - função que seleciona o próximo nó a ser expandido da fronteira Fronteira implementada como uma fila Conj. de nós
Estratégia de Busca Critérios de avaliaçao – Completitude – Se existe uma soluç solu ção, ela ser á achada – Complexidade de Tempo – quanto leva achar a solu ção (fazer a busca) – Complexidade de Espa ço – quanta memó memória – Otimalidade – encontra a melhor solu ção
118
Busca sem informação (“cega”)
Não existe informação do custo do caminho do estado inicial ao estado objetivo Estratégias segundo a ordem em que os nós são expandidos em amplitude
simples, pelo custo uniforme
em profundidade
Busca em Amplitude O nó raiz é expandido primeiro Todos os nós gerados são expandidos Todos os sucessores dos antecessores são expandidos e assim sucessivamente Resumindo: os nós de profundidade d são expandidos antes dos de profundidade d +1
simples, limitada, iterativa
Busca em Amplitude
Exemplo: Requisitos de memória e tempo (b=10)
Fator de Ramificação quantidade de tempo e memória fator de ramificação (b) máximo nro. de nós a serem expandidos para uma solução de profundidade d 1 + b + b 2 + b3 + b4 + … bd
Busca em amplitude pelo custo uniforme
Depth 0 2 4 6 8 10 12 14
Nodes 1 111 11,111 106 108 1010 1012 1014
Time 1 millisecond .1 seconds 11 seconds 18 minutes 31 hours 128 days 35 years 3500 years
Memory 100 bytes 11 kilobytes 1 megabyte 111 megabytes 11 gigabytes 1 terabyte 111 terabytes 11,111 terabyte
Expande primeiro o nó de menor custo g(n) g(n) - suma dos custos de cada tramo no caminho Solução mais barata se g(sucessor(n))>g(n) não existem custos de tramos negativos
Busca em Profundidade Exemplo de Rota –Ir de S para G
Sempre expande o nó de maior profundidade Quando a busca chega num nó sem sucessores o algoritmo expande um nó com menor profundidade Requer pouca memória m => profundidade máxima b => fator ramificação bm => necessidade de armazenamento
Busca em Profundidade Limitada Limitar a profundidade da busca Complexidade – Tempo o(bL) – Espaço o(bL)
Busca Iterativa
Teste de todos os possí possíveis limites
Busca Bidirecional
Para frente do nó inicial Para trás do nó meta Solução encontrada em O (b d/2)
Busca Bidirecional
Requer geração de predecessores Se operadores reversíveis a estratégia é fácil Existem casos difíceis Deve existir forma eficiente de checar cada nó novo na outra metade
Comparação Criterion Time Space Optimal? Complete?
Breadth- Uniform- DepthFirst Cost First bd bd b m bd b d bxm Yes Yes No Yes Yes No
DepthLimited b l bxl No Yes, if b>d
Deepening Iterative bd bxd Yes Yes
Bidirectional (if applicable) bd/2 bd/2 Yes Yes