Post on 18-Jan-2016
description
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
Categorias de Raciocínio
Dedução: fatos + regras => novos fatos• causa => conseqüência• Inferência preserva a verdade
– (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!!!
– 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– Para construir este hospital, vou me basear no projeto daquele outro…
CIn- UFPE
3
Lógica
Já viram • Raciocínio indutivo• 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• Dedução natural
– Um provador que utiliza dedução natural é o Alfie, disponível em http://www.cs.chalmers.se/~sydow/alfie/
• Resolução
CIn- UFPE
4
Desenvolvimento de Sistemas:Problemas
Crise de Software• Desenvolvimento é ad-hoc• Não há um padrão para o processo de desenvolvimento • É preciso utilizar técnicas, teorias, métodos, ferramentas
Profissionais são 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
5
Desenvolvimento de Sistemas:Uma Solução
Uso de Métodos Formais em Engenharia de Software
São métodos de desenvolvimento de software através dos quais se pode:• definir precisamente um sistema e
• a partir destas definições, desenvolver implementações garantidamente corretas
– implementações que façam o que foi inicialmente especificado, terminem, e sejam eficientes
CIn- UFPE
6
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
7
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
8Programas 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 o descreve
• Cálculo de predicados
xyz
2173
CIn- UFPE
9
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 programa termina; (3) derivar código para construir programas que satisfazem a uma
especificação; (4) transformar um sistema em outro equivalente;
CIn- UFPE
10
Bancos 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
11
Por que 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
12
Sistemas Gerenciadores de Bancos de Dados
Um SGBD é uma coleção de programas para criação e manutenção de um banco de dados.
Facilita os processos de definição, construção e manipulação do Banco de Dados.
Tem por objetivo 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
13
Um SGBD tem esta cara
Usuários/Programadores
Aplicações/Queries
Acesso aos dados
Processamento de Queries
Meta-Dados
BD
CIn- UFPE
14
SGBD Dedutivo
Um SGBD Dedutivo é um sistema capaz de deduzir informações adicionais a partir dos fatos e das regras que estão armazenados no banco de dados. • Fatos - são especificados como relações.• Regras - especificam relações virtuais que não estão
armazenadas no banco, mas que podem ser deduzidas a partir dos fatos.
Também são conhecidos como banco de dados lógicos.
O modelo usado pelos BDs dedutivos é relacionado à Programação em Lógica (Prolog) • Eles trabalham com a linguagem Datalog
CIn- UFPE
15
Um Exemplo de SGBD Dedutivo
Regras:• cabeça (premissa) :- corpo (conclusão)(1) superior (X,Y) :- supervisiona (X,Y)(2) 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
16Um exemplo: Fatos derivados pelas regras
pela regra (1)
superior (francisco, joão)superior (francisco, roberto)superior (francisco, jane)superior (maria, alice)superior (maria, antônio)superior (tiago, francisco)superior (tiago, maria)
pela regra (2)
superior (tiago, joão)superior (tiago, roberto)superior (tiago, jane)superior (tiago, alice)superior (tiago, antônio)
CIn- UFPE
17
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
18
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
19
Sistemas Inteligentes
São sistemas capazes de “raciocinar” para resolver um problema
Como escolher o tipo de raciocínio a usar?
Depende do que eu sei e da natureza do 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
20
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
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?
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
23
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 • Mecanismo de Inferência
Base de Conhecimento:• contém sentenças em uma Linguagem de Representação de
Conhecimento– representa conhecimento de forma “tratável” pelo computador– Ex. LPO
Mecanismo (máquina) de Inferência:• responsável por raciocinar (inferir), a partir do conhecimento da
base, novos fatos ou hipóteses intermediárias
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
26
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
27
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
28Sistemas 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
29
Á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
30
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
31
+: 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.
OutrosCarro Carona
Meio detransporte?
+: - - --: E6
+: E1,E7-: - - -
+: E2,E4-: E8
Sim. Não.Quer sair?Sim Não
+: E2,E4-: - - -
+: - - --: E8
Sim. Não.
CIn- UFPE
32
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, KNN, Redes Bayesianas, …)• Simuladores de Redes Neurais
– SNNS (Stuttgart Neural Network Simulator)
CIn- UFPE
33
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
34
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
36
Exemplo
Usos- classificação (casa dos meus sonhos?)- estimativa de preços (adaptação)
CIn- UFPE
37
Algumas aplicações na WEB
FindMe agents• sugere filmes e carros em locadoras• raciocíno através de exemplos
Help Desk• sistema responde dúvidas mais simples, diminuindo a
necessidade em contatar seus engenheiros
CIn- UFPE
38
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
e dinâmicos
Algumas Características• Precisam se comunicar – protocolos de interação• Ambientes abertos com design descentralizado• É preciso coordenar o esforço conjunto• Agentes são autônomos e distribuídos, podendo ter
diferentes atitudes em relação ao grupo:– Interessados neles mesmos;– Interessados no bem coletivo.
CIn- UFPE
39
Aplicações de SMA
Marcação de Reuniões Automática;
Gerenciamento de Redes;
Simulação de Tráfego
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
40Uma Aplicação de SMA
Robocup