이 최근 XKCD 스트립 과 최근 블로그 게시물 에서 볼 수 있듯이Peter Norvig (및 후자를 특징으로하는 슬래쉬 도트 이야기)에서 나온 "regex golf"(정규식 분리 문제라고 부를 수 있음)는 세트 A의 모든 단어를 받아들이고 단어를 입력하지 않는 가장 짧은 정규식을 정의하는 퍼즐입니다. Norvig의 게시물에는 합리적으로 짧은 후보를 생성하는 알고리즘이 포함되어 있으며 그의 접근 방식에는 NP-complete Set Cover 문제를 해결하는 것이 포함되지만 그의 접근 방식은 가능한 모든 정규 표현식을 고려하지 않는다는 점을 지적합니다. 물론 그의 알고리즘이 반드시 유일한 알고리즘은 아니기 때문에 그의 솔루션이 최적의 것으로 보장되지는 않으며, 다른 다항식 시간 알고리즘이 동등하거나 더 나은 솔루션을 찾을 수도 있습니다.
구체화를 위해 그리고 최적화 문제를 해결해야하는 것을 피하기 위해 정규 표현식 분리의 가장 자연스러운 공식은 다음과 같습니다.
주어 두 (유한)가 설정 및 일부 위에 알파벳 스트링 , 길이 정규식가 의 모든 문자열을 사용할 것을 및 모든 문자열 거부 ?
이 분리 문제의 복잡성에 대해 알려진 것이 있습니까? ( 와 를 유한 한 문자열 집합으로 지정했기 때문에 문제의 크기의 자연스러운 개념은 와 의 모든 문자열의 총 길이입니다 . 이는 기여를 ). 그것은 가능성이 높다 내게는 보인다 이다 NP-완료 (사실, 나는 감소가 커버 문제 일종의 것으로 기대)하지만 몇 가지 검색이 특히 유용 아무것도를 설정하지 않았습니다.