36
Sugestões de Assuntos de Sugestões de Assuntos de Projetos Projetos Métodos de Computação Métodos de Computação Inteligentes Inteligentes 2002 2002 Jacques Robin DI-UFPE

Sugestões de Assuntos de Projetos Métodos de Computação Inteligentes 2002

  • Upload
    wright

  • View
    25

  • Download
    0

Embed Size (px)

DESCRIPTION

Sugestões de Assuntos de Projetos Métodos de Computação Inteligentes 2002. Jacques Robin DI-UFPE. Roteiro. Lista dos assuntos Assuntos sobre agentes de gerenciamento de informação na web Assuntos sobre sistemas inteligentes multi-agentes Futebol de robô Cálculo de eventos - PowerPoint PPT Presentation

Citation preview

Page 1: Sugestões de Assuntos de Projetos Métodos de Computação Inteligentes 2002

Sugestões de Assuntos de ProjetosSugestões de Assuntos de ProjetosMétodos de Computação Métodos de Computação

InteligentesInteligentes20022002

Jacques RobinDI-UFPE

Page 2: Sugestões de Assuntos de Projetos Métodos de Computação Inteligentes 2002

RoteiroRoteiro

Lista dos assuntos Assuntos sobre agentes de gerenciamento de

informação na web Assuntos sobre sistemas inteligentes multi-agentes Futebol de robô Cálculo de eventos Abdução com cálculo de eventos Lógica de escolhas independentes

Page 3: Sugestões de Assuntos de Projetos Métodos de Computação Inteligentes 2002

Lista do assuntosLista do assuntos

Agentes de gerenciamento de informação na web: Agente gerenciador de currículos múltiplos na web Agente facilitador de alocação de docente, horário e

sala para disciplinas baseado na resolução de restrições

Estudo de viabilidade de uma máquina de inferência baseada em XSLT

Futebol de robô: Componente de agente reativo com estado interno de futebol

de robô Ontologia para um simulador 3D de futebol de robô

Representação de conhecimento e raciocínio multi-agentes Planejador abdutivo lógico orientado a objetos baseado no

cálculo de evento Maquina de inferência lógica orientada a objetos bayesiana

baseada em conceitos das teorias da decisão e dos jogos?

Page 4: Sugestões de Assuntos de Projetos Métodos de Computação Inteligentes 2002

Agente gerenciador de Agente gerenciador de currículos múltiplos na web currículos múltiplos na web

Agentes de extração e manutenção de informação da web

Agente monitora páginas web com currículos de uma pessoa em formatos diferentes

Quando uma página é modificada, regras de correspondência entre os campos dos vários currículos são aplicadas para propagar as modificações automaticamente para os outros currículos.

Interface de notificação por e-mail Implementação JEOPS ou Java+XSLT Estudo de caso com necessidade prática real no CIn

Page 5: Sugestões de Assuntos de Projetos Métodos de Computação Inteligentes 2002

Agente facilitador de alocaçãoAgente facilitador de alocaçãode docente, horário e sala para de docente, horário e sala para

disciplinas baseado na resolução de disciplinas baseado na resolução de restrições restrições

Agentes web de automação de tarefas administrativas Alocação docentes: dados conjunto de disciplinas a ministrar,

carga horária a cumprir por cada docente, área de pesquisa de cada docente, preferências de cada docente, avaliação docentes por discentes, experiência prévia de ensino de cada docente, alocar um ou dois docentes por cada disciplina

Alocação de horário e sala: dados conjuntos de disciplinas com docente alocado e alunos matriculados, restrições de horários do docente e dos alunos e a capacidade das salas, alocar um horário e uma sala para cada disciplina

Todos os dados mantidos em um BD persistente e acessível em leitura e escritura via formulário web

Implementação usando Java para camada de interface, SQL para camada de dados e Eclipse para camada de resolução automática de restrições

Estudo de caso com necessidade prática real no CIn

Page 6: Sugestões de Assuntos de Projetos Métodos de Computação Inteligentes 2002

Estudo de viabilidade de Estudo de viabilidade de uma máquina de inferência baseada em uma máquina de inferência baseada em

XSLT XSLT

Web semântica Agentes de informação inteligentes baseados em XML Estudo da literatura comparando sistemas dedutivos e sistemas de

re-escritura Estudo da literatura sobre uso de XSLT para raciocínio automático Monografia sugerindo um mapeamento entre os conceitos de

Prolog ou sistemas de produção e conceitos de XSLT Tentativa de implementação de um protótipo de um interpretador

Prolog ou sistemas de produção em XSLT Usar como entrada e saída RuleML, uma codificação em XML de

regras e termos de Prolog ou de sistemas de produção Teste sobre programas Prolog ou sistemas de produção brinquedos Potencial para publicação

Page 7: Sugestões de Assuntos de Projetos Métodos de Computação Inteligentes 2002

<?xml version=“1.0” encoding=“iso-8859-1”?><greeting>Hello, world!</greeting>

Hello.xml

<html><head>

<title>Today’s greeting</title></head><body>

<p>Hello, world!</p></body></html>

Hello.html

Page 8: Sugestões de Assuntos de Projetos Métodos de Computação Inteligentes 2002

<?xml version=“1.0” encoding=“iso-8859-1”?><xsl:stylesheet version=“1.0” xmlns:xsl=“http://www.w3.org/1999/XSL/Transform”><xsl:template match=“/”>

<html><head>

<title>Today’s greeting</title></head><body>

<p><xsl:value-of select=“greeting”/></p></body></html>

</xsl:template></xsl:stylesheet>

Hello.xsl

Linha de comando para transformar Hello.xml em Hello.html via Hello.xsl:

saxon Hello.xml Hello.xsl > Hello.html

Page 9: Sugestões de Assuntos de Projetos Métodos de Computação Inteligentes 2002

Motivação e desafios da RoboCupMotivação e desafios da RoboCup

Integrar pesquisa e tecnologia fragmentadas da IA Percepção computacional (visão, integração de sensores) Robótica (controle e integração de ações físicas) Raciocínio automático, representação do conhecimento e

planejamento (reativo e deliberativo) Aprendizagem de máquina Sistemas multi-agentes e IA distribuída (comunicação,

cooperação, inteligência coletiva emergente) IA tempo-real

Problemática: Arquitetura de sistemas multi-agentes Metodologia de desenvolvimento de sistemas multi-agentes IA embarcada

Page 10: Sugestões de Assuntos de Projetos Métodos de Computação Inteligentes 2002

Motivação e desafios da RoboCupMotivação e desafios da RoboCup Novo teste de Turing para a IA depois do xadrez

1997:2 x 1

2050?:2 x 1

Page 11: Sugestões de Assuntos de Projetos Métodos de Computação Inteligentes 2002

DivisãoDivisãoSoftbotsSoftbots

Soccer ServerUDP/IP UDP/IP

Client 1

Client 11Client 11

Client 1

Time A Time BSoccer Monitor

Page 12: Sugestões de Assuntos de Projetos Métodos de Computação Inteligentes 2002

SoccerServer: propriocepçãoSoccerServer: propriocepção

Parâmetros: senseBody(Time, % momento da propriocepção

viewMode(Quality, Width), % compromisso entre largura, % qualidade e freqüência da visão stamina(Stamina, % reserva de energia do jogador % parcialmente: - consumida por cada ação % - reabastecida a cada ciclo Effort) % f(Stamina) = percentual da força desejada % da próxima ação efetivamente disponível Speed, % ~ velocidade do jogador HeadAngle, % ângulo cabeça/corpo actionCounts(Kicks, Dashes, Turns, Says, NeckTurns) % número de ações de cada tipo já executada pelo jogador )

Freqüência: 1 por ciclo

Page 13: Sugestões de Assuntos de Projetos Métodos de Computação Inteligentes 2002

SoccerServer: parâmetros da visãoSoccerServer: parâmetros da visão

see(Time, % tempo da visão ObjName, % estrutura identificando objeto visto Distance, % posição relativa do objeto visto em coords Direção, % polares centrado no jogador olhando DistChng, DirChng, % derivadas dessas coordenadas

polares BodyDir, % quando objeto visto é um jogador, orientação HeadDir) % do corpo e da cabeça relativamente a direção

ObjName = ball | player(Team,Number) | goal({l;r}) | % l = left, r = right line({l|r|t|b}) % t = top, b = bottom flag/1 | % pontos de referência no campo: flag/2 | % com argumentos l,r,t,b, e/ou flag/3). % c = center, p = penalty area, g = goalpoast.

Page 14: Sugestões de Assuntos de Projetos Métodos de Computação Inteligentes 2002

SoccerServer: limites da visãoSoccerServer: limites da visão

Campo: circulo de raio VisibleDistance fixo ao redor do jogador cone centrado no rosto do jogador de ângulo ViewWidth

= {180;90;45} escolhido pelo jogado Clareza: diminuí com a distância

de perto direção e distância do objeto e se for jogador também cor e número

de longe apenas direção do objeto e se for jogador sem cor nem número

variação contínua entre os dois influência pela escolha de ViewQuality pelo jogador

Confiabilidade: ruído aumenta com distância Freqüência: inversamente proporcional a

ViewQuality e ViewWidth

Page 15: Sugestões de Assuntos de Projetos Métodos de Computação Inteligentes 2002

SoccerServer: audiçãoSoccerServer: audição

Parâmetros: hear(Time, % tempo da audição

Direction, % angulo da procedência da mensagem auditíva % 2 exceções: Direction = self ou refereeMessage) % string da mensagem em linguagem natural % exceção: linguagem artificial para mensagens % do juiz = kick_off_l | kick_in_l | % corner_kick_r | ...

Limites: Raio = 50m Freqüência:

1 mensagem de jogador por ciclo caso vários são mandados, apenas o primeiro é ouvido

Nenhum limite para mensagens do juiz

Page 16: Sugestões de Assuntos de Projetos Métodos de Computação Inteligentes 2002

SoccerServer: açõesSoccerServer: ações

move(X,Y): posicionar jogador no início do jogo

dash(Power): acelerar no eixo com força Power

turn(Moment): girar corpo de um angulo dependente de Moment e da velocidade do jogador

turnNeck(Angle): girar pescoço relativo ao corpo

kick(Power,Dir): chutar na direção Dir com força Power

catch(Dir): mergulhar na direção Dir para pegar bola; reservado para goleiros

say(Message): mandar string no único canal de comunicação compartilhado pelos 22 jogadores

change_view(Angle,Quality): mudar compromisso entre largura, profundidade e freqüência da visão Angle = ângulo do cone de visão,

180, 90 ou 45 Quality =

high: direção e distancia de cada objeto no cone de visão

low: apenas direção dos mesmos Freqüência diminua

automaticamente quando Angle e Quality aumentam

Page 17: Sugestões de Assuntos de Projetos Métodos de Computação Inteligentes 2002

SoccerServer: tipo de ambienteSoccerServer: tipo de ambiente

inacessível (percepção parcial e ruidosa) não determinístico:

execução ruidosa das ações imprevisibilidade das escolhas do agentes adversários não confiabilidade de UDP/IP

dinâmico (o jogo é tempo-real, limite de 100ms para raciocinar sem o ambiente mudar)

contínuo (parâmetros reais em algumas percepções e ações) ambos cooperativo e antagônico relacional: envolve raciocinar sobre várias e complexas

relações espaciais, temporais e inter-agentes multi-granular: requer vários níveis de abstração entre

percepções e ações atômicas

Page 18: Sugestões de Assuntos de Projetos Métodos de Computação Inteligentes 2002

SoccerServer: tipos de conhecimento e SoccerServer: tipos de conhecimento e raciocínios necessários raciocínios necessários

Interpretar percepções para atualizar: Modelo do ambiente Objetivo corrente Percepções físicas x comunicativas

Prever estado futuro do ambiente resultando: Da continuação dos eventos interpretados Dos efeitos das ações a executar

Escolher a melhor próxima ação em função: Do objetivo corrente Da previsão do estado futuro do ambiente resultando dessa

ação (ou da seqüência de ações iniciada) Ações de atuação x de percepção x de comunicação

Page 19: Sugestões de Assuntos de Projetos Métodos de Computação Inteligentes 2002

Ontologia para um simulador Ontologia para um simulador 3D de futebol de robô 3D de futebol de robô

Representação do conhecimento e ontologia de um domínio complexo

Modelar em UML uma API para um SoccerServer 3D Definir ontologia (classes de entidades e relações,

restrições de valores) de um ambiente de simulação de futebol 3D

Definir vários conjuntos de percepções e ações dos agentes, cada um a um nível diferente de abstração

Usar diagramas de classe e restrições OCL Relevância prática essencialmente para jogos,

sistemas multi-agentes, simulação e robótica

Page 20: Sugestões de Assuntos de Projetos Métodos de Computação Inteligentes 2002

Projeto Maracatu RFCProjeto Maracatu RFC

Engenharia de software, representação de conhecimento e raciocínio automático para software multi-agentes

Estudo de caso: desenvolver time de futebol de robô simulado do CIn para mandar para RoboCup em 2003 ou 2004

Estado atual: Protótipo parcial de time desenvolvido pelo mestrando Alexandre

Damasceno (candidato ao doutorado) Agente reativo com estado interno baseado na dedução

automática Abordagem atual:

Modelagem detalhado com UML e OCL Implementação em Flora, uma linguagem de programação e

representação do conhecimento híbrida lógica orientada a objetos Futuro:

Agente misto reativo, deliberativo, otimizador e aprendiz Integração de redes de decisões probabilistas, aprendizagem por

reforço e programação em lógica indutiva

Page 21: Sugestões de Assuntos de Projetos Métodos de Computação Inteligentes 2002

Arquitetura do Maracatu RFCArquitetura do Maracatu RFC

RoboFlora

Comportamento

Preditor

ReativoReativoObjetivo

Delibera-tivo

Dedutivo

Delibera-tivo

DedutivoHierárqui-

co

Delibera-tivo

Abdutivo

Delibera-tivo

AbdutivoHierárqui-

co

Interno

Externo

PreditorComunicação

VestuárioRegras Intransigentes

Estado Interno

ObjetivosSituação Modelo do

Ambiente

Formação Situação

Ação deAtuação

Ação dePercepção

Comunicação Comunicação

Atualização

Page 22: Sugestões de Assuntos de Projetos Métodos de Computação Inteligentes 2002

Componente de agente reativo Componente de agente reativo com estado interno de futebol de robô com estado interno de futebol de robô

Representação híbrida de conhecimento objetos + regras + lógica, para sistemas multiagentes

Raciocínio automático multiagentes híbrido dedução + herança Planejamento situado multiagentes sem cooperação explícita

mas emergindo da interação no ambiente de agentes reativos com modelo do ambiente e dos outros agentes

Metodologia de desenvolvimento combinando tecnologia padrão de engenharia de software com tecnologias experimentais de IA

Focalizado nas camadas de alto níveis estratégicas do agente através do uso da API RoboFlora que cuida da interface com o SoccerServer, da manutenção do modelo do ambiente e da decomposição de ações abstratas de alto níveis em ações primitivas diretamente executáveis pelo SoccerServer

Relevância prática essencialmente para jogos, sistemas multiagentes, simulação e robótica

Potencial para publicação e participação na RoboCup 2003

Page 23: Sugestões de Assuntos de Projetos Métodos de Computação Inteligentes 2002

Cálculo de eventos: definição e Cálculo de eventos: definição e motivaçãomotivação

Conjunto de regras (axiomas) e predicados independentes do domínio de aplicação para manutenção do modelo de um ambiente dinâmico usando programação em lógica

Mais flexíveis do que o cálculo de situações por: modelar o tempo em termos de intervalos de tempo no lugar

de apenas pontos de tempo permitir raciocinar em termos de eventos com duração e não

apenas de situações instantâneas permitir raciocinar em termos de narrativas (sucessões de

eventos) incompletas e não apenas cadeias completas de situações

Útil tanto para interpretação das percepções, como para previsão das conseqüências das ações e seu planejamento

Page 24: Sugestões de Assuntos de Projetos Métodos de Computação Inteligentes 2002

Cálculo de eventos: Cálculo de eventos: exemplo de axiomatizaçãoexemplo de axiomatização

holdsAt(F,T) :- initiallyp(F), not_Clipped(0,F,T).

holdsAt(F,T3) :- happens(A,T1,T2), initiates(A,F,T1), T2 < T3,

clipped(T1,F,T3).

not_HoldsAt(F,T) :- initiallyN(F), not_Clipped(0, F, T).

not_HoldsAt(F,T3) :- happens(A,T1,T2), terminates(A,F,T1), T2 < T3, not_Declipped(T1, F, T3).

clipped(T1, F, T4) :- happens(A, T2, T3), T1<T3, T2<T4, (terminates(A,F,T2);

releases(A, F, T2)).

decliped(T1, F, T4) :- happens(A, T2, T3), T1<T3, T2<T4, (initiates(A, F, T2); releases(A,F,T2)).

happens(A,T1,T2) :- T1<=T2.

Page 25: Sugestões de Assuntos de Projetos Métodos de Computação Inteligentes 2002

Cálculo de eventos: exemplo de base de Cálculo de eventos: exemplo de base de conhecimento do domínioconhecimento do domínio

Definição do modelo do ambientes:initiates(go(X),at(X),T).terminates(go(X),at(Y),T) :- not (X = Y).initiates(buy(X),have(X),T) :- sells(Y,X), holds_at(at(Y),T).sells(hws,drill).sells(sm,milk).sells(sm,banana).

Regras estrategicas:buy(milk) :- holds_at(have(milk),T).buy(drill) :- holds_at(have(drill),T).

Page 26: Sugestões de Assuntos de Projetos Métodos de Computação Inteligentes 2002

Abdução x DeduçãoAbdução x Dedução

Dedução: Dado regra causal C P1 P2, e fatos F1, F2

se unificando respectivamente com P1, P2 Concluir: C

Abdução: Dado regra causal C P1 P2, fato C, e fato F2 se

unificando com P2 Fazer a hipótese que F1 que se unifica com P1 ocorreu,

e que F1 (junto a F2) explica então a ocorrência de C Equivalente a deduzir F1

a partir dos fatos C, F2 e a regra diagnóstica P1 C P2

Page 27: Sugestões de Assuntos de Projetos Métodos de Computação Inteligentes 2002

Uma máquina de inferência abdutiva Uma máquina de inferência abdutiva usando o cálculo de eventousando o cálculo de evento

Sem negação por falha:abdemo([], R, R).abdemo([G|Gs], R1, R2) :- abducible(G), abdemo(Gs, [G|R1], R2).abdemo([G|Gs1], R1, R2) :- axiom(G,Gs2), append(Gs2, Gs1, Gs3),

abdemo(Gs3, R1, R2).

Com negação por falha:abdemo([], R, R, N).abdemo([G|Gs], R1, R3, N) :- abducible(G), abdemo_nafs(N, [G|R1], R2),

abdemo(Gs, R2, R3, N).abdemo([G|Gs1], R1, R2, N) :- axiom(G,Gs2), append(Gs2, Gs1, Gs3),

abdemo(Gs3, R1, R2, N).abdemo([not(G)|Gs], R1, R3, N) :- abdemo_naf([G], R1, R2),

abdemo(Gs, R2, R3, [[G] | N]).abdemo_naf([G|Gs1], R1, R2) :- not resolve(G, R, Gs3).abdemo_naf([G|Gs1], R1, R2) :- findall(Gs2, (resolve(G1, R1, Gs3), append(Gs3, Gs1, Gs2)), Gss), abdemo_nafs(Gss, R1, R2).

Page 28: Sugestões de Assuntos de Projetos Métodos de Computação Inteligentes 2002

Abdução com cálculo de eventos: Abdução com cálculo de eventos: aplicaçõesaplicações

Interpretar percepções: Dado:

modelo parcial model1 percepção percept regra causal percept model1 model2

Abduzir modelo mais completo model1 model2 Planejamento:

Dado: modelo do ambiente atual modelAtual objetivo futuro a atingir objetivo regra causal objetivo modelAtual plano

Abduzir seqüência de ação a executar plano

Page 29: Sugestões de Assuntos de Projetos Métodos de Computação Inteligentes 2002

Projeto Florabdemo:Projeto Florabdemo:

Planejador abdutivo lógico orientado a objetos baseado no cálculo de evento

Representação híbrida de conhecimento objetos + regras + lógica Raciocínio automático híbrido dedução + abdução + herança Raciocínio em ambiente inacessível dinâmico por agente reativo

com estado interno e por agente deliberativo Meta-programação em lógica orientada a objeto Desenvolver versão Flora do planejador abdutivo Abdemo Prolog

baseado no cálculo de evento Teste com domínios brinquedos (Mundo dos Blocos, Shakey) e, se

tiver tempo, com agente deliberativo de futebol de robô simulado Relevância prática essencialmente para jogos, simulação e

robótica Potencial para uma publicação Para saber mais sobre atualização do modelo do ambiente e

planejamento por um agente como abdução usando o cálculo de evento ver as publicações de Murray Shanahan http://casbah.ee.ic.ac.uk/~mpsha/pubs.html

Page 30: Sugestões de Assuntos de Projetos Métodos de Computação Inteligentes 2002

Lógica de escolhas independentes:Lógica de escolhas independentes:definição e motivaçãodefinição e motivação

Lógica de escolhas independentes (ICL) Formalismo de representação de conhecimento para sistemas

multi-agentes otimizadores em ambientes inacessíveis, não deterministas, dinâmicos, relacionais e contínuos

Integração de: programação em lógica redes bayesianas teoria da decisão teoria dos jogos

Para saber mais sobre esse formalismo de especificação e implementação de agentes inteligentes, ver a página das publicações de David Poole: http://www.cs.ubc.ca/spider/poole/pubs.html

Page 31: Sugestões de Assuntos de Projetos Métodos de Computação Inteligentes 2002

ICL: exemplo ilustrando integraçãoICL: exemplo ilustrando integração lógica com probabilidades lógica com probabilidades

carrying(key,s(T)) <- do(pickup(key),T) & at(robot,Pos,T) & at(key,Pos,T) & pickup_succeeds(T).

carrying(key,s(T)) <- ~ do(pickup(key),T)& ~ do(putdown(key),T) & carrying(key,T)& ~ drops(key,T).

random([pickup_succeeds(T): 0.7, pickup_fails(T):0.3]).

drops(key,T) <- slippery(key,T) & drop_slippery_key(T).

drops(key,T) <- ~ slippery(key,T) & fumbles_key(T).random([drop_slippery_key(T):0.9, holds_slippery_key(T):0.1]).random([fumbles_key(T):0.2, retains_key(T):0.8]).

at(key,Pos,T) <- carrying(key,T) & at(robot,Pos,T).at(key,Pos,s(T)) <- ~ carrying(key,s(T)) &

at(key,Pos,T).

at(robot,Pos,s(T)) <- do(goto(Pos),T) & goto_succeeds(T).

at(robot,Pos1,s(T)) <- do(goto(Pos),T) & at(robot,Pos1,T) & ~ goto_succeeds(T).

at(robot,Pos,s(T)) <- ~ goto_action(T) & at(robot,Pos,T).

goto_action(T) <- do(goto(Pos),T).

random([goto_succeeds(T):0.93,goto_fails(T):0.07]).

slippery(key,s(T)) <- slippery(key,T) & stays_slippery(T).

slippery(key,0) <- initially_slippery(key).

random([stays_slippery(T):0.75,

stops_being_slippery(T):0.25]).

random([becomes_slippery(T):0.05,

stays_unslippery(T):0.95]).

random([initially_slippery(key):0.5,

initially_unslippery(key):0.5]).

Page 32: Sugestões de Assuntos de Projetos Métodos de Computação Inteligentes 2002

ICL: exemplo ilustrando integraçãoICL: exemplo ilustrando integraçãocom teoria da decisãocom teoria da decisão

Exemplo do pênalti:utility(kicker, 1) :- goal.utility(kicker, 0) :- not goal.utility(goalie, 1) :- goal.utility(goalie, 0) :- not goal.

goal :- kicks(D), jumps(D), goal_if_same_dir.goal :- kicks(left), jumps(right), goal_if_kl_jr.goal :- kicks(right), jumps(left), goal_if_kr_jl.

Alternativas: para o chutador: {kicks(right), kicks(left)} para o goaleiro: {jumps(right), jumps(left)} para o ambiente: {goal_if_same_dir,no_goal_if_same_dir},

{goal_if_kl_jr,no_ goal_if_kl_jr}, {goal_if_kr_jl,no_goal_if_kr_jl}

Page 33: Sugestões de Assuntos de Projetos Métodos de Computação Inteligentes 2002

ICL: exemplo ilustrando integraçãoICL: exemplo ilustrando integraçãocom teoria da decisãocom teoria da decisão

Probabilidades do ambiente:p0(goal_if_same_dir) = 0.9.p0(goal_if_kl_jr) = 0.1.p0(goal_if_kr_jl) = 0.2.

Estratégias probabilistas dos agentes:Pg = Pgoalie(jump(right))Pk = Pkicker(kick(right))

Resultado do raciocínio: P(goal) = PkPg0.9 + (1-Pk)(1-Pg)0.9 + (1-Pk)Pg0.1+(1-Pg)0.2

Page 34: Sugestões de Assuntos de Projetos Métodos de Computação Inteligentes 2002

Uma máquina de inferência baseada na Uma máquina de inferência baseada na lógica de escolhas independentelógica de escolhas independente

rule(R): Os fatos são dados em forma de rule(R), onde R é uma regra da forma H:-B ou um átomo.

H <- B: é o mesmo que uma regra (H :- B). Regras com corpo vazio é representada como (H <- true) ou rule(H).

random(X, h, [x1:p1,...,xn,pn]): onde h é um átomo que contem a variável X, e xi são termos diferentes. Isso declara o átomo h com X substituído por cada xi onde P(h[xi]) = pi.

controllable([h1, ..., hn]): declara as variáveis disjuntas hi (o agente pode escolher um dos hi).

explain(G, C): busca por todas as explicações de G dadoo controllable C.

thconsult(filename): chama o arquivo chamado filename.how(G,C,N): usado para explicar a N-ésima explicação para G dado

C. diff(G,C,N,M): imprime a diferença na árvore de prova para a N-

ésima explicação de G dado C.

Page 35: Sugestões de Assuntos de Projetos Métodos de Computação Inteligentes 2002

Uma máquina de inferência baseada na Uma máquina de inferência baseada na lógica de escolhas independentelógica de escolhas independente

check(G): checa por regras disjuntas da explciação de G.check(G1, G2): checa cada caso onde G1 e G2 são verdadeiros.recap(G): recauchuta a explicação de G, com a probailidade de

cada explicação dado G.recap: dá a probabildaide de todos os objetivos explicados.check_undef: procura por átomos não definidos.clear: limpa a base de conhecimento.

Page 36: Sugestões de Assuntos de Projetos Métodos de Computação Inteligentes 2002

Projeto OICLProjeto OICL

Maquina de inferência lógica orientada a objetos bayesiana baseada em conceitos das teorias da decisão e dos jogos

Representação híbrida de conhecimento objetos + regras + lógica + probabilidades + utilidade

Raciocínio automático híbrido dedução + abdução + herança + otimização probabilística de utilidade

Raciocínio em ambiente inacessível, dinâmico e não determinista por agente reativo com estado interno

Meta-programação em lógica orientada a objeto Desenvolver versão Flora do meta-interpretador Prolog para

Independent Choice Logic (ICL) que integra dedução lógica da 1a ordem com otimização probabilística de utilidade

Teste com domínios brinquedos (Mundo dos Blocos, Shakey) e, se tiver tempo, com agente reativo com estado interno de futebol de robô simulado

Relevância prática essencialmente para jogos, simulação e robótica

Potencial para uma publicação