A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Sistemas Especialistas Podem ser definidos como programas de computador desenvolvidos para representar o conhecimento humano num dado domínio específico.

Apresentações semelhantes


Apresentação em tema: "Sistemas Especialistas Podem ser definidos como programas de computador desenvolvidos para representar o conhecimento humano num dado domínio específico."— Transcrição da apresentação:

1 Sistemas Especialistas Podem ser definidos como programas de computador desenvolvidos para representar o conhecimento humano num dado domínio específico. Quanto mais especializados e identificáveis forem os domínios ou área do problema, maiores são as chances de se obter sucesso na aquisição, estruturação e representação do domínio nas bases de conhecimento.

2 Prolog Prolog é uma linguagem essencialmente declarativa, isto é, o usuário "declara" o modelo do seu problema e deixa o Prolog buscar a solução. Modularidade. Polimorfismo.

3 Limitações  Requer grande quantidade de memória para realizar os processos de busca envolvidos na resposta de uma pergunta no caso do programador não explorar os aspectos "procedimentais" da linguagem.  Prolog não foi originalmente concebido para manipular estruturas numéricas (ex: inversão de matrizes).

4 Programas em Prolog são constituído de termos  Constantes: atômicas inteiras; ana, pai  Variáveis: parecidas com átomos e começam por letras maiúsculas ou pelo caracter _ ; X, Pessoa, _23.  Estruturas: Objeto composto por outros objetos; data(1,maio,1994).

5 Clausulas: regras e fatos pais(olga,rui). % São sempre verdadeiras, fatos filhos(X,Y):-pais(Y,X). % São verdadeiras se % alguma condições % forem satisfeitas Aridade de um predicado é o número de argumentos que ele tem. cabeçacorpo ConclusãoCondições

6 Matching A principal operação com termos é o matching (casamento). Dados dois termos, dizemos que ele match se:  Eles são idênticos  As variáveis em ambos os termos podem ser instanciadas para objetos de tal forma que depois da substituição das variáveis pelos objetos os termos tornam-se idênticos.

7 Prolog não permite o uso do que se chama de atribuição destrutiva, isto é, uma vez que uma variável lógica assume um valor, ele não pode se mudado arbitrariamente. Prolog faz uso intensivo de definições recursivas, ou seja definições que fazem parte da própria definição.

8 Como Prolog responde questões: Scanning e Backtracking Busca satisfazer uma lista de objetivos(goals) Lista de objetivos Executa Success/fail Instanciação de variáveis

9 Backtracking Quando uma chamada recursiva falha Prolog busca uma clausula alternativa, Prolog abandona a parte que falhou e faz um backtracking para o ponto onde houve a falha. Quando ocorre o backtrack todas as variáveis que foram instanciadas a partir daquele ponto são desfeitas. Isto garante que o Prolog sistematicamente examina todos os caminhos alternativos possíveis até que um eventualmente obtenha sucesso, ou até que todos exaustivamente tenham falhado.

10 Read e Write Write: permite que se escreva um único argumento na tela. Ex: Saudacao(pessoa):-write(‘alo’),nl. Read:Espera o usuário digitar um átomo seguidos de (.) ponto. Dialogo(N):-write(‘qual seu nome’),nl, read(N).

11 Aritmética e Lógica Em uma expressão aritmética, podemos ter os seguintes operadores: +: somaX^Y:exponenciação -: subtraçãooutros.... *: multiplicação /: divisão fracionária //: divisão inteira

12 E1>E2maior que E1<E2menor que E1>=E2maior ou igual E1=<E2menor ou igual X is E1avalia E1 e unifica com X E1=:=E2igualdade entre inteiros E1=\=E2desigualdade entre inteiros

13 Exercício: Escolher o domínio de um problema. Desenvolva um conjunto de fatos e regras que representem o conhecimento sobre o domínio. Escreva os fatos e regras segundo a sintaxe do Prolog.

14 Bibliografia BRATKO, I. - Prolog Programming for Artificial Intelligence, Addison-Wesley, 1990. (2nd Ed.) The Arity Prolog Compiler e Interpreter, version 6.1, Arity corporation, 1992.


Carregar ppt "Sistemas Especialistas Podem ser definidos como programas de computador desenvolvidos para representar o conhecimento humano num dado domínio específico."

Apresentações semelhantes


Anúncios Google