Class ConditionalStructure
java.lang.Object
org.tweetyproject.logics.cl.semantics.ConditionalStructure
- All Implemented Interfaces:
- Comparator<NicePossibleWorld>
Represents a conditional structure as introduced in Section 3.5
 "Conditionals in Nonmonotonic Reasoning and Belief Revision" of
 Gabrielle Kern-Isberner
 Internally it saves the data to two nested Maps. The first map maps to each
 PossibleWorld
 a map of Conditionals to Generators and the second map maps to each
 Conditional
 a map of PossibleWorlds to Generators. Those two maps allow fast access to
 the data of the ConditionalStructure. The first map can be used to support
 a nice representation of the ConditionalStructure and the second map can
 be used for further processing depending on the Conditionals (for Kappa
 values in C-Representation for example).
 To change the representation of the ConditionalStructure the user can
 provide a Comparator<NicePossibleWorld> implementation that changes the
 sort behavior of the world data map or he/she can provide a
 Comparator<Pair<Proposition, Boolean>> to change the ordering of
 the literals
 in the NicePossibleWorld representation.
 The later approach will fit for most situations.
 The default sorting behavior depends on the representation behavior of
 NicePossibleWorld
 that can also be adapt because it uses the toString method() and sorts this
 string alphabetically
 so that all possible worlds for a,b,c are represented in the following order:
 a b c
 a b-c
 a-b c
 a-b-c
 -a b c
 -a b-c
 -a-b c
 -a-b-c
 The default Sorting provides a clean binary switching of true/false like
 counting a bit string. If
 the user wants another ordering like c a b the Sorting behavior of the
 NicePossibleWorld
 shall be adapted by providing a Comparator<Pair<Proposition,
 Boolean>> implementation that
 implements the relation "c < a < b" by using the
 setWorldRepresentation() method.
 If the user wants to use a sorting depending on the Generator count for the
 worlds the
 setWorldSorting() method can be used to provide the correct sorting method.
- Author:
- Tim Janus
- 
Nested Class SummaryNested ClassesModifier and TypeClassDescriptionstatic enumThe possible values of a conditional for a possible world
- 
Constructor SummaryConstructorsConstructorDescriptionDefault-Ctor generates empty Conditional structureConditionalStructure(Collection<Conditional> conditionals) Ctor: generates a conditional structure containing the given conditionalsConditionalStructure(Collection<Conditional> conditionals, Comparator<NicePossibleWorld> comparator) Ctor: Generates a ConditionalStructure containing the given conditionals and using the given comparator to sort the worldData map.ConditionalStructure(Comparator<NicePossibleWorld> comparator) Ctor: Generates an empty ConditionalStructure that uses the given Comparator to sort its worldData map.
- 
Method SummaryModifier and TypeMethodDescriptionbooleanaddConditional(Conditional cond) Adds the given Conditional to the ConditionalStructure and updates the structure.voidclear()Clears the ConditionalStructure, after calling this method the Structure is empty.intgetConditionalGenerators(Conditional conditional) Processes the Map form PossibleWorlds to the Generators of the given ConditionalReturn An unmodifiable set of all conditionals in this ConditionalStructureRetrieves an unmodifiable list of possible worlds that falsify the given conditional.Return An unmodifiable set of all possible worlds in this ConditionalStructureReturn An unmodifiable Collection containing all propositions that altogether form the signature of the ConditionalStructureRetrieves an unmodifiable list of possible worlds that verify the given conditional.Processes the map from Conditionals to Generators for a given PossibleWorldbooleanremoveConditional(Conditional cond) Removes the given Conditional from the ConditionalStructure and updates the structure.voidsetWorldRepresentation(Comparator<Pair<Proposition, 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.voidsetWorldSorting(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.toString()Methods inherited from class java.lang.Objectequals, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface java.util.Comparatorequals, reversed, thenComparing, thenComparing, thenComparing, thenComparingDouble, thenComparingInt, thenComparingLong
- 
Constructor Details- 
ConditionalStructurepublic ConditionalStructure()Default-Ctor generates empty Conditional structure
- 
ConditionalStructureCtor: Generates an empty ConditionalStructure that uses the given Comparator to sort its worldData map.- Parameters:
- comparator- An implementation for sorting the world data if null is given the default sorting behavior is used.
 
- 
ConditionalStructureCtor: generates a conditional structure containing the given conditionals- Parameters:
- conditionals- A collection of conditionals that shall form the ConditionalStructure
 
- 
ConditionalStructurepublic ConditionalStructure(Collection<Conditional> conditionals, Comparator<NicePossibleWorld> comparator) Ctor: Generates a ConditionalStructure containing the given conditionals and using the given comparator to sort the worldData map.- Parameters:
- conditionals- A collection of conditionals that shall form the ConditionalStructure
- comparator- An implementation for sorting the world data
 
 
- 
- 
Method Details- 
getConditionalsReturn An unmodifiable set of all conditionals in this ConditionalStructure- Returns:
- An unmodifiable set of all conditionals in this ConditionalStructure
 
- 
getPossibleWorldsReturn An unmodifiable set of all possible worlds in this ConditionalStructure- Returns:
- An unmodifiable set of all possible worlds in this ConditionalStructure
 
- 
getFalsifiyingWorldsRetrieves an unmodifiable list of possible worlds that falsify the given conditional.This method fetches the worlds from the internal cache (`falsifyingWorlds`) and returns them as an unmodifiable list. If no worlds are available for the given conditional, it returns null.- Parameters:
- cond- the conditional for which the falsifying worlds are to be retrieved.
- Returns:
- an unmodifiable list of falsifying worlds for the given conditional,
         or nullif no such worlds exist.
 
- 
getVerifyingWorldsRetrieves an unmodifiable list of possible worlds that verify the given conditional.This method fetches the worlds from the internal cache (`verifyingWorlds`) and returns them as an unmodifiable list. If no worlds are available for the given conditional, it returns null.- Parameters:
- cond- the conditional for which the verifying worlds are to be retrieved.
- Returns:
- an unmodifiable list of verifying worlds for the given conditional,
         or nullif no such worlds exist.
 
- 
getWorldGeneratorsProcesses the map from Conditionals to Generators for a given PossibleWorld- Parameters:
- world- The PossibleWorld thats Generators shall be returned
- Returns:
- A map containing all Generators for the world as values and the associated conditionals as key.
 
- 
getConditionalGeneratorspublic Map<NicePossibleWorld,ConditionalStructure.Generator> getConditionalGenerators(Conditional conditional) Processes the Map form PossibleWorlds to the Generators of the given Conditional- Parameters:
- conditional- The Conditional
- Returns:
- null if no such map exists or the map mapping the PossibleWorlds to Generators for the given Conditional
 
- 
getSignatureReturn An unmodifiable Collection containing all propositions that altogether form the signature of the ConditionalStructure- Returns:
- An unmodifiable Collection containing all propositions that altogether form the signature of the ConditionalStructure
 
- 
setWorldSortingChanges 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.- Parameters:
- comparator- The implementation sorting the possible worlds
 
- 
setWorldRepresentationChanges the internal representations of the worlds, normally the propositions of a world are ordered alphabetically but this behavior can be changed using this method.- Parameters:
- comparator- The new implementation of a Comparator that provides the new sorting behavior for the Propositions in a PossibleWorld.
 
- 
addConditionalAdds the given Conditional to the ConditionalStructure and updates the structure.- Parameters:
- cond- The new Conditional
- Returns:
- True if the conditional is added and ConditionalStructure is updated, false if the Conditional is already part of the ConditionalStructure
 
- 
removeConditionalRemoves the given Conditional from the ConditionalStructure and updates the structure.- Parameters:
- cond- The Conditional that shall be removed
- Returns:
- True if the Conditional is part of the ConditionalStructure and was removed, false if the Conditional is not part of the ConditionalStructure and nothing happened.
 
- 
clearpublic void clear()Clears the ConditionalStructure, after calling this method the Structure is empty.
- 
toString
- 
compare- Specified by:
- comparein interface- Comparator<NicePossibleWorld>
 
 
-