cin- ufpe 1 raciocinando dentro ciência da computacao ou raciocínio na ciência da computacao...

26
CIn- UFPE 1 Raciocinando dentro Ciência da Computacao OU Raciocínio na Ciência da Computacao Lógica de Predicados/Primeira Ordem Métodos Formais para Desenvolvimento de Sistemas Banco de Dados Dedutivo Inteligência Artificial

Upload: internet

Post on 21-Apr-2015

103 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CIn- UFPE 1 Raciocinando dentro Ciência da Computacao OU Raciocínio na Ciência da Computacao Lógica de Predicados/Primeira Ordem Métodos Formais para Desenvolvimento

CIn- UFPE

1

Raciocinando dentro Ciência da Computacao

OURaciocínio na Ciência da Computacao

Lógica de Predicados/Primeira Ordem

Métodos Formais para Desenvolvimento de Sistemas

Banco de Dados Dedutivo

Inteligência Artificial

Page 2: CIn- UFPE 1 Raciocinando dentro Ciência da Computacao OU Raciocínio na Ciência da Computacao Lógica de Predicados/Primeira Ordem Métodos Formais para Desenvolvimento

CIn- UFPE

2

Lógica

Já viram com Ruy…• Raciocínio dedutivo (regras de inferência)

Page 3: CIn- UFPE 1 Raciocinando dentro Ciência da Computacao OU Raciocínio na Ciência da Computacao Lógica de Predicados/Primeira Ordem Métodos Formais para Desenvolvimento

CIn- UFPE

3

Métodos Formais para Desenvolvimento de Sistemas

Alexandre

Page 4: CIn- UFPE 1 Raciocinando dentro Ciência da Computacao OU Raciocínio na Ciência da Computacao Lógica de Predicados/Primeira Ordem Métodos Formais para Desenvolvimento

CIn- UFPE

4Uma pausa... Sistemas Gerenciadores de Banco de Dados

Page 5: CIn- UFPE 1 Raciocinando dentro Ciência da Computacao OU Raciocínio na Ciência da Computacao Lógica de Predicados/Primeira Ordem Métodos Formais para Desenvolvimento

CIn- UFPE

5

SGBD Dedutivo

Definição:

Um SGBD Dedutivo é um sistema que inclui capacidade para definir regras que podem deduzir ou inferir informações adicionais dos fatos que estão armazenados no banco de dados.

Parte da fundamentação teórica destes sistemas é a lógica matemática e, por isso, eles também são referidos como banco de dados lógicos.

Page 6: CIn- UFPE 1 Raciocinando dentro Ciência da Computacao OU Raciocínio na Ciência da Computacao Lógica de Predicados/Primeira Ordem Métodos Formais para Desenvolvimento

CIn- UFPE

6Bancos de Dados Dedutivos - Conceitos Básicos

Dois tipos de especificação são usados:

Fatos - são especificados como relações, exceto pelo fato que o nome dos atributos não interessa mas sim a posição deles na tupla.

Regras - especificam relações virtuais (similares às visões relacionais) que não estão armazenadas no banco mas que podem ser criadas a partir dos fatos, aplicando o mecanismo de dedução baseado nas regras.

Page 7: CIn- UFPE 1 Raciocinando dentro Ciência da Computacao OU Raciocínio na Ciência da Computacao Lógica de Predicados/Primeira Ordem Métodos Formais para Desenvolvimento

CIn- UFPE

7

E mais...Conceitos Básicos

Um mecanismo de dedução (ou inferência) em um sistema pode deduzir novos fatos no banco de dados através da interpretação das regras.

O modelo usado pelos BD dedutivos é relacionado à Programação em Lógica (Prolog).

Page 8: CIn- UFPE 1 Raciocinando dentro Ciência da Computacao OU Raciocínio na Ciência da Computacao Lógica de Predicados/Primeira Ordem Métodos Formais para Desenvolvimento

CIn- UFPE

8

SGBD Dedutivo

Existem outros sistemas que incorporam esta capacidade de inferência, chamados sistemas de banco de dados especialistas ou sistemas baseados em conhecimento, incluindo técnicas da inteligência artificial. Estes sistemas diferem do sistemas dedutivos por:• tratar dados sempre em memória principal• extrair o conhecimento dos especialistas das aplicações e

não dos dados.

Page 9: CIn- UFPE 1 Raciocinando dentro Ciência da Computacao OU Raciocínio na Ciência da Computacao Lógica de Predicados/Primeira Ordem Métodos Formais para Desenvolvimento

CIn- UFPE

9

SGBD Dedutivo

A principal contribuição dos banco de dados dedutivos é a possibilidade de especificar regras recursivas e prover uma maneira de inferir novas informações baseada nas regras especificadas.

Forma geral de uma regra: cabeça (head) :- corpo (body)

Conclusão Premissa

Page 10: CIn- UFPE 1 Raciocinando dentro Ciência da Computacao OU Raciocínio na Ciência da Computacao Lógica de Predicados/Primeira Ordem Métodos Formais para Desenvolvimento

CIn- UFPE

10

Inteligência Artificial (IA): definição Surgiu na década de 50

Objetivo: desenvolver sistemas para realizar tarefas que, no momento• são melhor realizadas por seres humanos que por máquinas, ou• não possuem solução algorítmica viável pela computação convencional

Se o ser humano pode, por que não a máquina? (tese de Church-Turing)

problemas que não possuemuma solução algorítmica

problemas solúveispor seres humanos

IA

Page 11: CIn- UFPE 1 Raciocinando dentro Ciência da Computacao OU Raciocínio na Ciência da Computacao Lógica de Predicados/Primeira Ordem Métodos Formais para Desenvolvimento

CIn- UFPE

11

Interação com outras disciplinasMatemática

Sociologia

Psicologia

Filosofia

Lingüística

Computação

IA

Neuro-fisiologia Genética

Page 12: CIn- UFPE 1 Raciocinando dentro Ciência da Computacao OU Raciocínio na Ciência da Computacao Lógica de Predicados/Primeira Ordem Métodos Formais para Desenvolvimento

CIn- UFPE

12

Aplicações Matemática: demonstração de teoremas, resolução simbólica

de equações, geometria, etc.

Pesquisa operacional: otimização e busca heurística em geral

Jogos: xadrez, damas, go, etc.

Processamento de linguagem natural: tradução automática, verificadores ortográficos e sintáticos, interfaces para BDs, etc.

Sistemas tutores: modelagem do aluno, escolha de estratégias pedagógicas, etc.

Percepção: visão, tato, audição, olfato, paladar...

Robótica (software e hardware): manipulação, navegação, monitoramento, etc.

Page 13: CIn- UFPE 1 Raciocinando dentro Ciência da Computacao OU Raciocínio na Ciência da Computacao Lógica de Predicados/Primeira Ordem Métodos Formais para Desenvolvimento

CIn- UFPE

13

Aplicações

Sistemas especialistas: Atividades que exigem conhecimento especializado e não formalizado• Tarefas: diagnóstico, previsão, monitoramento, análise,

planejamento, projeto, etc.• Áreas: medicina, finanças, engenharia, química, indústria,

arquitetura, arte, computação,...

Computação: • engenharia de software (sobretudo na Web)• programação automática• interfaces adaptativas • bancos de dados dedutivos e ativos• mineração de dados (data mining)• sistemas distribuídos, etc.

Page 14: CIn- UFPE 1 Raciocinando dentro Ciência da Computacao OU Raciocínio na Ciência da Computacao Lógica de Predicados/Primeira Ordem Métodos Formais para Desenvolvimento

CIn- UFPE

14

Categorias de Raciocínio na IA

Dedução e Abdução: fatos + regras => novos fatos• Dedução: causa => conseqüência

– Inferência preserva a verdade– Onde há fogo, há fumaça. Aqui tem fogo, logo aqui tem fumaça

• Abdução: conseqüência => causa – Inferência preserva a falsidade!!!– Onde há fumaça, há fogo.

Indução: fatos => regras• Se Sr. Antônio, assim como D. Maria, tem dor de cabeça e

dengue, então todo mundo que tem dengue tem dor de cabeça.

Analógico: casos + regras de adaptação• Para construir este hospital, vou me basear no projeto

daquele outro…

Page 15: CIn- UFPE 1 Raciocinando dentro Ciência da Computacao OU Raciocínio na Ciência da Computacao Lógica de Predicados/Primeira Ordem Métodos Formais para Desenvolvimento

CIn- UFPE

15

Sistemas Inteligentes

São sistemas que raciocinam a fim de resolver um problema

Raciocínio dedutivo:• Sistemas baseados em conhecimento

Raciocínio indutivo:• Sistemas baseados em aprendizagem automática

Raciocínio analógico:• Sistemas de raciocínio baseado em casos

Page 16: CIn- UFPE 1 Raciocinando dentro Ciência da Computacao OU Raciocínio na Ciência da Computacao Lógica de Predicados/Primeira Ordem Métodos Formais para Desenvolvimento

CIn- UFPE

16

Sistemas Inteligentes Dedutivos

Utilizam conhecimento e raciocínio para resolver problemas “difíceis”

Principais componentes:• Base de Conhecimento (arquivo)• Mecanismo de Inferência (procedimento que implementa

raciocínio)

Base de Conhecimento:• contém sentenças em uma Linguagem de Representação

de Conhecimento– representa conhecimento de forma “tratável” pelo computado

Mecanismo (máquina) de Inferência:• responsável por raciocinar (inferir), a partir do conhecimento

da base, novos fatos ou hipóteses intermediárias

Page 17: CIn- UFPE 1 Raciocinando dentro Ciência da Computacao OU Raciocínio na Ciência da Computacao Lógica de Predicados/Primeira Ordem Métodos Formais para Desenvolvimento

CIn- UFPE

17

Esclarecendo... Dados:

• cadeias numéricas ou alfanuméricas que não possuem significado associado

• podem ser fatos ou figuras a processar

Informação:• dados organizados• significam alguma coisa para quem os recebe

Conhecimento:• representa objetos (entidades) de algum domínio, com suas

propriedades e relações

Meta-conhecimento:• conhecimento sobre o conhecimento disponível

– ex. regras sobre “como” manipular as regras sobre conhecimento que estão em uma base

Page 18: CIn- UFPE 1 Raciocinando dentro Ciência da Computacao OU Raciocínio na Ciência da Computacao Lógica de Predicados/Primeira Ordem Métodos Formais para Desenvolvimento

CIn- UFPE

18

Categorias de Conhecimento

Procedimental:• fatos e seqüências de instruções para manipular esses fatos

– ex.: como desmontar uma bicicleta

Declarativo:• representação descritiva dos fatos, relacionamentos e regras

– as partes de uma bicicleta e seus relacionamentos – o pai do pai é o avô

Episódico:• fatos vividos, casos, exemplos...

– ex. D. Maria tem dor de cabeça e dengue

Page 19: CIn- UFPE 1 Raciocinando dentro Ciência da Computacao OU Raciocínio na Ciência da Computacao Lógica de Predicados/Primeira Ordem Métodos Formais para Desenvolvimento

CIn- UFPE

19Linguagens de Representação do

Conhecimento

Uma Linguagem de Representação do Conhecimento é definida por:

1) uma sintaxe, que descreve as configurações que podem constituir sentenças daquela linguagem;

2) uma semântica, que liga cada sentença aos fatos no mundo que ela representa

– cada sentença faz uma afirmação a respeito do mundo;– o agente acredita nas sentenças que correspondem a sua

configuração interna.

E geralmente ... • tem um mecanismo de inferência associado = raciocínio

Page 20: CIn- UFPE 1 Raciocinando dentro Ciência da Computacao OU Raciocínio na Ciência da Computacao Lógica de Predicados/Primeira Ordem Métodos Formais para Desenvolvimento

CIn- UFPE

20

Representação & Raciocínio Raciocínio é um processo de construção de novas sentenças a partir de

sentenças existentes.

Raciocínio plausível (sound):• garante que as novas sentenças representam fatos que se seguem

dos fatos representados pelas sentenças existentes na BC.• implementa a relação de “implicação” entre sentenças

implicasentenças

Representação sem

ântic

a

sentenças

Mundofatos

sem

ântic

a

segue-sefatos

Page 21: CIn- UFPE 1 Raciocinando dentro Ciência da Computacao OU Raciocínio na Ciência da Computacao Lógica de Predicados/Primeira Ordem Métodos Formais para Desenvolvimento

CIn- UFPE

21

Problema…

West é criminoso ou não? • “A lei americana diz que é proibido vender armas a uma

nação hostil. Cuba possui alguns mísseis, e todos eles foram vendidos pelo Capitão West, que é americano”

Como resolver automaticamente este problema de classificação?

Para construir um Sistema Dedutivo, é preciso:• Identificar o conhecimento do domínio (modelo do problema)• Representá-lo utilizando uma linguagem de representação do

conhecimento• Implementar um mecanismo de inferência para utilizar esse

conhecimento

Page 22: CIn- UFPE 1 Raciocinando dentro Ciência da Computacao OU Raciocínio na Ciência da Computacao Lógica de Predicados/Primeira Ordem Métodos Formais para Desenvolvimento

Solucionando o problema em linguagem natural

A) odo americano que vende uma arma a uma nação hostil é criminosoB) Todo país em guerra com uma nação X é hostil a XC) Todo país inimigo político de uma nação X é hostil a XD) Todo míssil é um armaE) Toda bomba é um armaF) Cuba é uma naçãoG) USA é uma naçãoH) Cuba é inimigo político dos USAI) Irã é inimigo político dos USA

conh

ecim

ento

pré

vio

J) West é americanoK) Existe um mísseis em cubaL) Os mísseis de cuba foram vendidos por West co

nhec

imen

to

do p

robl

ema

novo

co

nhec

imen

to

M) Cuba possui um míssel M1 - de KO) M1 é uma arma - de D e NP) Cuba é hostil aos USA - de F, G, H e CQ) M1 foi vendido a Cuba por West - de L, M e NR) West é crimonoso - de A, J, O, F, P e Q

Page 23: CIn- UFPE 1 Raciocinando dentro Ciência da Computacao OU Raciocínio na Ciência da Computacao Lógica de Predicados/Primeira Ordem Métodos Formais para Desenvolvimento

Solucionando o problema em LPOA) x,y,z Americano(x) Arma(y) Nação(z) Hostil(z) Vende(x,z,y) Criminoso(x)B) x Guerra(x,USA) Hostil(x)C) x InimigoPolítico(x,USA) Hostil(x)D) x Míssil(x) Arma(x)E) x Bomba(x) Arma(x)F) Nação(Cuba)G) Nação(USA)H) InimigoPolítico(Cuba,USA)I) InimigoPolítico(Irã,USA)co

nhec

imen

to p

révi

o

J) Americano(West)K) x Possui(Cuba,x) Míssil(x) L) x Possui(Cuba,x) Míssil(x) Vende(West, Cuba,x) co

nhec

imen

to

do p

robl

ema

novo

co

nhec

imen

to M) Possui(Cuba,M1) - Eliminação: quantificador existencial eN) Míssil(M1) conjunção de KO) Arma(M1) - Modus Ponens a partir de D e NP) Hostil(Cuba) - Modus Ponens a partir de C e HQ) Vende(West,Cuba,M1) - Modus Ponens a partir de L, M e NR) Criminoso(West) - Modus Ponens a partir de A, J, O, F, P e Q

Page 24: CIn- UFPE 1 Raciocinando dentro Ciência da Computacao OU Raciocínio na Ciência da Computacao Lógica de Predicados/Primeira Ordem Métodos Formais para Desenvolvimento

CIn- UFPE

24

Sistemas Inteligentes Indutivos

Diversas abordagens• ID3• RN

Page 25: CIn- UFPE 1 Raciocinando dentro Ciência da Computacao OU Raciocínio na Ciência da Computacao Lógica de Predicados/Primeira Ordem Métodos Formais para Desenvolvimento

CIn- UFPE

25

Sistemas Inteligentes Analógicos

RBC

Page 26: CIn- UFPE 1 Raciocinando dentro Ciência da Computacao OU Raciocínio na Ciência da Computacao Lógica de Predicados/Primeira Ordem Métodos Formais para Desenvolvimento

CIn- UFPE

26

Agentes Inteligentes: arquitetura básica

sensoresAgente

efetuadores

a m

b i

e n

t e Base de Conhecimento (ou de Casos)Máquina de Inferência (Raciocínio)E/OU Mecanismo de Aprendizagem

Tell

TellAsk

Tell - - adiciona novas sentenças à BCAsk - consulta a BC