Inteligência Artificial Simbólica - 00.2
(graduação)
Tópicos Avançados em Inteligência
Artificial Simbólica - 00.2 (pós-graduação)
Informações Gerais
Professor: Jacques
Robin
(Esta) Homepage: www.cin.ufpe.br/~compint/aulas-IAS/ias/ias-002/Welcome.html
Newsgroup: depto.cursos.posgrad.taias
Horários:
- aulas normais: 4a 08:00-10:00 & 6a 10:00-12:00
- aulas de reposição: 4a 12:00-14:00 & 5a 12:00-14:00
Local: Sala M3
Turma:
- Pós-graduação:
- Alexandre (algd,
Jacques)
- Aydano (apm, Flávia)
Claudia (cccs,
isolada)
- Frederico (fbf2,
ouvinte, Flávia)
- Giordano (grec, Geber)
- Ioram (iss, Jacques)
- Ivan (irt, Geber)
- João (jbrj, ?)
Leonardo (lff,
?)
- Marcelino (mpss,
Jacques)
- Ryan (rla2, Geber)
- Rodrigo (rgls,
ouvinte, Jacques)
Bibliografia:
- Artificial Intelligence a Modern Approach, S.
Russell & P. Norvig, 1995, Prentice-Hall, site: http.cs.berkeley.edu/~russell/aima.html
- Machine Learning, T. Mitchell, 1997, McGraw-Hill,
site: www.cs.cmu.edu/afs/cs.cmu.edu/user/mitchell/ftp/mlbook.html
- Data Mining: Practical Machine Learning Tools and
Techniques with Java Implementations, I.H. Witten & E. Frank, 1999, Morgan
Kaufmann,
sites: http://www.mkp.com/books_catalog/catalog.asp?ISBN=1-55860-552-5,
http://www.cs.waikato.ac.nz/ml/weka/
- Multiagent Systems: a Modern Approach to Distributed
Artificial Intelligence, G. Weiss, 1999, MIT Press
- Layered Learning in Multiagent Systems: a Winning
Approach to Robotic Soccer, P. Stone, 2000, MIT Press
- Foundations of Statistical Natural Language Processing,
C.D. Manning & H. Schütze, 1999, MIT Press
- Prolog Programming for Artificial Intelligence, I.
Bratko, 2000 (3rd ed), Addison-Wesley.
- Advances in Knowledge Discovery and Data Mining, U.
Fayyad et al., 1996, AAAI Press/MIT Press.
- Decision Support Systems and Intelligente Systems,
E. Turban & J.E. Aronson, 1998, Prentice-Hall.
Avaliação:
Ementa e calendário:
Caderneta ESCOLAR
Aula 1: Apresentação da disciplina (06/09)
- Jacques
- Plano:
- Objetivo da disciplina
- Metodologia didática e de avaliação
- Ementa
- Material bibliográfica
- Jacques
- Ficha de leitura a entregar a entregar: capítulo 11 do
Russell & Norvig
- Plano:
- Limitações da resolução de problema por busca e do
cálculo das situações
- Representação do conhecimento em planejamento: estado,
objetivos, operadores, precondições, efeitos
- Planejamento de ordem parcial: POP
- Operadores parcialmente instanciados e engenharia de
conhecimento para planejamento
- Aplicações práticas de planejamento
- Transparências: planning1.ppt
Aula 3: Planejamento hierarquico e planejamento prévio
avançado (20/09)
- Jacques
- Ficha de leitura a entregar: capítulo 12 do Russell &
Norvig
- Plano:
- Planejamento hierarquico: HPOP
- Planejamento com operadores mais expressivos:POP-DUNC
- Efeitos condicionais C
- Objetivos negados N
- Objetivos disjuntivos D
- Variáveis universalmente quantificadas U
- Planejamento com recursos e tempo limitados
- Transparências: planning2.ppt
Aula 4: Planejamento e replanejamento enquanto agindo
(22/09)
- Jacques
- Ficha de leitura a entregar:
- capítulo 13 do Russell & Norvig
- capítulo 16 do Bratko
- Plano:
- Planejamento condicional CPOP
- Planejamento e replanejamento com monitoramento de
execução POPR
- Planejamento situado SPOP
- Transparências: planning3.ppt
- Escolha do trabalho de planejamento:
- implementar em Prolog, LIFE ou Java um planejador de ordem
parcial:
- com hierarquia de decomposição HDPOP
- com hierarquia de aproximação HAPOP
- com efeitos condicionais e precondições negativa POPNC
- com precondições disjuntivas POPD
- com implicações universalmente quantificadas na
precondições e nos efeitos POPU
- com restrições de recursos POPRC
- com restrições de tempo POPTC
- com planos condicionais a resultados de ações de
percepção POPC
- com replanejamento RPOP
- situado SPOP
- Jacques
- Ficha de leitura a entregar:
- Plano:
- Limitações de Prolog
- LIFE: integração de 3 outros paradigmas de programação
sobre uma base Prolog
- Estrutura de dados para representar conhecimento parcial:
termos de atributos (ou termos psi).
- Hierarquia de tipos
- Unificação funcional
- Declaração de classes e de restrições
- Transparências: life1.ppt
- Site: www.isg.sfu.ca/life/
Aula 6: Representação híbrida de conhecimento:
regras + classes + restrições + funções com LIFE (04/10)
- Jacques
- Ficha de leitura a entregar:
- Plano:
- LOGIN: predicados e regras com termos psi e hierarquia de
tipos
- FOOL: funções com termos psi e hierarquia de tipos
- LeFun: predicados com funções
- LIFE: LOGIN + FOOL + LeFun
- Exemplo de engenharia do conhecimento com LIFE: A terrível
novela
- LIFE x Prolog
- LIFE e orientação a objetos
- Transparências: life2.ppt
Aula 7: Representação híbrida de conhecimento: regras +
objetos com XSB, Java e InterProlog (06/10)
- Semirário 1: Marcelino
- Ficha de leitura a entregar: Introduction
to InterProlog
- Plano:
- Motivação da integração Prolog/Java
- Chamar Prolog a partir de Java com InterProlog
- Chamar Java a partir de Prolog com InterProlog
- Estudo de caso: DOODCI uma API Prolog para OLAP
- Transparências: InterProlog.ppt
- Sites:
Aula 8: Prática de programação com LIFE (11/10)
- Sergio
- 1a aula de laboratório
- Ficha de leitura a entregar: pp. 34-35, 41-47, 60-64,
110-145, de The
Wild-LIFE handbook
- Plano:
- Rodar LIFE no shell prompt
- Rodar LIFE dentro do emacs
- Depurar programa LIFE
- Transparências: LifeLab.lf
Aula 9:
estudo de caso para engenharia do conhecimento, planejamento, aprendizagem, sistemas
multi-agentes e robótica (18/10)
- Jacques
- Ficha de leitura: capítulo 2 do Stone
- Plano:
- As competições da RoboCup: o novo desafio para a
inteligência artificial, a robótica e os sistemas multi-agentes
- Arquitetura cliente/servidor da divisão simulador
- Percepções do cliente/jogador
- Ações do cliente/jogador
- API de alto-níveis fornecendo camada de redes
- Resultados do campeonatos passados
- Transparências: robocup.ppt
- Sites:
Aula 10: RoboLog: programação em lógica de times de divisão simulador (20/10)
- Sergio
- 2a aula de laboratório
- Trabalho de planejamento a entregar
- Ficha de leitura:
- Plano:
- Usar o SoccerServer para jogar
- Usar o SoccerServer para treinar
- RoboLog: uma API de alto-nível para acessar o SoccerServer
em Eclipse Prolog
- Transparências: robolog.ppt
- Sites:
- Escolha do trabalho de engenharia do conhecimento:
- implementar em XSB/InterProlog/Java uma ontologia de
shopping no supermercado baseada no capítulo 8 do Russell & Norvig
- ou, implementar em LIFE uma ontologia de shopping no
supermercado baseada no capítulo 8 do Russell & Norvig
- ou, implementar em XSB/InterProlog/Java uma ontologia de
estatísticas da RoboCup
- ou, implementar em LIFE uma ontologia de estatísticas da
RoboCup
- Jacques
- Ficha de leitura a entregar:
- Cápitulo 18 do Russel & Norvig
- Cápitulo 1, 2 e 3 do Mitchell
- Seções 3.2, 4.3 e 6.1 do Witten & Frank
- Plano:
- Aprendizagem de máquina, indução, busca no espaço de
hipótese e aproximação de função
- Paradigimas de aprendizagem de máquina
- Aplicações práticas de aprendizagem de máquina
- Aprendizagem de conceitos
- Vies
- Aprendizagem de árvores de decisões: ID3
- Extensões do ID3
- Avaliação do conhecimento aprendido
- Transparências: LearningIntroID3.ppt
Aula 12: Aprendizagem de regras proposicionais de
classificação e associação (11/11)
- Seminário 4: João e Ivan
- Ficha de leitura a entregar:
- Seções 3.3, 3.4, 4.3, 4.4 e 6.2 do Witten & Frank
- Seções 10.1, 10.2 e 10.3 do Mitchell
- Plano:
- Ler uma árvore de decisão como um conjunto de regras
proposicionais
- Aprender regras proposicionais de classificaçäo: algoritmo
de cobertura sequencial
- Aprender regras de associação
- Transparências:
Aula 13: Aprendizagem de árvores de decisão e regras
proposicionais com Weka (11/11)
- Seminário 5: João e Ivan
- 3a aula de laboratório
- Ficha de leitura a entregar: Seções 8.1 e 8.2 do Witten
& Frank
- Plano:
- Uso geral de Weka
- Uso do algoritmo de cobertura sequencial do Weka
- Uso do algoritmo de mineração de associações do Weka
- Transparências: weka.ppt
Aulas 14 e 15: Programação em lógica indutiva (27/10,
01/11)
- Jacques
- Ficha de leitura:
- pp. 636-644 do Russell & Norvig
- pp. 283-306 do Mitchell
- Capítulo 5 do Fayyad et al.
- Plano:
- Programação em lógica indutiva x dedutiva
- Características de ILP
- Induzir regras da 1a ordem x regras
proposicionais
- Algoritmos de ILP: generalização x especialização
- Operadores de indução da 1a ordem
- Viés para indução de regras da 1a ordem
- Aplicações práticas de ILP
- Transparências: ilp.ppt
Aula 16: Raciocínio baseado em casos (07/11)
- Geber
- Trabalho de engenharia do conhecimento a entregar
- Ficha de leitura a entregar:
- Plano:
- Aprendizagem preguiçoso e aprendizagem baseado em
instâncias
- Raciocínio analógico e raciocínio baseado em casos
- O cíclo do CBR
- Representação de casos
- Recuperação de casos e medidas de similaridades
- Reutilização de casos
- Revisão de casos
- Armazenamento e indexação de casos
- Aplicações práticas de CBR
- CBR x outros métodos de aprendizagem
- Transparências: CBR.ppt
- Escolha do trabalho de aprendizagem:
- minerar com Weka regras de associação proposicionais no
data warehouse de estatísticas da RoboCup,
- ou, minerar com Progol regras de associação da 1a ordem no
data warehouse de estatísticas da RoboCup,
- ou, implementar em Prolog ou LIFE um algoritmo de
aprendizagem por reforço e testa-lo com jogos no simulador da RoboCup
- ou, implementar em Prolog ou LIFE um algoritmo de
raciocínio baseado em casos e testa-lo com jogos no simulador da RoboCup
Aulas 17, 18 e 21: Aprendizagem de programas Prolog com
Progol (08/11, 17/11, 06/12)
- Jacques
- 4a aula de laboratório
- Ficha de leitura a entregar:
- Plano:
- Princípios de funcionamento de Progol
- Codificar conhecimento a priori em Prolog
- Codificar vies de aprendizagem com declarações de modo
- Parametrizar a busca por hipóteses
- Rastrear a busca por hipóteses
- Testar e validar as hipóteses
- Transparências: progol.ppt
Aula 19: Aprendizagem por reforço (22/11)
- Seminário 5: Alexandre
- Ficha de leitura a entregar:
-
- Plano:
- Aprendizagem com retorno parcial
- Tipos de tarefas de aprendizagem por refoço
- aprendizagem passivo x ativo
- em ambiente conhecido x desconhecido
- em ambiente determinístico x não determinístico
- Aprendizagem Q
- Aprendizagem por reforço diferenciado no tempo
- Aprendizagem por reforço x programação dinámica
- Aprendizagem por reforço com generalização
- Transparências: ReinforcementLearning.ppt
- Gustavo
- Ficha de leitura a entregar: seções 1.1, 1.2, 1.5 e
capítulos 2 e 9 do Weiss
- Plano:
- Características de agentes computacionais
- Agentes e inteligência
- Agentes x Objetos
- Programação orientada a agentes
- Sistemas multiagentes
- Comunicação entre agentes
- Protocolos de interação entre agentes
- Sociedades de agentes
- Aplicações práticas de sistemas multiagentes
- Transparências: AOSE.ppt
Aula 22: Arquiteturas de sistemas multi-agentes (13/12)
- Seminário 6: Luiz e Ryan
- Ficha de leitura:
- seçoes 1.3, 1.4 do Weiss
- capítulo 3 do Stone
- Plano:
- Dimensões de classificação de sistemas multiagentes
- Arquiteturas abstratas para agentes inteligentes
- Arquiteturas concretas para agentes inteligentes
- Estudo de caso: arquitetura multiagentes do CMUnited,
bi-campão mundial invicto de futebol de robôs virtuais
- Transparências: MultiAgentArchitectures.ppt
Aula 23: Planejamento multi-agentes (13/12)
- Seminário 7: Giordano e Aydano
- Ficha de leitura: capítulo 3 do Weiss
- Plano:
- Motivação
- Compartilhamento de tarefa
- Compartilhamento de resultados
- Planejamento distribuído
- Representação distribuída de planos
- Execução distribuída de planos
- Transparências: MultiAgentPlanning.ppt
Aula 24: Aprendizagem multi-agentes (15/12)
- Seminário 8: Bruno, Mariano e Ricardo
- Trabalho de engenharia do conhecimento a entregar
- Ficha de leitura:
- Plano:
- Dimensões de classificação de aprendizagem multiagentes
- Aprendizagem para coordenação de atividades
- Aprendizagem sobre outros agentes em ambientes cooperativos
- Aprendizagem sobre outros agentes em ambientes adversariais
- Aprendizagem sobre outros agentes em ambientes de mercado
- Aprendizagem e comunição
- Transparências: MultiAgentLearning.ppt
Aula 25: Aprendizagem em camadas multi-paradigma:
abordagem vencedor na (15/12)
- Seminário 9: Ioram
- Ficha de leitura: capítulos 4, 5, 6 e 7 do Stone
- Plano:
- Aprendizagem em camadas
- Camada 1: habilidades individuais primitivas
- Camada 2: habilidades individuais adversáriais
- Camada 3: habilidades multiagentes cooperativas
- Camada 4: habilidades estratégicas cooperativas
- Camada 5: habilidades estratégicas adversariais
- Transparências: LayeredLearning.ppt
- Escolha do trabalho de sistemas multi-agentes:
- implementar em Prolog ou LIFE regras de atualização
do modelo do campo de um agente jogador da RoboCup em função da percepções que ele
recebe do simulador
- ou, implementar em Prolog ou LIFE regras de previsão
do estado do campo de uma agente jogador da RoboCup em função do modelo do campo que ele
mantem e das possíveis ações que ele pode escolher
- ou, implementar em Prolog ou LIFE regras de tomada
de decisão de um agente jogador da RoboCup em função dos seus
objetivos locais e de previsões das conseqüências das suas ações sobre esses
objetivos
- ou, implementar em Prolog ou LIFE um algoritmo de
planejamento multi-agentes
- ou, implementar em Prolog ou LIFE um algoritmo de
aprendizagem por reforço multi-agentes
Aula 26: Prova 21/12
Aula 27: Definição dos projetos de
pós-graduação 21/12
Aulas 28 e 29: Orientação dos projetos de
pós-graduação
Aula 30: Apresentação dos Projetos de
Pós-Graduação (06/01)
- Trabalho de sistemas multi-agentes ou de
aprendizagem a entregar
Pontuação dos trabalhos
Fichas de leituras:
- ficha entregue depois da aula: 0pt
- ficha com mais de uma página por capítulo de
livro e/ou por artigo: 0pt
- relevância (i.e., completude dada a restrição de
espaço): 4pts
- organização e clareza: 3pts
- corretude: 2pts
- exemplos ilustrativos: 1pt
Trabalhos de
implementação:
- Ambição e escopo do conjunto de funcionalidades
implementadas: 2pts
- Relevância dessas funcionalidades para os requisitos do
problema: 0.5pt
- Definição e completude da amostra de entradas/saídas
usada para testes: 0.5pt
- Corretude do software para essa amostra: 1pt
- Eficiência do software para essa amostra: 0.5pt
- Robustez do software para entradas fora dessa amostra: 0.5pt
- Facilidade de uso da interface: 0.5pt
- Modularidade e composicionalidade do código: 1pt
- Abstração e generalidade dos componentes do código: 1pt
- Aproveitamento dos recursos do paradigma de programação
usado: 0.5pt
- Legibilidade, consição e elegancia do código: 1pt
- Documentação do software e comentarios no código: 1pt
Seminários:
- estar com o material lido e as dúvidas prontas com 2
semanas de antecedências: 1pt
- estar com a apresentação powerpoint pronta com 1 semana de
antecedências: 1pt
- profundidade da compreênsão do material: 2pts
- corretude da apresentação: 1pt
- completude da apresentação: 1pt
- concisão da apresentação: 1pt
- clareza da apresentação: 1pt
- quantidade, relevância e clareza dos exemplos ilustrativos:
1pt
- desempho oral: 1pt