프롤로그란 무엇인가
- 프롤로그는 논리 프로그래밍을 의미합니다. 논리 프로그래밍 패러다임에서는 프롤로그 언어가 가장 널리 사용됩니다. 프롤로그는 선언적 언어로, 해결책을 찾는 방법을 계산하는 것이 아니라 사실과 규칙(논리적 관계)을 기반으로 한 데이터로 프로그램을 구성한다는 의미입니다. 논리적 관계는 주어진 애플리케이션에 대해 유지되는 관계를 설명합니다.
- 해결책을 얻기 위해 사용자는 프로그램을 실행하는 대신 질문을 합니다. 사용자가 질문을 하면 대답을 결정하기 위해 런타임 시스템이 사실과 규칙의 데이터베이스를 검색합니다.
- 첫 번째 프롤로그는 콜메라우어의 작품을 바탕으로 한 '마르세유 프롤로그'였습니다. 4세대 프로그래밍 언어의 대표적인 예가 프롤로그이다. 이는 선언적 프로그래밍 패러다임을 지원합니다.
- 1981년 일본의 컴퓨터 프로젝트 5일세대를 발표했습니다. 이후 개발 언어로 Prolog가 채택되었습니다. 이 튜토리얼에서 프로그램은 'Standard' Edinburgh Prolog로 작성되었습니다. PrologII 계열의 프롤로그는 마르세유 프롤로그의 자손인 또 다른 종류의 프롤로그입니다.
- 프롤로그 기능은 '논리적 변수'입니다. 즉, 균일한 데이터 구조처럼 동작하고, 증명 검색을 위한 역추적 전략, 패턴 일치 기능, 수학적 변수, 입력 및 출력이 상호 교환 가능합니다.
- 답을 추론하려면 여러 가지 방법이 있을 것입니다. 이러한 경우 런타임 시스템은 다른 솔루션을 찾도록 요청받게 됩니다. 다른 솔루션을 생성하려면 역추적 전략을 사용하세요. Prolog는 정적 범위 규칙과 동적 유형 검사 기능을 갖춘 약한 유형의 언어입니다.
- 프롤로그는 문제를 해결하는 방법보다는 해결하려는 문제를 지정할 수 있음을 의미하는 선언적 언어입니다.
- 프롤로그는 데이터베이스, 자연어 처리, 인공지능 등 일부 영역에서는 사용되지만, 수치 알고리즘이나 인스턴스 그래픽 등 일부 영역에서는 거의 쓸모가 없습니다.
- 인공지능 응용프로그램에서는 프롤로그가 사용됩니다. 인공지능 애플리케이션은 자동화된 추론 시스템, 자연어 인터페이스, 전문가 시스템이 될 수 있습니다. 전문가 시스템은 인터페이스 엔진과 사실 데이터베이스로 구성됩니다. 프롤로그의 런타임 시스템은 인터페이스 엔진 서비스를 제공합니다.
- 기본 논리 프로그래밍 환경에는 리터럴 값이 없습니다. 대문자로 된 식별자와 기타 식별자는 변수를 나타냅니다. 소문자로 시작하는 식별자는 데이터 값을 나타냅니다. 기본 Prolog 요소에는 유형이 없습니다. 정수 값, 문자 및 작업을 포함하도록 대부분의 프롤로그 구현이 향상되었습니다. 프롤로그의 메커니즘은 튜플과 목록을 설명합니다.
- 함수형 프로그래밍 언어와 프롤로그는 Hugs와 같은 몇 가지 유사점을 가지고 있습니다. 관계 정의를 구성하기 위해 논리 프로그램이 사용됩니다. 함수형 프로그래밍 언어는 일련의 함수 정의로 구성되는 데 사용됩니다. 논리 프로그래밍과 함수형 프로그래밍 모두 재귀적 정의에 크게 의존합니다.
프롤로그의 응용
프롤로그의 적용은 다음과 같습니다.
- 사양 언어
- 로봇 기획
- 자연어 이해
- 기계 학습
- 문제 해결
- 지능형 데이터베이스 검색
- 전문가 시스템
- 자동화된 추론
전제 조건
프롤로그를 배우기 전에,
청중
우리의 Prolog 튜토리얼은 초보자와 전문가를 돕기 위해 고안되었습니다.
1~100 로마자 아니오
문제
우리는 이 프롤로그 튜토리얼에서 어떤 문제도 발견하지 못할 것이라고 확신합니다. 하지만 만약 실수가 있다면 문의 양식에 문제를 게시해 주세요.