Upload
trinhkhanh
View
228
Download
0
Embed Size (px)
Citation preview
Objectivos Capítulo anterior
Sintaxe e semântica da lógica de 1ª ordem Possibilidade de implementar agentes baseados em
lógica
Agentes baseados em lógica Base de conhecimento + motor de inferência
Neste capítulo Qual o conhecimento que deve ser incluído na base de
conhecimento? Como representar esse conhecimento?
Engenharia Ontológica Preocupa-se em criar representações mais gerais e
flexíveis Conceitos como acções, tempo, objectos físicos e
crenças
Definir uma framework de conceitos Ontologia genérica
Limitações da representação lógica Tipicamente as generalizações têm excepções Exº Tipicamente os tomates são vermelhos, mas…
também há tomates verdes e amarelos
Ontologia genérica vs ontologias específicas Uma ontologia genérica deve ser aplicável em qualquer
domínio específico Adicionando axiomas específicos do domínio
Uma ontologia genérica deve ser aplicável em domínios mais complexos, em que é necessário unificar diferentes áreas do saber Raciocínio e resolução de problemas pode envolver várias
áreas simultaneamente
Ontologia genérica vs ontologias específicas O que é necessário especificar?
Categorias, Medidas, Objectos compostos, Tempo, Espaço, Mudança, Eventos, Processos, Objectos Físicos, Substâncias, Objectos mentais, Crenças
Categorias e objectos
Os objectos devem ser organizados em categorias Interacção ao nível do objecto
Consideramos objectos concretos Raciocínio ao nível das categorias
E.g. objectivo de comprar maçãs Categorias permitem caracterizar objectos
A partir das suas propriedades
Categorias e objectos
Categorias podem ser representadas de 2 formas em LPO Predicados: Maçã(x)
Categoria é o conjunto dos seus membros Algo mais complexo: Maçãs
Há que assumir que estão definidas as operações Membro e Subconjunto
Membro(x, Maçãs), Subconjunto(Maçãs, Frutas)
Categoria pode ser categoria de categorias E.g. Frutas
Categorias e objectos
As categorias podem servir para organizar e simplificar a base de conhecimento através da relação de herança
Organização de categorias
Relação = herança: Todas as
instâncias de alimentos são comestíveis, fruta é uma subclasse de alimento e maçã é uma subclasse de fruta – logo maçã é comestível
Relações de subclasse definem taxonomia
LPO e categorias
A LPO permite que se representem facilmente factos sobre categorias Relacionando objectos com categorias Quantificando sobre os seus membros
LPO e categorias
Um objecto é um membro de uma categoria Membro(BB12,BolasBasket)
Uma categoria é uma subclasse de outra categoria Subconjunto(BolasBasket,Bolas)
Todos os membros de uma categoria têm algumas propriedades ∀x (Membro(x,BolasBasket) ⇒ Redondo(x))
Todos os membros de uma categoria podem ser reconhecidos por algumas propriedades ∀x Laranja(x) ∧ Redondo(x) ∧ Diâmetro(x)=24.1cm ∧
Membro(x,Bolas) ⇒ Membro(x,BolasBasket)
Uma categoria tem propriedades Subconjunto(Cães,EspéciesDomésticas)
Relações entre categorias Duas ou mais categorias são disjuntas se não têm membros em
comum: Disjuntos(s)⇔
(∀ c1,c2 c1 ∈ s ∧ c2 ∈ s ∧ c1 ≠ c2 ⇒ Intersecção(c1,c2) ={}) Exemplo: Disjuntos({animais, vegetais})
Um conjunto de categorias s é uma decomposição exaustiva de uma categoria c sse s é um conjunto de subclasses de c tal que cada elemento de c pertence a pelo menos uma categoria de s: DecomposiçãoExaustiva(s,c) ⇔ (∀ i i ∈ c ⇔ ∃ c2 c2 ∈ s ∧ i ∈ c2) Exemplo: DecomposiçãoExaustiva({Americanos,
Canadianos, Mexicanos},NorteAmericanos).
Relações entre categorias
Uma partição é uma decomposição exaustiva disjunta: Partitição(s,c) ⇔ Disjuntos(s) ∧ D.E.(s,c) Exemplo: Partição({Masculino,Feminino},Pessoas).
({Americanos,Canadianos,Mexicanos},NorteAmericanos) é uma partição? Não porque algumas pessoas têm dupla nacionalidade
Categorias podem ser definidas dando condições necessárias e suficientes para que um objecto seja membro de uma categoria ∀x TrabalhadorEstudante(x) ⇔ Trabalhador(x) ∧ Estudante(x)
Definições não estritas
Muitas categorias não têm definições claras (cadeira, arbusto, livro).
Tomates: algo verde, vermelho, amarelo. Tipicamente redondo.
Solução possível: categoria Típico. Típico(c) é subconjunto de c x ∈ Típico(Tomates) ⇒ Vermelho(x) ∧ Esférico(x) Podemos explicitar factos úteis sobre categorias sem dar
definições exactas. Todos os tomates “típicos” são tomates.
Composição Física Um objecto pode ser parte de outro:
Parte(Bucareste,Roménia) Parte(Roménia, EuropaLeste) Parte(EuropeLeste,Europa)
O predicado Parte é transitivo (e reflexivo), logo podemos inferir Parte(Bucareste,Europa)
Generalizando: ∀ x,y,z Parte(x,y) ∧ Parte(y,z) ⇒ Parte(x,z) ∀ x Parte(x,x)
Composição física é muitas vezes caracterizada por relações estruturais entre as partes. E.g. Bípede(a) ⇒
Medidas
Objectos têm peso, massa, custo, .... Valores atribuídos a estes atributos são medidas
Combinar funções com um valor numérico: Comprimento(L1) = Polegadas(1.5) = Centímetros(3.81).
Conversão entre unidades: ∀i Centímetros(2.54 * i) = Polegadas(i).
Algumas medidas não têm escala: Beleza, Dificuldade, etc. Aspecto mais importante das medidas: são ordenáveis. Números podem ser irrelevantes; o que interessa é a
relação de ordem. (Uma maçã pode ter sabor .9 ou .1.)
Mundo do Wumpus: descrição Ambiente
Posições adjacentes a pit cheiram bem
Posições adjacentes ao wumpus cheiram mal
Brilho sse ouro está na mesma posição
Disparar gasta a única seta Disparar mata o wumpus se
estamos de frente para ele Agarrar apanha o ouro que está na
mesma posição Largar liberta o ouro na posição Agente morre na posição com
wumpus (vivo) ou com pit Sensores: CheirarMal, CheirarBem, Brilhar,
Chocar, Gritar Actuadores: virar esquerda, virar direita,
frente, agarrar, largar, disparar
Acções, eventos e situações
• Raciocínio sobre resultado de acções é fundamental para um agente baseado em conhecimento
• Representação do tempo através de situações (estados resultantes da execução de acções) • Cálculo situacional
Cálculo Situacional Objectivo: especificar para o instante t+1 o resultado de ter realizado
determinada acção em t Só que em vez de lidar directamente com o tempo, o foco está nas
situações O cálculo situacional envolve a seguinte ontologia
Situações são termos lógicos e consistem em: Situação inicial S0 Todas as situações resultantes de uma acção (=Resultado(a,s))
Fluentes são funções e predicados que variam de uma situação para outra (algo que muda entre situações)
E.g. ¬Segurar(G1, S0) (o agente não está a segurar o ouro em S0) Predicados e funções eternos são predicados e funções que
nunca mudam E.g. Ouro(G1), PernaEsq(Wumpus)
Cálculo Situacional
Resultados de sequências de acções são determinados por acções individuais Resultado([ ], s) = s Resultado([a|seq], s) = Resultado(seq,Resultado(a,s))
No cálculo situacional o agente deve ser capaz de: deduzir o resultado de uma sequência de acções
(Tarefa de Projecção) encontrar uma sequência de acções que produz o
efeito desejado (Tarefa de Planeamento)
Exemplo em LPO
O que é verdade em S0 (não é suficiente) Em(Agente,[1,1],S0) ∧ Em(G1,[1,2],S0)
Incluir o que não é verdade em S0! Em(o,x,S0) ⇔ [(o=Agente ∧ x=[1,1]) ∨ (o= G1 ∧
x=[1,2])] ¬Segurar(o,S0)
Outros factos Ouro(G1) ∧ Adjacente([1,1],[1,2]) ∧ Adjacente([1,2],
[1,1])
Exemplo em LPO (cont.)
Tarefa de projecção: provar que o agente alcança o seu objectivo ao deslocar-se para a posição [1,2], agarrar o ouro e voltar para a posição [1,1] Em(G1,[1,1],Resultado([Ir([1,1],[1,2]),
Agarrar(G1),Ir([1,2],[1,1])],S0)
Tarefa de Planeamento: construção de um plano para dar resposta à questão “Qual a sequência de acções que leva a que o ouro esteja na posição [1,1]?” ∃seq Em(G1,[1,1],Resultado(seq, S0))
Tempo e Cálculo de Eventos Cálculo de eventos (vs. cálculo situacional): baseado em momentos de
tempo em vez de situações Inicio(e,f,t): a ocorrência do evento e no momento t, levou
a que o fluente f fosse verdadeiro Fim(e,f,t): a ocorrência do evento e no momento t, levou a
que o fluente f deixasse de ser verdadeiro Acontece(e,t): e ocorre no instante t Terminado(e, t1,t2): e terminou devido a um evento
qualquer entre t1 e t2
Um fluente é verdadeiro num momento de tempo se o fluente teve origem num evento passado e não foi terminado por um evento que ocorreu entretanto Verdadeiro(f,t2) ⇔ ∃e,t Acontece(e,t) ∧ Inicio(e,f,t) ∧ (t<t2)
∧ ¬Terminado(e,t,t2) Terminado(e,t,t2) ⇔ ∃e,t1 Acontece(e,t1) ∧ Fim(e,f,t1) ∧
(t<t1)∧ (t1<t2)
Exercícios
A água é líquida entre 0 e 100 graus Para qualquer água e situação, a água é líquida sse
a temperatura da água nessa situação estiver entre 0 e 100 graus
A água ferve a 100 graus A água que está na garrafa do João está congelada Luso é um tipo de água O João tem água do Luso na sua garrafa Todos os líquidos têm um ponto de congelação Um litro de água pesa mais do que um litro de álcool
Exercícios
A água é líquida entre 0 e 100 graus ∀ a,s a ∈ Água ⇒ (Centígrado(0) < Temperatura(a,s)
< Centígrado(100)) ⇔ Verdadeiro(a ∈ Líquido,s)
Exercícios
A água ferve a 100 graus PontoFervura(Água,Centígrado(100)) PontoFervura(c,pf) ⇔∀ x,s x ∈ c ⇒ (∀t
Verdadeiro(Temperatura(x,t),s) ∧ t > pf ⇒ Verdadeiro(x∈Gasoso,s))
Exercícios
A água que está na garrafa do João está congelada ∃g ∀a a ∈ Água ∧ g ∈ GarrafasÁgua ∧
Tem(João,g,Agora) ∧ Dentro(a,g,Agora) ⇒ verdadeiro(a ∈ Sólido,Agora)
Exercícios
Luso é um tipo de água Subconjunto(Luso,Água)
O João tem água do Luso na sua garrafa ∃g ∀a a ∈ Água ∧ g ∈ GarrafasÁgua ∧ Tem(João,g,Agora) ∧
Dentro(a,g,Agora) ⇒ verdadeiro(a ∈ Luso, Agora)
Todos os líquidos têm um ponto de congelação ∀c SubstânciaLíquida(c) ⇒ ∃t PontoCongelação(c,t) PontoCongelação semelhante a PontoFervura
1litro de água pesa mais do que 1litro de álcool ∀a,al a ∈ Água ∧ al ∈ Álcool ∧ Volume(a) = Litro(1) ∧
Volume(al) = Litro(1) ⇒ Massa(a) > Massa(al)