[
https://issues.apache.org/jira/browse/MAHOUT-56?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12597873#action_12597873
]
Deneche A. Hakim commented on MAHOUT-56:
----------------------------------------
I started with the Traveling Salesman Problem (TSP) because the reference
implementation already exists within Watchmaker.
You'll need to add the following jars to the Mahout/core/lib/ :
watchmaker-framework-0.4.3.jar
watchmaker-examples-0.4.3.jar (contains reference implementation of the TSP)
uncommons-maths-1.0.2.jar
uncommons-utils.jar
they are all available with watchmaker0.4.3 [https://watchmaker.dev.java.net/]
I also included some unit tests that should pass without problem.
The code contains the following 4 classes:
. RouteEvalMapper : a Hadoop mapper that evaluate the fitness of one candidate
solution (GA individual)
. MahoutRouteEvaluator : takes a GA population in input and launch a Hadoop job
to evaluate the fitness of each individual,
returns back the results. Takes care of storing the population into an input
file, and loading the fitnesses from job outputs
. MahoutTspEvolutionEngine : Distributed implementation of the evolution engine
that uses MahoutRouteEvaluator for the evaluations
. PopulationUtils : Utility class to store the population into a given
FileSystem
This is the easiest possible implementation, the next steps are :
. Use serialization to store/load any king of individuals and not only
List<String>
. Use serialization to pass any possible FitnessEvaluator, thus we can use
MahoutEvolutionEngine for other problems
. and as suggested by Ted: use meta-mutation (But I think it will be in a
separate Task)
> Watchmaker Integration
> ----------------------
>
> Key: MAHOUT-56
> URL: https://issues.apache.org/jira/browse/MAHOUT-56
> Project: Mahout
> Issue Type: Task
> Reporter: Deneche A. Hakim
>
> The goal of this task is to allow watchmaker definded problems be solved in
> Mahout.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.