본문 바로가기
  • AI와 함께 세상을 아름답게
인공지능(AI)이란? - 기초 개념 및 이론

에이전트와 강화학습 (2) - 소프트웨어 에이전트

by neo-Lee 2023. 6. 9.

2. 소프트웨어 에이전트

    소프트웨어 에이전트(agent)는 상태를 가진 에이전트가 외부와 상호작용하면서 상태의 변화를 반복하는 소프트웨어입니다. 에이전트 기술은 인공지능, 분산처리, 이동 컴퓨팅, 네트워크 프로토콜, 미들웨어, 객체지향 기술 등 다양한 기술들이 포함된 소프트웨어입니다. 

    소프트웨어 에이전트(agent)의 종류로는 분산 환경에서 상호 협력을 통해 작업을 수행하는 컴퓨터 프로그램인 다중 에이전트 시스템(Multi Agent System), 네트워크 에이전트 또는 순회 에이전트로 불리며 프로그램 자체가 네트워크를 돌아다니며 수행하는 모바일 에이전트(Mobile Agent), 사용자의 작업을 돕는 형태의 프로그램인 보조 에이전트(Assistant Agent), 사용자가 컴퓨터 시스템을 쉽게 사용할 수 있도록 인터페이스를 지원해 주는 사용자 인터페이스 에이전트(User Interface Agent) 등이 있습니다.

 

 

에이전트의 종류 (출처. 정보통신연구원)

 

    에이전트 소프트웨어는 시뮬레이션이나 인공생명은 물론 컴퓨터 네트워크에서 자율적으로 움직이는 프로그램 시스템에 많이 응용되고 있습니다. 인터넷 정보 검색, 전자상거래, 이동 컴퓨팅, 여행 정보 제공 및 스케줄 관리, 지능형 맞춤 방송, 로봇 작업 협동 제어, 의료·군사 자원의 효율적 분배 및 최적 관리를 위한 기반 기술로 사용되고 있습니다. 구체적인 예를 들어 보겠습니다.

 

    1) 시뮬레이션 분야의 구체적인 응용 예로는 소프트웨어 에이전트 시스템을 활용한 피난행동 시뮬레이션이 있습니다. 이것은 화재 발생 시 건물 안이나 지하도에서 안전한 장소로 이동할 때 어떤 현상이 발생하는지를 조사하는 시뮬레이션입니다. 에이전트는 피난하는 사람을 시뮬레이트해서 자신이 있는 장소나 주변 상황, 주위에 있는 다른 에이전트의 모습 등을 기반으로 규칙에 따라 다음 행동을 결정하는 것입니다. 이때 에이전트가 만들어 놓은 규칙을 설정해서 리더가 있는 경우와 없는 경우의 피난 행동의 차이 등을 조사할 수 있습니다. 또한 에이전트를 배치하는 건물이나 지하도의 구조, 도로, 출입구의 설정 등을 변경해서 건물 설계에 관한 지침을 정할 수도 있습니다.

 

   2) 네트워크에서 동작하는 소프트웨어의 예로 웹크롤러가 있습니다. 웹크롤러는 웹 검색 엔진으로써 사전에 네트워크를 검색해 검색 대상이 되는 정보를 자율적으로 수행하는 소프트웨어 시스템입니다, 웹크롤러는 현재 참조한 엡 페이지에 포함된 링크정보를 추출하여 링크의 주소 페이지를 순서대로 방문하고, 링크를 차례차례  찾아가면서 그 페이지의 정보를 서버에 축적하는 일을 합니다.  소프트웨어 엔진으로써의 웹크롤러는 네트워크 환경이라는 외부와 상호작용하는 소프트웨어이고, 웹 페이지의 정보를 순차적으로 모야 상태를 갱신합니다.

 

    이 외에도 소프트웨어 엔진으로 게임 AI 플레이어가 있습니다. 게임 AI 플레이어는 게임 세계에서 게임환경이나 다른 플레이어와 상호작용하면서 처리를 진행합니다. 게임 AI 플레이어에 대해서는 별도로 공부하는 시간을 가질 예정입니다.

 

    (다음 편에는 실체가 있는 에이전트인 로봇을 공부합니다)

 

2023.06.08 - [인공지능(AI; Artificial Intelligence)] - 에이전트와 강화학습 (1) - 에이전트와 셀룰러 오토마타

728x90

댓글