mahout-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From conflue...@apache.org
Subject [CONF] Apache Lucene Mahout: Watchmaker.GA.Tutorial (page edited)
Date Sun, 17 Aug 2008 15:04:00 GMT
Watchmaker.GA.Tutorial (MAHOUT) edited by abdelhakim deneche
      Page: http://cwiki.apache.org/confluence/display/MAHOUT/Watchmaker.GA.Tutorial
   Changes: http://cwiki.apache.org/confluence/pages/diffpagesbyversion.action?pageId=93002&originalVersion=1&revisedVersion=2






Content:
---------------------------------------------------------------------

h1. How to distribute the fitness evaluation using Mahout.GA

In any Watchmaker program, you'll have to create an instance of a StandaloneEvolutionEngine.
For the TSP example this is done in the EvolutionaryTravellingSalesman class:

{code:java}
private EvolutionEngine<List<String>> getEngine(CandidateFactory<List<String>>
candidateFactory, EvolutionaryOperator<List<?>> pipeline, Random rng) {
  return new StandaloneEvolutionEngine<List<String>>(candidateFactory, pipeline,
new RouteEvaluator(distances), selectionStrategy, rng);
}
{code}

The RouteEvaluator class is where the fitness of each individual is evaluated, if we want
to distribute the evaluation over a Hadoop Cluster, all we have to is wrap the evaluator in
a MahoutFitnessEvaluator, and instead of a StandaloneEvolutionEngine we'll use a STEvolutionEngine
:

{code:java}
private EvolutionEngine<List<String>> getEngine(CandidateFactory<List<String>>
candidateFactory, EvolutionaryOperator<List<?>> pipeline, Random rng) {
  MahoutFitnessEvaluator<List<String>> evaluator = new MahoutFitnessEvaluator<List<String>>(new
RouteEvaluator(distances));
  return new STEvolutionEngine<List<String>>(candidateFactory, pipeline, evaluator,
selectionStrategy, rng);
}
{code}

And voila! your code is ready to run on Hadoop. The complete running example is available
with the examples in the org/apache/mahout/ga/watchmaker/travellingsalesman directory


---------------------------------------------------------------------
CONFLUENCE INFORMATION
This message is automatically generated by Confluence

Unsubscribe or edit your notifications preferences
   http://cwiki.apache.org/confluence/users/viewnotifications.action

If you think it was sent incorrectly contact one of the administrators
   http://cwiki.apache.org/confluence/administrators.action

If you want more information on Confluence, or have a bug to report see
   http://www.atlassian.com/software/confluence



Mime
View raw message