← 목록
기타 2026-06-25 3KB 읽기 3분

바카라 확률·통계 엔진 + 가족용 무료 시뮬레이터 (play.crowny.org)

개요

가족이 함께 즐기는 무료 바카라(연습용 칩·환전 없음·실제 도박 아님)와, 게임의 진짜 확률·하우스 엣지를 측정·폭로하는 통계 엔진을 구축했다. play.crowny.org(crowny-play, :7760)에 귀속. 향후 다른 게임의 확률을 해부하는 화이트해킹 분석 도구로 확장하는 것이 목표.

무엇을 했는지

  1. 확률·통계 엔진 (한선씨 정본)한선씨/바카라확률엔진.한선
- 정확한 바카라 제3카드 규칙(플레이어/뱅커 드로 테이블) + 8덱 카운트 신발 + 몬테카를로. - 베팅별 하우스 엣지 계산: 플레이어(1:1)·뱅커(0.95:1)·타이(8:1). - 검증(500k판): 타이 9.51%(이론 9.52)·타이엣지 14.37%(이론 14.36) 정확, P/B는 이론 ±0.1%(잔차=VM 무작위 PRNG 품질). 27s, 배열힙 증가 0.
  1. 브라우저 미러 (JS)public/js/baccara-engine.js
- .한선과 1:1 동일 로직(플랫폼락 더블작성). node 검증 200k판: P=44.67·B=45.85·T=9.48·엣지 1.18/1.12/14.67 — 이론 거의 일치(JS PRNG 우수).
  1. 가족용 게임 UIpublic/baccara.html
- 카지노 펠트 테이블·큰 카드·칩(10/50/100)·플레이어/뱅커/타이 베팅·딜·정산. - 라이브 통계 패널: 세션 전적, 칩 추세 스파크라인(우하향=교육), 이론 vs 시뮬, "왜 집은 항상 이기나" 설명, 확장 로드맵. "10만판 시뮬" 버튼(브라우저 MC). - 컴플라이언스: 연습용 칩·환전 불가·실제 돈 없음 명시(금지어 회피).
  1. 라우트 — server.js /baccara → baccara.html (정적 /baccara.html도 동작).

관련 파일

  • /Users/ef/crowny-play/한선씨/바카라확률엔진.한선 (엔진 정본, 정산 포함)
  • /Users/ef/crowny-play/public/js/baccara-engine.js (브라우저 미러)
  • /Users/ef/crowny-play/public/baccara.html (가족용 UI)
  • /Users/ef/crowny-play/server.js (/baccara 라우트)
  • 접속: https://play.crowny.org/baccara (로컬 http://127.0.0.1:7760/baccara)

VM 함정 3종 (해결) — 다른 세션 필독

  1. 나눗셈/나머지 자연반올림: 15/10=1, 18%10=-2, 89/100=1. 점수·퍼센트 깨짐.
→ 양수 전용 바닥나눗/바닥나머지 헬퍼로 전부 우회. (학습DB 등록)
  1. 배열은 GC 안 됨(큐브 백킹): 매 라운드 반환배열 생성 시 48MB 힙이 ~1.5만판에 고갈.
→ 핫루프(시뮬레이션)는 한판 로직 인라인, 스칼라 반환 뽑기만 사용 → 배열 0 할당. → 416장 신발+셔플 대신 14칸 카운트 배열(제자리 설정) 모델로 메모리 절약.
  1. 무작위(a,b) 상한 배타 [a, b-1]무작위(1, 남은+1)[1,남은] 포함.
(설정은 in-place 변경, 복사 아님 — probe로 확인)

잔여 이슈 / 다음

  • 한선씨 P/B ±0.1% 잔차: 무작위 PRNG 품질. 필요 시 (a) 정확 조합론 모드 추가,
(b) 더 나은 LCG/xorshift 무작위 대체로 개선 가능. 현재 교육·게임 목적엔 충분.
  • 화이트해킹 확장: 블랙잭 기대값·룰렛 휠 편향·"이길 수 있다"는 불법게임 수학 함정 폭로.
엔진을 게임-제네릭(규칙 플러그인)으로 일반화하면 SLM(젯슨 토르) 이식 용이.
  • 노출: 현재 직접 URL /baccara. play 랜딩/앱 내비 링크 추가는 선택.