Class SmoothedPenalizingCreepingMachineShop
- java.lang.Object
-
- net.sf.tweety.logics.pcl.analysis.AbstractCreepingMachineShop
-
- net.sf.tweety.logics.pcl.analysis.SmoothedPenalizingCreepingMachineShop
-
- All Implemented Interfaces:
BeliefBaseMachineShop
public class SmoothedPenalizingCreepingMachineShop extends AbstractCreepingMachineShop
This class is capable of restoring consistency of a possible inconsistent probabilistic conditional belief set. Restoring consistency is performed by a smoothed penalizing creeping of the original belief set towards an uniform belief set, see [PhD thesis, Thimm] for details.- Author:
- Matthias Thimm
-
-
Field Summary
Fields Modifier and Type Field Description private CulpabilityMeasure<ProbabilisticConditional,PclBeliefSet>
culpabilityMeasure
The culpability measure used by this machine shop.private double
scalingParameter
The scaling parameter for the function 'v'-
Fields inherited from class net.sf.tweety.logics.pcl.analysis.AbstractCreepingMachineShop
MAX_ITERATIONS, PRECISION
-
-
Constructor Summary
Constructors Constructor Description SmoothedPenalizingCreepingMachineShop(CulpabilityMeasure<ProbabilisticConditional,PclBeliefSet> culpabilityMeasure)
Creates a new creeping machine shop based on the given culpability measure.
-
Method Summary
Modifier and Type Method Description protected double
getLowerBound()
Retrieves the lower bound for delta for this machine shop.protected double
getUpperBound()
Retrieves the upper bound for delta for this machine shop.protected java.util.Map<ProbabilisticConditional,Probability>
getValues(double delta, PclBeliefSet beliefSet)
Computes the values of the conditionals for step deltaprotected void
init(PclBeliefSet beliefSet)
Performs some optional initializations before beginning to restore consistency.private java.lang.Double
v(double a, double b1, double b2, double x)
This method implements a weighted linear approach from 'b2' to 'b1' with gradient 'a'; 'x' is the parameter in [0,1].-
Methods inherited from class net.sf.tweety.logics.pcl.analysis.AbstractCreepingMachineShop
characteristicFunction, repair
-
-
-
-
Field Detail
-
scalingParameter
private double scalingParameter
The scaling parameter for the function 'v'
-
culpabilityMeasure
private CulpabilityMeasure<ProbabilisticConditional,PclBeliefSet> culpabilityMeasure
The culpability measure used by this machine shop.
-
-
Constructor Detail
-
SmoothedPenalizingCreepingMachineShop
public SmoothedPenalizingCreepingMachineShop(CulpabilityMeasure<ProbabilisticConditional,PclBeliefSet> culpabilityMeasure)
Creates a new creeping machine shop based on the given culpability measure.- Parameters:
culpabilityMeasure
- a culpability measure.
-
-
Method Detail
-
getValues
protected java.util.Map<ProbabilisticConditional,Probability> getValues(double delta, PclBeliefSet beliefSet)
Description copied from class:AbstractCreepingMachineShop
Computes the values of the conditionals for step delta- Specified by:
getValues
in classAbstractCreepingMachineShop
- Parameters:
delta
- the step parameter.beliefSet
- the belief set.- Returns:
- a map mapping conditionals to probabilities.
-
getLowerBound
protected double getLowerBound()
Description copied from class:AbstractCreepingMachineShop
Retrieves the lower bound for delta for this machine shop.- Specified by:
getLowerBound
in classAbstractCreepingMachineShop
- Returns:
- the lower bound for delta for this machine shop.
-
getUpperBound
protected double getUpperBound()
Description copied from class:AbstractCreepingMachineShop
Retrieves the upper bound for delta for this machine shop.- Specified by:
getUpperBound
in classAbstractCreepingMachineShop
- Returns:
- the upper bound for delta for this machine shop.
-
init
protected void init(PclBeliefSet beliefSet)
Description copied from class:AbstractCreepingMachineShop
Performs some optional initializations before beginning to restore consistency.- Overrides:
init
in classAbstractCreepingMachineShop
- Parameters:
beliefSet
- a PCL belief set.
-
v
private java.lang.Double v(double a, double b1, double b2, double x)
This method implements a weighted linear approach from 'b2' to 'b1' with gradient 'a'; 'x' is the parameter in [0,1].- Parameters:
a
- a doubleb1
- a doubleb2
- a doublex
- a double- Returns:
- a double
-
-