nimbus (1.2.4) | 2018-01-25 20:02 |
nimbus-sample (1.2.4) | 2018-01-26 17:06 |
jp.ossc.nimbus.service.ga.DefaultSeedMatchMakerServiceは、世代内の交配を行うjp.ossc.nimbus.service.ga.SeedMatchMakerデフォルト実装サービスです。
このサービスは、以下のような交配を行います。
ルーレット方式とは、ルーレットの的のように、適応値が高い者ほど、選択される可能性が高くなる方式です。
以下に簡単なサービス定義を示します。
- <?xml version="1.0" encoding="Shift_JIS"?>
- <!DOCTYPE server PUBLIC
- "-//Nimbus//DTD Nimbus 1.0//JA"
- "http://nimbus.sourceforge.jp/dtd/nimbus-service_1_0.dtd">
- <server>
- <manager>
- <!-- 交叉対象となる個体の選択方式 -->
- <service name="SeedMatchMaker"
- code="jp.ossc.nimbus.service.ga.DefaultSeedMatchMakerService">
- <!-- エリート率 -->
- <!-- 上位5%のSeedは、そのまま次の世代に引き継がれる。-->
- <attribute name="EliteRate">0.05</attribute>
- <!-- 落ちこぼれ率 -->
- <!-- 下位30%のSeedは、次世代の交叉に使われず、破棄される。-->
- <attribute name="DropRate">0.3</attribute>
- <!-- 新規率 -->
- <!-- 下位1%のSeedは、次世代に乱数発生した新規Seedが現れる。-->
- <attribute name="NewRate">0.01</attribute>
- <!-- 選択方式 -->
- <!-- ルーレット方式 -->
- <!-- 次世代の交叉対象として選ばれるシードは、より適応値の高いものが選ばれやすくなる -->
- <attribute name="MatchMakeMethod"><static-field-ref code="jp.ossc.nimbus.service.ga.DefaultSeedMatchMakerService" name="MATCH_MAKE_METHOD_ROULETTE"/></attribute>
- </service>
- </service>
- </manager>
- </server>