ความซับซ้อนของปัญหาเครือข่ายสวิตช์


17

สวิทช์เครือข่าย (ชื่อที่ถูกคิดค้น) ทำด้วยสามประเภทของโหนด:

  • หนึ่งโหนดเริ่มต้น
  • โหนดปลายทางหนึ่งโหนด
  • โหนด Switch หนึ่งโหนดขึ้นไป

โหนดสวิตช์มีการออก 3 ครั้ง: ซ้าย, ขึ้น, ขวา; มีสองรัฐ L และ RและTL รัฐเป้าหมายหรือ TR สวิตช์แต่ละตัวสามารถเคลื่อนที่ด้วยกฎต่อไปนี้:

  • เสมอจากซ้ายไปขึ้น; สถานะของสวิตช์เปลี่ยนเป็น L
  • เสมอจากขวาไปขึ้น; สถานะของสวิตช์เปลี่ยนเป็น R
  • จากขึ้นไปซ้ายเฉพาะเมื่อสวิตช์อยู่ในสถานะ L; รัฐจะไม่เปลี่ยนแปลง
  • จากขึ้นไปขวาหากสวิตช์อยู่ในสถานะ R; รัฐจะไม่เปลี่ยนแปลง
  • ไม่เคยจากซ้ายไปขวาหรือจากขวาไปซ้าย

โหนดสวิทช์
รูปที่ 1. สลับโหนดในสถานะ L ด้วยสถานะเป้าหมาย TR

คุณสมบัติเหล่านี้ยังมี:

  • สามารถแยก 0, 1 หรือ 2 ของสวิตช์ออกได้ (ไม่เชื่อมต่อกับสวิตช์อื่น)
  • เส้นทางสามารถ"แตะ"สวิตช์เพื่อเปลี่ยนสถานะ: ป้อนจากซ้ายและออกจากซ้ายหรือป้อนจากขวาและออกจากขวา;
  • ไม่มีข้อ จำกัด เกี่ยวกับจำนวนครั้งที่สวิทช์สามารถเคลื่อนที่ / สัมผัสได้

ปัญหาการตัดสินใจคือ: "มีเส้นทางจากโหนดเริ่มต้นไปยังโหนดปลายทางที่มีอยู่ว่าสถานะสุดท้ายของสวิตช์ทั้งหมดตรงกับสถานะเป้าหมายที่สอดคล้องกันหรือไม่"

เห็นได้ชัดว่าสวิทช์ทั้งหมดที่ไม่ได้อยู่ในสถานะเริ่มต้นจะต้องถูกสำรวจ (หรือสัมผัส) อย่างน้อยหนึ่งครั้ง

นี่คือการดึงเครือข่ายเล็กน้อย (ทำด้วย Excel ... ฉันจะทำให้ดีขึ้น):

example2

โซลูชั่นเล็ก ๆ น้อย ๆ คือ:

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

แก้ไข 2:

  1. ปัญหานี้เป็นที่รู้จักหรือไม่? ---> คุณให้การอ้างอิงที่ดีกับวิทยานิพนธ์ของ Hearn (กราฟข้อ จำกัด )

ปัญหาอยู่ใน ; ก่อนที่จะโพสต์ร่างภาพหลักฐานของฉันว่าเป็นปัญหาฉันพบข้อผิดพลาด ดังนั้นคำถามที่เปิดอยู่อีกครั้ง:ยังไม่มีข้อความPSPAE=PSPAE

2. มันเป็นหรือไม่?ยังไม่มีข้อความP

3. มีปัญหาใด ๆ ที่จะเป็นหรือไม่?ยังไม่มีข้อความP-โอม.พีล.อีเสื้ออี


1
ฉันได้ดูบทความที่แนะนำอย่างรวดเร็ว (ตอนนี้ฉันจะอ่านอย่างละเอียดมากขึ้น) แต่ปัญหาของฉันดูแตกต่างออกไป: สวิตช์เปลี่ยนสถานะตามทิศทางที่พวกมันเคลื่อนที่ ในบทความสวิตช์นั้น "แก้ไข" และปัญหา (ง่ายกว่า) เป็นชนิด: "มีการกำหนดค่าสวิตช์อยู่หรือไม่เช่นนั้น ... "
Marzio De Biasi

4
@Vor: ดูเหมือนว่าจะเกี่ยวข้องกับเกมลอจิกของ Demaine และ Hearn อย่างใกล้ชิด (ฉันคิดว่ากลุ่มวิทยานิพนธ์ของ Hearn เป็นกลุ่มที่ได้รับการคัดสรรมาเป็นอย่างดี ) ฉันสงสัยว่าใครสามารถแก้ไขความซับซ้อนของปัญหาโดยใช้เทคนิคของพวกเขา ดูเหมือนว่าอาจจะเสร็จสมบูรณ์ NEXP ...
Joshua Grochow

3
ฉันเพิ่งจะชี้ให้เห็นถึงการทำงานของ Hearn / Demaine - โปรดทราบว่ามันยังมีอยู่ในหนังสือตอนนี้ "Games, Puzzles & Computation" (ไอ 978-1-56881-322-6) และแน่นอนว่ามันรู้สึกดี คำถาม.
Steven Stadnicki

2
@Kaveh: สำหรับระดับความเชี่ยวชาญของฉันมันเป็นเรื่องเล็กน้อยใน NPSPACE = PSPACE ดูเหมือนจะไม่สามารถ "นับ"; แต่ฉันไม่เห็นข้อพิสูจน์ที่ง่ายว่าถ้ามีวิธีแก้ปัญหาอยู่แล้วมีวิธีแก้ไขปัญหาอื่นที่สวิตช์ทุกอันถูกสำรวจ / สัมผัสเพียงจำนวนครั้งคงที่
Marzio De Biasi

1
เพียงแค่บันทึกด้านข้าง: ปริศนาที่เรียบง่ายนี้ได้รับการพิจารณาโดยดิลเลนเบิร์กและเนลสันและนำเสนอในการวิจัยขอบเขตการ
Carlos Linares López

คำตอบ:


2

ปัญหาอย่างน้อย NP-hard โดยลดจาก 3-SAT

ก่อนอื่นให้พิจารณาปัญหาในการค้นหาเส้นทางจากStart to the Exitของกราฟที่กำกับต่อไปนี้โดยมีข้อ จำกัด ที่ไม่มีเส้นทางใดสามารถเยี่ยมชมโหนดทั้งสาม (ตาราง) ทั้งสองของประโยค:

3SAT

(X1X2X3)(X1¬X2X4)

เราแปลงกราฟเหล่านี้เป็นเครือข่ายสวิตช์ สำหรับสิ่งนี้เราใช้อุปกรณ์สามอย่าง:

  1. โหนดวงกลมและขอบสองทิศทางทุกอันจะกลายเป็นสายไฟซึ่งก่อให้เกิดการเชื่อมต่อระหว่างสวิตช์
  2. ทุกขอบกำกับกลายเป็นแกดเจ็ตทางเดียวซึ่งประกอบด้วยสวิตช์เดียว (ดูด้านล่าง)
  3. ทุกโหนดตารางหมายถึงหนึ่งในสามของสวิทช์ที่เป็นส่วนหนึ่งของข้อแกดเจ็ต (ดูด้านล่าง)

ในภาพประกอบต่อไปนี้สวิตช์จะถูกวาดเป็นลูกศรที่เข้ามาสองลูกซึ่งหนึ่งในนั้นจะถูกประ (ปิดใช้งาน) ทิศทางเป้าหมายจะถูกวาดด้วยวงกลมสีดำ (เช่นในที่สุดลูกศรทึบจะต้องอยู่ด้านข้างของวงกลม)

หมายเหตุ: เราจะใช้ตัวหนาเพื่อแยกความแตกต่างของออกจากกราฟออกจากแกดเจ็ต

ABBAX1X2X3X1'X2'X3'

แกดเจ็ตทางเดียว ส่วนคำสั่ง

โปรดจำไว้ว่าสำหรับกราฟต้นฉบับการค้นหาเส้นทางที่นำไปสู่Exitและไม่ได้เยี่ยมชมโหนดทั้งสามตารางของประโยคใด ๆ ก็คือ NP-complete ตอนนี้ให้พิจารณาปัญหาในการเข้าถึงExitของกราฟที่ถูกแปลงโดยไม่ต้องกังวลเกี่ยวกับตำแหน่งเป้าหมายของสวิตช์

สังเกตว่าเส้นทางใด ๆ ที่เป็นทางออกสำหรับปัญหากราฟต้นฉบับก็เป็นวิธีแก้ปัญหาสำหรับกราฟที่ถูกแปลงด้วยเช่นกัน ดังนั้นสมมติว่าเส้นทางสำหรับกราฟที่แปลงแล้วไม่ใช่วิธีแก้ปัญหาสำหรับกราฟดั้งเดิม เหตุการณ์นี้อาจเกิดขึ้นในสองกรณี:

  1. BA
  2. เส้นทางลัดเลาะทั้งสามเส้นทางบางข้อแกดเจ็ต

ในกรณีแรกแกดเจ็ตทางเดียวจะต้องผ่านการสำรวจในทิศทางที่ตั้งใจไว้ก่อนซึ่งในกรณีนี้เส้นทางนั้นอาจหลีกเลี่ยงการข้ามผ่านในครั้งแรก

ดังนั้นให้พิจารณากรณีที่สองที่เส้นทางลัดสวิตช์ทั้งสามของแกดเจ็ตข้อบางส่วน จากนั้นแกดเจ็ตนั้นจะมีสวิตช์ทั้งสามตัวพลิก (ดูด้านล่าง) นี่คือที่ที่เราใช้ประโยชน์จากตำแหน่งเป้าหมาย โปรดสังเกตว่าไม่สามารถเข้าถึงแกนหลักสีเทาของGadget Clauseได้อีกต่อไปซึ่งหมายความว่าสวิตช์ไม่สามารถถูกนำไปยังตำแหน่งเป้าหมายได้อีกต่อไป ในกรณีนี้เราบอกว่าแกดเจ็ตข้อนี้ไม่สามารถกู้คืนได้

ประโยคที่ถกเถียง

มันยังคงแสดงให้เห็นว่าสำหรับวิธีการแก้ปัญหาของกราฟต้นฉบับใด ๆ สวิทช์ของกราฟแปลงสามารถวางในตำแหน่งเป้าหมายของพวกเขา สำหรับเรื่องนี้เราจะใช้ประโยชน์จากความจริงที่ว่าออกจากสายสามารถเข้าถึงได้เมื่อมีวิธีการแก้ปัญหาหรือบางแกดเจ็ตจะกลายเป็นข้อที่ไม่สามารถกู้

ไปยังสถานที่สวิทช์ในตำแหน่งเป้าหมายของพวกเขาตอนนี้เราสามารถเพิ่มเพิ่มเติมวิธีการหนึ่งที่แกดเจ็ตจากออกจากสายทางเข้าของที่มีอยู่ในทุกวิธีการหนึ่งที่แกดเจ็ตเช่นเดียวกับสามสายทางออกของทุกข้อแกดเจ็ต จากนั้นเมื่อถึงโทเค็นออกจากทั้งหมดเพิ่มเติมวิธีการหนึ่งที่แกดเจ็ตที่สามารถเดินทางข้าม (และจึงวางในตำแหน่งเป้าหมายของพวกเขา) และยังใส่สวิทช์ที่เหลืออยู่ในตำแหน่งเป้าหมายของพวกเขา (เว้นแต่จะมีข้อที่ไม่สามารถกู้) ในที่สุดโทเค็นสามารถกลับไปที่ทางออกและไขปริศนาได้รับการแก้ไข

เราควรสังเกตว่าข้อแกดเจ็ตเท่านั้นที่สามารถกู้คืนเมื่อเข้ามาจากทางออก untraversed; และเนื่องจากแกดเจ็ตทางเดียวที่วางอยู่ระหว่างแกดเจ็ตข้อและตัวแปรถัดไปจึงไม่สามารถเกิดขึ้นได้จนกว่าจะถึงสายออก

ดังนั้นปัญหาเครือข่ายสวิตช์จึงเป็นปัญหา


ยังไม่ชัดเจนหากปัญหาอยู่ใน NP หรือ PSPACE-hard การลดความแข็งของ NP ที่สร้างเครือข่ายระนาบระนาบจะมีผลกระทบที่ยอดเยี่ยมสำหรับสายพันธุ์ที่ จำกัด ของ Sokoban นั่นคือเนื่องจากสวิตช์ทั้งหมดเทียบเท่ากับอุปกรณ์ Sokoban ด้านล่าง

Sokoban

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.