パスワードを忘れた? アカウント作成

「じゃんけんゲーム」のロジックに対する意見の相違で兄弟げんか」記事へのコメント

  • 論理的には同等でも、感性的・美学的な違いというものがあります。世間やネットで流通しているのはめちゃくちゃ古い美学の定義なのでみんな知らないが、今日においては感性的な判断すべてが美学の対象になります。
    for(;;){...}とwhile(true){...}のどちらを好むのかもそうですね。open_fileとopenFileとOpenFileの違いもそう。
    みんな感性的な判断をプログラムのロジックと区別せず説明しようとするから混乱するのです。

    • by Anonymous Coward

      論理的に同等ではないだろう。
      乱数の種を起動時の time() で与えるというようなよくある実装の場合、理論上は乱数をすべて予想することができる。
      あるいはサイドチャネル攻撃で、現在の乱数生成器の状態を知ることも理論上不可能ではない。
      そのとき、次男方式ではプレイヤーが常勝できるが、長男方式では 1/3 しか勝てない。

      • by Anonymous Coward

        感性と論理を区別できない負けず嫌いのバカは、論理的な差が出るまでいくらでも非現実的な前提を付け加えます。
        この人に限らす、よく見られることです。

        • by Anonymous Coward on 2020年07月30日 22時24分 (#3861956)

          いえ、割と現実的な前提ですよ。

          悪名高いCのrand()関数どころか、メルセンヌツイスター辺りのすばらしい乱数でも、
          「暗号・セキュリティ用途には使うな」とマニュアルに明記されているんですよ。
          「乱数の列から次の値やシードを推測する」ような逆計算への耐性は考慮して設計されていないから、と。

          ということは、サイドチャネル攻撃まで仕掛けなくても、プレイしているうちにシードを絞り込めて、
          ある程度のプレイ回数より後は勝ち続けられる可能性があります。
          カジノで朝から晩までずーっと眺めていた数学者が夕方以降、店が閉まるまで連勝し続けるとか、
          そういう危険性があるので、カジノのオーナーとしては兄バージョンを採用した方が気が楽でしょうね。

          ちなみに、ちらっと調べたところだとメルセンヌツイスターのシードは19936ビット。
          グー著キーパーの1/3で絞り込んでいくと、確定に必要な期待値はlog2/log3倍して、12578回ぐらい。
          …サイドチャネル攻撃の方が現実的かも。

UNIXはただ死んだだけでなく、本当にひどい臭いを放ち始めている -- あるソフトウェアエンジニア

処理中...