Open5

[旧] Declarative AI

みつよしみつよし

Thoughts

  • Declarativeは互いに独立しているため、異なる思想で実装されていてもワークする
  • Process化されないもの
    • os
    • Screeps APIのwrapper
      • event handler
      • room resource
みつよしみつよし

インターフェース

親→子

  • 親をkillした際に子もkillするためにretainCountが必要

子→親

  • 子がfailした際に親に通知する方法が必要
  • 子が状態を達成した場合は親が通知を受け取る
    • 親は子の状態達成が通知されれば良いので、event handler→子→親の順で情報が届けば良い
    • 子→親はどうするか
    • Notification経由

Process→Declaration

  • 失敗理由を通知する必要がある
  • Notification経由

その他

  • 子Declaration/Process起動時にその機能が起動済みだった場合は既存をとってくる
    • maker経由で取得する or 起動リクエストを発行する
      • Notification Observingに指定するIDが返却される
みつよしみつよし

Notification

  • osの機能
  • Process/Declarationが発行/購読する
    • 発行/購読指定情報
      • イベントID required
      • フィルタ文字列 optional
みつよしみつよし

Memo

  • 事象が機械に観察可能である場合、エラーから学習ができる
    • 失敗を記憶する
      • 失敗したこと→失敗した内容→失敗した時点での状態
    • 原因を探す
      • まず敵対的なプレイヤーの関与を疑う