2011

logo_main.gif


글: 정재준 (rgbi3307@nate.com ) / 커널연구회(www.kernel.bz)   2011-12-30


연재 차례

 1. C언어 소개
 2. 형태, 연산자, 표현
 3. 제어 흐름
 4. 함수와 프로그램 구조
 5. 포인터와 배열
 6. 구조체
 7. 알고리즘 소개
8. 소팅을 통한 알고리즘 분석
9. 스택(Stack) 실습
10. 큐(Queue) 실습
11. 리스트(List) 실습
12. 트리(Tree) 실습
13. 해싱(Hash) 실습
14. 진보된 알고리즘 소개 ①
15. 진보된 알고리즘 소개 ②

 




인공지능(AI) 소개 II
지 난 연재에서 인공지능(AI)에 대한 소개와 함께 AI의 지난 역사를 통하여 AI의 관점들 및 기술들의 원리에 대해서 알아 보았다. AI에 대한 기본지식을 철학(Philosophy), 수학(Mathematics), 경제학(Economics), 신경과학(Neuroscience), 심리학(Psychology), 컴퓨터공학(Computer Engineering), 제어이론과 인공두뇌학(Control Theory and Cybernetics), 언어학(Linguistics)적으로 요약하고자 했으며, 이번 연재에서는 지난번에 다 기술하지 못한 신경과학(Neuroscience), 심리학(Psychology), 컴퓨터공학(Computer Engineering), 제어이론과 인공두뇌학(Control Theory and Cybernetics), 언어학(Linguistics)적인 AI 소개를 하도록 하겠다. 아울러 지능적인 에이전트(Agent)에 대해서 기술한다.

신경과학(Neuroscience)
● 두뇌는 어떻게 정보를 처리하는가?
신경 과학은 신경 시스템, 특히 두뇌에 대해서 연구하는 학문이다. 두뇌가 생각하는 방식은 과학적으로 접근하기 힘든 아주 신비한 것이다. 머리가 정신적인 것들에 깊숙이 관여한다는 확신 때문에, 두뇌가 생각하는 방식을 이해하기 위해서 수천 년 동안 노력해 왔지만, 인간의 두뇌는 뭔가 다르다라는 정도로 인식하고 있을 뿐이다. 아리스토렐레스는 다음과 같이 언급했다. "모든 동물들 중에서, 인간은 육체에 비해서 더 큰 두뇌를 가지고 있다". 18세기 중엽 이전까지는 두뇌가 자각적으로 폭넓게 인식한다는 것에 관심을 가지고 있지 않았다. 그 전에는 단지 심장과 비장(지라)을 포함 시키는 정도였다.

1861년에 Paul Broca(1824-1880)는 뇌 손상을 입은 환자의 실어증에 관한 연구에서 뇌에는 특정적인 것의 인식을 담당하는 부분이 존재한다는 것을 보여주었다. 특히, 그는 언어는 뇌의 좌측(좌뇌 반구)에서 발생한다고 했으며, 이것을 Broca의 영역이라 한다. 그 당시, 뇌는 신경세포 혹은 뉴런으로 구성되어 있다는 것을 알았는데, 이것은 1873년에 Camillo Golgi(1843-1926)가 뇌에서 각각의 뉴런들을 관찰하기 위해서 염색(잉크자국을 내는)하는 기법이 개발되면서 알려지게 되었다. 이 기술은 Santiago Ramon Cajal(1852-1934)이 뇌의 뉴런적 구조에 대한 연구를 개척하는데 사용했다. Nicolas Rashevsky(1936,1938)는 신경 시스템 연구에 수학적 모델을 최초로 적용한 사람이었다.

현 재 우리는 뇌의 특정 부분과 신체의 일부분을 서로 연결하는 몇 가지 데이터를 가지게 되었다. 그러나, 우리는 뇌의 일부분이 손상되었을 때 다른 부분이 그 기능을 어떻게 대신 하는지는 완전하게 이해하지 못하고 있다. 각각의 기억이 어떻게 저장되는지에 대한 이론도 아직 없다.

1929년에 Hans Berger가 뇌파전위기록장치(EEG)를 발명하면서부터 온전한 뇌의 활동을 측정하기 시작했다. 최근에는 자기공명영상 기록장치가 개발되어 신경과학자들이 뇌의 활동을 자세한 이미지로 관찰할 수 있게 되었고, 뇌의 인지 처리 과정이 어떻게 진행되는지 흥미롭게 층정하는 것이 가능해 졌다. 이러한 것들은 뉴런 활동의 단일 세포 기록 쪽에서 진행되어 발표되고 있다. 2007년에 Han과 Boyden은 각각의 뉴런들은 전기적, 화학적 혹은 광학적으로 자극된다고 하면서, 뉴런적인 입력과 출력 관계를 그리는 것을 가능하게 했다. 이러한 연구의 진척에도 불구하고, 우리가 뇌의 인지 능력이 실제적으로 어떻게 처리되는지 이해하기에는 여전히 어렵고 요원하다.
1992년에 John Searle는 다음과 같은 간결한 표현으로 뇌가 마음을 형성한다고 했다.

“간단한 세포들의 집합으로 생각과 행동,   자각을 이끌어 낸다는 것은 실로 놀라운 결론이다.”

또 다른 이론으로 신비주의가 있는데, 이것은 인간의 뇌(마음)는 물리적인 과학 이상의 신비한 무언가에 의해서 동작한다는 것이다.
사 람의 뇌와 디지털 컴퓨터는 서로 다른 특성을 가지고 있다. 컴퓨터는 사람의 뇌보다 백만 번이나 빠른 사이클 타임을 가지고 있다. 비록 거대한 슈퍼컴퓨터들이 인간의 뇌와 비슷한 용량을 가지고 있더라도, 사람의 뇌는 개인용 컴퓨터보다 더 많은 저장소를 빠르게 상호 연결하는 능력을 가졌다. (그러나 뇌는 모든 뉴런들을 동시에 사용하지 않는 것 같다).

예견자들은 컴퓨터가 슈퍼맨의 수준과 같은 능력까지 도달할 수 있을 것이라며 이러한 수치들을 만들고 주목하고 있다.(Vinge, 1993; Kurzweil, 2005). 그러나, 단순히 이러한 방식으로 비교하는 것에 효과적인 의미를 부여할 수 없다. 컴퓨터가 무제한적인 용량을 가졌다 하더라도, 우리는 인간의 뇌가 가지고 있는 지적 수준에 어떻게 접근할 수 있을지 여전히 모르고 있다.

심리학(Psychology)
● 사람과 동물은 어떻게 생각하고 행동하는가?
과 학적인 심리학은 독일의 물리학자인 Hermann von Helmholtz(1821-1894)와 그의 제자 Wilhelm Wundt(1832 -1920)의 연구에서 시작되었다. Helmholtz가 사람을 바라보는 관점에 대한 과학적인 방법의 연구를 하면서 기록한 그의 수첩은 현재 “사람을 물리적 및 생리학적인 시각으로 바라보는 한가지 매우 중요한 논문”이라고 회자되고 있다. 1879년에 Wundt는 Leipzig 대학교에서 최초로 실험적인 심리학의 장을 열었다. Wundt는 주의 깊게 제어 관찰하는 실험들을 추구했으며, 그의 실험에 참가한 사람들은 자아성찰을 통하여 그들의 생각을 처리하면서 자각적인 행동을 하거나 연합적인 임무를 수행했다.

이처럼 주의 깊은 제어 관찰을 통해서 과학적인 심리학을 형성하는 긴 여정을 거쳐 왔으나, 본성에 존재하는 주관적인 데이터로는 실험자들이 그들만의 이론을 확신하기 힘들다라는 결과가 형성되었다.

반 면에, 동물의 행동을 연구하는 생물학자들은 자기성찰적인 데이터 보다는 대상을 관찰하는 방법을 개발했다. 이 방법은 H. S. Jennings (1906)가 고안한 것으로 저급 생물의 행동을 관찰하는 것이었다. John Watson(1878-1958)이 이러한 방법을 사람에게 적용해 보았으나 사람의 자기성찰이 신뢰할 만한 확신을 제공하지 않는다는 속성으로 인해서 이러한 연구는 받아들여 지지 않았다. 실험심리학의 행동주의자들은 단지 동물에게 주어지는 자극적인 지각력에 대해서 관찰 및 측정하는 연구를 추구한다. 쥐나 펭귄과 같은 동물들에는 객관적인 행동에 관한 연구성과가 많이 이루어졌으나 사람의 행동을 이해하고자 하는 성과물은 아주 미흡하다.

인지 심리학은 사람의 두뇌가 정보를 처리하는 관점에 관한 것으로서 William James(1842-1910)의 연구로 거슬러 올라갈 수 있다. Helmholtz 또한 자각은 무의식적으로 논리적인 추론을 하는 형태라고 언급했다. 인지의 관점은 미국의 행동주의에 의해서 많이 가려졌으나, 캠브리지 대학교의 심리학자 Frederic Bartlett(1886-1969)에 의해서 연구된 인지 모델링은 좋은 성과물로 널리 알려질 수 있었다. Bartlett의 제자와 후임자인 Kenneth Craik(1943)은 본성에 대해서 믿음과 목표 지향적인 "정신"이라는 관점으로 재정립했다. 이것에 대해서 과학적인 예제로 논평하면, 기체들이 분자 결합으로 이루어져 있음에도 불구하고 압력과 온도의 관점에서 토론하는 것과 같다고 할 수 있다.
Craik는 지식기반 에이전트를 세가지 핵심적인 단계로 정리했다.

(1) 자극은 내부적인 표현으로 변환되어야 한다.
(2) 표현은 새로운 내부 표현들을 이끌어 내기 위해서 인지적인 방식으로 처리된다.
(3) 이러한 것들은 행동으로 다시 변환된다.

그는 에이전트를 잘 설계해야 하는 이유를 이것으로 명확히 설명했다.
1945 년에 Craik가 자전거 사고로 사망한 이후, 그의 업적은 Donald Broadbent에 의해 계속되었다. Broadbent의 저서인 인식과 소통(Perception and Communication(1958))은 정보처리를 최초로 심리학적인 현상으로 모델링 한 것이었다. 그 당시 미국에서는 컴퓨터 모델링 개발을 통하여 인지 과학분야를 이끌었다. 1956년 9월 MIT 대학교의 워크샵에서 미국의 인지 과학분야가 시작되었다라고 할 수 있다. 이 워크샵에서 George Miller는 신비한 숫자 7(The Magic Number Seven)을 발표했고, Noam Chomsky는 언어의 세가지 모델, Allen Newell과 Herbert Simon은 논리 이론 기계(The Logic Theory Machine)를 발표했다.

위의 영향력 있는 3개의 논문은 컴퓨터 모델이 기억, 언어, 논리적인 생각에 각각 어떻게 심리적으로 접근할 수 있는지에 대해서 설명하는 것이었다. 이것은 심리학자들 사이에서 “인지 이론은 컴퓨터 프로그램과 같을 수 있다(Anderson, 1980)”라는 관점으로 받아들여 지게 되었다. 여기에 몇 가지 인지적인 함수가 구현되어 정보처리 메커니즘을 상세히 기술하여야 한다.

컴퓨터 공학(Computer Engineering)
● 우리는 어떻게 효율적인 컴퓨터를 만들 수 있을까?
인 공지능이 성공의 길로 가기 위해서는 2가지가 필요한데, 지능과 인공물이다. 컴퓨터는 인공물로 선택되어 왔다.  현대의 디지털 전자기기인 컴퓨터는 세계 2차 대전 당시 과학자들에 의해서 발명되었다. 1940년 Alan Turing 팀에 의해서 만들어진 컴퓨터는 전자기계적으로 너무 복잡했으며 단지 독일군의 암호문을 해독하고자 하는 한가지 목적을 위한 것이었다. 이들은 1943년에 진공관을 사용하여 일반 목적의 거대한 머신을 개발했다. 세계2차 대전 이후, Turing은 이러한 컴퓨터들을 AI 연구에 사용하고자 했다.  Turing은 1953년에 최초의 체스 게임 프로그램을 개발했다.
동작을 프로그램 할 수 있는 최초의 컴퓨터는 1941년 독일의 Konrad Zuse가 발명한 Z-3 이었다. Zuse는 또한 실수와 최초의 고급 프로그래밍 언어인 Plankalkiil을 개발했다. 최초의 전자적인 컴퓨터인 ABC는 1940년과 1942년 사이에 아이오와 주립대학교에서 John Atanasoff와 그의 제자 Clifford Berry에 의해서 조립되었다. Atanasoff의 연구는 몇 가지 지원과 인정을 받았는데 이것이 ENIAC 이었다. ENIAC은 펜실베니아 대학교에서 John Mauchly와 John Eckert가 포함된 팀에 의해서 비밀 군사 프로젝트로 진행된 것이었으며, 이것은 현대 컴퓨터들에 막대한 영향을 준 선구자적인 프로젝트였다.

그 이후로, 컴퓨터 하드웨어의 각 세대는 속도와 용량은 증가하고 가격은 감소하는 방향으로 발전했다. 컴퓨터의 수행능력은 2005년까지 18개월마다 두 배로 증가했다. 전력 소비 문제를 해결하기 위해서 제조사들은 CPU의 클락 속도보다는 코어의 수를 널리기 시작했다. 현재는 사람의 두뇌 능력에 접근하기 위해서 CPU를 병렬화 시키는 문제로 인해서 전력 소모가 증가할 것이라고 예상하고 있다.

물론, 전자적인 컴퓨터 이전에 연산용 기계장치가 있었다. 최초로 프로그램 가능한 기계는 1805년에 Joseph Marie Jacquard(1752-1834)가 만든 loom 이었는데, 이것은 짜인 패턴형태의 명령들을 저장하기 위해서 구멍이 뚫린 카드를 사용했다. 19세기 중엽에 Charles Babbage(1792-1871)가 두 가지 기계를 설계했지만 모두 완성하지는 못했다.

Babbage의 분석적 엔진은 아주 야심 찬 것이었다. 이것은 주소가 있는 메모리, 저장된 프로그램과 조건적인 분기 등을 포함하고 있어서 종합적인 계산 수행능력이 있는 최초의 인공물이었다. Babbage의 동료인 Ada Lovelace는 시인 Lord Byron의 딸이었으며, 그녀는 아마도 세계 최초의 프로그래머였다. (프로그래밍 언어인 Ada는 그녀의 이름에서 유례 된 것이다.) 그녀는 완료되지 않은 분석적 엔진을 위한 프로그램을 작성하여 기계가 체스 게임을 하고 음악을 작곡할 수 있도록 했을 것이다.

AI는 컴퓨터 과학의 소프트웨어적인 측면으로도 접근한다. 운영체제, 프로그래밍 언어, 현대적인 프로그램들을 작성하는데 필요한 도구들이 여기에 해당한다. 이것들은 AI 분야를 개척하는데 필요한 일부분이 될 것이다. AI는 컴퓨터 과학에 많은 아이디어를 제공하여 큰 흐름을 개척했다. 예를 들면, 시분할처리, 대화형 번역기, 마우스와 윈도우즈가 장착된 개인용 컴퓨터, 빠른 개발환경, 링크드 리스트 데이터형, 자동 저장 관리기, 기호화를 위한 핵심적인 개념, 함수, 선언, 객체지향 프로그래밍 등이 여기에 해당한다.

제어이론과 인공두뇌학(Control Theory and Cybernetics)
● 인공물이 어떻게 스스로 동작할 수 있을까?
알 렉산드리아의 Ktesibios(250 B.C.)는 최초로 스스로 제어하는 기계를 만들었다. 물시계 조절장치를 통하여 흐름 속도를 지속적으로 유지하도록 한 기계였다. 이 발명은 인공물이 하는 역할에 대한 정의를 재설정하는 계기가 되었다. 그 이전에는 오직 살아 있는 것만이 환경 변화에 대응하여 행동을 변경할 수 있다고 생각했다. 스스로 조절하는 능력이 있는 제어 시스템의 또 다른 예로 증기기관 엔진이 있는데, 이것은 James Watt(1736-1819)에 의해서 발명되었고, 온도조절 장치는 잠수함을 발명한 Cornelis Drebbel(1572-1633)에 의해 발명되었다.

안정적인 피드백 시스템의 수학적 이론은 19세기에 개발되었다. 발명에 밑거름이 된 핵심적인 이론을 제공한 사람은 Norbert Wiener(1894-1964)였는데, 현재는 이것을 제어이론이라고 한다. Wiener는 생물학에도 관심을 가지고 있었던 뛰어난 수학자였으며, Bertrand Russell과 함께 일하면서 수학적 제어 시스템간의 인지적인 연결을 연구했다. 심리적 모델로 제어 시스템을 연구한 Craik처럼, Wiener와 그의 동료인 Arturo Rosenblueth, Julian Bigelow는 현재 상태와 목표 사이에서 발생하는 오류를 최소화 하기 위한 조절 메커니즘의 동작을 확실히 보여 주었다. 1940년대 후반에 Wiener는 Warren McCulloch, Walter Pitts, John von Neumann과 함께 영향력 있는 컨퍼런스를 조직하여 새로운 수학적 및 인지를 위한 계산적인 모델을 탐구했다. Wiener의 책인 Cybernetics(1948)는 베스트셀러가 되었으며, 대중들에게 인공적인 지능 기계에 대한 가능성을 불러 일으켰다.

그 당시 영국의 W. Ross Ashby(Ashby, 1940)도 유사한 아이디어를 개척했다. Ashby, Alan Turing, Grey Walter등은 "Wiener의 책이 출간되기 전에 Wiener적인 생각을 한 사람들" 이라는 목적의 Ratio Club을 결성했다. 두뇌에 대한 Ashby의 설계(1948, 1952)는 생체적인 장치들의 사용에 의해서 창작될 수 있는 지능적인 생각에 심혈을 쏟은 것이었다. 생체적인 장치들은 안정적으로 행동을 적용하도록 적절한 피드백을 반복하는 것이었다.

현대의 제어 이론은 확률적(추정적)으로 최적화하여 제어하는 요소를 가지고 있으며, 목적 함수를 최대화하는 시스템을 설계하려는 목표를 가지고 있다. AI와 제어 이론은 서로 밀접하여 연관되어 있음에도 불구하고 서로 다른 분야이다. AI와 제어 이론은 수학적인 기법과 세상의 모든 관점들을 아우르는 문제 사이에 연관되어 있다.

미적분학, 행렬 대수, 제어이론 도구들은 지속적인 변수들의 고정된 집합으로 기술되는 시스템에 적용된다. 반면에, AI는 이러한 한계(제한)를 극복하는 길을 모색하고 있다. 논리적인 추론과 계산적인 도구들은 AI 연구자들이 언어적인 관점과 같은 문제들을 고려 하도록 해주고 제어 이론가들의 관점의 범위를 완전히 벗어나도록 해준다.

언어학(Linguistics)
● 언어는 어떻게 생각과 연관되어 있는가?
1957년에 B. F. Skinner는 언어 행동 (Verbal Behavior) 을 출간했다. 이것은 이 분야의 전문가가 언어 학습에 접근하는 행동을 상세하고도 포괄적으로 기술한 것이었다. 그러나, 신기하게도 이 책을 논평한 Noam Chomsky라는 언어학자의 책도 이 책만큼이나 잘 알려져 있다. Noam Chomsky는 구문론적인 구조라는 그만의 이론으로 이 책을 출간했다.

Chomsky 는 행동가들의 이론은 언어의 창조적인 부분에 주목하지 않는다고 지적했다. 어린이들이 전에 들어보지도 못한 문장들을 어떻게 이해하고 만들어 내는지 설명하지 못하고 있다. 구문론적인 모델을 기반으로 하는 Chomsky의 이론은 인디언 언어학자인 Panini(350 B.C.) 시절로 거슬러 올라가서 이것을 설명 가능하게 했다. 그 이전의 이론과는 다르게, 이것은 그가 프로그램 한 원리에 대해서 충분히 형식을 잡은 것이었다.
현대 언어학과 AI는 거의 동시대에 탄생했고 같이 성장하면서 계산적인 언어학 혹은 자연어 처리라는 유합된 분야에서 서로 교차되고 있다. 언어를 이해하는 문제는 1957년에 출현한 것보다도 더 복잡해 졌다. 언어 이해는 주제와 문맥 이해를 필요로 하지, 문장 구조를 이해하는 것이 아니다. 그러나 이러한 관점이 1960년대 까지는 폭넓게 받아들여지지 않았다. 지식을 표현하고자 하는 최근의 작업은 언어와 언어학적인 연구로 형성되고 있다. 이것은 언어를 철학적으로 분석하는 작업과 연관되어 있다.

지능적인 에이전트(Agent)
에이전트는 센서를 통하여 환경을 감지하고 구동기를 사용하여 행동한다. 에이전트를 사람에 비유하면, 센서는 눈, 귀, 코 등이고, 구동기는 손, 다리, 성대 등이 될 수 있다. 에이전트를 로봇에 비유하면, 센서는 카메라, 적외선 거리 측정기 등이고, 구동기는 각종 모터가 될 수 있다. 에이전트를 소프트웨어에 비유하면, 센서는 키보드, 파일, 네트워크 등에서 발생하는 입력 데이터이고, 구동기는 출력장치들을 통한 출력 데이터가 될 수 있다. 에이전트의 동작을 정리하면 다음과 같다.

환경 > 센서 > 인지 > 행동 > 구동기 > 환경

좋은 에이전트는 합리적인 인지와 행동을 한다.

에이전트의 여러 가지 형태:
(1) 택시 기사
    수행능력 : 안전, 신속, 준법, 편안, 최대이익
    환경 : 도로, 교통흐름, 보행자, 손님
    센서 : 속도계, GPS, 카메라, 엔진상태표시
    구동기 : 핸들, 가속페달, 브레이크, 경적

(2) 의료진단 장비
    수행능력 : 환자의 건강 점검, 비용절감
    환경 : 병원, 환자, 의료진
    센서 : 판독, 환자의 응답, 발견
    구동기 : 검사, 진단, 질문, 정보표시

(3) 인공위성 이미지 분석
    수행능력 : 정확한 이미지 선별, 분석
    환경 : 인공위성으로부터 이미지 다운로드
    센서 : 화소, 색상 배열
    구동기 : 이미지 표시 장치

(4) 로봇 선별기
    수행능력 : 선별의 정확성
    환경 : 바구니가 달린 컨베이어 벨트
    센서 : 카메라, 조립된 각도 센서
    구동기 : 조립된 팔과 손

(5) 정유 제어장치
    수행능력 : 순수성, 순도, 선별성, 안전성
    환경 : 정유 작동기
    센서 : 온도, 압력, 화학적 센서
    구동기 : 밸브, 펌프, 표시장치

(6) 대화형 영어 교사
    수행능력 : 학생의 시험점수
    환경 : 학생들, 시험기관
    센서 : 키보드 입력, 발음
    구동기 : 연습문제, 제안, 교정

환경의 여러 가지 형태:
(1) 전체관찰(Fully Observable) / 부분관찰  (Partially Observable)
(2) 단일 에이전트(Single Agent) / 다중 에이전트(Multiagent)
(3) 결정적(Deterministic) / 추론적(Stochastic)
(4) 가끔 발생(Episodic) / 연속발생(Sequential)
(5) 부분적(Discrete) / 연속적(Continuous)
(6) 알려짐(Known) / 모름(Unknown)

환경의 여러 가지 종류:
(1) 퍼즐 게임 : 전체관찰, 단일 에이전트, 결정적, 연속발생, 부분적
(2) 체스 게임 : 전체관찰, 다중 에이전트, 결정적, 연속발생, 부분적
(3) 포커 게임 : 부분관찰, 다중 에이전트, 추론적, 연속발생, 부분적
(4) 주사위 게임 : 전체관찰, 다중 에이전트, 추론적, 연속발생, 부분적
(5) 택시 운전 : 부분관찰, 다중 에이전트, 추론적, 연속발생, 연속적
(6) 의료 진단 : 부분관찰, 단일 에이전트, 추론적, 연속발생, 연속적
(7) 이미지 분석 : 전체관찰, 단일 에이전트, 결정적, 가끔 발생, 연속적
(8) 로봇 선별기 : 부분관찰, 단일 에이전트, 추론적, 가끔 발생, 연속적
(9) 정유 장치 : 부분관찰, 단일 에이전트, 추론적, 연속발생, 연속적
(10) 영어 교사 : 부분관찰, 다중 에이전트, 추론적, 연속발생, 부분적

에이전트 구조
에이전트 = 아키텍처 + 프로그램.

에이전트 종류
(1) 단순 반응 에이전트
(2) 모델 기반 반응 에이전트
(3) 목표 기반 에이전트
(4) 도구 기반 에이전트
(5) 학습 에이전트

맺음말
지 금까지 인공지능(AI)에 대한 소개와 함께 AI의 지난 역사를 통하여 AI의 관점들 및 기술들의 원리에 대해서 알아 보았다. AI에 대한 기본지식을 철학(Philosophy), 수학(Mathematics), 경제학(Economics), 신경과학(Neuroscien ce), 심리학(Psychology), 컴퓨터공학(Computer Engineer ing), 제어이론과 인공두뇌학(Control Theory and Cyber netics), 언어학(Linguistics)적으로 요약했으며, 인공지능(AI)의 기본 모델인 지능적인 에이전트(Agent)에 대해서 기술했다.

필자는 몇 해 전만 하더라도 인공지능(AI: Artificial Intel ligence)에 대해서 너무 막연한 실현 불가능한 주제로 어렵게만 생각하고 있었다. 그런데, 요즘 필자는 AI라는 주제를 다시 바라보고 있다.  수년 전 스티븐스필버그 감독의 AI라는 영화가 있었다. 주인공으로 등장하는 소년은 지능형 로봇이었지만 자신이 로봇임을 부정하며 피노키오가 세상 여행을 하듯이 여러 가지 AI 세상을 경험하면서 결국에는 바닷속으로 침몰해 버린 맨하튼에서 그를 제작한 아버지를 만난다. 아버지는 맨하튼까지 찾아온 그의 AI를 경이로운 눈으로 바라본다. 필자는 이 장면을 아직도 생생하게 기억하고 있다. 물론 영화는 픽션이므로 현실과는 거리가 먼 상상의 세계이지만, 그 속에 담겨있는 이야기들을 통해서 배울 것이 많은 듯 하다.

인공지능(AI)은 모든 학문분야와 연관되어 있다. 특히 철학, 수학, 심리학, 컴퓨터공학, 언어학등과 많은 연관성을 가지고 있으며 공부해야 하는 주제들도 많은 듯 하다. 앞으로 필자는 인공지능(AI)에 대해서 컴퓨터 알고리즘으로 구현할 수 있는 방법들을 찾아 지속적으로 연구할 생각이다. 앞으로 기회가 된다면 필자의 연구 결과물을 많은 분들과 공유해볼 생각이다. 또한, 필자가 운영하고 있는 커널연구회 (www.ker nel.bz) 웹사이트에도 지속적으로 관련 내용들을 올릴 예정이니 많은 관심과 격려 바란다. 그 동안 필자의 연재물을 읽어주신 독자 여러분들과 월간 임베디드월드 관계자 분들께 감사의 마음을 전하며 필자의 기고글 “C언어와 알고리즘”은 마치고자 한다.


필 / 자 / 소 / 개

000000005173-0006.jpg
(정 재준) 필자는 학창시절 마이크로프로세서 제어 기술을 배웠고, 10여년동안 쌓아온 IT관련 개발 경험을 바탕으로 “오라클실무활용SQL튜닝(혜지원)” 책을 집필하고, “월간임베디드월드” 잡지에 다수의 글을 기고하였다.  서울대병원 전산실에서 데이터베이스 관련 일을 하면서 학창시절부터 꾸준히 해온 리눅스 연구도 계속하고 있다.  특히, 스탠포드대학교의 John L. Hennessy 교수의 저서 “Computer Organization and Design” 책을 읽고 깊은 감명을 받았으며, 컴퓨터구조와 자료구조 및 알고리즘 효율성 연구를 통한 기술서적 집필에 노력하고 있다.  또한, 온라인 상에서 커널연구회 (http://www.kernel.bz/ )라는 웹사이트를 운영하며 관련기술들을 공유하고 있다.


※ 본 내용은 (주)테크월드(http://www.embeddedworld.co.kr)의 저작권 동의에 의해 공유되고 있습니다.
Copyright ⓒ
Techworld, Inc. 무단전재 및 재배포 금지

맨 위로
맨 위로