@@ -385,6 +385,7 @@ <h2>サーチモジュールの実装の準備<a class="headerlink" href="#id3"
385385 < span class ="n "> agent_info</ span > < span class ="p "> ,</ span > < span class ="n "> world_info</ span > < span class ="p "> ,</ span > < span class ="n "> scenario_info</ span > < span class ="p "> ,</ span > < span class ="n "> module_manager</ span > < span class ="p "> ,</ span > < span class ="n "> develop_data</ span >
386386 < span class ="p "> )</ span >
387387 < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> _result</ span > < span class ="p "> :</ span > < span class ="n "> Optional</ span > < span class ="p "> [</ span > < span class ="n "> EntityID</ span > < span class ="p "> ]</ span > < span class ="o "> =</ span > < span class ="kc "> None</ span >
388+ < span class ="c1 "> # ロガーの取得</ span >
388389 < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> _logger</ span > < span class ="o "> =</ span > < span class ="n "> get_agent_logger</ span > < span class ="p "> (</ span >
389390 < span class ="sa "> f</ span > < span class ="s2 "> "</ span > < span class ="si "> {</ span > < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="vm "> __class__</ span > < span class ="o "> .</ span > < span class ="vm "> __module__</ span > < span class ="si "> }</ span > < span class ="s2 "> .</ span > < span class ="si "> {</ span > < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="vm "> __class__</ span > < span class ="o "> .</ span > < span class ="vm "> __qualname__</ span > < span class ="si "> }</ span > < span class ="s2 "> "</ span > < span class ="p "> ,</ span >
390391 < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> _agent_info</ span > < span class ="p "> ,</ span >
@@ -436,20 +437,25 @@ <h2>モジュールの実装<a class="headerlink" href="#id5" title="Link to thi
436437 < span class ="n "> agent_info</ span > < span class ="p "> ,</ span > < span class ="n "> world_info</ span > < span class ="p "> ,</ span > < span class ="n "> scenario_info</ span > < span class ="p "> ,</ span > < span class ="n "> module_manager</ span > < span class ="p "> ,</ span > < span class ="n "> develop_data</ span >
437438 < span class ="p "> )</ span >
438439 < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> _result</ span > < span class ="p "> :</ span > < span class ="n "> Optional</ span > < span class ="p "> [</ span > < span class ="n "> EntityID</ span > < span class ="p "> ]</ span > < span class ="o "> =</ span > < span class ="kc "> None</ span >
439-
440+
441+ < span class ="c1 "> # ロガーの取得</ span >
440442 < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> _logger</ span > < span class ="o "> =</ span > < span class ="n "> get_agent_logger</ span > < span class ="p "> (</ span >
441443 < span class ="sa "> f</ span > < span class ="s2 "> "</ span > < span class ="si "> {</ span > < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="vm "> __class__</ span > < span class ="o "> .</ span > < span class ="vm "> __module__</ span > < span class ="si "> }</ span > < span class ="s2 "> .</ span > < span class ="si "> {</ span > < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="vm "> __class__</ span > < span class ="o "> .</ span > < span class ="vm "> __qualname__</ span > < span class ="si "> }</ span > < span class ="s2 "> "</ span > < span class ="p "> ,</ span >
442444 < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> _agent_info</ span > < span class ="p "> ,</ span >
443445 < span class ="p "> )</ span >
444-
446+
447+ < span class ="c1 "> # クラスタリングモジュールの読み込み</ span >
445448 < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> _clustering</ span > < span class ="p "> :</ span > < span class ="n "> Clustering</ span > < span class ="o "> =</ span > < span class ="n "> cast</ span > < span class ="p "> (</ span >
446449 < span class ="n "> Clustering</ span > < span class ="p "> ,</ span >
447450 < span class ="n "> module_manager</ span > < span class ="o "> .</ span > < span class ="n "> get_module</ span > < span class ="p "> (</ span >
451+ < span class ="c1 "> # config.yamlに登録したkey</ span >
448452 < span class ="s2 "> "KMeansPPSearch.Clustering"</ span > < span class ="p "> ,</ span >
453+ < span class ="c1 "> # 上記のkeyが登録されていなかった場合のデフォルトモジュール</ span >
449454 < span class ="s2 "> "adf_core_python.implement.module.algorithm.k_means_clustering.KMeansClustering"</ span > < span class ="p "> ,</ span >
450455 < span class ="p "> ),</ span >
451456 < span class ="p "> )</ span >
452457
458+ < span class ="c1 "> # クラスタリングモジュールの登録</ span >
453459 < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> register_sub_module</ span > < span class ="p "> (</ span > < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> _clustering</ span > < span class ="p "> )</ span >
454460</ pre > </ div >
455461</ div >
@@ -514,7 +520,7 @@ <h2>課題<a class="headerlink" href="#id7" title="Link to this heading">#</a></
514520</ div >
515521< div class ="admonition warning ">
516522< p class ="admonition-title "> 警告</ p >
517- < p > プログラム例のプログラムにも一部問題があるので 、余裕があったら修正してみてください。</ p >
523+ < p > プログラム例のプログラムにも一部改善点があるので 、余裕があったら修正してみてください。</ p >
518524</ div >
519525< section id ="id8 ">
520526< h3 > 探索対象がステップごとに変わってしまう問題< a class ="headerlink " href ="#id8 " title ="Link to this heading "> #</ a > </ h3 >
@@ -548,6 +554,9 @@ <h3>探索対象がステップごとに変わってしまう問題<a class="hea
548554 < span class ="c1 "> # 探索対象が未選択の場合</ span >
549555 < span class ="k "> if</ span > < span class ="ow "> not</ span > < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> _result</ span > < span class ="ow "> and</ span > < span class ="n "> cluster_entity_ids</ span > < span class ="p "> :</ span >
550556 < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> _result</ span > < span class ="o "> =</ span > < span class ="n "> random</ span > < span class ="o "> .</ span > < span class ="n "> choice</ span > < span class ="p "> (</ span > < span class ="n "> cluster_entity_ids</ span > < span class ="p "> )</ span >
557+
558+ < span class ="c1 "> # ログ出力</ span >
559+ < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> _logger</ span > < span class ="o "> .</ span > < span class ="n "> info</ span > < span class ="p "> (</ span > < span class ="sa "> f</ span > < span class ="s2 "> "Target entity ID: </ span > < span class ="si "> {</ span > < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> _result</ span > < span class ="si "> }</ span > < span class ="s2 "> "</ span > < span class ="p "> )</ span >
551560
552561 < span class ="k "> return</ span > < span class ="bp "> self</ span >
553562</ pre > </ div >
@@ -575,19 +584,24 @@ <h3>すでに探索したエンティティを再度探索対象として選択
575584 < span class ="p "> )</ span >
576585 < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> _result</ span > < span class ="p "> :</ span > < span class ="n "> Optional</ span > < span class ="p "> [</ span > < span class ="n "> EntityID</ span > < span class ="p "> ]</ span > < span class ="o "> =</ span > < span class ="kc "> None</ span >
577586
587+ < span class ="c1 "> # ロガーの取得</ span >
578588 < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> _logger</ span > < span class ="o "> =</ span > < span class ="n "> get_agent_logger</ span > < span class ="p "> (</ span >
579589 < span class ="sa "> f</ span > < span class ="s2 "> "</ span > < span class ="si "> {</ span > < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="vm "> __class__</ span > < span class ="o "> .</ span > < span class ="vm "> __module__</ span > < span class ="si "> }</ span > < span class ="s2 "> .</ span > < span class ="si "> {</ span > < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="vm "> __class__</ span > < span class ="o "> .</ span > < span class ="vm "> __qualname__</ span > < span class ="si "> }</ span > < span class ="s2 "> "</ span > < span class ="p "> ,</ span >
580590 < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> _agent_info</ span > < span class ="p "> ,</ span >
581591 < span class ="p "> )</ span >
582592
593+ < span class ="c1 "> # クラスタリングモジュールの読み込み</ span >
583594 < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> _clustering</ span > < span class ="p "> :</ span > < span class ="n "> Clustering</ span > < span class ="o "> =</ span > < span class ="n "> cast</ span > < span class ="p "> (</ span >
584595 < span class ="n "> Clustering</ span > < span class ="p "> ,</ span >
585596 < span class ="n "> module_manager</ span > < span class ="o "> .</ span > < span class ="n "> get_module</ span > < span class ="p "> (</ span >
597+ < span class ="c1 "> # config.yamlに登録したkey</ span >
586598 < span class ="s2 "> "KMeansPPSearch.Clustering"</ span > < span class ="p "> ,</ span >
599+ < span class ="c1 "> # 上記のkeyが登録されていなかった場合のデフォルトモジュール</ span >
587600 < span class ="s2 "> "adf_core_python.implement.module.algorithm.k_means_clustering.KMeansClustering"</ span > < span class ="p "> ,</ span >
588601 < span class ="p "> ),</ span >
589602 < span class ="p "> )</ span >
590603
604+ < span class ="c1 "> # クラスタリングモジュールの要録</ span >
591605 < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> register_sub_module</ span > < span class ="p "> (</ span > < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> _clustering</ span > < span class ="p "> )</ span >
592606
593607 < span class ="c1 "> # 探索したいエンティティIDのリスト(追加)</ span >
@@ -621,6 +635,9 @@ <h3>すでに探索したエンティティを再度探索対象として選択
621635 < span class ="c1 "> # 探索対象が未選択の場合(変更)</ span >
622636 < span class ="k "> if</ span > < span class ="ow "> not</ span > < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> _result</ span > < span class ="ow "> and</ span > < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> _search_entity_ids</ span > < span class ="p "> :</ span >
623637 < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> _result</ span > < span class ="o "> =</ span > < span class ="n "> random</ span > < span class ="o "> .</ span > < span class ="n "> choice</ span > < span class ="p "> (</ span > < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> _search_entity_ids</ span > < span class ="p "> )</ span >
638+
639+ < span class ="c1 "> # ログ出力</ span >
640+ < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> _logger</ span > < span class ="o "> .</ span > < span class ="n "> info</ span > < span class ="p "> (</ span > < span class ="sa "> f</ span > < span class ="s2 "> "Target entity ID: </ span > < span class ="si "> {</ span > < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> _result</ span > < span class ="si "> }</ span > < span class ="s2 "> "</ span > < span class ="p "> )</ span >
624641
625642 < span class ="k "> return</ span > < span class ="bp "> self</ span >
626643</ pre > </ div >
@@ -672,6 +689,11 @@ <h3>近くに未探索のエンティティがあるのに、遠くのエンテ
672689 < span class ="n "> nearest_entity_id</ span > < span class ="o "> =</ span > < span class ="n "> entity_id</ span >
673690 < span class ="n "> nearest_distance</ span > < span class ="o "> =</ span > < span class ="n "> distance</ span >
674691 < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> _result</ span > < span class ="o "> =</ span > < span class ="n "> nearest_entity_id</ span >
692+
693+ < span class ="c1 "> # ログ出力</ span >
694+ < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> _logger</ span > < span class ="o "> .</ span > < span class ="n "> info</ span > < span class ="p "> (</ span > < span class ="sa "> f</ span > < span class ="s2 "> "Target entity ID: </ span > < span class ="si "> {</ span > < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> _result</ span > < span class ="si "> }</ span > < span class ="s2 "> "</ span > < span class ="p "> )</ span >
695+
696+ < span class ="k "> return</ span > < span class ="bp "> self</ span >
675697</ pre > </ div >
676698</ div >
677699</ div >
0 commit comments