← 최신 논문
💻 computer science

noDice: Inference for Discrete Probabilistic Programs with Nondeterminism and Conditioning

이 논문은 이산 확률적 프로그래밍 언어 Dice 를 확장하여 마르코프 결정 과정 (MDP) 과 결정 다이어그램을 활용하여 비결정성과 조건부 추론을 지원하는 새로운 추론 엔진 noDice 를 제안합니다.

원저자: Tobias Gürtler, Benjamin Lucien Kaminski

게시일 2026-02-24
📖 4 분 읽기☕ 가벼운 읽기

원저자: Tobias Gürtler, Benjamin Lucien Kaminski

원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기

🎲 주사위 없는 추론 (noDice): 불확실성과 선택의 세계를 해석하는 새로운 방법

이 논문은 **'noDice(주사위 없음)'**이라는 새로운 컴퓨터 프로그램을 소개합니다. 이 프로그램은 복잡한 확률적 상황 (예: 날씨 예측, 자율 주행 자동차의 결정, 주식 시장 분석 등) 을 모델링하고, "가장 나쁜 경우"나 "최상의 경우"가 일어날 확률을 계산해 줍니다.

기존의 프로그램들은 주로 '주사위' (확률) 만 다뤘지만, noDice 는 '주사위'와 '선택' (비결정성) 을 동시에 다룰 수 있는 첫 번째 도구 중 하나입니다.

이 복잡한 개념을 쉽게 이해하기 위해 마법사의 예언서미로 찾기에 비유해 설명해 드리겠습니다.


1. 배경: 왜 이것이 필요한가요?

🎲 기존 방식 (Dice): 주사위만 던지는 마법사

기존의 확률 프로그래밍 언어 (Dice 등) 는 마치 주사위만 던지는 마법사와 같습니다.

  • "내일 비가 올 확률은 70% 입니다."
  • "동전을 던졌을 때 앞면이 나올 확률은 50% 입니다."
    이런 확률적인 사건은 잘 계산해 냅니다. 하지만 세상은 주사위만 있는 게 아닙니다.

🤖 새로운 문제: 선택의 자유 (비결정성)

세상에는 의도적인 선택이나 알 수 없는 변수가 있습니다.

  • "운전자가 빨간불을 보고 멈출지, 무시하고 지나갈지 선택합니다." (이 선택은 확률로 정해지지 않았습니다. 운전자가 마음먹은 대로 할 수 있죠.)
  • "해커가 공격할지 말지 선택합니다."

기존 프로그램은 이런 **'선택' (비결정성)**이 섞인 상황을 계산할 때 막혀버렸습니다. "운전자가 가장 나쁜 선택을 한다면 사고가 날 확률은 얼마나 될까?"라고 묻는 것은 기존 도구로는 불가능했습니다.


2. noDice 의 해결책: 미로를 지도로 바꾸기

noDice 는 이 문제를 해결하기 위해 세 단계의 마법을 사용합니다.

1 단계: 논리 회로로 번역하기 (Boolean Compilation)

먼저, 복잡한 프로그램을 **간단한 논리 회로 (불린 공식)**로 번역합니다.

  • 비유: 복잡한 요리 레시피를 "소금 1 스푼, 후추 0.5 스푼" 같은 재료 목록과 순서로 정리하는 것과 같습니다.
  • 프로그램이 어떻게 작동하는지, 어떤 조건에서 결과가 나오는지를 수학적으로 정리합니다.

2 단계: 압축된 지도 만들기 (Decision Diagrams)

그런데 이 재료 목록이 너무 길어지면 계산이 불가능해집니다. 그래서 noDice 는 중복된 부분을 잘라내고 압축합니다.

  • 비유: 거대한 미로가 있다고 칩시다. 보통은 미로 전체를 다 그려야 하지만, noDice 는 **"이 길과 저 길은 결국 같은 곳으로 이어지네? 그럼 하나로 합쳐버자!"**라고 생각하며 미로를 **압축된 지도 (ADD)**로 만듭니다.
  • 이 단계에서 프로그램의 구조를 이용해 불필요한 상태를 제거하므로, 계산해야 할 공간이 기하급수적으로 줄어듭니다.

3 단계: 미로 찾기 게임으로 변환 (MDP Construction)

마지막으로, 이 압축된 지도를 **미로 찾기 게임 (Markov Decision Process, MDP)**으로 바꿉니다.

  • 비유: 이제 우리는 미로에 들어갑니다.
    • 주사위 (확률): "이 길에서 70% 확률로 왼쪽, 30% 확률로 오른쪽"으로 갈 수 있습니다.
    • 선택 (비결정성): "여기서는 내가 왼쪽을 갈지 오른쪽을 갈지 선택할 수 있습니다."
  • noDice 의 목표는 **"가장 나쁜 선택을 하는 악당 (해커나 나쁜 운전자) 이 미로를 빠져나갈 때, 우리가 원하는 결과 (예: 사고 발생) 에 도달할 확률이 얼마나 되는지"**를 찾는 것입니다.

3. 핵심 아이디어: "최악의 시나리오"를 찾아라

noDice 는 단순히 "확률이 얼마일까?"를 묻지 않습니다.

"만약 모든 선택이 우리에게 가장 불리하게 작용한다면, 이 사건이 일어날 확률은 얼마나 될까?"

이를 조건부 도달 확률이라고 합니다.

  • 예시: 비행기가 착륙하려고 하는데, 도로 위를 지나가는 차가 있습니다.
    • 차는 확률적으로 움직일 수도 있고 (랜덤), 의도적으로 움직일 수도 있습니다 (비결정성).
    • 센서는 정확하지 않습니다 (관측).
    • noDice 는 **"차가 가장 위험한 선택을 해서, 비행기가 착륙할 때 충돌할 확률이 최대 몇 % 인가?"**를 계산해 줍니다.

4. 왜 이것이 혁신적인가요?

  1. 압도적인 효율성:

    • 기존 방식 (Storm 같은 모델 체커) 은 미로 전체를 하나하나 다 탐색하려다 보니, 미로가 조금만 커져도 시간이 너무 오래 걸립니다.
    • noDice 는 **압축된 지도 (ADD)**를 먼저 만들기 때문에, 미로의 크기가 커져도 계산 속도가 훨씬 빠릅니다. 실험 결과, 기존 도구보다 훨씬 작은 상태로 공간을 만들어내어 속도를 높였습니다.
  2. 실제 적용 가능성:

    • 자율 주행, 네트워크 보안, 의료 진단 등 불확실성과 인간의 선택이 섞인 복잡한 시스템을 분석하는 데 쓰일 수 있습니다.
  3. 한계와 미래:

    • 현재는 **무한한 반복 (루프)**이나 연속적인 숫자는 다루지 못합니다 (유한한 숫자와 반복 없는 프로그램만 가능). 하지만 이는 첫걸음이며, 앞으로 더 발전할 수 있는 기반을 마련했습니다.

📝 요약: 한 줄로 정리하면?

noDice 는 "주사위 (확률) 와 선택 (의지) 이 섞인 복잡한 상황을, 압축된 지도로 변환하여 '최악의 경우'가 일어날 확률을 빠르게 찾아내는 마법 같은 도구입니다.

이 도구를 통해 우리는 더 안전하고 예측 가능한 시스템을 설계할 수 있게 되었습니다. 마치 미로에서 가장 위험한 길을 미리 찾아내어 그 길을 막아두는 것과 같습니다! 🛡️🗺️

연구 분야의 논문에 파묻히고 계신가요?

연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.

Digest 사용해 보기 →