Складність проблеми комутаційної мережі


17

Мережевий комутатор (назва придумано) виконаний з трьома типами вузлів:

  • один пусковий вузол
  • один кінцевий вузол
  • один або кілька вузлів комутації

Вузол комутації має 3 виходи: вліво, вгору, вправо; має два стани L і R і цільовий стан TL або TR . Кожен перемикач можна пройти за допомогою наступних правил:

  • завжди зліва вгору; стан перемикача змінюється на L
  • завжди праворуч вгору; стан перемикача змінюється на R
  • від Вгору Вліво, лише якщо перемикач знаходиться в стані L; держава не змінюється
  • вгору вправо, якщо перемикач знаходиться в стані R; держава не змінюється
  • ніколи зліва направо чи справа наліво

комутаційний вузол
Малюнок 1. Переключення вузла в стан L із цільовим станом TR

Ці властивості також містять:

  • 0, 1 або 2 виходів комутатора можуть бути ізольовані (не підключені до іншого вимикача);
  • шлях може просто "торкнутися" перемикача, щоб змінити його стан: увійти зліва і вийти зліва або вийти з правого і вийти праворуч;
  • немає обмежень щодо кількості перемикань / дотику перемикача.

Проблема рішення полягає в тому, що: "Чи існує шлях від вузла" Пуск "до вузла" Кінець "таким, що всі кінцеві стани комутаторів відповідають відповідному цільовому стану?"

Очевидно, що всі перемикачі, які спочатку не знаходяться у своєму цільовому стані, повинні хоч один раз пройти (або торкнутися);

Це швидкий малюнок тривіальної мережі (зроблений за допомогою Excel ... Я зроблю кращу):

приклад2

Тривіальним рішенням є:

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

EDIT 2:

  1. Чи відома ця проблема? ---> ви дали мені гарне посилання на тезу Херна (графіки обмежень);

Проблема в ; перш ніж опублікувати ескіз мого доказу, що він знаходиться в NP, я виявив помилку; тож відкриті питання знову:NPSPACE=PSPACE

2. Це ?NP

3. Чи є проблема будь-яка можливість бутиNP-complete?


1
Я швидко оглянув запропонований папір (зараз я прочитаю його більш уважно), але моя проблема здається іншою: перемикачі змінюють свій стан відповідно до напрямку, в якому вони проходять. У статті перемикачі "виправлені", і (простіші) проблеми мають такий вигляд: "Чи існує конфігурація комутатора така, що ...".
Marzio De Biasi

4
@Vor: This seems closely related to the constraint logic games of Demaine and Hearn (I think Hearn's thesis groups.csail.mit.edu/mac/users/bob/hearn-thesis-final.pdf is a very nice writeup of this work). I wonder if one could resolve the complexity of your problem using their techniques. It seems like it might be NEXP-complete...
Joshua Grochow

3
I was just going to point out the Hearn/Demaine work - note that it's also available as a book now, "Games, Puzzles & Computation" (ISBN 978-1-56881-322-6), and it definitely feels germane to this question.
Стівен Стадницький

2
@Kaveh: for my level of expertise it is trivially in NPSPACE = PSPACE. It seems not able to "count"; but I don't see any easy proof that if a solution exists, then another solution exists in which every switch is traversed/touched only a constant number of times.
Marzio De Biasi

1
Just a side note: a simpler version of this puzzle was considered also by Dillenburg and Nelson and it is presented in their Research Note Perimeter Search
Карлос Лінарес Лопес

Відповіді:


2

The problem is at least NP-hard, by a reduction from 3-SAT.

First consider the problem of finding a path from the Start to the Exit of the following directed graph with the restriction that no path may visit all three (square) nodes of a clause:

3SAT

For this graph, such a path only exists if the formula (X1X2X3)(X1¬X2X4) can be satisfied. We can build such graphs for arbitrary formulas in 3-CNF, and finding such a path is NP-complete.

We transform these graphs to a switch network. For this we use three gadgets:

  1. Every circle node and bidirectional edge becomes a Wire, forming the connections between switches.
  2. Every directed edge becomes a One-way gadget consisting of a single switch (see below).
  3. Every square node represents one of the three switches that are part of a Clause gadget (see below).

In the following illustrations, switches are drawn as two incoming arrows, one of which is dashed (disabled). The target direction is drawn with a black circle (such that the solid arrow must eventually be on the side of the circle).

Remark: We will use boldface to distinguish the Exit of the graph from exits of gadgets.

For the One-way gadget, entrance A cannot be reached from exit B until B has been reached from A. For the Clause gadget, entrances X1, X2 and X3 lead to exits X1, X2 and X3, respectively.

One-way gadget Clause gadget

Recall that for the original graph, finding a path that led to the Exit and did not visit all three square nodes of any clause was NP-complete. Now consider the problem of reaching the Exit of the transformed graph without worrying about the target positions of the switches.

Observe that any path that is a solution for the original graph problem is also a solution for the transformed graph. So assume a path for the transformed graph is not a solution for the original graph. This may happen in two cases:

  1. A One-way gadget is traversed in the unintended direction (B to A).
  2. A path traverses all three paths of some Clause gadget.

In the first case, the One-way gadget must have first been traversed in the intended direction, in which case the path might as well have avoided traversing it in the first place.

So consider the second case where the path traverses all three switches of some Clause gadget. Then that gadget will have all its three switches flipped (see below). This is where we make use of the target positions. Notice that the gray backbone of the Clause gadget can no longer be reached, meaning that the switches can no longer be directed to their target positions. In this case, we say that this Clause gadget is unrecoverable.

Deadlocked Clause

It remains to show that for any solution of the original graph problem, the switches of the transformed graph can be placed in their target position. For this, we make use of the fact that the Exit wire can only be reached when there is a solution, or some Clause gadget becomes unrecoverable.

To place switches in their target position, we can now add additional One-way gadgets from the Exit wire to the entrance of every existing One-way gadget, as well as to the three exit wires of all Clause gadgets. Then, once the token reaches the Exit, all the additional One-way gadgets can be traversed (and thereby put in their target position), and also put the remaining switches in their target positions (unless there is an unrecoverable clause). Finally, the token can return to the Exit and the puzzle is solved.

We should remark that Clause gadgets can only be recovered when entered from an untraversed exit; and due to the One-way gadgets that are placed between Clause gadgets and the next variable, this cannot happen until the Exit wire is reached.

Hence, the switch network problem is NP-hard.


It is still unclear if the problem is in NP or PSPACE-hard. An NP-hardness reduction constructing a planar switch network will have great implications for restricted variants of Sokoban, namely because all switches are equivalent to the Sokoban gadget below.

Sokoban

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.