# This is a Dec-POMDP (.dpomdp) file for the broadcast channel problem. # Allright, here we go! # #The agents. #---------- #Either 1) the number of agents: # agents: %d #or 2) a list of agent identifiers, e.g.: # agents: agent1_name, name-of-agent2, ... agents: 2 # discount: %f discount: 1 #.0 # values: [ reward, cost ] values: reward # states: [ %d, ] # format is Sab where a=1 <-> agent 1 has a message states: S00 S01 S10 S11 # #Examples of this are: # start: 0.3 0.1 0.0 0.2 0.5 # start: first-state # start: 5 # start: uniform # start include: first-state third state # start include: 1 3 # start exclude: fifth-state seventh-state # TODO:check the start-state start: S11 # #The actions declarations #------------------------ #the (number/list of) actions for each of the agents on a separate line # actions: # [ %d, ] # [ %d, ] # ... # [ %d, ] actions: send wait send wait #the (number/list of) observations for each of the agents on a separate line # observations: # [ %d, ] # [ %d, ] # ... # [ %d, ] observations: Collision No-Collision Collision No-Collision #Transition probabilities # T: : : : %f #or # T: : : # %f %f ... %f P(s_1'|ja,s) ... P(s_k'|ja,s) #or # T: : this is a |S| x |S| matrix # %f %f ... %f P(s_1'|ja,s_1) ... P(s_k'|ja,s_1) # %f %f ... %f ... # ... ... # %f %f ... %f P(s_1'|ja,s_k) ... P(s_k'|ja,s_k) #or # T: # [ identity, uniform ] # # The from state does not affect the probabilities of the next state # (if action send is performed) T: send send : * : S00 : 0.09 #=0.1 * 0.9 T: send send : * : S10 : 0.81 #=0.9 * 0.9 T: send send : * : S01 : 0.01 #0.1 * 0.1 T: send send : * : S11 : 0.09 #0.9 * 0.1 # T: send wait : S11 : S11 : 0.9 #0.9 * 1.0 T: send wait : S11 : S01 : 0.1 #0.1 * 1.0 T: send wait : S01 : S11 : 0.9 #0.9 * 1.0 T: send wait : S01 : S01 : 0.1 #0.1 * 1.0 # T: send wait : S10 : S11 : 0.09 #0.9 * 0.1 T: send wait : S10 : S01 : 0.01 #0.1 * 0.1 T: send wait : S00 : S11 : 0.09 #0.9 * 0.1 T: send wait : S00 : S01 : 0.01 #0.1 * 0.1 T: send wait : S10 : S10 : 0.81 #0.9 * 0.9 T: send wait : S10 : S00 : 0.09 #0.1 * 0.9 T: send wait : S00 : S10 : 0.81 #0.9 * 0.9 T: send wait : S00 : S00 : 0.09 #0.1 * 0.9 # T: wait send : S11 : S11 : 0.1 #1.0 * 0.1 T: wait send : S11 : S10 : 0.9 #1.0 * 0.9 T: wait send : S10 : S11 : 0.1 #1.0 * 0.1 T: wait send : S10 : S10 : 0.9 #1.0 * 0.9 # T: wait send : S01 : S11 : 0.09 #0.9 * 0.1 T: wait send : S01 : S10 : 0.81 #0.9 * 0.9 T: wait send : S00 : S11 : 0.09 #0.9 * 0.1 T: wait send : S00 : S10 : 0.81 #0.9 * 0.9 T: wait send : S01 : S01 : 0.01 #0.1 * 0.1 T: wait send : S01 : S00 : 0.09 #0.1 * 0.9 T: wait send : S00 : S01 : 0.01 #0.1 * 0.1 T: wait send : S00 : S00 : 0.09 #0.1 * 0.9 # T: wait wait : S11 : S11 : 1.0 #1.0 * 1.0 T: wait wait : S01 : S11 : 0.9 #0.9 * 1.0 T: wait wait : S01 : S01 : 0.1 #0.1 * 1.0 T: wait wait : S10 : S11 : 0.1 #1.0 * 0.1 T: wait wait : S10 : S10 : 0.9 #1.0 * 0.9 T: wait wait : S00 : S11 : 0.09 #0.9 * 0.1 T: wait wait : S00 : S01 : 0.01 #0.1 * 0.1 T: wait wait : S00 : S10 : 0.81 #0.9 * 0.9 T: wait wait : S00 : S00 : 0.09 #0.1 * 0.9 # #Observation probabilities # O: : : : %f #or # O: : : # %f %f ... %f P(jo_1|ja,s') ... P(jo_x|ja,s') #or # O: : - a |S|x|JO| matrix # %f %f ... %f P(jo_1|ja,s_1') ... P(jo_x|ja,s_1') # %f %f ... %f ... # ... ... # %f %f ... %f P(jo_1|ja,s_k') ... P(jo_x|ja,s_k') # # what is the factor for the noisy observations? # I'm now assuming that P(Collision | send send) = 0.9 per agent O: * : * : Collision Collision : 0.01 # O: * : * : No-Collision Collision : 0.09 # O: * : * : Collision No-Collision : 0.09 # O: * : * : No-Collision No-Collision : 0.81 # O: send send : * : Collision Collision : 0.81 # O: send send : * : No-Collision Collision : 0.09 # O: send send : * : Collision No-Collision : 0.09 # O: send send : * : No-Collision No-Collision : 0.01 # #The rewards # R: : : : : %f #or #or # R: : : : # %f %f ... %f #or # R: : : # %f %f ... %f # %f %f ... %f # ... # %f %f ... %f # #Typical problems only use R(s,ja) which is specified by: # R: : : * : * : %f # R: send send : * : * : * : 0 R: wait wait : * : * : * : 0 R: send wait : S11 : * : * : 1 R: send wait : S10 : * : * : 1 R: send wait : S01 : * : * : 0 R: send wait : S00 : * : * : 0 R: wait send : S11 : * : * : 1 R: wait send : S10 : * : * : 0 R: wait send : S01 : * : * : 1 R: wait send : S00 : * : * : 0 #