문제

과거에는 규칙 평가자 역할을하는 프로그램을 개발해야했습니다.당신은 선행과 일부 결과 (행동)를 가지고 있었으므로 선행이 수행 된 행동을 참으로 회피했다면

당시 저는 RETE 알고리즘 의 수정 된 버전을 사용했습니다.RETE는 선행 패턴 일치에 대해 첫 번째 만 공개됨).여기서는 규칙 당 수백만 개의 작업이 있고 일부 연산자는 여러 규칙에서 "반복"되는 큰 시스템에 대해 이야기하고 있습니다.

모든 것을 다른 언어로 다시 구현해야 할 수 있으며 RETE에 경험이 있지만 다른 패턴 일치 알고리즘을 아는 사람이 있습니까?어떤 제안이나 RETE를 계속 사용해야합니까?

도움이 되었습니까?

해결책

TREAT 알고리즘은 RETE와 유사하지만 부분 일치를 기록하지 않습니다. 결과적으로 특정 상황에서 RETE보다 적은 메모리를 사용할 수 있습니다. 또한 많은 알려진 사실을 수정하면 철회에 시간을 할애 할 필요가 없기 때문에 TREAT가 훨씬 더 빨라질 수 있습니다.

RETE와 RETE 사이의 균형을 유지하는 RETE * 도 있습니다. 사용하려는 메모리 양에 따라 조인 노드 상태를 저장하여 처리하십시오. 따라서 여전히 어설 션 시간을 절약 할 수 있지만 시스템을 조정하는 방법에 따라 메모리 및 철회 시간도 절약됩니다.

LEAPS 는 지연 평가 체계를 사용하고 RETE와 TREAT의 요소를 모두 통합합니다.

RETE에 대한 개인적인 경험 만 있지만 RETE * 또는 LEAPS가 더 좋고 유연한 선택 인 것 같습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top