Như đã thấy trong dải XKCD gần đây và bài đăng blog gần đây nàytừ Peter Norvig (và một câu chuyện Slashdot có phần sau), "regex golf" (có thể được gọi là vấn đề tách biểu thức chính quy) là câu đố xác định biểu thức chính quy ngắn nhất có thể chấp nhận mọi từ trong tập A và không có từ nào trong set B. Bài đăng của Norvig bao gồm một thuật toán để tạo ra một ứng cử viên ngắn hợp lý và anh ta lưu ý rằng cách tiếp cận của anh ta liên quan đến việc giải quyết vấn đề Set Cover hoàn chỉnh NP, nhưng anh ta cũng cẩn thận chỉ ra rằng cách tiếp cận của anh ta không xem xét mọi biểu hiện thông thường có thể, và tất nhiên, nó không nhất thiết là thuật toán duy nhất, vì vậy các giải pháp của anh ta không được đảm bảo là tối ưu, và cũng có thể một số thuật toán thời gian đa thức chắc chắn khác có thể tìm ra các giải pháp tương đương hoặc tốt hơn.
Để cụ thể hóa và để tránh phải giải quyết câu hỏi tối ưu hóa, tôi nghĩ rằng công thức tự nhiên nhất của Phân tách biểu thức chính quy sẽ là:
Cho hai tập hợp (hữu hạn) và của một chuỗi trên một số bảng chữ cái , có biểu thức chính xác về độ dài chấp nhận mọi chuỗi trong và từ chối mọi chuỗi trong B không?B Σ ≤ k Một B
Có bất cứ điều gì được biết về sự phức tạp của vấn đề tách biệt đặc biệt này? (Lưu ý rằng vì tôi đã chỉ định và là các chuỗi hữu hạn, nên khái niệm kích thước tự nhiên cho vấn đề là tổng độ dài của tất cả các chuỗi trong và ; điều này thay đổi mọi đóng góp từ ). Có vẻ như rất có khả năng với tôi rằng nó là NP-đầy đủ (và trong thực tế, tôi mong chờ việc giảm được tới một số loại vấn đề cover) nhưng một số tìm kiếm đã không bật lên bất cứ điều gì đặc biệt hữu ích.