머큐리 같은 클래식한 general LP가 아니라 Satisfiability Modulo Theory, Constraint Programming 같은 분야라고 나는 생각

LP의 이상향은 언제나 “무엇을(what) 원하는지 기술하면 컴퓨터가 알아서 답을 찾고, 어떻게(how) 찾는지는 프로그래머가 신경쓰지 않는다” 였음. 클래식 LP의 문제는 이 what을 기술하는 방식으로 decidable 하지도 않은 1차논리(또는 그에 가까운 fragment)를 통으로 허용한 결과 탐색공간이 터져 버리니까 “컴퓨터가 알아서” 부분이 불가능해지고, 프로그래머가 증명조무사가 되어서 탐색 루틴을 하나씩 손으로 만져줘야 하는 안습한 상황이 되니 극히 일부의 니치를 빼면 절차형 언어만도 못한 물건이 된 것.

그런 의미에서는 기술 언어를 과감하게 제한해서 탐색방식을 엔드유저가 신경쓸 필요 없는 블랙박스로 유지한 SMT, CP 같은 분야가 LP의 정신을 계승한 적자라고 생각. 당장은 용도가 많이 제한적이지만 다룰 수 있는 theory의 범위도 계속 넓어지고 있고, 뉴럴넷을 접목하는 시도 등도 활발한 만큼 LP 선구자들의 비젼을 실현할 가능성도 이쪽이 더 높지 않을까.