games
index
/vol/home-vol2/lif/grohe/Programme/Python/tree_dec/games.py

# Algorithm for computing winning strategies for a simple graph game.
#
# Written by Martin Grohe, 06-06-2006

 
Modules
       
pickle
random

 
Classes
       
graph.Digraph(__builtin__.dict)
Game_graph

 
class Game_graph(graph.Digraph)
    
Method resolution order:
Game_graph
graph.Digraph
__builtin__.dict
__builtin__.object

Methods defined here:
__init__(self)
__str__(self)
add_vertex(self, v, p)
get_player(self, v)
winning_strategy(self, player)

Data and other attributes defined here:
player = {}

Methods inherited from graph.Digraph:
add_edge(self, v, w)
add_edges(self, es)
add_vertices(self, X)
delete_edge(self, v, w)
delete_edges(self, Y)
delete_vertex(self, v)
delete_vertices(self, X)
dump(self, filename)
Write graph into file 'filename'.
edges(self)
Return list of all edges.
has_edge(self, v, w)

Data and other attributes inherited from graph.Digraph:
__dict__ = <dictproxy object>
dictionary for instance variables (if defined)
__weakref__ = <attribute '__weakref__' of 'Digraph' objects>
list of weak references to the object (if defined)

Methods inherited from __builtin__.dict:
__cmp__(...)
x.__cmp__(y) <==> cmp(x,y)
__contains__(...)
D.__contains__(k) -> True if D has a key k, else False
__delitem__(...)
x.__delitem__(y) <==> del x[y]
__eq__(...)
x.__eq__(y) <==> x==y
__ge__(...)
x.__ge__(y) <==> x>=y
__getattribute__(...)
x.__getattribute__('name') <==> x.name
__getitem__(...)
x.__getitem__(y) <==> x[y]
__gt__(...)
x.__gt__(y) <==> x>y
__hash__(...)
x.__hash__() <==> hash(x)
__iter__(...)
x.__iter__() <==> iter(x)
__le__(...)
x.__le__(y) <==> x<=y
__len__(...)
x.__len__() <==> len(x)
__lt__(...)
x.__lt__(y) <==> x<y
__ne__(...)
x.__ne__(y) <==> x!=y
__repr__(...)
x.__repr__() <==> repr(x)
__setitem__(...)
x.__setitem__(i, y) <==> x[i]=y
adj_vert = get(...)
D.get(k[,d]) -> D[k] if k in D, else d.  d defaults to None.
clear(...)
D.clear() -> None.  Remove all items from D.
copy(...)
D.copy() -> a shallow copy of D
get(...)
D.get(k[,d]) -> D[k] if k in D, else d.  d defaults to None.
has_key(...)
D.has_key(k) -> True if D has a key k, else False
has_vertex = has_key(...)
D.has_key(k) -> True if D has a key k, else False
items(...)
D.items() -> list of D's (key, value) pairs, as 2-tuples
iteritems(...)
D.iteritems() -> an iterator over the (key, value) items of D
iterkeys(...)
D.iterkeys() -> an iterator over the keys of D
itervalues(...)
D.itervalues() -> an iterator over the values of D
keys(...)
D.keys() -> list of D's keys
pop(...)
D.pop(k[,d]) -> v, remove specified key and return the corresponding value
If key is not found, d is returned if given, otherwise KeyError is raised
popitem(...)
D.popitem() -> (k, v), remove and return some (key, value) pair as a
2-tuple; but raise KeyError if D is empty
setdefault(...)
D.setdefault(k[,d]) -> D.get(k,d), also set D[k]=d if k not in D
update(...)
D.update(E, **F) -> None.  Update D from E and F: for k in E: D[k] = E[k]
(if E has keys else: for (k, v) in E: D[k] = v) then: for k in F: D[k] = F[k]
values(...)
D.values() -> list of D's values
vertices = keys(...)
D.keys() -> list of D's keys

Data and other attributes inherited from __builtin__.dict:
__new__ = <built-in method __new__ of type object>
T.__new__(S, ...) -> a new object with type S, a subtype of T
fromkeys = <built-in method fromkeys of type object>
dict.fromkeys(S[,v]) -> New dict with keys from S and values equal to v.
v defaults to None.