Masalahnya setidaknya NP-keras, dengan pengurangan dari 3-SAT.
Pertama-tama pertimbangkan masalah menemukan jalur dari Mulai ke Keluar dari grafik terarah berikut dengan batasan bahwa tidak ada jalur yang dapat mengunjungi ketiga simpul (persegi) dari klausa:
( X1 ∨ X2 ∨ X3 ) ∧ ( X1 ∨ ¬ X2 ∨ X4 )
Kami mentransformasikan grafik ini ke jaringan switch. Untuk ini kami menggunakan tiga gadget:
- Setiap simpul lingkaran dan tepi dua arah menjadi Kawat , membentuk koneksi antar sakelar.
- Setiap tepi terarah menjadi gadget satu arah yang terdiri dari satu sakelar (lihat di bawah).
- Setiap simpul kuadrat mewakili satu dari tiga sakelar yang merupakan bagian dari gadget Klausa (lihat di bawah).
Dalam ilustrasi berikut, sakelar digambarkan sebagai dua panah masuk, salah satunya putus-putus (dinonaktifkan). Arah target digambar dengan lingkaran hitam (sehingga panah padat pada akhirnya harus berada di sisi lingkaran).
Catatan: Kami akan menggunakan huruf tebal untuk membedakan Keluar dari grafik dari keluar dari gadget.
Untuk satu arah gadget, masuk tidak dapat dicapai dari pintu keluar B sampai B telah dicapai dari A . Untuk gadget Clause , pintu masuk XSEBUAHBBSEBUAHX1X2X3X1′X2′X3′
Ingatlah bahwa untuk grafik asli, menemukan jalur yang mengarah ke Keluar dan tidak mengunjungi ketiga simpul kuadrat dari klausa apa pun adalah NP-complete. Sekarang pertimbangkan masalah untuk mencapai Exit dari grafik yang diubah tanpa khawatir tentang posisi target switch.
Perhatikan bahwa setiap jalur yang merupakan solusi untuk masalah grafik asli juga merupakan solusi untuk grafik yang diubah. Jadi asumsikan jalur untuk grafik yang diubah bukan solusi untuk grafik asli. Ini dapat terjadi dalam dua kasus:
- BSEBUAH
- Sebuah jalur melintasi ketiga jalur dari beberapa gadget Klausul .
Dalam kasus pertama, gadget satu arah harus terlebih dahulu dilintasi ke arah yang dimaksud, dalam hal ini jalur tersebut mungkin juga menghindari melintasinya di tempat pertama.
Jadi pertimbangkan kasus kedua di mana jalur melintasi ketiga sakelar dari beberapa gadget Klausul . Kemudian gadget itu akan memiliki ketiga sakelarnya terbalik (lihat di bawah). Di sinilah kami memanfaatkan posisi target. Perhatikan bahwa abu-abu tulang punggung dari Clause gadget tidak bisa lagi dicapai, yang berarti bahwa switch tidak lagi dapat diarahkan ke posisi target mereka. Dalam hal ini, kami mengatakan bahwa gadget Klausul ini tidak dapat dipulihkan.
Tetap menunjukkan bahwa untuk setiap solusi dari masalah grafik asli, sakelar dari grafik yang diubah dapat ditempatkan di posisi target mereka. Untuk ini, kami menggunakan fakta bahwa kawat Keluar hanya dapat dihubungi ketika ada solusi, atau beberapa gadget Klausul menjadi tidak dapat dipulihkan.
Untuk tempat switch dalam posisi target mereka, kita sekarang dapat menambahkan tambahan satu arah gadget dari Exit kawat ke pintu masuk setiap ada satu arah gadget, serta tiga kabel keluar dari semua Clause gadget. Kemudian, begitu token mencapai Exit , semua gadget Satu Arah tambahan dapat dilintasi (dan dengan demikian dimasukkan ke dalam posisi target mereka), dan juga meletakkan sakelar yang tersisa di posisi target mereka (kecuali ada klausa yang tidak dapat dipulihkan). Akhirnya, token dapat kembali ke Keluar dan teka-teki terpecahkan.
Kami harus berkomentar bahwa gadget Klausul hanya dapat dipulihkan ketika dimasukkan dari pintu keluar yang tidak terbalik; dan karena gadget Satu arah yang ditempatkan di antara gadget Klausa dan variabel berikutnya, ini tidak dapat terjadi sampai kabel Keluar tercapai.
Oleh karena itu, masalah jaringan switch NP-hard.
Masih belum jelas apakah masalahnya ada di NP atau PSPACE-hard. Pengurangan NP-hardness yang membangun jaringan switch planar akan memiliki implikasi besar untuk varian terbatas Sokoban, yaitu karena semua switch setara dengan gadget Sokoban di bawah ini.