口笛を吹いたのは誰ゲーム



  • ヤマネとその7匹の姪たちが、ある晩にゲームをしていた。

    姪たちは横1列に並び、その前に目隠しをされたヤマネが立つ。ヤマネは左耳に詰め物をされていて、右耳しか聞こえない。ヤマネは1列になった姪たちに右耳を向けて立つことになる。

    このとき姪のうち誰か1匹が口笛を吹いたとしても、ヤマネには誰が吹いたのかを耳では判別できない。聴覚による方向判断は封じられているというわけだ。

    姪たちは名前の順に横1列に立っている。ヤマネからみて向かって左からサンデイ、マンデイ、チューズデイ、ウエンズデイ、サーズデイ、フライデイ、サタデイである。ヤマネはこのことを知っている。

    ゲームの内容は次のようなものだ。

    (1)姪たちのうち1匹が口笛を吹く。
    (2)ヤマネは誰が口笛を吹いたのかについて予想しその名前を言う。
    (3)言い当てたならばその時点でヤマネの勝利。言い当てられなけらば、(1)で口笛を吹いた姪のすぐ隣の姪のうち1匹が口笛を吹いて(2)に戻る。(姪たちはヤマネの様子をみながら口笛を吹く者を選択する可能性がある。すなわち、サンデイかサタデイ以外が口笛を吹いた場合には、次に口笛を吹く可能性がある者は2匹いるが、どちらの1匹が吹くかについては、姪たちが戦略的に決定し、ヤマネが勝利しにくいように努めていく。)

    さて、口笛を吹かれる回数が有限回のうちにヤマネが必ず勝利するアルゴリズムはあるだろうか?
    また、その回数を可能な限り少なくしたいのだが良い方法はあるだろうか。


  • System

    先頭記事が更新されました。



  • @Hannibal さん
    ふむなんとなくもやもやと
    週末用のBayesian教材つくりに詰んで覗いてみると!(^^)!
    土日また授業(なんとZOOM:うまく行くかしらん(;'∀'))ですので終わってからゆっくり考えます。



  • Zoom思ったよりうまく行きましたが、思ったよりつかれました。
    休憩時間にMonty Hall問題出しましたら。甲論乙駁!(^^)!
    さてこれから考えます。当初の思い付きはペケ。
    一からスタートです。(;'∀')



  • 遠隔講義、お疲れさまでした。

    口笛を吹いたのは誰ゲームは7人バージョンの翻案なのですが、7人ならぬ1000人バージョンの原問題が20年ほど前にロシアで発生した模様です。(数学オリンピック)



  • ムズイ
    3人トリヴィアル
    4人簡単
    5人orz
    出直します。(;'∀')



  • 題意の確認が必要なのかもしれないとの恐怖を感じました。元となる問題を念のために書き記しておきます。

    タイトル|Hitting a Moving Target

    テーマ|あるコンピュータゲームにおいて猟師と動く獲物がいる。猟師は、直線に沿ったn個(n>1)のの隠れ場所のいずれかを撃つことができる。猟師は獲物を見ることができず、連続する2回の射撃の間に獲物がひとつ隣の隠れ場所へ(必ず)移動することしか知らない。獲物を撃ち取ることが保証できるアルゴリズムを設計せよ。



  • …オリジナルの問題においてはですね、大数の法則…いや違いますね…下手な鉄砲も数撃ちゃ当たる(故事ことわざ)を禁止していないのですね。そりゃあ試行回数を無限大にできれば…このもとで…確実にシュート可能…いや、いやいや駄目じゃん。

    実際には n個(n>1)の隠れ場所 に対応する簡単な関数の値で記述できる有限射撃数内で確実にシュートできるのです。



  • 情報ありがとうございます
    題意の取り違えはありません
    わからないだけです(;'∀')
    サロンに書きますが、影響力の高い方がミスダイレクションをやっているのを見つけました。トラックダウンを始めましたのでまたすこし以下Ry



  • 影響力の高い方対策お疲れ様です。

    ※昔、私も影響力の高い方(著名なプロだし著作も出している有名人)が盛大な間違いをしていたのでSNS上で半年間戦ったことがあります。次第にこの人の言うことのどこがどうおかしいのかが皆さんに周知されていき最期には取り巻きも含めて誰も支持できなくなりましたね。
    以後、私は闘争しなくなりました。疲れはてたのです。

    対偶もわからない、ベン図も描けない、けして自分の誤りを認めようとしない、この人のような人はどこにでもいるんですよね…

    この人、専門のジャンルではIT系某システムのSEであるばかりか、コミッターまでしているので、論理がわからないはずはないのですよ。

    トドメはその著作に書かれたサンプルプログラムでした。サンプルの目的は某脆弱性を回避する方法を例示するものでしたが、独自の実装をしていて定石からはずれていたのです。詳しく調べてみると回避しているはずの某脆弱性をまだ孕んでいたのでした。その事実を詳細ともども指摘したところ、断固として脆弱性の存在を否定なさいました。プログラムを読めていないだけだと言うのですね。そしてやがてこの人の取り巻きの人たちが当方が指摘した脆弱性の存在に同意した時点で、とんでもないことがおこったのです。著作について曰く、脆弱性が存在する練習プログラムを別途つくってあり、読者にはその脆弱性を指摘してもらう練習問題として用意していた、ところが著作のページ数の関係で記事を割愛することとなった。その際に、正しい実装のプログラムを残さずに誤った実装のプログラムを書籍に残してしまった…うんぬん。
    某研究不正論文の筆頭著者が早稲田に提出した論文が下書きであったと主張した件とよく似た言い訳でしてね。
    著作には誤りがつきものだし校訂だって大変だ、確かにそのことはわかります。
    しかしですね、プログラムソース全体をまるごと間違えることは正常ではありません。プログラムソースにはコメント行などでプログラムの目的などを書いておくのが普通ですし(たとえば間違い探し問題1など)、そもそも当方から斯斯然々な脆弱性があるとの細かい指摘をしたときに、この著者は「しまった、あのときに作った練習問題かも?」と気がつかなければいけません。要するに私は間違えない、脆弱性を作り込むことなどありえない、と言いたくてボーンヘッドの線でミスを認める卑怯な作戦を取ったわけですね。
    そんな卑怯さが、やり取りを見ていた皆さんにバレバレになってしまいましたので、この御仁の信頼は地に落ちました。

    思ったよりもエネルギーを使いましてコリゴリいたしました。



  • ①口笛を吹く代わりに手渡しできる小さな笛を1個用意しこれを吹くことにする。

    これで問題の本質に変更はありません。

    ②笛は7匹のうち1匹が持つ。その笛を吹いたら隣の姉妹に手渡す。

    これでも問題の本質に変更はありません。

    それでは隠し機能でヒントをば。

    ヒントはこちら

    設定変更をもうひとつ追加します。

    ③ゲームの最初に笛を吹くのがサンデイ、チューズデイ、サーズデイ、サタデイの場合には笛の色は赤である。
    ゲームの最初に笛を吹くのがマンデイ、ウエンズデイ、フライデイの場合には笛の色は青である。
    目隠しをされているヤマネには笛の色は見えない。

    これで問題の本質に変更はありません。

    以上のような設定変更をするとヒントがだしやすくなります。

    ヤマネはまず笛の色が青いことを想定してその可能性を全部つぶします。次に笛の色が赤いことを想定してその可能性を全部つぶします。
    以上の段取りの作業をしていけばその途中で笛を誰が吹いたのかについてを当てられるようになります。

    という珍しいヒントです。



  • 引用元と想定解とを隠し機能で記します。

    引用元と想定解

    まずは想定解をば。

    姪たちはサンデイ、マンデイ、チューズデイ、ウエンズデイ、サーズデイ、フライデイ、サタデイの順に並んでいる。

    ヤマネは次の順番で計10回、「口笛を吹いたのはホゲホゲだ!」と言えば、そのなかで必ず的中する。

    マンデイ、チューズデイ、ウエンズデイ、サーズデイ、フライデイ、フライデイ、サーズデイ、ウエンズデイ、チューズデイ、マンデイ

    図解を示すことで理解の助けとなるかもしれません。

    ○★○●○●○
    ・○★○●○●
    ○・○★○●○
    ・○・○★○●
    ○・○・○★○
    ・○・○・☆・
    ○・○・☆・・
    ・○・☆・・・
    ○・☆・・・・
    ・☆・・・・・

    各行は時間順になっている。一行につき一回口笛が吹かれる。

    ○や●は、口笛を吹く可能性のある者であり、☆や★は口笛を吹く可能性のある者であると同時にヤマネが予想を立てるターゲットである。

    一行目では最初に口笛を吹く者が奇数番目の者ならば○や☆であらわし、偶数番目の者ならば●や★であらわしている。
    二行目では前の行で○の者が口笛を吹いたときにこの行で口笛を吹く可能性のある者を○や☆で、前の行で●の者が口笛を吹いたときにこの行で口笛を吹く可能性のある者を●や★で、表している。以下の行でも同様である。
    「・」(ナカグロ)は、口笛を吹く可能性がない者を表す。

    最初に黒をつぶし次にシロをつぶしている。これがコツである。

    最後に引用元をば。
    Anany Levitin,Maria Levitin「アルゴリズムパズル ―プログラマのための数学パズル入門」

    私の姪は一撃だったので【謎】


Log in to reply
 

Looks like your connection to パズルハウス was lost, please wait while we try to reconnect.