Marvin Minsky Susan Möller Ferreira Guilherme Osório Moreira Júlio César Narciso Luciano Ribeiro...

Post on 17-Apr-2015

107 views 0 download

Transcript of Marvin Minsky Susan Möller Ferreira Guilherme Osório Moreira Júlio César Narciso Luciano Ribeiro...

Marvin Minsky

Susan Möller FerreiraGuilherme Osório MoreiraJúlio César NarcisoLuciano Ribeiro da Costa

BiografiaArtigoFramesEntrevista Exclusiva

Marvin Minsky

Suas pesquisas levaram a avanços teóricos e práticos em: inteligência artificial, psicologia cognitiva, redes neurais teoria das funções

recursivas máquinas de Turing

Marvin Minsky

09.ago.1927Formação de MatemáticoProfessor no Massachusetts Institute of Technology (MIT) - 1958Laboratório de Inteligência Artificial do MIT (1959).Toshiba Professor of Media Arts and Science

Marvin Minsky

Pioneiro da robótica mecânica baseada em inteligência e telepresençaConstruiu a primeira tartaruga mecânica para o LOGOConstruiu a primeira rede de aprendizagem neural (SNARC, 1951).Recebeu o Turing Award (1970)

Alguns Trabalhos

"Steps Towards Artificial Intelligence" (1959) analisou tudo o que existia sobre o assunto"Matter, Mind, and Models" (1963) tratou do problema de se fazer máquinas com auto-consciência“Perceptrons,” (1969) caracteriza as capacidades e limitações das máquinas de reconhecimentos de padrões e aprendizagem baseadas em redes neurais

Alguns Trabalhos

“A Framework for Representing Knowledge" (1974) ele criou um modelo de representação do conhecimento para muitos fenômenos em cognição, entendimento da linguagem, e percepção visual

"The Society of Mind" (Sociedade da Mente, 1985), a qual combina insights da psicologia do

desenvolvimento da criança e suas experiências com pesquisa em Inteligência Artifical.

Alguns Trabalhos

“The Emotion Machine” (in press) descreve os papéis dos sentimentos, metas, emoções e pensamentos conscientes, em termos de processos que motivam e regulam as atividades dentro das nossas mentes

A Framework for Representing KnowledgeMarvin Minsky [1974]

http://web.media.mit.edu/~minsky/

minsky@media.mit.edu

MIT-AI Laboratory Memo 306, June, 1974.

Thinking always begins with suggestive but imperfect plans and images; these are progressively replaced by better–but usually still imperfect–ideas.

Parte - Introdução

Crítica inicialTrabalhos anterioresIdéia central dos Frames

Here is the essence of the theory: When one encounters a new situation ... one selects from memory a structure called a Frame. A frame is a data-structure for representing a stereotyped situation, like being in a certain kind of living room, or going to a child's birthday party...This is a remembered framework to be adapted to fit reality by changing details as necessary.

Parte um - LOCAL AND GLOBAL THEORIES FOR VISION

Visão e reconhecimento de imagens

Visão simbólica.

Enfrentamento de cenário

Parte dois - LANGUAGE, UNDERSTANDING, AND SCENARIOS

Linguística.

Fábula

Discurso e visão

Novamente o cenário

There was once a Wolf who saw a Lamb drinking at a river and wanted an excuse to eat it. For that purpose, even though he himself was upstream, he accused the Lamb of stirring up the water and keeping him from drinking

Parte três - LEARNING, MEMORY, AND PARADIGMS

Cenário

Enfrentamento

Acomodação

Conhecimento

Parte quatro - CONTROL

Pensamento-Busca Entendimento-InstanciaçãoManipulação top-down ou lateral?Controle central ou local?Tributo a Fahlman - hierarquia

The following essay was written by Scott Fahlman (in 1974 or 1973?), when a student at MIT. It is still one of the clearest images of how societies of mind might work. I have changed only a few terms

Parte cinco - SPATIAL IMAGERY

Orientação e posicionamento

Frames globais e locais

GSF !?

... I do not like the following model very much, but something of its sort seems needed ...

Parte seis - Criticism of the Logistic Approach

I here explain why I think that more "logical" approaches will not work. There have been serious attempts, from as far back as Aristotle, to represent common sense reasoning by a "logistic" system

Abordagem Lógica

Pontos de falha

Idéia básica

Situação nova => Frame => AdaptaçãoFrame

Estrutura estereotipada de informaçãoCategoria de perguntas a fazerInstruções de uso, expectativasOrganização hierárquica múltiplaValores default e demons

Lógica inadequada

Frames•Os quadros foram introduzidos por Marvin Minsky

–“A Framework to Represent Knowledge”

As aplicações propostas por Minsky:

•análise de cenas, modelagem da percepção visual e compreensão de linguagem natural.

Inspirados na forma como as pessoas resolvem problemas

O artigo não propõe:

•metodologia de implementação, nem definição formal do método.

Frames e as linguagens de programação orientadas a objetos

Desde 1975, diversos sistemas foram implementados baseados na idéia de quadros, e diversas definições formais foram propostas

•O método de quadros dá origem às idéias que levaram à concepção das linguagens de programação orientadas a objetos

•A ideia da hierarquia do frame é muito similar a ideia de hierarquias de classe encontrado em programação orientada a objeto.

Características

•Um frame é identificado por um nome e descreve um objeto complexo através de um conjunto de atributos

•Um Sistema de Frames é um conjunto de frames organizados hierarquicamente.

Classificação dos Frames

• Construtores: definem a estrutura das informações para a base de conhecimentos

• Frames instâncias: objetos do mundo real represantados na base de conhecimento

Frames: atributos (slots)

Frames Possuem pelo menos dois atributos:

Nome Ako ou is-a

A fim de melhorar a estruturação (hierarquia), privilegiam dois tipos de relações: ako: relação entre classe e sub-classe is-a: relação entre classe e instância.

Cada atributo aponta para um outro frame ou para um tipo

primitivo, ex. string; consiste em um conjunto de facetas

(atributos de atributos).

Animalfaz comer

Pássaro Ako Comer

Mamífero Ako tem

Comer

Cão Ako

Babalu é-um

pêlos

Exemplo: Classes e Instâncias

Facetas

Descrevem restrições simultâneas para os valores que um“slot” possa ter.Propriedades Valor: especifica o único valor possível. Valor default: especifica o valor assumido

pelo atributo caso não haja nenhuma informação a esse respeito.

Tipo: indica o tipo de dado do valor. Domínio: descreve os valores possíveis para

o atributo. Procedimentos Demons

como os triggers nos bancos de dados

< Nome do Frame> < atributo1 >

< faceta1 >: valor

< atributo2 >

< faceta1 >: valor< faceta2 >: valor< faceta3 >: valor

< atributo3 >

< faceta1 >: valor< faceta2 >: valor< faceta3 >: valor

Uma Representação Abstrata de um Frame

Procedimentos DemonsDefinição São procedimentos anexados aos frames,

disparados por consultas ou atualizações. Podem inferir valores para atributos a partir de

valores de outros atributos especificados anteriormente em qualquer frame do sistema.

Procedimentos Demons: when-requested

quando o valor é pedido mas não existe ainda when-read

quando valor é lido when-written

quando valor é modificado when-deleted

quando o valor é eliminado

Cômodo Ako: Lugar-coberto

Atributo Default Tipo Se-necessário

Nº de paredesFormato

Altura

Área

Volume

número

número

número

número

símbolo4

retangular

3

Área * Altura

Sala Ako: Cômodo

Atributo Default Tipo

MobiliárioFinalidadeÁrea

lista de símbolossímbolonúmero

convivência25

(sofá,mesa,cadeiras)

Ako

Exemplo: Procedimentos Demons

Herança de PropriedadesTrês tipos de informações podem ser de herdadas valor (= POO) procedimento (= POO) valor default

Idéia: herdar das classes superiores em caso de conflito, vale a informação mais

específica

Existem dois tipos de herança: Herança simples

existe uma única super-classe para cada classe Herança múltipla

uma classe pode ter mais de uma super-classe, podendo herdar propriedades ao longo de diversos caminhos diferentes (= o caos)

Frames: ExemploNós iremos iniciar com um simples pedaço de informação: Há uma categoria de coisas chamada carros.Dada esta informação, nós podemos iniciar a construção de um frame:

Nome: carro Ako: coisas

Frame Carro

Mais Informação: um carro tem 4 rodas, é movido por um motor, e roda com gasolina ou alcool.

Nós podemos agora adicionar 3 slots para o frame.

O último dos três tem uma restrição ao invés de um valor específico .

carro subclasse_decoisas com

rodas: 4,

movido_por: motor, combustível: [valor: desconhecido, tipo: [gasolina,álcool]].

Nome: carro Ako: coisas

Slots:

Nome: Valor: Restrições:

Rodas 4

Movido por Motor

combustível ? gasolina or

álcool

“um carro tem 4 rodas, é movido por um motor que roda com gasolina ou álcool.”

Frame Carro

Mais informação: aqui é um tipo particular de carro chamado volkswagen (VW), produzido na Alemanha.Nós podemos adicionar um segundo frame para nosso sistema, com um slot. Nós não necessitamos repetir os slots e valores do frame anterior: eles irã ser herdados.

‘VW’ subclasse_de carro com

produzido_em:‘Alemanha’.

Nome: VW Ako: carro

Slots:

Nome: Valor: Restrições:

Produzido em Alemanha

“Há um tipo particular de carro chamado VW, produzido na Alemanha.”

Car Frames

Mais Informações: Há um tipo particular de VW chamado Golf, no qual tem um teto solar.Nós podemos adicionar um terceiro frame para nosso sistema , com um slot. Uma vez de novo, nós não repetimos os slots nos frames anteriores, porque eles serão herdados.

Nome: Golf Ako: VW

Slots:

Nome: Valor: Restrições:

‘Golf’ subclasse_de VW com

teto: solar.

teto solar

“Há um tipo particular de VW chamado Golf, no qual tem teto solar.”

Frame Carro

Mais informação: Há um tipo particular de Golf chamado TDi, no qual roda com gasolina. Um Tdi tem 4 cilindros e um motor com capacidade de 1.8 litros.Nós podemos adicionar o quarto frame para nosso sistema, com 3 slots. Um dos slots (combustível) já estava no sistema, mas aparece aqui por que ele agora tem um valor específico ao invés de uma restrição.

‘TDi’ subclasse_do ‘Golf’ com

combustível: gasolina,

Capacidade do motor:1.8,

cilindros: 4.

Nome: TDi Ako: Golf

Slots:

Nome: Valor: Restrições:

Combustível gasolina

CapacidadeDo motor 1.8 litros

cilindros 4

“Há um tipo particular de Golf chamado Tdi, no qual roda com álcool, tem 4 cilindros e tem um

motor de 1.8 litros.”

Frame Carro

Mais Informação: meu carro, chamado C637SRK, é um Golf Tdi. Ele não tem teto solar. Nós podemos adicionar um quinto frame para nosso sistema com dois slots. Ao contrário dos frames anteriores, este é frame de instancia. Um dos slots (teto) já estava no sistema , mas aparece aqui porque o valor contradiz com o valor no qual seria herdado.

Nome: C637SRK É um: TDi

Slots:

Nome: Valor: Restrições:

‘C637SRK’ instancia_de ‘TDi’ com

propietário: Luciano,

teto:

não teto solar.

Propietário Luciano

Teto Não-teto solar

“Há um carro chamado C637SRK no qual é uma instancia de um Golf TDi.”

Coisas

...

Carro

Rodas: 4Movido por: MotorCombustível:? [gasolina ou álcool]

Ako: Coisas

VW

Produzido em: Alemanha

Ako: Carro

TDi

Combustível: álcoolCapacidade do motor: 1.8 litroscilindros 4

Ako: Golf

Golf

Teto: solar

Ako: VW

C637SRK

Propietário: LucianoTeto: Não-teto solar

É um: TDi

Sistema de Frames (Herança simples): Sistema de Frames (Herança simples):

Toyota

Produzido em: Japao

Ako: Carro

Prius

Movido por:

Ako: Toyota

G587THG

Propietário: GuilhermeCor: Azul

É um: Prius

Sistema de Frames (Herança múltipla): Sistema de Frames (Herança múltipla):

Eletrico

Ako: Motor Combustão

Ako: Motor

Híbrido

Ako: Eletrico, Combustão

Linguagens orientadas a frames

• KRL (Knowledge Representation Language),• KL-ONE (Knowledge Representation - ONE), • FRL-0 (Frame Representation Language - 0), etc.

Também é possível implementar frames utilizando Lisp ou Prolog.

Entrevista Exclusiva