내가 Prolog에서 본 것처럼 앱의 규칙 엔진을 만드는 데 이상적입니다. 그러나 나는 내가 Prolog로 작성된 규칙 엔진을 본 적이 없다고 생각합니다. 규칙 엔진을 빌드하는 데 사용되지 못하게하는 Prolog (예 : 가비지 수집 알고리즘 불량)에 고유 한 제한이 있습니까?
내가 Prolog에서 본 것처럼 앱의 규칙 엔진을 만드는 데 이상적입니다. 그러나 나는 내가 Prolog로 작성된 규칙 엔진을 본 적이 없다고 생각합니다. 규칙 엔진을 빌드하는 데 사용되지 못하게하는 Prolog (예 : 가비지 수집 알고리즘 불량)에 고유 한 제한이 있습니까?
답변:
초기 단계의 규칙 엔진은 거의 독점적으로 Prolog로 작성되었습니다. 논리적 언어였습니다. 작은 규칙 집합을 위해 그들은 잘 작동했습니다. 그러나 확장 성이 좋지 않은 것으로 나타났습니다. 나는 명확한 참조가 없지만 Prolog가 규칙 체인을 처리하는 방식이 비효율적이라는 사실을 이해하고 있습니다.
RETE 알고리즘 및 후속 알고리즘의 개발로 인해 대량의 규칙을보다 효율적으로 처리 할 수있게되었습니다.
아마도 현대 프롤로그는 대부분의 초기 작업이 완료되었을 때 80 년대보다 더 효율적일 것입니다.
혀-인-뺨 답변 : Rules Engines 제작자가 Prolog (또는 Mercury 또는 PLANNER 또는…)에 대해 알고 있다면 Rule Engines를 작성하지 않을 것이므로 Prolog를 사용하게됩니다.
일반적으로 규칙 엔진의 요점은 다른 엔진의 일부라는 것입니다. Prolog로 작성된 응용 프로그램을 보는 것은 매우 드물며 다른 언어로 작성된 응용 프로그램에 Prolog를 연결하는 데 일반적으로 사용 가능한 인터페이스는 없습니다.
다른 애플리케이션에 추가되도록 작성된 규칙 엔진 용 규칙 기반 도구 중 하나는 CLIPS 입니다. CLIPS는 OPS5를 기반으로 하며 정리 규칙에 Rete 알고리즘 을 사용합니다 .