Package net.sf.tweety.arg.dung.util
Class IsoSafeEnumeratingDungTheoryGenerator
- java.lang.Object
-
- net.sf.tweety.arg.dung.util.IsoSafeEnumeratingDungTheoryGenerator
-
- All Implemented Interfaces:
java.util.Iterator<DungTheory>,DungTheoryGenerator,BeliefSetIterator<Argument,DungTheory>
public class IsoSafeEnumeratingDungTheoryGenerator extends java.lang.Object implements DungTheoryGenerator
This generator generators all possible Dung argumentation theories (modulo graph isomorphism). It starts with the argumentation frameworks just consisting of one arguments and then increases their size.- Author:
- Matthias Thimm
-
-
Field Summary
Fields Modifier and Type Field Description private intcntArgumentsThe number of arguments in the theory that is to be generated next.private intcntAttacksThe number of attacks in the theory that is to be generated next.private java.util.Collection<DungTheory>currentTheoriesThe set of all Dung theories with cntArguments arguments and cntAttacks attacks.private java.util.Iterator<DungTheory>iteratorThe iterator on currentTheories.
-
Constructor Summary
Constructors Constructor Description IsoSafeEnumeratingDungTheoryGenerator()Creates a new enumerating Dung theory generator.
-
Method Summary
Modifier and Type Method Description booleanhasNext()private booleanisIsomorphic(DungTheory theory, java.util.Collection<DungTheory> theories)Checks whether the first theory is isomorphic to some theory in "theories".DungTheorynext()DungTheorynext(Argument arg)Generates a new Dung theory where the given argument is enforced to be in the grounded extensionvoidsetSeed(long seed)Set the seed for the generation.
-
-
-
Field Detail
-
cntArguments
private int cntArguments
The number of arguments in the theory that is to be generated next.
-
cntAttacks
private int cntAttacks
The number of attacks in the theory that is to be generated next.
-
currentTheories
private java.util.Collection<DungTheory> currentTheories
The set of all Dung theories with cntArguments arguments and cntAttacks attacks.
-
iterator
private java.util.Iterator<DungTheory> iterator
The iterator on currentTheories.
-
-
Method Detail
-
isIsomorphic
private boolean isIsomorphic(DungTheory theory, java.util.Collection<DungTheory> theories)
Checks whether the first theory is isomorphic to some theory in "theories".- Parameters:
theory- a Dung theorytheories- a collection of Dung theories.- Returns:
- "true" if the first theory is isomorphic to some theory in "theories".
-
next
public DungTheory next()
- Specified by:
nextin interfaceBeliefSetIterator<Argument,DungTheory>- Specified by:
nextin interfaceDungTheoryGenerator- Specified by:
nextin interfacejava.util.Iterator<DungTheory>
-
next
public DungTheory next(Argument arg)
Description copied from interface:DungTheoryGeneratorGenerates a new Dung theory where the given argument is enforced to be in the grounded extension- Specified by:
nextin interfaceDungTheoryGenerator- Parameters:
arg- an argument that is enforced to be in the grounded extension of the generated theory.- Returns:
- a Dung theory,
-
setSeed
public void setSeed(long seed)
Description copied from interface:DungTheoryGeneratorSet the seed for the generation. Every two runs of generations with the same seed are ensured to be identical.- Specified by:
setSeedin interfaceDungTheoryGenerator- Parameters:
seed- some seed.
-
hasNext
public boolean hasNext()
- Specified by:
hasNextin interfaceBeliefSetIterator<Argument,DungTheory>- Specified by:
hasNextin interfaceDungTheoryGenerator- Specified by:
hasNextin interfacejava.util.Iterator<DungTheory>
-
-