상황 미적분학
Situation calculus상황 미적분은 역동적인 영역에 대한 표현과 추론을 위해 고안된 논리 형식주의다. 1963년 존 매카시에 의해 처음 도입되었다.[1] 이 글에서 제시되는 상황 미적분학의 주요 버전은 1991년 레이 리페더(Ray Repeat)가 소개한 것을 바탕으로 하고 있다. 맥카시의 1986년 버전과 로직 프로그래밍 공식에 대한 섹션이 뒤따른다.
개요
상황 미적분은 변화하는 시나리오를 1차 논리 공식의 집합으로 나타낸다. 미적분의 기본 요소는 다음과 같다.
- 세계에서 수행할 수 있는 작업
- 세계의 상태를 묘사하는 유창함
- 상황들
도메인은 여러 공식, 즉 다음과 같이 공식화된다.
- 조치 전제 조건 공리, 각 조치마다 하나씩
- 유창하게 각각 하나씩 이어지는 국가 공리
- 다양한 상황에서 세계를 설명하는 공리
- 상황 미적분학의 근본적 공리
단순한 로봇 세계가 달리는 예로 모델링될 것이다. 이 세상에는 하나의 로봇과 몇몇 무생물체들이 있다. 세계는 그리드에 따라 배치되어(, ) 스타일x,y개의 좌표점 단위로 위치를 지정할 수 있다. 로봇이 전 세계를 돌아다니며 물건을 집어들고 떨어뜨리는 것은 가능하다. 일부 품목은 로봇이 픽업하기에는 너무 무겁거나, 떨어뜨렸을 때 부서질 정도로 깨지기 쉬울 수 있다. 이 로봇은 또한 자신이 들고 있는 고장난 물건을 수리할 수 있는 능력을 가지고 있다.
요소들
상황 미적분학의 주요 요소는 행동, 유창함, 상황들이다. 많은 물체들이 또한 일반적으로 세계의 설명에 관여한다. 상황 미적분은 행동, 상황, 사물의 세 가지 종류를 가진 분류된 영역을 바탕으로 하며, 그 개체들은 행동이나 상황이 아닌 모든 것을 포함한다. 각 종류의 변수를 사용할 수 있다. 작용, 상황, 물체는 도메인의 요소인 반면, 플루언트는 술어나 함수로 모델링된다.
행동들
동작은 도메인의 한 종류를 형성한다. 정렬 동작의 변수를 사용할 수 있다. 작용은 계량화할 수 있다. 로봇 세계의 예에서 가능한 작업 조건은 로봇의 새 위치,)로 이동하는 모델을 위한 e( x , 이고 로봇의 객체 픽업을 모델링하기 위한 p ( ){\가 될 것이다. 특수 술어인 Pussu는 동작이 실행 가능한 시기를 나타내는 데 사용된다.
상황들
상황 미적분학에서는, 세계 안에서 행해지고 있는 다양한 행동의 결과로서 일련의 상황을 통해 진전되는 역동적인 세계를 모델링한다. 상황은 행동 발생의 역사를 나타낸다. 여기에 기술된 상황 미적분학의 반복 버전에서 상황은 국가를 나타내지 않고, 용어의 문자적 의미에 대해 부정적으로, 그리고 맥카시와 헤이즈의 원래 정의에 대해 부정적으로 표현한다. 이 점은 다음과 같이 반복하여 요약하였다.
- 상황은 유한한 일련의 행동이다. 마침표. 상태도 아니고 스냅사진도 아니고 역사도 아니다.[2]
어떤 조치가 수행되기 전의 상황은 일반적으로 S 로 표시되며 초기 상황이라고 한다. 조치의 수행에 따른 새로운 상황은 함수 기호 do를 사용하여 표시된다(일부 다른 참조도[which?] 결과를 사용한다). 이 함수 기호는 상황 및 행동을 주장으로 하고, 그 결과 상황은 주어진 상황에서 주어진 행동을 수행함으로써 생기는 상황이 된다.
이 동작의 연속이며 상태가 아니라는 사실은 = = 이() o {\ 및 = = {\}인 경우에만 d와 같다는 공리에 의해 강제된다. 두 개의 서로 다른 상태에서 실행된 두 개의 다른 동작이 동일한 상태를 초래할 수 있기 때문에 상황이 상태였다면 이 조건은 말이 되지 않는다.
예제 로봇 세계에서 로봇의 첫 번째 동작이 위치, 3 로 이동하는 경우 첫 번째 은 m v e( ){\3이고 그 결과 상황은 m v e( ,), ) 2,3 다음 동작이 공을 집는 것이라면, 결과 상황은 ( p ), ( v (,), S ) ( 2)이다 ( ,), 0) 2와 같은 상황 용어 및 c p( a ), ( v ( ,3) , ) (2은(는) 실행된 작업의 순서를 나타내며, 실행으로 인해 발생하는 상태에 대한 설명은 나타내지 않는다.
플루언트
진실의 가치가 바뀔 수 있는 진술은 상황을 최종 논점으로 삼는 술어인 관계 형용사에 의해 모델링된다. 또한 어떤 상황을 최종 논거로 삼고 상황에 의존하는 가치를 반환하는 기능인 기능적 유창성도 가능하다. 유창함은 "세계의 속성"으로 생각될 수 있다.
이 예에서 유창한 , s) 을 사용하여 로봇이 특정 상황에서 특정 물체를 운반하고 있음을 나타낼 수 있다. If the robot initially carries nothing, is false while 은(는) 참이다. 로봇의 위치는 특정 상황에서 로봇의 위치, y을(를) 반환하는 기능 유창한 c n s )을 사용하여 모델링할 수 있다.
포뮬라과
역동적인 세계에 대한 설명은 세 가지 공식, 즉 행동에 대한 공식(조건과 효과), 세계의 상태에 대한 공식, 그리고 근본적 공리들을 사용하여 두 번째 순서의 로직으로 암호화된다.
조치 전제조건
일부 작업은 특정 상황에서 실행되지 않을 수 있다. 예를 들어, 실제로 물건을 들고 있지 않는 한 물건을 내려놓는 것은 불가능하다. 동작의 수행에 대한 제한은 (, ){\ 형식의 리터럴에 의해 모델링되며, 여기서 a는 동작이고, Pusces는 동작의 실행 가능성을 나타내는 특별한 이진 술어다 이 예에서, 물체를 운반할 때만 물체를 떨어뜨릴 수 있다는 조건은 다음을 통해 모델링된다.
좀 더 복잡한 예로서, 로봇이 한 번에 하나의 물체만 운반할 수 있고, 일부 물체는 로봇이 들어올리기에는 너무 무겁다는 다음 모델(약어 무거움으로 표시됨)을 들 수 있다.
작용 효과
어떤 상황에서 어떤 행동이 가능하다는 것을 감안하여, 사람들은 그 행동이 플루토늄에 미치는 영향을 명시해야 한다. 이것은 효과 공리에 의해 행해진다. 예를 들어, 물체를 집는 것은 로봇이 물체를 운반하게 한다는 사실을 다음과 같이 모델링할 수 있다.
또한 현재 상태에 따라 달라지는 효과인 조건부 효과를 지정할 수도 있다. 일부 물체는 깨지기 쉽고(약하기 쉬운 술어로 표시됨) 떨어뜨리면 깨지는(유창한 깨짐으로 표시됨) 다음과 같은 모델:
이 공식은 작용의 효과를 정확하게 설명하지만, 프레임 문제 때문에 논리적으로 그 작용을 올바르게 기술하는 것만으로는 충분하지 않다.
프레임 문제
위의 공식은 행동의 효과에 대해 추론하는 데 적합해 보이지만, 그들은 결정적인 약점을 가지고 있다 - 그것들은 행동의 비효과를 도출하는 데 사용될 수 없다. 예를 들어, 어떤 물체를 집어든 후에도 로봇의 위치가 변하지 않는다고 추론할 수는 없다. 이를 위해서는 다음과 같은 공식인 이른바 프레임 공리가 필요하다.
프레임 공리 지정의 필요성은 동적 세계를 공리화하는 데 있어 오랫동안 문제로 인식되어 왔으며, 프레임 문제로 알려져 있다. 일반적으로 그러한 공리가 매우 많기 때문에, 설계자는 필요한 프레임 공리를 생략하거나, 세계 서술에 변화가 있을 때 모든 적절한 공리를 수정하는 것을 잊어버리기 쉽다.
후계국 공리는 다음과 같다.
후계국 공리는 상황 미적분학의 프레임 문제를 "솔루브"한다. 이 해결책에 따르면, 설계자는 유창한 특정의 가치가 변경될 수 있는 모든 방법을 효과 공리로 나타내기 때문에 열거해야 한다. 유창한 →, )의 값에 영향을 미치는 효과 공리는 양과 음의 공리로 일반화된 형식으로 할 수 있다
+ 공식은 상황 s에 있는 동작이 후임 d (,s ){\에서 유창한 F를 실현시키는 조건을 기술하고 있으며 마찬가지로 F -{\for = i를 수행하는 조건을 기술하고 있다.n 상황 s는 후임자 상황에서 유창한 F를 거짓으로 만든다.
이 한 쌍의 공리가 유창한 F가 값을 바꿀 수 있는 모든 방법을 기술한다면, 그것들은 단일 공리로 다시 쓰여질 수 있다.
즉, 이 공식은 다음과 같이 말하고 있다: "상황 s에서 조치를 수행할 수 있다는 점을 감안할 때, a를 수행하면 그것이 참이 되거나, 또는 상황 s에서 참이 되고, s를 수행하면 거짓이 되지 않는 경우에 한하여 d ){\s)}에서 유창한 F가 참이 될 것이다."
예를 들어 위에서 소개한 유창하게 깨진 자의 가치는 다음과 같은 후계자 국가 공리에 의해 주어진다.
미국.
초기 상황이나 다른 상황의 속성은 단순히 공식으로 명시하는 것만으로 지정할 수 있다. 예를 들어 초기 상태에 대한 사실은 상태가 아니라 상황)에 대한 주장을 함으로써 공식화된다. 처음에 로봇이 아무것도 운반하지 않고 (, ) 스타일 위치에 있으며, 파손된 물체가 없는 다음 문장 모델:
기초 공리
상황의 기초 공리학은 이 역사라는 사상을 (,) = d ( do ) = a s= s s = s 을 갖는 것을 공식화한다 그들은 또한 상황에 대한 2차 주문 유도 같은 다른 특성도 포함한다.
회귀
퇴행은 상황 미적분학의 결과를 증명하는 메커니즘이다. 상황 (, 를 동작 a와 상황 s를 포함하는 공식의 관점에서 표현하는 것에 기초하고 있지만, d (, ){\)}를 반복함으로써, 초기 상황만을 포함하는 동등한 공식으로 끝날 수 있다S_0. 결과를 증명하는 것은 아마도 원래 공식보다 이 공식에서 더 간단할 것이다.
골로그
GLOG는 상황 미적분학을 기반으로 한 논리 프로그래밍 언어다.[3][4]
상황 미적분학의 원판
매카시와 헤이스가 원래 상황 미적분과 현재 사용하고 있는 상황의 주요한 차이는 상황의 해석이다. 현대판 상황 미적분학에서 상황은 일련의 행동이다. 원래 상황은 "한 순간에 우주의 완전한 상태"로 정의되었다. 그러한 상황이 완전히 묘사될 수 없다는 것은 처음부터 분명했다; 그 생각은 단지 상황에 대해 몇 가지 진술을 하고, 그것들로부터 결과를 도출하는 것이었다. 이것은 또한 유창한 미적분학에 의해 취해지는 접근법과는 다르다. 유창한 미적분학에서는 국가는 알려진 사실의 집합체, 즉 우주에 대한 불완전한 서술이 될 수 있다.
상황 미적분학의 원판에서는 플루이센트가 재조명되지 않는다. 바꿔놓을 수 있는 조건은 함수가 아니라 술어로 표현된다는 얘기다. 실제로 매카시와 헤이스는 유창한 것을 상황에 따라 달라지는 함수로 정의했지만, 그 후엔 항상 술어를 사용해 유창함을 표현했다. 예를 들어, 상황 s에서 x 위치에 비가 내리고 있다는 사실은 문자 r g (, ){\ 비로 표현된다 매카시에 의한 상황 미적분 1986년 버전에서는 기능적 플루젠트를 사용한다. 예를 들어, 상황 s에서 객체 x의 위치는 c n( , s) 의 값으로 표현된다 여기서 위치는 함수다. 이러한 기능에 대한 문장은 동등하게 주어질 수 있다: (x, )= in ( , ) 은 물체 x의 위치가 두 가지 상황 s와
조치의 실행은 기능 로 표현된다: 상황 s에서 조치 a의 실행은 , , 조치의 효과는 상황 s의 유창성과 상황 , )의 유창성과 관련된 공식에 의해 표현된다 예를 들어, 문을 여는 동작으로 인해 문이 잠겨 있지 않으면 문이 열리게 되는 것은 다음과 같다.
잠긴 술어와 열린 술어는 각각 문이 잠기고 열리는 상태를 나타낸다. 이러한 조건들은 다를 수 있기 때문에 상황 인수를 가진 술어로 표현된다. 공식을 보면 어떤 상황에서 문이 잠겨 있지 않으면, 그 다음에 문이 열리는 행동을 실행한 후에 문이 열린다고 하는데, 이 행동은 상수로 표현된다.
이 공식들은 타당하다고 여겨지는 모든 것을 이끌어내기에는 충분하지 않다. 실제로, 다른 상황에서의 유창함은 그들이 행동의 전제조건과 효과일 경우에만 관련이 있다; 유창하게 행동한 사람이 행동의 영향을 받지 않는다면, 그것이 변하지 않았다고 추론할 방법이 없다. For example, the formula above does not imply that follows from , which is what one would expect (the door is not made locked by opening it). 관성이 잡히려면 프레임 공리라는 공식이 필요하다. 이러한 공식은 모든 비효과적인 조치들을 명시한다.
상황 미적분학의 원래 공식에서 나중에 S 에 의해 표시된 초기 상황은 명시적으로 식별되지 않는다 상황을 세계의 설명으로 본다면 초기 상황은 필요하지 않다. 예를 들어, 도어가 닫혔지만 잠기지 않고 열린 동작이 수행되는 시나리오를 나타내기 위해 초기 상황을 의미하는 상수 s를 취하고 그에 대한 진술을 함으로써 공식화된다(예: l c ( r, ) }). 변경이 수반되는 공식 p n( r ( p n ,s )에 의해 적용된 후에 문이 열리는지 여부. 초기 상황은 현대의 상황 미적분학에서와 마찬가지로, 초기 상황이 행동의 빈 순서를 나타내기 때문에 행동의 역사로 받아들여진다면, 초기 상황은 그 대신에 필요하다.
1986년에 McCarthy가 도입한 상황 미적분학의 버전은 기능적 형광물질의 사용(: l a ( , s )은 상황 s에서 x의 위치를 나타내는 용어)과 프레임 공리를 대체하기 위해 할례를 사용하려는 시도를 위해 원래 것과 다르다.
논리 프로그램으로서의 상황 미적분학
상황 미적분학을 논리 프로그램으로 작성하는 것도 가능하다(예: Kowalski 1979, Apt and Bezem 1990, Shanahan 1997).
Here Hold는 메타프레디케이트로, 변수 f는 형광물질에 걸쳐 있다. The predicates Poss, Initiates and Terminates correspond to the predicates Poss, , and respectively. 왼쪽 화살표 ←은 등가 ↔의 절반이다. 나머지 절반은 프로그램의 완성에 함축되어 있는데, 여기서 부정은 실패로 해석된다. 유도 공리는 또한 암묵적이며 프로그램 특성을 증명하는 데만 필요하다. 논리 프로그램을 실행하는 데 사용되는 일반적인 메커니즘인 SLD 분해능에서와 같은 역추론은 암묵적으로 회귀를 구현한다.
참고 항목
참조
- ^ McCarthy, John (1963). "Situations, actions and causal laws" (PDF). Stanford University Technical Report.
- ^ "ECSTER Debate Contribution".
- ^ Lakemeyer, Gerhard. "The Situation Calculus and Golog: A Tutorial" (PDF). www.hybrid-reasoning.org. Retrieved 16 July 2014.
- ^ "Publications about GOLOG". Retrieved 16 July 2014.
- J. 매카시와 P. 헤이스(1969년). 인공지능의 관점에서 보면 철학적인 문제들이 있다. B. 멜처와 D.에서. 미치, 편집자, 머신 인텔리전스, 4분 463–502. 에든버러 대학 출판부, 1969.
- R. 코왈스키(1979년). 문제 해결을 위한 논리 - Exvier North Holland.
- K.R. Apt와 M. Bezem(1990). Acyclic Programs. 인: 제7회 로직 프로그래밍 국제 회의. MIT 프레스 예루살렘, 이스라엘.
- R. 반복한다(1991) 상황 미적분학의 프레임 문제: 간단한 해결책(때로는)과 목표 회귀에 대한 완전성 결과. 블라디미르 리프시츠(Vladimir Lifshitz) 편집자, 인공지능 및 수학적 계산 이론: 존 매카시를 기리는 논문, 359–380페이지, 샌디에이고, CA, USA. Academic Press Professional, Inc. 1991.
- M. 섀너핸(1997년). 프레임 문제 해결: 관성의 상식 법칙에 대한 수학적인 조사. MIT 프레스
- H. Levesque, F. Pirri, R. 반복한다(1998년). 상황 미적분학의 기초. 인공지능 전자거래, 2(3–4):159-178.
- F. 피리와 R. 반복한다(1999년). 상황 미적분학의 메타테오리에 대한 몇 가지 기여. ACM 저널, 46(3):325–361. doi:10.1145/316542.316545
- R. 반복(2001년). 실무에 대한 지식: 동적 시스템의 지정 및 구현을 위한 논리적 기초. MIT 프레스.