420 likes | 849 Views
지능형 에이전트. 복잡한 동적인 환경에서 목표 달성을 시도하는 시스템 외부환경 , 센서 , 행위자들 사이에서 상호 작용 소프트웨어 에이전트 (software agent) 또는 지능형 에이전트 (intelligent agent) 로 불림 가상공간 환경에서 특정의 사용자를 돕기 위해서 반복적인 작업들을 자동화 시켜주는 컴퓨터 프로그램 미래의 소프트웨어 산업을 주도할 것 2000 년대 초 시장규모가 4.5 조원에 이르렀음. 센서. 센서. 인지. 인지. 환경. 환경. 에이전트. 에이전트. 행동.
E N D
지능형 에이전트 • 복잡한 동적인 환경에서 목표 달성을 시도하는 시스템 • 외부환경, 센서, 행위자들 사이에서 상호 작용 • 소프트웨어 에이전트(software agent) 또는 지능형 에이전트(intelligent agent)로 불림 • 가상공간 환경에서 • 특정의 사용자를 돕기 위해서 • 반복적인 작업들을 자동화 시켜주는 컴퓨터 프로그램 • 미래의 소프트웨어 산업을 주도할 것 • 2000년대 초 시장규모가 4.5조원에 이르렀음
센서 센서 인지 인지 환경 환경 에이전트 에이전트 행동 행동 행위자 행위자 지능형 에이전트의 개요 • 등장 배경 • 반도체 기술의 발달로 저가, 고성능의 개인용 컴퓨터 보급 • 네트워크의 급속한 확산 인터넷 사용인구 확대 • 동영상과 음성을 지원하는 멀티미디어 기술과 서비스 확산 • 인터넷, 인트라넷 상의 정보량 폭주 정보범람(information overload) • 검색 엔진 개발 활발 과다한 정보 검색에는 한계 • 인공지능은 웹서비스를 사용자들이 쉽게 접근할 수 있도록 하는 기법을 개발하기 위한 새로운 분야 연구 에이전트 • 에이전트: 복잡한 유동적인 실세계 환경에서 목표를 달성하려고 센서를 통하여 외부환경을 인지하고 행위자(actuator)를 사용하여 환경에 영향을 미치는 상호작용의 개체 • 자율적응 에이전트(autonomous adaptive agent) • 소프트웨어 에이전트 • 지능형 에이전트 • 인터페이스 에이전트
전통적 에이전트 설계 방법 • 일반 사용자 프로그램의 에이전트화 • Oval 시스템: 사용자가 에이전트 행동을 기술하는 규칙을 프로그래밍 • 사용자가 직접 프로그래밍 함으로 신뢰할 수 있으나, 프로그래밍은 부담 • 응용문제와 사용자에 대한 지식을 가진 지식공학자가 에이전트 구축 • UCEgo 시스템: UNIX 사용 시 실수를 교정하도록 대안 제시 • 사용자의 프로그래밍 부담은 없다 • 사용자 개인의 선호도를 만족시키지 못함 신뢰도 떨어짐 기계학습을 이용한 접근법 제안 • 기계학습을 사용한 접근법 • 시스템을 적응적으로 변화시켜 동일한 성질의 작업을 효과적으로 수행 • 사용자의 요구조건, 기능 모두 만족시킴 • 개별적 차이를 강조한 환경에 유리
기계학습 • 동일한 성격의 작업을 더욱 효과적으로 수행할 수 있도록 시스템을 적응적으로 변화 • 1960년대 게임이론에서 출발 • 1980년대 이후 활발히 연구 • 기계학습 패러다임 • 귀납적 학습(inductive learning) • 연역적 학습(deductive learning) • 유전 알고리즘(genetic algorithm : GA) • 연결주의 학습(connectionism learning) • 정보검색 및 정보여과에 응용 • 불확실성에서 기술된 확률적 방법론 (Bayesian 분류기를 학습알고리즘으로 사용) • 기계학습 방법들을 이용한 정보 검색 방법 • 멀티에이전트 시스템(multi-agent system : MAS) • 출현배경 • 하나의 에이전트로는 해결하지 못하는 복잡한 문제를 풀기 위하여 여러 에이전트간의 협동이 필요. • 문제해결 • 복잡한 문제를 단순한 문제로 분산 • 단일 에이전트들이 분산된 문제 해결 • 이들 결과를 조합
일상에서 이미 사용중인 에이전트 • MS Office의 워드나 파워포인트의 도우미인 의인화된 캐릭터. • 엑셀의 차트 마법사인 Wizard • Magnet : 스케줄링 및 사용자를 위한 유사 작업들을 자동 분류 • Open Sesame : 키보드와 마우스 사용의 반복적인 유형을 관찰함으로써 이를 감시 해주는 학습 에이전트 • Beyond Mail : 신규 전자우편에 자동으로 반응하는 법을 배우는 에이전트 • IBM사의 Globenet : 주기적으로 인터넷으로 보내져서 IBM 제품에 관한 최근의 뉴스들을 검색하여 고개의 문의사항을 취급하는 직원을 보조하는 탁상용 도우미 • 에이전트 연구추세 • 80년대: 분산 AI 연구자들 중심 – 탐색, 학습, 계획 등 • 90년대 초: 단독형 에이전트(인공지능 학자) • 90년대 중반 이후: 인터넷과 결합한 에이전트(멀티 에이전트 등)
지능형 에이전트의 정의와 성질 • 정의 • 다양하게 정의되고 있음 • Negroponte(MIT 미디어 연구소 소장) : 에이전트는 사용자의 위임된 권한을 갖는 개인 소프트웨어 도우미 • T.Selker(IBM 연구소) : 에이전트란 사람이 시간이 있으면 스스로 할 수 있는 일을 하는 방법을 아는 소프트웨어 • General Magic사 : 네트워크를 이동하도록 발송되는 Telescript 프로그램 • 기타: 목표를 달성하기 위해 적당한 방법으로 행동하여 환경으로부터 수집된 정보를 활용하여 주어진 임무를 수행하는 소프트웨어 환경의 변화에 자신을 적응 시켜야 함 사용자 에이전트 컴퓨터 환경
에이전트의 다양한 정의들의 공통사항 • 특정한 목적을 위해 사용자를 대신해서 작업을 수행하는 자율적인 프로세스(autonomous process) • 독자적으로 존재하지 않고 어떤 환경의 일부이거나 그 안에서 동작하는 시스템 • 환경 : 운영체제, 네트워크, MUD 게임환경 • 지식베이스와 추론 기능을 가지며 사용자, 자원(resource), 다른 에이전트와 정보교환과 통신을 통해 문제해결을 도모 • 스스로 환경의 변화를 인지하고 그에 대응하는 행동을 취하며, 경험을 바탕으로 학습하는 기능을 가짐 • 수동적으로 주어진 작업만을 수행하는 것이 아니고, 자신의 목적을 가지고 그 목적 달성을 추구하는 능동적 자세를 가진다.
에이전트(Agent)의 일반적 성질 • 보통의 소프트웨어와 차별을 주는 특성 • 자율성(autonomy) : 사람이나 다른 사물의 직접적인 간섭 없이 스스로 판단하여 동작 • 사회성(social ability) : 에이전트 통신 언어를 사용하여 사람과 다른 에이전트들과 상호 작용 • 반응성(reactivity) : 실세계, GUI를 경유한 사용자, 다른 에이전트들의 집합, 인터넷 같은 환경을 인지 그 안에서 일어나는 변화에 시간상 적절히 반응 • 능동성(proactivity) : 단순히 환경에 반응하여 행동하는 것이 아니라 주도권을 가지고 목표 지향적으로 행동 • 시간 연속성(temporal continuity) : 전면에서 실행하고 이면에서 잠시 휴식하는 연속적으로 수행하는 일종의 데몬(demon) • 주어진 입력을 처리하여 결과를 보여주고 종료하는 것이 아님 • 목표 지향성(goal-orientedness) : 복잡한 고수준 작업처리를 위해 작은 세부 작업으로의 분할, 처리순서의 결정 등을 책임짐
사람 속성을 가지는 강한 의미의 에이전트의 속성 • 이동성(mobility) : 작업을 현재의 컴퓨터에서 처리하지 않고 다른 컴퓨터로 이동하여 수행함 네트워크 부하를 감소 • 합리성(rationality) : 목표를 달성하기 위해서 행동(목표 달성을 방해하는 방향으로는 행동하지 않음) • 적응성(adaptability) : 사용자의 습관과 작업 방식, 취향에 따라 스스로를 적응시킴 • 협동성(collaboration) : 복잡한 작업을 수행하기 위해 다른 에이전트, 자원, 사람과 협력적으로 작업처리
에이전트 설계를 위한 정의 • 에이전트를 설계/제작하기 위해서 융통성 있게 자율적으로 행동할 수 있는 환경에 있는 컴퓨터 시스템 • 이 정의에 포함된 핵심 개념 3가지 • 상황성(situatedness) : 환경내에서 센서로부터 입력을 받고, 특정 방법으로 환경을 변화시키는 행동을 수행함(cf. MYCIN과 대비) • 자율성(autonomy) : 사람이나 다른 에이전트의 직접적인 간섭 없이 자신의 움직임과 내부 상황을 조절할 수 있는 지각능력을 가짐 예) 소프트웨어 데몬 • 유연성(flexibility): 설계 목적에 부응하기 위한 특성 유연성이 고려될 때 다음의 특징을 가짐 • 반응적(responsive) : 환경을 인식하고, 그 환경 안에서 발생하는 변화에 대해 적절한 방법으로 반응함 • 능동적(pro-active) : 환경에 대한 반응이 기회주의적 목표 지향적인 행동을 취할 수 있어야 하며, 적절한 곳에서 행동을 시작 • 사회적(social) : 문제를 해결하기 위해서 인간과 다른 에이전트들과 상호 작용함 도움을 주거나 받을 수 있음
에이전트의 역사 • 지능형 에이전트 주요 관련 학문 • 인공지능, 객체지향 시스템, 인간과 컴퓨터 상호작용(Human Computer Interaction : HCI) • 인공지능 : 최종적으로 지능 가공물을 만드는 것에 관한 것이고, 이런 가공물이 어떠한 환경 속에서 지각하고 행동할 수 있다면 그것을 에이전트라 할 수 있다. • 70년대 초 인공지능과 관련된 연구 활동 분야 -> 계획(planning) • 계획연구 : “무엇을 할 것인가” 를 스스로 알아내는 것 주로 행동을 위해 요구 되어진 계획 알고리즘에 관심 집중 • 1980년대까지 소규모 연구 • 인공지능 연구자들이 기본적으로 다양하게 다른 지적 활동에 중점을 두는 경향이 있었기 때문
Plans Beliefs Knowledge Desires Goals Intentions 에이전트의 역사 • 인공지능에서의 에이전트 모델 • Newell과 Simon의 물리적 기호 시스템 가설에 근거한 심사 숙고형 에이전트(deliberative agent) -> 대부분이 여기에 속한다. • 특성 : 믿음(belief), 욕망(desire), 의도(intention) BDI structure
에이전트의 역사 • R. Books의 반응형 에이전트(reactive agent) • 다양한 행동들의 상호작용으로부터 나타나는 지능적인 행동의 관점을 강조 • 기호주의 표현이나 추론을 사용하지 않는 에이전트 제어 구조인 포함구조(subsumption archi)를 개발 • MIT’s Cog • 상호작용 에이전트(interacting agent) • 다수의 에이전트들간의 조정(coordination)과 협력(cooperation) • DAI or MAS • FIRA’s Robocup
OOP AOP 기본 구성단위 기본 구성단위 상태정의 파라미터 계산과정 메시지의 형태 방법들의 제약조건 객체 무제약 메시지 전송과 응답 무제약 없음 에이전트 믿음,위임,능력,선택 등 메시지 전송과 응답 통지,요청,제안,거절 등 정직성,일관성 등 에이전트의 역사 • 에이전트와 객체지향 시스템과 비교 • 유사점 • 행동을 수행할 수 있는 어떤 상태를 캡슐화(encapsulation), 메소드화하는 계산적인 개체로 정의 • 메시지 전달방식으로 통신 • 차이점 • 에이전트와 객체들의 자율성의 정도 • 객체는 프로그램 상태 전반에 걸쳐서 제어가 가능하지만, 그것의 행위에 대해서는 제어가 불가능 표. 객체지향 프로그래밍(OOP) 대 에이전트지향 프로그래밍(AOP)
에이전트의 역사 • 인간과 컴퓨터의 상호작용 • 직접조작 • 사용자가 어떤 작업의 수행을 요구했을 때 오직 요구 받은 작업만 수행하는 컴퓨터 프로그램 • 간접조작 • 사용자가 특정한 일을 시키지 않아도 에이전트가 사용자의 행동을 일정기간 동안 관찰하고 그 결과를 기반으로 사용자를 대신하여 작업을 수행. 사용자가 정보를 다루는 형태에 따른 에이전트 역할 이해(직접/간접 조작)
지능형 에이전트의 분류 • 지능형 에이전트의 기능과 역할에 따른 분류 • 학습 에이전트 • 인터페이스 에이전트 • 데스크탑 에이전트 • 인터넷 에이전트 • 모빌 에이전트 • 전자 상거래 에이전트
지능형 에이전트의 분류 • 학습 에이전트 (learning agent) • 정의 사용자가 웹 상에서의 수행하는 행동을 관찰하고 어떤 내용에 관심을 가지고 있는지를 판단하여 사용자에게 알맞은 내용을 전달하도록 하는 것 • 학습과정 • 사용자에게 제공될 자료들에 대한 정보가 제공될 내용과 함께 자체 데이터 베이스에 저장되어 있어야 한다. • 구축된 내용 데이터베이스와 관찰된 사용자 웹 사용 습관을 기초로 데이터 마이닝. • 사용자의 취향과 관심을 결정. • 사용자에게 적합한 내용을 제공. • 학습 에이전트 사용의 어려운 점 • 현재 사이트의 내용을 학습 에이전트를 사용할 수 있는 환경으로 재조정이 필요 • 브라우저의 쿠키를 활용하거나 회원 등록을 통해 사용자를 확인 해야 하는 과정이 필수적
지능형 에이전트의 분류 • 협력적 여과와 학습 에이전트 의 비교 • 협력적 여과 (collaborative filtering) 사용자가 자발적으로 제공한 정보를 사용하여 사용자를 비슷한 선호도를 가진 집단으로 나누어 그 집단 내에서 서로에게 추천하는 것 • 일정 수 이상의 사용자 필요. • 사용자 선호도에 관한 내용을 입력하는 즉시 사용자들에게 맞는 내용을 전달. • 학습 에이전트 • 사용자가 적은 경우에도 적절한 내용 전달. • 사용자의 웹에서의 행위를 일정 시간이상 관찰한 이후에야 정보 제공. • 학습 에이전트의 기계학습에 따른 분류 • 규칙기반 학습 에이전트 • 결정트리(decision tree) 학습 에이전트 • 신경회로망 학습 에이전트 • 강화 학습(reinforcement learning) 에이전트 • 진화학습(evolutionary learning) 에이전트 • 통계적 학습 에이전트
지능형 에이전트의 분류 • 인터넷 뉴스를 개인별로 학습시켜 주는 웹 학습 에이전트 사용 예 • 신경회로망과 지능형 에이전트 기술을 사용한 유즈넷(Usenet) 뉴스그룹 여과 학습 에이전트. • 특징 : 신경망 기술을 여과 알고리즘으로 사용,정보 여과기능,개선된 사용자 인터페이스 향상된 검색어 처리 능력, 한글/영문 키워드 검색기능. 정보 여과 학습 에이전트 실행 예
지능형 에이전트의 분류 • 인터페이스 에이전트 (interface agent) • 사용자 인터페이스 에이전트(user interface agent) 정의 사용자의 원하는 작업을 찾아내서 이들을 네트워크나 응용 프로그램 안 어디에서든지 실행할 수 있도록 이동시켜준다. • Ex) • 마이크로소프트사의 Bob 에이전트에서 작은 개와 작동 • 로터스사의 cc:Mail 안에서 메일 조작을 설명하기 위해 사용하는 형태 • 지니, 의인화된 표현 • 사용자 인터페이스 • 능동적 : 점차 늘어 가고 있다. • 수동적 : 일반적으로 쓰인다. 이유 : 인터페이스 문법이나 규칙을 지켜야 하기때문에 프로세스들에게 더 적은 모호성 • 요구사항 • 사용자 요구의 자연적 모호성을 명확하게 해석하여 모호하지 않은 문장으로 즉시 프로세스에게 전송 • 결과를 사용자에 의해 요구되고 이해되어지는 형태로 변환
지능형 에이전트의 분류 사용자 인터페이스 에이전트 개념 • 인터페이스 에이전트의 예 • CMU에서 개발한 WebMate • WWW을 탐색하는 사용자를 도와주는 에이전트 • 사용자 프로파일로부터 기호를 추론하고 현재 페이지에 이어지는 페이지를 오프라인으로 탐색 • HTTP 헤더를 여과하여 브라우저와 웹 서버간의 트랜잭션을 기록. • 쿠키 정보를 여과하여 사용자의 사생활 보호. • GIF 파일의 애니매이션을 막아서 탐색 속도를 높여준다.
지능형 에이전트의 분류 • 데스크탑 에이전트 (desktop agent) • 데스크탑 에이전트(desktop agent) 정의 PC나 워크스테이션의 운영체제에 상주하면서 국부적으로 실행되는 소프트웨어 에이전트. • 분류 • 운영체제 에이전트 사용자와 운영체제의 본질적인 상호작용을 필요로 하는 사용자 작업들을 수행. • 예제 (윈도우 시스템 에이전트를 이용한디스크 검사)
지능형 에이전트의 분류 • 응용 프로그램 에이전트 사용자에 의해 부여된 작업을 자동적으로 응용 프로그램 내에서 수행 • 예제 (엑셀 차트 마법사) • 응용 프로그램 환경 에이전트 사용자를 대신해서 응용 프로그램 환경에서 작업을 수행 • 예제 : Office Wizard (사용자에 의해 부과된 작업을 응용 프로그램 환경에서 자동적으로 수행한다.)
지능형 에이전트의 분류 • 인터넷 에이전트 (internet agent) • 정의 서버에 상주하면서 사용자와 직접적인 상호작용 없이 사용자를 대신해서 작업을 수행하도록 인터넷상에서 분산된 온라인 정보를 접근하는 프로그램 • 기능에 따른 분류 • 웹 검색 에이전트(web search agent) 사용자를 대신해서 탐색 결과를 제공하기위해 웹 공간을 순회하는 로봇 에이전트를 채용 • 정보여과 에이전트(information filtering agent) 사용자의 개인적 취향에 따라 인터넷상에 있는 정보를 여과 • 고지 에이전트(notification agent) 개인적으로 중요한 사건이 발생하면 이를 사용자에게 알린다
지능형 에이전트의 분류 • 웹 검색 에이전트(web search agent) • 대표적 검색 엔진 Yahoo, Lycos, Infoseek, Alta Vista, 심마니, empas • 사용자가 키워드 중심의 질의어를 검색 엔진으로 전송 • 질의어에 부합되는 URL들의 리스트가 반환 • 검색엔진의 성능평가 • 정확도(precision) 반환된 전체 문서에 대한 질의와 연관된 문서의 비율 • 조회율(recall) 전체 문서 수에 대한 질의어에 의해 반환된 전체 연관 문서들의 비율
지능형 에이전트의 분류 검색엔진의 구조도
지능형 에이전트의 분류 • 예제) 인터넷 정보검색 에이전트 • 워싱턴주립대학에서 개발한 Softbot • Softbot은 소프트웨어 툴을 사용해서 사용자를 대신해서 정보검색, 전자우편 전송, 파일 출력 등의 서비스 수행
지능형 에이전트의 분류 • 모빌 에이전트 (mobile agent) • 정의 클라이언트 컴퓨터로부터 원격 실행을 위해 다양한 서버들로 자기자신을 이동시킬 수 있는 소프트웨어 에이전트 • 특징 • 온라인 작업을 줄여서 네트워크 부하를 감소 • 위치에 무관한 통신은 분산 시스템 기술을 향상 • 단점 : 보안 취약 • 모빌 에이전트 기술의 주요 요소 • 에이전트들이 프로그램 되는 언어 • 인터프리터 • 엔진들이 다른 컴퓨터 상에 상주하도록 허용하는 통신 프로토콜 필요 • 인증(authentication), 보안(security), 사생활보호(privacy), 책임(responsibility)
지능형 에이전트의 분류 • 클라이언트/서버모델과 모빌 에이전트 모델 비교 • 클라이언트/서버 모델 • 데이터를 프로그램 소스에 적재. • 모빌 에이전트 • 개발자에게 프로그램을 데이터 소스에 적재할 수 있는 융통성을 제공 클라이언트/서버 모델과 모빌 에이전트 모델의 비교
지능형 에이전트의 분류 • 모빌 에이전트의 예 • IBM 도쿄 연구소에서 개발한 모빌 에이전트 개발툴 Aglet. • Aglet은 인터넷상에서 한 호스트에서 다른 호스트로 이동할 수 있는 자바 객체. • Aglet은 자신의 데이터뿐만 아니라 프로그램도 함께 이동한다. • ASDK(Aglets Software Development KIT) • 자바로 모빌 인터넷 에이전트를 프로그래밍하기 위한 개발 환경. • ASDK의 Tahiti 프로그램의 실행 예 IBM Aglet을 활용하여 메시지 전송을 실행한 예
지능형 에이전트의 분류 • 전자 상거래 에이전트 (electronic commerce agent) • 전자 상거래 에이전트 역할 • 사용자를 대신해서 쇼핑을 가서 제품 사양을 얻어 오며 사양에 만족하는 구매 추천 목록을 반환 • 상품이나 서비스 판매를 제공함으로써 판매자들을 대신한 점원의 역할 • 고객 상담 • Ex) 가격 비교 검색 엔진 • BargainFinder • Jango • 대표적 예 • 사용자가 원하는 상품에 대해서 최저가의 판매자를 탐색하여 추천하는 서비스 • 가격 비교 에이전트 • Anderson Consulting사에서 개발한 BargainFinder • Excite's Jango • 문제점: 가격 이외의 조건에서 우위를 점하는 사이트의 반발 및 접속 제한고객 상담
멀티에이전트 시스템 (MAS) • 멀티 에이전트 시스템 • 멀티 에이전트 시스템의 개요 • 분산 인공지능(Distributed Artificial Intelligence : DAI) • 복잡한 문제를 여러 개의 작은 부 문제로 분할한 후, 개별 문제의 해를 구하고 이들을 결합시켜 최종적으로 문제를 푸는 메커니즘 • 분산 문제해결(Distributed Problem Solving : DPS) • 분리된 에이전트에 의해 해결되는 부 문제들이 상호 의존적이면서 중첩된 경우에 해들 사이의 비일관성(inconsistency)를 해결하면서 최종 해를 구하는 방식 • 협력 분산형 문제해결(Cooperative Distributed Problem Solving : CDPS) • 임기응변적으로 대응하면서 문제 해결을 지원하기 위해 에이전트들은 상황이 변함에 따라 다른 에이전트들과 대화와 협력하기 위한 행위나 전략을 취하면서 문제를 해결 • 상호 협력형 분산문제해결 기법 • FA/C(functionally-accurate cooperative) 패러다임 부 문제들간에 상호종속성(interdependency)이 문제를 효율적으로 해결하도록 에이전트들을 자극하여 국부 정보를 증대시켜 전체 문제해결 활동에 필요한 정보를 주고받도록 한다.
멀티 에이전트 시스템의 특징 • 각 에이전트는 불확실한 정보 또는 문제 풀이 능력을 가지므로 제한된 견해를 갖는다. • 전체 시스템의 포괄적인 제어 기능이 없다. • 데이터는 분산되어 있고, 계산은 비동기식으로 이루어진다. • 멀티 에이전트는 자신이 존재하는 시스템이나 자신의 보다 나은 목표 달성을 위해 상호작용하고 에이전트들 사이의 상호 작용들이 서로 조화되도록 대화한다. • 대화(communication) : 에이전트들이 그들의 행동이나 행위를 조정 • 조정(coordination) • 공유 환경에서 활동하는 에이전트들이 갖는 중요한 성질로서 에이전트들을 중재하는 기능 • 조정의 정도 : • 에이전트들이 자원 경쟁을 줄이고, 교착상태를 피하며, 안전성을 유지함으로써 이질적인 활동을 피하는 정도이다. • 협력(cooperation): 비적대적인 에이전트들간의 조정 • 타협 (negotiation) : 경쟁적이거나 이기적인 에이전트들 사이의 조정
그림 12.14 멀티에이전트 시스템에서 조정 기법 분류
멀티 에이전트 조정기법에는 일련의 메시지를 교환하는 상호작용 프로토콜이 필수적 • 상호작용 프로토콜(interaction protocol)의 종류 • 조정 프로토콜(coordination protocol) • 제한된 자원을 갖는 환경에서 에이전트들은 그들 자신의 관심사를 증대시키거나 그룹의 목표를 달성하기 위해 서로의 활동을 조정해야 할 때 사용 • 예) 다른 에이전트에게 시간적으로 적절한 정보를 제공, 에이전트 행동의 동기화 • 협력 프로토콜(cooperation protocol) • 작업을 분할하고 이를 에이전트들에게 분배할 때 사용 • 예) 능력이 떨어지는 에이전트와 복잡한 문제를 해결하는 경우 • 계약망 프로토콜(contract net protocol) • 분할된 작업을 분배할 때 사용, 비즈니스 세계의 메커니즘을 모델링한 프로토콜 • 예) 멀티에이전트를 이용한 전자상거래 • 흑판 시스템(blackboard system) • 흑판은 에이전트들 사이에 사건, 자료, 작업 등을 공유하는 하나의 매개체 • 예) 멀티에이전트 시스템의 고유 개념인 DPS에서 사용된 개념 • 타협 프로토콜(negotiation protocol) • 다른 목표를 갖는 에이전트들 사이에 빈번하게 일어나는 상호 작용이 요구될 때 사용 • 타협 : 두 개 이상의 에이전트들에 의해 결합 판단이 이루어지는 과정 • 예) 목적이 서로 상반되는 관계에 적용
계약망 프로토콜(contract net protocol)의 진행과정 계약망 프로토콜을 사용한 작업 처리 과정
멀티에이전트 시스템 응용 • 멀티 에이전트 시스템 응용 • 적용분야 • 복잡한 문제를 해결하기 위해 에이전트 설계, 자원할당, 작업 분할 및 업무 분담 같은 기능이 필요한 모든 분야 • 에이전트 그룹의 계획들 사이의 충돌문제를 해결하기 위한 응용 - 항공 교통 제어(air traffic control) 분야를 위한 협력 전략 • 공정 제어기 분야 • ARCHON • 멀티에이전트 시스템을 개발하기 위한 소프트웨어 플랫폼 • 전기 전송 관리나 발전소의 입자 가속 제어 등에 적용된 가장 초기에 현장 배치된 멀티에이전트 시스템 • 에이전트 팀 협력 • 군사훈련, 로보컵 축구, 인터넷상의 다자간 오락 등등
정보시장(information marketplace)에서 멀티 에이전트 개념을 활용하는 실례 • BIG(resource-Bounded Information Gathering) : UMASS’s MAS lab. • 작업 스케줄링, 계획, 문서처리, 그리고 해석적 문제해결 등 인공지능의 다양한 기술들을 통합하여 인간 정보 수집자의 역할을 수행할 수 있는 정보 수집 에이전트. BIG 에이전트 구조 및 실행 시나리오
에이전트 응용 • 에이전트 응용 • 에이전트 기술의 적용 분야 • 제조업, 공정 제어, 정보통신, 항공 운항 관제, 교통 및 운송관리. • 비교적 작은 틈새에서 작동되는 시스템. • 정보검색 및 여과, 정보 수집 및 통합 등 정보관리 • 전자 상거래와 비즈니스 프로세스 제어를 포함. • 컴퓨터 게임, 인간과 컴퓨터간의 대화식 극장. • 3차원 가상 현실 분야. • 건강 산업(환자 감시와 건강 보조 분야). • 에이전트 상용화의 한계 • 지능형 에이전트 시스템을 설계하고 구축하려면 전문적인 소프트웨어 기술자가 많이 필요. • 에이전트 기술을 광범위하게 채용하기위한 기술적 문제 • 멀티 에이전트 시스템 응용 제품을 정확히 특징짓고 그들의 구조들을 조립할 수 있는 체계적인 방법을 사용할 수 있는 설계자 부족 • 유용한 에이전트 시스템 개발 도구가 부족