Marvin Minsky
Biografia
Artigo
Frames
Entrevista Exclusiva
Susan Möller Ferreira
Guilherme Osório Moreira
Júlio César Narciso
Luciano Ribeiro da Costa
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.1927
Formação de Matemático
Professor no Massachusetts Institute of
Technology (MIT) - 1958
Laborató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ça
Construiu a primeira tartaruga mecânica
para o LOGO
Construiu 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 autoconsciê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 Knowledge
Marvin Minsky [1974]
MIT-AI Laboratory Memo 306, June, 1974.
http://web.media.mit.edu/~minsky/
[email protected]
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 inicial
Trabalhos anteriores
Idé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ção
Manipulaçã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
Abordagem Lógica
Pontos de falha
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
Idéia básica
Situação nova => Frame => Adaptação
Frame
Estrutura estereotipada de informação
Categoria de perguntas a fazer
Instruções de uso, expectativas
Organização hierárquica múltipla
Valores 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).
Exemplo: Classes e Instâncias
Animal
faz comer
Pássaro
Ako
Babalu
é-um
Comer
Mamífero
Ako
tem
Cão
Ako
Comer
pêlos
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
Uma Representação Abstrata
de um Frame
< Nome do Frame>
< atributo1 >
< faceta1 >: valor
< atributo2 >
< atributo3 >
< faceta1 >: valor
< faceta2 >: valor
< faceta3 >: valor
< faceta1 >: valor
< faceta2 >: valor
< faceta3 >: valor
Procedimentos Demons
Definiçã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
Exemplo: Procedimentos Demons
Ako: Lugar-coberto
Cômodo
Atributo
Default
Tipo
Se-necessário
Nº de paredes
4
número
Formato
retangular símbolo
Altura
3
número
Área
número
número
Volume
Área * Altura
Ako
Sala
Ako: Cômodo
Atributo
Mobiliário
Finalidade
Área
Default
(sofá,mesa,cadeiras)
convivência
25
Tipo
lista de símbolos
símbolo
número
Herança de Propriedades
Trê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: Exemplo
Nó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 .
“um carro tem 4 rodas, é movido por um
motor que roda com gasolina ou álcool.”
Nome: carro
Nome:
Ako: coisas
Slots:
Valor:
Rodas
4
Movido por
Motor
combustível
?
Restrições:
gasolina or
álcool
carro subclasse_de
coisas
com
rodas: 4,
movido_por: motor,
combustível: [valor:
desconhecido,
tipo:
[gasolina,á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.
“Há um tipo particular de carro chamado
VW, produzido na Alemanha.”
Nome: VW
Ako: carro
Slots:
Nome:
Produzido em
Valor:
Alemanha
‘VW’ subclasse_de
carro
com
Restrições:
produzido_em:‘Alem
anha’.
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.
“Há um tipo particular de VW chamado Golf, no
qual tem teto solar.”
Nome: Golf
Ako: VW
Slots:
Nome:
teto
Valor:
solar
Restrições:
‘Golf’
subclasse_de
VW
com
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.
“Há um tipo particular de Golf chamado Tdi, no
qual roda com álcool, tem 4 cilindros e tem um
motor de 1.8 litros.”
Nome: TDi
Nome:
Ako:
Slots:
Valor:
Combustível
gasolina
Capacidade
Do motor
1.8 litros
cilindros
4
Golf
Restrições:
‘TDi’ subclasse_do
‘Golf’
com
combustível: gasolina,
Capacidade do
motor:1.8,
cilindros: 4.
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.
“Há um carro chamado C637SRK no qual é
uma instancia de um Golf TDi.”
Nome: C637SRK
É um: TDi
Slots:
Nome:
Valor:
Propietário
Luciano
Teto
Não-teto solar
Restrições:
‘C637SRK’
instancia_de
‘TDi’
com
propietário:
Luciano,
teto:
não teto solar.
Sistema de Frames (Herança simples):
Coisas
...
Golf
Ako: VW
Teto: solar
Carro
Ako: Coisas
Rodas: 4
Movido por: Motor
Combustível:? [gasolina ou álcool]
VW
Ako: Carro
Produzido em: Alemanha
TDi
Ako: Golf
Combustível:
álcool
Capacidade do motor: 1.8 litros
cilindros 4
C637SRK É um: TDi
Propietário: Luciano
Teto:
Não-teto solar
Sistema de Frames (Herança múltipla):
Toyota Ako: Carro
Produzido em: Japao
Eletrico Ako: Motor
…
Prius
Ako: Toyota
Movido por:
Híbrido Ako: Eletrico,
Combustão
…
G587THG É um: Prius
Propietário: Guilherme
Cor:
Azul
Combustão
…
Ako: Motor
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
Download

Marvin Minsky