View
106
Download
1
Category
Preview:
Citation preview
Tópicos de Projeto:Métodos de Computação Inteligente
2003-1
Jacques RobinCIn-UFPE
Tópicos
1. CIn-Project: sistema de planejamento e gerencia de processo de desenvolvimento de software baseado em ontologias
2. Time de RoboCup Maracatu RFC 1.13. Agente explorador do Mundo do Wumpus4. Simulador de Mesozoic Zoo in Orbit com interface de
visualização e agente teste simples5. Uma ontologia UML de corridas de carros com implementação
parcial 6. Uma ontologia UML de jogos de bola com implementação
parcial
CIn-Project
Ontologia Geral UML/OCLde Planejamento e
Gerenciamento de Projetos
Sub-Ontologia UML/OCLde Processos de Software
Ontologia Geral Florade Planejamento e
Gerenciamento de Projetos
Sub-Ontologia Florade Processos de Software
Sub-Ontologia Florado Software Desenvolvido
Sub-Ontologia UML/OCLdo Software Desenvolvido
Editor deModelos UML/OCL
Plano manual do projetoem UML/OCL
GUI deaquisiçãode dados
do projeto
Base de dados doprojeto em Flora
Plano manual do projetoem Flora
Plano manual do projetoanotado com problemas
em UML/OCL
Plano sugerido do projetoem UML/OCL
Verificador de Planos
Plano manual do projetoanotados com problemas
em Flora
Máquina de Inferência Flora
Planejador
Plano sugerido do projetoem Flora
CIn-Project
Sistema de planejamento e gerencia de projeto de software baseado em ontologias
Exemplos de classes das ontologias gerais: Tarefas e sub-tarefas Papeis Recursos: humanos, hardware, software, comunicação, espaço físico Medidas: custo, desempenho, prazo Tecnologias
Exemplos de relacionamentos das ontologias gerais: Dependências entre tarefas Alocação de recursos para cada sub-tarefa Desvios: atrasos, overhead de custo, qualidade insuficiente
Ponto de partida: Procurar e reutilizar padrões de gerencia de projeto, processos de software e planejamento em IA
Codificá-los em UML/OCL e em Flora
Processo de desenvolvimento dirigido por ontologia de SMA baseado em
conhecimentoModelagem:Modelagem:• Ontologia do domínio: O• Caracterização do ambiente: C = f(O)
• Modelagem de cada BC do simulador: Me = f(O,Rec)• Modelagem de cada BC de cada agente: Ma = f(O,Rac)
• Arquitetura social do SMA: As = f(C,Rs)• Arquitetura interna do simulador: Ae = f(C,Re)• Arquitetura interna de cada agente: Aa = f(C,Ra)
Requisitos:Requisitos:• Do SMA: Rs
• De cada componente do simulador: Rec = f(Re,Ae)• De cada componente de cada agente: Rac = f(Ra,Aa)
• Do simulador de ambiente: Re = f(Rs,As)• De cada agente: Ra = f(Rs,As)
Implementação:Implementação:• Codificação ou aprendizagem de cada BC do simulador Ie = f(Me)• Codificação ou aprendizagem de cada BC de cada agente Ia = f(Ma)
Testes:Testes:• Unitários de cada BC do simulador Tec = f(Ie,Re)• Integrados do simulador Te = f(Ie,Re)• Unitários de cada BC de cada agente Tac = f(Ia,Rac)• Integrados de cada agente Ta = f(Ia,Ra)• Integrado do SMA Ts = f(Ie,Ia,Rs)
Engenharia dos requisitos: SMA e simulador
SMASMA: Diagramas de casos de uso com restrições OCL Ligados a classes da ontologia
SimuladorSimulador do ambiente: Diagramas de casos de uso com restrições OCL Ligados a classes da ontologia: percepções e ações Funcionalidades desejáveis:
Simulação a velocidade normal Interrupção para inspeção e simulação passo a passo Retroceder, mudar parâmetro ou ação de um agente, e recomeçar Geração de logs do estado do ambiente, das percepções e ações dos agentes
Engenharia dos requisitos: agentes
Diagramas de casos de uso com restrições OCL Ligados a classes da ontologia: percepções e ações Funcionalidades desejáveis:
Raciocínio a velocidade normal Interrupção para inspeção e execução passo a passo Retroceder no raciocino, mudar crença, objetivo, plano ou regras e recomeçar
Geração de logs do seu raciocínio e das suas percepções, crenças, objetivos, planos, utilidades e ações
Engenharia dos requisitos: GUI do simulador e GUI dos agentes
Diagramas de casos de uso ligados a classes da ontologia Funcionalidades desejáveis:
Visualização da simulação a velocidade normal Interrupção para inspeção execução passo a passo GUI do simulador:
Visualização dos estado do ambiente, das percepções e ações dos agentes
Retroceder, mudar parâmetro ou dado do ambiente, ou ação ou percepção de um agente, e recomeçar
GUI do agente: Visualização do raciocínio, das crenças, objetivos, planos, utilidades e regras do agente
Retroceder, mudar crença, objetivo, plano, utilidade ou regra do agente, e recomeçar
Durante execução, ou a partir dos logs armazenados pelo simulador ou agentes
Modelagem da estrutura social do SMA
Papeis: interfaces UML encapsulando serviços Restrições OCL sobre alocação de papeis Unidades sociais: pacotes UML Protocolos de comunicação e cooperação: diagramas de
interação Agent UML Agent UML (www.auml.org)
Modelagem: do simulador e dos agentes
Arquiteturas internas do simulador e dos agentes: Escolha dos componentes e bases de conhecimento Escolha da estrutura de controle entre componentes e bases de conhecimento
Escolha do mecanismo de raciocínio de cada componente Escolha do método de aquisição do conhecimento para cada base
Modelos do simulador e dos agentes: No caso da aquisição manual do conhecimento Diagramas de classes com restrições OCL estendendo a ontologia Diagramas de estado para comportamentos
Implementação do simulador e dos agentes
Para cada componente do simulador e de cada agente: Escolha da linguagem L de representação de conhecimento Escolha da máquina de inferência raciocinando com L Caso da aquisição manual do conhecimento:
Codificação em L de cada elemento do modelo Caso da aquisição por aprendizagem de máquina: processo em espiral consistindo do seguintes passos: Codificação em L de um conjunto de exemplos de entrada-saída Escolha do algoritmo de aprendizagem Especificação do viés de aprendizagem Escolha da ferramenta de aprendizagem Ajuste dos parâmetros da ferramenta Treinamento com parte dos exemplos codificados Teste estatístico do conhecimento aprendido com outra parte dos exemplos
Avaliação qualitativa do conhecimento aprendido
Testes
Unitários de cada BC do simulador Integrados do simulador Unitários de cada BC de cada agente Integrados de cada agente Integrado do SMA
Análise das interações multiagente e do comportamentos coletivos emergentes
Cada uma desses conjuntos de testes sub-divididos em: Testes funcionais de black-box Testes funcionais de glass-box
Rastreamento do mecanismo de raciocínio da máquina de inferência Testes de desempenho
Rastreamento do mecanismo de raciocínio da máquina de inferência
Maracatu Robo Futebol Clube
1.1 Divisão softbots Exemplos de jogos:
http://www.uni-koblenz.de/ag-ki/ftp/robocup/robolog/flash/robolog-brainstormers.swf
http://www.uni-koblenz.de/ag-ki/ftp/robocup/robolog/flash/Luebeck-RoboLog.swf
http://www.uni-koblenz.de/ag-ki/ftp/robocup/robolog/flash/ATH-RoboLog.swf
SoccerServer
UDP/IP UDP/IP
Client 1
Client 11Client 11
Client 1
Time A
Time BSoccer Monitor
Maracatu Robo Futebol Clube 1.1
Desenvolver nova versão de time de futebol de robô simulado do CIn para a competição internacional anual RoboCup (www.robocup.org)
Versão 1.0 resultado de uma dissertação de mestrado Ontologia abrangente da RoboCup em UML/OCL Time de agentes autômatos Modelo do time em UML/OCL Implementação:
Interpretação das percepção e atualização do modelo do ambiente reuso da biblioteca C do CMUnited, usada pelos Campões 1998-2002
Escolha das ações: Alto-nível: regras orientada a objetos Flora Baixo-nível: reuso da biblioteca C do CMUnited, usada pelos Campões 1998-2002
Extensões para versão 1.1: Agente cognitivo Jogadas defensivas:
Posicionamento para marcação defensiva Escolha: marcar seu adversário designado x tentar interceptar a bola x
marcar adversário livre com a bola Jogadas ofensivas sem a bola
Posicionamento para sair da marcação do adversário Jogadas com a bola:
Avaliação do melhor passe Escolha: passe x drible x chute
Extensão do modelo: Diagramas de classes, restrições OCL, diagramas de estado
Extensão da implementação: Classes Flora, regras Flora
Avaliação: Partidas entre times diferentes por apenas um único aspecto
Maracatu Robo Futebol Clube 1.1
Agente explorador do mundo do
wumpus
JEOPS: regras + objetos + procedimentos
Java
Servidor Simulador
Flora: regras +objetos + relações
Cliente Agente
XSB PrologAPI
XSB PrologJava
RMI
Cliente Agente
JEOPS: regras + objetos + procedimentos
Java
Agente explorador do mundo do
wumpus
YAP Prolog: regras + relações
Simulador Agente
JEOPS: regras + objetos + procedimentos
Java
Servidor Simulador
Flora: regras +objetos + relações
Cliente Agente
XSB Prolog
APIFloraJava
RMI
Cliente Agente
JEOPS: regras + objetos + procedimentos
Java
Eclipse: regras + restrições + relações
Simulador
Agente
E-RES
Cálculo de eventos:Cálculo de eventos:• Atualizações do modelo do ambiente• Manutenção da verdade• Problema do frame• Problema da ramificaçãoPlanejamento:Planejamento:• Previsão de ambientes futuros
Agente explorador do mundo do
wumpus
Arquiteturado Agente
Linguagem de Programação
Atualizaçãodos Modelos
FloraJEOPS Prolog
Cálculo deEventos
Cálculo deSituações Não
MonotônicaEclipse
E-RES
AgenteCognitivo
AgenteAutômato
AgenteCognitivo
Otimizador
AgenteAutômatoOtimizador
Agente explorador do mundo do
wumpus
Planejador comInformação Parcial
Previsão dosModelosFuturos
Arquiteturado Agente
Linguagem de Programação
Atualizaçãodos Modelos
Eclipse
E-RES
FloraJEOPS Prolog
Cálculo deEventos
Cálculo deSituações Não
Monotônica
AgenteDeliberativo
Agente Deliberativo Otimizador
Agente explorador do mundo do
wumpus Como gerar uma publicação a partir do projeto?
Desenvolver e comparar desempenho de: Várias arquiteturas de agentes (mais fácil com E-RES) Várias técnicas de atualizações do modelo do ambientes (mais fácil com Flora)
Vários linguagens de programação Desenvolver agente deliberativo em JEOPS ou Flora
Welcome to MeZOORBMEsoZOic ZOO in ORBIT
Jogo educativo para ensinar IA e fazer experimentos empíricos para pesquisa
Supera as limitações do Mundo do Wumpus e da RoboCup: Características fixas do ambiente Algumas em comum
InacessívelInacessível discretodeterministanão-episódiconão-episódicoseqüencialmono-agentenão diversonão diverso
InacessívelInacessível contínuoestocásticonão-episódiconão-episódicoassíncronomulti-agentesnão diversonão diverso
Ausência de diversidade nos 2: Classes de terrenos: 1 ou 2 Classes de agentes: 1 Classes de objetos: 1 ou 2 Classes de modos de locomoção: 1 Classes de objetivos: 2
Áreas chaves da IA tratamespecificamente da diversidade: Ontologias Representação do conhecimento OO Técnicas de classificação
Welcome to MeZOORB
Requisitos: Todas as características do ambiente parametrizáveis Permite criar ambientes com qualquer combinação de características
No entanto: simples de entender pós ancorado em referências universalmente difundidas
Roteiro:
Meets
Versão 2.0 do Parque dos Dinossauros se mudou de uma ilha do Costa-Rica para uma estação orbital
Por razão de segurança e verossimilhança Biomecânica: mega-fauna pré-histórica inviável na gravidade
atualhttp://www.dinox.freeserve.co.uk/english/sizecomp.htm
Welcome to Mezoorb
Teoria geológicada terraem expansão
Welcome to Mezoorb
Teoria geológicada terraem expansão
Welcome to Mezoorb
Teoria geológicada terraem expansão
Welcome to Mezoorb
Teoria geológicada terraem expansão
Welcome to Mezoorb
Teoria geológicada terraem expansão
Welcome to Mezoorb
Teoria geológicada terraem expansão
Welcome to Mezoorb
Teoria geológicada terraem expansão
Welcome to Mezoorb
Teoria geológicada terraem expansão
Welcome to Mezoorb
Teoria geológicada terraem expansão
Welcome to Mezoorb
Teoria geológicada terraem expansão
Welcome to Mezoorb Colônias espaciais orbitais
Welcome to MeZOORB: diversidade
Taxonomia de animais animais de
diversas habilidadese comportamentos:
• sensores,atuadores• tamanho,velocidade •corre,trepa,nada,voa
• inteligência• agressividade
Taxonomia de pessoas pessoas de
diversas habilidadese comportamentos:
• paleontólogo,hacker, piloto,soldado, • líder,corajoso,
altruísta Taxonomia de
terrenosterrenos: • floresta,savana,deserto• mangue,rio,lagoa,mar
• planície,montanha• caverna, construçãoTaxonomia de
veículosveículos:• moto,jipe,
caminhão-lagarta?• helicóptero,hidravião
• hovercraft,lancha,jet-ski,submarino
Taxonomia de armasarmas:• metralhadora• lança-chama• fuzil-arpão
• torpedo
Taxonomia derecursosrecursos:
• bebida,comida• energia,combustível
• munições,peças• telecomunicações Taxonomia de
obstáculos e passagemobstáculos e passagem:• cercas,viveiros,• paredes,fossos
• pontes,túneis,pistas• portas,escadas
Flora: regras +objetos + relações
XSB Prolog
APIFloraXML
Servidor Simulador
Socket
Flora: regras +objetos + relações
XSB Prolog
APIFloraXML
Socket
Cliente Agente
.net
GUI
Swing
Java
APIJavaXML
Socket
APIJEOPSXML
Socket
Servidor Simulador
JEOPS: regras+ objetos +
procedimentos
Java
BNJ: redesbayesianas ?
BNJ: redesbayesianas?
Cliente Agente
JEOPS: regras+ objetos +
procedimentos
Java
APIJEOPSXML
Socket
Welcome to MeZOORB:
arquiteturas de software
Visualização:• do ambiente• das percepções e ações dos agentes• dos modelos, objetivos e regras dos agentes• velocidade normal, parada, passo a passo, retroceder, mudar parâmetro,recomeçar.
.net
APIEclipse
XML
Socket
E-RES: planejamento+ cálculo de eventos
Eclipse: ~objetos +regras+ restrições + relações
Cliente Agente
APIEclipse
XML
Socket
E-RES: planejamento+ cálculo de eventos
Eclipse: ~objetos + regras + restrições + relações
Servidor Simulador
APIICLXML
Servidor Simulador
Socket
ICL: regras+ relações+ probabilidades+ utilidades
YAP Prolog
Logtalk:objetos+ regras+ relações
APIICLXML
Socket
Cliente Simulador
ICL: regras+ relações+ probabilidades+ utilidades
YAP Prolog
Logtalk:objetos+ regras+ relações
APICLP(BN)
XML
SocketYAP Prolog
Servidor Agente
CLP(BN): regras+ relações+ restrições+ probabilidades
Logtalk:objetos+ regras+ relações
APICLP(BN)
XML
Socket YAP Prolog
Cliente Agente
CLP(BN): regras+ relações+ restrições+ probabilidades
Logtalk:objetos+ regras+ relações
RMI
Java
Swing
GUI
E-RES: planejamento+ cálculo de eventos
Eclipse: ~objetos + regras + restrições + relações
Servidor Simulador
APIEclipse
Java
E-RES: planejamento+ cálculo de eventos
Eclipse: ~objetos +regras+ restrições + relações
Cliente Agente
APIEclipse
Java
Servidor Simulador
JEOPS: regras + objetos + procedimentos
Java
Cliente Agente
JEOPS: regras + objetos + procedimentos
Java
BNJ: redesbayesianas
BNJ: redesbayesianas
??
Flora: regras +objetos + relações
XSB Prolog
Servidor Simulador
API XSB-Java
API Flora-JavaFlora: regras +
objetos + relações
XSB Prolog
Cliente Agente
API XSB-Java
API Flora-Java
Ontologia de corridas de carrose jogos de bola
Motivação: Dois domínios estudo de caso para Intelligent educative hybrid game forge engineering
Incorporate different game domain roles usually covered in different game classes (reflex, managerial, RPG)
Any role can be filled by either a human player or a softbotAggregate web-based edutainment material and chat rooms for the human players to cooperatively and adversarially improve their skills
Rely on heavy duty physical modelling and AIProvide broad domain general simulation functionalitiesAllows human players and communities to use these functionalities to instanciate an infinite number of particular games
Intelligent educative hybridgame forge engineering: the commercial
With a Dreamnaut Game ForgeDreamnaut Game ForgeTMTM you don’t merely buy and play a single, fixed game created by othersYou and your friends design your own virtual world, define your own playing rules and then play alongFrom tournament to tournament you help create a new traditionAfter each tournament you don’t merely improve your player skills, you tinker with the world and rules to improve the playability and fun of the very gameUntil you grow tired of it, and then invent a radically new oneAll this with a single software and without the need to program a line of codeWhy playing other people’s game when it’s now so easy to be the ringmaster?
Genericteam sport league components:
-Game Simulation-League Simulation
-Personality modelling- Physical modelling
- Graphics- AI
Team sportgame forge site
Generic team sport ontology Virtual
team sport leaguecollaborative design
components:- Sport design
- League design- Collaborative
support
Web links about:- Team sports- Personality modelling - Physical modelling- Computer graphics- User interfaces- Game Playability- AI
Virtual team sport league design GUI
Virtual team sport leaguedesign collaboration GUI
Player community designedvirtual team sport and league
sub-ontology
Specific team sport league
component generator:-Game Simulation
-League Simulation-Personality modelling- Physical modelling
- Graphics- AI
Player community designed
team sport league components:-Game Simulation
-League Simulation-Personality modelling- Physical modelling
- Graphics- AI
Virtual team sportleague management GUI
Virtual team sportgame playing GUI
Motorsports Game Forge Roles
League president, board member Circuit owner, designer Sponsor marketing manager Team manager Chassis manufacturer, designer Engine manufacturer, designer Tyre manufacturer, designer Fuel manufacturer, designer Driver’s aid software manufacturer, designer (now this involves
programming !) Driver Driver’s groupie (now this is a no brainer )
Example Motorsports GameForged Instance: Formula 0
Endurance road course racing series: 3 hours single driver races, 24 hours 3 driver crew races To maximize overtaking, starting grid reverse of championship
standing 1st 16pts, 2nd 10pts, 3rd 9pts ... 10th 2pts, 11th-20th: 1pt,
fatest lap: 2pts, most lap led: 2pts Car design is freest possible within the broad goal of combining:
Maximum speed (what did you expect?) Maximum crash safety Near zero pollution Near zero noise Near zero maintenance
no pit stop for 3h races only 8 pit stops and single set of replacement tyres in 24h races
Licensability and practicality as street car Two fully equipped seats, luggage compartment, standard parking
spot fitting dimensions, bottom high enough to go over speed bumps
Example Teamsports Game Forged Instance: RollerFrisbee
Contact team sports fusionning elements from basketball, handball, soccer, american football, australian football, lacrosse, ultimate frisbee, roller hockey and roller derby.
Teams of 10 players, 1 goalkeeper and 9 field skaters on switch retractable roller sneakers (to allow skating, running and jumping)
Oval, entirely fenced rink, divided into a 95m long and 70m wide flat inner oval and a surrounding, 15m wide outer ring banked at 15o.
A team scores points when it sends a bouncing frisbee into one part of the opponent goal, the lower, soccer-like part, the middle basket and the upper football-like part
9 different ways to score: handball goal (3pts) , soccer goal (5pts), close-range basket (2pts) , middle range basket (3pts), long-range basket (5pts), free-throw (1pt), close-range throw and catch (3pts), long-range throw and catch (5pts), long throw (2pts)
Recommended