module Algo: functor (
G
:
G
) ->
functor (
P
:
PLAYER
with type vertex = G.vertex
) ->
functor (
S
:
STRAT
with type vertex = G.vertex
) ->
sig
.. end
Implements strategy algorithms on graphs
Parameters: |
G |
: |
G
|
P |
: |
PLAYER with type vertex = G.vertex
|
S |
: |
STRAT with type vertex = G.vertex
|
|
val coherent_player : Strat.G.t -> P.t -> bool
coherent_player g p
returns true
iff
the completion p
is coherent w.r.t.
the graph g
val coherent_strat : Strat.G.t -> S.t -> bool
coherent_strat g s
returns true
iff
the strategy s
is coherent w.r.t.
the graph g
val game : Strat.G.t -> P.t -> S.t -> S.t -> bool
game g p a b
returns true
iff a
wins in g
given the completion p
(i.e. the game
goes through a final state).
val strategy : Strat.G.t -> P.t -> S.t -> bool
strategy g p s
returns true
iff s
wins in g
given the completion p
, whatever strategy
plays the other player.
val strategyA : Strat.G.t -> P.t -> bool * S.t
strategyA g p
returns true
iff there
exists a
winning stragegy for the true
player. In this case, the winning
strategy is provided.