1 Luiz Antônio Moro Palazzo março de 2010 Inteligência Artificial Universidade Católica de...

50
1 Luiz Antônio Moro Palazzo março de 2010 Inteligência Artificial Universidade Católica de Pelotas Centro Politécnico Bacharelado em Ciência da Computação

Transcript of 1 Luiz Antônio Moro Palazzo março de 2010 Inteligência Artificial Universidade Católica de...

Page 1: 1 Luiz Antônio Moro Palazzo março de 2010 Inteligência Artificial Universidade Católica de Pelotas Centro Politécnico Bacharelado em Ciência da Computação.

1

Luiz Antônio Moro Palazzomarço de 2010

Inteligência Artificial

Universidade Católica de PelotasCentro Politécnico

Bacharelado em Ciência da Computação

Page 2: 1 Luiz Antônio Moro Palazzo março de 2010 Inteligência Artificial Universidade Católica de Pelotas Centro Politécnico Bacharelado em Ciência da Computação.

2

Módulo Um

Introdução e Conceitos Básicos

Page 3: 1 Luiz Antônio Moro Palazzo março de 2010 Inteligência Artificial Universidade Católica de Pelotas Centro Politécnico Bacharelado em Ciência da Computação.

Roteiro e Objetivos

Page 4: 1 Luiz Antônio Moro Palazzo março de 2010 Inteligência Artificial Universidade Católica de Pelotas Centro Politécnico Bacharelado em Ciência da Computação.

4

Roteiro

• Objetivos do Módulo

• O que é Inteligência Artificial?

• Fundamentos

• Origem e Evolução

• Tecnologias

• O Estado da Arte

Page 5: 1 Luiz Antônio Moro Palazzo março de 2010 Inteligência Artificial Universidade Católica de Pelotas Centro Politécnico Bacharelado em Ciência da Computação.

5

Objetivos

• Situar a IA como ciência

• Estudar suas diferentes abordagens

• Relatar o desenvolvimento da IA ao longo do tempo

• Estabelecer o estado da arte na pesquisa e tecnologias da IA

Page 6: 1 Luiz Antônio Moro Palazzo março de 2010 Inteligência Artificial Universidade Católica de Pelotas Centro Politécnico Bacharelado em Ciência da Computação.

6

O que é IA

Page 7: 1 Luiz Antônio Moro Palazzo março de 2010 Inteligência Artificial Universidade Católica de Pelotas Centro Politécnico Bacharelado em Ciência da Computação.

7

Rich & Knight (1994)

“IA é a área da Ciência da Computação orientada ao entendimento, construção e validação de sistemas inteligentes, isto é, que exibem, de alguma forma, características associadas ao que chamamos inteligência”.

Rich & Knight (1994)

“IA é a área da Ciência da Computação orientada ao entendimento, construção e validação de sistemas inteligentes, isto é, que exibem, de alguma forma, características associadas ao que chamamos inteligência”.

Noção 1

Page 8: 1 Luiz Antônio Moro Palazzo março de 2010 Inteligência Artificial Universidade Católica de Pelotas Centro Politécnico Bacharelado em Ciência da Computação.

8

Russell & Norvig (1995)

• Sistemas que pensam como humanos

• Sistemas que agem como humanos

• Sistemas que pensam racionalmente

• Sistemas que agem racionalmente

Russell & Norvig (1995)

• Sistemas que pensam como humanos

• Sistemas que agem como humanos

• Sistemas que pensam racionalmente

• Sistemas que agem racionalmente

Noção 2

Page 9: 1 Luiz Antônio Moro Palazzo março de 2010 Inteligência Artificial Universidade Católica de Pelotas Centro Politécnico Bacharelado em Ciência da Computação.

9

Sistemas de IA

Page 10: 1 Luiz Antônio Moro Palazzo março de 2010 Inteligência Artificial Universidade Católica de Pelotas Centro Politécnico Bacharelado em Ciência da Computação.

10

• A abordagem da Modelagem Cognitiva

• Como os seres humanos pensam?

• A Ciência Cognitiva é hoje uma área paralela, que inspira a IA e é inspirada por ela.

• A abordagem da Modelagem Cognitiva

• Como os seres humanos pensam?

• A Ciência Cognitiva é hoje uma área paralela, que inspira a IA e é inspirada por ela.

Pensar como Humano

Page 11: 1 Luiz Antônio Moro Palazzo março de 2010 Inteligência Artificial Universidade Católica de Pelotas Centro Politécnico Bacharelado em Ciência da Computação.

11

• A abordagem do Teste de Turing

• Antecipou todas as grandes questões da IA:

• Processamento da Linguagem Natural

• Representação de Conhecimento

• Automação do Raciocínio

• Aprendizado de Máquina

• A abordagem do Teste de Turing

• Antecipou todas as grandes questões da IA:

• Processamento da Linguagem Natural

• Representação de Conhecimento

• Automação do Raciocínio

• Aprendizado de Máquina

Agir como Humano

Page 12: 1 Luiz Antônio Moro Palazzo março de 2010 Inteligência Artificial Universidade Católica de Pelotas Centro Politécnico Bacharelado em Ciência da Computação.

12

O Teste de Turing

• Computing Machinery and Intelligence (1950): “Podem as máquinas pensar?”

• O Jogo da Imitação.

• Não é reprodutível ou construtível e é de difícil análise matemática.

?

Page 13: 1 Luiz Antônio Moro Palazzo março de 2010 Inteligência Artificial Universidade Católica de Pelotas Centro Politécnico Bacharelado em Ciência da Computação.

13

• A abordagem das Leis do Pensamento.

• Origem: os silogismos de Aristóteles.

• Tradição Logicista: “A lógica pode solucionar qualquer problema solúvel”.

• Conexão direta da matemática e da filosofia com a IA moderna.

• A abordagem das Leis do Pensamento.

• Origem: os silogismos de Aristóteles.

• Tradição Logicista: “A lógica pode solucionar qualquer problema solúvel”.

• Conexão direta da matemática e da filosofia com a IA moderna.

Pensar Racionalmente

Page 14: 1 Luiz Antônio Moro Palazzo março de 2010 Inteligência Artificial Universidade Católica de Pelotas Centro Politécnico Bacharelado em Ciência da Computação.

14

• A abordagem do Agente Racional

• Comportamento racional: fazer a coisa certa.

• Abrange todas as abordagens anteriores

• É a abordagem proposta por Russell e Norvig (2003).

• A abordagem do Agente Racional

• Comportamento racional: fazer a coisa certa.

• Abrange todas as abordagens anteriores

• É a abordagem proposta por Russell e Norvig (2003).

Agir Racionalmente

Page 15: 1 Luiz Antônio Moro Palazzo março de 2010 Inteligência Artificial Universidade Católica de Pelotas Centro Politécnico Bacharelado em Ciência da Computação.

15

Fundamentos, Origem e Evolução da IA

Page 16: 1 Luiz Antônio Moro Palazzo março de 2010 Inteligência Artificial Universidade Católica de Pelotas Centro Politécnico Bacharelado em Ciência da Computação.

16

• Computação

• Filosofia

• Psicologia

• Sociologia

• Comunicação

• Educação

• Biologia

• Engenharia ...

??

??

????

lógicalógica

redesredes

psicologia

Áreas relacionadascom a IA

Page 17: 1 Luiz Antônio Moro Palazzo março de 2010 Inteligência Artificial Universidade Católica de Pelotas Centro Politécnico Bacharelado em Ciência da Computação.

17

• Filosofia (428 a.C.) • Matemática (800)• Economia (1776)• Neurociência (1861)• Psicologia (1879)• Engenharia da Computação (1940)• Cibernética e a Teoria do Controle (1948)• Lingüística (1957)• Complexidade, Caos e Auto-organização (1980)

• Filosofia (428 a.C.) • Matemática (800)• Economia (1776)• Neurociência (1861)• Psicologia (1879)• Engenharia da Computação (1940)• Cibernética e a Teoria do Controle (1948)• Lingüística (1957)• Complexidade, Caos e Auto-organização (1980)

Pré-história da IA

Page 18: 1 Luiz Antônio Moro Palazzo março de 2010 Inteligência Artificial Universidade Católica de Pelotas Centro Politécnico Bacharelado em Ciência da Computação.

18

Marcos no Desenvolvimento da IA

Quando

O quê Quem

1943 Neurônio artificial McCulloch & Pitts

1950 Teste de Turing Alan Turing

1955 The Dartmouth Meeting McCarthy, Minsky ...

1965 Algoritmo de dedução Robinson

1988 Redes neurais competitivas

Holland

1995 Agentes inteligentes Diversos

2000 Computação quântica Diversos

Page 19: 1 Luiz Antônio Moro Palazzo março de 2010 Inteligência Artificial Universidade Católica de Pelotas Centro Politécnico Bacharelado em Ciência da Computação.

19

Sistemas Inteligentes

Page 20: 1 Luiz Antônio Moro Palazzo março de 2010 Inteligência Artificial Universidade Católica de Pelotas Centro Politécnico Bacharelado em Ciência da Computação.

20

Aprendizado

Representação Interfaces

Raciocínio

Engenharia de Sistemas Inteligentes

Page 21: 1 Luiz Antônio Moro Palazzo março de 2010 Inteligência Artificial Universidade Católica de Pelotas Centro Politécnico Bacharelado em Ciência da Computação.

21

• Sistemas Simbólicos O conhecimento é representado

por sistemas de símbolos eseparado da máquina de

inferência

• Sistemas Sub-simbólicos Representam o conhecimento na

própria estrutura, integrado ao mecanismo de raciocínio

• Sistemas Simbólicos O conhecimento é representado

por sistemas de símbolos eseparado da máquina de

inferência

• Sistemas Sub-simbólicos Representam o conhecimento na

própria estrutura, integrado ao mecanismo de raciocínio

Classificação dosSistemas Inteligentes

Page 22: 1 Luiz Antônio Moro Palazzo março de 2010 Inteligência Artificial Universidade Católica de Pelotas Centro Politécnico Bacharelado em Ciência da Computação.

22

• Prova de Teoremas

• Sistemas Especialistas

• Programação em Lógica

• Redes Semânticas

• Sistemas de Frames

• Sistemas de Agentes

• Prova de Teoremas

• Sistemas Especialistas

• Programação em Lógica

• Redes Semânticas

• Sistemas de Frames

• Sistemas de Agentes

Sistemas Simbólicos

Page 23: 1 Luiz Antônio Moro Palazzo março de 2010 Inteligência Artificial Universidade Católica de Pelotas Centro Politécnico Bacharelado em Ciência da Computação.

23

• Redes Neurais

• Algoritmos Genéticos

• Autômatos Celulares

• Sistemas Complexos Adaptativos

• Redes Neurais

• Algoritmos Genéticos

• Autômatos Celulares

• Sistemas Complexos Adaptativos

Sistemas Sub-simbólicos

Page 24: 1 Luiz Antônio Moro Palazzo março de 2010 Inteligência Artificial Universidade Católica de Pelotas Centro Politécnico Bacharelado em Ciência da Computação.

24

Tecnologias da IA

Page 25: 1 Luiz Antônio Moro Palazzo março de 2010 Inteligência Artificial Universidade Católica de Pelotas Centro Politécnico Bacharelado em Ciência da Computação.

25

Sistemas Simbólicos

Page 26: 1 Luiz Antônio Moro Palazzo março de 2010 Inteligência Artificial Universidade Católica de Pelotas Centro Politécnico Bacharelado em Ciência da Computação.

26

• Geralmente baseados em regras,

• Possuem conhecimento intensivo do domínio da aplicação,

• Construídos por especialistas humanos,

• Podem empregar aprendizado automático,

• Têm dificuldade em lidar com conhecimento de senso comum,

• Orientados à reutilização do conhecimento.

• Geralmente baseados em regras,

• Possuem conhecimento intensivo do domínio da aplicação,

• Construídos por especialistas humanos,

• Podem empregar aprendizado automático,

• Têm dificuldade em lidar com conhecimento de senso comum,

• Orientados à reutilização do conhecimento.

Sistemas Especialistas

Page 27: 1 Luiz Antônio Moro Palazzo março de 2010 Inteligência Artificial Universidade Católica de Pelotas Centro Politécnico Bacharelado em Ciência da Computação.

27

Usuário

Interface ( shell )

consulta resposta

Máquinade

Inferência

Base de Conhecimento

ask tell

request deliever

Arquitetura de um SE

Page 28: 1 Luiz Antônio Moro Palazzo março de 2010 Inteligência Artificial Universidade Católica de Pelotas Centro Politécnico Bacharelado em Ciência da Computação.

28

Aplicações de SE

• Diagnóstico,

• Suporte on-line,

• Controle de processos,

• Controladores de vôo,

• Identificação de padrões difusos,

• Medicina Digital,

• Aconselhamento jurídico...

Page 29: 1 Luiz Antônio Moro Palazzo março de 2010 Inteligência Artificial Universidade Católica de Pelotas Centro Politécnico Bacharelado em Ciência da Computação.

29

• Indexam as declarações pelas entidades que descrevem,

• Facilitam a descrição de propriedades de relações,

• Originaram os conceitos da programação orientada a objetos,

• Facilitam a visualização direta dos conceitos e dos relacionamentos entre eles.

• Indexam as declarações pelas entidades que descrevem,

• Facilitam a descrição de propriedades de relações,

• Originaram os conceitos da programação orientada a objetos,

• Facilitam a visualização direta dos conceitos e dos relacionamentos entre eles.

Redes Semânticas

Page 30: 1 Luiz Antônio Moro Palazzo março de 2010 Inteligência Artificial Universidade Católica de Pelotas Centro Politécnico Bacharelado em Ciência da Computação.

30

pessoa

Maria

carro1

branco

28

Av. 5

zero

automóvel

motor

roda

carroceria

veículo

instância_de

tem_dono

tem_cortem_km

estacionado

tem_idade

é_um

instância_de

parte_de parte_de

parte_de

Uma Rede Semântica

Page 31: 1 Luiz Antônio Moro Palazzo março de 2010 Inteligência Artificial Universidade Católica de Pelotas Centro Politécnico Bacharelado em Ciência da Computação.

31

• Modelagem de conhecimento,

• Mapas Conceituais,

• Processamento da linguagem natural,

• Raciocínio por abstração,

• Programação orientada a objetos,

• Ontologias.

• Modelagem de conhecimento,

• Mapas Conceituais,

• Processamento da linguagem natural,

• Raciocínio por abstração,

• Programação orientada a objetos,

• Ontologias.

Aplicações de Redes Semânticas

Page 32: 1 Luiz Antônio Moro Palazzo março de 2010 Inteligência Artificial Universidade Católica de Pelotas Centro Politécnico Bacharelado em Ciência da Computação.

32

Jennings (1995)

“Um agente inteligente é uma peça de software que executa uma determinada tarefa empregando informação extraída de seu ambiente para agir de forma adequada no sentido de completar sua tarefa de modo bem sucedido. O agente deve ser capaz de adaptar-se dinamicamente às modificações ocorridas no ambiente”.

Jennings (1995)

“Um agente inteligente é uma peça de software que executa uma determinada tarefa empregando informação extraída de seu ambiente para agir de forma adequada no sentido de completar sua tarefa de modo bem sucedido. O agente deve ser capaz de adaptar-se dinamicamente às modificações ocorridas no ambiente”.

Agentes Inteligentes

Page 33: 1 Luiz Antônio Moro Palazzo março de 2010 Inteligência Artificial Universidade Católica de Pelotas Centro Politécnico Bacharelado em Ciência da Computação.

33

• Autonomia

• Habilidade Social

• Reatividade

• Iniciativa

• Continuidade temporal

• Orientação a objetivos

• Autonomia

• Habilidade Social

• Reatividade

• Iniciativa

• Continuidade temporal

• Orientação a objetivos

Propriedades dos Agentes Inteligentes

Page 34: 1 Luiz Antônio Moro Palazzo março de 2010 Inteligência Artificial Universidade Católica de Pelotas Centro Politécnico Bacharelado em Ciência da Computação.

34

• Correio eletrônico,

• Acesso e gerenciamento móveis,

• Gerenciamento de sistemas e redes,

• Acesso e gerenciamento da informação,

• Gerenciamento administrativo,

• Comércio eletrônico,

• Interfaces inteligentes, ...

• Correio eletrônico,

• Acesso e gerenciamento móveis,

• Gerenciamento de sistemas e redes,

• Acesso e gerenciamento da informação,

• Gerenciamento administrativo,

• Comércio eletrônico,

• Interfaces inteligentes, ...

Aplicações de Agentes Inteligentes

Page 35: 1 Luiz Antônio Moro Palazzo março de 2010 Inteligência Artificial Universidade Católica de Pelotas Centro Politécnico Bacharelado em Ciência da Computação.

35

Cache Local

Agente deInformações

WEBWEB

Google Altavista WebCrawler

Spider

DBMS

WAIS

URL Search

Modelos deUsuários e

Grupos

Um Agente de Informações

Page 36: 1 Luiz Antônio Moro Palazzo março de 2010 Inteligência Artificial Universidade Católica de Pelotas Centro Politécnico Bacharelado em Ciência da Computação.

36

Sistemas Sub-simbólicos

Page 37: 1 Luiz Antônio Moro Palazzo março de 2010 Inteligência Artificial Universidade Católica de Pelotas Centro Politécnico Bacharelado em Ciência da Computação.

37

• Paralelismo massivo,

• Adaptabilidade,

• Tolerância a falhas,

• Computação e representação distribuídas,

• Capacidade de aprender,

• Capacidade de generalizar,

• Processamento de informação contextual,

• Baixo consumo de energia.

• Paralelismo massivo,

• Adaptabilidade,

• Tolerância a falhas,

• Computação e representação distribuídas,

• Capacidade de aprender,

• Capacidade de generalizar,

• Processamento de informação contextual,

• Baixo consumo de energia.

Redes Neurais

Page 38: 1 Luiz Antônio Moro Palazzo março de 2010 Inteligência Artificial Universidade Católica de Pelotas Centro Politécnico Bacharelado em Ciência da Computação.

38

Von Neumann Redes Neurais

Processador Complexo Alta velocidade

Simples Baixa velocidade

Memória Separada do processador

Integrada ao processador

Computação Centralizada Sequencial

Distribuida Paralela

Robustez Pouca Robustas

Especialidades

Operações numéricas e simbólicas

Percepção / Otimização

Von Neumann x Redes Neurais

Page 39: 1 Luiz Antônio Moro Palazzo março de 2010 Inteligência Artificial Universidade Católica de Pelotas Centro Politécnico Bacharelado em Ciência da Computação.

39

...

x1

x2

xn

w1

w2

wn

h

u

y

O Modelo McCulloch-Pitts

Page 40: 1 Luiz Antônio Moro Palazzo março de 2010 Inteligência Artificial Universidade Católica de Pelotas Centro Politécnico Bacharelado em Ciência da Computação.

40

Perceptronde uma sócamada

Perceptron de camadas

múltiplas

Redes funcionaisbase radial

RedesCompetitivas

Mapas deKohonen

Redes de Hopfield

ModelosART

Redes de Alimentação para Frente

Redes Recorrentes

Redes Neurais

Arquiteturas deRedes Neurais

Page 41: 1 Luiz Antônio Moro Palazzo março de 2010 Inteligência Artificial Universidade Católica de Pelotas Centro Politécnico Bacharelado em Ciência da Computação.

41

• Uma população de indivíduos evolui ao longo de uma seqüência de gerações buscando atingir um ponto ótimo coletivo,

• Com base em uma função de adequação, os indivíduos mais qualificados são selecionados para reprodução,

• Dois operadores de recombinação genética são empregados no processo: cruzamento e mutação.

• Uma população de indivíduos evolui ao longo de uma seqüência de gerações buscando atingir um ponto ótimo coletivo,

• Com base em uma função de adequação, os indivíduos mais qualificados são selecionados para reprodução,

• Dois operadores de recombinação genética são empregados no processo: cruzamento e mutação.

Algoritmos Genéticos

Page 42: 1 Luiz Antônio Moro Palazzo março de 2010 Inteligência Artificial Universidade Católica de Pelotas Centro Politécnico Bacharelado em Ciência da Computação.

42

O Algoritmo Genético Canônico begin AGC // começar em um tempo inicial t := 0; // inicializar uma população de indivíduos initPopulation P(t); // avaliar a adequação de todos os indivíduos na população evaluate P(t); // testar o critério de término (tempo, adequação, etc.) while not done do // incrementar o contador de tempo t := t + 1; // selecionar sub-população para produzir decendência P' := selectParents P(t); // recombinar os genes da sub-população selecionada recombine P'(t); // perturbar a população estocasticamente mutate P'(t); // avaliar a nova adequação evaluate P'(t); // selecionar os sobreviventes da geração corrente P = survive P,P'(t); od end AGC

Page 43: 1 Luiz Antônio Moro Palazzo março de 2010 Inteligência Artificial Universidade Católica de Pelotas Centro Politécnico Bacharelado em Ciência da Computação.

43

Aplicação de AG

Evolução1011010100101010

...

1111110100111100

...

Atributos do Sistema Inicial Atributos do Novo Sistema

Sistema Inicial Novo Sistema

Mapeamento para strings de bits

Mapeamento paraobjetos do sistema

Evolução1011010100101010

...

1111110100111100

...

Atributos do Sistema Inicial Atributos do Novo Sistema

Sistema Inicial Novo Sistema

Mapeamento para strings de bits

Mapeamento paraobjetos do sistema

Page 44: 1 Luiz Antônio Moro Palazzo março de 2010 Inteligência Artificial Universidade Católica de Pelotas Centro Politécnico Bacharelado em Ciência da Computação.

44

• Um sistema auto-organizável modifica sua estrutura em função de sua experiência e seu relacionamento com o meio-ambiente,

• Modelos conexionistas em geral possuem a propriedade da auto-organização,

• A auto organização ocorre em função da dinâmica do sistema, rumo a uma configuração otimizada para o fim proposto.

• Um sistema auto-organizável modifica sua estrutura em função de sua experiência e seu relacionamento com o meio-ambiente,

• Modelos conexionistas em geral possuem a propriedade da auto-organização,

• A auto organização ocorre em função da dinâmica do sistema, rumo a uma configuração otimizada para o fim proposto.

Auto-organização

Page 45: 1 Luiz Antônio Moro Palazzo março de 2010 Inteligência Artificial Universidade Católica de Pelotas Centro Politécnico Bacharelado em Ciência da Computação.

45

Mapa das flutuações de densidade no universo primitivo, trezentos mil anos após o Big Bang, antes da formação das estrelas e galáxias.

Fonte: NASA/COBE

De onde vema ordem?

Page 46: 1 Luiz Antônio Moro Palazzo março de 2010 Inteligência Artificial Universidade Católica de Pelotas Centro Politécnico Bacharelado em Ciência da Computação.

46

Auto-organização em Redes

Page 47: 1 Luiz Antônio Moro Palazzo março de 2010 Inteligência Artificial Universidade Católica de Pelotas Centro Politécnico Bacharelado em Ciência da Computação.

47

O Estado da Arte

Page 48: 1 Luiz Antônio Moro Palazzo março de 2010 Inteligência Artificial Universidade Católica de Pelotas Centro Politécnico Bacharelado em Ciência da Computação.

48

Marque o que pode ser feito hoje:

Dirigir numa estrada em curva na serra Dirigir no centro do Cairo Comprar o rancho semanal na Web Descobrir e provar um novo teorema Traduzir inglês-português em tempo real Comandar uma cirurgia complexa ... ou todas as alternativas acima?

Page 49: 1 Luiz Antônio Moro Palazzo março de 2010 Inteligência Artificial Universidade Católica de Pelotas Centro Politécnico Bacharelado em Ciência da Computação.

49

• A Inteligência Artificial subdividiu-se em várias disciplinas, cada uma das quais constitui hoje um novo campo em si própria.

• Tecnologias de IA tendem cada vez mais a ser incorporadas a sistemas convencionais, tais como SI, SGBD, ferramentas CASE, etc.

• Com o amadurecimento tecnológico das diversas áreas, novas aplicações se tornam viáveis e passam a ser consideradas.

Em conclusão

Page 50: 1 Luiz Antônio Moro Palazzo março de 2010 Inteligência Artificial Universidade Católica de Pelotas Centro Politécnico Bacharelado em Ciência da Computação.

50

Luiz Antônio Moro Palazzomarço de 2010

Inteligência Artificial

Universidade Católica de PelotasCentro Politécnico

Bacharelado em Ciência da Computação