Inteligência Artificial
Apontamentos de Algoritmos de Procura e de Sistemas Baseados em Conhecimento para as aulas de IA
Os apontamentos acessíveis nesta dizem respeito apenas à matéria de Algoritmos de Procura, e de Sistemas Baseados em Conhecimento. A matéria relativa à Linguagem de Programação Prolog tem de ser estudada noutras fontes, especialmente através do livro “Programming in Prolog: Using the ISO Standard (Fifth Edition)” de W. F. Clocksin e C. S. Mellish, o qual se pode encontrar na biblioteca do ISCTE ou adquirir facilmente “on‑line”.
Além do livro sugerido para a linguagem Prolog, podem consultar-se os apontamentos que se seguem.
Dois tutoriais sobre Prolog: explicações e exercícios
· Wikipedia: http://en.wikipedia.org/wiki/Prolog
· Departamento de Computação da Universidade de Pomona: http://www.csupomona.edu/~jrfisher/www/prolog_tutorial/pt_framer.html
Apontamentos por componentes
NOTA. É possível que cada um dos capítulos que se seguem abranja tópicos de matéria que não seja dada em certos anos letivos. Por exemplo, no ano 2018/2019, não foi dada a forma clausal constante no capítulo Representação de Conhecimento em Lógica. A matéria realmente dada em cada ano está especificada na Secção de Avaliação deste sítio web.
Breve sumário e comentários avulsos sobre Inteligência Artificial. Tecnologias para Sistemas Inteligentes. |
|
Resolução de problemas através dos métodos de procura. Procura em profundidade‑primeiro, procura em largura‑primeiro, procura do melhor‑primeiro. Algoritmo A* |
|
Como usar a implementação em Prolog do A* |
|
Sistemas Baseados em Conhecimento: Conhecimento, Representação, e Arquitetura |
Conceitos fundamentais introdutórios sobre Sistemas Baseados em Conhecimento (SBC). Distinções relativas à natureza do conhecimento e à natureza da representação. Definição e Arquitetura de Sistemas Baseados em Conhecimento |
A lógica é apresentada como a base para a representação de conhecimento e para o raciocínio de alguns tipos de Sistemas Baseados em Conhecimento, sobretudo para os sistemas de regras condição-conclusão e para os sistemas baseados em programação em lógica. É dada a representação e a inferência em lógica de predicados de primeira ordem, quer no seu formato habitual, quer na forma clausal. É dada a conversão para forma clausal |
|
Breve introdução (risível, aliás) à programação em lógica. Enfatiza-se VIVAMENTE a necessidade de se recorrer a um livro de Prolog para aprender esta parte da matéria, por exemplo o Clocksin e Mellish |
|
Representação de conhecimento procedimental através de regras de produção (i.e., regras condição-ação) |
|
Notas muito insuficientes sobre Prolog procedimental Estas notas não devem ser consideradas um elemento de estudo suficiente sobre esta matéria. |
Estas notas avulsas, pouco organizadas, são essencialmente respostas a pedidos de ajuda que recebemos, por email. Contém também uma análise de erros frequentes em Prolog Procedimental O seu conteúdo vai sendo alterado. Enfatiza-se VIVAMENTE a necessidade de se recorrer a um livro de Prolog para aprender esta parte da matéria, por exemplo o Clocksin e Mellish |
Estas notas contêm um esboço de uma lista de erros muito frequentes em Prolog Declarativo juntamente com explicações sobre eles. |
Acetatos sobre funcionamento do Prolog: (Zipped Word)
Como explicar o que acontece no encadeamento para a frente e no encadeamento para trás: (Zipped Word)
Lista de predicados pré-definidos
Coleção de exercícios e resoluções selecionadas: (Zipped Word). Trata-se de uma coleção de enunciados e de resoluções de exercícios concebidos para as aulas, para testes e para exames.
Ficheiros com código Prolog, os quais são úteis para os exercícios
Pequena base de dados com voos diretos entre cidades |
O mesmo que voos1, mas agora, além dos voos, existe informação sobre a companhia aérea. |
Programa simplificado para ajudar a escolher o melhor funcionário para uma dada tarefa |
Semelhante a voos, mas com expressos |
Sistema de produção que controla a alternância de jogadas no Jogo do Galo. |