인공지능은 소프트웨어 기술이기 때문에 인공지능 시스템에는 프로그래밍 언어가 필요합니다. 여기서는 인공지능에 많이 사용되는 대표적인 몇 가지 프로그래밍 언어에 대해 알아보겠습니다.
1. LISP
인공지능 연구에서 많이 사용되는 언어 중 가장 역사가 깊은 언어가 LISP입니다. LISP는 1958년 존 맥카시(John McCathy)가 설계한 것으로 원래는 계산과학에 관한 이론을 기술하기 위해 고안된 언어였는데, 나중에 컴퓨터의 인터프리터(Interpreter: 사람이 작성한 프로그램을 순차적으로 해석해 기계어로 번역하면서 실행하는 프로그램)로 구현되었습니다. 이름은 LIst Processor이며 리스트 처리 기계에서 유래하였습니다.
LISP의 특징은 기호처리가 쉽다는 점입니다. LISP와 비슷한 시기에 개발된 프로그래밍 언어에 포트란(FORTRAN0과 코볼(COBOL)이 있습니다. 포트란은 과학기술 계산에 적합한 프로그래밍 언어이고, 코볼은 사무처리에 적합한 프로그래밍 언어입니다. 인공지능 관련 프로그램에서는 수치적 처리만이 아닌 기호처리도 많이 쓰이기 때문에 LISP가 많이 이용되었습니다.
LISP가 인공지능 프로그래밍에서 많이 사용된 또 하나의 특징은 LISP가 인터프리터에서 대화 형식으로 실행된다는 점도 들 수 있습니다. 인공지능 프로그래밍에서는 잦은 시행착오를 통해 알고리즘을 개발하기 때문에 포트란이나 코볼 같은 컴파일러 형식의 언어보다는 대화 형식으로 인터프리터를 조작하는 LISP를 사용하는 것이 효율적입니다. 그래서 인공지능 프로그래밍에서는 LISP가 많이 사용되는 것입니다.
2. 프롤로그(Prolog)
프롤로그(Prolog)는 논리학의 1차 논리를 베이스로 한 프로그래밍 언어입니다. 그래서 프롤로그는 논리형 언어로 분류되며, 프롤로그라는 이름은 Programming in Logic에서 유래합니다. 1970년대에 개발된 프롤로그는 수리논리학이나 데이터베이스 시스템의 구축 그리고 인공지능 분야에서 논리를 바탕으로 한 프로그래밍에 사용하기 위한 언어였습니다(예: 아래 그림). 논리형 언어는 1980년대 일본에서 진행된 제5세대 컴퓨터 프로젝트에서도 다루어졌으며, 그 결과 논리형 언어 ESP가 개발되었습니다.
3. 파이선(Python)
파이선(Python)은 1990년대에 등장한 비교적 새로운 프로그래밍 언어로, LISP나 프롤로그와는 달리 C나 Java와 같은 절차적 언어의 흐름을 계승한 프로그래밍 언어입니다. Python이란 이름은 영국 Monty Python's Flying Circus에서 따온 것입니다.
파이선의 특징은 읽고 작성하기도 쉽다는 것과 다양한 종류의 라이브러리가 미리 준비되어 있어서 프로그램 개발이 용이하다는 것입니다. 파이선은 범용 프로그래밍 언어로 인공지능 전용 프로그래밍 언어는 아닙니다. 그러나 인공지능 분야에서 널리 사용되고 있고, 중요한 인공지능 알고리즘에는 처리 프로그래밍을 본뜬 라이브러리도 다수 개발되고 있습니다. 특히 딥러닝 분야에서는 표준 플랫폼의 지위를 확립하였습니다.
지금까지 인공지능(AI)에 관련된 여러 가지 기초적인 상식과 개념 그리고 역사에 대해 알아보았습니다.
(다음 편부터는 머신러닝을 시작으로 보다 깊이 있는 내용을 공부하고자 합니다.)
2023.05.09 - [인공지능(AI; Artificial Intelligence)] - 인공지능(AI) 연구의 분야 별 발전 과정 (3)
'인공지능(AI)이란? - 기초 개념 및 이론' 카테고리의 다른 글
머신러닝 학습 방법과 몇 가지 개념 (1) (0) | 2023.05.13 |
---|---|
머신러닝 (Machine Learning) (0) | 2023.05.11 |
인공지능(AI) 연구의 분야 별 발전 과정 (3) (0) | 2023.05.09 |
인공지능(AI) 연구의 분야 별 발전 과정 (2) (0) | 2023.05.08 |
인공지능(AI) 연구의 분야 별 발전 과정 (1) (0) | 2023.05.07 |
댓글