Złożoność problemu z siecią przełączników


17

Sieć przełączników (nazwa została wymyślona) składa się z trzech typów węzłów:

  • jeden węzeł początkowy
  • jeden węzeł końcowy
  • jeden lub więcej węzłów Switch

Węzeł przełączający ma 3 wyjścia: lewy, górny, prawy; ma dwa stany L i R oraz stan docelowy TL lub TR . Do każdego przełącznika można przejść zgodnie z następującymi zasadami:

  • zawsze od lewej do góry; stan przełącznika zmienia się na L
  • zawsze od prawej do góry; stan przełącznika zmienia się na R.
  • od góry do lewej tylko wtedy, gdy przełącznik znajduje się w stanie L; stan się nie zmienia
  • od Up to Right, jeśli przełącznik jest w stanie R; stan się nie zmienia
  • nigdy od lewej do prawej lub od prawej do lewej

węzeł przełączający
Rysunek 1. Przełącz węzeł w stan L ze stanem docelowym TR

Te właściwości obejmują również:

  • 0, 1 lub 2 wyjścia przełącznika mogą być izolowane (niepodłączone do innego przełącznika);
  • ścieżka może po prostu „dotknąć” przełącznika, aby zmienić jego stan: wejść z lewej i wyjść z lewej lub wejść z prawej i wyjść z prawej;
  • nie ma ograniczeń co do liczby przejść / dotknięć przełącznika.

Problemem decyzyjnym jest: „Czy istnieje ścieżka od węzła początkowego do węzła końcowego, tak że wszystkie końcowe stany przełączników są zgodne z odpowiednim stanem docelowym?”

Oczywiście wszystkie przełączniki, które początkowo nie są w stanie docelowym, muszą zostać przemierzone (lub dotknięte) przynajmniej raz;

To jest szybkie narysowanie trywialnej sieci (wykonanej za pomocą Excela ... zrobię lepszą):

przyklad 2

Trywialne rozwiązania to:

S -> 1 -> 2 -> 3 -> 2 -> E -> 1 -> E

EDYCJA 2:

  1. Czy ten problem jest znany? ---> dałeś mi dobre odniesienie do tezy Hearn'a (wykresy ograniczeń);

N.P.S.P.ZAdomi=P.S.P.ZAdomi

N.P.

N.P.-doomplmitmi


1
Rzuciłem okiem na sugerowany artykuł (teraz przeczytam go uważniej), ale mój problem wydaje się inny: przełączniki zmieniają swój stan zgodnie z kierunkiem, w którym są przemieszczane. W artykule przełączniki są „naprawione”, a (prostsze) problemy tego rodzaju: „Czy istnieje konfiguracja przełączników, taka, że ​​...”.
Marzio De Biasi,

4
@Vor: To wydaje się ściśle związane z grami logicznymi przymusem Demaine i Hearn (myślę Hearn za tezą groups.csail.mit.edu/mac/users/bob/hearn-thesis-final.pdf jest bardzo ładne writeup tej pracy ). Zastanawiam się, czy można rozwiązać złożoność problemu za pomocą ich technik. Wygląda na to, że może to być NEXP ...
Joshua

3
Chciałem tylko zwrócić uwagę na pracę Hearn / Demaine - zauważ, że jest ona teraz dostępna również jako książka, „Gry, puzzle i obliczenia” (ISBN 978-1-56881-322-6), i na pewno jest to związane z tym pytanie.
Steven Stadnicki,

2
@Kaveh: dla mojego poziomu wiedzy jest to trywialnie w NPSPACE = PSPACE. Wydaje się, że nie jest w stanie „policzyć”; ale nie widzę żadnego łatwego dowodu, że jeśli istnieje rozwiązanie, to istnieje inne rozwiązanie, w którym każdy przełącznik jest przesuwany / dotykany tylko stałą liczbę razy.
Marzio De Biasi,

1
Tylko na marginesie: prostsza wersja tej układanki była rozważana również przez Dillenburga i Nelsona i została przedstawiona w ich notatce badawczej Wyszukiwanie po obwodzie
Carlos Linares López,

Odpowiedzi:


2

Problem jest co najmniej trudny NP, przez redukcję z 3-SAT.

Najpierw rozważ problem ze znalezieniem ścieżki od początku do wyjścia z następującego ukierunkowanego wykresu, z tym, że żadna ścieżka nie może odwiedzić wszystkich trzech (kwadratowych) węzłów klauzuli:

3SAT

(X1X2)X3))(X1¬X2)X4)

Przekształcamy te wykresy w sieć przełączników. Do tego używamy trzech gadżetów:

  1. Każdy węzeł okręgu i krawędź dwukierunkowa staje się Drutem , tworząc połączenia między przełącznikami.
  2. Każda ukierunkowana krawędź staje się gadżetem Jednokierunkowym składającym się z jednego przełącznika (patrz poniżej).
  3. Każdy kwadratowy węzeł reprezentuje jeden z trzech przełączników, które są częścią gadżetu Klauzula (patrz poniżej).

Na poniższych ilustracjach przełączniki są rysowane jako dwie przychodzące strzałki, z których jedna jest przerywana (wyłączona). Kierunek docelowy jest rysowany za pomocą czarnego koła (tak, aby stała strzałka musiała ostatecznie znajdować się z boku koła).

Uwaga: Pogrubioną czcionką użyjemy do odróżnienia wyjścia wykresu od wyjść gadżetów.

ZAbbZAX1X2)X3)X1X2)X3) .

Gadżet w jedną stronę Gadżet klauzuli

Przypomnijmy, że dla oryginalnego wykresu znalezienie ścieżki, która prowadziła do wyjścia i nie odwiedziła wszystkich trzech kwadratowych węzłów jakiejkolwiek klauzuli, była NP-zupełna. Teraz rozważ problem dotarcia do wyjścia z transformowanego wykresu bez martwienia się o docelowe pozycje przełączników.

Zauważ, że każda ścieżka, która jest rozwiązaniem pierwotnego problemu z grafem, jest również rozwiązaniem dla transformowanego wykresu. Załóżmy więc, że ścieżka dla przekształconego wykresu nie jest rozwiązaniem dla oryginalnego wykresu. Może się to zdarzyć w dwóch przypadkach:

  1. bZA
  2. Ścieżka przecina wszystkie trzy ścieżki jakiegoś gadżetu Klauzula .

W pierwszym przypadku gadżet jednokierunkowy musiał najpierw przejść w zamierzonym kierunku, w którym to przypadku równie dobrze można by uniknąć przejścia przez niego.

Rozważmy więc drugi przypadek, w którym ścieżka przemierza wszystkie trzy przełączniki jakiegoś gadżetu Klauzula . Wtedy ten gadżet będzie miał wszystkie trzy przełączniki odwrócone (patrz poniżej). Tutaj wykorzystujemy pozycje docelowe. Zauważ, że szary szkielet z klauzulą gadżet nie może zostać osiągnięty, co oznacza, że przełączniki nie mogą już być kierowane do ich położeń docelowych. W takim przypadku mówimy, że tego gadżetu Klauzuli nie można odzyskać.

Klauzula zakleszczona

Pozostaje pokazać, że dla dowolnego rozwiązania pierwotnego problemu graficznego przełączniki transformowanego wykresu można ustawić w ich położeniu docelowym. W tym celu wykorzystujemy fakt, że do drutu wyjściowego można dotrzeć tylko wtedy, gdy istnieje rozwiązanie, lub niektóre gadżety z klauzulami stają się niemożliwe do odzyskania.

Aby umieścić przełączniki w ich pozycji docelowej, możemy teraz dodać dodatkowe gadżety jednokierunkowe z drutu wyjściowego do wejścia każdego istniejącego gadżetu jednokierunkowego , a także do trzech drutów wyjściowych wszystkich gadżetów klauzuli . Następnie, gdy token dotrze do wyjścia , można przejść wszystkie dodatkowe gadżety jednokierunkowe (a tym samym umieścić je w pozycji docelowej), a także ustawić pozostałe przełączniki w pozycjach docelowych (chyba że istnieje klauzula niemożliwa do odzyskania). Wreszcie token może powrócić do wyjścia, a łamigłówka zostanie rozwiązana.

Należy zauważyć, że gadżety Klauzuli można odzyskać tylko wtedy, gdy zostaną wprowadzone z nienaprawionego wyjścia; a ze względu na gadżety jednokierunkowe umieszczone między gadżetami Klauzula a następną zmienną, nie może się to zdarzyć, dopóki nie zostanie osiągnięty drut wyjścia .

Stąd problem sieci przełączników jest trudny NP.


Nadal nie jest jasne, czy problem dotyczy NP, czy PSPACE. Redukcja twardości NP budująca planarną sieć przełączników będzie miała wielkie implikacje dla ograniczonych wariantów Sokoban, ponieważ wszystkie przełączniki są równoważne z gadżetem Sokoban poniżej.

Sokoban

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.