52
공학석사학위논문 신경망 학습 및 유전자 프로그램의 진화를 이용한 자율이동로봇의 온라인 행동 학습 On-Line Evolution of Complex Robot Behavior Using Neurogenetic Programming 20008서울대학교 대학원 협동과정 인지과학전공

On - Line Ev olution of Complex Robot Behav ior U s ing N ...Behav ior U s ing N eurog enetic Prog ramming 2000년 8월 서울대학교 대학원 협동과정 인지과학전공 이

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: On - Line Ev olution of Complex Robot Behav ior U s ing N ...Behav ior U s ing N eurog enetic Prog ramming 2000년 8월 서울대학교 대학원 협동과정 인지과학전공 이

공학석사학위논문

신경망 학습 및 유전자 프로그램의 진화를

이용한 자율이동로봇의 온라인 행동 학습

On - Lin e E v olu t ion of Com ple x R ob ot

B e h av ior U s in g N e u rog e n e t ic Prog ram m in g

2000년 8월

서울대학교 대학원

협동과정 인지과학전공

이 광 주

Page 2: On - Line Ev olution of Complex Robot Behav ior U s ing N ...Behav ior U s ing N eurog enetic Prog ramming 2000년 8월 서울대학교 대학원 협동과정 인지과학전공 이

신경망 학습 및 유전자 프로그램의 진화를

이용한 자율이동로봇의 온라인 행동 학습

On - Line Evolution of Complex Robot

Behavior Using Neurogenetic Programming

지도교수 장 병 탁

이 논문을 공학석사 학위논문으로 제출함

2000년 4월

서울대학교 대학원

협동과정 인지과학전공

이광주

이광주의 공학석사 학위논문을 인준함

2000년 6월

심사위원장 인

부위원장 인

심사위원 인

Page 3: On - Line Ev olution of Complex Robot Behav ior U s ing N ...Behav ior U s ing N eurog enetic Prog ramming 2000년 8월 서울대학교 대학원 협동과정 인지과학전공 이

요 약

본 논문에서는 유전자 프로그래밍을 이용한 자율이동로봇의 행동 학습 방법

을 제시한다. 유전자 프로그램은 계층 구조 및 지식 표상을 쉽게 표현할 수 있으

며 프로그램의 크기와 구조가 세대를 거치면서 문제 공간에 적합한 형태로 변화

해 나가기 때문에 로봇 제어 프로그램의 학습에 매우 유용하게 적용될 수 있다.

그러나 기존의 유전자 프로그래밍을 이용한 로봇 제어는 주로 기호식을 사용하

여 프로그램을 진화시키는 방법을 사용하였기 때문에 실제 로봇에 직접 적용하

기에는 적당하지 않다. 실제 로봇은 자신에게 장착된 센서 및 모터를 기반으로

동작하기 때문이다. 그러므로 유전자 프로그래밍을 실제 로봇에 적용하기 위해서

는 기호를 기반으로 진화하는 유전자 프로그램을 로봇 하드웨어와 연결하는 방

식에 대한 연구가 필요하다.

본 논문에서는 실제 로봇에 직접 적용할 수 있는 유전자 프로그램의 진화

기법으로 신경망과 유전자 프로그래밍을 이용한 알고리즘을 제안한다. 진화에 사

용되는 유전자 프로그램의 구성 단위로서 기존의 연구들이 주로 사용하던 기호

수식 대신 자기 조직 신경망 (S elf Organizing M ap : S OM )을 사용하였다. S OM

은 외부의 명시적 지시없이 주어진 입력 패턴들을 학습하여 그 안에 내재해있는

특성을 공간상에 놓여 있는 특정 출력 뉴런으로 표출시켜 줄 수 있는 신경망이

다. 이 논문에서는 S OM을 이용하여 로봇이 보고하는 센서값들의 패턴을 분류하

여 현재 로봇이 놓인 상황을 자기 스스로 분류, 학습할 수 있도록 하였다. S OM

의 출력 뉴런은 진화하는 유전자 프로그램을 구성하는 함수 집합으로 사용되어

그 출력 뉴런이 표상하는 상황에 대해 적절한 반응을 내는 단위 행동을 생성해

내도록 한다. 이와 같은 단위 행동은 유전자 프로그램의 서브트리로 표현된다.

한 유전자 프로그램은 여러 개의 단위 행동을 서브트리로 가지고 이들을 순차적

으로 수행함으로써 좀더 복잡한 행동을 수행하는 로봇 제어 프로그램을 진화시

켜 낼 수 있게 된다.

본 논문에서는 로봇 제어기를 유전자 프로그램으로 표현하고, 유전자 프로

Page 4: On - Line Ev olution of Complex Robot Behav ior U s ing N ...Behav ior U s ing N eurog enetic Prog ramming 2000년 8월 서울대학교 대학원 협동과정 인지과학전공 이

그램의 함수 집합으로 S OM , 기호 수식 및 퍼셉트론(P erceptron )을 사용하여 진

화시킨 후 그 성능을 비교하였다. 그 결과, S OM을 이용한 프로그램의 진화가 변

화하는 환경에 적응할 수 있는 로봇 제어기의 생성에 매우 유용한 기능을 제공

해 준다는 것을 보였다.

주 요 어 : 유전자 프로그래밍, 행동기반 로봇, 자기조직신경망, 적응 행동

학 번 : 98132- 506

Page 5: On - Line Ev olution of Complex Robot Behav ior U s ing N ...Behav ior U s ing N eurog enetic Prog ramming 2000년 8월 서울대학교 대학원 협동과정 인지과학전공 이

차 례

1. 서론 1

1.1 연구의 배경 및 필요성 1

1.2 논문의 구성 5

2. 관련 연구 62.1 행동 기반 로봇 Coordination System 6

2.2 유전자 프로그래밍을 이용한 자율 이동 로봇의 제어 9

3장 Neurogenetic Programming 153.1 Neurogenetic Programming 15

3.3 전체 알고리즘 19

4장 실험 및 결과 20

4.1 Khepera Robot 및 Simulator 20

4.2 로봇 제어 구조 및 학습 22

4.3 실험 방법 25

4.3.1 기호식, 퍼셉트론의 구조 및 학습 26

4.3.2 단순 직선 환경 30

4.3.3 원형/사선 장애물 환경 35

5장 결론 40

참고 문헌 42

Abstract 45

Page 6: On - Line Ev olution of Complex Robot Behav ior U s ing N ...Behav ior U s ing N eurog enetic Prog ramming 2000년 8월 서울대학교 대학원 협동과정 인지과학전공 이

1. 서론

1.1 연구의 배경 및 필요성

전통적인 인공지능은 인간 지능의 주요 요소를 사고와 추리로 보고 이에 기반하

여 인공지능 시스템을 구축하고자 노력하였다. 이러한 방식에 의해 설계된 로봇

은 환경에 대한 기호적 표상을 구축하는 한편, 주어진 과제를 세부 과제로 나누

어 해를 구함으로써 전체 과제를 해결하려 했다. 이 방식의 주된 특성은 기호적

표상에 기반한 계획화 (Planning )과 하향식 세분화를 통한 문제 해결 (T op dow n

problem solvin g )로 나타난다. 그러나 이렇게 설계된 로봇은 주어진 환경에 대한

기호 표상에 기초하여 행동하기 때문에 주어진 환경이 변화하거나 정보가 너무

많은 경우 내부 표상을 만드는 작업 자체가 거의 불가능해진다. 이러한 문제점

은 현실 세계 적용이라는 과제에 직면하면 더욱 두드러진다. 실제 세계는 거의

언제나 동적으로 변화하며 또한 로봇이 처리해야 할 수많은 정보가 산재해 있기

때문이다. 이에 대한 대안으로서 행동 기반 로보틱스 (Behavior - based Robotics )

가 제안되었다. 전통적인 인공지능 시스템이 지식 표상과 이에 대한 조작에 초점

을 맞추었던 것과 달리, 행동 기반 로보틱스에선 내부 표상 및 기호 조작을 배제

하고 로봇의 지각과 반응의 직접적인 연결 및 로봇과 환경 간의 상호작용에 연

구의 중심점을 두었다 [Brook s 1986, 1991a , Arkin 1998]. 1980년 후반 R .A .

Brook s [Brook s 1986, 1991b] 에 의해 주창된 행동 기반 로보틱스는 주어진 상황

에 대해 가장 적절한 반응을 찾아낼 수 있는 로봇 시스템을 구현하기 위해 노력

하였으며 실시간 제어 및 동적 환경에서의 적응 능력 등에서 주목할 만한 성과

를 보이고 있다.

그러나 아직까지 이들이 안정적으로 수행할 수 있는 과제는 장애물 회피나

목표물 근접 등 상대적으로 단순한 과제에 머물러 있는 실정이다. 행동 기반 로

봇이 좀더 복잡한 행동을 보여줄 수 있으려면, 로봇은 각 행동 모듈과의 위계적

계층 구조나 각 행동들을 일정 순서로 수행할 수 있는 능력, 최소한 과거 경험이

나 주어진 환경으로부터 배울 수 있는 능력 및 변화하는 환경에 맞춰 적응할 수

있는 능력 등이 필요하다. 물론 이러한 학습 및 적응 능력은 행동 기반 로봇이

- 1 -

Page 7: On - Line Ev olution of Complex Robot Behav ior U s ing N ...Behav ior U s ing N eurog enetic Prog ramming 2000년 8월 서울대학교 대학원 협동과정 인지과학전공 이

가진 기존 장점을 유지한 상태에서 통합되어야 할 것이다.

이러한 관점에서 유전자 프로그래밍 (Gen et ic program m in g )은 행동 기반 로

봇을 위한 자동 학습 제어기를 개발하는데 유용한 도구가 될 수 있다. 유전자 프

로그래밍은 다윈의 자연 선택 개념에 기반하여 주어진 문제 공간 내에서 적절한

해를 자동으로 생성해 내는 기법이다 [Koza , 1992]. 로봇 제어 프로그램은 결국

여러 가지 행동 모듈들의 위계적 계층 구조로 볼 수 있다. 로봇이 활동할 환경이

변화하거나 그 환경에 대한 정보를 미리 알 수 없다면, 이러한 프로그램의 구조

역시 사전에 결정하기가 힘들다. 유전자 프로그래밍에서 진화를 거치는 컴퓨터

프로그램은 일반적으로 크기와 구조가 고정되어 있지 않고 세대를 거치면서 주

어진 문제에 적합하도록 그 모양이 변화하기 때문에 위에서 말한 로봇 제어 프

로그램과 같이 적절한 해의 구조를 알 수 없는 문제에 적용하기에 매우 유용하

다. 유전자 프로그래밍에서 진화를 거치는 프로그램 개체는 보통 임의의 함수 유

닛과 종단 유닛으로 구성된 LISP의 S - Ex pres sion이나 트리(tr ee ) 구조로 표현된

다. 이러한 표현상의 특성은 위계적 계층 구조나 각 단위간 순서 관계의 표현을

쉽게 해준다. 여기서 특히 제어 구조에 단위 동작 간의 순서를 표현하는 것이 매

우 유용할 수 있는데, 이는 몇 가지 행동을 순서대로 수행하는 것이 과제 해결에

중요한 경우가 있기 때문이다. 그리고 이러한 계층 구조는 상대적으로 간단한

함수 유닛과 종단 유닛으로 구성되기 때문에 자극- 반응 이라는 행동 기반 로봇

의 기본 단위 모듈을 구현하기가 매우 쉽다. 그림 1은 유전자 프로그램 개체의

트리 표현 및 진화 연산자의 적용 과정을 보여준다.

이러한 이유에서 유전자 프로그래밍을 이용하여 학습 및 적응 능력을 갖춘

로봇 제어기를 자동으로 생성해 내고자 하는 연구들이 많이 있어 왔다. 그러나

기존의 유전자 프로그래밍을 로봇 제어에 적용한 연구는 대부분 프로그램의 기

본 단위로 기호식을 사용하였는데 [Koza 1992, Reyn olds 1994, Handley 1994] 이

처럼 기호 표현을 사용한 프로그램의 진화는 시뮬레이션 상에서는 별다른 어려

움 없이 이루어지지만 이를 실제 로봇에 구현하려고 하면 로봇에 부착된 센서와

모터 구동을 어떻게 사용된 기호 표현식과 연결할 것인가라는 문제에 봉착하게

된다. 시뮬레이션에 기반한 실험은 대부분 실제 로봇에서는 중요한 문제인 측정

- 2 -

Page 8: On - Line Ev olution of Complex Robot Behav ior U s ing N ...Behav ior U s ing N eurog enetic Prog ramming 2000년 8월 서울대학교 대학원 협동과정 인지과학전공 이

오차나 모터 구동 오차 등을 무시하고, 때로는 실험의 편이를 위하여 실제 세계

에서는 가능하지 않은 측정치를 프로그램 내부에서 사용하기도 한다. 예를 들어

Koza [Koza , 1992] 는 IF - F OOD - HERE 같은 기호식을 단위 노드로 사용하였는

데, 시뮬레이션 상에서는 이와 같은 식의 값을 매우 간단히 결정할 수 있지만 실

제 로봇이 이를 얻기 위해서는 감지하려는 물체에 대한 센서 출력 값을 수많은

시행을 거쳐 얻어내고 이로부터 그 물체에 대한 센서의 출력 패턴을 알아내야

한다. 또한 센서의 오차 및 왜곡으로 인하여 물체를 감지하지 못하였거나 잘못

판단하는 경우 역시 감안해야만 한다. 기호 표현을 이용하여 진화시킨 유전자 프

로그램은 이와 같은 오차나 실제 센서 측정 및 모터 구동 방식과의 연계를 무시

하는 경우가 많기 때문에 종종 일반화 능력이 떨어지게 된다. 그러므로 유전자

프로그래밍을 이용하여 실제 로봇 제어 프로그램을 진화시키기 위해서는 이와

같은 기호 표현을 실제 로봇 하드웨어와 어떻게 연결할 것인가라는 문제를 해결

해야 한다.

유전자 프로그래밍 기법을 이용한 기존 연구들의 또 한 가지 문제는 이들

그림 1. 일반적인 유전자 프로그램의 표현 양식 및 교배

연산자를 통한 자식 프로그램의 생성

- 3 -

Page 9: On - Line Ev olution of Complex Robot Behav ior U s ing N ...Behav ior U s ing N eurog enetic Prog ramming 2000년 8월 서울대학교 대학원 협동과정 인지과학전공 이

이 진화시킨 로봇 제어 프로그램이 상대적으로 단순한 수준의 행동 이상을 보여

주지 못했다는 점이다. 이는 대부분의 연구가 주어진 과제를 수행하는 행동을 단

일 행동으로부터 진화시키고자 하였기 때문이다. 그러나 좀더 복잡한 행동을 로

봇이 보일 수 있으려면, 한 가지 이상의 행동이 적당히 결합되어 순차적으로 실

행되어야 할 것이다. 예를 들어 상자를 특정 장소로 밀어 이동시켜야 하는 과제

를 수행하기 위해서는 일단 상자를 찾아 그 위치까지 이동하는 행동을 먼저 실

행하고 상자를 목적지까지 밀고 가는 행동을 순차적으로 실행하여야 한다. 이와

같은 과제 수행은 상자를 찾고 그 위치까지 이동하는 과제와 상자를 진행방향과

일치시키고 목적지를 찾아가는 과제로 나눌 수 있다. 실제 응용 시에는 이처럼

과제를 세분하고 각각의 과제에 대한 해를 개별적으로 찾는 방식이 유용할 수

있다.

본 논문에서는 실제 로봇에 적용될 수 있는 유전자 프로그램을 진화시키기

위한 방법으로서 신경망과 유전자 프로그래밍을 결합한 알고리즘을 제안한다. 진

화에 사용되는 유전자 프로그램의 단위 노드로서 기호 위주의 함수나 센서값들

의 고정된 비교 대신 자기 조직 신경망 (S elf Organizing M ap : S OM )을 사용하

여 로봇 하드웨어로부터 얻은 정보를 바로 유전자 프로그램에 적용, 진화시킬 수

있는 방법을 연구하였다. S OM은 주어진 입력 패턴의 특성을 추출하여 공간적인

연관성을 가진 출력으로 변환해 줄 수 있기 때문에 이를 로봇의 센서가 보고하

는 입력값들의 패턴 분류에 적용하면 설계자의 명시적인 지도나 특별한 사전 지

식없이 주어진 환경을 자기 스스로 학습할 수 있게 된다 [Haykin , 1999]. 이처럼

사전 지식 및 설계자의 지시 없이 자기 스스로 학습할 수 있는 능력은 로봇이

놓여진 환경이 끊임없이 변화하거나 너무 복잡하여 활동에 필요한 정보를 모두

보유할 수 없을 경우 그 환경에 적응하기 위해 로봇이 필수적으로 갖추어야 하

는 기능이다. 본 기법에서는 이처럼 S OM을 이용한 상황 판단 학습과 동시에,

S OM 출력 뉴런의 활성화 여부를 함수 유닛으로 활용하여 현 상황에 대한 적절

한 반응을 찾는 유전자 프로그램의 진화가 같이 일어난다. 즉 로봇은 상황에 대

한 판단과 동시에 그에 대한 행동 전략을 학습하게 되는 것이다. 그리고 주어진

과제를 분할하고 각각의 과제를 해결할 수 있는 서브 트리를 F itness sw itchin g

- 4 -

Page 10: On - Line Ev olution of Complex Robot Behav ior U s ing N ...Behav ior U s ing N eurog enetic Prog ramming 2000년 8월 서울대학교 대학원 협동과정 인지과학전공 이

기법을 이용하여 순차적으로 실행, 평가함으로써 로봇이 주어진 과제를 세분하여

해결할 수 있게 된다. 실험은 센서 및 모터의 구동 오차가 고려된 시뮬레이터를

이용하여 수행하였다.

1.2 논문의 구성

본 논문은 다음과 같이 구성되었다. 2장에서는 행동 기반 로봇의 행동 제어 기법

과 유전자 프로그래밍을 로봇 제어기에 적용한 연구를 살펴 본다. 3장에서는

S OM 및 유전자 프로그래밍을 결합한 로봇 제어기의 구조 및 학습 방식에 대해

서 설명하고 4장에서는 이를 구현하여 실험을 하고 이 결과를 기호식 및 퍼셉트

론을 이용한 실험 결과와 비교하였다. 5장에서는 본 연구 내용을 요약하고 결론

을 기술한다.

- 5 -

Page 11: On - Line Ev olution of Complex Robot Behav ior U s ing N ...Behav ior U s ing N eurog enetic Prog ramming 2000년 8월 서울대학교 대학원 협동과정 인지과학전공 이

2. 관련 연구

2.1 행동 기반 로봇 Coordination System

행동 기반 로보틱스는 행동을 자극과 이에 대한 반응의 사상으로 본다. 주어진

자극에 대한 로봇의 반응은 이와 같은 행동들이 동시 다발적으로 동작한 결과로

써 나오게 된다. 이처럼 행동 기반 로보틱스에서 로봇이 어떤 상황에서 행동을

하기 위해서는 병렬적으로 진행되는 행동 모듈들의 출력을 통합하고 정리하는

과정이 필요한데 이를 coordinat ion sy st em이라 부른다. 이러한 coordin at ion

sy st em의 하나가 Brook s에 의해 제기된 Sub sumption Archit ecture이다 [Brook s

1986]. Sub sum ption Architecture에서는 각각의 행동이 층 (Lay er )으로 표현되며,

여러 층이 모여 주어진 과제를 수행한다. 각 층은 서로 독립적인 목표 (Goal)를

가지고 있으며 이들은 병렬적으로 자신의 역할을 수행한다. 각 층은 Au gm ented

F init e St at e M achine (AF SM )이라 불리는 모듈들로 구성되는데, 이 A F SM은 주

어진 입력에 대해 특정 행동을 출력하는 가장 기본적인 함수로서 기능한다. 하위

층에 속하는 AF SM의 입력 및 출력은 상위 층에 의해 억제되거나 차단될 수 있

는데 이와 같은 방식을 이용하여 상위 층은 하위 층의 내부 실행 과정에 영향을

주지 않으면서 하위 층의 동작을 제어할 수 있다. 즉, 상위 층은 하위 층을 포괄

하는 계층적 구조를 가지며, 하위 층은 상위 층의 존재를 감지하지 못한 채 자신

의 동작을 계속 수행한다. 이와 같은 Sub sum ption Archit ecture의 예를 그림 2에

보였다.

이 시스템은 3개의 층으로 이루어져 있으며, 각 층은 각각 장애물 회피, 탐

색, 협소공간에서의 탈출 등의 목표를 병렬적으로 수행하고 있다. 최하위층인 장

애물 회피층은 로봇 센서로부터 입력을 받아 장애물이 있을 경우 멈추거나 방향

을 틀도록 하는 기능을, 탐색 층은 로봇 주변에 장애물이 없으면 될 수 있는 대

로 넓은 영역을 돌아 다니도록 하는 기능, 최상위층은 로봇이 장애물 회피층이나

탐색 층의 능력만으론 빠져 나올 수 없는 협소 공간에 빠졌을 때 뒤돌아 나올

수 있는 기능을 제공한다. 각 층은 Run A w ay , F orw ard , W ander 등의 AF SM으

로 이루어져 있고, 각 AF SM은 로봇 센서나 다른 AF SM으로부터 입력을 받아

- 6 -

Page 12: On - Line Ev olution of Complex Robot Behav ior U s ing N ...Behav ior U s ing N eurog enetic Prog ramming 2000년 8월 서울대학교 대학원 협동과정 인지과학전공 이

모터를 구동시키거나 다른 AF SM의 입력으로 자신의 출력을 제공한다. 이 때 상

위층은 하위층의 출력 혹은 입력을 억제/ 차단하여 자신이 생성한 입출력으로 대

체할 수 있다. 예를 들어 W an der라는 A F SM은 장애물이 없을 경우 Run A w ay

의 출력을 가로챈 뒤 대신 임의방향으로의 이동 명령을 내어 로봇 주변에 장애

물이 없어도 로봇이 그 자리에 멈춰 서 있지 않고 여기저기 돌아다니도록 한다.

그림 2. Sub sum ption Archit ecture (Brook s , 1987)

Lost

ReverseCollide

Go

Forward

Wander

RunAway S

SS

SENSORS

Avo id- Obje c t Laye rBRAKES

MOTOR

Bac k- o ut - o f - T ightS it uat io ns Laye r

Exp lo re Laye rClock

이와 같은 방식으로 Sub sum ption Architecture는 실제 로봇 제어에 적용되

었으며, 하드웨어(Hardw are)로의 구현 측면이나 동적 환경에서의 실시간 반응

등에서 좋은 성능을 가지고 있음을 보여주었다 [Brook s 1986, 1987]. 그러나 이

방식은 각 행동 모듈간의 계층 구조가 고정되어 있고 새로운 행동 모듈을 설계

하여 통합하는 작업이 매우 어려워 새로운 환경 및 과제에 대한 학습이나 적응

능력에는 한계를 가지고 있었다.

한편 Arkin은 M ot or sch em a라 불리는 방식을 행동 기반 로봇의

coordinat ion sy stem으로 제안하였다 [Arkin , 1989]. 이 방식은 모든 모듈이

S chem a로 구성되는데, 하나의 sch em a 는 지각 및 행동 양식에 대한 지식과 이

에 대한 계산 과정으로 이루어 지고, 단위 행동은 M ot or schem a와 P ercept ion

schem a로 구성되어 있다. P erceptual schem a는 M ot or schem a에 포함되어 로봇

이 놓인 상황에 대한 정보를 제공해 주는 역할을 하는데, 이는 순환적으로 정의

- 7 -

Page 13: On - Line Ev olution of Complex Robot Behav ior U s ing N ...Behav ior U s ing N eurog enetic Prog ramming 2000년 8월 서울대학교 대학원 협동과정 인지과학전공 이

될 수 있어서 세부 정보를 통합하여 좀더 의미 있는 정보를 창출해 낼 수 있다.

예를 들어 적외선 센서를이용하여 심장을 감지하는 지각 schem a A와 컴퓨터

시각을 이용해 사람의 모양을 감지하는 지각 schem a B는 한 단계 높은 지각

schem a C에 의해 통합, 사람이라는 정보를 M otor sch em a에 전달할 수 있다.

각 M ot or sch em a는 이와 같은 지각 schem a에 기반하여 자신이 취할 행동을

V ect or 형식으로 출력한다. 로봇 제어기는 이와 같은 M otor schem a가 여럿 모여

구성되고, 각 M ot or schem a가 나름대로 자신의 동작 Vector를 출력하면 로봇은

이들 Vector의 합을 통해 움직일 방향과 속력을 얻게 된다 [Arkin 1989, 1998].

그림 3에 이 과정을 간단히 도해하였다.

그림 3. M ot or S ch em a (Arkin , 1998)

ES 1

ES2

ES3

PS 1

PS2

PSS1 PSS2

VECTORSUM

MS1

MS1

PS3

M OT ORS

ROBOT

Motor Schema

Environmenta lSensors

ENVIRONMENT ... ...

P S - P erceptu al S ch em a

P S S - P erceptu al

Sub schem a

M S - M ot or S chem a

ES - Env ironm ent al S en sor

이 외에서도 A ction S elect ion [M aes 1990], N eural Net w ork [Ow en an d

N ehm zow . 1996, F loreano and M on dada 1996], F u zzy Sy stem [Michaud, 1999]

등 다양한 기법이 로봇 행동 Coordinat ion Sy stem으로 연구되었다.

- 8 -

Page 14: On - Line Ev olution of Complex Robot Behav ior U s ing N ...Behav ior U s ing N eurog enetic Prog ramming 2000년 8월 서울대학교 대학원 협동과정 인지과학전공 이

2.2 유전자 프로그래밍을 이용한 자율 이동 로봇의 제어

행동 기반 로봇의 가장 큰 장점은 지각과 행동의 밀접한 연결 및 자극의 병렬

처리 등으로 인해 변화하는 환경에 대해 즉각적으로 반응할 수 있다는 것이다.

실제로 인간이 생활하는 공간에서 활용할 수 있는 로봇을 만들고자 할 때 이같

은 점은 로봇이 필수적으로 갖추어야 할 능력이다. 그러나 한편 이와 같은 접근

은 저수준의 지각- 반응 과제에는 효과적이지만 좀더 높은 수준의 실용성 있는

과제 수행에는 역부족이다. 이를 극복하기 위해서는 과제의 세분화 또는 이에 대

한 순차적인 실행 능력, 계획 혹은 계층적 행동 학습, 동적 환경에의 적응 능력

등이 갖추어져야 한다.

유전자 프로그래밍(Genetic Program m in g , GP )은 유전자 알고리즘의 일종

으로서 유전 및 자연 선택 이론을 적용하여 주어진 문제에 적합한 컴퓨터 프로

그램을 자동으로 생성해 내는 기법이다. 알고리즘은 일단 임의로 컴퓨터 프로그

램들을 생성하여 프로그램 개체 군을 만드는 것에서 시작한다. 이후 교배, 재생

산, 돌연변이 등의 유전 연산자를 개체에 적용하여 개체들을 변화시키면서 주어

진 문제에 적합한 개체들을 찾아낸다 [Koza 1992]. 유전자 프로그래밍에서 각 프

로그램 개체는 보통 트리 구조나 LISP의 S - expression으로 표현된다. 이들은 문

제 공간에 알맞게 선택된 함수 집합과 종단 집합으로 구성되는데, 종단 유닛은

보통 GP 프로그램에 출력값을 제공하고 함수 유닛은 프로그램 입력에 대한 연산

을 수행한다. 일단 프로그램 개체 군이 생성되면 각 개체는 하나씩 실행되면서

주어진 과제를 얼마나 잘 수행하였는가에 따라 자신의 적합도를 평가받는다. 모

든 개체가 평가된 후 적합도에 따라 개체들이 선택되고, 선택된 개체들에 대해

재생산(r eprodu ct ion ), 교배 (crossov er ), 돌연변이 (m utat ion ) 등의 유전 연산자가

적용되어 다음 세대의 개체군을 이루고, 이 개체 군에 대해 앞서와 같은 과정이

반복된다. 이와 같은 과정을 정리해 보면 다음 표 1과 같다 [Mit chell, 1997].

본 논문에서는 주어진 환경에 적응할 수 있는 로봇 제어 프로그램을 구현

하기 위해 이와 같은 유전자 프로그래밍 기법을 이용한다. 이처럼 유전자 프로그

래밍을 로봇 제어에 적용한 예는 Koza [Koza , 1992]에서 찾아볼 수 있는데,

Koza는 여기에서 유전자 프로그래밍을 이용하여 인공 개미가 먹이를 찾아가는

- 9 -

Page 15: On - Line Ev olution of Complex Robot Behav ior U s ing N ...Behav ior U s ing N eurog enetic Prog ramming 2000년 8월 서울대학교 대학원 협동과정 인지과학전공 이

과정을 시뮬레이션하였다. 시뮬레이션 환경은 그림 4와 같이 25x 25의 격자 공간

이며, 20마리의 인공개미가 25개의 먹이를 찾아 내어 한곳으로 모으는 프로그램

을 유전자 프로그래밍을 이용하여 진화시켰다. 20마리의 개미는 모두 동일한 프

로그램에 의해 제어되었다. 프로그램에 사용된 함수 집합과 종단 집합은 다음과

표 1. 일반적인 유전자 프로그래밍의 알고리즘

GP (F itn ess , N , r, m )

F itn ess : A f unction that ass ig ns an evaluta t ion s core, g iven a

p rog ram

N : T he num ber of p rog ram s to be includ ed in the p opp ulation.

r: T he f raction of the p op ulation to be rep laced by Cross ov er at

each s tep .

m : T he m utat ion rate.

· I n it ializ e p op ulat ion : P ← Generate p program s at random

· E valuate : F or each p in P , ex ecut e p and com put e F itn ess (p )

· W hile [ t erm in al condit ion is n ot tru e ] do

Create n ew g en erat ion, P s :

1. S elect: P robabilist ically select (1- r)p m emb er s of P t o add

t o P s . T he probablity Pr (h i) of select in g p i from P is

g iv en by

P r (h i) =F itn ess(p i)

N

j = 1F itn ess(p j )

2. Cross Ov er : Probabilistically select r p2

pair s of

m em ber s from P , accordin g t o Pr (h i) giv en abov e. F or

each pair , <p 1 , p 2 > , produce t w o offsprin g by applying th e

Crossov er operator . A dd all offspring to P s .

3. M utate : Choose m percent of the m em ber s of P s w ith

uniform probability . F or each , at tach randomly creat ed

subtr ee at th e random ly select ed point .

4. Up date: P ← P s .

5. E valuate : for each p in P , com put e F itness (p )

· Return the program from P that has the highest fitnes s .

- 10 -

Page 16: On - Line Ev olution of Complex Robot Behav ior U s ing N ...Behav ior U s ing N eurog enetic Prog ramming 2000년 8월 서울대학교 대학원 협동과정 인지과학전공 이

같다.

함수 집합 F = { IF- FOOD- HERE, IF- CARRYING- FOOD, IF- FOOD- ADJECENT,

PROGN2}

종단 집합 T = {(MOVE- RANDOM), (PICK- UP), (MOVE), (DROP- FOOD)}

<그림 4> 시뮬레이션 환경 <그림 5> 진화된 개체의 수행

각 프로그램 개체의 적합도는 각 프로그램의 실행이 끝난 후 25개 먹이들

이 가까이 모여 있는 정도로 평가되었다. 즉 적합도

F =i j

d ( i , j ) , ( d ( i , j )는 먹이 i , j 간의 거리)로 계산되었다. 이상과 같은 설

정 위에 500개의 개체를 이용하여 프로그램을 진화시킨 결과, 약 30세대만에 대

부분의 먹이를 한곳에 모으는 프로그램을 진화시켰다 (그림 5).

이처럼 Koza는 단순한 행동 규칙으로부터 상대적으로 복잡한 행동이 발현

될 수 있음을 보여주었다. 그러나 제어 프로그램을 구성하는 함수 유닛과 종단

유닛을 구현함에 있어 센서나 모터 구동 등 실제 로봇 하드웨어에 대한 고려없

이 사전 정의된 기호식을 사용하였기 때문에 실제 로봇에 직접 적용하기에는 무

리가 있었다.

Reyn olds [Reyn olds , 1994] 는 유전자 프로그래밍을 이용하여 진화된 로봇

제어 프로그램의 적응 능력을 높이기 위해 잡음이 들어간 데이터를 생성하여 실

험에 사용하였다. 실험은 시뮬레이션 상에서 수행되었으며, 로봇에는 직진 및 주

어진 각도로 방향 돌리기 등의 동작과 거리 측정 센서를 이용하여 물체를 탐지

- 11 -

Page 17: On - Line Ev olution of Complex Robot Behav ior U s ing N ...Behav ior U s ing N eurog enetic Prog ramming 2000년 8월 서울대학교 대학원 협동과정 인지과학전공 이

할 수 있는 기능이 부여되었다. 이상과 같은 기능을 구현하기 위해 Reyn olds는

다음과 같은 함수와 종단 집합을 사용하였다.

함수 집합 F = { +, - , *, %, iflte, look- for- obstacle, t urn }

종단 집합 T = { 0, 0.01, 0.1, 0.5, 2 }

종단 집합은 숫자로만 구성되어 있는데, 이 숫자들은 turn의 경우 회전 각

도를, look - for - ob st acle 함수의 매개변수로 쓰이는 경우는 탐지 방향을 제시한

다. 이와 같이 Reynolds는 센서 오차와 모터 구동 오차를 고려하여 로봇 제어 프

로그램을 진화시켜 내었다. 진화된 로봇 제어 프로그램은 장애물을 피해 협소 공

간을 따라 가는 기능을 수행하였으나 안정적인 성능을 보이지는 못했으며 실제

로봇과의 연계를 깊게 고려하지는 못하였다.

Han dley의 연구는 Koza [Koza , 1994] 가 제안한 ADF s (Autom atically

Defined F unt ion s )를 로봇 제어기에 적용한 결과를 기술하고 있다. 이 연구에서

도 역시 함수 및 종단 집합은 (left , right , m ov e, clim b , light ) 및 (progn2,

progn3, progn4) 등으로 미리 정의된 기호식을 사용하였다. 실험은 49 x 49 크기

의 격자 공간에서 상자 밀기, 지정된 위치까지 이동 등의 과제를 수행하는 프로

그램을 ADF를 이용한 유전자 프로그래밍으로 진화시켜내었다.

장병탁, 조동연 [Zh ang and Cho, 1998] 등은 유전자 프로그래밍을 이용하여

다중 로봇 개체들이 협동하여 탁자를 목적지까지 밀고 가는 과제를 수행할 수

있는 프로그램을 진화시켜내었다. 여기서는 주어진 과제를 탁자가 있는 위치까지

모이기, 탁자를 목적지까지 밀고 가기라는 두 가지 세부 과제로 분할 하고, 각각

의 과제를 수행하는 제어기를 하나의 서브트리로 표현하여 F itn ess S w itchin g기

법을 이용하여 두 세부 행동을 순차적으로 수행하는 방식으로 주어진 과제를 수

행하는 기법을 연구하였다.

이처럼 유전자 프로그래밍을 이용한 기존의 연구들이 대부분 시뮬레이션상

에서 이루어져 진화된 프로그램과 실제 로봇 하드웨어와의 연계 부분을 상당 부

분 등한시 하였다. 이에 반해 Nordin과 Ban zhaf [Nordin and Ban zhaf, 1996] 는

실제 로봇을 구동하는 제어프로그램을 유전자 프로그래밍을 이용하여 진화시켜

냄으로써 유전자 프로그래밍 기법과 로봇 하드웨어간의 연계 방법을 제시하였다.

- 12 -

Page 18: On - Line Ev olution of Complex Robot Behav ior U s ing N ...Behav ior U s ing N eurog enetic Prog ramming 2000년 8월 서울대학교 대학원 협동과정 인지과학전공 이

이들은 CGP S (Com pilin g Gen et ic Programm ing Sy st em )라는 기법을 이용하여

프로그램을 진화시켰다. 이 기법은 기존 유전자 프로그래밍에서와 달리 함수 집

합과 종단 집합으로 기호 표현을 사용하지 않고 구현할 로봇 하드웨어의 CPU

기계 코드와 레지스터를 이용하였다. 또한 프로그램의 표현도 트리 구조나

S - Ex pres sion 대신 그림 6와 같이 1차원 배열을 사용하였다.

<그림 6> CGPS에서의 프로그램 개체 표현 [Nording and Banzhaf, 1997]

이와 같은 기법은 로봇 하드웨어에 바로 구현될 수 있으며, 프로그램 개체

가 바로 특정 하드웨어의 기계어이기 때문에 별도의 해석 과정 없이 바로 실행

이 될 수 있기 때문에 수행시간이 매우 빠르다. 이들의 실험은 Kh epera라는 미

니 로봇을 이용하여 수행되었는데, 이들은 주어진 실험 환경에서 장애물 회피 및

물체 따라가기 등의 과제를 안정적으로 수행하는 제어기를 생성해 낼 수 있었다.

그러나 이와 같은 기법은 함수 집합이 특정 CP U의 기계 코드로 이루어져 있어

진화된 프로그램을 다른 로봇 하드웨어에 적용하기가 어렵고, 개체가 트리 등이

아니 일차원 배열로 표현되기 때문에 유전자 프로그래밍이 일반 유전자 알고리

즘에 비해 가지는 주요한 장점 중의 하나인 계층 구조의 표현 용이성 및 교배

연산 (Cros sov er )시 부분 문맥 유지 특성 등이 빛을 바래게 된다.

앞서 언급한 Koza의 연구 [Koza , 1992]를 실제 로봇에 적용하여 제어프로

그램을 개발하려는 연구가 Ebn er & Zell에 의해 수행되었다 [Ebner an d Zell,

1999]. 이들은 RW I B21(Real W orld Int erface B21)이라는 직경 50cm , 높이 1m

정도의 원형 로봇을 사용하여 실험하였다. 로봇의 몸통 주위에는 24방향으로 초

음파 센서와 적외선 센서가 부착되어 있고, 하단 4개의 바퀴를 DC 모터로 구동

하여 움직인다. 이들이 로봇 제어 프로그램에 사용한 함수 집합과 종단 집합은

IF LT E , PROGN2 와 F L (F orw ard Left ), F M (F orw ard Middle ), F R (F orw ard

Right ), BL (Back Left ), BM (Back Middle ), BR (Back Right ) 등의 고정된 동작

명령과 몇 가지 상수식 등이었다. 프로그램 구성에 사용되는 상수와 각각의 동작

- 13 -

Page 19: On - Line Ev olution of Complex Robot Behav ior U s ing N ...Behav ior U s ing N eurog enetic Prog ramming 2000년 8월 서울대학교 대학원 협동과정 인지과학전공 이

명령으로 실제 로봇이 움직이는 정도 등은 경험적으로 결정되어 고정되었다. 이

들은 이와 같은 설정 하에 2달동안 실험을 하여 장애물에 부딪치지 않고 이동할

수 있는 로봇 프로그램을 유전자 프로그래밍을 통해 생성해 낼 수 있었다. 그러

나 이들의 실험이 보여준 진화 행동은 단지 벽으로 둘러 싸인 직선 공간을 앞뒤

로 돌면서 이동하는 정도에 그쳐 비록 이들이 충돌시 로봇 몸체의 손상 문제, 진

화 시간, 실제 센서와 동작의 모터 구동과의 연계 방법 등 실제 로봇 적용시 고

려해야 할 여러 가지 사항등을 점검하고 이에 대한 해결을 시도하려고 하였지만

만족할 만한 성과를 내지는 못하였다고 할 수 있겠다. 또한 프로그램의 구성에

사용된 함수 및 종단 집합을 기호식으로 표현하고 그 기호식을 하드웨어 상에서

구현하는 모듈을 경험적으로 결정하여 고정시켜버림으로써 좀더 유연하고 적응

능력을 갖춘 로봇 프로그램을 진화시켜 내는데 한계를 보였다.

- 14 -

Page 20: On - Line Ev olution of Complex Robot Behav ior U s ing N ...Behav ior U s ing N eurog enetic Prog ramming 2000년 8월 서울대학교 대학원 협동과정 인지과학전공 이

3. Neurogenetic Programming

3.1 Neurogenetic Programming

앞 절에서 언급한 대로 유전자 프로그래밍의 진화 과정은 유전자 알고리즘과 비

슷하다. 그러나 유전자 알고리즘에선 진화를 거치는 개체가 보통 고정 길이 비트

배열 (fix ed bit str ing )로 표현되지만, 유전자 프로그래밍에선 보통 트리나 LISP의

S - Ex pres sion으로 표현된다. 이러한 개체의 표현 방식이 유전자 프로그래밍의

주요 장점이 되는데, 대다수의 문제 공간에서 해는 고정 길이 비트 배열보다는

일정한 계층 구조로 표현되는 것이 더 자연스러울 경우가 많기 때문이다. 더구나

주어진 문제를 해결하는 컴퓨터 프로그램의 구조와 모양은 보통 사전에 알 수가

없는 경우가 많고, 해가 이처럼 계층적 구조를 가지고 동적으로 모양과 크기가

변화하는 프로그램은 고정 길이 비트 배열보다는 유전자 프로그램의 트리 구조

로 표현하는 것이 훨씬 자연스럽다 [Koza 1992].

로봇 제어 프로그램은 기본 행동 모듈의 계층적 구조로 볼 수 있기 때문에,

이와 같은 유전자 프로그램의 특성은 여기에 잘 적용될 수 있다. 로봇 제어 프로

그램 역시 설계 시에 로봇이 동작할 환경에 대한 정보를 모두 알 수 없는 경우

가 많다. 이는 곧 유전자 프로그래밍과 같이 제어 프로그램의 구조와 모양을 동

적으로 변화할 수 있는 기법이 제공된다면 주어진 환경에 적응하는 능력에 매우

큰 도움이 될 수 있다는 사실을 시사한다. 게다가, 제어에 필요한 기본 행동 모

듈들 간의 계층 구조는 유전자 알고리즘의 고정 길이 비트 배열보다는 유전자

프로그램의 표현 방식에 더욱 자연스럽게 표현될 수 있을 것이다.

본 논문에서는 로봇의 기본 행동 모듈이 트리 형태의 유전자 프로그램으로

표현된다. 프로그램 트리를 구성하는데 사용되는 함수 집합에는 로봇의 센서를

입력층으로 갖는 S OM (S elf Org anizin g M ap )의 출력 뉴런들을 사용하였다.

S OM은 주어진 입력 패턴의 특성을 추출하여 공간적인 연관성을 가진 출력으로

변환해 줄 수 있는 신경망이다 [H aykin , 1999]. 본 방법에서 S OM은 로봇이 보고

하는 센서 값을 입력으로 받아 고정된 수의 출력 뉴런 중 하나를 활성화시키게

된다. 로봇은 세계를 자신에게 장착된 센서을 통해 받아들인다. 따라서 로봇에게

- 15 -

Page 21: On - Line Ev olution of Complex Robot Behav ior U s ing N ...Behav ior U s ing N eurog enetic Prog ramming 2000년 8월 서울대학교 대학원 협동과정 인지과학전공 이

있어 세계에 대한 표상이란 센서의 입력 양상이다. 따라서 S OM은 로봇이 맞닥

뜨리는 상황을 몇 가지 상황으로 분류해 주는 역할을 수행하게 된다. 이러한 방

식은 로봇이 자신이 놓인 환경을 스스로 학습하고 자동으로 분류하는 능력을 제

공한다. S OM을 이용한 상황 판단 학습과 동시에, S OM 출력 뉴런의 활성화 여

부를 함수 유닛으로 활용하여 현 상황에 대한 적절한 반응을 찾는 유전자 프로

그램의 진화가 같이 일어난다. 즉 로봇은 상황에 대한 판단과 동시에 그에 대한

행동 전략을 학습하게 되는 것이다.

로봇의 반응은 트리 구조의 루트에서 시작하여 S OM의 출력에 따라 주어진

상황을 판단하고 이에 따라 트리의 노드를 이동하면서 종단 노드에 이르면 이

종단 노드가 표현하는 행동을 취하는 방식으로 이루어 진다. 종단 집합은 로봇의

반응으로 이루어진다. 이 반응은 사전에 정의해 놓았다. 표 2는 실험에 사용된

로봇이 취할 수 반응을 정리하였다.

표 2. 트리 구성에 사용된 종단 집합

구분 기호 의미

Terminal Nodes

TL, TR Turn Left/Right

MF Move Forward

RM Random Move

ST Stop

다음 그림 7은 위에 설명한 함수 집합과 종단 집합을 이용한 로봇 제어 트

리의 예를 보여준다.

3.2 Fitness switching

그러나 위에 제시된 이러한 단순 트리에 의한 행동 진화로는 복잡한 행동을 학

습하기 힘들다. 좀더 복잡한 과제의 수행을 위해서는 과제를 분화하여 각각의 세

부 과제를 위한 기본 행동을 따로 진화하여 이 행동을 순차적으로 연결하여 본

과제를 수행하는 전략이 필요하다. 이러한 방식의 진화를 위해 본 논문에서는

F itness sw it chin g 기법을 사용하였다. F itn ess sw itchin g 기법은 진화하는 유전

- 16 -

Page 22: On - Line Ev olution of Complex Robot Behav ior U s ing N ...Behav ior U s ing N eurog enetic Prog ramming 2000년 8월 서울대학교 대학원 협동과정 인지과학전공 이

자 프로그램 트리의 각 서브 트리가 각각의 행동을 진화하는데 사용되며 각각의

서브트리에 대한 적합도 함수 역시 각 행동에 따라 다르게 정의되어 진화하는

기법이다 [Zhang and Ch o, 1998]. 이 기법을 이용하면 로봇은 각 서브 트리가 표

현 하는 일련의 행동을 순차적으로 수행하게 되기 때문에 단일 행동을 직접 진

화시키는 기법보다 복잡한 행동을 쉽게 진화시킬 수 있다.

F itn ess sw it ching 절차는 다음과 같다 [Zhan g an d Cho, 1998].

1. 주어진 과제를 몇 개의 세부 과제로 나누고 각 과제를 해결할 수 있는 기

본 행동을 정의한다.

B = {B 1, B 2 , . . . , B n }

2. 각 기본 행동에 대한 적합도 함수를 각 행동이 해결해야 할 세부 과제에

맞게 정의한다.

F = {f 1,f 2 , . . . , f n }

3. 과제를 풀기 위해 취해져야 할 기본 행동을 순서대로 연결한다.

S t = S t - 1 S t

그림 7. 로봇 제어기의 표현 예. "S OM의 2번째 출력 뉴런이 발화하면

1번째 출력 뉴런의 발화 여부를 보고 발화했으면 St op 아니면

Ran dom - M ov e, 2번째 뉴런이 발화하지 않았으면 일단 전진후

(PROG2) n번째 출력을 보고 발화했으면 T urn - Left , 아니면

T urn - Right ".

S1 S8 L1 L8... ...... ...

O1 On...S OM

O2

O1 PROG2

On

TL TR

ST RM FW

Gen et ic T ree

- 17 -

paperless
paperless
paperless
Page 23: On - Line Ev olution of Complex Robot Behav ior U s ing N ...Behav ior U s ing N eurog enetic Prog ramming 2000년 8월 서울대학교 대학원 협동과정 인지과학전공 이

이 때 전체 적합도 함수는 각 기본 행동에 대한 적합도를 연결함으로써 계

산된다.

F t = F t - 1 f t

4. 1에서 정의한 기본 행동을 서브트리 (Subtr ee)로 표현하고, 루트 노드 (Root

node) 밑에 이들 모두를 자식 트리로 가지는 유전자 프로그램을 정의한다.

즉 전체 프로그램 A 는 하나의 루트 노드와 이 루트 노드 밑에 있는

A i ( i = 1, . . . , n )의 서브트리로 구성된다.

A = ( A 1 , A 2 , . . . , A n )

5. 4에서 정의된 유전자 프로그램을 유전자 프로그래밍 기법을 이용하여 진화

시킨다. 하나의 프로그램이 가지고 있는 서브트리는 순차적으로 호출되어

문제 공간에 적용된다. 즉, A 1이 실행되고 이 서브트리의 적합도가 f 1에

의해 계산되고, A 2가 호출되어 실행되고 이의 적합도가 f 2 에 의해 계산

된다. 이와 같은 방식으로 n개의 서브트리에 대한 적합도가 모두 계산되면

이들을 모두 통합하여 프로그램 A 에 대한 적합도를 계산한다.

이와 같은 방식을 이용하여 비교적 복잡한 과제를 수행하는 로봇 제어 프

로그램을 효율적으로 진화시킬 수 있는데, 본 논문에서는 여기에서 각각의 기본

그림 8. F itness sw itchin g 기법을 사용한 유

전자 프로그래밍의 개체 표현. Ai는 각 서브

트리, Bi는 이 서브트리가 담당하는 행동.

A1

PROGn

A2

An......

B1

B2

Bn

- 18 -

paperless
paperless
paperless
paperless
paperless
paperless
paperless
Page 24: On - Line Ev olution of Complex Robot Behav ior U s ing N ...Behav ior U s ing N eurog enetic Prog ramming 2000년 8월 서울대학교 대학원 협동과정 인지과학전공 이

행동을 담당하는 서브트리 군을 따로 구별하지 않고 동시에 진화시키는 방법을

사용하였다. 이에 대한 개념도를 그림 8에 나타내었다.

3.3 전체 알고리즘

S OM의 학습과 유전자 프로그래밍의 F itn ess S w itchin g 기법을 결합한 본 기법

의 전체 알고리즘을 정리하면 다음과 같다.

표 3. 전체 알고리즘

NeuroGenet icEv olv e ()

Initialize populat ion : P op ← Generat e p program s at r an dom

Create S elf Org anizin g M ap w ith n i input unit s , nj output unit s

Initialize S OM w eight s w ith sm all random v alues

F or each gen erat ion g = 1 t o G

S ubP op ← S elect m in div idu als from P op at r an dom

F or each indiv idual p in S ubP op

F or each subtr ee t of p

F or i = 1 t o S m ax

Get norm alized sen sor v alu e an d input t o S OM

Ex ecute t

Updat e S OM w eight s

Com put e F itn ess ( t)

EndF or

EndF or

Com put e F itness (p ) = F itn ess( t)

En dF or

N ewS ubP op = { }

F or select ion st ep s = 1 t o m / 2

S elect p 1 and p 2 from S ubP op b ased on F itn ess (p i)

Creat e c1 an d c2 by Cross ov erM utat ionR ep rod uction(p 1 , p 2 )

N ewS ubP op ← N ewS ubP op ∪ (c1 , c2 )

En dF or

Updat e P op : P op = P op ∪ N ewS ubP op

EndF or

Return the program from P op th at h as the high est fitnes s .

- 19 -

Page 25: On - Line Ev olution of Complex Robot Behav ior U s ing N ...Behav ior U s ing N eurog enetic Prog ramming 2000년 8월 서울대학교 대학원 협동과정 인지과학전공 이

4.실험 및 결과

4.1 Khepera Robot 및 Simulator

로봇 제어 프로그램을 실제로 적용하고 실행하기 위해 본 논문에서는 Khepera라

는 미니 로봇을 사용하였다. Khepera Robot의 모양과 사양은 다음 그림 9과 표

4와 같다. 이 로봇은 2개의 모터에 의해 구동되는 좌우 2개의 바퀴에 의해 움직

이며 각 바퀴는 전진 및 후진을 할 수 있다. 로봇의 몸통에는 앞 쪽에 6개, 뒤

쪽에 2개, 총 8개의 적외선 센서가 장착되어 있는데, 각 적외선 센서는 전면 약

5cm 정도 영역 내의 물체의 유무와 그 거리를 감지할 수 있다. 8개의 적외선 센

서는 또한 광센서로도 작동할 수 있어 센서가 부착된 부근의 조도를 감지할 수

있다.

실험에 사용한 시뮬레이터는 이 로봇을 기반으로 하여 개발된 것으로 실제

로봇과 같이 8개의 적외선 센서(Infr ar ed S en sor , IR ) 및 광센서와 2개의 모터로

구동되는 바퀴가 구현되어 있다. 적외선 센서는 적외선 반사에 의해 센서로부터

약 5cm (sim ulat ed dist ance ) 전방의 물체 유무를 0∼1023까지 수치로 나타내준다.

또한 이 센서가 광센서로 작동할 때는 주변 조도를 0∼525까지의 수치로 보고

해 준다 (그림 10) [Michel, 1996].

로봇의 행동은 좌/ 우 두 개의 모터를 제어함으로써 이루어 지며, 시뮬레이

션 환경에서 모터는 +10(전진)에서- 10(후진)까지의 실수값을 설정함으로써 제어

그림 9. Kh epera 로봇 외양 및 장착 장비

- 20 -

Page 26: On - Line Ev olution of Complex Robot Behav ior U s ing N ...Behav ior U s ing N eurog enetic Prog ramming 2000년 8월 서울대학교 대학원 협동과정 인지과학전공 이

할 수 있다. 시뮬레이션 시 적외선 거리 센서에는 10% , 광센서에는 5% 의

오차가, 모터 구동 시에는 구동력과 방향에 5% 10% 의 오차가 임의로 추

가되어 실제 상황을 근사해낸다. 이처럼 시뮬레이터가 실제 로봇과 매우 근사하

게 구현되어 있기 때문에 이를 통해 개발한 제어 프로그램을 실제 로봇으로 이

식하기가 매우 쉽다.

표 4. Khepera Robot 사양

구성 요소 사 양

Processo r Moto rola 6833 1

RAM 256 Kbytes

ROM 128 or 256 Kbytes

Motion 2 DC Motor with incre me nta l e ncode r

Maxima l s peed 60 cm/s

Se nsors 8 Infra - red proximity a nd light se nso rs

Powe r Recha rgea ble NiCd Batte ries or exte rna l

SizeDia mete r: 55 mm

He ight: 30 mm

We ight About 70 g

그림 10. Kh epera Sim ulator 프로그램

- 2 1 -

Page 27: On - Line Ev olution of Complex Robot Behav ior U s ing N ...Behav ior U s ing N eurog enetic Prog ramming 2000년 8월 서울대학교 대학원 협동과정 인지과학전공 이

4.2 로봇 제어 구조 및 학습

로봇의 제어는 유전자 프로그램에 의해 수행된다. 하나의 유전자 프로그램 개체

는 두 개의 서브 트리를 가지고 있으며, 각 서브 트리는 앞에서 기술한 바와 같

이 자기조직 신경망의 출력을 함수 노드로 취하며 종단 노드는 표 2에 있는 단

위 행동을 선택하여 구성된다. 유전자 프로그램의 함수 노드로 사용되는 자기조

직 신경망(S OM )은 입력 뉴런 16개와 16개의 출력 뉴런을 가진다. 입력 뉴런의

수는 로봇이 가지고 있는 거리측정용 적외선 센서 8개, 밝기 측정용 광센서 8개

로부터 각각 입력을 바로 받기 위해 16개로 하였고, 출력 뉴런은 로봇이 주어진

환경으로부터 처하게 되는 상황을 분류하기 위한 것으로 기호식이나 퍼셉트론을

이용한 실험에서 얻은 정보에 기초하여 16개로 정하였다. S OM의 입력 뉴런은

로봇의 적외선 센서 및 광센서 측정값을 0.0 ∼ 1.0 사이의 값으로 변형하여 하

게 된다.

먼저 유전자 프로그램들의 개체들 중에서 하나의 유전자 프로그램이 선택

되면 첫 번째 서브트리가 일정 st ep 동안 로봇을 제어한다. 제어는 트리의 루트

노드에서 시작하는데, 그 노드가 함수 노드이면 그에 해당하는 S OM의 출력 뉴

런의 출력값을 계산하여 이 값이 정해진 역치값보다 크면 좌측 자식 노드로, 작

으면 우측 자식 노드로 이동한다. S OM의 출력 은 다음 식 (1)에 의해 결정된다.

O i = w i x ( 1)

여기서 O i는 i번째 출력 뉴런의 출력, w i는 i번째 출력 뉴런의 W eight v ector ,

x는 입력 벡터이다. 현재 검사하고 있는 노드가 종단 노드이면 로봇이 취할 행

동 명령을 가지고 트리를 빠져 나온다.

로봇이 일단 S OM과 유전자 프로그램에 의해 수행할 명령을 추출해 내고

나면 현재 입력과 출력에 의해 S OM 가장 큰 출력을 내는 출력 뉴런을 결정하

고, 이 뉴런 및 주변 뉴런에 대해 연결 강도를 갱신한다. 연결 강도는 다음 식

(2)에 의해 갱신된다.

w j ( n + 1) = w j ( n ) + ( n ) h j , i( x ) ( n ) ( x - w j ( n ) ) ( 2)

- 22 -

Page 28: On - Line Ev olution of Complex Robot Behav ior U s ing N ...Behav ior U s ing N eurog enetic Prog ramming 2000년 8월 서울대학교 대학원 협동과정 인지과학전공 이

여기서 w j는 j 번째 출력 뉴런의 W eight v ect or , n은 epoch 수이다. 식에 있는

( n )은 Learning rat io 함수로서 ( n ) = 0 ex p ( - n2

) , 0 = 0 . 1 , 2 = 2000 에

의해 결정된다. h j , i( x ) ( n )은 Neighb orhood 함수로서 주어진 입력 패턴에 대해 가

장 큰 출력을 내는 출력 뉴런이 결정되었을 때 그 뉴런과 함께 연결 강도를 갱

신할 주변 뉴런 및 갱신 정도를 결정한다. 이 함수 값은 다음 식 (3)에 의해 결

정된다.

h j , i( x ) ( n ) = ex p ( - |j - i |2 2 ( n )

) (3)

여기서 ( n )은 ( n ) = 0 ex p ( - n1

) , 0 = 4 .0 , 1 = 2000에 의해 값이 결정된다.

S OM의 연결 강도 조정은 프로그램의 진화 과정과 동시에 진행된다.

주어진 스텝 동안 로봇을 제어하고 난 뒤에는 각 서브 트리에 대한 적합도

를 계산한다. 로봇은 주어진 과제를 수행하기 위해 두 개의 세부 행동을 순차적

으로 수행하게 되는데, 이 두 세부 행동은 각각 하나의 서브 트리로 표현된다.

따라서 하나의 유전자 프로그램 개체는 두 개의 서브 트리로 이루어져 있다. 첫

번째 세부 행동의 목표는 장애물을 피하면서 될 수 있는 대로 많은 영역을 탐사

하는 것이고 두 번째 세부 행동의 목표는 램프를 찾아 가는 것이다. 이와 같은

목표에 따라 첫 번째 서브 트리와 두 번째 서브 트리의 적합도는 각각 다음 식

(4), (5)와 같이 계산되었다.

F ( i 1) = {f w i 1- ( |tl i 1

- tr i 1| + st i 1

+ c i 1) }/ S (4)

F ( i2) =( 1 .0 - L m in , i2

)

S( 5)

식 (4)에서 f w i 1은 i번째 시행시 전진 스텝수이고 tl i 1

는 T urn Left , tr i 1는 T urn

Right , st i 1는 Stop, c i 1

는 충돌 횟수, S 는 한 트리가 제어하는 동안 로봇이 취한

전체 스텝수로 트리당 1000으로 고정되었다. 식에서 알 수 있듯이 이 적합도 계

산식은 될 수 있는 대로 많은 영역을 탐사하고 다닌 제어 프로그램에 높은 값을

부여하도록 고안되었다. 로봇이 실제로 움직이는 것은 전진 스텝을 취할 경우뿐

- 23 -

Page 29: On - Line Ev olution of Complex Robot Behav ior U s ing N ...Behav ior U s ing N eurog enetic Prog ramming 2000년 8월 서울대학교 대학원 협동과정 인지과학전공 이

이기 때문에 전진 스텝을 양수로 넣고 여기에서 로봇이 장애물과 충돌한 횟수를

감산하였다. T urn Left나 T urn Right는 장애물이 없는 자리에서 계속 맴을 도는

프로그램의 생성을 억제하기 위해 각각이 취한 스텝수의 차이를 전체 값에서 감

산하였다. St op 스텝수 역시 제자리에서 계속 정지해 있는 프로그램을 억제하기

위해 전체에서 감산되었다. 식 (5)는 램프를 찾는 행동을 위한 적합도 식이다. 여

기서의 적합도는 단순히 매 스텝마다 최소값을 갖는 광센서 값과 1.0과의 차를

구하여 전체 스텝에 대한 이 값의 평균을 취하였다. 광센서 값은 빛이 밝을수록

더 낮은 값을 갖기 때문에 1.0과의 차를 계산하였다. 로봇에 장착되어 있는 광센

서는 램프가 근처에 없으면 8방향의 광센서가 모두 자신이 취할 수 있는 최대값

에 근사하고 램프 가까이에 가면 램프쪽을 바라보고 장착되어 있는 광센서 한두

개 정도만 급격하게 낮은 값을 갖고 나머지는 여전히 최대값을 유지한다. 이러한

특성을 고려하여 두 번째 적합도 평가식에선 전체 광센서의 값을 모두 취하지

않고 최소값을 갖는 센서값만으로 적합도 평가식을 구성하였다.

한 개체에 속한 모든 트리에 대한 수행이 끝나면 개체에 대한 적합도를 평

가하고, 다음 개체를 선택하여 이상과 같은 과정을 반복하여 수행하였다. 적합도

는 위의 식과 같이 로봇의 수행 성능에 의해서 결정되는데, 본 실험에서 사용한

시뮬레이터에선 로봇 센서 및 이동 구현 시 오차가 주입되기 때문에 로봇이 동

일한 프로그램 또는 트리에 의해 제어된다고 하더라도 매 시행마다 이동 경로가

달라지고, 2적합도 계산 결과도 매 시행마다 달라지게 된다. 따라서 한 프로그램

개체의 적합도를 정확하게 계산하기 위해서는 여러 차례의 시행을 거쳐 얻어낸

적합도 수치를 통계적으로 처리하여 하나의 대표값을 얻어낼 수 있는 방법이 요

구된다 [Reyn olds , 1994]. 여기서는 한 개체에 대한 적합도는 4번의 시행에 걸쳐

얻어진 결과를 취합하여 그 중 가장 나쁜 값을 60% , 평균값을 40% 반영하여 최

종 적합도를 결정하였다.

개체 군의 교체는 St eady - st at e g enerat ion 기법을 사용하였다. 즉, 한 번에

4개의 개체를 임의로 선택하여 순차적으로 실행하고 실행 결과에 따라 적합도를

계산하고 tourn am ent selection으로 2개의 개체를 선택하여 교배(cros sov er ), 재

생산 (r eproduct ion ), 돌연변이(m ut at ion ) 등의 진화 연산자를 적용하여 새로운 자

- 24 -

Page 30: On - Line Ev olution of Complex Robot Behav ior U s ing N ...Behav ior U s ing N eurog enetic Prog ramming 2000년 8월 서울대학교 대학원 협동과정 인지과학전공 이

식 개체를 생성한 뒤 기존 개체 군에 통합하였다. 유전자 프로그램의 진화에 사

용된 설정 사항은 다음과 같다.

표 5. 유전자 프로그래밍 설정 사항

전체 개체수 50

최대 세대 100

교배율 0.8

돌연변이율 0.1

재생산율 0.1

트리의 최대 깊이 10

4.3 실험 방법

S OM을 사용한 유전자 프로그래밍의 효용성을 검증하기 위하여 유전자 프로그램

의 함수 집합을 기호식, 퍼셉트론 및 S OM 등 세 가지로 구성하고 각각의 경우

를 단순 직선 환경과 원형 장애물 및 사선이 들어간 복잡한 환경 하에 적용, 결

과를 비교하였다. 실험은 앞서 언급한 Kh epera Sim ulat or [Michel, 1996]를 이용

하여 진행하였다.

먼저 그림 11과 같이 직선 장애물로 이루어진 단순 환경에 맞추어 기호식

을 설계하고, 이에 기반하여 퍼셉트론을 학습하였다. 이와 같은 설정에서 기호식

그림 11. 원형/ 사선 장애물 환경그림 12. 단순 직선 환경

- 25 -

Page 31: On - Line Ev olution of Complex Robot Behav ior U s ing N ...Behav ior U s ing N eurog enetic Prog ramming 2000년 8월 서울대학교 대학원 협동과정 인지과학전공 이

과 퍼셉트론을 이용한 프로그램을 진화시키고, S OM을 같은 환경에 적용, 설계자

가 사전 지식을 활용하여 설계한 함수 집합의 성능에 얼마나 근접할 수 있는 가

를 살펴보았다. 그리고 나서 설계된 함수집합을 전혀 다른 환경으로 옮겨 새로운

환경에서의 적응 능력을 살펴보았다. 이 환경은 그림 12에 보는 바와 같이 직선

대신 사선 및 원형 장애물로 이루어져 있고 장애물 수도 이전 환경에 비해 증가

하여 난이도가 훨씬 높아졌다. 이러한 환경에서 기존의 단순 직선 환경에 맞추어

설계된 기호식과 역시 단순 직선 환경 하에서 학습된 퍼셉트론을 함수집합으로

사용하여 프로그램을 진화시키고, 이를 S OM을 이용하여 진화시킨 프로그램의

성능과 비교하였다.

4.3.1 기호식, 퍼셉트론의 구조 및 학습

먼저 기호식의 설계는 그림 11의 단순 직선 환경에 기반하여 구성되었다. 이 환

경은 수직 수평으로 놓여진 벽이 장애물로 작용하고 목표물로서 두 개의 램프가

있는 비교적 단순한 환경으로 실험에 사용한 기호식은 이 환경에 적합하게 설계

되었다. 즉, 로봇이 놓여있는 상황을 장애물이 전/ 후/ 좌/ 우에 있는 4가지 경우와

목표물이 전/ 후/ 좌/ 우에 있는 4가지 경우 등 8가지로 나누고, 이를 로봇 센서와

특정값과 비교하여 판단하는 식으로 구성하였다. 이 때의 비교값 및 비교할 센서

의 조합 등은 경험적으로 결정하였다. 다음 그림 13 및 표 6에 사용한 기호식 및

식에 사용된 센서 위치를 나타내었다.

퍼셉트론의 학습은 유전자 프로그램의 진화를 시작하기 전에 미리 수행되

었는데, 벽과 목표물인 램프를 구별하기 위해 8개의 퍼셉트론이 사용되었다. 각

각의 퍼셉트론은 8가지 상황을 센서를 이용하여 구분하는 것을 목표로 하여 학

습되었다. 이 8가지 상황은 기호식의 경우와 마찬가지로 장애물이 전/ 후/ 좌/ 우에

있는 4가지 경우와 목표물이 전/ 후/ 좌/ 우에 있는 4가지 경우 등 8가지였다. 퍼셉

트론의 학습 목표치는 위의 기호식을 이용하여 판단한 결과가 1 또는 0으로 제

공되었다. 각 퍼셉트론은 16개의 입력 뉴런을 가지고 1개의 출력 뉴런을 가지고

있다. 퍼셉트론의 구조 및 8개의 퍼셉트론이 판단하는 상황을 나타내는 기호 등

- 26 -

Page 32: On - Line Ev olution of Complex Robot Behav ior U s ing N ...Behav ior U s ing N eurog enetic Prog ramming 2000년 8월 서울대학교 대학원 협동과정 인지과학전공 이

을 그림 14와 표 7에 나타내었다. 표 8에는 퍼셉트론의 학습에 사용된 상수를 보

였다 [Lee and Zhan g , 2000].

그림 13. 수식에 사용된 센서의

기호 및 위치. Sx는 0∼1024, Lx

는 0∼500의 범위를 가진다.

표 6. 기호식에 사용된 함수 집합

기호 의 미 사용 기호식

IOL 좌측에 장애물if S 0 > 700 A ND S 1 > 700

then true else false

IOF 전방에 장애물if S 2 > 700 A ND S3 > 700

then true else false

IOR 우측에 장애물if S4 > 700 A ND S5 > 700

then true else false

IOB 후방에 장애물if S6 > 700 A ND S7 > 700

then true else false

IT L 좌측에 목표물if L0 > 250 OR L1 > 700

then true else false

IT F 전방에 목표물if L2 > 250 OR L3 > 250

then true else false

IT R 우측에 목표물if L3 > 250 OR L4 > 250

then true else false

IT B 후방에 목표물if L5 > 250 OR L6 > 250

then true else false

PROG2왼쪽 자식트리 수행

후 오른쪽 수행

- 27 -

Page 33: On - Line Ev olution of Complex Robot Behav ior U s ing N ...Behav ior U s ing N eurog enetic Prog ramming 2000년 8월 서울대학교 대학원 협동과정 인지과학전공 이

그림 14. 퍼셉트론의 구조

S1

IOL

S8 L1 L8... ...

... ...

표 7. 퍼셉트론에 사용된 함수 집합

기호 의 미 구 현

IOL 좌측에 장애물

각각을 모두 그림

12와 같은 퍼셉트론

으로 구현, 총 8개

의 퍼셉트론을 함수

집합으로 사용.

IOR 우측에 장애물

IOF 전방에 장애물

IOB 후방에 장애물

IT L 좌측에 목표물

IT R 우측에 목표물

IT F 전방에 목표물

IT B 후방에 목표물

PROG2왼쪽 자식트리 수행 후

오른쪽 수행

표 8. 퍼셉트론 학습시 사용된 인수

Learnin g Rat io 0.1

학습 방법 Backpropag ation

입력 뉴런 개수 16

출력 뉴런 개수 1

발화 역치 (F ir in g T hreshold ) 0.9

Epoch 1,800

S OM의 경우 학습과 유전자 프로그램의 진화가 동시에 일어나도록 하였기

때문에 퍼셉트론과 달리 사전 학습 과정이 필요없다. 다만 적절한 S OM 출력 뉴

런의 개수를 결정하기 위하여 기호식을 사용한 실험을 수행하면서 로봇이 경험

- 28 -

Page 34: On - Line Ev olution of Complex Robot Behav ior U s ing N ...Behav ior U s ing N eurog enetic Prog ramming 2000년 8월 서울대학교 대학원 협동과정 인지과학전공 이

하게 되는 상황을 수집하였다. 이론적으로 기호식 및 퍼셉트론을 사용한 경우에

로봇이 분류가능한 상황은 2 8 = 256가지이다. 기호식이나 퍼셉트론같은 경우

각각의 경우가 독립적으로 일어날 수 있기 때문에 여러 가지 상황의 조합이 가

능하기 때문이다. 그러나 S OM의 경우 여러 W inner - t akes - all 방식으로 학습이

되고 동작하기 때문에 주어진 상황에 대해 보통 1개의 뉴런만이 발화하게 된다.

따라서 S OM이 표상할 수 있는 상황은 S OM의 가지고 있는 출력 뉴런의 개수

만큼이다. 따라서 앞서 두 방식과 정당한 비교를 하려면 S OM의 출력 뉴런 개수

는 사용된 퍼셉트론의 개수 8개보다는 커야 한다. 이론적으로 이는 256개가 되어

야 하나 실제로 모든 상황이 다 일어나는 것은 아니다. 예를 들어 목표물이 전후

좌우에 모두 있는 경우 같은 상황은 실제로는 절대로 일어나지 않는 상황이다.

또한 S OM은 기본적으로 주어진 입력 패턴을 압축하여 분류하는 기능을 제공해

주기 때문에 출력 뉴런의 수는 위의 이론적 수치보다는 훨씬 작게 잡을 수 있다.

따라서 적절한 출력 뉴런의 수를 결정하기 위해서는 실제로 로봇이 경험하는 상

황 빈도를 수집하여 이를 기반으로 출력 뉴런의 개수를 결정하는 것이 타당하다.

이를 위해 실제로 로봇이 100세대를 거치면서 경험하게 되는 상황을 수집하여

그 빈도를 알아보았다. 이 결과를 다음 그림 15에 나타내었다. 50개체 100세대

그림 15. 로봇이 경험하는 상황을 표 4에 의해 분류하였을 경우 각각에

대한 발생 빈도. 발생 빈도수가 0인 경우는 표시하지 않았음.

- 29 -

Page 35: On - Line Ev olution of Complex Robot Behav ior U s ing N ...Behav ior U s ing N eurog enetic Prog ramming 2000년 8월 서울대학교 대학원 협동과정 인지과학전공 이

동안 로봇은 약 20,000,000회의 이동을 겪게 되는데, 이 중 10,000회 이상 일어나

는 상황이 22가지, 100,000회 이상은 14가지였다. 이와 같은 정보 및 몇 가지 구

현 시 고려사항을 기반으로 하여 S OM의 출력 뉴런은 16개로 결정하였다.

4.3.2 단순 직선 환경

이상과 같은 설정 하에 기호식, 퍼셉트론, S OM 등을 각각 함수 집합으로 사용하

여 유전자 프로그램을 진화시켰다. 실험에 사용한 환경은 위 그림 11에 보인 단

순 직선 환경으로서 함수 집합으로 사용할 기호식을 이 환경에서 시행착오를 거

쳐 경험적으로 결정한 것이기 때문에 기호식을 이용한 프로그램의 진화가 가장

좋은 성능을 나타낼 가능성이 크다. 퍼셉트론은 이 기호식을 목표로 하여 학습을

하였기 때문에 이의 성능 또한 S OM을 이용한 결과보다는 좋을 것으로 생각되었

다. S OM의 경우 실험자가 가지고 있는 사전 지식을 거의 고려하지 않고 스스로

학습하는 방식을 취하였기 때문에 이들을 사용한 프로그램이 앞서 두 방식에 비

하여 어느정도의 성능을 보여줄 수 있는 가가 주요 관찰 대상이었다.

세 경우 모두 50 개체 100세대 동안 프로그램을 진화시켰다. 다음 그림 15

와 16는 세 가지 경우에 대한 최적 적합도와 평균 적합도의 변화를 보여준다. 각

각의 경우 모두 5회 실험 결과를 평균한 것이다.

예상과 달리 퍼셉트론을 이용한 경우가 전반적으로 높은 적합도를 나타내

었다. 최적 적합도의 경우 퍼셉트론과 기호식, S OM의 차이가 확연히 드러나진

않지만 약 20세대 이후로 퍼셉트론이 대체로 우세한 경향을 보여주고 있고, 평균

적합도의 경우 약 80세대 이후부터 퍼셉트론이 확실히 높은 적합도를 보여주고

있다. 이처럼 기호식이 예상과 달리 좋은 성능을 보여주지 못한 것은 설계된 기

호식이 로봇이 경험하는 상황에 대한 판단을 제대로 해주지 못했기 때문인 것으

로 생각할 수 있다. 아마도 이것은 기호식에 사용된 비교 상수가 고정되어 미세

한 조정에 실패했기 때문이 아닐까 한다. 따라서 진화 초기에는 별다른 차이를

보이지 않았지만 세대를 거듭해 나갈 수록 미세한 조정이 가능한 퍼셉트론이 약

간이나만 우위를 차지할 수 있었던 것이 아닐까 생각한다. S OM과의 성능 차이

가 크게 나지 않았다는 점에서, 이를 S OM이 예상 외로 좋은 성능을 보여주었다

- 30 -

Page 36: On - Line Ev olution of Complex Robot Behav ior U s ing N ...Behav ior U s ing N eurog enetic Prog ramming 2000년 8월 서울대학교 대학원 협동과정 인지과학전공 이

고 생각할 수도 있지만 반대로 8가지 상황의 분류라든가 표 6에 보인 기호식의

설계 자체가 잘못되었을 가능성을 배제할 수 없다. 이와 같은 경우, 기호식의 경

그림 16. 환경 A에서 기호식, 퍼셉트론 및 S OM을 이용한

프로그램의 진화시 평균 적합도의 변화

그림 17. 환경 A에서 기호식, 퍼셉트론 및 S OM을 이용한

프로그램의 진화시 최적 적합도의 변화

- 3 1 -

Page 37: On - Line Ev olution of Complex Robot Behav ior U s ing N ...Behav ior U s ing N eurog enetic Prog ramming 2000년 8월 서울대학교 대학원 협동과정 인지과학전공 이

우 식이 고정되어 있었기 때문에 이와 같은 오류가 있었다 하더라도 이를 극복

하기가 쉽지 않았지만, 퍼셉트론의 경우 퍼셉트론의 학습시 사용된 데이터에 오

차가 가미되어 있었기 때문에 이로 인해 퍼셉트론에 일반화 능력이 부여되었을

수 있다. 이와 같은 결과로 진화 후반에 퍼셉트론은 이러한 오류가 있었더라도

기호식에 비해 용이하게 빠져나올 수 있었을 것으로 보인다. 이처럼 오차가 가미

된 데이터를 이용한 유전자 프로그래밍에서 오차로 인해 얻게되는 일반화 능력

에 대해선 Reyn olds가 자세히 연구하였다 [Reynolds , 1994].

S OM을 사용한 프로그램의 성능이 기호식에 비해 크게 떨어지지 않았다는

사실은 주목할 만한데, 이와 같은 사실은 위에서 언급한 대로 기호식의 설계 자

체에 오류가 있었기 때문이라 하더라도 의의를 가진다. 위와 같은 경우 설계의

오류는 상황 분류를 잘못했거나 기호식의 설계가 적합하지 않았기 때문인데, 문

제는 이와 같은 오류를 교정하기 위해서는 좀더 시행착오를 거듭하고 주어진 환

경에 대한 사전 지식을 더 많이 획득하여 이를 주입하는 수밖에 없다는 사실이

다. 이와 같은 접근방식은 수많은 시간과 노력을 요구하게 되고, 또한 이와 같이

설계된 기호식은 그 환경에만 특화되어 환경이 변화하면 다시 똑같은 과정을 거

쳐야 한다. 반면 S OM을 사용한 경우 설계자가 별도의 학습 목표나 예제를 제공

할 필요없이 프로그램이 진화하면서 활동하는 동안 얻게되는 데이터를 이용하여

자동으로 학습하는 무감독 학습 (Un superv ised Learning ) 방식으로 학습을 진행

하게 되어 로봇 제어기를 설계하는데 드는 노력이 한층 줄어들 수 있다는 점이

일단 큰 장점이 된다. 더구나 이와 같이 설계한 방식이 여러 번 시행착오를 거쳐

얻어낸 기호식과 큰 성능차이를 보이지 않았다는 점은 이러한 방식이 가지고 있

는 잠재력을 가늠할 수 있게 해준다.

참고로 다음에 S OM을 사용한 실험에서 세대별 최적 수행 결과를 보였다.

적합도 수식 (4), (5)에 표현되어 있는 제한 요소에 따라 세대를 거듭할 수록 장

애물을 피하고 주로 직선방향의 움직임을 보이면서 목표물인 램프에 다가서고

있다.

- 32 -

Page 38: On - Line Ev olution of Complex Robot Behav ior U s ing N ...Behav ior U s ing N eurog enetic Prog ramming 2000년 8월 서울대학교 대학원 협동과정 인지과학전공 이

그림 18. 각 세대별 최적 수행 결과. 좌측 상단부터 시계방향으로 1세대, 10세대, 50세대, 100세대.

다음 그림 19, 20, 21에서는 기호식, 퍼셉트론 및 S OM을 이용하여 진화한

프로그램을 나타내었다.

- 33 -

Page 39: On - Line Ev olution of Complex Robot Behav ior U s ing N ...Behav ior U s ing N eurog enetic Prog ramming 2000년 8월 서울대학교 대학원 협동과정 인지과학전공 이

그림 19. 단순 직선 환경에서 기호식을 사용한 경우

그림 20. 단순 직선 환경, 퍼셉트론의 경우

- 34 -

Page 40: On - Line Ev olution of Complex Robot Behav ior U s ing N ...Behav ior U s ing N eurog enetic Prog ramming 2000년 8월 서울대학교 대학원 협동과정 인지과학전공 이

4.3.3 원형/ 사선 장애물 환경

이와 같이 수작업을 통해 경험적으로 결정하여 특정 환경에 특화된 함수 집합은

설계에 기반이 된 환경에서는 좋은 성능을 발휘하겠지만 새로운 환경에 놓이게

되면 성능이 떨어지게 된다. 그러나 S OM의 경우 주어진 환경을 경험해 나가면

서 학습을 병행해 나가게 되기 때문에 새로운 환경에 처하게 되더라도 훨씬 쉽

게 적응할 수 있을 것으로 기대된다. 이를 검증하기 위하여 앞서 직선 모양의 장

애물과 램프만으로 이루어진 환경에 사용한 기호식과 퍼셉트론을 그림 12에 보

인 원형 및 사선 장애물 환경에서 S OM과 같이 진화시켜 그 결과를 비교하였다.

실험 설정의 앞 실험과 동일하고 다만 로봇의 시작 위치가 4군데에서 8군데로

늘고 장애물이 많아져 앞서의 경우보다 난이도가 더욱 높아졌다.

기호식, 퍼셉트론, S OM을 사용한 유전자 프로그램의 세대별 최적 적합도와

평균 적합도의 변화를 그림 22, 23에 나타내었다. 이 결과 역시 각각 5회에 걸쳐

실험한 결과를 평균한 것이다.

그림 21. 단순 직선 환경, S OM 사용

- 35 -

Page 41: On - Line Ev olution of Complex Robot Behav ior U s ing N ...Behav ior U s ing N eurog enetic Prog ramming 2000년 8월 서울대학교 대학원 협동과정 인지과학전공 이

그림 22. 환경 B에서 기호식, 퍼셉트론 및 S OM을 이용한 프로그램

의 진화시 최적 적합도의 변화

그림 23. 환경 B에서 기호식, 퍼셉트론 및 S OM을 이용한 프로그램

의 진화시 최적 적합도의 변화

- 36 -

Page 42: On - Line Ev olution of Complex Robot Behav ior U s ing N ...Behav ior U s ing N eurog enetic Prog ramming 2000년 8월 서울대학교 대학원 협동과정 인지과학전공 이

일단 세 가지 경우 모두 전반적으로 앞 실험에 비해 적합도가 매우 떨어졌

다. 이는 실험 환경이 앞 실험보다 어려웠기 때문인 것으로 보인다. 그러나 S OM

을 이용한 프로그램의 경우 앞서와 달리 최적 적합도 및 평균 적합도 모두 기호

식 및 퍼셉트론을 능가하고 있는데, 이는 기호식이 최적화된 환경에서는 최고의

성능을 나타내지만 환경이 달라지면 성능이 떨어질 수 밖에 없는 반면, S OM의

경우 환경이 바뀌어도 일정 수준 이상의 적응력을 가지고 있다는 것을 보여주는

결과이다. 기호식의 경우 고정된 센서 구성 및 비교식으로 인해 환경이 바뀌어도

변화할 수 있는 여지가 별로 없고, 따라서 자신이 특화된 환경을 벗어나면 적응

능력이 떨어질 수 밖에 없는 반면, S OM은 환경이 주어질 때마다 매번 자동으로

학습을 진행해 나갈 수 있기 때문에 환경이 변화한다 해도 수행 성능은 그렇게

큰 폭으로 떨어지거나 하지 않는다. 따라서 이러한 두 가지 종류의 함수 집합을

유전자 프로그램의 함수 집합으로서 활용하게 되면 그 자체로서 적응력을 가지

고 있는 S OM 쪽이 우수한 성능을 보이는 것은 당연하다고 하겠다. 특히 S OM

의 경우 설계자가 주어진 환경에 사전 지식의 준비 등 별도의 노력을 들이지 않

아도 자동으로 학습할 수 있는 무감독 학습 방식으로 학습이 진행되는데, 이는

실제 세계에서 활동을 목표로 하는 로봇 제어기의 설계에 필수적인 능력이라 할

수 있다. 실제 세계는 그 정보량이 매우 광대하여 필요한 모든 지식을 추출하여

저장할 수도 없을 뿐더러, 환경 자체가 항상 동적으로 변화하기 때문에 환경에

대한 적응능력 없이는 살아남기 힘들기 때문이다.

다음 그림 24, 25, 26에 각 경우에 대해 진화된 프로그램을 보였다. 주어진

환경의 난이도가 높아졌기 때문에 상대적으로 과제의 난이도도 높아져, 진화된

프로그램 자체가 이전 실험에 비해 매우 커졌다.

한 가지 주목할 만한 사항은 두 개의 서브 트리 중 한 쪽이 비대해 지면

다른 한 쪽은 상대적으로 매우 단순한 구성을 보여주는 경향이 있다는 것이다.

이는 진화된 모든 프로그램에 대해 성립하는 사실은 아니었으나 약 70% ∼ 80%

의 진화된 프로그램이 이러한 특성을 보여주었다. 이와 같은 현상으로 인해

F itness S w it ching으로 인한 성능 향상의 효과가 별로 두드러지지 않았다고 볼

수 있는데, 이는 주어진 과제가 F itnes s S w itchin g을 필요로 할 만큼 복잡하지

- 37 -

Page 43: On - Line Ev olution of Complex Robot Behav ior U s ing N ...Behav ior U s ing N eurog enetic Prog ramming 2000년 8월 서울대학교 대학원 협동과정 인지과학전공 이

않았던 때문으로 보인다.

그림 24. 원형/ 사선 환경의 최적 개체. 기호식 사용

그림 25. 원형/ 사선 환경의 최적 개체, 퍼셉트론 사용

- 38 -

Page 44: On - Line Ev olution of Complex Robot Behav ior U s ing N ...Behav ior U s ing N eurog enetic Prog ramming 2000년 8월 서울대학교 대학원 협동과정 인지과학전공 이

그림 26. 원형/ 사선 환경의 최적 개체, S OM 사용

- 39 -

Page 45: On - Line Ev olution of Complex Robot Behav ior U s ing N ...Behav ior U s ing N eurog enetic Prog ramming 2000년 8월 서울대학교 대학원 협동과정 인지과학전공 이

5.결론

본 논문에서는 유전자 프로그래밍을 이용하여 행동 기반 로봇의 제어 프로그램

을 생성하는 기법을 제안하고 이를 검증하였다. 로봇 제어기로서 유전자 프로그

램을 사용함으로써 프로그램을 구성하는 단위 모듈간의 순차 구조 및 계층 구조

를 자연스럽게 유지하면서 주어진 환경에 적합하게 진화되어 나가는 제어 프로

그램을 생성해 낼 수 있었다. 기존의 유전자 프로그래밍을 이용한 로봇 제어 연

구는 대부분 유전자 프로그램의 함수 유닛과 종단 유닛으로써 사전에 정의된 기

호 표현이나 상수를 이용하였다. 이러한 방식은 실제 로봇에 적용하기에 부적당

하기 때문에 본 논문에서는 이를 극복할 수 있는 방법으로 프로그램의 함수 유

닛으로 자기 조직 신경망을 사용하는 방법을 제안하였다. 자기 조직 신경망은 로

봇의 센서로부터 바로 입력을 받아 센서의 입력 패턴을 자동으로 분류해 줌으로

써 로봇이 경험하는 상황에 대한 분류를 학습할 수 있게 해준다. 여기에 유전자

프로그래밍을 사용하여 로봇은 각각의 상황에 적당한 행동 전략을 진화해 낼

수 있게 된다. 또한 로봇이 실용성 있는 과제를 수행할 수 있도록 하기 위해 본

논문에서는 유전자 프로그램을 적용하는 데 있어 주어진 과제를 하나 이상의 세

부 과제로 분할하고, 이를 하나의 서브 트리로 표현하여 각 서브 트리별로 담당

과제에 따라 적합도를 평가하는 F itness S w itchin g 기법을 사용하였다.

실험은 실제 Khepera 로봇에 기반한 시뮬레이터를 이용하였다. 실험에 사

용한 시뮬레이터는 실제 측정값 및 동작 오차 등이 고려되어 실제와 유사한 환

경을 제공해 주었으며, 실존하는 로봇을 모형으로 하여 제작되었기 때문에 시뮬

레이션 상에서 얻어낸 결과를 실제 로봇에 이식하기가 매우 쉽다. 본 논문에서는

이와 같은 시뮬레이터 상에서 신경망 학습 및 유전자 프로그램의 진화를 기호식

과 퍼셉트론, S OM을 함수 집합으로 사용하여 생성해 내고 그 결과를 비교하였

다. 실험은 단순 직선 환경 및 원형 및 사선 환경 두 가지에서 수행되었는데, 단

순 직선 환경에 맞추어 기호식을 설계하고 이 기호식을 목표로 퍼셉트론을 학습

하였음에도 예상을 뛰어넘고 퍼셉트론이 기호식보다 높은 성능을 보였다. 이와

같은 사실은 유전자 프로그램의 함수 노드가 가지는 학습 능력이 진화된 프로그

- 40 -

Page 46: On - Line Ev olution of Complex Robot Behav ior U s ing N ...Behav ior U s ing N eurog enetic Prog ramming 2000년 8월 서울대학교 대학원 협동과정 인지과학전공 이

램의 성능 향상에 도움이 될 수 있음을 시사함과 동시에, 비록 같은 역할을 한다

할지라도 고정된 수식보다 세미한 조정 및 학습이 가능한 신경망이 더욱 높은

성능을 보여줄 수 있음을 알려준다.

단순 직선 환경에 적합하게 설계된 기호식과 퍼셉트론은 환경이 바뀌자 수

행 성능이 현저하게 저하되었다. 반면 S OM의 경우 역시 약간의 성능 저하가 있

었으나 기호식이나 퍼셉트론을 사용한 경우에 비해 성능 저하 정도가 매우 적어

변화한 환경하에서 이 둘의 경우보다 높은 성능을 나타내었다. 이는 S OM의 경

우 환경이 주어질 때마다 매번 자동으로 학습을 진행해 나갈 수 있기 때문에 환

경이 변화한다 해도 수행 성능은 그렇게 큰 폭으로 떨어지지 않기 때문이다. 또

한 S OM은 무감독 학습 방식으로 프로그램의 진화와 동시에 학습을 진행시켜 나

갈 수 있기 때문에 별도의 학습 단계나 시행착오, 사전 지식의 습득 등이 필요없

다. 즉, 본 논문에서 검증한 자기 조직 신경망을 이용한 유전자 프로그래밍 기법

은 자동으로 주어진 환경을 학습, 분류해 낼 수 있는 신경망을 함수 집합으로 사

용함으로써 유전자 프로그래밍을 이용한 로봇 제어기의 생성에 매우 효과적인

도구를 제공해 준다고 할 수 있겠다.

다만 실험에 사용된 과제로는 F itnes s S w itchin g의 효용성을 검증할 수 없

었다. 이는 좀더 복잡하고 세부 과제로의 구분이 확연한 과제를 선택하여 검증해

보아야 할 것이다. 또한 본 논문에서는 진화에 걸리는 시간 및 여러가지 제약 조

건으로 하드웨어 대신 시뮬레이션을 이용하여 실험을 하였는데, 이를 하드웨어에

이식하여 검증하는 방법을 고민해야 할 것이다. 그러나 본 논문에서 수행한 진화

과정을 하드웨어에서 직접 수행하는 것은 현실적으로 불가능하다. 본 논문의 설

정대로 실험을 진행하기 위해서는 한 가지 경우에 대한 진화에 약 10,000,000

회의 로봇 이동이 필요하기 때문이다. 로봇이 실제 하드웨어를 사용할 경우 한번

이동하는데 약 300m s 정도가 걸린다고 해도 이는 약 833시간, 34일이 걸리는 시

간이다. 따라서 본 실험 결과를 실제 하드웨어에서 검증하기 위해서는 진화된 개

체를 이식하여 S OM 학습 만을 하드웨어에서 다시 진행한다든지 진화 과정을 계

속한다고 하더라도 시뮬레이션에서 일단 진화를 거친다음 개체수를 줄여 진화를

계속하는 등 진화에 필요한 시간을 극복할 수 있는 기법을 연구해야 할 것이다.

- 4 1 -

Page 47: On - Line Ev olution of Complex Robot Behav ior U s ing N ...Behav ior U s ing N eurog enetic Prog ramming 2000년 8월 서울대학교 대학원 협동과정 인지과학전공 이

참고 문헌

[Arkin , 1989] R.C. Arkin , "M ot or schem a - based m obile robot navig at ion ",

I n ternat ional J ournal of R obot ics R es earch, 8:92- 112, 1989.

[Arkin , 1998] R .C. Arkin , B ehav ior - B eas ed R obotics , T he MIT press , 1998.

[Brook s , 1986] R .A . Brook s , "A Robu st Lay ered Control Sy stem for a M obile

Robot ," I E E E J ournal of R obot ics and A utom ation, 2(1):14- 23, 1986.

[Brook s , 1987] R.A . Brook s , "A H ardw are Ret argetable Dist r ibut ed Lay ered

Archit ecture for M obile Robot Cont orl," P roceed ing s of the I E E E

I n ternat ional Conf erence on R obotics and A utom ation, Raleigh , N C, 1987,

pp . 106- 110.

[Brook s , 1991a] R.A . Brook s , "Int elligen ce W ithout Rea son ", P roceed ing s of

12 th I n t. J oin t Conf . on A r tif icial I n tellig ence, 1991, pp. 569- 595.

[Brook s , 1991b] R.A . Brook s , "Int ellig en ce W ithout Representation ," A r tif icial

I n tellig ence J ournal, 47:139- 159, 1991.

[Brook s , 1991c] R .A . Brook s , "T he Role of Learnin g in Aut on om ou s Robot s ,"

P roceed ing s of the F ourth A nn ual W ork shop on Comp utational L earn ing

T heory ( COL T '91), M organ Kaufm ann Publisher s , 1991, pp. 5- 10.

[Ebner an d Zell, 1999] M . Ebner and A . Zell, "Ev olving a Beh avior - Based

Control Archit ecture F rom Sim ulat ion s t o the Real W orld", Proceeding s of

Gen etic and Ev olution ary Com put at ion Conference , V ol. 2, 1999, pp.

1009- 1014.

[F lorean o and M ondada , 1996] D. F lorean o and F . M on dada , "Ev olut ion of

H om in g Nav ig ation in a Real M obile Rob ot ", IEEE T ran sact ion s on

Sy st em s , M an , an d Cybernetics - P art B : Cybern etics , 26 (3), 1996, pp .

396- 407.

[Han dley , 1994] S . H an dley , "T he Aut om atic Generat ion of Plan s for a M obile

- 42 -

Page 48: On - Line Ev olution of Complex Robot Behav ior U s ing N ...Behav ior U s ing N eurog enetic Prog ramming 2000년 8월 서울대학교 대학원 협동과정 인지과학전공 이

Robot via Gen etic Program m in g w ith Aut om atically Defined F unct ion s",

A dvances in Gen et ic P rog ram m ing , K . Kinn ear (editor ), T h e MIT Press ,

1994, pp . 391- 407.

[Haykin , 1999] S . Haykin , N eural N etw orks : A Comp rehens iv e F oundation,

Prentice H all, 1999

[Ito, 1996] T . It o, "Robu stn ess of Robot Program s Gen erat ed by Genet ic

Program m in g ", Gen et ic P rog ram m ing , Koza et al (editor s ), 1996

[Koza , 1992] J .R . Koza , Gen etic P rog ram m ing : On the P rog ram m ing of

Comp uters by M eans of N atural S e lection, T he MIT Pres s , 1992

[Koza , 1994] J .R . Koza , Gen et ic P rog ram m ing : A utom atic D is cov ery of

R eusable P rog ram s , T he MIT P ress , 1994.

[Lee and Zh ang , 2000] K .J . Lee and B.T . Zh ang , "Learnin g Robot Behavior s

by Ev olving Gen et ic Program s", P roceed ing s of T he T hird A s ia - P acif ic

Conf erence on S im ulated E v olution A nd L earn ing (t o be appeared ).

[M aes , 1990] P . M aes , "Situ at ed A gent s Can H av e Goals ", Robot ics and

Autonom ou s Sy st em s , Vol. 6, 1990, pp. 49- 70.

[Mich aud, 1999] F . Michau d, "Em erg ent beh avior for r eal w orld robot s",

P roceed ing s W orld M ult iconf erence on Sy s tem ics, Cy bern e t ics and

I nf orm atics, 1999, pp. 402- 408.

[Mich el, 1996] O. Michel, "Khepera Sim ulator P ackage v er sion 2.0: F reew are

M obile T obot Sim ulator W rit ten by Oliv er Michel",

ht tp :/ / w w w .epfl.ch/ lami/ t eam/ m ichel/ kh ep - sim/ in dex .html, 1996

[Mit chell, 1997] T . Mitchell, M achine L earn ing , T he M cGraw - Hill Com panies ,

Inc ., 1997

[Nordin and Ban zh af, 1996] P . Nordin and W . Ban zhaf, "An On - Lin e M eth od

t o Ev olv e Behav ior and t o Control a Miniature Robot in Real T im e w ith

Gen etic Program m in g ", A dap tiv e B ehav ior, 5 (2):107- 140, 1996.

[Ow en an d N ehm zow , 1996] C. Ow en and U . Nehm zow , "Rout e Learnin g in

- 43 -

Page 49: On - Line Ev olution of Complex Robot Behav ior U s ing N ...Behav ior U s ing N eurog enetic Prog ramming 2000년 8월 서울대학교 대학원 협동과정 인지과학전공 이

M obile Robot s through S elf - Organisation ", P roceed ing s of E urobot 96,

I E E E Comp uter S ocie ty , 1996.

[Reyn olds , 1994] C.W . Reyn olds . "Ev olut ion of Ob st acle Av oidance Behav ior ",

A dvances in Gen et ic P rog ram m ing , K . Kinn ear (editor ), T h e MIT Press ,

1994, pp . 221- 241.

[Zhan g an d Ch o, 1998] B.T . Zhan g , an d D.Y . Cho, "Coev olut ion ay F itn ess

S w it chin g : Learnin g Complex Collectiv e Beh avior s U sin g Gen etic

Program m in g ", A dvances in Gen et ic P rog ram m ing I I I , T he MIT Press ,

1998, pp . 425- 445.

- 44 -

Page 50: On - Line Ev olution of Complex Robot Behav ior U s ing N ...Behav ior U s ing N eurog enetic Prog ramming 2000년 8월 서울대학교 대학원 협동과정 인지과학전공 이

Abstract

A m ethod for learning robot beh avior s u sing g enet ic program m in g is

presented. Gen etic program s can easily r epresent h ier ar chy an d high - lev el

know ledge . Also, th eir st ructure and size are chan geable adapt ing them selv es

t o a giv en problem space. T herefore , the genet ic program m ing paradigm

provides a u seful tool for learnin g behav ior coordination m ech anism s .

H ow ev er , ex isting m ethods u sing g enet ic program m in g t o ev olv e learn able

robot controller u sually u se sym bolic ex pression s t o realize funct ion n odes of

g en etic program s . T h ese approach es are not appropriat e to real w orld

situation s du e to th eir ignorance of det ailed real- w orld sen sor input s and

m otor control output s .

I present ed N e urog ene tic P rog ram m ing to bridg e th e gap bet w een

sym bolic ex pres sion and dir ect sen sor v alue of h ardw are robot s . In st ead of

h and - coded sym bolic ex pres sion , self org anizin g m ap (S OM ) is u sed t o

supply elem ent s of the function set of gen et ic program s . S OM can extr act

im plicit features of th e input pat tern s int o output n euron w ith out hum an

int erv ent ion . And then this is in corporat ed in to g enetic program m ing as a

form of fun ct ion n ode of g enet ic program s . In neurog enetic program m ing

paradigm , the robot can autom atically learn h ow t o clas sify sev eral situation s

it m et an d how t o act for those situ ation s . T his is achiev ed by u sin g th e

output n euron s of S OM as fun ct ion elem ent s of a genet ic program s . A simple

b ehavior the robot t akes is r epresent ed as a subtr ee of gen et ic program s . A

g en etic program has m ore th an on e subtr ee, an d it sequentially carr ies out

the subtr ees t o complet e a giv en t ask . T his sequent ial ex ecut ion of subtrees

provides efficient m echanism of ev olvin g m ore com plex behavior .

In ex perim ent s , th e robot controller is r epresent ed by gen et ic program .

- 45 -

Page 51: On - Line Ev olution of Complex Robot Behav ior U s ing N ...Behav ior U s ing N eurog enetic Prog ramming 2000년 8월 서울대학교 대학원 협동과정 인지과학전공 이

S OM , perceptron and symb olic expression s are u sed as fun ction elem ent s of

g en etic program s . And then each type of gen et ic program ev olv ed u sin g

Kh epera simulator . Ex perim ent al r esult s sh ow s th at S OM provides a

pow erful tool to dev elop a rob ot controller adapt able t o dyn am ic environm ent s .

K ey w ords : Genet ic program m in g , Behavior - based robot , S elf org anizin g m ap ,

A daptiv e beh avior

S tu de nt nu m b er : 98132- 506

- 46 -

Page 52: On - Line Ev olution of Complex Robot Behav ior U s ing N ...Behav ior U s ing N eurog enetic Prog ramming 2000년 8월 서울대학교 대학원 협동과정 인지과학전공 이

감사의 글

부모님께 감사드립니다. 아무 말씀 않으시고 그저 제가 하는 대로 믿고 지켜봐

주셨습니다. 누구보다도 자식의 앞길을 걱정하시고 무엇하나 모자라지 않도록 돌

보아 주셨으면서도 아무 바람 없이 늦깍이 공부를 하는 아들을 지켜봐 주시고

믿어 주신 은혜 말로 표현할 길이 없습니다.

인지과학 협동과정 교수님들께 감사드립니다. 그 분들로부터 진정 학문에 대한

열정이 무엇인가를 몸소 보고 느낄 수 있었습니다. 장병탁 교수님께 특히 깊은

감사를 드립니다. 지난 1년여 동안 지도해주시면서 여러모로 이끌어 주시고 도움

을 주셨습니다. 바쁘신 와중에 흔쾌히 심사를 맡아 주시고 세심하게 신경 써 주

신 최재천 교수님과 김기현 교수님께도 깊은 감사를 드립니다.

처음 인지과학에 입학했을 때 반 년여간 이경민 교수님 밑에 있으면서 여러 가

지를 배우고, 느꼈습니다. 감사드립니다.

각기 전공도 다르고 공부하는 분야도 상이했지만, 협동과정이라는 여건 속에서

만나 진로와 공부와 여타 많은 것들을 같이 고민하고 상의했던 인지과학 친구들

을 잊을 수 없습니다. 소영이 누나, 나영이, 은영이, 동호, 경수형, 윤현이형, 충명

이형, 선영이, 정우, 그리고 또 정우, 그리고 또 소영이 누나. 수경이와 미경이,

성호. 다들 제게 힘이 되어 주고 기쁨이 되어 주었던 친구며 후배였습니다.

같이 생활했던 실험실 친구와 후배들에게도 감사의 말을 전합니다. 동연이에게는

논문을 쓰면서 많은 도움을 얻었습니다. 호식이와는 같이 일을 하면서 선배라고

제대로 해주지도 못 했습니다. 선이, 재홍이, 영우형, 인영이, 형주 다들 이것저것

잘 모르는 제게 많은 도움을 주었습니다.

그리고 무엇보다, 지난 2년여 동안 제 곁에서 저를 지켜봐 주고 같이 해 주었던

자운이에게 고마움을 전합니다.

지금은 결혼한 동생 소현이와 누나, 막내 민아, 그리고 부모님. 우리 가족 모두에

게 이 논문을 바칩니다.