cin- ufpe 1 implementando raciocínio na ciência da computacao lógica de predicados/primeira ordem...

48
CIn- UFPE 1 Implementando 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

119 views

Category:

Documents


6 download

TRANSCRIPT

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

CIn- UFPE

1

Implementando 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

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

CIn- UFPE

2

Lógica

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

• Os silogismos, que nós trabalhamos são um exemplo…Nenhum tirano é amado.Dionísio é tirano.Dionísio não é amado

• Também trabalharam com procedimentos de prova, como a Dedução natural, resolução, por exemplo.

– Um provador que utiliza dedução natural é o Alfie, disponível em:– http://www.cs.chalmers.se/~sydow/alfie/

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

CIn- UFPE

3

Métodos Formais para o Desenvolvimento de Sistemas

Motivação• Crise de Software

– Desenvolvimento é ad-hoc– Não há um padrão para o processo– É preciso utilizar técnicas, teorias, métodos, ferramentas

• Profissionais Incapazes de Controlar– Custo– Tempo de duração do processo de construção do software– Qualidade do Produto desenvolvido

• Manutenção toma 70-80% do esforço

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

CIn- UFPE

4

O Problema da Especificação de Software

Especificação

Projeto

Implementação

Manutenção

Especificação: informal

Projeto: informal ou estruturado, semi-formal • JSD, Yourdon, OMT, BON, UML, ...

Implementação: sem garantia de realizar o projeto

Verificação e validação são ignorados!

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

CIn- UFPE

5O que são Métodos Formais em Engenharia de Software

Método de desenvolvimento de software

através do qual se pode definir precisamente um sistema e

desenvolver implementações garantidamente corretas em relação a esta definição.

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

CIn- UFPE

6

Um Exemplo de Especificação

Tipo: pilha-int

Funções vazia: -> pilha-int push: int pilha-int -> pilha-int pop: pilha-int -> pilha-int top: pilha-int -> int e_vazia: pilha-int -> bool

Axiomaspop (push (i, p)) = p top (push (i, p)) = i e_vazia (p) = (p = vazia)

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

CIn- UFPE

7Programas Abstratos... Podem derivar Programas “Reais”

Descrições de estado• Exemplo de estado

Variáveis x, y, e z

• Uma fórmula descreve um estado se ela é tornada verdadeira pelos mapeamentos do estado

x = 2 x + z < yx = 2y = 17 z = 3

• Um estado satisfaz uma fórmula se aquela fórmula descreve ele

• Cálculo de predicados

xyz

2173

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

CIn- UFPE

8

Então...

Primeiro, especificamos o sistema via pré e pós-condições;

Depois, esta descrição matemática é transformada gradualmente em código refinamento do programa!

Se tivermos as propriedades da especificação codificadas em uma linguagem lógica, conseguimos prová-las.

Resumindo... Usando técnicas de raciocínio lógico, podemos: (1) verificar se o programa produz o que se espera; (2) verificar se o progrmaa termina; (3) derivar código para construir programas que satisfazem a uma

especificação; (4) transformar um sistema em outro equivalente;

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

CIn- UFPE

9

Uma pausa... Banco de Dados

Um Banco de Dados...• É uma coleção de dados relacionados...

Mais precisamente...• Um BD é projetado, construído e preenchido com dados para

um objetivo específico. Tem um público alvo e algumas aplicações nas quais os usuários estão interessados.

Um banco de dados pode ser:• Manual: catálogo de cartões da biblioteca;• Computadorizado: sistema de alunos da universidade.

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

CIn- UFPE

10

Porque usar Banco de Dados?

Banco de Dados X Sistema de ArquivosDados Manipulados porvários usuários com umaúnica visão

Registros físicos compostos de campos

Agrupamento de um conjunto de arquivos, compartilhados por usuários diferentes, concorrentes e... competidores

Dados manipulados por vários usuários com visões diferentes

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

CIn- UFPE

11E mais... Os Sistemas Gerenciadores de Bancos de Dados

Um SGBD é uma coleção de programas para criação e manutenção de um banco de dados.

É um sistema de propósito geral.

Facilita os processos de definição, construção e manipulação do Banco de Dados.

Tem por objetivos...• Eliminar ou Reduzir

– Redundância e Inconsistência de Dados– Dificuldade no Acesso aos Dados– Isolamento dos Dados– Anomalias de Acesso Concorrente– Problemas de Segurança

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

CIn- UFPE

12

Um SGBD tem esta cara

Usuários/Programadores

Aplicações/Queries

Acesso aos dados

Processamento de Queries

Meta-Dados

BD

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

CIn- UFPE

13

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 14: CIn- UFPE 1 Implementando Raciocínio na Ciência da Computacao Lógica de Predicados/Primeira Ordem Métodos Formais para Desenvolvimento de Sistemas Banco

CIn- UFPE

14Bancos 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 15: CIn- UFPE 1 Implementando Raciocínio na Ciência da Computacao Lógica de Predicados/Primeira Ordem Métodos Formais para Desenvolvimento de Sistemas Banco

CIn- UFPE

15

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). Eles trabalham com a linguagem Datalog.

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

CIn- UFPE

16

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 17: CIn- UFPE 1 Implementando Raciocínio na Ciência da Computacao Lógica de Predicados/Primeira Ordem Métodos Formais para Desenvolvimento de Sistemas Banco

CIn- UFPE

17

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 18: CIn- UFPE 1 Implementando Raciocínio na Ciência da Computacao Lógica de Predicados/Primeira Ordem Métodos Formais para Desenvolvimento de Sistemas Banco

CIn- UFPE

18

Um Exemplo de SGBD Dedutivo

Exemplo:

Regras:• superior (X,Y) :- supervisiona (X,Y)• superior (X,Y) :- supervisiona (X,Z), superior(Z,Y)

Fatos conhecidos:• supervisiona (francisco, joão)• supervisiona (francisco, roberto)• supervisiona (francisco, jane)• supervisiona (maria, alice)• supervisiona (maria, antônio)• supervisiona (tiago, francisco)• supervisiona (tiago, maria)• supervisiona (X,Y) é falso para qualquer outra combinação

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

CIn- UFPE

19

Um exemplo... cont

Exemplo (cont.):

Fatos derivados

pela regra 1superior (francisco, joão)superior (francisco, roberto)superior (francisco, jane)superior (maria, alice)superior (maria, antônio)superior (tiago, francisco)superior (tiago, maria)

pela regra 2superior (tiago, joão)superior (tiago, roberto)superior (tiago, jane)superior (tiago, alice)superior (tiago, antônio)

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

CIn- UFPE

20

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 21: CIn- UFPE 1 Implementando Raciocínio na Ciência da Computacao Lógica de Predicados/Primeira Ordem Métodos Formais para Desenvolvimento de Sistemas Banco

CIn- UFPE

21

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.

Sistemas especialistas: diagnóstico, previsão, monitoramento, análise, planejamento, projeto, etc.

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

CIn- UFPE

22

Categorias de Raciocínio na IA

Dedução: fatos + regras => novos fatos• causa => conseqüência• Inferência preserva a verdade

– Ex. (Onde há fogo(V) => há fumaça(V)) + aqui tem fogo => aqui tem fumaça

Indução: fatos => regras• conseqüência => causa • Inferência preserva a falsidade!!!

– Ex.. Aqui tem fumaça e tem fogo => onde há fumaça(F) => há fogo(F)– Algumas reações químicas geram fumaça sem fogo

– 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 similares + regras de adaptação => novos casos– EX. Para construir este hospital, vou me basear no projeto daquele

outro…

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

CIn- UFPE

23

Como escolher um tipo de raciocínio?

Sistemas Inteligentes: • São sistemas capazes de “raciocinar” para resolver um

problema

Conhecimento => modelo do problema (regras) SIM • Dedução

– Sistemas baseados em conhecimento

Modelo do problema NÃO & exemplos de solução SIM• Indução

– Sistemas baseados em aprendizagem automática

Modelo do problema FRACO & exemplos de solução SIM• Analogia

– Sistemas de raciocínio baseado em casos

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

CIn- UFPE

24

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• Conhecimento em extensão = exemplos• Conhecimento em intenção = regras

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

CIn- UFPE

25

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?

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

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 USAco

nhec

imen

to p

révi

o

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 27: CIn- UFPE 1 Implementando Raciocínio na Ciência da Computacao Lógica de Predicados/Primeira Ordem Métodos Formais para Desenvolvimento de Sistemas Banco

CIn- UFPE

27

Sistemas Baseados em Conhecimento:Dedução

Utilizam conhecimento em intenção e um mecanismo de raciocínio dedutivo (inferência) para resolver problemas

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

capacidade de raciocinar)

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 28: CIn- UFPE 1 Implementando Raciocínio na Ciência da Computacao Lógica de Predicados/Primeira Ordem Métodos Formais para Desenvolvimento de Sistemas Banco

CIn- UFPE

28Linguagens 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 29: CIn- UFPE 1 Implementando Raciocínio na Ciência da Computacao Lógica de Predicados/Primeira Ordem Métodos Formais para Desenvolvimento de Sistemas Banco

CIn- UFPE

29

Representação & Raciocínio

Raciocínio:• processo de construção de novas sentenças a partir de sentenças

existentes.

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

dos fatos representados pelas sentenças existentes na Base de Conhecimento.

• 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 30: CIn- UFPE 1 Implementando Raciocínio na Ciência da Computacao Lógica de Predicados/Primeira Ordem Métodos Formais para Desenvolvimento de Sistemas Banco

Solucionando o problema em LPO

A) 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 31: CIn- UFPE 1 Implementando Raciocínio na Ciência da Computacao Lógica de Predicados/Primeira Ordem Métodos Formais para Desenvolvimento de Sistemas Banco

Implementando a solução do problema:algumas possibilidades

Prolog • Linguagem de alto nível baseada em LPO• Tem mecanismo de inferência embutido

Java• Linguagem orientada a objetos• Mecanismo de inferência separado da linguagem

– Exemplos: Jess, JEOPS (CIn-UFPE)

Shells para criar sistemas baseados em regras de produção• Regras de produção são fáceis de escrever (if-then)• Sistemas gerados restringem a LPO• Mecanismo de inferência embutido

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

CIn- UFPE

32

Sistemas de Aprendizagem Automática:Indução

Modelo do problema NÃO & exemplos de solução SIM

Conhecimento em extensão(exemplos)

Conhecimento em intenção(regras, definições)

Exemplosdia 29, a Caxangá estava engarrafadadia 30, a Caxangá estava engarrafadadia 01, a Caxangá estava engarrafadadia 03, a Caxangá estava engarrafada

Hipótese indutivaTodo dia, a Caxangá está engarrafada

Sistema de aprendizagem

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

CIn- UFPE

33Sistemas de Aprendizagem Indutiva:

Como o Sistema Aprende?

Técnicas de treinamento do sistema:• Aprendizagem supervisionada: certo ou errado

– Dado um conjunto de exemplos pré-classificados, o sistema deve aprender (induzir) uma descrição geral que encapsula a informação contida nesses exemplos, e que pode ser usada para prever casos futuros (generalização)

– ex. concessão de crédito

• Aprendizagem não-supervisionada: ? – Dado um conjunto de dados não classificados, agrupá-los por

regularidades– ex. caixa de supermercado empacotando

• Aprendizagem por reforço: recompensa/punição– ex. jogo de xadrez: é por aí!

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

CIn- UFPE

34Sistemas de Aprendizagem Indutiva:

Árvore de Decisão

A partir de um conjunto de propriedades, decide sim ou não

Representação de árvores de decisão• Cada nó interno testa um atributo• Cada ramo corresponde a um valor do atributo• Cada folha atribui uma classificação

Exemplo Soparia (by Carlos Figueira)• predicado-objetivo: vaiASoparia• Atributos considerados:

– Sono: Estou com sono?

– Transporte: Tenho como ir de carro? Carona? etc.

– CONIC: Devo estar amanhã cedo no CONIC?

– Álcool: Estou precisando de álcool?

– Sair: Quero sair de casa?

– Fome: Estou com fome?

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

CIn- UFPE

35

Árvore de Decisão “pensada”

Sono?

CONIC?

Carro

Não.

Outros

CONIC?Carona

Sim

Sim.

Não

Não.

Não

Quer sair?Sim

Não.

Sim.

Não

Meio detransporte?

PoucoSim

Não.

Sim.

Não

Precisa deálcool?

Sim

Sim

Sim.

Não

Não.

atributovalores

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

CIn- UFPE

36

ID3: exemplos da Soparia

Atributos: (Sono, Transporte, CONIC, Álcool, Sair, Fome)-> propriedade-objetivo• E01: (Pouco,Carro,Sim,Sim,Não,Sim) -> Sim!• E02: (Pouco,Carona,Não,Não,Sim,Sim) -> Sim!• E03: (Sim,Carro,Não,Sim,Sim,Sim) -> Não.• E04: (Pouco,Carona,Não,Não,Sim,Não) -> Sim!• E05: (Sim,Outros,Sim,Sim,Sim,Não) -> Não.• E06: (Pouco,Outros,Não,Sim,Não,Sim) -> Não.• E07: (Pouco,Carro,Sim,Não,Sim,Sim) -> Sim!• E08: (Pouco,Carona,Não,Não,Não,Sim) -> Não.• E09: (Sim,Carro,Não,Sim,Sim,Não) -> Não.• E10: (Não,Outros,Sim,Sim,Sim,Sim) -> Sim!• E11: (Não,Carro,Não,Sim,Sim,Não) -> Sim!• E12: (Não,Carona,Não,Sim,Sim,Sim) -> Sim!

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

CIn- UFPE

37

Indução top-down de árvores de decisão

Loop principal:1. A o “melhor” atributo de decisão para o próximo nó2. Atribua A como atributo de decisão para nó3. Para cada valor de A, crie um novo descendente para nó4. Classifique os exemplos de treinamento nos nós folha5. Se os exemplos de treinamento estão classificados

perfeitamente, então PARE, senão comece novamente a partir dos novos nós folha

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

CIn- UFPE

38

+: E1,E2,E4, E7-: E6,E8

Árvore de Decisão “Induzida”

+: E1,E2,E4,E7,E10,E11,E12-: E3, E5, E6, E8, E9

Sono?Não

PoucoSim

+: - - --: E3, E5, E9

+: E10,E11,E12-: - - -

Sim.Não.

OutrosCarroCarona

Meio detransporte?

+: - - --: E6

+: E1,E7-: - - -

+: E2,E4-: E8

Sim. Não.Quer sair?Sim Não

+: E2,E4-: - - -

+: - - --: E8

Sim. Não.

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

CIn- UFPE

39

Sistemas de Aprendizagem Automática:Implementação

Selecionar exemplos para treinamento e teste do Sistema• Classificados ou não

Apresentar os exemplos a um algoritmo de aprendizagem automática• Shells

– WEKA (ID3, AG,…)• Simuladores de Redes Neurais

– Ex…

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

CIn- UFPE

40

Raciocínio Baseado em Casos:Analogia

Modelo do problema FRACO & exemplos de solução SIM• Conhecimento em intenção e em extensão

É um método de resolução de problemas onde novos

problemas são resolvidos adaptando-se soluções de

antigos problemas similares

Um caso• é um episódio vivido• contém a descrição de problema + solução• exemplos: um paciente, um projeto arquitetônico, uma

situação, uma causa jurídica, etc.

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

CIn- UFPE

41

Casos: experiência vivida

Classificação: “Os problemas de ouvido deste paciente são casos típicos de otite média”

Soluções compiladas: “Os sintomas de coração do paciente X podem ser explicados da mesma maneira que aquele paciente Y”

Avaliando medidas: Minha casa é como aquela que foi vendida mais em baixo nesta rua por R$25.000,00 mas ela tem uma vista melhor”

Concepção (design): para projetar este hospital, vou me basear naquele que já fiz com um número de leitos parecido, embora tenha de adaptá-lo pois este é de esquina

Avaliando opções: se nós atacássemos as instalações dos mísseis cubanos/russos, seria como no caso de Pearl Harbor

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

novocaso(alvo)

casorecupe-

rado(fonte)

problema

CasosReutilizar

Recuperar

Reter

Revisar

novocaso

(alvo)

soluçãosugerida

soluçãofinal

casosolução

casotestado

ecorrigido

casoaprendido

Indexar

Funcionamento do RBC: ciclo dos 4 RE´s

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

CIn- UFPE

43

Exemplo

Usos- classificação (casa dos meus sonhos?)- estimativa de preços (adaptação)

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

CIn- UFPE

44

Algumas aplicações na WEB

FindMe agents• sugere filmes e carros em locadoras• raciocino através de exemplos

Help Desk• sistema responde às dúvidas mais simples, restringindo a

necessidade em contatar seus engenheiros

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

CIn- UFPE

45

Os Sistemas Multi-Agentes

“Duas Cabeças Pensam Melhor que Uma”

Por que SMA?• Às vezes a computação centralizada não é possível.• A informação é distribuída, residindo em sistemas

complexos.

Algumas Características• Precisam se comunicar – protocolos de interação.• Ambientes abertos com design descentralizado• Agentes são autônomos e distribuídos, podendo ser

“bonzinhos” ou mais egoístas.

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

CIn- UFPE

46

Aplicações de SMA

Marcação de Reuniões Automática;

Gerenciamento de Redes;

Gerenciamento de Informação em Ambientes como a Internet.

Entretenimento

Otimização de Processos de Produção

Simulação de Fenômenos Sociais.

Análise de Negócios

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

CIn- UFPE

47

Questões do Design de SMA

Cada Agente é Limitado – precisam interagir.

Não há (muitas vezes) o controle central.

Autonomia.

Coordenação• Agentes com atitudes de Cooperação/ Competição• Teoria dos Jogos• Dependência entre Eles.

Problema da Comunicação

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

CIn- UFPE

48Uma Aplicação de SMARobocup