ハンカチ落としの戦略最適化

 ハンカチ落としの戦略最適化

漫画「嘘喰い」に登場するハンカチ落としゲームを簡略化してナッシュ均衡戦略を計算します。

Fed6420561c9fe84d529ff2aa7b5c9aa?s=128

Katsuki Ohto

July 07, 2020
Tweet

Transcript

  1. ϋϯΧνམͱ͠ ͷઓུ࠷దԽ Katsuki Ohto
 Optimization Night #3
 LT

  2. ϋϯΧνམͱ͠ ➤ Ұൠతʹ͸…
 தఔ౓ͷਓ਺Ͱߦ͏
 ϨΫϦΤʔγϣϯήʔϜ ➤ ອըʮӕ͍ᷰʯಡऀʹ͸…
 ೋਓͰ໋ΛṌ͚ͯઓ͏ήʔϜ ϋϯΧνΛམͱ͢ํΛʮυϩοϓଆʯৼΓ޲͍ͯϋϯΧν͕མ ͪͨͷΛ֬ೝ͢ΔํΛʮνΣοΫଆʯͱ͠ɺަޓʹ୲౰͍ͯ͠

    ͘ɻਐߦʹ͸࣌ใΛར༻͢Δɻ1λʔϯ͸1෼ؒͱ͠ɺυϩοϓ ଆ͸ඞͣͦͷ࣌ؒ಺ʹམͱ͞ͳ͚Ε͹ͳΒͣɺνΣοΫଆ͸ඞͣ Ұ౓͚ͩৼΓ޲͔ͳ͚Ε͹ͳΒͳ͍ɻυϩοϓଆ͕ϋϯΧνΛ མͱͨ͠ॠ͔ؒΒνΣοΫଆͷʮ࠲ࢹͷࡍʯ͕ελʔτɺ༰ث ͷத֖͕։͖γϦϯμʔʹʮྟࢮༀʯ͕ཷ·͍ͬͯ͘ɻৼΓ޲͍ ͯϋϯΧν͕མ͍ͪͯΕ͹νΣοΫ੒ޭͱͳΓத֖͕ด͡Δ͕ ٯʹམ͍ͪͯͳ͚Ε͹ʮϖφϧςΟʯ͕ൃಈɻʮͦͷ࣌఺Ͱཷ ·͍ͬͯΔྟࢮༀʴ1෼ؒͰཷ·ΔྔʯΛͦͷ৔Ͱ஫ࣹʢγϦϯ μʔʹྟࢮༀ͕5෼ؒ෼ཷ·ͬͨ৔߹΋ଈ஫ࣹʣ͞ΕΔɻͦͯ͠ ຺ഥ͕ࢭ·ͬͨͷΛ֬ೝ͔ͯ͠Βʮྟࢮʯ͕ελʔτɻϖφϧ ςΟඵ਺ΛফԽͨ͠ΒྟࢮༀͱରʹͳΔ੒෼ͷʮોੜༀʯΛ஫ ্ࣹͨ͠Ͱ15ճݶఆͷ৺ଁϚοαʔδʢ໿10ඵؒ΄ͲʣΛߦ ͍ɺͦΕͰોੜͰ͖ͨΒήʔϜଓߦɺͰ͖ͳ͚Ε͹উෛ͋Γɻ Wikipedia ʮӕ͍ᷰʯΑΓ
  3. ؆ུԽϧʔϧ ➤ υϩοϓଆ
 …ϋϯΧνΛམͱ͢ଆ ➤ νΣοΫଆ
 …ৼΓฦΔଆ ➤ ࣌ࠁ T

    ඵؒ ➤ ϖφϧςΟʢ㲈ใुʣ
 ɾνΣοΫଆ͕མͱ͞Εͯ
 ɹ t ඵޙʹৼΓฦΔ… t
 ɾνΣοΫଆ͕ઌʹৼΓฦΔ
 ɹ… T ➤ ອըͰ͸ɺ͜ΕΛ෦෼ήʔϜͱͯ͠
 ܁Γฦ͢ཁૉ͕͋Δ͕ɺ
 ࠓճ͸͜ͷҰճͷήʔϜ͚ͩߟ͑Δ
  4. ಉ࣌
 ήʔϜ
 ͷੑ࣭

  5. ͡ΌΜ͚Μ ➤ άʔΛग़͢ઓུʹ͸
 ˠύʔΛग़͢ઓུ͕༗ޮ ➤ ύʔΛग़͢ઓུʹ͸
 ˠνϣΩΛग़͢ઓུ͕༗ޮ ➤ νϣΩΛग़͢ઓུʹ͸
 ˠάʔΛग़͢ઓུ͕༗ޮ


    ➤ ઓུ͕॥؀͠ɺৗʹ࠷దͳ
 ઓུ͕ఆ·Βͳ͍
 ὎ φογϡۉߧɹΛߟ͑Δ
  6. φογϡۉߧઓུ ➤ ยํͷϓϨΠϠ͕ࣗ෼͔Βख Λม͑ΔϝϦοτ͕ͳ͍ઓུ ʢͷ૊Έ߹Θͤʣ ➤ ғޟ΍কعͳΒউརखͲΕ͔ ҰͭΛબͿઓུͰOK ➤ ಉ࣌ήʔϜ


    ɾ͡ΌΜ͚Μ
 ෆ׬શ৘ใήʔϜ
 ɾϙʔΧʔɹɾຑ੃
 ͜ΕΒͷήʔϜͰ͸
 φογϡۉߧ͸֬཰తઓུ
  7. ઓུ࠷ద Խ

  8. ໨తؔ਺ ➤ ࣌ࠁ T+1 ·ͰԆ௕͠ɺνΣοΫଆɺυϩοϓଆ͕Կ΋͠ͳ͔ͬͨ৔߹ ͸࣌ࠁ T+1 ʹߦಈΛىͨ͜͜͠ͱʹ͢Δʢ݁ՌʹӨڹ͸ͳ͍ʣ ➤ ઓུ


    ࣌ࠁ i Ͱυϩοϓ͢Δ֬཰ ͨͩ͠ 
 ࣌ࠁ j ͰνΣοΫ͢Δ֬཰ ͨͩ͠ ➤ ϖφϧςΟͷظ଴஋
 Di T+1 ∑ i=1 Di = 1 Cj T+1 ∑ j=1 Cj = 1 R(C, D) = T+1 ∑ i=1 Di ( i−1 ∑ j=1 Cj T + T+1 ∑ j=i Cj (j − i)) T=1ͷͱ͖
 x = D1, y = C1ͱͯ͠
  9. ߆ଋ৚͖݅ͭͷఀཹ఺໰୊ ➤ ϖφϧςΟͷظ଴஋
 ➤ φογϡۉߧͰ͸ɺνΣοΫଆɺυϩοϓଆ
 ͱ΋ʹઓུΛมߋ͢ΔΠϯηϯςΟϒ͕ͳ͍ ➤ →֬཰ͷ࿨͕ 1ͱ͍͏
 ɹ߆ଋ৚͖݅ͭͷఀཹ఺໰୊

    ➤ →ϥάϥϯδϡͷະఆ৐਺๏Λར༻͢Δ R(C, D) = T+1 ∑ i=1 Di ( i−1 ∑ j=1 Cj T + T+1 ∑ j=i Cj (j − i)) T=1ͷͱ͖
 x = D1, y = C1ͱͯ͠
  10. ϥάϥϯδϡͷະఆ৐਺๏ ➤ ཱࣜ
 
 ➤ ల։
 
 ➤ ղऍ
 ͜ͷࣜ͸

    ͔ͭ ͱ΋ॻ͚Δ F = R(D, C) − γ( T+1 ∑ i=1 Di − 1) − λ( T+1 ∑ j=1 Cj − 1) ∂F ∂Dt = ∂F ∂Ct = ∂F ∂γ = ∂F ∂λ = 0 ∂F ∂Dt = t−1 ∑ j=1 Cj T + T+1 ∑ j=t Cj (j − t) − γ ∂F ∂Ct = t ∑ i=1 Di (t − i) + T+1 ∑ i=t+1 Di T − λ ∂R ∂Dt = const . ∂R ∂Ct = const .
  11. νΣοΫଆͷ઴Խࣜಋग़ ➤ υϩοϓଆͷ͔ࣜΒελʔτ
 
 
 
 ➤ ∂F ∂Dt =

    0 = ∂F ∂Dt+1 t−1 ∑ j=1 Cj T + T+1 ∑ j=t Cj (j − t) − γ = t ∑ j=1 Cj T + T+1 ∑ j=t+1 Cj (j − t − 1) − γ 0 = Ct T − T+1 ∑ j=t+1 Cj Ct = ∑T+1 j=t+1 Cj T
  12. υϩοϓଆͷ઴Խࣜಋग़ ➤ νΣοΫଆͷ͔ࣜΒελʔτ
 
 
 
 ➤ ∂F ∂Ct =

    0 = ∂F ∂Ct+1 t ∑ i=1 Di (t − i) + T+1 ∑ i=t+1 Di T − λ = t+1 ∑ i=1 Di (t + 1 − i) + T+1 ∑ i=t+2 Di T − λ Dt+1 T = t ∑ i=1 Di Dt+1 = ∑t i=1 Di T
  13. ܭࢉ݁Ռ·ͱΊ ➤ ➤ 
 ➤ ͜Ε͔Βͷ͔ࣜΒφογϡۉߧઓུ͕ఆ·Δ ➤ υϩοϓଆͱνΣοΫଆͰରশʹͳ͍ͬͯΔ
 ʢ͜͜͸ϖφϧςΟͷઃఆ࣍ୈʣ Dt+1

    = ∑t i=1 Di T T+1 ∑ i=1 Di = 1 Ct = ∑T+1 j=t+1 Cj T T+1 ∑ i=1 Ci = 1
  14. ઓུՄࢹ Խ

  15. φογϡۉߧઓུ ➤ T = 10 ͷ৔߹Λਤࣔ
 ➤ υϩοϓଆ͸ʮ͙͢མͱ͢ʯ
 νΣοΫଆ͸ʮৼΓ޲͔ͣʯ
 ͷ֬཰͕Ұ൪ߴ͍


    ➤ ͦΕҎ֎Ͱ͸֬཰͸ΏΔ΍͔ ʹมԽ
  16. ࿈ଓ֦࣌ؒு ➤ T = 100Ͱ͸୺ͷ֬཰͚ͩԼ͕ Βͣɺ͋ͱ͸0ʹ͍͍ۙͮͯΔ ➤ ήʔϜΛ࣌ࠁ 0 ~

    1 Ͱ࿈ଓత ʹ͢Δ֦ுΛߟ͑Δ ➤ ࿈ଓ֦࣌ؒுͰ͸ɺ
 υϩοϓଆʮ͙͢མͱ͢ʯ
 νΣοΫଆʮৼΓ޲͔ͣʯ
 ͷ֬཰ͷऩଋ஋͸ ➤ ͦΕҎ֎Ͱ͸؇΍͔ͳ֬཰ີ ౓͕ఆ·Δ 1 e
  17. ͓ΘΓʹ ➤ ͡ΌΜ͚Μͱಉ͘͡ɺ
 φογϡۉߧઓུʹରͯ͠ઓུΛมԽͤͯ͞΋ɺ
 ϖφϧςΟͷظ଴஋͸มԽͤͣɺฏۉҎ্উͭ͜ͱ΋ͳ͍ ➤ ͨͩ͠ɺφογϡۉߧΛ಄ʹೖΕ͓ͯ͘͜ͱͰɺ
 ઌʹࣗ෼ͷบΛόϥͣ͞ʹྫྷ੩ʹઓ͏͜ͱ͸Ͱ͖Δ ➤ ࠓճ͸͕ࣜ؆୯ͰखܭࢉͰ͖͕ͨɺෳࡶͳ৔߹͸ػցͰ࠷దԽ͍ͯ͘͠


    ৔߹΋͋Δ ➤ ໋ΛṌ͚ͯʢṌ͚ͳͯ͘΋ʣ
 ϋϯΧνམͱ͠Ͱઓ͏৔߹ʹ͸
 φογϡۉߧͷ͜ͱ΋ࢥ͍ग़ͯ͠ཉ͍͠Ͱ͢ɻ