ConvergenceCondition実装サービス jp.ossc.nimbus.service.ga.DefaultConvergenceConditionService

jp.ossc.nimbus.service.ga.DefaultConvergenceConditionServiceは、最終世代を決定するための適応値の収束条件を決めるjp.ossc.nimbus.service.ga.ConvergenceConditionデフォルト実装サービスです。

このサービスは、以下の収束条件を設定できます。

  • 最大世代数
  • 適応値の閾値
  • 指定された世代数だけ前の世代の適応値と、現在の世代の適応値の差
  • 指定された世代数だけ前の世代の適応値と、現在の世代の適応値の比率

以下に簡単なサービス定義を示します。

  1. <?xml version="1.0" encoding="Shift_JIS"?>
  2. <!DOCTYPE server PUBLIC
  3. "-//Nimbus//DTD Nimbus 1.0//JA"
  4. "http://nimbus.sourceforge.jp/dtd/nimbus-service_1_0.dtd">
  5. <server>
  6. <manager>
  7. <!-- 収束条件 -->
  8. <service name="ConvergenceCondition"
  9. code="jp.ossc.nimbus.service.ga.DefaultConvergenceConditionService">
  10. <!-- 最大世代数 -->
  11. <!-- 収束しない場合は、100世代で終了する-->
  12. <attribute name="MaxGenerationNum">100</attribute>
  13. <!-- 比較対象世代 -->
  14. <!-- 5世代前の世代との比較で収束を判断する。-->
  15. <attribute name="PreIndex">5</attribute>
  16. <!-- 相対許容誤差 -->
  17. <!-- 適応値が比較対象世代の適応値と1%以下の誤差なら収束したとみなして終了する -->
  18. <attribute name="PermissibleRelativeError">0.01</attribute>
  19. </service>
  20. </manager>
  21. </server>


遺伝的アルゴリズム/ConvergenceCondition