API Reference
HSVIforOSPOSGs.HSVIHSVIforOSPOSGs.OSPOSGHSVIforOSPOSGs.OSPOSGHSVIforOSPOSGs.PartitionHSVIforOSPOSGs.RecorderHSVIforOSPOSGs.StateHSVIforOSPOSGs.LB_minHSVIforOSPOSGs.LB_valueHSVIforOSPOSGs.UB_maxHSVIforOSPOSGs.UB_valueHSVIforOSPOSGs.check_neighborhoodHSVIforOSPOSGs.compute_LBHSVIforOSPOSGs.compute_UBHSVIforOSPOSGs.lipschitz_deltaHSVIforOSPOSGs.presolve_LBHSVIforOSPOSGs.presolve_UBHSVIforOSPOSGs.saveHSVIforOSPOSGs.solve
Types
HSVIforOSPOSGs.State — TypeStateType for a state of one-sided partially observable stochastic game.
Fields:
index::Int- global index of the statepartition::Int- partition index to which the state belongsbelief_index::Int- in-partition index of the stateplayer2_actions::Vector{Int}- indexes of player2 actions available in this statepolicy_index::Dict{Int,Int}- mapping from player2 action index to in-policy index
HSVIforOSPOSGs.Partition — TypePartitionType for a partition of one-sided partially observable stochastic game.
Fields:
index::Int- global index of the partitionstates::Vector{Int}- indexes of states that belong to this partitionplayer1_actions::Vector{Int}- indexes of player1 actions available in this partitionpolicy_index::Dict{Int,Int}- mapping from player1 action index to in-policy indextarget::Dict{Tuple{Int,Int},Int}- mapping from player1 action index and observation index pair to target partition indexobservations::Dict{Int,Vector{Int}}- mapping from player1 action index to indexes of possible observationstransitions::Dict{Tuple{Int,Int,Int},Vector{Tuple{Int,Int,Float64}}}- mapping from state index, player1 action index and player2 action index triple to possible observation index, next state index and probability triplesa1o_transitions::Dict{Tuple{Int,Int},Vector{Tuple{Int,Int,Int,Float64}}}- mapping from player1 action index and observation index tuple to possible state index, player2 action index, next state index and probability quadruplesgamma::Vector{Vector{Float64}}- vector of α-vectors representing the lower bound LBupsilon::Vector{Tuple{Vector{Float64},Float64}}- vector of belief-value pairs representing the upper bound UB
Methods
HSVIforOSPOSGs.save — Functionsave(path::AbstractString, osposg::OSPOSG)
save(io::IO, osposg::OSPOSG)Writes game osposg in the .osposg format to path or to IO 'io'.
HSVIforOSPOSGs.LB_min — FunctionLB_min(osposg::OSPOSG)Returns the minimal possible value of the game.
HSVIforOSPOSGs.UB_max — FunctionUB_max(osposg::OSPOSG)Returns the maximal possible value of the game.
HSVIforOSPOSGs.lipschitz_delta — Functionlipschitz_delta(osposg::OSPOSG)Computes the Lipschitz delta of the game.
HSVIforOSPOSGs.check_neighborhood — Functioncheck_neighborhood(osposg::OSPOSG, hsvi::HSVI, epsilon::Float64)Checks that the hsvi.neighborhood parameter is within bounds for osposg game and gap epsilon.
HSVIforOSPOSGs.compute_LB — Functioncompute_LB(osposg::OSPOSG, hsvi::HSVI, partition::Partition, belief::Vector{Float64})Solve LB stage game using linear program primal formulation and return policies of both players along with values of individual states.
HSVIforOSPOSGs.compute_UB — Functioncompute_UB(osposg::OSPOSG, hsvi::HSVI, partition::Partition, belief::Vector{Float64})Solve UB stage game using linear program dual formulation and return policies of both players along with value of the game.
HSVIforOSPOSGs.presolve_UB — Functionpresolve_UB(osposg::OSPOSG, hsvi::HSVI, recorder::Recorder)Presolve UB by value iteration of the perfect information variant of the game, which can be solved by linear program.
HSVIforOSPOSGs.presolve_LB — Functionpresolve_LB(osposg::OSPOSG, hsvi::HSVI, recorder::Recorder)Presolve LB by computing value of the game for fixed uniform policies.
HSVIforOSPOSGs.UB_value — FunctionUB_value(osposg::OSPOSG, hsvi::HSVI)
UB_value(::OSPOSG, ::HSVI, partition::Partition, belief::Vector{Float64})Compute UB value in initial partition and belief of osposg or in specified partition and belief using convex hull linear program.
HSVIforOSPOSGs.LB_value — FunctionLB_value(osposg::OSPOSG, hsvi::HSVI)
LB_value(::OSPOSG, ::HSVI, partition::Partition, belief::Vector{Float64})Compute LB value in initial partition and belief of osposg or in specified partition and belief using dot products of α-vectors with given belief.