행위 언어

컴퓨터 과학에서 행위 언어(Action language)는 상태 전이 시스템을 지정하기 위한 언어로, 일반적으로 행위가 세계에 미치는 영향을 형식 모델로 생성하는 데 사용된다.Michael Gelfond, Vladimir Lifschitz (1998) "Action Languages", Linköping Electronic Articles in Computer and Information Science, vol 3, nr 16. 행위 언어는 일반적으로 인공지능 및 로봇공학 분야에서 사용되며, 행위가 시간 경과에 따라 시스템 상태에 어떤 영향을 미치는지 설명하고 자동 계획에 사용될 수 있다.

행위 언어는 행위 기술 언어와 행위 질의 언어의 두 가지 범주로 나뉜다. 전자의 예로는 STRIPS, PDDL, 언어 A(STRIPS의 일반화; Pednault의 ADL의 명제 부분), 언어 B(간접 효과를 추가하고 정적 및 동적 법칙을 구별하는 A의 확장), 언어 C(간접 효과도 추가하고 모든 플루언트가 자동으로 "관성적"이라고 가정하지 않음)가 있다. 또한 행위 질의 언어 P, Q, R이 있다. 행위 언어, 특히 행위 언어 C를 응답 집합 프로그래밍으로 변환하는 여러 가지 다른 알고리즘이 존재한다.Vladimir Lifschitz and Hudson Turner, (1998) "Representing Transition Systems by Logic Programs". 최신 응답 집합 솔버가 부울 SAT 알고리즘을 사용하여 만족성을 매우 빠르게 확인하기 때문에, 이는 행위 언어 역시 부울 SAT 해결 분야에서 이루어지는 발전을 누릴 수 있음을 의미한다.

 형식적 정의 
모든 행위 언어는 상태 전이 시스템의 정의를 플루언트 집합 F, 플루언트가 취할 수 있는 값의 집합 V, 그리고 S × F를 V로 매핑하는 함수로 보완하며, 여기서 S는 상태 전이 시스템의 상태 집합이다.

 같이 보기 
 선형 시제 논리
 GOLOG
 플루언트 미적분
 상황 미적분
 이벤트 미적분

 각주 

분류:프로그래밍 언어 분류