다중에이전트 전이 시스템과 AI를 활용한 풀뿌리 논리 프로그램 구현
초록
본 논문은 풀뿌리 논리 프로그램(GLP)의 단일·다중 에이전트 실행을 위한 결정적 전이 시스템(dGLP, madGLP)을 정의하고, 이를 기존 비결정적 의미론에 대해 형식적으로 검증한다. AI(Claude)가 수학적 사양을 기반으로 영어·코드 스펙을 생성하고, 최종적으로 Dart 언어로 구현함으로써 스마트폰 피어‑투‑피어 환경에서 동작 가능한 프로토타입을 제시한다.
상세 분석
GLP는 변수들을 ‘작성자(writer)’와 ‘읽기자(reader)’ 쌍으로 구분함으로써 선형 논리와 미래/약속(Future/Promise) 메커니즘을 동시에 구현한다. 각 변수 쌍은 단 한 번만 할당(작성자)되고, 그 할당값은 단 한 번만 소비(읽기자)된다. 이러한 제약은 전통적인 논리 프로그래밍에서 흔히 사용되는 통합(unification)을 배제하고, 단순한 패턴 매칭과 변수 일치만을 허용한다. 논문은 먼저 기존의 비결정적 전이 시스템인 Concurrent GLP를 정의하고, 그 동작을 ‘Reduce’와 ‘Communicate’ 두 규칙으로 분리한다. ‘Reduce’는 첫 번째 적용 가능한 절을 선택해 작성자‑기반 mgu(writer‑MGU)를 계산하고, ‘Communicate’는 작성자 할당을 읽기자에게 비동기적으로 전달한다.
비결정성은 목표 선택(and‑nondeterminism)과 통신 적용 순서 두 차원에서 발생한다. 이를 실용적인 구현으로 전환하기 위해 저자들은 dGLP라는 결정적 전이 시스템을 설계한다. dGLP는 목표를 FIFO 큐에 넣어 순차적으로 처리하고, 실패·정지 상태를 명시적으로 관리한다. 정지는 ‘정지 집합(suspension set)’이라는 읽기자 집합을 통해 표현되며, 해당 읽기자가 외부 통신에 의해 바인딩될 때 재활성화된다. 이러한 설계는 모든 목표가 동일한 순서로 처리되더라도, 서로 독립적인 변수 할당이 교환(commute)될 수 있음을 보장한다. 논문은 ‘불변식(SO, SRSW)’과 ‘지속성(persistence)’을 이용해 두 전이 시스템 간의 결과 동등성을 증명한다. 핵심 보조 정리인 ‘Disjoint Substitution Commutativity’는 서로 다른 목표에 대한 작성자‑MGU가 변수 집합을 겹치지 않으며, 순서에 관계없이 합성될 수 있음을 보인다. 이를 통해 dGLP가 GLP의 모든 공정(fair) 실행을 ‘라이브(live)’하고 ‘완전(complete)’하게 구현함을 보인다.
다중 에이전트 환경을 위한 madGLP는 위의 단일 에이전트 모델을 확장한다. 여기서는 각 에이전트가 자체적인 dGLP 인스턴스를 실행하면서, 서로 간의 통신은 비동기 메시지 전달을 통해 이루어진다. madGLP는 에이전트 수준에서는 결정적이지만, 시스템 전체에서는 메시지 전송 순서와 지연에 따라 비결정적이다. 논문은 다중 전이 시스템(Multi‑Agent Transition System)의 형식적 정의와 원자적 트랜잭션 모델을 도입해, 에이전트 간의 상태 변화가 일관성을 유지하도록 설계한다. 또한, ‘공정한 실행(fair run)’ 정의를 통해 모든 가능한 통신 이벤트가 결국 수행될 것을 보장한다.
특히 흥미로운 점은 AI가 수학적 사양을 직접 해석해 ‘English+code’ 스펙을 자동 생성하고, 이를 기반으로 Dart 구현을 자동화한다는 점이다. 저자들은 ‘수학 → 스펙 → 코드’ 흐름을 기본 원칙으로 삼지만, 구현 과정에서 발견된 불일치와 결함을 다시 수학적 사양에 반영하는 ‘양방향 피드백 루프’를 강조한다. 이 과정에서 여러 차례 madGLP의 설계가 수정되었으며, 최종적으로 스마트폰 피어‑투‑피어 환경에서 동작 가능한 프로토타입이 완성되었다.
전체적으로 이 논문은 형식적 의미론과 실용적 구현 사이의 격차를 메우는 방법론을 제시하고, AI를 활용한 자동 사양·코드 생성 파이프라인을 실제 시스템에 적용한 최초 사례 중 하나로 평가할 수 있다.
댓글 및 학술 토론
Loading comments...
의견 남기기