Module Strat

module Strat: sig .. end

Strategies

Implementation of a winning strategy of a graph: the graph represents a two players game, each vertex belongs to either player (whose turn it is to play) and describes a configuration of the game. The algorithm computes the winning strategy of a player, if any; i.e. the moves to play (which vertex to go to) so that for all possible moves of the other player, the game goes through a final state.


module type G = sig .. end

Signature for graphs

module type PLAYER = sig .. end

Signature for graph add-ons: an initial vertex, final vertices and membership of vertices to either true or false, i.e.

module type STRAT = sig .. end

Signature for strategies: for a given state, the strategy tells which state to go to

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