Workspace IndexMath › Day 15

Schelling Points TODO

Math · Day 15 / 52 · August — Game Theory & Protocol Economics (Day 11-17)

Concept

A Schelling point is the option that participants naturally converge on when they cannot communicate with each other. Coordination games have multiple equilibria, and the payoff structure alone doesn't determine which equilibrium actually gets chosen — the key insight is that factors outside the game itself, such as salience, simplicity, and cultural context, decide the outcome. For a Schelling point to work, it's not enough for the option to merely stand out — there must be shared knowledge that everyone else also recognizes it as standing out. This is why Schelling points can produce coordination without any enforcement, but also why they collapse easily when the context changes. The persistence of standards, defaults, and old conventions is usually explained by this same coordination effect.

Many agreements that hold up aren't backed by enforced rules but purely by mutual expectation that everyone else will pick the same option — and protocol forks, standards adoption, and oracle voting are exactly this kind of structure.

Code & Formula

# 셸링 포인트 — 순수 조정 게임에는 대칭적인 내시균형이 여러 개 존재하지만,
# 게임 밖의 "현저성(salience)"이 그중 하나를 특별히 눈에 띄게 만들어 조정을 가능케 한다.

locations = ["Grand Central 시계탑", "Times Square 한복판", "무명 주차장 B구역"]
n = len(locations)

# 순수 조정 게임 payoff: 두 참가자가 같은 곳을 고르면 1, 다르면 0 (완전 대칭)
payoff = [[1 if i == j else 0 for j in range(n)] for i in range(n)]

# 대칭 payoff 행렬에서 순수전략 내시균형은 "둘 다 같은 곳을 고르는" 모든 대각선 칸
pure_nash = [(locations[i], locations[i]) for i in range(n) if payoff[i][i] == 1]
print("payoff 만으로 찾은 순수전략 내시균형 (모두 동등):")
for a, b in pure_nash:
    print(f"  - ({a}, {b})")

# 게임 자체는 이 균형들을 구분하지 못한다. 현실에서는 "얼마나 유명하고 서로 알 만한가"
# 라는 현저성 점수가 선택을 결정한다 — 이것이 셸링 포인트.
salience = {"Grand Central 시계탑": 0.9, "Times Square 한복판": 0.95, "무명 주차장 B구역": 0.05}

focal_point = max(locations, key=lambda loc: salience[loc])
print(f"\n현저성 점수: {salience}")
print(f"셸링 포인트(예측되는 실제 선택): '{focal_point}'")
print("→ payoff 구조는 동일해도, 공유된 현저성이 균형을 하나로 좁힌다.")

Exercise

Pose a coordination question with no objectively correct answer to a few colleagues without letting them communicate, collect the distribution of answers, and explain why responses clustered on a particular option in terms of salience and shared knowledge.

Practical Connection

Which chain gets treated as the 'real' one after a hard fork, and which outcome the majority is expected to vote for in a dispute, are both Schelling point problems — and UMA-style optimistic oracles are built on the assumption that the honest answer is the Schelling point.

If you study this on a given day, add a note link and a ✅ to this line in the source curriculum (docs/knowledge/math-50-curriculum.md) and this spot will lead straight to the note body. You can also write directly on this page — but regenerating overwrites it, so it's safer to keep anything you want to save as markdown under docs/algorithms/.


한국어

셸링 포인트 TODO

Math · Day 15 / 52 · 8월 — 게임이론·프로토콜 경제학 (Day 11–17)

개념

셸링 포인트는 서로 소통할 수 없는 상황에서 참가자들이 자연스럽게 수렴하게 되는 선택지를 말한다. 조정 게임에는 균형이 여러 개 존재하는데, 보수 구조만으로는 어느 균형이 실제로 선택될지 정해지지 않고 현저성·단순성·문화적 맥락 같은 게임 밖의 요소가 선택을 결정한다는 것이 핵심 통찰이다. 셸링 포인트가 작동하려면 그 선택지가 눈에 띄는 것만으로는 부족하고, 남들에게도 그것이 눈에 띈다는 사실을 서로가 안다는 공유 지식이 필요하다. 그래서 셸링 포인트는 강제력 없이도 조정을 만들어 내지만, 맥락이 달라지면 쉽게 무너진다. 표준, 기본값, 오래된 관행이 계속 유지되는 이유도 대개 이 조정 효과로 설명된다.

강제 규칙이 아니라 다들 이걸 고를 것이라는 상호 기대만으로 유지되는 합의가 실제로 많고, 프로토콜 분기나 표준 채택, 오라클 투표가 그런 구조이기 때문이다.

코드 · 수식

# 셸링 포인트 — 순수 조정 게임에는 대칭적인 내시균형이 여러 개 존재하지만,
# 게임 밖의 "현저성(salience)"이 그중 하나를 특별히 눈에 띄게 만들어 조정을 가능케 한다.

locations = ["Grand Central 시계탑", "Times Square 한복판", "무명 주차장 B구역"]
n = len(locations)

# 순수 조정 게임 payoff: 두 참가자가 같은 곳을 고르면 1, 다르면 0 (완전 대칭)
payoff = [[1 if i == j else 0 for j in range(n)] for i in range(n)]

# 대칭 payoff 행렬에서 순수전략 내시균형은 "둘 다 같은 곳을 고르는" 모든 대각선 칸
pure_nash = [(locations[i], locations[i]) for i in range(n) if payoff[i][i] == 1]
print("payoff 만으로 찾은 순수전략 내시균형 (모두 동등):")
for a, b in pure_nash:
    print(f"  - ({a}, {b})")

# 게임 자체는 이 균형들을 구분하지 못한다. 현실에서는 "얼마나 유명하고 서로 알 만한가"
# 라는 현저성 점수가 선택을 결정한다 — 이것이 셸링 포인트.
salience = {"Grand Central 시계탑": 0.9, "Times Square 한복판": 0.95, "무명 주차장 B구역": 0.05}

focal_point = max(locations, key=lambda loc: salience[loc])
print(f"\n현저성 점수: {salience}")
print(f"셸링 포인트(예측되는 실제 선택): '{focal_point}'")
print("→ payoff 구조는 동일해도, 공유된 현저성이 균형을 하나로 좁힌다.")

연습

정답이 없는 조정 질문을 동료 몇 명에게 소통 없이 던져 답의 분포를 모으고, 왜 특정 선택지에 몰렸는지 현저성과 공유 지식으로 설명해 보기.

실무 · Verex 연결

하드포크에서 어느 체인이 진짜로 취급되는가, 분쟁 상황에서 다수가 어떤 결과에 투표할 것이라 기대하는가가 모두 셸링 포인트 문제이며, UMA식 낙관적 오라클은 정직한 답이 셸링 포인트라는 가정 위에 서 있다.

공부한 날 원본 커리큘럼(docs/knowledge/math-50-curriculum.md)의 이 줄에 노트 링크와 ✅ 를 붙이면, 이 자리는 노트 본문으로 바로 이어집니다. 노트 없이 이 페이지에 바로 적어도 됩니다 — 다만 다시 생성하면 덮어쓰이므로, 남길 글은 docs/algorithms/ 의 마크다운으로 쓰는 편이 안전합니다.

← 14. EIP-1559 수수료시장(base fee = AIMD)16. 조합 게임이론(제로섬 vs 비제로섬) →