public class MetricSDNMPublisherPayout extends AbstractMetricSingleDimensional
Metric.AggregateFunction
Constructor and Description |
---|
MetricSDNMPublisherPayout(boolean journalistAttackerModel)
Creates a new instance.
|
MetricSDNMPublisherPayout(boolean journalistAttackerModel,
double gsFactor)
Creates a new instance
|
Modifier and Type | Method and Description |
---|---|
ILSingleDimensional |
createMaxInformationLoss()
Returns an instance of the maximal value.
|
ILSingleDimensional |
createMinInformationLoss()
Returns an instance of the minimal value.
|
MetricConfiguration |
getConfiguration()
Returns the configuration of this metric.
|
ARXCostBenefitConfiguration |
getCostBenefitConfiguration()
Returns the cost/benefit configuration
|
protected ILSingleDimensionalWithBound |
getInformationLossInternal(org.deidentifier.arx.framework.lattice.Transformation transformation,
org.deidentifier.arx.framework.check.groupify.HashGroupify groupify)
Evaluates the metric for the given node.
|
protected InformationLossWithBound<ILSingleDimensional> |
getInformationLossInternal(org.deidentifier.arx.framework.lattice.Transformation transformation,
org.deidentifier.arx.framework.check.groupify.HashGroupifyEntry entry)
Returns the information loss that would be induced by suppressing the given entry.
|
protected ILSingleDimensional |
getLowerBoundInternal(org.deidentifier.arx.framework.lattice.Transformation transformation)
Returns a lower bound for the information loss for the given node.
|
protected ILSingleDimensional |
getLowerBoundInternal(org.deidentifier.arx.framework.lattice.Transformation transformation,
org.deidentifier.arx.framework.check.groupify.HashGroupify groupify)
Returns a lower bound for the information loss for the given node.
|
java.lang.String |
getName()
Returns the name of metric.
|
protected void |
initializeInternal(org.deidentifier.arx.framework.data.DataManager manager,
DataDefinition definition,
org.deidentifier.arx.framework.data.Data input,
org.deidentifier.arx.framework.data.GeneralizationHierarchy[] hierarchies,
ARXConfiguration config)
Implement this to initialize the metric.
|
boolean |
isAbleToHandleMicroaggregation()
Returns whether this metric handles microaggregation
|
boolean |
isGSFactorSupported()
Returns whether a generalization/suppression factor is supported
|
boolean |
isJournalistAttackerModel()
Returns whether the journalist attacker model is being assumed.
|
boolean |
isProsecutorAttackerModel()
Returns whether the prosecutor attacker model is being assumed.
|
ElementData |
render(ARXConfiguration config)
Renders the privacy model
|
java.lang.String |
toString()
Returns the name of metric.
|
createInformationLoss, createInformationLoss, getDimensions, getDimensionsAggregated, getDimensionsGeneralized, getMicroaggregationDomainSizes, getMicroaggregationFunctions, getMicroaggregationStartIndex, getNumTuples, setNumTuples
createAECSMetric, createAECSMetric, createAmbiguityMetric, createDiscernabilityMetric, createDiscernabilityMetric, createEntropyBasedInformationLossMetric, createEntropyBasedInformationLossMetric, createEntropyMetric, createEntropyMetric, createEntropyMetric, createEntropyMetric, createEntropyMetric, createEntropyMetric, createHeightMetric, createHeightMetric, createInstanceOfHighestScore, createInstanceOfLowestScore, createKLDivergenceMetric, createLossMetric, createLossMetric, createLossMetric, createLossMetric, createMetric, createNormalizedEntropyMetric, createNormalizedEntropyMetric, createPrecisionMetric, createPrecisionMetric, createPrecisionMetric, createPrecisionMetric, createPrecisionMetric, createPrecisionMetric, createPrecisionMetric, createPrecisionMetric, createPrecomputedEntropyMetric, createPrecomputedEntropyMetric, createPrecomputedEntropyMetric, createPrecomputedEntropyMetric, createPrecomputedEntropyMetric, createPrecomputedEntropyMetric, createPrecomputedLossMetric, createPrecomputedLossMetric, createPrecomputedLossMetric, createPrecomputedLossMetric, createPrecomputedNormalizedEntropyMetric, createPrecomputedNormalizedEntropyMetric, createPublisherPayoutMetric, createPublisherPayoutMetric, createStaticMetric, createStaticMetric, getAggregateFunction, getDescription, getDescription, getGeneralizationFactor, getGeneralizationSuppressionFactor, getInformationLoss, getInformationLoss, getLowerBound, getLowerBound, getNumRecords, getSubset, getSuppressionFactor, initialize, isIndependent, isMonotonic, isMonotonicWithGeneralization, isMonotonicWithSuppression, isMultiDimensional, isPrecomputed, isWeighted, list, round
public MetricSDNMPublisherPayout(boolean journalistAttackerModel)
journalistAttackerModel
- If set to true, the journalist attacker model will be assumed,
the prosecutor model will be assumed, otherwisepublic MetricSDNMPublisherPayout(boolean journalistAttackerModel, double gsFactor)
journalistAttackerModel
- If set to true, the journalist attacker model will be assumed,
the prosecutor model will be assumed, otherwisegsFactor
- A factor [0,1] weighting generalization and suppression.
The default value is 0.5, which means that generalization
and suppression will be treated equally. A factor of 0
will favor suppression, and a factor of 1 will favor
generalization. The values in between can be used for
balancing both methods.public ILSingleDimensional createMaxInformationLoss()
Metric
createMaxInformationLoss
in class AbstractMetricSingleDimensional
public ILSingleDimensional createMinInformationLoss()
Metric
createMinInformationLoss
in class AbstractMetricSingleDimensional
public MetricConfiguration getConfiguration()
getConfiguration
in class Metric<ILSingleDimensional>
public ARXCostBenefitConfiguration getCostBenefitConfiguration()
public java.lang.String getName()
Metric
getName
in class Metric<ILSingleDimensional>
public boolean isAbleToHandleMicroaggregation()
Metric
isAbleToHandleMicroaggregation
in class Metric<ILSingleDimensional>
public boolean isGSFactorSupported()
Metric
isGSFactorSupported
in class Metric<ILSingleDimensional>
public boolean isJournalistAttackerModel()
public boolean isProsecutorAttackerModel()
public ElementData render(ARXConfiguration config)
Metric
render
in class Metric<ILSingleDimensional>
public java.lang.String toString()
Metric
toString
in class Metric<ILSingleDimensional>
protected ILSingleDimensionalWithBound getInformationLossInternal(org.deidentifier.arx.framework.lattice.Transformation transformation, org.deidentifier.arx.framework.check.groupify.HashGroupify groupify)
Metric
getInformationLossInternal
in class Metric<ILSingleDimensional>
transformation
- The node for which to compute the information lossgroupify
- The groupify operator of the previous checkprotected InformationLossWithBound<ILSingleDimensional> getInformationLossInternal(org.deidentifier.arx.framework.lattice.Transformation transformation, org.deidentifier.arx.framework.check.groupify.HashGroupifyEntry entry)
Metric
getInformationLoss(node, groupify)
but is guaranteed to be comparable for
different entries from the same groupify operator.getInformationLossInternal
in class Metric<ILSingleDimensional>
protected ILSingleDimensional getLowerBoundInternal(org.deidentifier.arx.framework.lattice.Transformation transformation)
Metric
null
.getLowerBoundInternal
in class Metric<ILSingleDimensional>
protected ILSingleDimensional getLowerBoundInternal(org.deidentifier.arx.framework.lattice.Transformation transformation, org.deidentifier.arx.framework.check.groupify.HashGroupify groupify)
Metric
null
. getLowerBoundInternal
in class Metric<ILSingleDimensional>
protected void initializeInternal(org.deidentifier.arx.framework.data.DataManager manager, DataDefinition definition, org.deidentifier.arx.framework.data.Data input, org.deidentifier.arx.framework.data.GeneralizationHierarchy[] hierarchies, ARXConfiguration config)
Metric
initializeInternal
in class AbstractMetricSingleDimensional