learningRules
Class HybridLearning

java.lang.Object
  |
  +--learningRules.HybridLearning
All Implemented Interfaces:
LearningRule

public class HybridLearning
extends java.lang.Object
implements LearningRule

This class implements the Hybrid learning rule. Every generation each individual averages their neighbors beliefs with their own (giving equal weight to each persons belief) and then adopts it. Technically, the new beliefs are placed in domain 1 (where the averaged beliefs are in domain 0). This requires the calling model to copy beliefs from domain 1 to domain 0 after calling newGeneration();

Author:
Kevin Zollman

Constructor Summary
HybridLearning(Game[] g)
           
 
Method Summary
 void newGeneration(Individual i)
          The new generation method implements the averaging.
 int pickStrat(Individual i)
          Chooses the strategy with the highest expectation
 void processPayoff(Individual i)
          Updates beliefs based on the payoffs of neighbors.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

HybridLearning

public HybridLearning(Game[] g)
Method Detail

newGeneration

public void newGeneration(Individual i)
                   throws ModelError
The new generation method implements the averaging.

Specified by:
newGeneration in interface LearningRule
Parameters:
i - The calling individual
ModelError

pickStrat

public int pickStrat(Individual i)
Chooses the strategy with the highest expectation

Specified by:
pickStrat in interface LearningRule
Parameters:
i - The calling individual

processPayoff

public void processPayoff(Individual i)
                   throws ModelError
Updates beliefs based on the payoffs of neighbors. Payoff == -1 means no experiment was performed and their payoff is ignored.

Specified by:
processPayoff in interface LearningRule
Parameters:
i - The calling individual
ModelError