문자열이 특정 패턴과 일치하는지 확인해야하는 프로그램을 작성하고 있습니다. 지금 당장 나는 Prolog에서 20 가지 이상의 다른 정의를 가진 규칙 matchesPattern (S)을 구현했다.Prolog에서 최적의 절 순서를위한 통계를 수집하는 라이브러리/기법이 있습니까?
패턴 확인 술어를 통해 특정 길이까지 모든 2 진 문자열을 실행하게됩니다. 프로그램은 상당히 느리고 (Prolog는 종종 그렇듯이), 너무 많은 다른 정의가 있기 때문에, 가장 많이 매칭 된 것들을 순서대로 가장 먼저 나열하고 Prolog에서 처음으로 매치 시켜서 내가 할 수있는 한 많이.
지금 SWI Prolog를 사용하고 있습니다. 그러나 SICStus에 액세스 할 수 있으므로 사용하거나 Prolog 인터프리터를 무료로 사용할 수 있습니다.
편리 할 때 이미 커팅을 사용하고 있으며 DCG도 사용하고 있습니다. DCG가 속도 향상을 제공합니까? – jmite
예 속도 향상을 제공하지 않습니다. – whd