Sistemas de Representação e Raciocínio



Documentos relacionados
Figura 5.1.Modelo não linear de um neurônio j da camada k+1. Fonte: HAYKIN, 2001

Introdução à Engenharia de Computação

1 INTRODUÇÃO 1.1 CONCEITO DE PARADIGMAS DE LINGUAGEM DE PROGRAMAÇÃO PARADIGMAS DE LINGUAGEM DE PROGRAMAÇÃO

Introdução ao Paradigma Orientado a Objetos. Principais conceitos

LINGUAGENS E PARADIGMAS DE PROGRAMAÇÃO. Ciência da Computação IFSC Lages. Prof. Wilson Castello Branco Neto

Implementando uma Classe e Criando Objetos a partir dela

Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre César M de Oliveira

Programação Orientada a Objetos. Introdução à Análise Orientada a Objetos (AOO)

Introdução a Informática. Prof.: Roberto Franciscatto

natureza do projeto e da aplicação métodos e ferramentas a serem usados controles e produtos que precisam ser entregues

Breve Histórico & Conceitos Básicos

Utilizando os Diagramas da UML (Linguagem Unificada de Modelagem) para desenvolver aplicação em JSF

Regras Métodos Identificadores Variáveis Constantes Tipos de dados Comandos de atribuição Operadores aritméticos, relacionais e lógicos

Agenda Semântica. Grupo: Francisco Rodrigues Júnior Guilherme Daher Ferreira Luana Vieira Morellato Renan Rigo

Algoritmos e Programação Parte Teórica

A SEGUIR ALGUMAS DICAS PARA O DESENVOLVIMENTO DE UM PROJETO CIENTÍFICO

ESTENDENDO A UML PARA REPRESENTAR RESTRIÇÕES DE INTEGRIDADE

2 Ferramentas Utilizadas

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO

Linguagem e Técnicas de Programação I Tipos de dados, variáveis e constantes. Prof. MSc. Hugo Souza Material desenvolvido por: Profa.

Técnicas de ensino e domínios de aprendizagem

UML e a Ferramenta Astah. Profa. Reane Franco Goulart

3.1 Definições Uma classe é a descrição de um tipo de objeto.

Programação Funcional. Capítulo 1. Introdução. José Romildo Malaquias. Departamento de Computação Universidade Federal de Ouro Preto 2015.

Roteiro. MC-102 Aula 01. Hardware e dispositivos. O que é um computador? Primeiro Semestre de A linguagem C

TÉCNICAS DE PROGRAMAÇÃO

Simulado de Algoritmos - Respostas

VIII. VARIÁVEIS. Tabela I ARQUITETURA DA MEMÓRIA. 0x0000 0x34 0x0001 0xB0 0x0002 0x23. 0xFFFF 0x00

Curso Técnico em Redes

Matemática Discreta para Computação e Informática

Processamento de Linguagem Natural (PLN)

Prof. Jhonatan Fernando

Engenharia de Software

Algoritmos e Programação Conceitos e Estruturas básicas (Variáveis, constantes, tipos de dados)

É importante que nos atenhamos a alguns aspectos importantes sobre banco de dados:

Fundamentos de Física e Matemática para Biologia-FFCLRP-USP Primeiro Semestre de 2007 Professor: Antônio C. Roque (DFM-FFCLRP-USP)

DESENVOLVENDO COMPETÊNCIAS MATEMÁTICAS Marineusa Gazzetta *

CTGEO ESCOLA. Abaixo algumas respostas das principais dúvidas do SIG CTGEO ESCOLA. E entre elas,

Linguagens de. Aula 01. Profa Cristiane Koehler

Evolução da cooperação em populações modeladas por autômatos celulares com o uso de teoria de jogos

FAZEMOS MONOGRAFIA PARA TODO BRASIL, QUALQUER TEMA! ENTRE EM CONTATO CONOSCO!

Testando e Comparando Valores

Capítulo 2. Processos de Software Pearson Prentice Hall. Todos os direitos reservados. slide 1

Curso Técnico em Informática Organização Curricular. A carga horária total dos módulos é oferecida conforme quadro síntese abaixo:

Unidade I Conceitos BásicosB. Conceitos BásicosB

Organização de Computadores Software

Usando um Simulador da Máquina de Turing Claudio Kirner 2010

Sistemas Híbridos Inteligentes

Lógica para a Programação - 1º semestre AULA 01 Prof. André Moraes

Itens estruturais/caso de uso. Itens estruturais/classe ativa. Itens estruturais/componente. Itens estruturais/artefatos. Itens comportamentais

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)

GEO A75 - Trabalho Final de Graduação I

A abordagem da Engenharia Semiótica para o desenvolvimento de software centrado no usuário

Faculdade de Computação

Piaget diz que os seres humanos passam por uma série de mudanças previsíveis e ordenadas; Ou seja, geralmente todos os indivíduos vivenciam todos os

5. Uma lousa denominada EPI (registrador de endereço de próxima instrução).

C D V Centros de Desmanches de Veículos Automotores, Comércio de Peças Usadas e Reciclagem de Sucatas

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios

1. Modelagem de Sistemas 1.1. Os Desenvolvedores de Sistemas podem Escolher entre Quatro Caminhos

Paradigmas de Programação

2. Objetivos do Sistema

Linguagem de Programação I. Orientação a Objetos em Java

Gerenciamento da Integração (PMBoK 5ª ed.)

Modelo Ambiental: Define as fronteiras entre o sistema e o resto do mundo.

BANCO DE DADOS I. Prof. Antonio Miguel Faustini Zarth

Computação II Orientação a Objetos

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008

Assunto 9 : Tecnologias de Inteligência Artificial nos Negócios

IA: Introdução. Prof. Msc Ricardo Britto DIE-UFPI

Projeto da Disciplina Parte1: Estudo de Viabilidade. Um Estudo de Viabilidade

Computador E/S, Memória, Barramento do sistema e CPU Onde a CPU Registradores, ULA, Interconexão interna da CPU e Unidade de controle.

Tópicos Avançados em Banco de Dados Gerenciamento de Transações em Banco de Dados. Prof. Hugo Souza

E/S CPU. Memória (Instruções e dados) 2 PARADIGMA IMPERATIVO. Instruções e dados. Resultados das operações. Unidade lógica e aritmética

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

Solução de problemas por meio de busca (com Python) Luis Martí DEE/PUC-Rio

O modelo Entidade-Relacionamento. Agenda: -Modelagem de dados utilizando O Modelo Entidade-Relacionamento

Gerenciamento de Requisitos Gerenciamento de Requisitos

Engenharia de Software. Tema 1. Introdução à Engenharia de Software Profa. Susana M. Iglesias

Metodologia de Desenvolvimento de Software. Prof. M.Sc. Sílvio Bacalá Jr

Linguagens de Programação. Introdução. Carlos Bazilio

Gerenciamento de Projetos Modulo II Clico de Vida e Organização

GBD PROF. ANDREZA S. AREÃO

18º Congresso de Iniciação Científica IMPLEMENTAÇÃO DE UM MODELO DE TESTE DE APLICAÇÕES WEB

Administração de Pessoas

Planificação de. Aplicações Informáticas B

UNICE Ensino Superior Linguagem de Programação Ambiente Cliente Servidor.

Programação Orientada a Objeto

Representação do Conhecimento

Fundamentos de Modelagem de Sistemas

Copyright Proibida Reprodução. Prof. Éder Clementino dos Santos

Judgment Você toma milhares de decisões todos os dias, das mais simples às mais importantes. Quais serão as certas?

Lógica Computacional

Competências e habilidades EIXOS COGNITIVOS (comuns a todas as áreas de conhecimento) I. Dominar linguagens (DL): dominar a norma culta da Língua

Seminário de Avaliação Econômica de Projetos Sociais

Problemas básicos nos. Serviços Gladius MP

Sistemas Inteligentes. Aula: Agentes Inteligentes Flávia Barros & Patricia Tedesco

Informática I. Aula 1. Aula 1-17/04/2006 1

Transcrição:

Sistemas de Representação e Raciocínio Introdução à Inteligência Artificial Profa. Josiane Baseado no material de David Poole, Alan Mackworth e Randy Goebel Abril/2007

Inteligência Artificial Objetivo específico: Entender os princípios que tornam possível o comportamento inteligente, em sistemas naturais ou artificiais Objetivos de engenharia: Especificar métodos para projetar artefatos úteis e inteligentes Hipótese central da inteligência computacional Sistemas simbólicos: raciocínio é manipulação de símbolos Tese de Church-Turing: qualquer manipulação de símbolos pode ser executada por uma Máquina de Turing 2

O Conhecimento é importante Executar tarefas que envolvem inteligência requerem conhecimento armazenado Conhecimento é a informação sobre algum domínio ou assunto de uma área, ou sobre como fazer alguma coisa Conhecimento de senso comum Computadores são bons em tarefas que não requerem muito conhecimento Aritmética, repetição, ordenação... Humanos são bons em tarefas que requerem conhecimento intensivo Reconhecer faces em figuras, diagnóstico médico, entendimento de linguagem natural... 3

Propósito da Inteligência Computacional Projetar sistemas computacionais que tem conhecimento sobre o mundo e agem nele baseados em conhecimento Eles devem ser capazes de adquirir e representar conhecimento para resolver problemas Adquirir e representar conhecimento sobre um domínio e usar este conhecimento para responder questões e resolver problemas 4

Sistemas de representação e raciocínio É composto de: Uma linguagem para se comunicar com o computador Uma forma de associar significado à linguagem Procedimentos para computar respostas de acordo com a linguagem de entrada 5

Uma representação deve ser Rica o bastante para expressar o conhecimento necessário para resolver o problema Ser tão próxima do problema quanto possível: compacta, natural e de fácil manutenção A computação sobre ela deve ser eficiente Permitir aprendizagem com os dados e com as experiências passadas Ter um balanceamento entre precisão e tempo de computação 6

Representação Fortran, Java, C++, Lisp Mapear um domínio para uma representação utilizando uma linguagem baseada em passos é uma tarefa difícil Linguagem Natural O mapeamento se torna mais fácil, porém, a computação necessária para raciocinar sobre a entrada é muito difícil SRR A distância entre a especificação natural e a representação do problema não estejam muito distantes Dada alguma entrada, a computação necessária deve ser eficientemente determinada Exemplo simples de SRR: Banco de dados 7

Como usar um SRR Especifique o domínio de tarefa que você quer caracterizar Qual é o domínio que você quer responder perguntas, resolver problema, ou interagir Distingua coisas que você quer falar sobre o domínio Defina a ontologia do domínio Use símbolos para representar objetos e relações no domínio Símbolos denotam objetos no mundo real. Coloque no computador o conhecimento sobre o domínio O que é verdade no domínio (fatos conhecimento declarativo), como resolver problemas no domínio (conhecimento procedural) Faça perguntas ao SRR 8

Componentes de um SRR A linguagem formal Especifica as sentenças válidas que você pode usar para representar conhecimento Define os símbolos válidos e como eles podem ser combinados Uma linguagem é especificada como uma gramática O conhecimento é um conjunto de sentenças nesta linguagem 9

Componentes de um SRR A semântica Especifica o significado das sentenças na linguagem Especifica o comprometimento de como os símbolos na linguagem relatam o domínio de tarefa Permite explicar o significado das sentenças em termos de domínio, assim como entender o significado das repostas É importante que a semântica seja natural de intuitiva para que o resultado da computação seja facilmente interpretado 10

Componentes de um SRR A teoria de raciocínio ou teorema de prova É uma especificação possivelmente não determinística de como uma resposta pode ser derivada da base de conhecimento É tipicamente um conjunto de regras de inferência para encontrar consequências deixadas implícitas ou É uma especificação não determinística de como uma resposta é computada Procedimento de prova íntegro (sound) : somente gera respostas corretas com relação à semântica Procedimento de prova completo (complete) : gera todas as respostas corretas ou garante produzir uma se ela existir 11

Implementação de um SRR Parser da linguagem Distingue sentenças válidas da linguagem formal Produz alguma forma interna de armazenamento como estruturas de dados no computador Procedimento de raciocínio É a implementação da teoria de raciocínio juntamente com uma estratégia de busca Resolver o não determinismo em uma teoria de raciocínio é papel da estratégia de busca O procedimento de raciocínio manipula as estruturas de dados produzidas pelo parser, para produzir respostas 12

Implementação de um SRR Procedimento de raciocínio (continuação) Podem existir muitas implementações diferentes para uma mesma teoria de raciocínio Implementadas em diferentes linguagens, usando diferentes técnicas de codificação ou diferentes estratégias de busca Pode ser incompleto Porque existe alguma conclusão que semântica especifica que deveria existir, mas a teoria de raciocínio não pode derivar ou Porque a estratégia de busca não pode encontrar uma resposta autorizada (sanctioned) pela teoria de raciocínio A semântica não é refletida na implementação ela dá significado aos símbolos por uma visão externa 13

O significado dos símbolos está na cabeça do usuário 14

A lógica matemática Definição de semântica e teoria de raciocínio correspondem à noção de semântica Tarskiana e prova em lógica matemática A lógica permite Definir conhecimento independente de como ele é usado Verificar a corretude do conhecimento desde que conheçamos seu significado Debater a verdade das sentenças da linguagem, dentro de um domínio e interpretação particular A lógica fornece a especificação do significado em termos de relacionamentos entre os símbolos no computador e o domínio de tarefa 15

Suposições para um SRR inicial Suposição sobre Indivíduos e Relações: O conhecimento do agente pode ser descrito em termos de indivíduos e as relações entre eles Relações: nulas, unárias (propriedades), binárias, ternárias... Suposição sobre o Conhecimento Definido: A base de conhecimento de um agente definições e declarações positivas Declarações do tipo: João está no quarto 123 ou João está no laboratório Mas não declarações do tipo: João não está no quarto 125 O agente não conhece tudo 16

Suposições para um SRR inicial Suposições sobre o Ambiente Estático: Nenhuma ação que muda o ambiente ocorre enquanto agente está construindo sua representação ou raciocinando Permite ignorar o tempo Sentenças do tipo: João estava no quarto 123 são excluídas Suposições sobre o Domínio Finito: Existe um número finito de indivíduos de interesse no domínio e a cada indivíduo pode ser dado um nome único O SRR simples definido chama-se Datalog e utiliza cláusulas definidas (Prolog) 17

Sintaxe do Datalog Variáveis começam com letra maiúscula X, Quarto, D1, The_big_cat... Constantes são palavras que começam com letras minúsculas ou uma seqüencia de dígitos (numeral) alan, r123, 125 Símbolos de predicados são palavras que começam com letras minúsculas parent, brother, colorof Termos são ou variáveis ou constantes X, alan, D, Brother Símbolos atômicos (átomos) são da forma p ou p(t 1, t 2,..., t n ) Onde p é um predicado e t i são termos ensina(maria, dc1221), feliz(x), pai(bill, Y) 18

Sintaxe do Datalog Cláusula definidas são ou um símbolo atômico (fato) ou da forma: cabeça corpo onde a e b i são símbolos atômicos Uma query é da forma?b 1 ^... ^ b m Uma expressão é ou um termos, ou um átomo, ou um cláusula definida, ou uma query A base de conhecimento é um conjunto de cláusulas definidas Comentários são precedidos de % 19

Exemplo de base de conhecimento 20