public class ConditionalStructure extends java.lang.Object implements java.util.Comparator<NicePossibleWorld>
Modifier and Type | Class and Description |
---|---|
static class |
ConditionalStructure.Generator
The possible values of a conditional for a possible world
|
Modifier and Type | Field and Description |
---|---|
private java.util.Map<Conditional,java.util.SortedMap<NicePossibleWorld,ConditionalStructure.Generator>> |
conditionalData
This maps saves the same data as worldData but uses another mapping allowing fast
access to the Generators using Conditionals.
|
private java.util.Map<Conditional,java.util.List<NicePossibleWorld>> |
falsifyingWorlds |
private PropositionalSignature |
signature
the signature of the conditional structure
|
private java.util.Map<Conditional,java.util.List<NicePossibleWorld>> |
verifyingWorlds |
private java.util.SortedMap<NicePossibleWorld,java.util.Map<Conditional,ConditionalStructure.Generator>> |
worldData
The data of the conditional structure maps to every PossibleWorld a map
of Conditionals and their Generators.
|
private java.util.Comparator<Pair<Proposition,java.lang.Boolean>> |
worldRepresentation
The object used to sort the literals in the PossibleWorld
|
private java.util.Comparator<NicePossibleWorld> |
worldSorting
The object used to sort the Nice Possible worlds
|
Constructor and Description |
---|
ConditionalStructure()
Default-Ctor generates empty Conditional structure
|
ConditionalStructure(java.util.Collection<Conditional> conditionals)
Ctor: generates a conditional structure containing the given conditionals
|
ConditionalStructure(java.util.Collection<Conditional> conditionals,
java.util.Comparator<NicePossibleWorld> comparator)
Ctor: Generates a ConditionalStructure containing the given conditionals and
using the given comparator to sort the worldData map.
|
ConditionalStructure(java.util.Comparator<NicePossibleWorld> comparator)
Ctor: Generates an empty ConditionalStructure that uses the given
Comparator to sort its worldData map.
|
Modifier and Type | Method and Description |
---|---|
boolean |
addConditional(Conditional cond)
Adds the given Conditional to the ConditionalStructure and updates the
structure.
|
void |
clear()
Clears the ConditionalStructure, after calling this method the
Structure is empty.
|
int |
compare(NicePossibleWorld o1,
NicePossibleWorld o2) |
java.util.Map<NicePossibleWorld,ConditionalStructure.Generator> |
getConditionalGenerators(Conditional conditional)
Processes the Map form PossibleWorlds to the Generators of the given Conditional
|
java.util.Set<Conditional> |
getConditionals() |
java.util.List<NicePossibleWorld> |
getFalsifiyingWorlds(Conditional cond) |
java.util.Set<NicePossibleWorld> |
getPossibleWorlds() |
java.util.Collection<Proposition> |
getSignature() |
java.util.List<NicePossibleWorld> |
getVerifyingWorlds(Conditional cond) |
java.util.Map<Conditional,ConditionalStructure.Generator> |
getWorldGenerators(NicePossibleWorld world)
Processes the map from Conditionals to Generators for a given PossibleWorld
|
private boolean |
putGenerator(NicePossibleWorld npw,
Conditional cond)
Processes the generator of the given Conditional cond for the PossibleWorld
npw and saves it in the worldData data structure if it is not equal CG_ONE.
|
boolean |
removeConditional(Conditional cond)
Removes the given Conditional from the ConditionalStructure and updates
the structure.
|
void |
setWorldRepresentation(java.util.Comparator<Pair<Proposition,java.lang.Boolean>> comparator)
Changes the internal representations of the worlds, normally the propositions of a world
are ordered alphabetically but this behavior can be changed using this method.
|
void |
setWorldSorting(java.util.Comparator<NicePossibleWorld> comparator)
Changes the ordering of the PossibleWorlds for representation purposes, before
using this method proof if the goal can be easier achieved using the
setWorldRepresentation() method that allows changing the ordering of
the literals in the world representation.
|
java.lang.String |
toString() |
private void |
updateSignature(java.util.Collection<Proposition> signature)
Update the data structure worldData by removing worlds that are not
representable by the given signature and adding worlds that are new
with the new signature.
|
private java.util.SortedMap<NicePossibleWorld,java.util.Map<Conditional,ConditionalStructure.Generator>> worldData
private java.util.Map<Conditional,java.util.SortedMap<NicePossibleWorld,ConditionalStructure.Generator>> conditionalData
private java.util.Map<Conditional,java.util.List<NicePossibleWorld>> verifyingWorlds
private java.util.Map<Conditional,java.util.List<NicePossibleWorld>> falsifyingWorlds
private java.util.Comparator<NicePossibleWorld> worldSorting
private java.util.Comparator<Pair<Proposition,java.lang.Boolean>> worldRepresentation
private PropositionalSignature signature
public ConditionalStructure()
public ConditionalStructure(java.util.Comparator<NicePossibleWorld> comparator)
comparator
- An implementation for sorting the world data
if null is given the default sorting behavior is used.public ConditionalStructure(java.util.Collection<Conditional> conditionals)
conditionals
- A collection of conditionals that shall form the
ConditionalStructurepublic ConditionalStructure(java.util.Collection<Conditional> conditionals, java.util.Comparator<NicePossibleWorld> comparator)
conditionals
- A collection of conditionals that shall form the
ConditionalStructurecomparator
- An implementation for sorting the world data
if null is given the default sorting behavior is used.public java.util.Set<Conditional> getConditionals()
public java.util.Set<NicePossibleWorld> getPossibleWorlds()
public java.util.List<NicePossibleWorld> getFalsifiyingWorlds(Conditional cond)
public java.util.List<NicePossibleWorld> getVerifyingWorlds(Conditional cond)
public java.util.Map<Conditional,ConditionalStructure.Generator> getWorldGenerators(NicePossibleWorld world)
world
- The PossibleWorld thats Generators shall be returnedpublic java.util.Map<NicePossibleWorld,ConditionalStructure.Generator> getConditionalGenerators(Conditional conditional)
conditional
- The Conditionalpublic java.util.Collection<Proposition> getSignature()
public void setWorldSorting(java.util.Comparator<NicePossibleWorld> comparator)
comparator
- The implementation sorting the possible worldspublic void setWorldRepresentation(java.util.Comparator<Pair<Proposition,java.lang.Boolean>> comparator)
comparator
- The new implementation of a Comparator that provides the new
sorting behavior for the Propositions in a PossibleWorld.public boolean addConditional(Conditional cond)
cond
- The new Conditionalpublic boolean removeConditional(Conditional cond)
cond
- The Conditional that shall be removedpublic void clear()
private void updateSignature(java.util.Collection<Proposition> signature)
signature
- The propositional signature representing the problem domain.private boolean putGenerator(NicePossibleWorld npw, Conditional cond)
npw
- The PossibleWorldcond
- The Conditionalpublic java.lang.String toString()
toString
in class java.lang.Object
public int compare(NicePossibleWorld o1, NicePossibleWorld o2)
compare
in interface java.util.Comparator<NicePossibleWorld>