GOAL 에이전트 프로그래밍 언어

GOAL agent programming language

ALLE인지 에이전트를 프로그래밍하기 위한 에이전트 프로그래밍 언어다.목표 요원들은 그들의 신념과 목표로부터 그들의 행동 선택을 이끌어낸다.언어는 대리인의 신념과 목표의 조작을 허용하고 용이하게 하고 의사결정을 구조화하는 구조를 프로그래밍함으로써 인지 에이전트를 설계하고 구현할 수 있는 기본적인 구성 요소를 제공한다.언어는 상식이나 실제 추리에 기초한 직관적인 프로그래밍 프레임워크를 제공한다.

개요

목표의 주요 특징은 다음과 같다.

  • 선언적 신념: 에이전트는 상징적이고 논리적인 언어를 사용하여 그들이 가지고 있는 정보와 목표를 달성하기 위해 행동하는 환경에 대한 신념이나 지식을 나타낸다.지식 표현 언어는 골에 의해 고정되지 않고 원칙적으로 프로그래머의 필요에 따라 달라질 수 있다.
  • 선언적 목표:에이전트는 가까운 장래 또는 먼 미래의 어느 순간에 에이전트가 달성하고자 하는 을 명시하는 복수의 목표를 가질 수 있다.선언적 목표는 에이전트가 설정하고자 하는 환경의 상태를 명시하고, 그러한 상태를 달성하는 방법이나 절차를 명시하지 않는다.
  • 블라인드 약속 전략:요원들은 목표를 달성했을 때에만 목표를 약속하고 목표를 떨어뜨린다.문헌상 맹목적인 공약전략이라고 하는 이 공약전략은, 골에이전트가 사용하는 디폴트 전략이다.인지 작용제는 이미 달성되었다고 믿는 목표가 없는 것으로 가정되는데, 이것이 완전히 달성되었을 때 목표를 떨어뜨림으로써 목표 작용자에게 내재된 제약조건이다.
  • 규칙 기반 작업 선택:대리인들은 자신의 신념과 목표를 고려하여 행동을 선택하기 위해 소위 행동 규칙을 사용한다.이러한 규칙은 대리인의 행동 규칙이 주어진 경우 언제든지 여러 행동을 수행할 수 있다는 점에서 행동의 선택을 강조할 수 있다.이 경우, COLLE 에이전트가 실행할 임의 실행 액션을 선택한다.
  • 정책 기반 의도 모듈:대리인은 주의를 집중하고, 목표의 일부분을 달성하는 데 모든 노력을 기울일 수 있으며, 목표 달성과 관련된 지식만을 사용하여 자신의 행동의 일부를 사용할 수 있다.목표(GOAL)는 구체적인 목표 달성에 전념하는 행동 규칙과 지식을 구조화하는 모듈을 제공한다.비공식적으로, 모듈은 마이클 브래트맨의 의미에서 정책 기반 의도로 볼 수 있다.
  • 지식 수준 커뮤니케이션:대리인들은 정보를 교환하고 그들의 행동을 조정하기 위해 서로 의사소통할 수 있다.목표 에이전트는 자신의 신념과 목표를 표현하는데도 사용되는 지식 표현 언어를 사용하여 의사소통한다.
  • 테스트:당신은 또한 목표를 위한 시험을 쓸 수도 있다.

목표 에이전트 프로그램

border=0 Elevatorworld.png
예는 세계 문제를 차단한다.
다른 예: 목표 다중 에이전트 엘리베이터 컨트롤러[1]

목표 에이전트 프로그램은 각각 지식, 신념, 목표, 행동 규칙, 행동 사양인식 규칙을 포함하여 6개의 다른 섹션으로 구성된다.지식, 신념 및 목표는 예를 들어 Prolog, Answer set programming, SQL(또는 Datalog) 또는 Planning Domain Definition Language와 같은 지식 표현 언어로 표현된다.아래에서는 Prolog를 사용하는 FALL 에이전트 프로그램의 구성요소를 설명한다.

골 에이전트 프로그램의 전체적인 구조는 다음과 같다.

메인: <에이전트 이름> { <섹션> }

목표 에이전트의 구조를 설명하는 데 사용되는 목표 에이전트 코드는 블록스 월드 문제를 해결할 수 있는 에이전트다.에이전트의 신념은 블록 세계의 현재 상태를 나타내는 반면, 에이전트의 목표는 목표 상태를 나타낸다.다음에 나열된 지식 섹션에는 블록 월드 도메인과 관련된 추가 개념적 또는 도메인 지식이 포함되어 있다.

knowledge{block(a), block(b), block(c), block(d), block(e), block(f), block(g).비우다클리어(X) :- 블록(X), not(Y,X). 타워([X]) :- on(X, table)타워([X,Y T]) :- on(X,Y), 타워([Y T])}

지식 섹션에 나열된 모든 블록은 블록의 전체 구성을 특성화하기 위해 각 블록의 위치를 지정해야 하므로 신념 섹션에 다시 나타난다.

믿음{ on(a,b), on(b,c), on(c,table), on(d,e), on(e,table), on(f,g), on(g,table){ on(a,b,c), on(d,e), on(e,table), on(g,table)}, on.}

알려진 모든 블록은 또한 모든 블록을 재사용하는 목표 구성을 지정하는 목표 섹션에도 있다.

목표{{ on(a,e), on(b, table), on(c, table), on(d,c), on(d,c), on(e,b), on(f,d), on(g,table)}

목표 에이전트는 동시에 여러 가지 목표를 가질 수 있다.각각의 목표가 서로 다른 시기에 실현될 수 있기 때문에 이러한 목표들은 심지어 충돌할 수도 있다.예를 들어, 에이전트는 영화관에서 영화를 보고 집에 있는 것을 목표로 할 수도 있다.

ALLE에서, 다른 개념의 골은 구별된다.원시적인 목표는 지식 기반에 정의된 개념과 연계하여 목표 기반에서 따르는 진술이다.예를 들어,tower([a,e,b])원시적인 목표고 우리는 글을 쓴다.goal(tower([a,e,b])이것을 나타내기 위해서.처음에는,tower([a,e,b])또한 대리인은 a가 e 위에 있고 e가 b 위에 있고 b가 테이블 위에 있다고 믿지 않기 때문에 성취 목표이기도 하다.성취목표는 대리인이 실재한다고 믿지 않는 원시목표로서 다음과 같이 표시된다.a-goal(tower([a,e,b])목표가 달성되었다는 것을 표현할 수 있는 것도 유용하다. goal-a(tower([e,b])예를 들어, 탑을 표현하기 위해 사용된다.[e,b]b블록 상단에 있는 block e로 달성되었다.달성 목표와 달성 목표의 개념은 모두 다음과 같이 정의할 수 있다.

a-bel(bel) ::=목표(bel)가 아니라 ::=목표(bal)a(bel) ::=목표(bel) : bel(bel)

대리점 문헌에서 달성 목표의 개념을 정의하는 것에 관한 중요한 문헌이 있다(참고문헌 참조).

ALLE는 규칙 기반 프로그래밍 언어다.규칙은 모듈로 구성된다.COLLE 에이전트의 메인 모듈은 행동 규칙을 통해 행동을 선택하는 전략을 명시한다.아래 첫 번째 규칙은 블록 Y(또는 테이블) 위에 블록 X를 이동시키는 것이 건설적인 경우, 즉 블록을 제자리에 이동시키는 옵션이라고 명시한다.두 번째 규칙은 블록 X가 잘못 배치된 경우 블록 X를 테이블로 이동하는 것이 옵션이라고 명시한다.

메인 모듈{program{program if a-골(타워([X,Y T]), bel(타워([Y T]))), 다음으로 이동(X,Y], 만약 a-골(타워([X T]))이면 이동(X, 테이블)} }

위에서 사용한 이동 작용과 같은 작용은 전제조건과 포스트 조건의 스트립식 규격을 사용하여 지정된다.전제 조건은 작업을 수행할 수 있는 시간(활성화)을 지정한다.사후 조건은 조치를 수행할 때 어떤 효과가 있는지 명시한다.

actionspec{ 이동(X,Y){ pre{{pre(X), clear(Y), on(X,Z), not(X=Y)} post{not(X,Z), on(X,Y)}}}}}

마지막으로, 이벤트 모듈은 환경으로부터 수신된 인식과 같은 이벤트를 처리하기 위한 규칙으로 구성된다.아래 규칙은 블록 X가 블록 Y에 있고 X가 Y에 불평등한 Z 위에 있다고 믿는 수신된 모든 지각에 대해 (X,Y)에 대한 새로운 사실을 믿음 베이스에 추가하고 (X,Z)에 있는 원자(X,Z)를 제거하도록 규정한다.

이벤트 모듈{{program all bel(X,Y), on(X,Z), not(Y=Z))은 insert(X,Y), not(X,Z)를 한다.} }

관련 에이전트 프로그래밍 언어

GOAL 에이전트 프로그래밍 언어는 AGENT0, AgentSpeak, 2APL, Golog, JACK Intelligent Agent, Jadex, 그리고 를 들어 Jason과 같은 다른 에이전트 프로그래밍 언어와 관련이 있지만 다르다.DOAL의 특징은 선언적 목표의 개념이다.목표 에이전트의 목표는 목표를 달성하는 방법이 아니라, 에이전트가 달성하고자 하는 를 설명한다.다른 언어와 달리, 목표 에이전트는 목표에 전념하고 목표를 완전히 달성했을 때에만 목표를 제거한다.BORK는 선언적 프로그래밍과 인지 에이전트가 요구하는 추론 능력에 초점을 맞춘 프로그래밍 프레임워크를 제공한다.

참고 항목

참조

  1. ^ 엘리베이터 시뮬레이터는 원래 크리스 데일리와 닐 맥켈라가 썼으며, http://sourceforge.net/projects/elevatorsim을 통해 원래의 형태로 이용 가능하다.
메모들

목표 개념에 관한 문헌:

  • 라르스 브라우바흐, 알렉산더 포카흐르, 다니엘 몰트, 윈프리드 라머스도르프(2004) 등이었다.BDI 에이전트 시스템의 목표 표현: Multiagent 시스템 프로그래밍에 관한 제2차 국제 워크숍.
  • 필립 R.코헨과 헥터 르베스크(1990).의향은 헌신과 함께 선택이다.인공지능 42, 213–261.
  • 안드레아스 헤르치히와 D.룽인(2004년).C&l 의향이 다시 나타났다.인: 제9차 인투의 프락.지식 표현 및 추론의 회의 원리(KR'04), 527–535.
  • Koen V. 힌드릭스, Frank S. de Boer, Wiebe van der Hoek, John-Jules Ch.마이어(2000년)선언적 목표를 가진 에이전트 프로그래밍.인: 제7차 인토(In 7th In: Proc.인텔리전트 에이전트 VII (ATAL'00), 페이지 228–243에 관한 워크숍.
  • 아난드 S.Rao와 Michael P.조지프(1993년).의도와 합리적인 약속.기술 의원 8호, 호주 인공지능 연구소
  • 비르나 판 리엠스디크, 메흐디 다스타니, 존 쥘 츄.마이어(2009년).갈등의 목표: 에이전트 프로그래밍에서 목표의 의미 기반.국제 자율 에이전트 및 다중 에이전트 시스템 저널.

외부 링크