YongWook's Notes

<인공지능> LISP에 대해 알아보자 1 - 소개 본문

-software/AI

<인공지능> LISP에 대해 알아보자 1 - 소개

글로벌한량 2016. 3. 2. 18:40

<인공지능 - Artificial Intelligence>


겨울방학 도중에 인공지능에 대해 호기심이 생겨서 도서관에서 책을 빌렸다. 갑작스런 바람에 얼떨결로 다가오는 이번 1학기 수업으로 인공지능 과목을 선택해버리고는 예습한다는 생각으로 먼저 잠깐 들여다보기로 했다.

In the middle of winter vacation, suddenly I bumped into a curiosity about Artificial Intelligence. So I borrowed a book from library. I decided to learn about this for coming new semester spontaneously. And now I'm gonna take it like preparation of the coming class.


내가 빌린 책의 제목은 '인공지능 이론 및 실제 -양기철'라는 책이다. 쭉 훑으며 읽어보기에 괜찮아 보여 대출받았다. 이 책에서 소개하는 순서대로 인공지능 분야를 슬쩍 엿볼 수 있었으면 좋겠다.

The title of the book is <Artificial Intelligence theory and practice -양기철>. I chose it because it looked quite good to read with feeling free. I hope I could at least peep into the subject of AI.



-LISP

LISP은 인공지능 언어 중의 하나로 오늘까지 널리 사용되고 있는 언어중 FORTRAN 다음으로 오래된 언어이다.

수학적 재귀함수 이론에 기반을 두고 만들어진 함수형 언어(Functional Language)이며 알고리즘을 어떻게 수행 하여야 하는지 기술하는 절차적 언어(Procedural Language)의 특성도 가지고 있다.


-LISP의 장점

  • 재귀적(Recursive) 프로그래밍 작성이 용이하다.
  • 자동적으로 Garbage Collection을 수행하여 메모리 사용 효율이 높인다.
  • 프로그램과 데이터의 표현이 동일하다. 이는 다음과 같은 작업을 쉽게 할 수 있게 한다.
    + 하나의 프로그램이 다른 프로그램을 검사할 수 있다.
    + 프로그램의 수행으로 새로운 프로그램을 생성할 수 있다.
    + 프로그램이 수행되면서 프로그램 내용을 변경할 수 있다. -> 학습이 가능하다
    + 하나의 프로그램을 다른 프로그램의 데이터로 사용할 수 있다.
  • 인터프리터와 컴파일러를 모두 사용할 수 있어 상호작용이 편한 프로그램 개발 환경이 제공된다.

이러한 장점때문에 LISP은 주로 AI의 자연어처리, 추론, 전문가 시스템, 자동 프로그래밍, 로보틱스, 컴퓨터 시각, 음성인식 등에 사용된다.

LISP에서 사용하는 기본적인 데이터에는 Symbol, Number, S-Expression이 있다. 각각 심볼, 숫자, 문장이다. S-Expression은 소괄호로 만들어진 문장으로 Symbolic Expression의 줄임이다.


Comments