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

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

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

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

REPRESENTAÇÃO DO CONHECIMENTO

Prof. Esp. Cristiano José Cecanho

Inteligência Artificial

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

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

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

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

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

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

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

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.

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

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

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

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

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

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.

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

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.

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

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.

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

Resolução• Seja:

• A = Aleves• B = Bleves• C = Cleves• D = Dleves

• Todos os Aleves são Bleves

BA

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

Resolução• Seja:

• A = Aleves• B = Bleves• C = Cleves• D = Dleves

• Todos os Cleves são Dleves

• ?

BA

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

Resolução• Seja:

• A = Aleves• B = Bleves• C = Cleves• D = Dleves

• Todos os Dleves são Aleves

BA

D

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

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

BA

DC

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

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.

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

O ser humano interpretando

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

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.

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

Computadores como base para o conhecimento

Imagem MentalLógicaRegrasLinguagem naturalDesenhoFramesDeduções

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

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.

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

Arquitetura de Von Neumann

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

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.

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

Linguagens de programação atuais

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

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.

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

Aplicações

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

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.

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

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.

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

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.

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

Exemplo de arquitetura

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

Como a máquina de inferência funciona1. 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 1.

3. Executar a ação descrita na regra selecionada e retornar ao Passo 1.

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

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.

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

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.

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

Programas Vs Axiomas

• Programas = configuração de axiomas.

• Computação = construção de evidências para alcançar um objetivo de um programa.

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

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.

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

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.

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

Ambiente PROLOG

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

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.

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

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.

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

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.

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

PROLOG - Atoms

• Quando ocorrer um predicado sem relacionamento temos o atom.

• Nomes individuais são conhecidos por atoms.

• Exemplo:

homem(jose).

mulher(maria).

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

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).

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

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.

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

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.

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

PROLOG - Resolução• Como resolver?

• Adicionando este novo problema a base de conhecimento.

• Ou, selecionando uma nova regra.

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

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).

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

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.

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

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

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

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.

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

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).

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

Exercício• Crie uma base de conhecimento representando a sua

família a partir da linhagem de seus avós.