Modeling Deontic Modal Logic in ASP
이 논문은 의무, 금지, 허가를 표현하기 위해 기본 부정 및 강한 부정을 전역 제약 조건과 함께 활용함으로써, 오랜 난제들을 해결하고 조건부 의무 문장의 모델링을 가능하게 하는 방식으로 답변 집합 프로그래밍(ASP)에서 의무 양상 논리를 구현하는 우아한 방법을 제안한다.
원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기
당신이 컴퓨터의 두뇌 속에서 벌어지는 거대하고 보이지 않는 게임인 "만약에(What If?)"의 심판이라고 상상해 보십시오. 논리의 세계에는 규칙을 말하는 두 가지 주요 방법이 있습니다. 첫 번째는 엄격한 수학 방정식과 같습니다: "A가 참이라면, B는 반드시 참이어야 한다." 이것은 고전 논리이며, 사실을 다루기에 좋습니다. 하지만 두 번째 방식은 훨씬 더 인간적입니다: "당신은 B를 해야 한다"라거나, "A를 하는 것은 금지된다", 또는 "당신은 B를 해도 된다"와 같은 식입니다. 이것이 바로 **의무 논리(deontic logic)**입니다 (그리스어의 '의무'라는 단어에서 유래했습니다). 이는 규칙, 법, 그리고 도덕적 의무에 관한 논리입니다. 까다로운 점은 현실 세계가 매우 복잡하다는 것입니다. 때로는 무언가를 해야 할 의무가 있지만 할 수 없을 때도 있고, 어떤 일을 해서는 안 되지만 그럼에도 불구하고 그 일을 저지르는 경우도 있습니다. 수십 년 동안 컴퓨터 과학자들과 철학자들은 컴퓨터가 이러한 "해야 함"과 "금지됨"을 이해하면서도 논리적 모순, 즉 "역설(paradoxes)"에 빠져 충돌하거나 멈추지 않도록 가르치는 문제로 고군분투해 왔습니다.
"ASP에서의 의무 양상 논리 모델링(Modeling Deontic Modal Logic in ASP)"이라는 제목의 이 논문은 바로 그 문제를 다룹니다. 미국과 스페인의 연구진으로 구성된 저자들은 컴퓨터에게 규칙과 의무를 이해시키는 영리하고 새로운 방법을 제안합니다. 그들은 이미 "만약에" 시나리오와 불완전한 정보를 처리하는 능력으로 유명한 **답 집합 프로그래밍(Answer Set Programming, ASP)**이라는 프로그래밍 언어를 사용합니다. 이 논문은 규칙을 단순히 사실을 강제하는 딱딱한 명령이 아니라, 전역 제약 조건(global constraints)(마치 규칙이 깨졌을 때 울리는 심판의 휘슬처럼)으로 취급함으로써, 컴퓨터가 드디어 논리학자들을 괴롭혀 온 수십 년 된 퍼즐들을 해결할 수 있다고 주장합니다. 그들은 이 방법이 사람이 이전의 규칙을 지키지 못했을 때 규칙이 스스로 모순되는 것처럼 보이는 유명한 논리적 함정인 "의무 위반(Contrary-to-Duty) 역설"을 우아하게 해결함을 보여줍니다.
"해야 함"과 "반드시 함"의 마법
저자들이 무엇을 했는지 이해하려면, 먼저 이 이야기의 두 주인공인 **의무(Obligation)**와 **허가(Permission)**를 만나야 합니다. 일상생활에서 우리는 "태양이 떠오르는 것은 필연적이다"(자연의 법칙)와 "도서관 책을 반납해야 한다"(어길 수 있는 규칙)의 차이를 알고 있습니다. 논리의 세계에서 전자는 알레틱(alethic)(진리와 필연성에 관한 것)이라 불리고, 후자는 데온틱(deontic)(의무와 규범에 관한 것)이라 불립니다.
저자들은 컴퓨터가 이미 이러한 서로 다른 유형의 사고를 처리하기 위한 두 가지 특별한 도구를 가지고 있지만, 그것들이 잘못된 방식으로 사용되고 있다는 점을 발견했습니다.
- 강한 부정(Strong Negation): 이것은 딱딱한 "아니오"와 같습니다. 만약 컴퓨터가 "비가 오지 않는다"라고 말한다면(강한 부정), 그것은 비가 오지 않는다는 확실한 증거를 가지고 있다는 뜻입니다. 이것은 사실입니다.
- 기본 부정(Default Negation, Negation-as-Failure): 이것은 "아닐지도 모른다"와 같습니다. 만약 컴퓨터가 "비가 오지 않는다"라고 말한다면(기본 부정), 그것은 단지 비가 오고 있다는 증거를 찾지 못했다는 뜻입니다. 이는 누락된 정보에 기반한 추측입니다.
이 논문의 핵심 아이디어는 이 두 가지 컴퓨터 도구를 두 가지 유형의 논리에 직접 매핑하는 것입니다. 그들은 우리가 "P가 필수적이다"(사실)라고 말할 때는 강한 부정을 사용하고, "P가 필수적이지 않다"(P가 거짓일 수도 있거나, 혹은 단지 알 수 없는 상태)라고 말할 때는 기본 부정을 사용해야 한다고 제안합니다. 이 간단한 전환을 통해 컴퓨터는 확고한 사실과 깨질 수 있는 규칙을 구분할 수 있게 됩니다.
"심판" 접근법
이 논문에서 가장 창의적인 부분은 의무를 다루는 방식입니다. 많은 기존 시스템에서 "차를 반납해야 한다"와 같은 의무는 컴퓨터가 차를 반납하게끔 만드는 명령으로 취급되었습니다. 하지만 만약 차를 도둑맞았다면 어떻게 될까요? 컴퓨터는 차를 반납하도록 강제할 수 없기 때문에 오류를 일으키며 멈춰버릴 것입니다.
저자들은 다른 접근 방식을 제안합니다. 의무를 전역 제약 조건(Global Constraints)(또는 "부정")으로 취급하는 것입니다. 축구 경기장의 심판을 상상해 보십시오. 심판는 선수들이 골을 넣도록 강요하지 않습니다. 심판는 단지 반칙이 발생했을 때 휘슬을 불 뿐입니다. 저자들의 시스템에서 의무는 무언가를 참으로 만들라는 명령이 아니라, "만약 당신이 이 규칙을 어긴 세상에 있다면, 그 세상은 유효하지 않다"라고 말하는 규칙입니다.
예를 들어, 규칙이 "안전벨트를 착용해야 한다"라면, 컴퓨터는 당신에게 벨트를 착용하도록 강요하지 않습니다. 대신, "안전벨트 없이 운전하는 모든 세상은 제외한다"라는 제약 조건을 설정합니다. 만약 당신이 운전 중인데 안전벨트를 하고 있지 않다면, 컴퓨터는 단순히 "그 시나리오는 이 규칙 하에서 불가능하다"라고 말하며, 당신이 안전벨트를 착용하고 있는 다른 시나리오를 찾습니다. 하지만 결정적으로, 만약 당신이 벨트를 착용하지 못할 정당한 이유(예: 의료적 응급 상황)가 있다면, 컴퓨터는 그 규칙을 "선점(preempt)"할 수 있습니다. 즉, 해당 상황에 대해 제약 조건을 해제하여 그 시나리오가 존재할 수 있도록 허용합니다.
"치좀(Chisholm)" 퍼즐 해결하기
이 논문은 의무 위반 역설(Chisholm의 역설로도 알려짐)을 해결할 때 가장 빛을 발합니다. 이는 다음과 같은 유명한 논리적 난제입니다:
- 당신은 파티에 가야 한다.
- 만약 당신이 간다면, 어머니께 말씀드려야 한다.
- 만약 당신이 가지 않는다면, 어머니께 말씀드리지 말아야 한다.
- 당신은 가지 않았다.
기존의 논리 체계에서는 이것이 혼란을 야기합니다. 컴퓨터는 당신이 어머니께 말씀드려야 하는지 말아야 하는지를 판단하려 애쓰다가, 결국 "말씀드려야 한다"와 "말씀드리지 말아야 한다"가 동시에 발생하는 모순에 빠져 로봇이 두통을 겪는 듯한 상태가 됩니다.
저자들은 그들의 "심판" 방식이 이를 즉시 해결함을 보여줍니다. 그들은 규칙을 제약 조건으로 설정합니다:
- 제약 1: 만약 당신이 가지 않는다면, 어머니께 말씀드릴 수 없다.
- 제약 2: 만 if 당신이 간다면, 어머니께 말씀드려야 한다.
컴퓨cy터가 당신이 가지 않았다(사실 4)는 것을 인지하면, 제약 조건을 확인합니다. 컴퓨터는 제약 2("만약 당신이 간다면" 규칙)의 조건이 충족되지 않았으므로 적용되지 않는다는 것을 확인합니다. 그런 다음 제약 1을 봅니다. 당신이 가지 않았으므로, 규칙은 "말씀드리지 말 것"을 말합니다. 컴퓨터는 당신이 가지 않았고 어머니께 말씀드리지 않은 유효한 세상을 쉽게 찾아냅니다. 모순도, 두통도 없습니다. 규칙이 서로 싸우는 경직된 명령이 아니라 조건이 충족될 때만 적용되는 유연한 제약 조건으로 취급되었기 때문에 "역설"은 사라집니다.
이것이 왜 중요한가
저자들은 단 하나의 퍼즐만을 해결하는 것이 아니라, 이 방법이 "포레스터의 역설(Forrester's paradox)"이나 "사르트르의 딜레마(Sartre's dilemma)"를 포함한 일련의 논리적 문제들을 해결할 수 있음을 보여줍니다. 그들은 "만약에" 시나리오와 "예외 사항"을 처리하는 내장 능력을 갖춘 **답 집합 프로그래밍(ASP)**을 사용함으로써, 우리가 이전보다 훨씬 더 자연스럽게 복잡한 윤리 및 법률 체계를 모델링할 수 있음을 입증합니다.
또한 이 방식이 "이차적 의무"를 어떻게 처리하는지도 보여줍니다. 예를 들어, 친구의 차를 빌렸다고 가정해 봅시다. 당신에게는 기본 규칙인 "차를 반납하라"가 있습니다. 하지만 이차적 규칙들도 있습니다: "정오 이전에 반납하라"와 "배터리를 가득 채워 반납하라"입니다. 만약 당신이 차를 사고 냈다면(기본 규칙의 위반), 이차적 규칙들은 변하거나 사라질 수 있습니다. 저자들은 이 시스템이 어떻게 이러한 규칙들을 자동으로 "선점(preempt)"하는지 보여줍니다. 만약 차가 파손되었다면, "정오 이전에 반납하라"라는 제약 조건은 그 조건(반납할 차가 있다는 것)이 사라졌기 때문에 자동으로 탈락합니다. 컴퓨터는 혼란에 빠지지 않고, 단지 유효한 세상의 목록을 업데이트할 뿐입니다.
결론
이 논문은 윤리나 법률의 모든 문제를 해결했다고 주장하는 것이 아닙니다. 대신, 규칙을 이해하는 시스템을 구축하기 위한 깔끔하고 우아한 도구 상자를 제공합니다. 이 논문은 "해야 함"을 "현실을 바꾸라는 명령"이 아니라 "가능한 세계들에 대한 제약 조건"으로 취급함으로써, 컴퓨터가 인간처럼 유연하게, 예외를 인정하며, 논리적 루프에 빠지지 않고 규칙에 대해 추론할 수 있음을 증명합니다. 저자들은 이 접근 방식이 복잡한 새로운 수학이나 "제재(sanctions, 처벌)"를 도입해야 했던 이전의 방법들보다 더 단순하고 직접적이라고 제안합니다. 이미 존재하는 답 집합 프로그래밍의 도구들을 활용함으로써, 그들은 인간과 유사한 규칙을 이해하는 길이 우리가 생각했던 것보다 더 짧고 곧을 수 있음을 보여주었습니다.
연구 분야의 논문에 파묻히고 계신가요?
연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.