A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

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.

Apresentações semelhantes


Apresentação em tema: "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."— Transcrição da apresentação:

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 de Sistemas Banco de Dados Dedutivo Inteligência Artificial

2 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/

3 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

4 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!

5 CIn- UFPE 5 O 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.

6 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 Axiomas pop (push (i, p)) = p top (push (i, p)) = i e_vazia (p) = (p = vazia)

7 CIn- UFPE 7 Programas 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 < y  x = 2  y = 17  z = 3 Um estado satisfaz uma fórmula se aquela fórmula descreve ele Cálculo de predicados xyzxyz

8 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;

9 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.

10 CIn- UFPE 10 Porque usar Banco de Dados? Banco de Dados X Sistema de Arquivos Dados Manipulados por vá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

11 CIn- UFPE 11 E 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

12 CIn- UFPE 12 Um SGBD tem esta cara Usuários/Programadores Aplicações/Queries Acesso aos dados Processamento de Queries Meta- Dados BD

13 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.

14 CIn- UFPE 14 Bancos 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.

15 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.

16 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.

17 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

18 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

19 CIn- UFPE 19 Um exemplo... cont Exemplo (cont.): Fatos derivados 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)

20 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 possuem uma solução algorítmica problemas solúveis por seres humanos IA

21 CIn- UFPE 21 Interação com outras disciplinas Matemática Sociologia Psicologia Filosofia Lingüística Computação IA Neuro-fisiologia Genética

22 CIn- UFPE 22 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.

23 CIn- UFPE 23 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.

24 CIn- UFPE 24 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…

25 CIn- UFPE 25 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

26 CIn- UFPE 26 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

27 CIn- UFPE 27 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

28 CIn- UFPE 28 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

29 CIn- UFPE 29 Linguagens 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

30 CIn- UFPE 30 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 implica sentenças Representação semântica sentenças Mundo fatos semântica segue-se fatos

31 CIn- UFPE 31 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

32 Solucionando o problema em linguagem natural A)  odo americano que vende uma arma a uma nação hostil é criminoso B) Todo país em guerra com uma nação X é hostil a X C) Todo país inimigo político de uma nação X é hostil a X D) Todo míssil é um arma E) Toda bomba é um arma F) Cuba é uma nação G) USA é uma nação H) Cuba é inimigo político dos USA I) Irã é inimigo político dos USA conhecimento prévio J) West é americano K) Existe um mísseis em cuba L) Os mísseis de cuba foram vendidos por West conhecimento do problema novo conhecimento M) Cuba possui um míssel M1- de K O) M1 é uma arma- de D e N P) Cuba é hostil aos USA- de F, G, H e C Q) M1 foi vendido a Cuba por West- de L, M e N R) West é crimonoso- de A, J, O, F, P e Q

33 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) conhecimento prévio J) Americano(West) K)  x Possui(Cuba,x)  Míssil(x) L)  x Possui(Cuba,x)  Míssil(x)  Vende(West, Cuba,x) conhecimento do problema novo conhecimento M) Possui(Cuba,M1)- Eliminação: quantificador existencial e N) Míssil(M1) conjunção de K O) Arma(M1)- Modus Ponens a partir de D e N P) Hostil(Cuba)- Modus Ponens a partir de C e H Q) Vende(West,Cuba,M1)- Modus Ponens a partir de L, M e N R) Criminoso(West)- Modus Ponens a partir de A, J, O, F, P e Q

34 CIn- UFPE 34 Sistemas Inteligentes Indutivos Diversas abordagens ID3 RN

35 CIn- UFPE 35 Sistemas Inteligentes Analógicos RBC

36 CIn- UFPE 36 Agentes Inteligentes: arquitetura básica sensores Agente 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 Ask - Tell - adiciona novas sentenças à BC Ask - consulta a BC

37 CIn- UFPE 37 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.

38 CIn- UFPE 38 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

39 CIn- UFPE 39 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

40 CIn- UFPE 40 Uma Aplicação de SMA Robocup


Carregar ppt "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."

Apresentações semelhantes


Anúncios Google