1 / 25

値渡しのゲームの圏における 深さ優先戦略について

値渡しのゲームの圏における 深さ優先戦略について. 産業技術総合研究所 システム検証研究ラボ 松岡聡. ゲーム意味論とは ( 歴史). もともとは線型論理の意味論 (Blass, Abramsky & Jagadeesan) 高階のプログラミング言語についての意味論 (Abramsky 一派、 Hyland & Ong). 値渡しゲームの圏 CBV. 本田と吉田による Hyland & Ong のポインター・名前渡しゲームの圏の変種. 値渡しゲームの圏の重要性. C 言語は値渡しである ソフトウェア検証に応用を持つ

wilton
Télécharger la présentation

値渡しのゲームの圏における 深さ優先戦略について

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 値渡しのゲームの圏における深さ優先戦略について値渡しのゲームの圏における深さ優先戦略について 産業技術総合研究所 システム検証研究ラボ 松岡聡

  2. ゲーム意味論とは(歴史) • もともとは線型論理の意味論 (Blass, Abramsky & Jagadeesan) • 高階のプログラミング言語についての意味論 (Abramsky一派、Hyland & Ong)

  3. 値渡しゲームの圏CBV • 本田と吉田による • Hyland & Ong のポインター・名前渡しゲームの圏の変種

  4. 値渡しゲームの圏の重要性 • C言語は値渡しである • ソフトウェア検証に応用を持つ 1階のプログラムならばプログラムを正確に意味を保存しつつオートマトンに変換できる • 合成で閉じている(プログラムモジュールごとに検証可能)

  5. int succ(int x) { return x+1; } 値渡しゲームの圏における意味 私 敵 私 私はsuccにいる int nを渡す nをもらってn+1を返す

  6. 例2 int foo (int bar(int)) { return succ(bar(5)); } 値渡しゲームの圏における意味 私 敵 私 敵 私 barにいる 5を敵に渡す succ(bar(5))を返す fooにいる bar(5) を返す

  7. アリーナ(ゲーム盤) 例 nat= ω nat nat->nat = nat nat=>nat ここでnat=>natはsingleton {*}

  8. アリーナ(ゲーム盤) nat nat nat nat nat nat nat nat nat nat=>nat nat nat=>nat nat (nat=>nat)=>nat nat=>nat nat=>nat (nat=>nat)=>nat=>nat nat=>nat (nat=>nat)=>(nat=>nat)=>nat nat (nat=>nat)=>(nat=>nat)=>nat=>nat ((nat=>nat)=>(nat=>nat)=>nat=>nat)=>(nat=>nat)=>(nat=>nat)=>nat (((nat=>nat)=>(nat=>nat)=>nat=>nat)=>(nat=>nat)=>(nat=>nat)=>nat)=>nat

  9. ポラリティ nat nat nat nat nat nat nat nat nat nat=>nat nat nat=>nat nat (nat=>nat)=>nat nat=>nat nat=>nat (nat=>nat)=>nat=>nat nat=>nat (nat=>nat)=>(nat=>nat)=>nat nat (nat=>nat)=>(nat=>nat)=>nat=>nat ((nat=>nat)=>(nat=>nat)=>nat=>nat)=>(nat=>nat)=>(nat=>nat)=>nat (((nat=>nat)=>(nat=>nat)=>nat=>nat)=>(nat=>nat)=>(nat=>nat)=>nat)=>nat

  10. プルーフネット 例 nat nat nat nat nat nat nat nat nat nat=>nat nat nat=>nat nat (nat=>nat)=>nat nat=>nat nat=>nat (nat=>nat)=>nat=>nat nat=>nat (nat=>nat)=>(nat=>nat)=>nat nat (nat=>nat)=>(nat=>nat)=>nat=>nat ((nat=>nat)=>(nat=>nat)=>nat=>nat)=>(nat=>nat)=>(nat=>nat)=>nat (((nat=>nat)=>(nat=>nat)=>nat=>nat)=>(nat=>nat)=>(nat=>nat)=>nat)=>nat

  11. 戦略τ(その1) nat nat 13 nat 12 nat nat nat 8 nat nat 10 nat 11 nat=>nat nat nat=>nat 7 nat 9 (nat=>nat)=>nat nat=>nat 6 nat=>nat (nat=>nat)=>nat=>nat 5 nat=>nat 4 (nat=>nat)=>(nat=>nat)=>nat nat (nat=>nat)=>(nat=>nat)=>nat=>nat 3 ((nat=>nat)=>(nat=>nat)=>nat=>nat)=>(nat=>nat)=>(nat=>nat)=>nat 2 (((nat=>nat)=>(nat=>nat)=>nat=>nat)=>(nat=>nat)=>(nat=>nat)=>nat)=>nat 1

  12. 戦略τ(その2) nat nat nat nat nat nat nat 17 nat nat nat=>nat nat 16 nat=>nat nat (nat=>nat)=>nat nat=>nat nat=>nat 15 (nat=>nat)=>nat=>nat nat=>nat (nat=>nat)=>(nat=>nat)=>nat 14 nat (nat=>nat)=>(nat=>nat)=>nat=>nat 3 ((nat=>nat)=>(nat=>nat)=>nat=>nat)=>(nat=>nat)=>(nat=>nat)=>nat 2 (((nat=>nat)=>(nat=>nat)=>nat=>nat)=>(nat=>nat)=>(nat=>nat)=>nat)=>nat 1

  13. 戦略τ(その3) nat 21 nat nat nat 20 nat nat nat nat nat nat=>nat 19 nat nat=>nat nat (nat=>nat)=>nat 18 nat=>nat nat=>nat 15 (nat=>nat)=>nat=>nat nat=>nat (nat=>nat)=>(nat=>nat)=>nat 14 nat (nat=>nat)=>(nat=>nat)=>nat=>nat 3 ((nat=>nat)=>(nat=>nat)=>nat=>nat)=>(nat=>nat)=>(nat=>nat)=>nat 2 (((nat=>nat)=>(nat=>nat)=>nat=>nat)=>(nat=>nat)=>(nat=>nat)=>nat)=>nat 1

  14. 戦略τ(その4) nat nat nat nat nat 22 nat nat nat nat nat=>nat 19 nat nat=>nat nat (nat=>nat)=>nat 18 nat=>nat nat=>nat 15 (nat=>nat)=>nat=>nat nat=>nat (nat=>nat)=>(nat=>nat)=>nat 14 nat 23 (nat=>nat)=>(nat=>nat)=>nat=>nat 3 ((nat=>nat)=>(nat=>nat)=>nat=>nat)=>(nat=>nat)=>(nat=>nat)=>nat 2 (((nat=>nat)=>(nat=>nat)=>nat=>nat)=>(nat=>nat)=>(nat=>nat)=>nat)=>nat 1

  15. 別のアリーナ(ゲーム盤) 例 nat nat nat nat nat nat nat=>nat nat nat nat=>nat nat=>nat nat nat nat (nat=>nat)=>nat (nat=>nat)=>nat=>nat nat=>nat nat=>nat (nat=>nat)=>(nat=>nat)=>nat (nat=>nat)=>(nat=>nat)=>nat=>nat ((nat=>nat)=>(nat=>nat)=>nat=>nat)=>(nat=>nat)=>(nat=>nat)=>nat

  16. ポラリティ 例 nat nat nat nat nat nat nat=>nat nat nat nat=>nat nat=>nat nat nat nat (nat=>nat)=>nat (nat=>nat)=>nat=>nat nat=>nat nat=>nat (nat=>nat)=>(nat=>nat)=>nat (nat=>nat)=>(nat=>nat)=>nat=>nat ((nat=>nat)=>(nat=>nat)=>nat=>nat)=>(nat=>nat)=>(nat=>nat)=>nat

  17. プルーフ・ネット 例 3 nat nat nat nat nat nat nat->nat nat nat nat=>nat nat->nat nat nat nat (nat=>nat)=>nat (nat->nat)->nat->nat nat=>nat nat->nat (nat->nat)->(nat->nat)->nat (nat->nat)->(nat->nat)->nat->nat ((nat->nat)->(nat->nat)->nat->nat)->(nat->nat)->(nat->nat)->nat

  18. 戦略σ1(pλ(-)を使った)(その1) nat nat nat nat nat nat nat=>nat nat 10 nat nat=>nat 19 nat=>nat nat 17 nat 9 nat 16 (nat=>nat)=>nat 18 (nat=>nat)=>nat=>nat nat=>nat 15 nat=>nat 4 (nat=>nat)=>(nat=>nat)=>nat 14 (nat=>nat)=>(nat=>nat)=>nat=>nat 3 ((nat=>nat)=>(nat=>nat)=>nat=>nat)=>(nat=>nat)=>(nat=>nat)=>nat 2

  19. 戦略σ1(pλ(-)を使った)(その2) nat nat 12 nat 21 nat nat 11 nat 20 nat=>nat nat nat nat=>nat 19 nat=>nat 6 nat nat nat (nat=>nat)=>nat 18 (nat=>nat)=>nat=>nat 5 nat=>nat 15 nat=>nat 4 (nat=>nat)=>(nat=>nat)=>nat 14 (nat=>nat)=>(nat=>nat)=>nat=>nat 3 ((nat=>nat)=>(nat=>nat)=>nat=>nat)=>(nat=>nat)=>(nat=>nat)=>nat 2

  20. 戦略σ1(pλ(-)を使った)(その3) nat 13 nat nat nat8 nat nat nat 22 nat=>nat 7 nat nat=>nat 19 nat=>nat 6 nat nat nat (nat=>nat)=>nat 18 (nat=>nat)=>nat=>nat 5 nat=>nat 15 nat=>nat 4 (nat=>nat)=>(nat=>nat)=>nat 14 (nat=>nat)=>(nat=>nat)=>nat=>nat 3 ((nat=>nat)=>(nat=>nat)=>nat=>nat)=>(nat=>nat)=>(nat=>nat)=>nat 2

  21. 戦略σ2(pλ’(-)を使った)(その1) nat nat nat nat nat nat nat=>nat nat 10 nat nat=>nat nat=>nat nat 17 nat 9 nat 16 (nat=>nat)=>nat (nat=>nat)=>nat=>nat nat=>nat 15 nat=>nat 4 (nat=>nat)=>(nat=>nat)=>nat 14 (nat=>nat)=>(nat=>nat)=>nat=>nat 3 ((nat=>nat)=>(nat=>nat)=>nat=>nat)=>(nat=>nat)=>(nat=>nat)=>nat 2

  22. 戦略σ2(pλ’(-)を使った)(その2) nat nat 12 nat 21 nat nat11 nat20 nat=>nat nat nat nat=>nat19 nat=>nat 6 nat nat nat (nat=>nat)=>nat 18 (nat=>nat)=>nat=>nat 5 nat=>nat 15 nat=>nat 4 (nat=>nat)=>(nat=>nat)=>nat 14 (nat=>nat)=>(nat=>nat)=>nat=>nat 3 ((nat=>nat)=>(nat=>nat)=>nat=>nat)=>(nat=>nat)=>(nat=>nat)=>nat 2

  23. 戦略σ2(pλ’(-)を使った)(その3) nat 13 nat nat nat 8 nat nat nat 22 nat=>nat 7 nat nat=>nat 19 nat=>nat 6 nat nat nat (nat=>nat)=>nat 18 (nat=>nat)=>nat=>nat 5 nat=>nat 15 nat=>nat 4 (nat=>nat)=>(nat=>nat)=>nat 14 (nat=>nat)=>(nat=>nat)=>nat=>nat 3 ((nat=>nat)=>(nat=>nat)=>nat=>nat)=>(nat=>nat)=>(nat=>nat)=>nat 2

  24. ゲームのプレー σ1とτによるプレー σ2とτによるプレー

  25. いままでわかったこと • pλ(-)を使った戦略は通常の値渡しの戦略であるが、pλ’(-) を使った戦略も、ある種の値渡しの戦略に対応している

More Related