Czy krzyżówki wyrażeń regularnych są trudne NP?

13

Pewnego dnia wygłupiałem się na tej stronie: http://regexcrossword.com/ i zastanawiałem się, jaki był najlepszy sposób rozwiązania tego problemu.

Czy potrafisz rozwiązać następujący problem w czasie wielomianowym, czy jest to trudne NP?

Biorąc pod uwagę siatkę NxM z N wyrażeniami regularnymi dla kolumn i M dla wierszy, znajdź dowolne rozwiązanie siatki, tak aby wszystkie wyrażenia regularne były spełnione, lub powiedz, że nie istnieje żadne rozwiązanie.

Glen Takahashi
źródło
Jeszcze nie obejrzałem strony, ale pytania z Regexami są zwykle kompletne PSPACE, klasa, która jest co najmniej tak trudna jak NP
jmite
1
@jmite Ciągi zgadywania, które pasują do niektórych wyrażeń regularnych, są „łatwe”, ponieważ nie musimy uzyskiwać pewnej globalnej właściwości wyrażenia regularnego. Myślę, że problem tkwi w NP (patrz komentarz poniżej odpowiedzi FrankW).
Raphael

Odpowiedzi:

11

Problem jest trudny NP.

Pokazujemy to poprzez zmniejszenie pokrycia wierzchołków:

G=(V,E)kVVkEV

|E|+1|V|

01(0|1)

Wszystkie wiersze odpowiadają wierzchołkowi. Dostają regex, który pozwala na pisanie albo

  • 1

  • 0

k

Zgodność między rozwiązaniami krzyżówki wyrażeń regularnych a okładkami wierzchołków powinna być oczywista.

Przykład:

Znajdź okładkę wierzchołka o rozmiarze 2 dla następującego wykresu:

https://i.imgur.com/TY6sjjV.png

VA=0|10110

VB=0|11101

VC=0|10011

VD=0|11000

Counter=0|010|01010

E1=01(0|1)

E2=01(0|1)

E3=01(0|1)

E4=01(0|1)

VAVDCounterE1E4

VA,VBVC,VB

Counter0|010

FrankW
źródło
2
Ponieważ możemy a) obliczyć wielowymiarowo NFA dla wyrażeń regularnych, a także zgadnąć b) rozwiązanie ic) obliczenia (liniowo) wszystkich NFA id) zweryfikować (w czasie wielomianowym), czy obliczenia pasują do zgadywanych słów, problem dotyczy także NP.
Raphael