Skip to main content
QUICK REVIEW

[論文レビュー] The selection monad as a CPS transformation

Jules Hedges|arXiv (Cornell University)|Mar 20, 2015
Logic, Reasoning, and Knowledge参考文献 8被引用数 4
ひとこと要約

この論文は選択モナドを継続渡しスタイル(CPS)変換として確立し、そのcall/ccに類似した演算子を明らかにするとともに、ゲーム理論および証明理論におけるその有用性を示している。戦略的文脈が自然に継続として現れることを示し、選択関数を用いた構成的で人間が読みやすい再定式化によって、古典的解析を再解釈している。

ABSTRACT

A computation in the continuation monad returns a final result given a continuation, ie. it is a function with type $(X o R) o R$. If we instead return the intermediate result at $X$ then our computation is called a selection function. Selection functions appear in diverse areas of mathematics and computer science (especially game theory, proof theory and topology) but the existing literature does not heavily emphasise the fact that the selection monad is a CPS translation. In particular it has so far gone unnoticed that the selection monad has a call/cc-like operator with interesting similarities and differences to the usual call/cc, which we explore experimentally using Haskell. Selection functions can be used whenever we find the intermediate result more interesting than the final result. For example a SAT solver computes an assignment to a boolean function, and then its continuation decides whether it is a satisfying assignment, and we find the assignment itself more interesting than the fact that it is or is not satisfying. In game theory we find the move chosen by a player more interesting than the outcome that results from that move. The author and collaborators are developing a theory of games in which selection functions are viewed as generalised notions of rationality, used to model players. By realising that strategic contexts in game theory are examples of continuations we can see that classical game theory narrowly misses being in CPS, and that a small change of viewpoint yields a theory of games that is better behaved, and especially more compositional.

研究の動機と目的

  • 選択モナドとCPSの関係を明確にするために、それが継続渡しスタイルの洗練された形であることを示す。
  • 選択モナドにcall/ccに類似した演算子が存在するか、その性質と挙動を調査し、標準的なcall/ccと対比する。
  • 選択関数をゲーム理論における一般化された合理的性のモデルとして応用し、文脈依存的で古典的でない合理的なエージェントを可能にする。
  • 選択関数とCPSを用いて、ゲーム理論および証明解釈のための構成的でスケーラブルな枠組みを構築する。
  • モナド変換子と位相的構造を用いて、非決定的で無限、混合戦略のゲームへの選択モナドの応用を拡張する。

提案手法

  • 中間結果 $X$ を返すが最終結果 $R$ を返さないため、選択モナド $\mathscr{J}X = (X \to R) \to X$ をCPS変換として用いる。これは継続モナド $\mathscr{K}X = (X \to R) \to R$ と対照的である。
  • 特定の型を持つcall/ccに類似した演算子を選択モナドに導入し、標準的なcall/ccとは異なりつつも、制御フローの操作を可能にする。
  • 特にcall/ccに類似した演算子の挙動を調査するために、実験的Haskell実装を用いる。
  • 選択関数の積を用いてゲーム理論における後退帰納法をモデル化し、Spectorのバーレコールと同等であることを示す。
  • ストリング図とモノイダル圏に基づく図式的記法を用い、戦略的相互作用を表現する。合成とテンソル積は、区画された継続変換子によって定義される。
  • 同時に起こる非決定的ゲームをモデル化するための新しい「選択関数の和」演算子 $\oplus$ を導入し、純粋または混合戦略よりも解空間の構造が優れている。

実験結果

リサーチクエスチョン

  • RQ1選択モナドはどのようにCPS変換として機能し、標準的な継続モナドとは何が異なるのか?
  • RQ2選択モナドにおけるcall/ccに類似した演算子の性質と挙動は何か? そして、従来のcall/ccとはどのように異なるのか?
  • RQ3選択関数は、文脈依存的意思決定において、古典的でない合理的なエージェントをゲーム理論でモデル化できるか?
  • RQ4選択関数の積は、人間が読みやすいゲーム理論的枠組みで、古典的解析の証明を解釈するためにどのように利用できるか?
  • RQ5継続は戦略的文脈において果たす役割は何か? そして、CPSとモナド変換子を用いてどのように形式化できるか?

主な発見

  • 選択モナドは、最終結果 $R$ ではなく中間結果 $X$ を返すCPS変換であり、標準的な継続モナドに比べて計算の洗練された視点を提供する。
  • 選択モナドには、型と挙動が明確に異なるcall/ccに類似した演算子が存在し、標準的なcall/ccとは異なった制御フローの操作を可能にする。
  • 選択関数の積は、ゲーム理論における後退帰納法に対応し、Spectorのバーレコールと同等である。これにより、古典的証明から計算可能なプログラムを抽出できる。
  • 選択関数は、ゲーム理論における一般化された合理的性をモデル化でき、『Keynesエージェント』(期待される勝者に投票したい)や『パンク』(それを避けたい)といった文脈依存的エージェントを可能にする。
  • 「選択関数の和」演算子 $\oplus$ を用いることで、同時に起こる非決定的ゲームを、純粋または混合戦略よりも構造の整った解空間でモデル化できる。
  • ストリング図と区画された継続に基づく図式的記法は、shift/resetやコンパクト圏との類似性を示しながら、ゲーム理論の構成的枠組みを提供する。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。