프레임 문제

Frame problem

인공지능에서 프레임 문제는 로봇에 대한 사실을 표현하기 위해 1차 논리(FOL)를 사용하는 문제를 설명한다.전통적인 FOL로 로봇 상태를 나타내려면 환경 내의 사물이 임의로 변경되지 않음을 암시하는 많은 공리를 사용해야 합니다.예를 들어 Hayes는 블록을 함께 쌓는 규칙을 사용하여 "블록 월드"를 설명합니다.FOL 시스템에서는 환경에 대해 추론하기 위해 추가 공리가 필요합니다(예를 들어 블록이 물리적으로 이동하지 않는 한 위치를 변경할 수 없습니다).프레임 문제는 로봇 [1]환경의 실행 가능한 설명을 위한 적절한 공리의 컬렉션을 찾는 문제입니다.

존 맥카시패트릭 J. 헤이스는 1969년 기사에서 이 문제를 정의했다.인공지능의 관점에서 본 철학적인 문제들.이 논문과 그 이후에 나온 많은 논문에서, 형식적인 수학 문제는 인공지능에 대한 지식 표현의 어려움에 대한 보다 일반적인 논의의 출발점이 되었다.합리적인 기본 전제 조건을 제공하는 방법, 가상 [2]환경에서 인간이 생각하는 상식 등의 문제입니다.나중에, 이 용어는 철학에서 더 넓은 의미를 획득했고, 여기서 그것은 행동에 대응하여 갱신되어야 하는 믿음을 제한하는 문제로 공식화 되었다.논리적인 맥락에서 액션은 일반적으로 변경 내용에 따라 지정되며, 다른 모든 것(프레임)은 변경되지 않는다는 암묵적인 가정 하에 지정됩니다.

묘사

프레임 문제는 매우 단순한 도메인에서도 발생합니다.문을 열거나 닫을 수 있는 시나리오와 켜거나 끌 수 있는 조명이 있는 시나리오는 가지 으로 정적으로 표현됩니다. 이러한 조건이 변경될 수 있는 경우 두 로 표현됩니다.에 따라 달라지는 \mathrm { n { 이러한 술어를 플루언트라고 합니다시간 0에 문이 닫히고 소등된 영역과 시간 1에 문이 열린 영역을 다음 공식으로 논리적으로[clarification needed] 직접 나타낼 수 있다.

첫 번째 두 공식은 초기 상황을 나타내며, 세 번째 공식은 시간 1에 문을 여는 동작을 실행하는 효과를 나타냅니다.이러한 동작에 문이 잠금 해제되는 등의 전제조건이 있는 경우, § l c (0) e (){ \ \{ ( 0 ) \\ { open } ( 실제로는 e )로 됩니다액션이 실행된 시기와 액션의 효과를 지정하기 위한 규칙t . e t p n ( + p p ( +1 t . t . mathrm { t . t ( ) \\ { open ( t ) }상황 미적분에 대한 기사가 더 자세히 알려준다.

위의 세 공식은 알려진 것의 논리에 있어서 직접적인 표현이지만, 결과를 정확하게 도출하기에는 충분하지 않다.다음 조건(예상 상황을 나타내는 것)은 위의 세 가지 공식과 일치하지만 그것만이 아니다.

실제로 위의 세 가지 공식과 일치하는 또 다른 조건은 다음과 같습니다.

프레임의 문제는 액션에 의해 변경되는 조건만 지정해도 다른 모든 조건이 변경되지 않는다는 것입니다.이 문제는 액션의 영향을 받지 않는 모든 조건이 액션 실행 중에 변경되지 않도록 명시적으로 지정하는 이른바 "프레임 공리"를 추가하여 해결할 수 있습니다.예를 들어, 시간 0에 실행되는 동작이 도어를 여는 동작이기 때문에, 프레임 공리는 조명의 상태가 시간 0에서 시간 1로 변경되지 않음을 나타냅니다.

프레임의 문제는 액션이 [clarification needed]조건에 영향을 주지 않도록 액션과 조건의 쌍마다 이러한 프레임 공리가 1개씩 필요하다는 것입니다.즉, 문제는 프레임 공리를 명시적으로 지정하지 않고 동적 도메인을 공식화하는 것입니다.

이 문제를 해결하기 위해 McCarthy가 제안한 해법은 최소한의 조건 변화가 발생했다고 가정하는 것이다. 이 해법은 제한의 프레임워크를 사용하여 공식화된다.그러나 예일대 총기 난사 문제는 이 해결책이 항상 옳은 것은 아니라는 것을 보여준다.그 후 술어 완성, 유창한 폐색, 후계자 상태 공리 등을 포함한 대체 솔루션이 제안되었다. 그것들은 아래에 설명되어 있다.1980년대 말, 맥카시와 헤이스가 정의한 프레임 문제는 해결되었다[clarification needed].그러나, 그 후에도, 「프레임의 문제」라는 용어는, 일부는 같은 문제를 나타내지만, 일부는 다른 설정(예를 들면, 동시 동작)을 나타내거나, 또 일부는 동적 도메인에서의 표현과 추론의 일반적인 문제를 나타내거나 하기 위해서 사용되었다.

솔루션

다음 솔루션은 프레임 문제가 다양한 형식에서 어떻게 해결되는지 보여 줍니다.형식 자체는 완전히 제시되지 않습니다.이러한 내용은 완전한 솔루션을 설명하기에 충분한 간략화된 버전입니다.

유연한 폐색 솔루션

이 솔루션은 동적 도메인의 지정에 대한 공식 언어를 정의한 Erik Sandewall에 의해 제안되었습니다.따라서 이러한 도메인은 먼저 이 언어로 표현되고 그 후 자동으로 논리로 번역될 수 있습니다.이 기사에서는 로직에서의 표현만을 나타내며, 액션명은 사용하지 않고 단순화된 언어로만 나타냅니다.

이 솔루션의 근거는 시간의 경과에 따른 조건의 값뿐만 아니라 마지막으로 실행된 액션의 영향을 받을 수 있는지 여부도 나타내는 것입니다.후자는 폐색이라고 불리는 다른 조건으로 나타납니다.조건을 참 또는 거짓으로 하는 액션이 방금 실행된 경우 해당 조건은 소정의 시점에서 방해된다고 한다.폐색은 "변경 허가"로 볼 수 있다. 즉, 조건이 폐색되면 관성의 제약을 따르는 것으로부터 해방된다.

문과 조명의 간단한 예에서 폐색은 c l e e ( ()}(t의 두 가지 로 공식화할 수 있습니다.그 이유는 다음 시점에서 대응하는 폐색 술어가 참일 경우에만 조건이 값을 변경할 수 있다는 것입니다.또, 폐색 술어는, 조건에 영향을 주는 액션이 실행되었을 때만 True가 된다.

일반적으로 조건을 true 또는 false로 하는 모든 동작은 대응하는 폐색 술어도 true로 만듭니다.이 경우 c d p ( )은 t { t 위의 네 번째 공식의 선행은 false가 . e n(t - 1) n(t - 1) { open \ { t} (stystystystysty \ mathrm { } )d(t { t의 경우).따라서 p n \ \(는) 값을 변경할 수 있으며, 이는 세 번째 공식에서도 적용됩니다.

이 조건이 작동하려면 폐색 술어가 동작의 효과로 실현된 경우에만 참이어야 합니다.이는 제한 또는 술어 완성에 의해 달성될 수 있다.폐색은 반드시 변경을 의미하는 것은 아닙니다.예를 들어 (위의 형식에서) 문이 이미 열려 있을 때 문을 여는 동작을 실행하면 style ) 참이 되고 occlude 가) 참이 .r, p n \ \ 값은 변경되지 않았습니다.이는 이미 true였습니다.

술어 완성 솔루션

이 부호화는 fluent aclusion 솔루션과 비슷하지만 추가 술어는 변경 허가가 아닌 변경을 나타냅니다.를 들어 n e ( p n { t 에서+ {}로 바뀌는 을 나타냅니다.그 결과, 대응하는 변경 술어가 참인 경우에만 술어가 변경됩니다.액션은 이전에 false였던 조건을 true로 했을 경우에만 또는 그 반대로 변경합니다.

세 번째 공식은 문을 열면 문이 열린다는 다른 표현입니다.정확히 말하자면, 문을 열면 문이 이전에 닫혔을 때 문 상태가 바뀐다고 합니다.마지막 두 조건은 t시점의 술어가참인 경우에만 값이 변화한다는 것을 솔루션을 완료하기 위해서는 변경 술어가 참인 시점이 가능한 한 적어야 하며, 이는 c시점의 적용으로 실행할 수 있습니다.액션의 효과를 지정하는 규칙을 생략합니다.

후계자 상태 공리 솔루션

액션 실행 후의 조건 값은 조건이 true라는 사실에 의해 결정될 수 있습니다.이것은, 다음의 경우에 한정됩니다.

  1. 조치를 통해 조건이 충족되는 경우 또는
  2. 이 조건은 이전에 true였으며 액션은 이를 false로 만들지 않습니다.

후속 상태 공리는 이 두 가지 사실의 논리학적 공식화이다.예를 들어 p r ( \ {}( l (t { }( 각각 에 실행된 동작이 문을 열거나 닫는 것을 나타내기 위해 사용되는 두 가지 조건인 다음과 같이 인코딩됩니다.

이 솔루션은 동작의 효과보다는 조건의 가치를 중심으로 합니다.즉, 모든 동작에 대한 공식이 아니라 모든 조건에 대한 공리가 있습니다.액션에 대한 전제 조건(이 예에서는 존재하지 않음)은 다른 공식으로 공식화되어 있습니다.후속 상태 공리는 레이 라이트가 제안상황 미적분의 변형에서 사용됩니다.

유창한 미적분 해법

유창한 미적분은 상황 미적분의 변형이다.이것은 상태를 나타내기 위해 술어가 아닌 1차 논리 용어를 사용하여 프레임 문제를 해결합니다.술어를 1차 논리에서 용어로 변환하는 것을 refirmation이라고 한다.유창한 미적분은 조건 상태를 나타내는 술어가 refirm되는 논리라고 볼 수 있다.

1차 논리에서의 술어와 용어의 차이는 용어가 오브젝트(다른 오브젝트로 구성된 복잡한 오브젝트)의 표현인 반면, 술어는 주어진 용어 집합에 대해 평가할 때 참 또는 거짓일 수 있는 조건을 나타낸다는 것입니다.

유창한 미적분학에서, 각각의 가능한 상태는 다른 용어들의 합성에 의해 얻어진 항으로 표현되며, 각 항은 그 상태에서 참인 조건을 나타낸다.예를 들어 문이 열려 있고 조명이 켜져 있는 상태는 p n \ \이라는 로 표현됩니다.조건이 아닌 객체이기 때문에 용어 자체가 참 또는 거짓이 아님에 유의해야 합니다.즉, e n \ \는) 가능한 상태를 나타내며, 그 자체로 현재 상태를 의미하는 것은 아닙니다.이것이 실제로 주어진 시간의 상태임을 지정하기 위해 별도의 조건을 지정할 수 있습니다.를 들어, s e ( p e n , ){ \ { } ( \ { open } \ \ mathrm { , ) }

유창한 미적분학에서 주어진 프레임 문제에 대한 해결책은 동작을 실행할 때 상태를 나타내는 항이 어떻게 변하는지 진술함으로써 동작의 효과를 명시하는 것이다.예를 들어, 시간 0에 문을 여는 동작은 다음 공식으로 나타납니다.

도어를 닫는 동작은 조건을 참이 아닌 거짓으로 만듭니다.이 동작은 약간 다른 방식으로 표현됩니다.

공식은 t { 적절한 공리가 주어지는 경우에 유효합니다.예를 들어, 같은 조건을 2회 포함하는 용어는 유효한 상태가 아닙니다(를 들어 t ( e n s p e n o p e n、 t p n o p e n o p n, t) { p e n p e n t { state { state } { t } state } state open p e n } state , t)는 모든 {\ s t {\ t에 대해 항상 false입니다.

사건 미적분 해법

사건 미적분은 유창한 미적분처럼 향을 나타내는 용어를 사용하지만, 후속 국가 공리와 같이 향의 값을 제한하는 공리를 가지고 있습니다.사건 미적분에서는 fluent가 특정 이전 시점에서 참이고 그동안 false로 변경하는 작업이 수행되지 않은 경우 fluent가 참임을 나타내는 공식에 의해 관성이 강제된다.fluent를 실현하는 동작이 실행되는 경우에만 fluent가 실현되는 것을 얻기 위해, 또 그것이 명시적으로 기술되어 있는 경우에만 어떤 동작이 실행되었음을 얻기 위해 사건 미적분학에서 술어 완성이 여전히 필요하다.

디폴트 논리 솔루션

프레임 문제는 디폴트로는 "모든 것이 현재 상태로 유지된다고 가정한다"는 원칙을 공식화하는 문제로 생각할 수 있다(Leibniz, "비밀 백과사전 소개", c. 1679). 디폴트(상식 관성의 법칙이라고도 함)는 레이먼드 라이트에 의해 디폴트 로직으로 표현되었습니다.

{R(가) true이고 R) {)}이) 실행 후에도 true라고 가정할 수 있는[3] x {x)}이(가) true로 됩니다).

스티브 행크스와 드류 맥더모트예일대 총기 난사 사례를 근거로 프레임 문제에 대한 이 해결책은 만족스럽지 못하다고 주장했다.그러나 허드슨 터너는 적절한 추가 가설이 있을 때 그것이 올바르게 작동한다는 것을 보여주었다.

정답 집합 프로그래밍 솔루션

앤서 세트프로그래밍 언어에서의 디폴트 로직솔루션에 대응하는 것은 강력한 부정의 룰입니다.

T에서r { r 참이고 시간 T에서도 r {r( 이라고 할 수 ).

분리논리해

로직은 { r c d n e { n { \ { \ { } \ { code \ { \ { \ { condition} } 형식의 사전/사후 사양을 사용하여 컴퓨터 프로그램에 대해 추론하는 형식입니다컴퓨터 메모리 및 기타 동적 리소스에서 가변 데이터 구조에 대해 설명하며, 분리된 메모리 [4][5]영역에 대한 독립적 추론을 지원하기 위해 "및 별도로" 발음되는 특별한 연결 *가 있습니다.

분리 로직은 사전/사후 사양을 엄격하게 해석합니다.즉, 코드는 전제조건에 의해 [6]존재하는 것을 보증하는 메모리 위치에만 액세스 수 있습니다.이것은 논리의 가장 중요한 추론 규칙인 프레임 규칙의 건전성으로 이어진다.

프레임 규칙을 사용하면 코드의 풋프린트(액세스된 메모리) 이외의 임의의 메모리에 대한 설명을 사양에 추가할 수 있습니다.이를 통해 초기 사양은 풋프린트에만 집중할 수 있습니다.예를 들어, 추론은

리스트 x를 정렬하는 코드를 캡처하여 별도의 리스트 y를 언소트하지 않고 행 위의 초기 사양에서 y를 전혀 언급하지 않습니다.

프레임 규칙의 자동화로 인해 [7]코드에 대한 자동화된 추론 기술의 확장성이 크게 향상되었으며, 결국 산업적으로 수천만 개의 [8]회선이 있는 코드베이스에 배치되었습니다.

프레임 문제에 대한 분리 논리 해법과 위에서 [further explanation needed]언급한 유창한 미적분 사이에는 약간의 유사성이 있는 것으로 보인다.

동작 설명 언어

액션 기술 언어는 프레임 문제를 해결하는 것이 아니라 문제를 회피합니다.액션 기술 언어는 상황 및 액션을 기술하기 위한 구문을 가진 정식 언어입니다.예를 들어 p r \ \ { 동작은 잠겨 있지 않은 경우 도어를 열게 하는 동작을 다음과 같이 나타냅니다.

e r \ \ {}이(가) c d \ \ { p n\ \ { open(가)합니다.

동작 기술 언어의 의미론은 언어가 표현할 수 있는 것(동시 동작, 지연 효과 등)에 따라 다르며 보통 전이 시스템에 기초합니다.

도메인은 로직이 아닌 이들 언어로 표현되기 때문에 프레임 문제는 액션 기술 로직에서 주어진 사양을 로직으로 변환해야 할 경우에만 발생합니다.단, 일반적으로 이러한 언어에서 번역은 1차 로직이 아닌 집합 프로그래밍에 응답하기 위해 제공됩니다.

「 」를 참조해 주세요.

메모들

  1. ^ Hayes, Patrick (1973). "The Frame Problem and Related Problems in Artificial Intelligence". University of Edinburgh.
  2. ^ McCarthy, J; P.J. Hayes (1969). "Some philosophical problems from the standpoint of artificial intelligence". Machine Intelligence. 4: 463–502. CiteSeerX 10.1.1.85.5082.
  3. ^ 즉, 모순되는 정보가 알려져 있지 않다.
  4. ^ Reynolds, J.C. (2002). "Separation logic: a logic for shared mutable data structures". Proceedings 17th Annual IEEE Symposium on Logic in Computer Science. Copenhagen, Denmark: IEEE Comput. Soc: 55–74. CiteSeerX 10.1.1.110.7749. doi:10.1109/LICS.2002.1029817. ISBN 978-0-7695-1483-3. S2CID 6271346.
  5. ^ O'Hearn, Peter (2019-01-28). "Separation logic". Communications of the ACM. 62 (2): 86–95. doi:10.1145/3211968. ISSN 0001-0782.
  6. ^ O’Hearn, Peter; Reynolds, John; Yang, Hongseok (2001). Fribourg, Laurent (ed.). "Local Reasoning about Programs that Alter Data Structures". Computer Science Logic. Lecture Notes in Computer Science. Berlin, Heidelberg: Springer. 2142: 1–19. doi:10.1007/3-540-44802-0_1. ISBN 978-3-540-44802-0.
  7. ^ Calcagno Cristiano; Dino Distefano; Peter O'Hearn; Hongseok Yang (2011-12-01). "Compositional Shape Analysis by Means of Bi-Abduction". Journal of the ACM. 58 (6): 1–66. doi:10.1145/2049697.2049700. S2CID 52808268.
  8. ^ Distefano, Dino; Fähndrich, Manuel; Logozzo, Francesco; O'Hearn, Peter (2019-07-24). "Scaling static analyses at Facebook". Communications of the ACM. 62 (8): 62–70. doi:10.1145/3338112.

레퍼런스

외부 링크