1 Inteligência Artificial (introdução - Sistema Especialista) Prof. Edson Emílio Scalabrin Curso...

31
1 Inteligência Artificial (introdução - Sistema Especialista) Prof. Edson Emílio Scalabrin Curso de Ciência da Computação CCET/PUCPR [email protected]

Transcript of 1 Inteligência Artificial (introdução - Sistema Especialista) Prof. Edson Emílio Scalabrin Curso...

Page 1: 1 Inteligência Artificial (introdução - Sistema Especialista) Prof. Edson Emílio Scalabrin Curso de Ciência da Computação CCET/PUCPR scalabrin@ppgia.pucpr.br.

1

Inteligência Artificial (introdução - Sistema Especialista)

Prof. Edson Emílio ScalabrinCurso de Ciência da Computação

CCET/[email protected]

Page 2: 1 Inteligência Artificial (introdução - Sistema Especialista) Prof. Edson Emílio Scalabrin Curso de Ciência da Computação CCET/PUCPR scalabrin@ppgia.pucpr.br.

2

Introdução

Em 1956, um pequeno grupo de cientistas da computação realizaram um seminário patrocinado pela IBM na Faculdade Dartmouth.

As discussões enfocaram-se nos esforços de pesquisa sobre a prova automática de teoremas e as novas linguagens de programação.

Eles discutiram também formas com que este trabalho poderia ser encaminhado para desenvolver um computador que poderia simular o raciocínio humano.

Esta conferência marcou o nascimento da Inteligência Artificial.

Page 3: 1 Inteligência Artificial (introdução - Sistema Especialista) Prof. Edson Emílio Scalabrin Curso de Ciência da Computação CCET/PUCPR scalabrin@ppgia.pucpr.br.

3

Introdução . . .

Definição 1.1: Inteligência Artificial• Um campo de estudo em ciência da computação que

tem como meta a construção de um computador que raciocina de forma semelhante aos seres humanos.

Objetivos da Inteligência Artificial (de um ponto de vista prático) tornar os computadores mais úteis para os seres humanos.

• Isto pode ser alcançado produzindo programas de computador que ajudem os humanos em suas tomadas de decisões, fazendo, por exemplo, uma recuperação inteligente de informação, ou simplesmente, fazendo computadores mais fáceis de usar com interface em linguagem natural.

entender melhor a inteligência humana. • A construção de um sistema de computação inteligente exige que entendamos como

nós, seres humanos, capturamos, organizamos e usamos o conhecimento na resolução de problemas.

Page 4: 1 Inteligência Artificial (introdução - Sistema Especialista) Prof. Edson Emílio Scalabrin Curso de Ciência da Computação CCET/PUCPR scalabrin@ppgia.pucpr.br.

4

Introdução . . .

Como o ser humano resolve seus problemas ?

Qual é a origem dos conhecimentos utilizados para resolver um problema ?• da nossa experiência e• de um processo formal de aprendizagem

Page 5: 1 Inteligência Artificial (introdução - Sistema Especialista) Prof. Edson Emílio Scalabrin Curso de Ciência da Computação CCET/PUCPR scalabrin@ppgia.pucpr.br.

5

Introdução . . .

Qual é a importância dos conhecimentos provenientes da experiência ?

• eles dão origem as heurísticas

OBS.:• Estes também são chamados de conhecimentos de

superfície e correspondem à resolução de “caso já visto”

Exemplo de modelagem • regras de produção

Page 6: 1 Inteligência Artificial (introdução - Sistema Especialista) Prof. Edson Emílio Scalabrin Curso de Ciência da Computação CCET/PUCPR scalabrin@ppgia.pucpr.br.

6

Introdução . . .

Exemplos de regras:Se < chove > então pegar um guarda-chuva

Se < não encontrar um guarda-chuva > então procurar uma impermeável

Se < está quente > então retirar a blusa

Funcionamento:• as regras são confrontadas à situações correntes fatos, e

uma ação correspondente é efetuada.• esse comportamento é facilmente reproduzido em

computadores nos sistemas especialistas ou ainda sistemas a base conhecimentos.

Page 7: 1 Inteligência Artificial (introdução - Sistema Especialista) Prof. Edson Emílio Scalabrin Curso de Ciência da Computação CCET/PUCPR scalabrin@ppgia.pucpr.br.

7

Introdução . . .

Qual é a importância dos conhecimentos provenientes de um processo formal ?

• Eles são representam o resultado do aprendizagem de teorias gerais que devem ser colocadas em práticas nos raciocínios.

OBS.:• Estes também são chamados de conhecimentos de

profundos

Page 8: 1 Inteligência Artificial (introdução - Sistema Especialista) Prof. Edson Emílio Scalabrin Curso de Ciência da Computação CCET/PUCPR scalabrin@ppgia.pucpr.br.

8

Sistema Especialista

Definição 1.2: Sistema Especialista• É um programa de computador projetado para modelar

a habilidade de resolução de problemas de um especialista humano.

Page 9: 1 Inteligência Artificial (introdução - Sistema Especialista) Prof. Edson Emílio Scalabrin Curso de Ciência da Computação CCET/PUCPR scalabrin@ppgia.pucpr.br.

9

Sistema EspecialistaDiagrama em blocos

Base de conhecimentos

Base de Fatos

Motor deinferência

a Base de Conhecimentos contém conhecimentos altamente especializados fornecidos pelo especialista na área do problema.

a Motor de Inferência é o processador de conhecimento modelado a partir do raciocínio do especialista.

• Ele trabalha com as informações disponíveis sobre um determinado problema e os conhecimentos armazenados na base de conhecimentos para inferir conclusões ou recomendações.

Page 10: 1 Inteligência Artificial (introdução - Sistema Especialista) Prof. Edson Emílio Scalabrin Curso de Ciência da Computação CCET/PUCPR scalabrin@ppgia.pucpr.br.

10

Sistema EspecialistaPor que construir um ?

Fator Esp. Humano Esp. Sistema

disponibilidade/tempo dia / trabalho sempre

geográfico local qualquer lugar

segurança Insubstituível substituível

perecível sim não

desempenho variável constante

velocidade variável constante(normalmente mais rápido)

custo alto razoável

Page 11: 1 Inteligência Artificial (introdução - Sistema Especialista) Prof. Edson Emílio Scalabrin Curso de Ciência da Computação CCET/PUCPR scalabrin@ppgia.pucpr.br.

11

Sistema EspecialistaPor que construir . . .

Substituir um especialista, algumas razões:

tornar as perícias sempre disponíveis (tempo e lugar) ; automatizar tarefas rotineiras que requerem um

especialista; reter os conhecimentos especializados, em particular, em

casos de aposentadoria, mudança de setor, etc.; baratear serviços especializados--especialista é caro; atuar em um ambiente hostil, quando uma perícia se faz

necessária.

Page 12: 1 Inteligência Artificial (introdução - Sistema Especialista) Prof. Edson Emílio Scalabrin Curso de Ciência da Computação CCET/PUCPR scalabrin@ppgia.pucpr.br.

12

Sistema EspecialistaPor que construir . . .

Assistir um especialista, algumas razões:

auxiliar o especialista em alguma tarefa rotineira para melhorar a produtividade;

auxiliar o especialista em alguma tarefa difícil para melhor administrar a complexidade;

tornar disponível ao especialista informações que são de difícil recordação ou memorização.

Page 13: 1 Inteligência Artificial (introdução - Sistema Especialista) Prof. Edson Emílio Scalabrin Curso de Ciência da Computação CCET/PUCPR scalabrin@ppgia.pucpr.br.

13

Sistema EspecialistaEstrutura de um Sistema Especialista

Raciocínio

Memória de longo termo Conhecimento de domínio

Memória de curto termo Caso/Fatos inferidosConclusões

RecomendaçãoCaso, Fatosconclusões

Especialista Humano

Page 14: 1 Inteligência Artificial (introdução - Sistema Especialista) Prof. Edson Emílio Scalabrin Curso de Ciência da Computação CCET/PUCPR scalabrin@ppgia.pucpr.br.

14

Sistema EspecialistaEstrutura de um Sistema Especialista

Motor deInferência

Memória de longo termo Conhecimento de domínio

Memória de curto termo Caso/Fatos inferidosConclusões

UsuárioCaso, Fatosconclusões

Sistema Especialista

Page 15: 1 Inteligência Artificial (introdução - Sistema Especialista) Prof. Edson Emílio Scalabrin Curso de Ciência da Computação CCET/PUCPR scalabrin@ppgia.pucpr.br.

15

Sistema EspecialistaBase de conhecimentos

Definição 2.1: Base de conhecimentos• parte de um sistema especialista que contém o

conhecimento do domínio.

Tarefa do engenheiro do conhecimento• obter o conhecimento do especialista e codificá-lo em

uma base de conhecimentos usando uma dada técnica de representação (e.g. regras).

Page 16: 1 Inteligência Artificial (introdução - Sistema Especialista) Prof. Edson Emílio Scalabrin Curso de Ciência da Computação CCET/PUCPR scalabrin@ppgia.pucpr.br.

16

Sistema EspecialistaBase de conhecimentos . . .

Exemplo de regras:

Regra 01:• Se o carro não ligar

Então o problema pode estar no sistema elétrico

Regra 02:• Se o problema pode estar no sistema elétrico

E a voltagem da bateria está abaixo de 10 voltsEntão a falha é uma bateria ruim

Page 17: 1 Inteligência Artificial (introdução - Sistema Especialista) Prof. Edson Emílio Scalabrin Curso de Ciência da Computação CCET/PUCPR scalabrin@ppgia.pucpr.br.

17

Sistema EspecialistaMemória de trabalho

Definição 2.2: Memória de trabalho• parte de um sistema especialista que contém os fatos

do problema que são descobertos durante a sessão de consulta.

Comentário:• A memória de trabalho contém todas as informações

sobre o problema que são fornecidas pelo usuário ou inferidas pelo sistema.

• Toda informação obtida durante uma consulta é freqüentemente chamada de contexto da sessão.

Page 18: 1 Inteligência Artificial (introdução - Sistema Especialista) Prof. Edson Emílio Scalabrin Curso de Ciência da Computação CCET/PUCPR scalabrin@ppgia.pucpr.br.

18

Sistema EspecialistaMotor de Inferência

Definição 2.3: Motor de Inferência• É o processador em um sistema especialista que confronta os

fatos contidos na memória de trabalho com os conhecimentos de domínio contidos na base de conhecimento para tirar conclusões sobre o problema.

Comentário: • O M.I. trabalha com os fatos contidos na memória de trabalho e o

conhecimento de domínio contido na base de conhecimento para derivar uma nova informação. Ele procura as regras para um casamento entre as suas premissas e as informações contidas na memória de trabalho. Quando o M.I. encontra um casamento, adiciona a conclusão da regra na memória de trabalha e continua ...

Page 19: 1 Inteligência Artificial (introdução - Sistema Especialista) Prof. Edson Emílio Scalabrin Curso de Ciência da Computação CCET/PUCPR scalabrin@ppgia.pucpr.br.

19

Sistema EspecialistaMecanismo e estratégia de inferênciaConsiderando uma regra:

• Se as premissas estão contidas na memória de trabalho, • Então aplica-se a regra, adicionando as conclusões MT• Senão passa para a próxima regra• Quando detecta-se que um objetivo foi atingido ou que

mais nenhuma regra se aplica, o processo de raciocínio é encerrado

Comentário: • as variações nesse mecanismo estão relacionadas a

escolha da primeira regra, a escolha próxima regra, . . .

Page 20: 1 Inteligência Artificial (introdução - Sistema Especialista) Prof. Edson Emílio Scalabrin Curso de Ciência da Computação CCET/PUCPR scalabrin@ppgia.pucpr.br.

20

Sistema EspecialistaExemplo de inferência

Regra 01: Se A = SIM Então B = SIM & C = SIM Regra 02: Se B = SIM Então D = 5 Regra 03: Se C = SIM Então E = 10 Regra 04: Se D > 2 Então G = 1024

A

B

G

D

C

E

A

B

G

D

C

E

1

3

4

52

Encadeamento para frente

Encadeamento para traz

Page 21: 1 Inteligência Artificial (introdução - Sistema Especialista) Prof. Edson Emílio Scalabrin Curso de Ciência da Computação CCET/PUCPR scalabrin@ppgia.pucpr.br.

21

Sistema EspecialistaExemplo de base de regras

Regra 01: Se distância > 5 km, pegaremos o carro

Regra 02: Se distância > 1 km e tempo < 15 minutos, pegaremos o carro

Regra 03: Se distância > 1 km e tempo > 15 minutos, iremos a pé

Regra 04: Se iremos de carro e o cinema é no centro da cidade, pegaremos um taxi

Regra 05: Se iremos de carro e o cinema não é no centro da cidade, pegaremos nosso próprio carro

Regra 06: Se iremos a pé e o tempo está ruim, pegaremos uma impermeável

Regra 07: Se iremos a pé e o tempo está bom, iremos em ritmo de passeio

Page 22: 1 Inteligência Artificial (introdução - Sistema Especialista) Prof. Edson Emílio Scalabrin Curso de Ciência da Computação CCET/PUCPR scalabrin@ppgia.pucpr.br.

22

Sistema EspecialistaShell SINTA

Cálculo de probabilidadesCaso 1:

• Quando deseja-se saber o valor final atribuído às variáveis na conclusão de um regra.

• Seja c1 o grau de confiança atribuído ao resultado final da premissa de uma regra r.

var = value CNF c1. c2.

• c2 é apenas uma referência, pois o valor final é dependente do resultado da premissa.

Page 23: 1 Inteligência Artificial (introdução - Sistema Especialista) Prof. Edson Emílio Scalabrin Curso de Ciência da Computação CCET/PUCPR scalabrin@ppgia.pucpr.br.

23

Sistema EspecialistaShell SINTA

Caso 1: exemplo continuação

• SE fumagina = simENTÃO suspeita de praga = mosca branca, grau de confiança (CNF) 70%.

Cálculo:• Supondo que o grau de confiança da igualdade

fumagina = sim é 80%, teremos que à variável suspeita de praga será atribuído o valor mosca branca, com o respectivo grau de confiança 0.80 * 0.70 = 0.56 = 56%.

Page 24: 1 Inteligência Artificial (introdução - Sistema Especialista) Prof. Edson Emílio Scalabrin Curso de Ciência da Computação CCET/PUCPR scalabrin@ppgia.pucpr.br.

24

Sistema EspecialistaShell SINTA

Caso 2: • Quando deseja-se calcular o grau de confiança

envolvendo o o operador E.

Cálculo :• Se possuímos duas igualdades var1 = value1 e var2 =

value2, com os respectivos graus de confiança c1 e c2, temos que a sentença var1 = value1 E var2 = value2 retornará como valor de confiança c1 x c2.

Page 25: 1 Inteligência Artificial (introdução - Sistema Especialista) Prof. Edson Emílio Scalabrin Curso de Ciência da Computação CCET/PUCPR scalabrin@ppgia.pucpr.br.

25

Sistema EspecialistaShell SINTA

Caso 2: exemplo continuação • SE estados das folhas = esfarelam facilmente

E presença de manchas irregulares = sim...

Cálculo:• Se o grau de confiança da igualdade estados das folhas

= esfarelam facilmente é 80% e o grau de confiança da igualdade presença de manchas irregulares = sim é 70%, temos que a conjunção das duas sentenças retornará um valor CNF de 56%.

Page 26: 1 Inteligência Artificial (introdução - Sistema Especialista) Prof. Edson Emílio Scalabrin Curso de Ciência da Computação CCET/PUCPR scalabrin@ppgia.pucpr.br.

26

Sistema EspecialistaShell SINTA

Caso 3: • Quando deseja-se calcular o grau de confiança com o

operador OU.

Cálculo :• Se possuímos duas igualdades var1 = value1 e

var2 = value2, com os respectivos graus de confiança c1 e c2, temos que a sentença var1 = value1 OU var2 = value2 retornará como valor de confiança c1 + c2 - c1 x c2.

Page 27: 1 Inteligência Artificial (introdução - Sistema Especialista) Prof. Edson Emílio Scalabrin Curso de Ciência da Computação CCET/PUCPR scalabrin@ppgia.pucpr.br.

27

Sistema EspecialistaShell SINTA

Caso 3: exemplo continuação

• SE besouros vermelhos = sim OU larvas marrons = sim ...

Cálculo :• Se o grau de confiança da igualdade besouros

vermelhos = sim é 80% e o grau de confiança da igualdade larvas marrons = sim é 70%, temos que a disjunção das duas sentenças retornará um valor CNF de 0.70 + 0.80 - 0.70 * 0.80 = 1.50 - 0.56 = 0.94 = 94%.

Page 28: 1 Inteligência Artificial (introdução - Sistema Especialista) Prof. Edson Emílio Scalabrin Curso de Ciência da Computação CCET/PUCPR scalabrin@ppgia.pucpr.br.

28

Sistema EspecialistaShell SINTA

Caso 4:• Quando deseja-se atualizar o grau de confiança de uma

variável que se encontra na memória de trabalho.

Situação• A variável doença possuía valor mofo preto com grau de

confiança 60%. Após a aplicação de outras regras chegou-se a uma outra atribuição doença = mofo preto, desta vez com CNF 50%.

Cálculo• O cálculo se dá da mesma forma que a regra do OU:

0.60 + 0.50 - 0.60 * 0.50 = 1.10 - 0.30 = 0.80 = 80%.

Page 29: 1 Inteligência Artificial (introdução - Sistema Especialista) Prof. Edson Emílio Scalabrin Curso de Ciência da Computação CCET/PUCPR scalabrin@ppgia.pucpr.br.

29

Sistema EspecialistaShell SINTA

Caso 5: • Quando uma variável recebe duas vezes o mesmo valor

em pontos diferentes da consulta.

Cálculo:• Em momentos diferentes de uma consulta, uma mesma variável var

pode receber o mesmo valor v, sendo que até à penúltima instanciação ela possuía grau de confiança c1, e a última atribuiu um CNF c2. Sendo assim, temos que o valor final de confiança para var = v será dado pela fórmula ca + cn - ca * cn, onde ca representa o grau de confiança antes da última mudança e cn o último grau de confiança atribuído.

Page 30: 1 Inteligência Artificial (introdução - Sistema Especialista) Prof. Edson Emílio Scalabrin Curso de Ciência da Computação CCET/PUCPR scalabrin@ppgia.pucpr.br.

30

Sistema EspecialistaShell SINTA

Notas• O sistema admite 50% como valor mínimo de confiança

para que uma igualdade seja considerada verdadeira.• Observe que as funções para conjunção e disjunção

utilizadas seguem a Teoria das Possibilidades, não envolvendo nenhum tratamento estatístico mais aprofundado.

• É possível mudar as fórmulas utilizadas.

Page 31: 1 Inteligência Artificial (introdução - Sistema Especialista) Prof. Edson Emílio Scalabrin Curso de Ciência da Computação CCET/PUCPR scalabrin@ppgia.pucpr.br.

31

Sistema EspecialistaExercício

Representar através de um grafo as regras da base SECAJU• encadeamento para frente• encadeamento para traz

Exercitar a Shell SINTA usando as regras da base SECAJU

Entrar com as regras para escolher o meio de transporte para ir ao cinema na Shell SINTA