antonio jose de vasconcelos costa - ajvc breno batista machado - bbm cleyton mario de oliveira...

50
Antonio Jose de Vasconcelos Costa - ajvc Breno Batista Machado - bbm Cleyton Mario de Oliveira Rodrigues - cmor Marcos Aurelio Almeida da Silva - maas Pablo Santana Barbosa – psb Renata Teles Moreira - rtm Weslei Alvim de Tarso Marinho - watm

Upload: ian-montijo

Post on 07-Apr-2016

218 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Antonio Jose de Vasconcelos Costa - ajvc Breno Batista Machado - bbm Cleyton Mario de Oliveira Rodrigues - cmor Marcos Aurelio Almeida da Silva - maas

Antonio Jose de Vasconcelos Costa - ajvcBreno Batista Machado - bbm

Cleyton Mario de Oliveira Rodrigues - cmorMarcos Aurelio Almeida da Silva - maas

Pablo Santana Barbosa – psbRenata Teles Moreira - rtm

Weslei Alvim de Tarso Marinho - watm

Page 2: Antonio Jose de Vasconcelos Costa - ajvc Breno Batista Machado - bbm Cleyton Mario de Oliveira Rodrigues - cmor Marcos Aurelio Almeida da Silva - maas
Page 3: Antonio Jose de Vasconcelos Costa - ajvc Breno Batista Machado - bbm Cleyton Mario de Oliveira Rodrigues - cmor Marcos Aurelio Almeida da Silva - maas

O que é Rollerslam? Características Estratégias Logging Dificuldades Estatísticas

Page 4: Antonio Jose de Vasconcelos Costa - ajvc Breno Batista Machado - bbm Cleyton Mario de Oliveira Rodrigues - cmor Marcos Aurelio Almeida da Silva - maas

Rollerslam!

Soccer

Handball

IceHockey

AustralianFootball

Basketball

Rugby

GaelicFootball

AmericanFootball

RollerDerby

Slamball

Page 5: Antonio Jose de Vasconcelos Costa - ajvc Breno Batista Machado - bbm Cleyton Mario de Oliveira Rodrigues - cmor Marcos Aurelio Almeida da Silva - maas

playerAgent1(teamA)

playerAgent20(teamA)

... playerAgent1(teamB)

playerAgent20(teamB)

...

gamePhysicsRulesSimulatorAgent

GameVisualizatio

nGUI

Agent ReasoningVisualization GUI

Rollerslam Simulation GUI

referee

Coach(teamA) Coach(teamB)

Page 7: Antonio Jose de Vasconcelos Costa - ajvc Breno Batista Machado - bbm Cleyton Mario de Oliveira Rodrigues - cmor Marcos Aurelio Almeida da Silva - maas

<<component>>Agent

effector sensor

EffectorSensor

<<interface>>Effector

+ doAction(ac:Message)

<<interface>>Sensor

+ getActions() : Message[0..*]

Message

+ sender : Agent

Page 8: Antonio Jose de Vasconcelos Costa - ajvc Breno Batista Machado - bbm Cleyton Mario de Oliveira Rodrigues - cmor Marcos Aurelio Almeida da Silva - maas

<<component>>Server

DisplayRegistry

AgentRegistry client

SimulationAdmin

ClientInitialization

AgentRegistryExt

ServerInitialization

serversimulation

agent[*] environment[1]

Effector Sensor

Effector SensorDisplayService

<<component>>Rollerslam

Display

<<component>>Rollerslam

Environment

effector sensor

SimulationStateProvider

simulation

initialization

<<component>>Rollerslam

Agent

effector sensor

simulation

initialization registrationdisplay

registration

Logginglogging

logginglogging logging

Page 9: Antonio Jose de Vasconcelos Costa - ajvc Breno Batista Machado - bbm Cleyton Mario de Oliveira Rodrigues - cmor Marcos Aurelio Almeida da Silva - maas

Agente GoalBased:◦ Jogadores;◦ Técnicos.

effector sensor simulation

<<component>>AutomataAgent

+ state : SimulationState

EnvironmentStateModel

worldModel

<<component>>GoalBasedAgent

GoalBasedEnvironment

StateModel

worldModel

GoalInitialization GoalUpdate

<<interface>>GoalInitialization

+ initialize(m:GoalBasedEnvironmentStateModel)

<<interface>>GoalUpdate

+ updateGoal(m:GoalBasedEnvironmentStateModel)

Page 10: Antonio Jose de Vasconcelos Costa - ajvc Breno Batista Machado - bbm Cleyton Mario de Oliveira Rodrigues - cmor Marcos Aurelio Almeida da Silva - maas

<<interface>> RamificationComponent

+processRamifications(world : EnvironmentStateMode)

Effector Sensor

effector sensor

SimulationStateProvider

simulation

<<component>>AutomataAgent

+ state : SimulationState# initialize()# think()

EnvironmentStateModelModelInitialization

ActionInterpretation

RamificationComponent

ModelBasedBehaviorStrategy

worldModel

Agente Autômato – O AmbienteAgente Autômato – O Ambiente

<<interface>>ModelInitialization

+ initialize(m:EnvironmentStateModel)

<<interface>> ActionInterpretation

+processAction(w:EnvironmentStateModel, m:Message)

<<interface>> ModelBasedBehaviorStrategy

+ computeAction(w:EnvironmentStateModel):Message

Page 11: Antonio Jose de Vasconcelos Costa - ajvc Breno Batista Machado - bbm Cleyton Mario de Oliveira Rodrigues - cmor Marcos Aurelio Almeida da Silva - maas

[not state = RUNNING]

self^initialize()

sensor.getActions()

s : Set of Message

s->forAll(x | actionInterpretation^processAction(worldModel,x))

modelBasedBehaviorStrategy^computeAction(worldModel)

action : Message

effector^doAction(action)

ramificationsComponent^processRamifications(worldModel)

self^think()

Comportamento do Comportamento do AmbienteAmbiente

Page 12: Antonio Jose de Vasconcelos Costa - ajvc Breno Batista Machado - bbm Cleyton Mario de Oliveira Rodrigues - cmor Marcos Aurelio Almeida da Silva - maas
Page 13: Antonio Jose de Vasconcelos Costa - ajvc Breno Batista Machado - bbm Cleyton Mario de Oliveira Rodrigues - cmor Marcos Aurelio Almeida da Silva - maas
Page 14: Antonio Jose de Vasconcelos Costa - ajvc Breno Batista Machado - bbm Cleyton Mario de Oliveira Rodrigues - cmor Marcos Aurelio Almeida da Silva - maas

Simulation

RollerslamMobileDisplay

MobileClient 1

MobileClient 2

MobileClient 3

RMI

Socket

SocketSocket

Page 15: Antonio Jose de Vasconcelos Costa - ajvc Breno Batista Machado - bbm Cleyton Mario de Oliveira Rodrigues - cmor Marcos Aurelio Almeida da Silva - maas

O que é? Características Estratégias Logging Dificuldades Estatísticas

Page 16: Antonio Jose de Vasconcelos Costa - ajvc Breno Batista Machado - bbm Cleyton Mario de Oliveira Rodrigues - cmor Marcos Aurelio Almeida da Silva - maas
Page 17: Antonio Jose de Vasconcelos Costa - ajvc Breno Batista Machado - bbm Cleyton Mario de Oliveira Rodrigues - cmor Marcos Aurelio Almeida da Silva - maas

As percepções que os agentes (player, coach e refeer) recebem é o modelo completo do ambiente, já que o ambiente é totalmente observável para todos os agentes.

As percepções que o agente environment recebe são as ações dos outros agentes.

Page 18: Antonio Jose de Vasconcelos Costa - ajvc Breno Batista Machado - bbm Cleyton Mario de Oliveira Rodrigues - cmor Marcos Aurelio Almeida da Silva - maas

As ações do agente player são:◦ Catch – Pegar a bola com as mãos;◦ Release – Soltar a bola;◦ Tackle – Derrubar outro jogador;◦ Countertackle – Defender de um Tackle de outro jogador;◦ Throw – Jogar a bola com as mãos;◦ Kick – Chutar a bola com os pés;◦ Hit – Chutar a bola de primeira;◦ Dash – Mover-se;◦ StandUp – Levantar-se;◦ SendMsg – Envia uma mensagem para outros agentes.

A ação dos agentes refeer e coach é: ◦ SendMsg – Envia uma mensagem para outros agentes.

A ação do agente environment é enviar o modelo do ambiente para os outros agentes.

Page 19: Antonio Jose de Vasconcelos Costa - ajvc Breno Batista Machado - bbm Cleyton Mario de Oliveira Rodrigues - cmor Marcos Aurelio Almeida da Silva - maas

O agente player considera: ◦ Seu objetivo inicial;◦ A posição da bola;◦ A posição dos jogadores;◦ Quem esta com a bola (time);◦ A função do jogador (papel que ele esta desempenhando no momento);◦ Ações de outros agentes.

O agente coach considera:◦ Seu objetivo inicial;◦ A posição da bola;◦ A posição dos jogadores;◦ Quem esta com a bola (time);◦ Placar do jogo (mudar a estratégia).

O agente refeer considera:◦ A posição da bola;◦ Quem esta com a bola (time).

O agente environment considera:◦ O estado atual do ambiente;◦ Ações recebidas dos agentes.

Page 20: Antonio Jose de Vasconcelos Costa - ajvc Breno Batista Machado - bbm Cleyton Mario de Oliveira Rodrigues - cmor Marcos Aurelio Almeida da Silva - maas

O agente player recebe as informações do agente coach com o seu papel. A partir daí o agente player toma as decisões de acordo com seu papel. O agente player recebe o modelo do ambiente (ambiente totalmente observável) como percepção, e a partir daí ele toma as decisões de acordo com o estado atual do modelo do ambiente, do objetivo do seu papel e das mensagens recebidas de outros agentes.

O agente refeer toma a decisão (gol ou não) de acordo com a posição da bola e quem está com a bola.

Page 21: Antonio Jose de Vasconcelos Costa - ajvc Breno Batista Machado - bbm Cleyton Mario de Oliveira Rodrigues - cmor Marcos Aurelio Almeida da Silva - maas

O agente coach recebe mensagens dos agentes players (que ainda não possuem um papel) e distribui um papel para estes de acordo com a ordem de envio das mensagens. Para as decisões de mudança de estratégia o agente coach considera quem (time) está com a bola, a posição dos jogadores e o placar do jogo.

O agente environment toma as decisões de mudança de estado do ambiente de acordo com as ações recebidas dos outros agentes.

Page 22: Antonio Jose de Vasconcelos Costa - ajvc Breno Batista Machado - bbm Cleyton Mario de Oliveira Rodrigues - cmor Marcos Aurelio Almeida da Silva - maas

As decisões são somente para a próxima ação, pois ele toma a decisão de acordo com o modelo atual do ambiente.

Page 23: Antonio Jose de Vasconcelos Costa - ajvc Breno Batista Machado - bbm Cleyton Mario de Oliveira Rodrigues - cmor Marcos Aurelio Almeida da Silva - maas

Todos os agentes estão totalmente cientes da presença dos outros agentes no ambiente, visto que o ambiente é totalmente observável.

As trocas de informações podem ser:◦ Mensagens de informações táticas e estratégicas

entre player e refeer;◦ As percepções entre environment e os outros

agentes;◦ As ações entre os outros agentes e o environment.

Page 24: Antonio Jose de Vasconcelos Costa - ajvc Breno Batista Machado - bbm Cleyton Mario de Oliveira Rodrigues - cmor Marcos Aurelio Almeida da Silva - maas

Eles se coordenam por partilha de tarefas, ao definir os papéis que cada jogador tem no jogo (responsabilidade do técnico). Após seu papel definido, irão agir independentes de acordo com seu papel, e as comunicações dos outros agentes. Não possui negociação, pois os jogadores são cooperativos. Não possuem aprendizagem.

Page 25: Antonio Jose de Vasconcelos Costa - ajvc Breno Batista Machado - bbm Cleyton Mario de Oliveira Rodrigues - cmor Marcos Aurelio Almeida da Silva - maas

É hibrida, pois é centralizada na distribuição dos papéis e na mudança de estratégia e emergente nos outros momentos.

Page 26: Antonio Jose de Vasconcelos Costa - ajvc Breno Batista Machado - bbm Cleyton Mario de Oliveira Rodrigues - cmor Marcos Aurelio Almeida da Silva - maas

Todos os players são iguais, mais eles agem de maneira diferente de acordo com os papéis atribuídos a eles, logo os direitos e deveres são diferenciados de acordo com o seu papel.

Os agentes player, coach e refeer são diferentes e possuem direitos e deveres diferentes.

Page 27: Antonio Jose de Vasconcelos Costa - ajvc Breno Batista Machado - bbm Cleyton Mario de Oliveira Rodrigues - cmor Marcos Aurelio Almeida da Silva - maas

Os objetivos individuais do agente (do seu papel) se complementam para atingir o objetivo geral do grupo.

Page 28: Antonio Jose de Vasconcelos Costa - ajvc Breno Batista Machado - bbm Cleyton Mario de Oliveira Rodrigues - cmor Marcos Aurelio Almeida da Silva - maas

Máquina de Estados

Page 29: Antonio Jose de Vasconcelos Costa - ajvc Breno Batista Machado - bbm Cleyton Mario de Oliveira Rodrigues - cmor Marcos Aurelio Almeida da Silva - maas

JOIN_GAME

WAIT_JOIN_GAME

send JoinGameAction/ INITIALIZATION[model->gameStarted]

SET_ROLES

send InitializationFact/

GO_TO_INIT_COORD

recv DefineRoleFact/STAND_UP

GO_TO_GOAL

GO_TO_BALL

STOP

[nearBall() and not me->inGround]

[insideArea(0.10) and not me->hasBall and not me->inGround and not nearBall()]

[me->inGround]

[me->hasBall and not me->inGround and not nearBall()]

WAIT_MOVIMENT

[nearBall()][not nearBall()]

[nearBall() and not me->inGround()]

send StandUpAction/

send DashAction/

send DashAction/

send DashAction/

[me->inGround]

send StandUpAction/

[not me->inGround]

[me->inGround]

send StandUpAction/

Page 30: Antonio Jose de Vasconcelos Costa - ajvc Breno Batista Machado - bbm Cleyton Mario de Oliveira Rodrigues - cmor Marcos Aurelio Almeida da Silva - maas

GO_TO_BALL

[not me->inGroundand not nearBall() and not veryNearBall()]

GO_TO_INIT_COORD

send DashAction/

STAND_UP[me->inGround]

send StandUpAction/

[not me->inGroundand veryNearBall()]

CATCH_BALL

TACKLE_PLAYER

[ball->withPlayer and playerWithBall.team = me.team]

[ball->withPlayer and playerWithBall.team <> me.team]

[not ball->withPlayer]

send DashAction/

send TackleAction/

send CatchAction/

Page 31: Antonio Jose de Vasconcelos Costa - ajvc Breno Batista Machado - bbm Cleyton Mario de Oliveira Rodrigues - cmor Marcos Aurelio Almeida da Silva - maas

CATCH_BALL

GO_TO_INIT_COOR

COUNTER_TACKLE

send CounterTackleAction/

[me->hasBall]

[not me->hasBall]

[nearOpponent()]

GO_TO_GOALsend DashAction/

[not nearOpponent()]

[playerWithBall.team = me.team]

send DashAction/

GO_TO_BALL

[playerWithBall.team <> me.team]

[nearBall()]

[not nearBall()]send DashAction/

send DashAction/

STAND_UP

[me->inGround]

send StandUpAction/

[not me->inGround]

Page 32: Antonio Jose de Vasconcelos Costa - ajvc Breno Batista Machado - bbm Cleyton Mario de Oliveira Rodrigues - cmor Marcos Aurelio Almeida da Silva - maas

TACKLE_PLAYER

GO_TO_BALL

GO_TO_INIT_COORD

send DashAction/

[nearBall()]

[not nearBall()]

send DashAction/

[playerWithBall.team <> me.team]

[playerWithBall.team = me.team]

send DashAction/

STAND_UP

[me->inGround]

send StandUpAction/

[not me->inGround]

Page 33: Antonio Jose de Vasconcelos Costa - ajvc Breno Batista Machado - bbm Cleyton Mario de Oliveira Rodrigues - cmor Marcos Aurelio Almeida da Silva - maas

STAND_UP

GO_TO_BALL

GO_TO_INIT_COORD

send DashAction/

[nearBall()]

[not nearBall()]

send DashAction/

[playerWithBall.team <> me.team]

[playerWithBall.team = me.team]

send DashAction/

STAND_UP

[me->inGround]

send StandUpAction/

[not me->inGround]

Page 34: Antonio Jose de Vasconcelos Costa - ajvc Breno Batista Machado - bbm Cleyton Mario de Oliveira Rodrigues - cmor Marcos Aurelio Almeida da Silva - maas

GO_TO_GOAL

[not me->inGroundand me->hasBall]

[nearBall()]

[not nearBall()]send DashAction/

send DashAction/

STAND_UPsend StandUpAction/

[me->inGround]GO_TO_BALL

[not me->inGroundand not me->hasBall]

GO_TO_INIT_COOR

[manyOponentsNear()]

send KickAction/

THROW_BALL

KICK_BALL[not manyOponentsNear()and nearGoal(50000)]

Near 50 meter (50000

millimeter)

[not manyOponentsNear()and nearGoal(30000)]

send KickAction/

Near 30 meter (30000

millimeter)

send ThrowAction/

Page 35: Antonio Jose de Vasconcelos Costa - ajvc Breno Batista Machado - bbm Cleyton Mario de Oliveira Rodrigues - cmor Marcos Aurelio Almeida da Silva - maas

THROW_BALL

[not me->inGroundand not playerWithBall.team = me.team]

[hasBall()]

[not hasBall()]send DashAction/

send DashAction/

STAND_UPsend StandUpAction/

[me->inGround]GO_TO_GOAL

[not me->inGroundand playerWithBall.team = me.team]

GO_TO_INIT_COOR

GO_TO_BALL

[not nearBall()]send DashAction/

[nearBall()]

send DashAction/

Page 36: Antonio Jose de Vasconcelos Costa - ajvc Breno Batista Machado - bbm Cleyton Mario de Oliveira Rodrigues - cmor Marcos Aurelio Almeida da Silva - maas

THROW_BALL

[not me->inGroundand not playerWithBall.team = me.team]

[hasBall()]

[not hasBall()]send DashAction/

send DashAction/

STAND_UPsend StandUpAction/

[me->inGround]GO_TO_GOAL

[not me->inGroundand playerWithBall.team = me.team]

GO_TO_INIT_COOR

GO_TO_BALL

[not nearBall()]send DashAction/

[nearBall()]

send DashAction/

Page 37: Antonio Jose de Vasconcelos Costa - ajvc Breno Batista Machado - bbm Cleyton Mario de Oliveira Rodrigues - cmor Marcos Aurelio Almeida da Silva - maas

COUNTER_TACKLE

STAND_UPsend StandUpAction/

[me->inGround]

GO_TO_GOAL[not me->inGroundand me.hasBall]

GO_TO_INIT_COOR

GO_TO_BALL

[not nearBall()]send DashAction/

[nearBall()]

send DashAction/

[not me->inGroundand not me.hasBall]

Page 38: Antonio Jose de Vasconcelos Costa - ajvc Breno Batista Machado - bbm Cleyton Mario de Oliveira Rodrigues - cmor Marcos Aurelio Almeida da Silva - maas

Máquina de Estados

Page 39: Antonio Jose de Vasconcelos Costa - ajvc Breno Batista Machado - bbm Cleyton Mario de Oliveira Rodrigues - cmor Marcos Aurelio Almeida da Silva - maas

WAIT_JOIN_GAME LISTENING

[model->gameStarted]

SET_POSITION

[receiveAgentInitMsg()]

CHANGE_DEFENSIVE_POSITION

send SendMsgAction/

CHANGE_OFFENSIVE_POSITION

[not receiveAgentInitMsg()]

[teamWinning() andnot teamLosing()]

[teamLosing() andnot teamWinning()]

send SendMsgAction/

send SendMsgAction/GO_TO_BALL

[not teamLosing() andnot teamWinning() and manyEnemyNearBall()]

send SendMsgAction/

Page 40: Antonio Jose de Vasconcelos Costa - ajvc Breno Batista Machado - bbm Cleyton Mario de Oliveira Rodrigues - cmor Marcos Aurelio Almeida da Silva - maas

O que é Rollerslam? Características Estratégias Logging Dificuldades Estatísticas

Page 41: Antonio Jose de Vasconcelos Costa - ajvc Breno Batista Machado - bbm Cleyton Mario de Oliveira Rodrigues - cmor Marcos Aurelio Almeida da Silva - maas

TraceQuery

Team

Reasoning ServiceNon-Reasoning Service

Simulation

Component

1..*

Algorithmic Workflow Object-Oriented Rule

1..*1..*

Imperative Object Logical Object Molecule

1..* 1..*

Logical Constraint Atom

1..*

TracerDriver

Agent

1..*

Service

1..*

Additional Data

Minimal Trace Event

OO Rule Firing Level

Reasoning Trace

Logical ObjectInheritance LevelReasoning Trace

Justification-BasedLogical Constraint

Matching/Entailment LevelReasoning Trace

Service LevelReasoning Trace

Agent LevelReasoning Trace

Simulation LevelReasoning Trace

IntegratedMulti-

GranularityReasoning

Trace Query &

VisualizationGUI

User

Trace Query

Logging – Trace Driver

Page 42: Antonio Jose de Vasconcelos Costa - ajvc Breno Batista Machado - bbm Cleyton Mario de Oliveira Rodrigues - cmor Marcos Aurelio Almeida da Silva - maas

LogRecordingService

<<component>>LogRecorder

LogRecordingServiceImpl

SimulationDescription

<<delegate>>

Page 43: Antonio Jose de Vasconcelos Costa - ajvc Breno Batista Machado - bbm Cleyton Mario de Oliveira Rodrigues - cmor Marcos Aurelio Almeida da Silva - maas

Log PlayingService

<<component>>LogPlayer

LogPlayerImpl--------------------------------+ currentCycle : Integer

SimulationDescription

<<delegate>>

Page 44: Antonio Jose de Vasconcelos Costa - ajvc Breno Batista Machado - bbm Cleyton Mario de Oliveira Rodrigues - cmor Marcos Aurelio Almeida da Silva - maas

<<window>>LogPlayerDisplay

<<Button>>LoadSimulation

<<frame>>GameCanvas

<<Text>>CurrentCycle

<<Slider>>CurrentCycleSlider

<<Text>>Speed

<<Slider>>SpeedSlider

<<Button>>Run

<<ComboBox>>AgentFilter

<<ComboBox>>MessageTypeFilter

<<Button>>Show

<<Text>>Messages

<<FileChooser>>SelectSimulation

Page 45: Antonio Jose de Vasconcelos Costa - ajvc Breno Batista Machado - bbm Cleyton Mario de Oliveira Rodrigues - cmor Marcos Aurelio Almeida da Silva - maas
Page 46: Antonio Jose de Vasconcelos Costa - ajvc Breno Batista Machado - bbm Cleyton Mario de Oliveira Rodrigues - cmor Marcos Aurelio Almeida da Silva - maas

O que é Rollerslam? Características Estratégias Dificuldades Estatísticas

Page 47: Antonio Jose de Vasconcelos Costa - ajvc Breno Batista Machado - bbm Cleyton Mario de Oliveira Rodrigues - cmor Marcos Aurelio Almeida da Silva - maas

Laboratórios cheios Problemas relativos a distribuição Máquinas diferentes nos laboratórios

◦ IP fora do padrão◦ DNS não funciona◦ Muito lenta

Uso de:◦ CHR◦ FLUX

Trace Driver

Page 48: Antonio Jose de Vasconcelos Costa - ajvc Breno Batista Machado - bbm Cleyton Mario de Oliveira Rodrigues - cmor Marcos Aurelio Almeida da Silva - maas

O que é Rollerslam? Características Estratégias Dificuldades Estatísticas

Page 49: Antonio Jose de Vasconcelos Costa - ajvc Breno Batista Machado - bbm Cleyton Mario de Oliveira Rodrigues - cmor Marcos Aurelio Almeida da Silva - maas

Arquivos: ~650 arquivos Linhas de código: ~6000 Commits: ~600 Slides (documentação): ~300 Reuniões: ~60

Por que aproximadamente?◦ Está sempre sendo atualizado, quando você ler isto, os números já estarão diferentes

Page 50: Antonio Jose de Vasconcelos Costa - ajvc Breno Batista Machado - bbm Cleyton Mario de Oliveira Rodrigues - cmor Marcos Aurelio Almeida da Silva - maas

http://rollerslam.googlecode.com