nenok.va
Interface Valuation

All Superinterfaces:
Cloneable, Serializable
All Known Subinterfaces:
Idempotency, Predictability, Regularity, Scalability
All Known Implementing Classes:
Identity, RegularSRValuation, ScaledSRValuation, SRValuation

public interface Valuation
extends Serializable, Cloneable

This interface specifies a general valuation by its principal operations of labeling, marginalization & combination. Ensure that all axioms of a valuation algebra are respected when implementing this interface. Valuation objects are serializable such that they can be transmitted between network hosts.

Additionally, this interface provides a method to copy valuation objects. This method is mainly used by the implementation of Identity valuations. To give an example: the combination of an arbitrary valuation with an identity element should return a copy of the former. An alternative design strategy would have been to reuse the Object.clone() method. However, because this method is pre-implemented, the user is not forced to overwrite it. Additionally, the Cloneable interface in only a marker to ensure that Object.clone() can indeed be used. This is not satisfactory for our purposes.

The last method provides a generic weight function for valuations, which is used afterwards to model communication costs of local computation. Again, ensure that the properties of weight functions are fulfilled.

Version:
1.1
Author:
Marc Pouly

Method Summary
 Valuation combine(Valuation val)
          Combination of valuations.
 Domain label()
          Labeling of a valuation.
 Valuation marginalize(Domain dom)
          Marginalization of a valuation onto a given domain.
 int weight()
           
 

Method Detail

label

Domain label()
Labeling of a valuation.

Returns:
The domain of the valuation

combine

Valuation combine(Valuation val)
Combination of valuations. Note that the method's argument is declared to be final to prevent modifications on this object.

Parameters:
val - The second valuation involved in the combination.
Returns:
The combination of this and val.

marginalize

Valuation marginalize(Domain dom)
                      throws VAException
Marginalization of a valuation onto a given domain.

Parameters:
dom - The domain onto this valuation is marginalized.
Returns:
The marginalization of this to dom.
Throws:
VAException - Exception occuring when a marginalization is performed onto an illegal domain.

weight

int weight()
Returns:
The wieght of the current valuation.