edu.wis.jtlv.old_lib.games
Class Memory
java.lang.Object
edu.wis.jtlv.old_lib.games.Memory
public class Memory
- extends java.lang.Object
This class is intended to serve as the data structure for holding BDDs in the recursive game (Streett game).
It also harvests this data structure for the strategy.
The idea of the data structure is as follows.
Upon creation, the structure gets a set of fairness numbers.
Per fairness number we have a vector of BDDs with each entry in this vector, there is also
an associated recursive pointer to the same substructure.
At the moment only existential strategy is implemented.
This matches a situation where the environment makes the first move and the system has to answer it.
The idea of the strategy is as follows:
1. If the current state is a r state, then the permutation is increased to the next permutation
and the successor is set to the minimal possible successor according to the next permutation.
2. If the current state is not an r state, then the permutation remains the same permutation in this level
We either a. Reduce the ranking in this level, or
b. Remain in the same rank in this level, make sure that we are not a g-state
and call recursively for the strategy to handle the next levels.
3. At the bottom of the recursion, if we are not in all the g's of all the pairs, then
the ranking can remain the same and we just choose some successor.
- Version:
- "1.3.2"
- Author:
- Nir Piterman
Method Summary |
boolean |
blank()
|
boolean |
find_intersect(BDD target,
Memory.Permutation perm,
Memory.Permutation loc)
|
void |
insert(RkGame.ImplicationEntity pair,
int pair_ind,
int location,
BDD new_bdd,
Memory new_memory)
|
int |
local_index(RkGame.ImplicationEntity pair)
|
BDD |
next_contained(BDD target)
|
BDD |
next_intersect(BDD current,
BDD target,
Memory.Permutation perm,
Memory.Permutation loc)
|
boolean |
recursive_find_intersect(BDD target,
Memory.Permutation perm,
Memory.Permutation loc,
int ind)
|
BDD |
recursive_next_intersect(BDD current,
BDD target,
Memory.Permutation perm,
Memory.Permutation loc,
int ind)
|
int |
size()
|
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Memory
public Memory()
Memory
public Memory(java.util.Set<RkGame.ImplicationEntity> pairs)
local_index
public int local_index(RkGame.ImplicationEntity pair)
insert
public void insert(RkGame.ImplicationEntity pair,
int pair_ind,
int location,
BDD new_bdd,
Memory new_memory)
blank
public boolean blank()
size
public int size()
find_intersect
public boolean find_intersect(BDD target,
Memory.Permutation perm,
Memory.Permutation loc)
recursive_find_intersect
public boolean recursive_find_intersect(BDD target,
Memory.Permutation perm,
Memory.Permutation loc,
int ind)
next_intersect
public BDD next_intersect(BDD current,
BDD target,
Memory.Permutation perm,
Memory.Permutation loc)
recursive_next_intersect
public BDD recursive_next_intersect(BDD current,
BDD target,
Memory.Permutation perm,
Memory.Permutation loc,
int ind)
next_contained
public BDD next_contained(BDD target)