$3 당첨과 다시 살펴보기
모한 스리바스타바는 금을 추정한다. 그는 지질통계학자이다 — 응용 지질통계학에 대한 표준 교과서의 공동 저자 — 그의 일은 한 줌의 시추 코어 샘플을 가지고 전체 광상이 얼마나 많은 금속을 함유하는지 말하는 것이다. 2003년, 파일 다운로드를 기다리던 중 누군가가 농담으로 준 틱택토 복권 티켓을 긁었고 $3을 땄다. 그것을 받으러 가는 길에 그는 그 티켓이 어떻게 만들어졌는지 생각하기 시작했다.
스크래치 티켓은 진정한 복권 추첨일 수 없다. 상금은 누군군가 구매하기 전에 이미 인쇄되어 있고, 인쇄업체는 고정된 상금 구조를 전달해야 한다 — 팩당 $3 당첨이 많으니, 백만 장당 $100 당첨이 많으니 — 그래서 컴퓨터가 티켓 단위로 어느 것이 당첨인지 결정한다. 스리바스타바의 질문은 지질통계학자가 샘플 처리 과정에 대해 묻는 것이었다: 결과가 설계된 것이라면, 그 설계는 표면에 흔적을 남기는가?
틱택토 티켓에는 남아 있었다. 그 게임은 각 티켓의 앞면에 8개의 작은 틱택토 보드를 인쇄했고, 그들의 72개 공간 중 모든 공간에 1에서 39 사이의 숫자를 표시했다. 플레이어는 라텍스 패널을 긁어서 자신의 숫자 세트를 드러냈고, 그 숫자가 어떤 보드에서든 직선을 만들면 당첨되었다. 보이는 숫자는 장식이어야 했다 — 숨겨진 숫자가 일치하는 무작위 채움. 그렇지 않았다.
싱글톤 규칙
스리바스타바는 72개 공간에서 각 보이는 숫자가 얼마나 자주 나타났는지 세었다. 대부분 반복되었다 — 숫자는 같은 티켓에 3번이나 4번 나타날 수 있었다. 몇 개는 정확히 한 번만 나타났다. 그는 그것들을 싱글톤이라고 불렀고, 그가 티켓을 긁어 비교할 때, 싱글톤은 거의 항상 라텍스 아래의 숨겨진 숫자 중에 있었다. 반복된 숫자는 채움이었고, 혼자 서 있는 것들이 생성기가 의도적으로 배치한 것들이었다.
- 모든 보이는 숫자를 센다. 8개 보드에 걸쳐, 티켓에 정확히 한 번만 나타나는 각 숫자를 표시한다.
- 직선 위에 있는 3개의 싱글톤을 찾아라. 단일 보드 위의 행, 열 또는 대각선 방향의 싱글톤들은 아직 드러나지 않은 당첨 직선이다.
- 그 티켓을 사라. 그의 테스트에서, 이런 방식으로 선택된 티켓은 약 90%의 확률로 당첨되었다. 아무것도 긁을 필요가 없었다.
그 방법은 그가 솔직하게 인정한 제한을 가지고 있었다. 그것은 스크래칭 전에 정보를 보여주는 앞면을 가진 "extended play" 티켓에만 작동했다. 당첨이 얼마를 지불하는지 말하지 않았고, 대부분의 당첨은 작은 상금을 지불했다. 그리고 그것은 손에 든 티켓이 필요했다: 구매자는 지불하기 전에 앞면을 봐야 하는데, 이것은 카운터에서는 가능하지만 자동판매기에서는 불가능하다.
그 숫자들 자체는 더할 나위 없이 의미 없었다. 하지만 그것들이 반복되었는지 여부는 내가 알아야 할 거의 모든 것을 나에게 말해주었다. 모한 스리바스타바, Wired 인용, "Cracking the Scratch Lottery Code", 2011
그는 가격을 책정했고, 그것은 가치가 없었다
이 이야기를 특이하게 만드는 것은 그가 그 트릭으로 무엇을 했는지, 그리고 이유는 산술이다. 티켓을 읽는 데 그에게 약 45초가 걸렸다. 당첨 확률에 상금 크기를 곱하고 근무 중인 날에 매장 카운터에서 사람이 합리적으로 검사할 수 있는 티켓의 수를 곱하면 그 방법은 그의 추정에 따라 하루에 약 $600의 가치가 있었다. 그것은 대부분의 사람들에게는 좋은 날이고 컨설팅 지질통계학자에게는 형편없는 날이고, 그는 명확하게 그렇게 말했다: 그는 수학을 했고 게임을 이기는 것은 그의 시간을 낭비하는 것이 아니었다.
그래서 그는 온타리오 복권 및 게임 공사에 전화했다. 스크래치 티켓을 읽을 수 있다고 믿지 않는 관리들과의 전화 소동이 있은 후, 그는 그러한 대화를 끝내는 일을 했다: 그는 20개의 긁지 않은 티켓을 샀고, 그들의 앞면의 숫자만 사용하여 당첨과 낙첨으로 분류한 후, 그의 예측과 함께 그 더미를 복권의 보안 사무실로 우송했다. 그 게임은 며칠 안에 온타리오의 소매상들로부터 철수했다. 복권은 그 문제를 그 게임의 설계 결함으로 설명했다.
| 항목 | 그림 |
|---|---|
| 티켓당 보드 | 8개의 틱택토 격자 |
| 보이는 숫자 | 1~39 범위에서 각각 72개 |
| 단서 | 한 판의 한 줄에 세 개의 싱글톤 |
| 이런 방식으로 선택한 티켓의 적중률 | 약 90% |
| 티켓당 소요 시간 | 약 45초 |
| 풀타임으로 일할 경우 예상 수익 | 하루 약 $600 |
| 복권으로 우편 발송된 티켓, 사전 정렬됨 | 20 |
| 보고부터 게임이 중단될 때까지의 시간 | 일 |
Wired(조나 레러, 2011)와 스리바스타바(Srivastava)의 NPR 인터뷰(2011년 2월)에서 보고된 수치.
그는 한 개의 게임에서 멈추지 않았다. 싱글톤 개수의 변형이 여러 유사 티켓에서 당첨자를 선택할 확률을 최소 2배 이상 높였으며, 여기에는 그에게 테스트를 위해 우편으로 발송된 다른 복권사의 게임도 포함되었다. 인쇄업체들은 그 위험을 이름으로 알았다: 가장 큰 티켓 제조사 중 하나의 임원진은 Wired에 "breakability"(긁기 전에 티켓을 읽을 수 있는지 여부)이 그들이 가장 염려하는 사항 중 하나라고 말했다.
고정된 상금 개수가 누수되는 이유
더 깊은 교훈은 무작위성이 어디에 있는지에 관한 것이다. 표면상 진정으로 무작위인 티켓에서는 유용한 싱글톤이 나타나지 않을 것이다. 1~39에서 72개의 숫자를 독립적으로 뽑으면 반복은 불가피하다: 각 숫자는 정확히 한 번 나타날 확률이 약 15.8%이므로, 무작위 티켓은 구조 없이 흩어진 약 11개의 싱글톤을 가질 것이고, 그 중 어느 것이 숨겨진 숫자와 일치하는지는 플레이어가 개선할 수 없는 동전 던지기가 될 것이다. 틱택토 티켓은 그렇지 않았다. 보이는 숫자들은 상금을 배치한 프로그램과 동일한 프로그램으로 작성되었고, 이 티켓에는 당첨 줄을 놓되 다음 티켓에는 놓지 않아야 하는 프로그램은 면과 라텍스를 조정해야 한다. 조정은 정보다.
이 기사의 계산: 39개 값에서 72개의 독립 추출 중 주어진 보이는 숫자가 정확히 한 번 나타날 확률은 (38 ÷ 39)⁷¹ ≈ 0.158이므로, 무작위 티켓당 약 11.4개의 싱글톤이다. 실제 티켓은 무작위 추첨이 아니었으며, 이것이 전부다.
이것은 필 아이비(Phil Ivey)의 엣지 소팅 카드나 홀 카드를 볼 수 있는 수퍼유저 계정과 같은 형태의 결함이다: 게임은 불확실성의 한 원천을 광고했지만 실제로는 다른 원천에서 실행되었고, 그 간격은 주의 깊게 보는 누구든 읽을 수 있었다. 인쇄된 복권의 경우 그 간격은 구조적이다. 운영자는 두 가지를 동시에 원한다 - 백만 티켓당 일정한 수의 당첨자와 무작위로 보이는 티켓 - 그리고 첫 번째 요구 사항은 면이 상금과 독립적으로 생성되지 않는 한 두 번째를 무너뜨린다. 현대의 티켓은 정확히 그런 방식으로 설계되어 있다: 2003년 게임은 단순히 그렇지 않았다.
앞면에 아무것도 없는 스크래치 카드
Betkyo의 omikuji는 스크래치 카드이기도 합니다 — 9개 셀, 각 셀에 운세 글리프, 3개 같은 것이 나오면 당첨 — 그래서 이것이 읽을 수 있는 면이 있는지 묻는 것이 공정합니다. 그렇지 않습니다. 이유는 복권과 정반대입니다: 미리 정해진 상금 개수가 없습니다. 각 카드는 독립적인 드로우입니다. 티어는 라운드 생성 시점에 고정된 가중치에 대해 한 번의 롤로 결정되며, committed server seed, 플레이어의 client seed, nonce에서 나오고, 그 후에야 글리프가 셀에 그려집니다. 팩이 없고, 천 장당 당첨자 할당량이 없으며, 이 카드와 다음 카드가 뭔가 더해지도록 하려는 생성기가 없습니다.
ENGINE-VERIFIEDOmikujiEngine.kt, TIERS: 大吉 weight 1,000 (×100), 中吉 6,000 (×20), 小吉 20,000 (×8), 吉 45,000 (×4), 半吉 100,000 (×2), 末吉 137,000 (×1.5) — weights in millionths, summing to 309,000, so some fortune hits on 30.9% of cards and 大吉 on exactly 1 in 1,000, independently on every card. derive(): the tier roll is the first draw of the seed stream scanned against the cumulative weights; the paint rule then places the winning glyph in three uniformly chosen cells and fills the rest. The browser verifier (omikuji/derive.ts) recomputes the same stream after the round.
두 가지가 따릅니다. 첫째, 이전 카드는 다음 카드에 대해 아무것도 알려주지 않습니다: 천 장의 연속된 꽝 카드는 大吉이 "주어진" 상태가 되지 않습니다. 왜냐하면 아무것도 카운트다운되지 않기 때문입니다. 둘째, 카드는 반대 방향으로 감시될 수 있습니다. Srivastava는 패턴을 증명하기 위해 티켓을 사고 긁어야 했습니다. provably fair 카드에서는 플레이어가 라운드 후에 공개된 seed에서 카드 전체를 다시 계산할 수 있고 티어 롤이 가중치가 말하는 것이어야 한다는 것을 확인할 수 있습니다. 검증자가 확인하는 것, 단계별로 모든 원본에 대해 동일합니다.
설계가 변경하지 않는 것에 대해 정직하는 것이 가치 있습니다. 우리 카드는 자체 near-miss 구조를 가지고 있습니다 — 꽝 카드의 46%는 두 개의 大吉을 표시합니다, 9개 셀과 7개 글리프의 비둘기집 원리로 — 그리고 아무 양의 읽기도 개선할 수 없는 3.45% 하우스 엣지를 가지고 있습니다. Srivastava의 트릭은 나쁜 티켓을 읽을 수 있게 만들었습니다. committed seed는 공정한 카드를 읽을 수 없게 만듭니다. 둘 다 카드가 그 가중치보다 더 많이 지급하도록 만들지 않습니다.
遊9개 셀, 1번의 롤, 팩 없음
모든 카드 독립적, 모든 티어는 committed seed에서 다시 계산 가능Omikuji →
FAQ
Mohan Srivastava는 누구인가?
토론토 기반의 지질 통계학자, 응용 지구통계학 표준 교과서의 공동 저자, 2003년 온타리오 틱택토 스크래치 티켓을 긁기 전에 읽을 수 있다는 것을 발견한 사람입니다. 그의 이야기는 Jonah Lehrer가 2011년 Wired에서 전했습니다.
스크래치 티켓의 singleton 방법이란 무엇인가?
얼굴에 번호를 인쇄하는 티켓의 경우, 보이는 각 번호가 몇 번 나타나는지 계산합니다. 정확히 한 번 나타나는 번호 — singletons — 는 결함이 있는 2003년 게임에서 거의 항상 라텍스 아래의 숨겨진 번호였습니다. 한 보드에서 한 줄로 나열된 3개의 singletons은 약 90%의 시간에 당첨을 표시했습니다.
그가 얼마나 벌 수 있었을까?
그 자신의 추정에 따르면 하루에 약 $600, 티켓당 대략 45초, 대부분의 당첨이 작은 상금이었습니다. 그는 그것을 컨설팅 수입 아래로 판단하고 대신 결함을 보고했습니다.
온타리오 복권청은 무엇을 했나?
결함이 있는 20장의 미긁힌 티켓을 예상 당첨과 꽝으로 분류하여 보낸 후, 온타리오 복권 및 게임 공사(Ontario Lottery and Gaming Corporation)는 며칠 내에 소매점에서 틱택토 게임을 철수했고 문제를 그 게임의 설계 결함으로 설명했습니다.
singleton 트릭이 provably fair 스크래치 카드에서 작동할 수 있을까?
아니요. omikuji 카드의 티어는 committed seed 쌍과 nonce에서 한 번의 드로우이며, 고정된 당첨자 할당량이 없고 한 카드를 다음 카드와 조정하려는 생성기가 없으므로, 카드의 아무것도 결과를 예측하지 못합니다. 대신 카드는 라운드 후에 다시 계산되어 드로우를 확인할 수 있습니다.
출처 및 참고자료
- Wired — Jonah Lehrer, "Cracking the Scratch Lottery Code" (31 January 2011): the 2003 discovery, the eight boards and 72 numbers, the singleton rule, the ~90% hit rate, the $600-a-day estimate, the 20 sorted tickets and the game being pulled
- NPR — "Lottery Codebreaker Shares Scratch-Off Secrets", interview with Mohan Srivastava (19 February 2011)
- Betkyo engine source: OmikujiEngine.kt (TIERS weights, derive() tier roll and paint rule) and omikuji/derive.ts (browser verifier)
- 이 기사의 계산: 39개 값에서 72개의 독립적 추출에 대한 singleton 기댓값, (38 ÷ 39)⁷¹ ≈ 0.158
이 기사의 게임들