O objectivo geral deste trabalho é desenvolver um programa em
Prolog capaz de simular em computador um processo de
decisão com capacidade de aprendizagem. Esse tipo de
programa pode ser útil para classificar objectos
(físicos, ou não) de acordo com as suas características
observáveis, ou para decidir da adequabilidade de uma coisa ou
pessoa para determinado fim, ou para nos ajudar a tomar uma
opção. Em qualquer um dos casos, o programa deve ter a
capacidade de incorporar mais conhecimento, tornando-se mais
esperto, se cada vez que for usado não apresentar a
solução que o utilizador acha correcta.
Assim e para cumprir tal objectivo, o grupo de trabalho deverá
escolher uma situação concreta --por exemplo, classificação
de animais, classificação de figuras geométricas,
classificação de doenças, escolha da toilete a
usar em determinadas situações, etc.-- à qual quer
aplicar esta técnica de programação baseada numa árvore
binária de decisão.
Numa 1, o grupo deve implementar a sua árvore de
decisão e a aprendizagem, sem qualquer preocupação com a
interface, ou seja, o programa será usado invocando directamente
os predicados desenvolvidos, sem facilidades especiais para
formatação / apresentação dos resultados calculados.
Numa 2, pretende-se melhorar o programa desenvolvido
dotando-o com um processador de linguagem que permita aos
Utilizadores dialogarem numa linguagem mais livre, próxima da
nossa língua natural (português). Na verdade, na versão que
foi construida na fase anterior, para que alguém possa usar os
programas e coloque questões à base de conhecimento, é
necessário que conheça a sintaxe exacta de cada predicado (nome
preciso do predicado, número de argumentos e ordem pela qual
eles devem aparecer). Para optimizar a interface desses trabalhos
será desejável que o Utilizador possa construir questões numa
sintaxe mais natural, com maior grau de liberdade.
Os grupos que escolherem este trabalho, terão de definir a
linguagem que querem fornecer aos Utilizadores do seu programa,
especificá-la usando uma gramática (segundo o formalismo DCG)
e construir um tradutor que reconheça as novas frases e gere os
predicados convenientes para questionar a base de conhecimento.