player construction

The aim of the player class is to construct players with different ways of interacting with the environment and generate observations with controlled randomness. This is done using giving probabilities to a player.

basic player

A basic player has these references

  • id
  • observation
  • random generator
  • type of player
  • reward array
  • punishment array

other than these parameters a seed was added where it will always a certain way of randomness every time calls the class in order to keep the robustness.

observation spectrum

this was constructed into 3 main parts - gaze - distance - task completion

gaze

this represent do the player maintain the gaze with the robot.

value observation
0 not maintaining the observation correctly or out of focus
1 maintaining the observation with the robot

distance

as save as the above in the gaze

value observation
0 not maintaining the observation correctly or out of focus
1 maintaining the observation with the robot

task

task was divided into 4 main parts

value observation
0 best performance
1 average performance
2 week performance
3 no performance (not responding)

creating a player

in order to create a player player class should be called.

Player(self,player_id:int=0, player_type =0 , prob = [[0.1, 0.9],
                                                                [0.1, 0.9],
                                                                [0.8, 0.1, 0.1, 0.0]])
from players.player3 import Player as Player

player1 = Player()
ret = player1.generate(prob = [[0.1, 0.9],
                        [0.1, 0.9],
                        [0.8, 0.1, 0.1, 0.0]] )

print(ret)

setting up epsilon values for each player can be done, in order to setup the epsilon values

player = Player..epsilon_fn(frame_idx:int = None)