IA Clássica x IA Distribuída (I)
Inteligência Artificial Clássica – IA:
Inteligência: comportamento humano individual. Origem psicológica;
Representação do conhecimento (simbólica, neuronal);
Redução do espaço de busca / Analogias;
IA Clássica x IA Distribuída (II)
Inteligência coletiva: porque pensar a inteligência como propriedade de um único indivíduo?
Não existe inteligência em:um time de futebol? um formigueiro?uma empresa?na sociedade?
IA Distribuída
Inteligência Artificial Distribuída – IAD:
Inteligência: comportamento social. Origem sociológica e etologia;Cooperações, interações e fluxo de conhecimento;Inteligência coletiva;
IA Distribuída - Conceito
Sistemas de Inteligência Artificial Distribuída são a classe de sistemas que permite a vários processos autônomos, chamados agentes, realizarem atos de inteligência global.
Os agentes utilizam somente processamento local e comunicação inter-processos.
A meta dos sistemas IAD é poder coordenar atividades de grupo resolvendo problemas que os sistemas compartilham - totalmente ou em parte.
Benefícios IAD (I)
Os benefícios da IAD são similares aos benefícios derivados de ter um grupo de pessoas trabalhando juntas para resolver problemas.
Problemas que são muito extensos para um só especialista resolver, pode ser resolvido por um grupo;
Benefícios IAD (II)
• Mais Poder de Computação e Hardware mais barato;
• Maior Segurança e Tolerância a Falhas;
• Mais agilidade na resolução de sistema com a aplicação do paralelismo;
• Múltiplas Perspectivas;
• Melhor performance em problema com vários domínios e que podem envolver dados fisicamente distribuídos.
Paralelismo
Nove autores são capazes de escrever um livro mais rápido que somente um autor sozinho.
Mas nove mulheres grávidas não conseguem dar a luz a um filho mais rápido que uma sozinha.
Paralelismo – Prolog (I)
No Prolog temos casos em que o paralelismo ajuda, e outros não:
Algumas cláusulas OU podem ser executas em paralelo, juntando o resultado final;
Da mesma forma, algumas cláusulas E podem ser executadas em paralelo;
Outras cláusulas que compartilham variáveis não podem ser satisfeitas independentemente.
Paralelismo – Prolog (II)
Identifique quais das cláusulas abaixo podem ser executadas em paralelo ou não, e porque:
tio (X,Y): - mae (Z,Y), irmaos (X,Z);tio (X,Y):- pai (Z, Y), irmaos (X,Z);
rico(X):- rendaAlta(X), semDívidas(X), patrimonio(X);
avo(X,Y):- genitor(X,Z), genitor (Z, Y);
Agentes (I)
Um agente inteligente é uma peça de software que executa uma determinada tarefa empregando informação extraída de seu ambiente.
Podem ser entidades reais ou virtuais imersas num ambiente sobre o qual são capazes de agir.
Diferem das noções estáticas tais como módulos, conjunto de regras e bases de conhecimentos.
Juntos, agentes resolvem problemas complexos.
Agentes (II)
Inspiração biológica: cada agente contribui para o todo. O comportamento individual pouco conta, importa o comportamento coletivo;
“O resultado final é maior que a soma das partes”
Agentes (III)
Exemplo:
• Molécula de água, H2O: 2 átomos de hidrogênio e 1 átomo de oxigênio;
• Hidrogênio e oxigênio são inflamáveis;
• A água apaga o fogo.
O todo tem propriedades que as partes não possuem.
Agentes - Características
Autonomia - escolhe a ação a tomar baseado mais na própria experiência do que no conhecimento embutido pelo projetista.
Reatividade - reage aos estímulos do ambiente.
Proatividade - além de responder a estímulos, exibe um comportamento de prever como atingir ou evitar um determinado estado ou objetivo.
Comunicação - troca informações com o ambiente e com os outros agentes;
IAD – Sub-áreas
A IAD pode ser dividida em duas áreas de pesquisa:
• Resolução Distribuída de Problemas (Distributed Problem Solving - DPS)
• Sistemas Multiagentes (Multiagent Systems - MAS)
Resolução Distribuída de Problemas (I)
Se caracteriza por ter como objeto principal o problema a ser resolvido:
• Problemas que requerem “esforço coletivo”;
• Distribuição de tarefas;• Distribuição de conhecimento
(resultados);
PROBLEMA
SOLUÇÃO
AGENTES
EXECUÇÃO
Resolução Distribuída de Problemas (II)
Motivações:• Velocidade da resolução do problema:– Ex.: distribuição de uma aplicação em várias
máquinas;• Especialização inerente ao problema:– Ex.: monitoramento de uma grande área geográfica;
• Necessidade dos resultados serem distribuídos:– Ex.: Entrega distribuída.
Resolução Distribuída de Problemas (III)
Exemplo: Contract Net
Sistemas Multiagentes (I)
“Sistemas Multiagentes (SMA) são sistemas compostos por múltiplos elementos computacionais interativos (agentes).
Agentes possuem duas habilidades fundamentais: (1) decidir por si próprios o que devem fazer para satisfazer seus objetivos de projeto e (2) interagir com outros agentes de forma social (...)”.
(Michael Wooldridge, 2002)
Sistemas Multiagentes (I)
Agentes podem preexistir ao problema.
Cada agente possui informação e/ou capacidades incompletas.
Não há um sistema de controle global.
Dados descentralizados.
Computação assíncrona.
AGENTES
PROBLEMA
SOLUÇÕES
EXECUÇÃO
SMA – Classificação (I)
Reativos - consideram as informações correntes (momento) do ambiente para sua tomada de decisão, eles não têm "memória" para armazenar vivências.
Cognitivos- cognitivos podem aprender com suas experiências e são deliberativos (planejam e excetuam planos criados por eles).
SMA – Classificação(II)
Para refletir:• Por não terem memória, os agentes reativos são mais
fáceis de implementar?
• Os agentes abaixo são reativos ou cognitivos?– Jogos Computadorizados?– Patrulhamento robotizado?– Vôo não tripulado?
SMA Reativos
Baseados nos modelos etológicos (formigas, cupins,...):– Estímulo-Resposta ou Ação-Reação;– Grande número de agentes (até milhares);– Não há Representação do Conhecimento;– Não há Representação do Ambiente;– Não há Memória das Ações.
Usados para: Recuperação de Informações (redes de computadores) e Telecomunicações (reconfiguração do sistema), entre outros.
SMA Cognitivos
Baseados nos modelos sociais humanos:– Representação explícita do ambiente e dos outros
agentes da sociedade;– Poucos agentes (dezenas no máximo);– Histórico das interações para planejamento das
ações futuras;– Comunicação com outros agentes de modo direto;
Comunicação e Padronização(I)
Com a distribuição dos processos, surge o problema da padronização: Linguagem de comunicação entre os
agentes; Forma de representação do conhecimento;
Solução: Base de dados comun aos processos;
Diminui a comunicação inter-processos; Cada agente busca e grava dado na base.
Comunicação e Padronização(II)
Sistema de quadro-negro (blackboard):
Repositório que armazena o conhecimento do problema e o estado da solução;
As fontes de conhecimento (KSs) resolvem suas partes e devolvem os dados ao blackboard;
Um sistema de controle (Agenda) coordena as atividades das KSs (inserções no blackboard).
Aplicações (I)
Primeiro Vôo Não Tripulado (UAV) totalmente autônomo – Melbourne, Australia (jul/04):
O avatar foi guiado pelo sistema JACK de IAD;
O agente on-board escolheu a melhor rota para voar avaliando em tempo real variáveis como velocidade (ar e terra), tempo e posição (GPS);
Aplicações (II)
Robocup – copa do mundo de futebol de robôs:– 5 robôs em cada time; – O time da Austrália utilizou o
JACK em cada um dos robôs;– Cada jogador é autônomo, mas
tem comportamento coletivo;
Aplicações (III)
Recomposição da rede de transmissão de energia elétrica da região sul do Brasil, após um “blackout”.
Usa o Expert-Coop: ambiente para desenvolvimento de SMA cognitivos, heterogêneos e abertos.
Cada unidade da rede de transmissão de energia elétrica possui seu próprio domínio de conhecimento sobre os equipamentos e procedimentos operacionais.
As unidades se comunicam através de um mail box, e abrem “licitações” de tarefas. Ex.: ajudar a suportar uma sobrecarga de demanda.
Aplicações (IV)
1. Um dos agentes da comunidade necessita realizar uma atividade cooperativa, abre uma licitação e difunde na comunidade o respectivo edital;
2. Os demais agentes da comunidade respondem com propostas, aceitando ou rejeitando a realização da tarefa licitada;
3. Cada uma das propostas para realizar a tarefa licitada, possui um valor numérico associado (Grade);
4. Recebidas as propostas, a de maior Grade vence.
Aplicações (V)
Outras (várias) aplicações:• Agentes de busca na internet;• Controle espaçonaves (Deep Space 1);• Controle de tráfico aéreo;• Games;• Compra e Venda on-line via Internet;
What is next?
Exercício: Pesquisar e apresentar sobre uma aplicação ou plataforma de desenvolvimento IAD. Sugestões:
SeSAm: ambiente para desenvolvimento de Simulação Multiagentes (http://www.simsesam.de/); Cougaar: arquitetura que suporta aplicações distribuídas baseadas em agentes (http://cougaar.org/) Outras: JADE, Aglets, Jason, LGPL Vôos não tripulados e outros (http://www.aosgrp.com/applications/index.html ) STI – Artigo sobre Sistemas tutores inteligentes e agentes inteligente:
http://www.edukbr.com.br/colunas/artigo_conteudo.asp?Id=22 e http://www.edukbr.com.br/colunas/artigo_conteudo.asp?Id=25
Artigo: Jogos usando IAD - http://www2.dbd.puc-rio.br/pergamum/tesesabertas/0210488_04_cap_02.pdf (SMA) ---http://www2.dbd.puc-rio.br/pergamum/tesesabertas/0210488_04_cap_03.pdf - (RNA) ---- http://www2.dbd.puc-rio.br/pergamum/tesesabertas/0210488_04_cap_06.pdf (Comunicacao entre agentes) -----
Artigo – Compra e Venda on-line: http://www.inf.ufes.br/~jpalmeida/cvitae/smarket-techreport.pdf Distribuição de produtos entre fábricas e mercados (
http://www.inf.furb.br/~jomi/tccs/ate98/fabiano/sld030.htm)
Referências• http://www.aosgrp.com/index.html• http://64.233.169.104/search?q=cache:dnkuj0HoDwYJ:www.das.ufsc.br/g
ia/iaft-apoio/tra-iad.ps+ia+distribuida&hl=pt-BR&ct=clnk&cd=12&gl=br• http://cougaar.org/• http://penta.ufrgs.br/gr952/trab1/geren21.html• http://pt.wikipedia.org/wiki/Sistema_multiagente• http://tutorials.cougaar.org/pizza/• http://www.edukbr.com.br/colunas/artigo_conteudo.asp?Id=25• http://ia.ucpel.tche.br/~lpalazzo/Aulas/SMA/• http://pt.wikipedia.org/wiki/Sistema_multiagente• http://www.inf.pucrs.br/~blois/materiais/dsm/IntroducaoEAgentes.pdf