UPDATE:คำตอบดังต่อไปนี้ไม่ถูกต้องเพราะผมถือว่าผิดว่าเส้นทางมิลอยู่ในกราฟโดยพลการไม่ได้อยู่ใน n ฉันไม่ได้ลบมันทิ้งบางทีฉันอาจจะแก้ไขได้หรือจะให้คำแนะนำสำหรับคำตอบอื่นKn
ฉันคิดว่ามันเป็นปัญหาที่สมบูรณ์ นี่เป็นแนวคิดการลดอย่างไม่เป็นทางการ / อย่างรวดเร็วจาก 3SAT
สำหรับตัวแปรทุกเพิ่ม "แกดเจ็ตตัวแปร" ด้วย:xi
- สามโหนดXi,+Xi,−Xi
- ขอบตัวแปรสองตัวและ( X i , -(Xi,+Xi)(Xi,−Xi)
เพิ่มโหนดต้นทางและเชื่อมต่อกับตัวแปรทั้งหมดSฉันXi
สำหรับแต่ละข้อเพิ่มโหนดC jและเชื่อมต่อกับตัวแปรที่เกี่ยวข้อง+ X iหรือCjCj+Xiที่เป็นส่วนคำสั่ง−Xi
ภาพต่อไปนี้แสดง: (+x1∨−x2∨−x3)∧(−x2∨x3∨x4)
ชุด (โหนดที่ต้องเชื่อมโยง) มี ( S , C 1 ) , ( S , C 2 )R(S,C1),(S,C2),...
เส้นทางที่ง่ายควรรวมถึงขอบ "BLUE" ทั้งหมดยกเว้นขอบตัวแปร( X i , + X i )และ( X i , - X i )P(Xi,+Xi)(Xi,−Xi) (ในภาพด้านบนขอบสีน้ำเงินแสดงถึงขอบที่เรารวมไว้ใน )P
ณ จุดนี้สูตรเริ่มต้นจะน่าพอใจถ้าเส้นทางที่สั้นที่สุดจากไปยังแต่ละโหนดC jไม่มากกว่าสาม อันที่จริงจะไปถึงข้อจากSในสามขั้นตอนที่เราจะต้องตัดผ่านตัวแปรอย่างน้อยหนึ่งX ฉัน : S → X ฉัน → ± X ฉัน → Cเจ ดังนั้นเราต้องข้ามหนึ่งในสองขอบ: X i → + X iหรือX i → - X i (เพราะจากการก่อสร้างมันไม่ได้เป็นส่วนหนึ่งของSCjSXiS→Xi→±Xi→CjXi→+Xiและรวมไว้ใน CXi→−Xi)C ) แต่ทั้งสองไม่สามารถรวมได้เพราะพวกเขาแบ่งปันจุดสุดยอดP
แต่เราไม่แน่ใจว่าเราสามารถสร้างเส้นทางแบบง่าย ๆที่มีขอบสีน้ำเงินทั้งหมดได้เนื่องจากบางโหนดมีมากกว่าหนึ่งขอบสีน้ำเงินที่ตกกระทบP
ในการแก้ไขปัญหานี้เราแทนที่แต่ละโหนดด้วยขอบสีน้ำเงินหลายค่าโดยมีต้นไม้ที่มีเพียงคู่ของขอบสีน้ำเงินที่ตกกระทบซึ่งจะรวมอยู่ในและขอบที่แยกออกจากกันและควรรวมไว้ในCเพื่อเข้าถึงโหนดส่วนคำสั่ง:PC
กราฟดั้งเดิมจะกลายเป็น:
KCjS
C
P