프롤로그 언어는 무엇입니까?
Prolog는 논리를 기반으로하는 컴퓨터 프로그래밍 언어입니다. 대부분의 컴퓨터 언어는 문제를 해결하는 데 필요한 단계를 기반으로합니다. 반면에 프롤로그 언어는 엔티티 간의 논리적 관계를 나타내는 "선언적인"언어입니다. 문제를 해결하는 방법은 컴퓨터에 맡겨집니다. 프랑스 프로그램에서 유래 한 이름은 프랑스 프로그래밍 en logique, 즉 프로그래밍 논리에서 유래합니다.
다음은 간단한 프롤로그 프로그램입니다.
조상 (p, q) :- 아버지 (p, r), 조상 (r, q)
아버지 (John, Jim).
아버지 (Jim, Jerry).
아버지 (Jerry, Jason).
아버지 (Jerry, Jeff).
아버지 (Jason, Joshua).
위의 프로그램은 Truism을 나타냅니다. F가 C의 아버지라면 F는 C의 조상입니다. P가 Q의 조상 인 R의 아버지라면 P는 Q의 조상입니다. Jim의 아버지가되는 것과 같은 여러 가지 진정한 사실이 주어집니다. 그렇다면 문제가 John이Jeff의 조상 인 우리는 다음과 같이 "예"라고 응답합니다.
?- 조상 (John, Jeff).
예
여호수아의 조상이 관심을 갖는 경우, 프로그램은 모든 조상을 다음과 같이 표시합니다.
?- 조상 (A, Joshua)
a = Jason
a = jerry
a = jim
a = 존
위의 두 사례에서 프로그램은 평가를 수행하는 방법을 알려주지 않았다는 점에 유의하십시오. 예를 들어, 노인을 시작하여 젊은 사람에게 일할 것인지, 그 반대도 마찬가지인지는 표시되지 않았습니다. 또한 아래와 같이 부품을 교환합니다.
조상 (P, Q) :- 조상 (R, Q), 아버지 (P, R)
왼쪽이 사실이되기 위해서는 오른쪽에있는 두 부분이 사실이어야하기 때문에 프로그램에 차이가 없을 것입니다.
.Prolog 언어는 관계에 중점을두고 문제를 해결하는 방법에 중점을 둡니다. 프로그램 실행 중에 Prolog는 여러 가지 진정한 상태를 구축합니다.지식베이스 생성 위의 예에서, 지식베이스는 특별한 순서없이 조상 (John, Jim), 조상 (Jim, Jerry), 조상 (John, Jerry), 조상 (Jim, Jason), 조상 (John, Jason) 등을 가질 것입니다. 이 Knowledgebase는 프로그램이 실행됨에 따라 계속 구축 될 수 있으며 솔루션을 얻기 위해 효율적으로 검색 할 수 있습니다. 실행은 여러 컴퓨터에 의한 병렬 처리, 동시 실행을 사용할 수 있습니다.
프롤로그 언어는 여러 영역에서 사용됩니다. 그것은 영어와 같은 자연 언어를위한 시스템에서 시작되었습니다. 자연어는 인공 지능의 영역 중 하나입니다. 프롤로그 언어는 대수를 포함한 상징적 수학에도 사용됩니다. 그것은 다른 많은 응용 분야 중에서 이론, 전문가 시스템 및 제어 시스템에서 증명하는 데 사용됩니다.