com.rubecula.darwin.domain.world
Class MateChoice_Wrightian

java.lang.Object
  extended by com.rubecula.darwin.domain.world.MateChoice_
      extended by com.rubecula.darwin.domain.world.MateChoice_Wrightian
All Implemented Interfaces:
MateChoice

public final class MateChoice_Wrightian
extends MateChoice_

Default implementation of MateChoice. In this default implementation, females are not at all choosy - all males appear the same to all female. However, the desirability of a male (to any female) is based on his age (the experience factor).

Named in honor of Sewall Wright. There is no intended implication that this kind of mate choice would be particularly favored by F-H-W population genetics.

Version:
$Revision: 1.1 $
Author:
Robin Hillyard

Field Summary
 
Fields inherited from class com.rubecula.darwin.domain.world.MateChoice_
_attraction, LOG
 
Constructor Summary
MateChoice_Wrightian(org.apache.commons.math.random.RandomGenerator random)
          Secondary constructor.
MateChoice_Wrightian(org.apache.commons.math.random.RandomGenerator random, Attraction attraction)
          Primary constructor.
 
Method Summary
protected  double getDesirability(Organism male)
           
 double getMinimumDesirability()
          This implementation makes all males desirable and therefore a female will never choose a mate from an alternative population.
 
Methods inherited from class com.rubecula.darwin.domain.world.MateChoice_
chooseMate, createPairBond, equals, findPairs, getAttraction, getAttractionEvaluator, getDesirabilityIndex, getLek, getRandom, getSampleFraction, hashCode, pairUp, setRandom, setSampleFraction
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MateChoice_Wrightian

public MateChoice_Wrightian(org.apache.commons.math.random.RandomGenerator random)
Secondary constructor. Create a new MateChoice_Wrightian implementation with given random number generator and with uniform attraction.

Parameters:
random -

MateChoice_Wrightian

public MateChoice_Wrightian(org.apache.commons.math.random.RandomGenerator random,
                            Attraction attraction)
Primary constructor. Create a new MateChoice_Wrightian implementation with given random number generator and with given attraction.

Parameters:
random -
attraction -
Method Detail

getMinimumDesirability

public double getMinimumDesirability()
This implementation makes all males desirable and therefore a female will never choose a mate from an alternative population.

Returns:
a value for the desirability threshold for choosing a mate (same scale as the desirability index, see MateChoice.getDesirabilityIndex(Organism, Organism)
See Also:
MateChoice.getMinimumDesirability()

getDesirability

protected double getDesirability(Organism male)
Overrides:
getDesirability in class MateChoice_
Returns:
the desirability of this male based on viability, and a random number r: d = v * 2^(2r-1) where v is 10 if viable, 1 otherwise.
See Also:
MateChoice_.getDesirability(com.rubecula.darwin.domain.helper.Organism)


Copyright © 2010 Rubecula Software, LLC. All Rights Reserved.