造語的述語のゲームセマンティクス


8

誰もが造語的述語のためのゲームのセマンティクスに関する作業を知っていますか?

造語的述語とは、述語自体が述語の本体で呼び出される述語であり、述語の意味を基礎となる定義の最大の固定点と見なしています。このような述語は、ストリーム、無限ツリー、ラベル付き遷移システムなどの無限データ構造にわたって定義されます。

非常に単純な例は次のとおりです(Haskellの場合):

data Cat = BlackCat | WhiteCat
data Stream a = Stream a (Stream a)

allBlacks :: Stream Cat -> Bool
allBlacks (Stream cat rest) = cat == BlackCat && allBlacks rest

すべての黒猫の流れを次のように定義できます。

blackCats :: Stream Cat
blackCats = Stream BlackCat blackCats

コインダクションを使用して証明:

allBlacks blackCats

完全に展開されていると想像するだけで、造語的述語を無限結合または分離として考えることができます。この設定でのゲームのセマンティクスは簡単です。無限結合の場合、Falsifierは、ゲームに勝利するために、どの接続詞を改ざんするかを選択する必要があります。無限の選言の場合、ベリファイアは、ゲームに勝つために満足する選言を選択する必要があります。

そこ無限の組み合わせや論理和としてそれを検討する際に無視されcoinductive述語「評価する」で自然な順序は、しかし、である、と私は、この順序は、ゲーム意味論で捕獲されたいつまりそれによってゲームが進行遊んそれぞれを次に、選言/選言。

私が持っているもう1つの問題は、述部の無限の性質を取り込むために使用する勝利条件を理解することです。あるいは、素人の言葉で言えば、この黒い猫の無限の流れの中に、白い猫がいないことをどうやって知ることができるのでしょうか。

追加の例

次のデータ型を検討します(これもHaskellにあります)。

data Tree a = Tree (a -> Maybe (Tree a))

Tree Aファンクタの最大固定点に対応します。Fバツ=バツ+1

現在、いくつかの関係があることを前提と。これは本質的な意味を持たず、次の造語的な述語を定式化するためにのみ使用されます。Rと考えるだけで十分です。R:⊆×R

以下coinductive述語検討×(corecursively定義されます)coversTree A×Tree A

coversαβ= a もし αa その後 bB そのような aRb そして βb そして coversαaβb

そのような述語をゲーム理論的なセマンティクスで表現するための形式主義を探しています。既存の作品へのリンクをいただければ幸いです。私の頭をうまく動かすのに苦労している主なものは、勝利の状態です(以下のコメントのいくつかで説明されています)。ゲームは永遠に続きますが、無限のプレイは引き分けにはなりません。


あなたはすでにバイシミュレーションへのゲームの意味論的アプローチを見てきましたか?これらを使用すると、基本的にVerifierは、プレイが無限の場合、つまりFalsifierが彼女をつまずくことができなかったときに正確に勝利します。
Marc Hamann、2009

確かに、Colin SterlingのBisimulation、Model Checking、およびその他のゲームは、私を助けるはずです。彼の著書「プロセスのモーダルおよびテンポラルプロパティ」には同様の資料がありますが、詳細はあまり詳しくありません。
デイブクラーク

回答:


4

Barwise and MossによるVicious Circlesは、代数的/共帰納的推論の宝庫であり、共帰納的ゲームに関する資料が含まれています。

それがあなたの特定のニーズに役立つかどうかはわかりませんが、この推論の行のインスピレーションの源となるかもしれません。

編集(x2):

私はあなたが変更に従うことができると思いEhrenfeucht-Fraïsséのこのようなスタイルのアプローチを:偽証者はストリーム/和/組み合わせから任意の項目を選択するようになります。 次に検証者は、そのようなアイテムは黒猫でなければならないことを示さなければなりません。

(有限の造成ルールのセットの一般性を失うことなく、Falsifierに順序または選択肢の数の制限を課すことができます。)

あなたはベースケースなしでちょうど誘導などcoinductionを考えるなら、それは明らかであることのみ(共)誘導ルールあなたが持っblackCatsているcat == BlackCatので、個々の猫は、そのストリームで他に何だろうか?Falsifierが選択する猫はすべてそのルールに準拠する必要があるため、Verifierが優先されます。

明らかに、これはより多くの複雑なコインダクティブルールに拡張され、Verifierの「課題」は、Falsifierが選択するアイテムに適切なルールを選択することになります。

Colin SterlingのBisimulation、Model Checkingおよびその他のゲームは、あなたを助けるはずです。彼の著書「プロセスのモーダルおよびテンポラルプロパティ」には同様の資料がありますが、詳細はあまり詳しくありません。


マークありがとう。この本には確かに助けになる資料がいくつかあります。まあ、いくつかより。
デイブクラーク

「マーク」と言うつもりだった。
デイブクラーク

マルク、ありがとう。回避したい問題は、Falsifierがストリームの真ん中にジャンプして反例を見つけることができるようにすることです。彼らは段階的にゲームをプレイする必要があります。私が足りないのは勝ち方です。私の例は小さすぎることがわかりました。もう少し大きいものを考えます。
Dave Clarke

かっこ内のコメントで触れたように、Falsifierがストリームの先頭を選択することを主張できます。その場合は、おそらく彼がプレイするターン数をkに選ばせたいでしょう。次に、検証者の仕事は、すべてのkについて、常に黒さを検証できることを示すことです。しかし、あなたがすでに考えているかもしれないことであなたを爆撃するのではなく、あなたの拡張された例を楽しみにしています。;-)
マルクハマン

1

nitpickとして、あなたは意味data Stream a = ...ではなくdata Stream a :: ...

allBlacksは半決定的な述語にすぎないため、BlackCatをプレイし続けることで終了しないゲームにつながる戦略があります。ドメイン理論の観点からは、ストリームから要素を消費しても情報が増加しないため、計算は生産的ではありません。そのため、この述語は実際には共和的であるとは言えないと思いますか?私の疑いは、これが勝利条件に関するあなたの混乱の根底にあるものであるということです:無期限のストールは引き分けです。


コードを修正しました。この述語のゲームを完全に指定することは可能だと思いますが、詳細はわかりません。いずれにせよ、あなたの疑問のいくつかを質問に組み込みます。
Dave Clarke


これは常に正しいとは限りません。私が理解しているように、ブッチ、ミュラー、ラビン、ストリートのさまざまな受け入れ条件とパリティ条件はすべて、無限のゲームを決定させます。つまり、ドローはありません。私はまだこれらの概念を理解するようになっていますが、認めます。
Dave Clarke

通常、無限ゲームは、一方のプレイヤー(通常はEloise、Duplicator、Verifierとして知られているプレイヤーがあなたのピックを選ぶ)が勝つ限り、相手のプレイヤーが勝った場合に他のプレイヤーに応答して常に有効な動きをすることができるように定義されています。彼女をブロックすることができます。バイシミュレーションのゲームセマンティクス、またはチューリングのオリジナルの「円のない」TMの概念のゲームセマンティクスを考えてみてください。これが、「勝つ」の有用で意味のある概念であることがわかります。
マルクハマン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.