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

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

REPRESENTAÇÃO DO CONHECIMENTO Prof. Esp. Cristiano José Cecanho Inteligência Artificial.

Apresentações semelhantes


Apresentação em tema: "REPRESENTAÇÃO DO CONHECIMENTO Prof. Esp. Cristiano José Cecanho Inteligência Artificial."— Transcrição da apresentação:

1 REPRESENTAÇÃO DO CONHECIMENTO Prof. Esp. Cristiano José Cecanho Inteligência Artificial

2 Roteiro • Questões de lógica • Introdução • Como o ser humano representa o conhecimento • PROLOG

3 Questão 1 • O ano de 2007 tem 365 dias. O primeiro dia de 2007 caiu em uma segunda-feira. Logo, neste ano, o dia de Natal cairá numa: a) Segunda-feira b) Terça-feira c) Quarta-feira d) Quinta-feira e) Sexta-feira

4 Questão 1 • O ano de 2007 tem 365 dias. O primeiro dia de 2007 caiu em uma segunda-feira. Logo, neste ano, o dia de Natal cairá numa: a) Segunda-feira b) Terça-feira c) Quarta-feira d) Quinta-feira e) Sexta-feira

5 Resolução • Dados: • O ano começa numa segunda-feira. • 365 / 7 = 52 e sobra 1. • Ou seja, para cada dia da semana este repetirá 52 vezes no ano. • Exceto o dia que inicia, este repete 53 vezes. • Se o ano começa numa segunda-feira ele deve terminar numa segunda-feira. • Dezembro tem 31 dias. • 31 de dezembro é uma segunda-feira. • 31 – 6 = 25 • Dia de Natal acontece na terça-feira.

6 Questão 2 • No período de 2010 a 2050, os anos bissextos (isto é, aqueles com 366 dias) são todos aqueles divisíveis por 4. sabendo que 2010 terá 53 sextas-feiras, o primeiro ano desse período em que o dia 1º de janeiro cairá numa segunda-feira será: a) 2013 b) 2014 c) 2016 d) 2018 e) 2019

7 Questão 2 • No período de 2010 a 2050, os anos bissextos (isto é, aqueles com 366 dias) são todos aqueles divisíveis por 4. sabendo que 2010 terá 53 sextas-feiras, o primeiro ano desse período em que o dia 1º de janeiro cairá numa segunda-feira será: a) 2013 b) 2014 c) 2016 d) 2018 e) 2019

8 Resolução • Dados: • 2010 terá 53 sextas-feiras. • 2010 dividido 4 tem resto diferente 0, então não é divisível por 4, então não é bissexto. • Se 2010 não é ano bissexto e possui 53 sextas-feiras, então ele começa numa sexta-feira. • O ano de 2011 começa num sábado. • O ano de 2012 começa num domingo e é bissexto. • O ano de 2013 começa numa terça-feira. • O ano de 2014 começa numa quarta-feira. • O ano de 2015 começa numa quinta-feira. • O ano de 2016 começa numa sexta-feira e é bissexto. • O ano de 2017 começa num domingo. • O ano de 2018 começa numa segunda-feira.

9 Questão 3 • Em certo planeta, todos os Aleves são Bleves, todos Cleves são Bleves, todos os Dleves são Aleves, e todos os Cleves são Dleves. Sobre os habitantes desse planeta, é correto afirmar que: a) Todos os Dleves são Bleves e e são Cleves. b) Todos os Bleves são Cleves e são Dleves. c) Todos os Aleves são Cleves e são Dleves. d) Todos os Cleves são Aleves e são Bleves. e) Todos os Aleves são Dleves e alguns Aleves podem não ser Cleves.

10 Questão 3 • Em certo planeta, todos os Aleves são Bleves, todos Cleves são Bleves, todos os Dleves são Aleves, e todos os Cleves são Dleves. Sobre os habitantes desse planeta, é correto afirmar que: a) Todos os Dleves são Bleves e e são Cleves. b) Todos os Bleves são Cleves e são Dleves. c) Todos os Aleves são Cleves e são Dleves. d) Todos os Cleves são Aleves e são Bleves. e) Todos os Aleves são Dleves e alguns Aleves podem não ser Cleves.

11 Resolução • Seja: • A = Aleves • B = Bleves • C = Cleves • D = Dleves • Todos os Aleves são Bleves B A

12 Resolução • Seja: • A = Aleves • B = Bleves • C = Cleves • D = Dleves • Todos os Cleves são Dleves • ? B A

13 Resolução • Seja: • A = Aleves • B = Bleves • C = Cleves • D = Dleves • Todos os Dleves são Aleves B A D

14 Resolução • Seja: • A = Aleves • B = Bleves • C = Cleves • D = Dleves • Todos os Cleves são Dleves • Logo: • Todos os Cleves são Bleves e todos Cleves são Dleves B A D C

15 Introdução • O conceito de representar o conhecimento humano necessita de uma linguagem precisa para demonstrar expressões, conhecimentos e asserções. • A lógica providencia o fundamento da dedução de consequentes premissas.

16 O ser humano interpretando

17 Computadores como base para o conhecimento • Computadores fazem parte da história de nosso intelecto, mas estes requerem que o conhecimento seja representado de forma precisa e estruturada. • Encontra-se dificuldade em construir um domínio para uma linguagem capaz de expressas problemas e instruir o computador para resolvê-los.

18 Computadores como base para o conhecimento Imagem Mental Lógica Regras Linguagem natural Desenho Frames Deduções

19 Arquitetura de Von Neumann • Os computadores são baseados na arquitetura de Von Neumann, ou seja, dados de entrada, processamento aritmético e saída de dados. • Isto provoca um impasse, pois este tipo de máquina é programada para receber instruções e não para o pensar.

20 Arquitetura de Von Neumann

21 Programas, ou aplicativos • Entenda-se que um programa de computador é escrito em uma linguagem de programação que traduz o que nós entendemos (código fonte em inglês) para a linguagem que o computador entende (linguagem de máquina). • Lógica e programação requer expressões de um conhecimento e métodos formais aceitos, tornando esta representação tediosa.

22 Linguagens de programação atuais

23 Algoritmos • Quando pensamos em programação, procuramos uma solução para um determinado problema e em consequência temos uma complexa investigação do que deve ser feito (algoritmo). • Sugestões, demonstrações e protótipos direcionam a programação com objetivo. • Em IA, a programação não ocorre de forma algorítmica.

24 Aplicações

25 Controladores baseados no conhecimento • As regras utilizadas por linguagens de programação em estruturas de decisão podem ser utilizadas para incorporar à máquina a experiência heurística do operador humano. • Assim o operador humano é capaz de agir sobre uma dada planta, utilizando a experiência acumulada ao longo dos tempos.

26 Sistemas baseados em conhecimento são realizados por: • Interpretação de dados. • Predição. • Diagnose. • Síntese. • Planejamento. • Monitoração. • Correção de falhas. • Treinamento. • Controle.

27 Quanto a arquitetura • Banco de conhecimentos. • Banco de regras. • Um banco de dados, onde as informações sobre as condições de planta a ser controlada e as medidas estão armazenadas. • Uma máquina de inferência, para dedução das ações.

28 Exemplo de arquitetura

29 Como a máquina de inferência funciona 1. Busca de regras no banco de conhecimento que tenham as condições satisfeitas, em termos do conteúdo do banco de dados (casamento do antecedente). 2. Se houver uma ou mais regras com as condições. • Então selecionar uma (resolução de conflito). • Senão, retornar ao Passo Executar a ação descrita na regra selecionada e retornar ao Passo 1.

30 Lógica de programação • A lógica de programação ajuda-nos a representação de problemas do mundo real no computador, mas não nos dão o como fazer. • Em nosso caso precisamos representar o conhecimento humano para resolver problemas e hipóteses suficientes de forma explicita com lógica de axiomas.

31 Axiomas • Axiomas constituem de alternativas para um programa convencional. • O programa pode ser executado para resolver determinado problema, formalizando as estruturas de forma lógica a cada chamada.

32 Programas Vs Axiomas • Programas = configuração de axiomas. • Computação = construção de evidências para alcançar um objetivo de um programa.

33 PROLOG • Por volta dos anos 70, Comerauer e um grupo de especialista da Universidade de Marseilles-Aix desenvolveram um teorema escrito em Fortran, para implementar uma linguagem natural de processamento de sistemas. • Este teorema foi chamado de PROLOG (Programmation em Logique) e foi incorporado pela interpretação procedural de Kowalski’s.

34 De LISP para PROLOG • Logo a ideia foi de substituir LISP por PROLOG como linguagem para inteligência artificial. • Em 1980, o número de centros programando em PROLOG chega a perto mil no mundo todo. • Desde então revistas, jornais e conferências ganharam força e aplicações em todos os âmbitos surgem utilizando a lógica de programação e a inteligência artificial.

35 Ambiente PROLOG

36 PROLOG - Lógica aplicada a programas  A lógica de programação é uma configuração de axiomas, ou linhas, definindo a relação entre objetos.  Esta programação define as configurações das sequencias, assim como o pensamento.

37 PROLOG – Conceitos básicos • O desenvolvimento da lógica de programação fundamenta-se em termos e estruturas, são herança da lógica. • São três os conceitos: • Fatos • Regras • Consultas. • Eles formam uma simples estrutura de dados: o termo lógico.

38 PROLOG - Fatos • Fatos são os relacionamentos formados entre os objetos: pai(mario,laercio). • Este fato diz que Mario é pai de Laércio para o computador, ou que tipo de relação existe entre os indivíduos de nomes Mario e Laercio. • Note que o nome da relação é um predicado. • Similarmente, mais(2,3,5) expressa uma relação que 2 mais 3 é 5.

39 PROLOG - Atoms • Quando ocorrer um predicado sem relacionamento temos o atom. • Nomes individuais são conhecidos por atoms. • Exemplo: homem(jose). mulher(maria).

40 PROLOG – Fatos: exemplo • A familiaridade da relação “mais” realiza por meio de configuração de fatos que definem a tabela de adição: • mais(0,0,0). • mais(0,1,1). • mais(0,2,2). • mais(0,3,3). • mais(1,0,1). • mais(1,1,2). • mais(1,2,3). • mais(1,3,4).

41 PROLOG - Base de conhecimento • A quantidade de elementos de uma tabela será suficiente se atender as respostas para sua lógica de programação. • Esta é a base de conhecimento e a tendência dela é sempre crescer.

42 PROLOG - Falha • Imagine que você montou uma base de conhecimento e o sistema está em pleno funcionamento dentro da empresa. • Dado certo momento o sistema para, porque um determinado problema não foi identificado no momento da criação da base de conhecimento. • O sistema automatizado não consegue interpretar e tomar uma decisão para sair daquela situação, pois não possui conhecimento necessário para isto.

43 PROLOG - Resolução • Como resolver? • Adicionando este novo problema a base de conhecimento. • Ou, selecionando uma nova regra.

44 PROLOG - Exemplo família • Observe agora a base de conhecimento para a análise de gênero e parentesco de uma família: pai(mario, laercio). pai(mario, lelio). pai(mario, solange). pai(laercio,cristiano). pai(laercio,hugo). mae(luiza,laercio). mae(luiza,lelio). mae(luiza,solange). mae(celia,cristiano). mae(celia,hugo).

45 PROLOG – Regras para a construção • Note que no exemplo anterior que os predicado e atoms, nos fatos, todos foram escritos em letra minúscula. • Uma finita configuração de fatos constituem o programa, esta configuração descreve um situação. • Letras maiúsculas são utilizadas para criar variáveis.

46 PROLOG - Consultas • A segunda forma de se estruturar programas lógicos é através de queries, ou consultas. • Esta é uma forma de conseguir informações de um programa, ou a forma com que o programa PROLOG consulta uma situação automatizada. • Por exemplo: ao perguntar se mario é pai de laercio o programa deve retornar Yes. • ?-pai(mario,laercio). • yes

47 PROLOG – entendendo a consulta • Sintaticamente, consultas e fatos são semelhantes, o que distingue um do outro é o questionamento e o contexto. • Caso esteja confuso imagine o seguinte: • ?-pai(##,##) é uma função do sistema que necessita de dois parâmetros para fazer a comparação. • A resposta desta função retorna pode retornar dois valores yes ou no.

48 PROLOG - Parâmetros • Parâmetro é um valor fornecido pelo sistema, ou por um leitor de código de barra, ou pelo usuário ou por outra função ou artefato implementado no sistema. • Um teste no programa: perguntar se luiza é filha de mario. • ?-pai(mario,luiza).

49 Exercício • Crie uma base de conhecimento representando a sua família a partir da linhagem de seus avós.


Carregar ppt "REPRESENTAÇÃO DO CONHECIMENTO Prof. Esp. Cristiano José Cecanho Inteligência Artificial."

Apresentações semelhantes


Anúncios Google