Fundamentos Lógicos da IA - 2023-1
UnB-\(\gamma\)
Table of Contents
- 1. Material Didático e conteúdo programático (preliminar)
- 2. Plano de aulas
- 2.1. Aula 1 29_ago
- 2.2. Aula 2 31_ago
- 2.3. Aula 3 05_set
- 2.4.
Aula 407_set feriado - 2.5. Aula 5 12_set
- 2.6. Aula 6 14_set
- 2.7. Aula 7 19_set
- 2.8. Aula 8 21_set
- 2.9.
Aula 926_set semuni - 2.10.
Aula 1028_set semuni - 2.11. Aula 11 03_out
- 2.12. Aula 12 05_out
- 2.13. Aula 13 10_out
- 2.14.
Aula 1412_out feriado - 2.15. Aula 15 17_out
- 2.16. Aula 16 19_out icpc latam
- 2.17. Aula 17 24_out
- 2.18. Aula 18 26_out
- 2.19. Aula 19 31_out
- 2.20.
Aula 2002_nov feriado - 2.21. Aula 21 07_nov
- 2.22. Aula 22 09_nov icpc
- 2.23. Aula 23 14_nov icpc
- 2.24. Aula 24 16_nov icpc
- 2.25. Aula 25 21_nov
- 2.26. Aula 26 23_nov
- 2.27. Aula 27 28_nov
- 2.28. Aula 28 30_nov
- 2.29.
Aula 2905_dez HUWAEI TALENT SUMMIT 2023 - 2.30. Aula 30 07_dez
- 2.31. Aula 31 12_dez
- 2.32. Aula 32 14_dez
- 2.33. Aula 33 19_dez
- 2.34. Aula 34 21_dez
- 3. Plano de Aulas
- 4. Presença
- 5. Notas
1. Material Didático e conteúdo programático (preliminar)
- Introdução
- Introdução à lógica clássica
- Lógica de primeira ordem
- Representações proposicionais
- Procedimentos automáticos de prova
- Problema de satisfatibilidade (SAT)
- Algoritmos para SAT
- Busca em grafos e/ou
- Formas não clausais de representação
- Planejamento
- Aplicações em planejamento \(1\)
2. Plano de aulas
2.1. Aula 1 29_ago
- Introdução
- Objetivos da disciplina
- Método de avaliação
- conceitos gerais
2.2. Aula 2 31_ago
- Planejamento
- Getting Started with Automated Planning
- apostila muito interessante para iniciação em PDDL
- Planning Wiki
2.3. Aula 3 05_set
- Início da criação do domínio do supermercado
2.4. Aula 4 07_set feriado
- feriado
2.5. Aula 5 12_set
- Continuação do domínio do supermercado
- Criando uma lista de compras
2.6. Aula 6 14_set
2.7. Aula 7 19_set
- Apresentação dos domínios:
- Bomberda
- Puzznic
2.8. Aula 8 21_set
- Apresentação dos domínios do trabalho 1
2.9. Aula 9 26_set semuni
- Semana Universitária
2.10. Aula 10 28_set semuni
- Semana Universitária
2.11. Aula 11 03_out
- Continuação da apresentação dos domínios do trabalho 1
2.12. Aula 12 05_out
- Especificação do formato HDDL
- Exemplos de Domínios (e problemas) em HDDL
- Material específico sobre planejamento Hierárquico
2.13. Aula 13 10_out
2.14. Aula 14 12_out feriado
- feriado
2.15. Aula 15 17_out
- Aula de preparação de apresentação e dúvidas
2.16. Aula 16 19_out icpc latam
- professor em viagem, atividades remotas
- Preparação da apresentação
2.17. Aula 17 24_out
- Apresentação de domínios HDDL
2.18. Aula 18 26_out
- Apresentação de domínios HDDL
2.19. Aula 19 31_out
- discussão ampla sobre os domínios HDDL apresentados
2.20. Aula 20 02_nov feriado
- feriado
2.21. Aula 21 07_nov
2.22. Aula 22 09_nov icpc
professor em viagem, atividades remotas- ICPC cancelado. Aulas normais
2.23. Aula 23 14_nov icpc
professor em viagem, atividades remotas- ICPC cancelado. Aulas normais
2.24. Aula 24 16_nov icpc
professor em viagem, atividades remotas- ICPC cancelado. Aulas normais
2.25. Aula 25 21_nov
2.26. Aula 26 23_nov
2.27. Aula 27 28_nov
- Preparação do trabalho final
2.28. Aula 28 30_nov
2.29. Aula 29 05_dez HUWAEI TALENT SUMMIT 2023
- Professor em evento internacional. Aula cancelada
2.30. Aula 30 07_dez
- Preparação do trabalho FINAL
2.31. Aula 31 12_dez
- Apresentações do trabalho final
2.32. Aula 32 14_dez
- Apresentações do trabalho final
2.33. Aula 33 19_dez
- finalização da disciplina
2.34. Aula 34 21_dez
- finalização da disciplina
3. Plano de Aulas
O plano de ensino e plano de aulas é um PLANO e pode sofrer modificações ao longo do semestre de acordo com o rendimento da turma.
Curso: | Engenharia de Software | Período Letivo | 2023/2 |
Disciplina: | Tópicos Especiais de ES - FLIA | Código | |
Carga Horária: | 60 horas | Créditos | 04 |
3.1. Horários das aulas e atendimento
- Aulas:
- {terça,quinta}-feira, das 14:00 às 15:50
- Atendimento:
- por e-mail nos dias e horário das aulas
- caso necessário será aberto uma CALL para sanar as dúvidas
- por e-mail nos dias e horário das aulas
- E-mail:
- bruno.ribas EM unb.br
- Página:
3.2. Método
Aula expositiva por meio de aula síncronas em Sala de Aula, quadro branco, lista de exercícios e, material de apoio disponibilizado no Youtube (gravados ou em live stream).
3.3. Critérios de Avaliação
- A avaliação será feita por um conjunto de trabalhos, com pesos
variáveis.
- Os trabalhos deverão ser apresentados ao longo da disciplina, e representam os checkpoints dos assuntos estudados
- As notas serão compostas por um número inteiro no intervalo \([0,100]\);
- As avaliações serão compostas por questões, podendo ser, a critério do professor, teóricas e/ou práticas
- Qualquer tentativa de fraude nas provas implicará em média ZERO no semestre para todos os envolvidos.
3.3.1. Presença
- Em atividades presenciais será passada uma lista de presença;
- Para atividades a distância uma atividade específica de presença será passada com um prazo determinado pelo professor.
A entrega DENTRO do prazo é obrigatória para todos os alunos.
3.3.2. Menção Final
As notas serão calculadas conforme a equação abaixo:
\begin{align} M_F = \frac{ \sum_{i=0}^{N}(K_i * T_i) + K_f*TF}{K_f+\sum_{i=0}^{N}(K_i)} \end{align}- Onde \(K_i\) e \(K_f\) são os pesos das atividades. Os pesos serão divulgados pelo professor no momento da divulgação da atividade
3.3.3. Critérios de aprovação
Obterá aprovação no curso o aluno que cumprir todas as exigências listadas abaixo:
- \(M_F >= 50\); e
- Presença em \(75\%\) ou mais das aulas.
Por fim, a menção final do curso é dada de acordo com a tabela abaixo:
\(M_F\) | Menção | Descrição |
\(0\) | SR | Sem rendimento |
\([1,29]\) | II | Inferior |
\([30,49]\) | MI | Médio Inferior |
\([50,69]\) | MM | Médio |
\([70,89]\) | MS | Médio Superior |
\([90,100]\) | SS | Superior |
3.4. Bibliografia
- Algorithms in C , Robert Sedgewick
- CORMEN, Thomas H.; LEISERSON, Charles E.; RIVEST, Ronald L.; STEIN, Cli or. Algoritmos: Teoria e Prática. 2a.edição, Campus.
- (eBrary) CORMEN, Thomas H.; LEISERSON, Charles E.; RIVEST, Ronald L. Introduction to Algorithms. MIT Press, 2014.
- (eBrary) Biere, Armin and Heule, Marijn J. H. and van Maaren, Hans and Walsh, Toby Handbook of Satisfiability, 2009.
- RIBAS Bruno C; Um método de pré-processamento de fórmulas SAT e pseudo-boolean baseado em técnicas de programação linear inteira mista, 2015
- RIBAS Bruno C; Suguimoto RM; Montano RANR; Silva F; Bona LCE; Castilho M; On modelling virtual machine consolidation to pseudo-Boolean constraints, 2012
- RIBAS Bruno C; Suguimoto RM; Montano RANR; Silva F; Bona LCE; Castilho M;PBFVMC: A New Pseudo-Boolean Formulation to Virtual-Machine Consolidation, 2013
- Montano RANR; RIBAS BC; Planning as Mixed-Horn Formulas Satisfiability 2017
- RUSSEL Stuart; Norvig Peter; Artificial Intelligence: A Modern Approach, 2020
- https://planning.wiki/ - Planning.Wiki - The AI Planning & PDDL Wiki
- Artificial Intelligence: A Modern Approach. 3a. Ed. S. Russel and P. Norvig. (cap 7, slides)
- Chin-Liang Chang, Richard Char-Tung Lee. Symbolic logic and mechanical theorem proving. San Diego, CA : Academic Press, 1987.
- A knowledge compilation map. A. Darwiche and P. Marquis. JAIR. 2002
4. Presença
- Publicado diretamente no SIGAA
5. Notas
5.1. Trabalhos que valem nota
5.1.1. Trabalho 1 - Peso: 1
- Apresentação de Domínio PDDL
- prazo 21 de setembro
- Devem ser apresentados domínios das competições de 2023 ou 2018
- O que deve ser apresentado?
- Tempo de apresentação: 10minutos
- Os alunos devem apresentar:
- Do que se trata o domínio
- Qual a motivação do domínio existir
- existe artigo científico publicado a respeito do domínio?
- Análise crítica sobre o domínio e o conjunto de problemas
- Deve ser apresentada uma tabela de execução dos problemas disponíveis
- Existem ferramentas de apoio? (que criam arquivos de
problema? que animam um plano ?)
- apresentar as ferramentas existentes
- Apresentar as principais ações e predicados do domínio
- Após a apresentação os alunos devem enviar para o professor o PDF da apresentação
- EQUIPES E DOMÍNIOS
Equipe | Integrantes | Domínio | Material |
1 | Bruno, Igor, Danilo, Lucas Gobbi | Ricochet Robots | APRESENTAÇÃO, Repositório do Domínio |
2 | Rodrigo Lima, Marcos Tavares, Daniel, Vinícius, Lucas | Nurikabe | Relatório, APRESENTAÇÃO |
3 | Davi, João, Caio, Luís | Organic Synthesis | APRESENTAÇÃO |
4 | Breno, Breno, Henderson, Yogi | Snake (2018) | APRESENTAÇÃO |
5 | Ryan, João, Caio Urnau, Raphael | Settlers (2018) | APRESENTAÇÃO |
6 | Gabriel Mariano, Diógenes, Rodrigo Edmar, Danilo César | Agricola (2018) | APRESENTAÇÃO |
7 | Otávio, Nicolas, Deivid, Paulo Henrique | Labyrinth | |
8 | Cauã Corrêa, Arthur Lima, Pedro Sena, Julio Costa | Rubik's cube | APRESENTAÇÃO |
5.1.2. Trabalho 2 - Peso: 2
- Exercício de criatividade: Criação de domínio
- Submissão: MOJ
- Problemas Lights Out modificado
- Prazo: 🆕 11 de novembro de 2023
- Especificação do problema
- Score e Jogo
5.1.3. Trabalho 3 - Peso: 1
- Apresentação de domínio HDDL
- Início das apresentações: 24 de outubro
- Devem ser apresentações domínios das competições de 2023 ou 2020
- O que deve ser apresentado?
- Tempo de apresentação: até 30minutos
- Os alunos devem apresentar:
- Do que se trata o domínio
- Qual a motivação do domínio existir
- existe artigo científico publicado a respeito do domínio?
- O domínio se compara a algum domínio em PDDL?
- Em caso afirmativo, como eles se comparam em desempenho? E na modelagem?
- Análise crítica sobre o domínio e o conjunto de problemas
- Deve ser apresentada uma tabela de execução dos problemas disponíveis
- Existem ferramentas de apoio? (que criam arquivos de
problema? que animam um plano ?)
- apresentar as ferramentas existentes
- Apresentar as principais ações e predicados do domínio
- Após a apresentação os alunos devem enviar para o professor o PDF da apresentação
- Equipes
Equipe | Integrantes | Domínio | Material |
1 | Gabriel, Diógenes, Edmar, Danilo Cesar | Minecraft - Regular | SLIDES, PAPER(ORIGINAL), GITHUB IPC2020, GITHUB IPC2023 |
2 | Vinícius Marcos, Daniel, Rodrigo Tiago | Towers | SLIDES |
3 | Breno, Breno, Henderson, Yogi | SNAKE | SLIDES |
4 | Danilo, Lucas, Bruno, Igor | Colors | SLIDES |
5 | Lucas, Cauã, Pedro Sena, Julio Costa | Barman - BDI | SLIDES |
6 | João Pedro, Davi, Luis, Caio | Satelite | SLIDES , PAPER(ORIGINAL), GITHUB |
7 | Caio Urnau, Ryan, Bruno Alves | Factory Sample | SLIDES |
8 | Nicolas, Arthur, Otavio | Hiking |
5.1.4. Trabalho 4 - Peso: 2
- Exercício de criatividade: Criação de domínio HDDL
- Submissão: e-mail
- Prazo:
1 de dezembro de 20238 de dezembro - Este trabalho foi inspirado no trabalho da disciplina: Automated Planning and Scheduling, por Tomas Balyo and Dominik Schreiber
- Em equipe: Máximo de 4 membros (podendo ser feito individualmente, dupla ou trios)
- Projete um benchmark de planejamento de domínio HDDL. Você pode
modelar qualquer coisa que desejar. Seja inspirado por
quebra-cabeças, jogos de tabuleiro/vídeo, programas de TV, situações
da vida real, aplicações industriais, hentai, etc., e tente
incorporar conhecimento hierárquico útil sobre o domínio em seu
modelo. Para obter a pontuação máxima, seu domínio deve ser
totalmente escalável, ou seja, deve ser possível gerar problemas
facilmente solucionáveis e problemas arbitrariamente
difíceis. Forneça os seguintes arquivos:
- Um arquivo
domain.hddl
que define formalmente o seu domínio. Defina pelo menos duas tasks distintas, pelo menos três methods distintos e pelo menos três action distintas (todos os quais devem ser úteis em alguns casos). - Um gerador de arquivos de problema que pode produzir arquivos
problem.hddl
com base em alguns parâmetros. O gerador pode ser escrito em qualquer linguagem de programação mainstream (mas sempre forneça as fontes!). - Um documento PDF de 2-3 páginas descrevendo seu domínio
(propriedades, dificuldade, motivação, …) e instruções sobre
como usar o gerador de problemas.
- Apresente um benchmark do seu domínio com pelo menos dois
planejadores, sendo um deles o PandaPI, e outro sendo algum
planejador dentre os campeões da competição de HDDL de 2023.
- O seu benchmark deverá possuir problemas de três categorias:
- AGILE : com problemas pequenos e tempo limite de 150segundos por instância (não precisa, necessariamente, ter todas as instâncias resolvidas)
- SATISFICING: problemas maiores e difíceis de encontrar solução e tempo limite de 900segundos
- OPTIMAL: problemas maiores e defícies de provar ótimo e tempo limite de 900 segundos
- O seu benchmark deverá possuir problemas de três categorias:
- Explore os parâmetros dos planejadores escolhidos
- Apresente um benchmark do seu domínio com pelo menos dois
planejadores, sendo um deles o PandaPI, e outro sendo algum
planejador dentre os campeões da competição de HDDL de 2023.
- Um arquivo
- Os "melhores" domínios receberão 20 pontos extras (primeiro lugar) e 10 pontos extras (segundo lugar), respectivamente. A pontuação de cada domínio será determinada pela votação dos estudantes. Empates serão decididos por Bruno Ribas.
5.2. Consolidadas
matricula | AL | LT | AL | CL | MF | ♨️ AP | SIT | nome |
190084600 | 050 | ** | 040 | ** | 015 | ** | II | ** |
202017540 | 040 | ** | ** | ** | 006 | ** | II | ** |
160114705 | ** | ** | 050 | ** | 008 | ** | SR | ** |
211039288 | 090 | 110 | 085 | 110 | 102 | ** | SS | ** |
221021868 | 040 | ** | 000 | ** | 006 | ** | II | ** |
221021877 | 080 | 010 | 070 | 065 | 050 | ** | MM | ** |
211031673 | 080 | 115 | 060 | 085 | 090 | ** | SS | ** |
211030980 | 095 | 114 | 085 | ** | 068 | ** | MM | ** |
211039312 | 090 | 107 | 085 | 110 | 101 | ** | SS | ** |
221031149 | 070 | 117 | 080 | 090 | 094 | ** | SS | ** |
190086131 | 080 | 095 | 085 | ** | 059 | ** | MM | ** |
190105267 | 095 | 072 | 085 | 095 | 085 | 005 | SS | ** |
200018167 | 095 | 072 | 085 | 095 | 085 | 005 | SS | ** |
222006795 | 040 | 107 | 040 | 055 | 067 | ** | MM | ** |
150011903 | ** | ** | ** | ** | 000 | ** | SR | ** |
211029352 | 090 | 094 | 085 | 110 | 097 | ** | SS | ** |
222006839 | ** | ** | 050 | 060 | 028 | ** | II | ** |
190030879 | 085 | 095 | 085 | 090 | 090 | ** | SS | ** |
190089873 | 060 | ** | ** | ** | 010 | ** | SR | ** |
211031744 | 080 | 103 | 060 | ** | 057 | ** | MM | ** |
211062052 | ** | ** | ** | ** | 000 | ** | SR | ** |
211029441 | 090 | 094 | 085 | 110 | 097 | ** | SS | ** |
190126248 | 070 | ** | 060 | ** | 021 | ** | II | ** |
180066161 | 040 | ** | 085 | ** | 020 | ** | II | ** |
170041042 | 095 | 200 | 090 | 090 | 127 | ** | SS | ** |
200042360 | 040 | ** | 040 | ** | 013 | ** | II | ** |
211043692 | 040 | ** | 040 | ** | 013 | ** | II | ** |
170112900 | ** | ** | ** | ** | 000 | ** | SR | ** |
211029540 | 050 | 122 | 060 | 085 | 087 | 003 | SS | ** |
200027158 | 060 | 069 | 080 | 090 | 076 | ** | MS | ** |
180037242 | 095 | 142 | 090 | ** | 078 | ** | MS | ** |
221008436 | 080 | 010 | 070 | 065 | 050 | ** | MM | ** |
170115500 | 095 | 100 | 080 | ** | 062 | ** | MM | ** |
232014576 | 095 | 107 | 080 | 095 | 096 | ** | SS | ** |
média | 072 | 097 | 068 | 088 | 059 | ** | ** | Média da turma |
- AL é A-PDDL
- LT é LIGHTSOUT
- AL é A-HDDL
- CL é CRIAR-HDDL