「二つの頭(=複数の視点)が一つより優れているのでしょうか?」

2026/01/14 1:22

「二つの頭(=複数の視点)が一つより優れているのでしょうか?」

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

要約

コイントスの結果を時折だけ報告する人々がいる場合、報告者数が奇数であると予測精度が向上し、さらに1人追加して偶数にすると追加効果は得られないという点が主旨です。

シミュレーションと解析的な検証から次のように示されています:正直な友人(80 % 正解率)を1人だけ持つ場合、2人目を加えても精度は80 %のままであり、合意しても不一致が相殺されるため利益がありません。3人目が参加すると精度は90 %に上昇し、4人目が加わると再び90 %に戻ります。このパターンは奇数回報者ごとに繰り返されます。

この発見はコンドルセートの陪審理論を反映しており、偶数規模のグループでは多数決が引き分けになる可能性があるため、新たな情報を提供しないことを説明しています。著者は、創造的執筆プロジェクトを開催するプログラミングリトリート「Recurse Center」でベッティングシミュレーションを実行している際にこの現象に気付きました。

今後の研究では、この傾向がより複雑な投票設定や大規模グループでも維持されるかどうかを検証することが期待されます。グループサイズと偶奇性が意思決定品質に与える影響を理解することで、クラウドソーシングサイト、陪審制度、または人間の判断を集約するあらゆるプラットフォームの設計者が、不必要な偶数参加者を追加しないよう助けることができます。

本文

3 人の頭は確かにもっと楽しい
2025 年 12 月 9 日


あなたは、嘘つきの友人アリスとボブとゲームをしています。

ボブがコインを投げてアリスに見せます。アリスはそれを見た結果を教えてくれますが、20 % の確率で嘘をつきます。その後、あなたはコインが表か裏かを推測します。

最善の戦略は「アリスが言ったことを信じる」ことです。そうすると 80 % 正解できます。


ところでボブも参加します

彼はアリスとは独立に決め、同様に 20 % の確率で嘘をつきます¹

  1. あなたの友人たちはすべて嘘つきです!

「アリスを信じる」だけで 80 % 正解できました。
ボブの助けがあれば、どれだけ改善できるでしょうか?


空白(自分で考えてみてください)

以下に答えを書きますので、自分で計算してみてください。


数学的に検証

実際にシミュレーションを行います。コインを 100 万回投げ、友人たちが言ったことを記録し、結果を観察します。

戦略
「ある事実パターン(例:『アリスは表と言った』)に対して最も確率の高い結論(コインは表か裏か)を選びます」²

  1. ボブとアリスが独立に決め、敵対的ではない場合、「最も確率が高い結果」を推測することは最適です。
    ただしゲームが敵対的であればもっと難しい問題になるかもしれません。

以下はシミュレーションコード(Python)です。まず簡単なケース(アリスだけ)のみを扱います:

# heads.py

from random import random
from collections import defaultdict

table = defaultdict(lambda: [0, 0])
LYING_PROB = 0.2
LYING_FRIENDS = ["Alice"]
ITERATIONS = 1_000_000

for _ in range(ITERATIONS):
    is_heads = random() > 0.5
    keys = []
    for lying_friend in LYING_FRIENDS:
        lied = random() < LYING_PROB
        answer = None
        if is_heads: answer = "T" if lied else "H"
        else: answer = "H" if lied else "T"
        keys.append(f"{lying_friend[0]}:{answer}")

    key = ", ".join(keys)

    table_idx = 0 if is_heads else 1
    table[key][table_idx] += 1

total_times_we_are_right = 0
for key, (times_heads, times_tails) in table.items():
    total = times_heads + times_tails
    heads_chance = 100 * round(times_heads / total, 2)
    tails_chance = 100 * round(times_tails / total, 2)
    pattern_chance = 100 * round(total / ITERATIONS, 2)

    print(f"{key} - chances -  H {heads_chance:4}% | T {tails_chance:4}% | occurs {pattern_chance}% of the time")

    # We look at key, and guess whichever outcome is more likely. So we're right, on average,
    # the max of times_heads and times_tails
    total_times_we_are_right += max(times_heads, times_tails)

accuracy = round(total_times_we_are_right / ITERATIONS, 2)
print(f"\nOur accuracy: {100*accuracy}%")

実行結果は次のようになります:

A:T - chances -  H 20.0% | T 80.0% | occurs 50.0% of the time
A:H - chances -  H 80.0% | T 20.0% | occurs 50.0% of the time

Our accuracy: 80.0%

ボブを加えるとどうなる?

ボブも同じ確率で嘘をつくので、以下のような結果になります:

A:T, B:T - chances -  H  6.0% | T 94.0% | occurs 34.0% of the time
A:H, B:T - chances -  H 50.0% | T 50.0% | occurs 16.0% of the time
A:H, B:H - chances -  H 94.0% | T  6.0% | occurs 34.0% of the time
A:T, B:H - chances -  H 50.0% | T 50.0% | occurs 16.0% of the time

Our accuracy: 80.0%

ちょっと不思議に見えるでしょう。実際には、ボブが参加することで「引き分け」―つまりアリスとボブが異なる答えを出すケース―が生まれます。

  • 多くの場合(約 94 %)は両者が同じ答えを言い、ほぼ確実に真実です。
  • しかし時折(32 %程度)はアリスとボブが対立します。この場合は情報がまったく無いので、ランダムに推測するしかありません。

「Go Ask Alice」についての疑問

中学校で「Go Ask Alice」を読んだ経験はありますか?
以下で詳細を示し、計算を再確認しましょう。

コインが表だった場合の各ケース

事象アリスの行動ボブの行動発生確率推測正解率
両者真実H (80 %)H (80 %)(0.8 \times 0.8 = 64%)100 %
両者嘘T (20 %)T (20 %)(0.2 \times 0.2 = 4%)0 %
アリス真実、ボブ嘘H (80 %)T (20 %)(0.8 \times 0.2 = 16%)50 %
アリス嘘、ボブ真実T (20 %)H (80 %)(0.2 \times 0.8 = 16%)50 %

合計正解確率は
(64% + \frac{16}{2}% + \frac{16}{2}% = 80%)。

つまり、ボブが同意したときの追加情報は、対立したときの不利なケースで完全に打ち消されます。


チャーリー(そしてデイビッド)の登場

さらにチャーリー(嘘率 20 %)を加えると、対立が解消できるため精度が向上します:

A:H, B:H, C:H - chances -  H 98.0% | T  2.0% | occurs 26.0% of the time
A:T, B:T, C:T - chances -  H  2.0% | T 98.0% | occurs 26.0% of the time
A:T, B:H, C:H - chances -  H 80.0% | T 20.0% | occurs 8.0% of the time
...(他の組み合わせも同様に計算)
Our accuracy: 90.0%

しかしデイビッドをさらに加えると、偶数人数の場合は「2‑2」の引き分けが生じ、精度は再び 90 % に戻ります。
つまり、友人の人数が奇数なら精度向上しますが、偶数に増やすと改善しません。


この現象には名前がありますか?

私の知る限り、特定の名前はありません。しかし投票理論では類似した概念が存在します。
Condorcet の陪審員定理(Jury Theorem)は、以下を述べています:

規模 N の独立な投票者がいて、それぞれ正解に賛成する確率 (P > 0.5) のとき、過半数で決定すると、N を増やすほど正しい決定を下す確率は 100 % に近づく。

この理論の証明では「偶人数の場合」について特別に扱わないことが多いです。なぜなら、偶人数だと過半数が存在せず情報量が増えないからです。


なぜ書いたか

私はより複雑な問題をシミュレートしている途中でこの結果に遭遇しました。最初はコードのバグだと思っていましたが、手計算で検証すると驚くべき結論にたどり着きました。

賭け事では「情報量が増えるほど期待値も上がる」と直感的に思いがちですが、投票のような二項決定問題ではそうはならないという点が興味深かったです。

実際、この話題を The Recurse Center(プログラマー向け作家リトリート)で友人と議論したこともあります。もしこのブログに興味を持たれたら、ぜひご応募ください!


同じ日のほかのニュース

一覧に戻る →

2026/01/14 5:45

**ゲームズ・ワークショップ、スタッフのAI使用を全面禁止 経営陣はテクノロジーに興味津々でない** - 同社は従業員が業務上人工知能ツールを利用することを一律で禁じる方針を採用しました。 - 経営層は知的財産の安全性や創造的コントロールへの影響を懸念していると述べています。 - 業界内では注目が集まっても、上級経営者はAIがデザイン・生産フローに与えるメリットに対し慎重な姿勢を保ち続けています。

## Japanese Translation: **改善された概要** Games Workshop は、コンテンツ制作と設計プロセスにおける生成型 AI ツールの使用を正式に禁止しました。この方針では、厳格な監視下で数名の上級マネージャーのみが AI を実験できるようになっていますが、その可能性についてはまだ誰も興奮していません。外部コンペティションへの参加を含む不正使用は禁止されており、企業はデータ準拠・セキュリティ・ガバナンスを監視し、AI/ML エンジンがデバイスに自動インストールされるのを防止する必要があります。 GW の禁止措置は知的財産権を保護し、人間クリエイターを尊重するとともに、上級スタッフによる限定的な調査を許可しています。この決定は、より広い文脈の中で行われました。GW は *Warhammer 40,000* や *Age of Sigmar* などのフラッグシップテーブルトップタイトルを所有し、高品質のコデックス本・ミニチュア・アニメーションを販売しており、最近は新規採用で Warhammer Studio を拡大しました。Displate の作品に関する最近の紛争―Displate がそのアートワークが AI によって生成されたと否定し、「赤旗」を人為的なミスに帰せたケース―は、ファンが生成型 AI アートに対して反発していることを示しています。特に Warhammer の美学に大きな影響力を持つアーティスト John Blanche の存在がその背景にあります。 今後も GW はデータ準拠とセキュリティの監視を継続します。上級マネージャーは AI の可能性を探るかもしれませんが、内部方針の変更や外部圧力が変わらない限り、広範な採用は見込めません。この禁止措置により GW は Genvid、EA、Square Enix など AI を積極的に導入している競合他社に比べて遅れを取ることになり、ゲーム開発の競争ダイナミクスが変わる可能性があります。これは生成型 AI の統合に対する業界全体の慎重な姿勢を反映しています。

2026/01/14 2:10

**チューリップ・クリエイティブ・コンピュータ** - 芸術と技術のユニークな融合 - 革新的なビジュアル体験を設計 - 鮮やかなカラーパレットと最先端ハードウェアを組み合わせる

## 日本語訳: **Tulip CC** は低電力で手頃な価格のセルフコンテインドポータブルコンピュータで、オープンソースの音楽ワークステーションとしても機能します。ESP32‑S3マイクロコントローラを中心に構築され、MicroPython を実行し、AMY ステレオ 120 ボイスシンセサイザーエンジン(加法/減法/F‑M 合成、サンプラー、Karplus–Strong、アナログフィルタ、シーケンサー、ドラムマシン、パッチエディタ)とキャパシティブ・マルチタッチ対応のタッチスクリーンディスプレイを備えています。 デバイスは 8.5 MB の RAM(MicroPython 用 2 MB、OS 用 1.5 MB、残りがグラフィックスフレームバッファ)と 32 MB のフラッシュ(うち 24 MB が使用可能)、Wi‑Fi、USB キーボード/マウス/MIDI、I²C/Grove/Mabee コネクタをセンサーや周辺機器用に搭載し、組み込みの pico/nano スタイルエディタ(構文ハイライトと REPL)も備えています。グラフィックスは LVGL によって処理されます:テキストフレームバッファ 128 × 50(ANSI 256 色)、スキャンラインあたり最大 32 スプライト(32 KB ビットマップメモリ)、1024 × 600 の背景フレームバッファでスクロール、PNG ローディング、デフォルト 30 FPS、解像度調整可能、256 色。 電力消費は 5 V で 575 mA(中程度の輝度)で、LiPo、18650、または USB バッテリーパックに対応しています。追加ソフトウェア機能として、ネイティブチャット/ファイル共有 BBS「TULIP ~ WORLD」、MIDI 入出力コールバック、およびクリエーションの共有用 Web バージョンがあります。 Tulip CC は市販ユニット、DIY ハードウェアキット、フル機能の Web アプリ、またはネイティブデスクトップアプリ(Mac/Linux/WSL)として入手可能です。開発リソース—完全な API ドキュメント、チュートリアル、Discord コミュニティ、およびオープンソース GitHub リポジトリ—が提供されており、埋め込みデバイスとデスクトップ環境の両方で動作するために貢献が必要です。将来のファームウェア更新では、合成モジュールの拡張、LVGL を介したグラフィックス解像度の向上、および電力効率の改善がコミュニティの入力を受けて行われる可能性があります。

2026/01/14 3:43

**Show HN:Nogic — VS Code 拡張機能でコードベースをグラフとして可視化**

## Japanese Translation: **概要** Nogic Visualizerは、VS Code拡張機能であり、プロジェクトのファイル構造をインタラクティブなグラフィックに変換し、開発者が大規模コードベースを迅速に把握・ナビゲートできるよう支援します。フォルダーを開くと、ツールは自動的にすべてのファイル(JavaScript、TypeScript、Python、Go、Rust、C/C++、PHP、Swift、Kotlin など)をインデックス化し、階層グラフ、クラス図、呼び出しグラフ、クイック検索オーバーレイといったビジュアルマップを構築します。これらの視覚化は、コマンドパレットまたはエクスプローラーのコンテキストメニューからカスタム「Nogic Boards」に追加でき、チームがコードの焦点を絞ったビューを共有できます。 主なインタラクション機能: - **ノードをダブルクリック**すると、そのファイルが開きます。 - **メソッドをクリック**すると図内でその本体が展開されます。 - **ドラッグ/パン**と**スクロール/ズーム**でナビゲーションします。 クイック検索は `Cmd/Ctrl+K` で利用可能で、名前やパターンで要素を瞬時に見つけられます。可視化はコード変更と自動的に同期し、プロジェクト構造の最新状態を保ちます。 将来のアップデートでは言語サポートが拡張され、コード進化に伴って可視化が継続して同期されるようになります。Nogic Visualizerはプロジェクトアーキテクチャの明確でライブな図像を提供することで、新人研修を支援し、不慣れなコード探索時の認知負荷を低減し、個人および組織全体の保守性向上に寄与します。