de.cesr.lara.components.decision.impl
Class LDeliberativeChoiceComp_Probabilistic

java.lang.Object
  extended by de.cesr.lara.components.decision.impl.LDeliberativeChoiceComp_Probabilistic
All Implemented Interfaces:
LaraDeliberativeChoiceComponent

public class LDeliberativeChoiceComp_Probabilistic
extends Object
implements LaraDeliberativeChoiceComponent

Selects behavioural options based on a probabilistic choice mechanism. BOs are placed on a roulette wheel with the range according to their utility. The BO is selected in whose range the random number falls. IN case of negative utility sums all utility sums are shifted right by the lowest value. Eta is used as an exponent to the BO's utility that influenced the range on the roulette wheel. In case of a single BO or if (k == number of available BOs) the process is accelerated by directly choosing this BO.


Field Summary
protected  Logger logger
          logger
 
Constructor Summary
LDeliberativeChoiceComp_Probabilistic(float eta, String distribution)
           
LDeliberativeChoiceComp_Probabilistic(String distribution)
          Uses eta = 1.0
 
Method Summary
<BO extends LaraBehaviouralOption<?,? extends BO>>
Set<? extends BO>
getKSelectedBos(LaraDecisionConfiguration dConfig, Collection<LaraBoRow<BO>> boRows, int k)
          NOTE: The given Collection of LaraBoRows is altered!
<BO extends LaraBehaviouralOption<?,? extends BO>>
BO
getSelectedBo(LaraDecisionConfiguration dConfig, Collection<LaraBoRow<BO>> boRows)
          Provides the selected BO for the given decision configuration
protected
<BO extends LaraBehaviouralOption<?,? extends BO>>
LaraBoRow<BO>
selectProbabilistic(LaraDecisionConfiguration dConfig, Collection<LaraBoRow<BO>> boRows, LaraAgent<?,?> agent)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

logger

protected Logger logger
logger

Constructor Detail

LDeliberativeChoiceComp_Probabilistic

public LDeliberativeChoiceComp_Probabilistic(float eta,
                                             String distribution)
Parameters:
eta - distinction parameter
rand -

LDeliberativeChoiceComp_Probabilistic

public LDeliberativeChoiceComp_Probabilistic(String distribution)
Uses eta = 1.0

Parameters:
distribution -
Method Detail

getKSelectedBos

public <BO extends LaraBehaviouralOption<?,? extends BO>> Set<? extends BO> getKSelectedBos(LaraDecisionConfiguration dConfig,
                                                                                            Collection<LaraBoRow<BO>> boRows,
                                                                                            int k)
NOTE: The given Collection of LaraBoRows is altered!

Specified by:
getKSelectedBos in interface LaraDeliberativeChoiceComponent
Parameters:
dConfig - the decision configuration of this decision process
boRows - collection of LaraBoRows
k - number of BOs to select
Returns:
k best behavioural options
See Also:
LaraDeliberativeChoiceComponent.getKSelectedBos(de.cesr.lara.components.decision.LaraDecisionConfiguration, java.util.Collection, int)

getSelectedBo

public <BO extends LaraBehaviouralOption<?,? extends BO>> BO getSelectedBo(LaraDecisionConfiguration dConfig,
                                                                           Collection<LaraBoRow<BO>> boRows)
Description copied from interface: LaraDeliberativeChoiceComponent
Provides the selected BO for the given decision configuration

Specified by:
getSelectedBo in interface LaraDeliberativeChoiceComponent
Parameters:
dConfig - the decision configuration of this decision process
boRows - collection of LaraBoRows
Returns:
selected behavioural option

selectProbabilistic

protected <BO extends LaraBehaviouralOption<?,? extends BO>> LaraBoRow<BO> selectProbabilistic(LaraDecisionConfiguration dConfig,
                                                                                               Collection<LaraBoRow<BO>> boRows,
                                                                                               LaraAgent<?,?> agent)
Type Parameters:
BO -
Parameters:
dConfig -
boRows -
agent -