프롤로그와 Lisp의 차이점

Anonim

Prolog vs Lisp

로 만들어졌습니다. Prolog와 Lisp는 오늘날 가장 인기있는 AI (인공 지능) 컴퓨터 프로그래밍 언어입니다. 두 가지 프로그래밍 패러다임으로 구축됩니다. 프롤로그는 선언적 언어이고 Lisp은 함수 언어입니다. 둘 다 다양한 AI 문제에 사용되지만 프롤로그는 논리 및 추론 문제에 가장 많이 사용되는 반면 Lisp는 신속한 프로토 타이핑 요구 사항에 사용됩니다.

Prolog

Prolog는 AI 프로그래밍 언어입니다. 그것은 논리 프로그래밍 언어 계열에 속합니다. 프롤로그는 선언적 언어로서 규칙과 사실로 정의 된 관계 (프로그램 논리를 나타냄)에 대한 쿼리를 실행하여 계산을 수행합니다. 1970 년에 개발 된 프롤로그는 가장 오래된 논리 프로그래밍 언어 중 하나이며 오늘날 가장 인기있는 인공 지능 프로그래밍 언어 중 하나입니다 (Lisp과 함께). 무료 언어이지만 많은 상용 버전을 사용할 수 있습니다. 처음에는 자연 언어 처리에 사용되었지만 전문가 시스템, 자동 응답 시스템, 게임 및 고급 제어 시스템과 같은 다양한 작업에 사용되었습니다. Prolog에는 용어라는 하나의 데이터 유형 만 있습니다. 용어는 원자, 숫자, 변수 또는 복합 용어 일 수 있습니다. 숫자는 부동 또는 정수가 될 수 있습니다. 프롤로그는 목록 및 문자열을 항목 모음으로 지원합니다. 프롤로그는 절을 사용하여 관계를 정의합니다. 조항은 규칙 또는 사실 일 수 있습니다. 프롤로그는 반복적 인 술어를 철저하게 반복합니다.

-> ->

Lisp

Lisp은 컴퓨터 프로그래밍 언어 계열입니다. 그리고 오늘날 범용 프로그래밍에 사용되는 가장 유명한 Lisp 사투리는 Common Lisp and Scheme입니다. LISP라는 이름은 "LISt Processing"에서 유래했으며 힌트대로 Lisp의 주요 데이터 구조는 링크 된 목록입니다. 실제로 전체 소스는 목록 (접두사 표기법 사용) 또는 더 정확하게 괄호로 묶인 목록 (s- 표현식)을 사용하여 작성됩니다. 예를 들어, 함수 호출은 (f a1 a2 a3)로 작성됩니다. 즉 함수에 대한 입력 인수로 a1, a2 및 a3을 사용하여 함수 f가 호출됩니다. 따라서 표현식 지향 언어 (expression oriented language) 라 불리는데, 모든 데이터와 코드는 표현식으로 작성됩니다 (Lisp의 표현식과 문장 사이에는 구분이 없습니다). 이 멋진 기능은 유용한 매크로를 작성하여 언어를 문제가있는 곳으로 확장하는 데 사용할 수있는 Lisp에서 매우 특별합니다. 꼬리 재귀는 프로그래머가 루프를 표현하는 데 사용되지만 흔히 볼 수있는 모든 Lisp 언어에는 루프와 같은 제어 구조가 포함됩니다. 또한 Common Lisp와 scheme은 함수의 예제 인 mapcar와 map을 가지고 있으며, 함수를 모든 요소에 연속적으로 적용하여 루핑 기능을 제공 한 다음 결과를 목록으로 수집합니다.

Prolog와 Lisp의 차이점은 무엇입니까?

Prolog와 Lisp은 가장 많이 사용되는 AI 프로그래밍 언어 중 두 가지이지만 다양한 차이점이 있습니다. Lisp은 함수형 언어이고 Prolog는 논리 프로그래밍 및 선언적 언어입니다. Lisp는 빠른 프로토 타이핑 및 매크로 기능으로 인해 매우 유연하므로 실제로는 문제의 언어를 언어에 맞게 확장 할 수 있습니다. AI, 그래픽 및 사용자 인터페이스 분야에서이 신속한 프로토 타이핑 능력 때문에 Lisp이 광범위하게 사용되었습니다. 그러나 내장 된 논리 프로그래밍 기능으로 인해 Prolog는 기호 추론, 데이터베이스 및 언어 구문 분석 응용 프로그램과 관련된 AI 문제에 이상적입니다. 하나를 선택하는 것은 완전히 해결해야 할 AI 문제의 유형에 달려 있습니다.