Upload
internet
View
119
Download
6
Embed Size (px)
Citation preview
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
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/
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
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!
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.
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)
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
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;
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.
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
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
CIn- UFPE
12
Um SGBD tem esta cara
Usuários/Programadores
Aplicações/Queries
Acesso aos dados
Processamento de Queries
Meta-Dados
BD
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.
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.
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.
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.
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
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
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)
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
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.
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…
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
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
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?
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
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
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
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
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
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
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
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í!
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?
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
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!
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
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.
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…
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.
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
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
CIn- UFPE
43
Exemplo
Usos- classificação (casa dos meus sonhos?)- estimativa de preços (adaptação)
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
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.
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
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
CIn- UFPE
48Uma Aplicação de SMARobocup