상향방식에 의한 Horn논리절 질의어의 최적화

자연언어질의어를 Horn 논리절(clause)로 변환하여, 논리프로그래밍 시스템에서 실행을 하려면은 그 논리절을 최적화할 필요가 있다. Prolog와 같은 좌우, 깊이우선용해(left-to-right, depth-first resolution) 방식의 논리프로그래밍 언어하에서 질의어 처리를 실행한다면, 자연언어 질의어에서 변환된 논리절은, 비능률적인 구조로 되어 있는 경우가 대부분이다. 이런 경우의 논리절의 최적화 방법에는 논리절의 몸체(body)에 있는 goal들과 그들에 관련된 논리절들을 순서조정(ordering) 하는 방법이 있다. 이 논문에서는 이 goal들과 관련 논리절들의 순서 조정을 논리프로그램의 의미론적 지식 각 프레디키트(predicate)의 각인수(argument)의 정의역(domain) 크기와 사실(fact)인 경우, 그것의 갯수)을 이용하여, 상향(bottom-up) 방식으로 처리하는 방법을 제시하였다. 이 방법은 기존의 방법들을 개선한 것으로서, 최적화 알고리즘을 단순화했고, 응용범위를 확대하였다.