Kalai의 2 페이지 SODA 논문 은 상관 없음 (한 문자와 일치하는 와일드 카드) 과 패턴 일치를위한 간단하고 효율적인 알고리즘을 제공합니다 . 본질적으로 컨볼 루션만큼 쉽습니다.
그러나 신경 쓰지 않는 여러 패턴을 검색하면 어떻게됩니까 ? 예를 들어 FFT 기반 기술로 어떻게 든 해결할 수 있습니까?
Kalai의 2 페이지 SODA 논문 은 상관 없음 (한 문자와 일치하는 와일드 카드) 과 패턴 일치를위한 간단하고 효율적인 알고리즘을 제공합니다 . 본질적으로 컨볼 루션만큼 쉽습니다.
그러나 신경 쓰지 않는 여러 패턴을 검색하면 어떻게됩니까 ? 예를 들어 FFT 기반 기술로 어떻게 든 해결할 수 있습니까?
답변:
다중 패턴 사례의 경우, 적어도 지수 시간 가설이 실패하지 않는 한 단순히 각 요소를 스캔하는 것이 최상의 솔루션 일 수 있습니다.
주어진 세트를 상기 과 우주에 우리가 있는지 결정할 수 있다면 과 그런 제 시간에 SETH가 실패합니다. 즉, 실행 시간이있는 CNF-SAT 알고리즘이 있습니다. .
주어진 세트 과 위의 문제를 다음과 같이 이진 알파벳을 신경 쓰지 않는 다중 패턴 일치로 인코딩합니다.
이제 패턴이 분명합니다 발생시 텍스트를 일치시킬 수 있습니다 때에 만 . 총 패턴 길이와 텍스트 길이는 모두예를 들어, 여러 패턴에 대한 선형에 가까운 단일 패스 알고리즘은 가장 잘 알려진 CNF-SAT 알고리즘에 비해 상당한 개선점을 제공 합니다 ...
(이것은 패턴의 전체 길이에서 2 차 패턴과 같이 패턴을 전처리하는 데 많은 시간을 사용하는 알고리즘에 대해서는 언급하지 않습니다.)