ฉันจะพยายามที่จะแสดงให้เห็นปัญหานี้คือ NP-อย่างหนักจากการลดลงจาก{}ภาพถ่าย - 3 -SAT
ลดจากภาพถ่าย - 3 -SAT
อุปกรณ์พื้นฐานบางอย่าง
แกดเจ็ตที่มีการกำหนดค่าภายในของรูปทรงเรขาคณิตที่จะช่วยให้เราสามารถสร้างประตูสำหรับการใช้งานในวงจรเพื่อที่เราจะลด{}ภาพถ่าย - 3 -SAT
4X3-แกดเจ็ต
แกดเจ็ตนี้มีสองที่ถูกต้องน้อยที่สุดตารางพาร์ทิชันรัฐ :
ซ้าย 4X3-แกดเจ็ต Middle and right:เป็นไปได้น้อยที่สุดที่จะแบ่งพาร์ติชั่นสแควร์
5x4-แกดเจ็ต
แกดเจ็ตนี้เหมือนกับอุปกรณ์4X3เพียงขนาดที่ใหญ่กว่า
ซ้าย 5x4-แกดเจ็ต Middle and right:เป็นไปได้น้อยที่สุดที่จะแบ่งพาร์ติชั่นสแควร์
ปลายทาง-แกดเจ็ต
ปลายทาง-แกดเจ็ต เป็น 5x4-แกดเจ็ต มักใช้เป็นจุดปลาย / พินของเกต หนึ่งในสองสถานะปลายทางมีค่าเป็นจริงและเท็จอื่น ๆ เครื่องหมายจุดสิ้นสุดปลายทั้งสองข้างหนึ่งเป็นและอื่น ๆ ที่เป็นFจุดสิ้นสุดที่ครอบคลุมโดยสี่เหลี่ยมจัตุรัสขนาดใหญ่คือค่าของจุดปลายFTF
ซ้าย: Wireframe ของปลายทาง-แกดเจ็ต ศูนย์:จุดสิ้นสุดที่แท้จริง ขวา:จุดสิ้นสุดที่มีค่าเท็จ
แกดเจ็ต i-wire
แกดเจ็ตที่ฉันสายสั้นสำหรับลวดหมาย
กฎ:
- แกดเจ็ตของ i-ลวดประกอบด้วยสี่เหลี่ยมแปลกที่มีความยาวของความยาวกว่าและความกว้างของ2222
- 3
ตัวอย่าง:
72
นี่คือวิธีการใช้งาน:
รูปที่ 8,9 , ซ้าย:โครงร่างของ i-ลวดข้ามสองปลายทาง ขวา:ยูเนี่ยน
ตอนนี้หากปลายทางหนึ่งอยู่ในสถานะที่ถูกต้องก็บังคับให้ปลายทางอื่นเข้าสู่ตำแหน่งที่ถูกผลัก ตัวอย่าง:
ซ้าย:แผนภาพพาร์ติชันสแควร์; สวิตช์ซ้ายจะลง "ดัน" กำลังสองทั้งหมดลงi-wireและในที่สุดก็ผลักสวิตช์อื่น ( ปลายทาง ) ขวา:แผนภาพพาร์ทิชันสแควร์; จุดสิ้นสุดด้านซ้ายเต็ม "ดัน" ช่องสี่เหลี่ยมทั้งหมดลงi-wireและบังคับให้จุดปลายด้านซ้ายเป็น "ขึ้น"
นี่คือความหมายเชิงตรรกะ พิจารณา "ลง" ที่จะเป็นจริงแล้วเรามีA⟹¬BA⟹B
อย่างไรก็ตามสิ่งนี้ทำให้กรณีที่ไม่มีข้อ จำกัด :
หากเรารวมสาย i-wireสองเส้นเข้าด้วยกันเราจะได้ความหมายแบบสองทางคือความเสมอภาคแบบบูล (ใน):
ดังนั้นสาย i-wireสองเส้นสามารถมีความสัมพันธ์ที่เท่าเทียมกันเหมือนวงจร - ในความเป็นจริงมันคือวงจร เราจะใช้คู่เหล่านี้เพื่อสร้างสายที่ใช้งานได้
l−12+2
i-wireสามารถปรับได้ตามต้องการ
ลวด
ลวดประกอบด้วยคู่ของI-สายที่เชื่อมต่อกับเดียวกันประตูในแต่ละจุด
- I-สายมีสีแดงและสีเขียว
- 3
- หมุดประตูแต่ละอันจะมีหน้าสัมผัสสีเขียวและสีแดง ลวดจะต้องเชื่อมต่ออย่างถูกต้อง
- กฎคงที่:ผลัก i-wireหนึ่งเส้นไปในทิศทางตรงกันข้ามกับ i-wireอื่น ๆแต่ละประตูถือว่าสิ่งนี้และทำให้แน่ใจในสิ่งนี้ (เว้นแต่จะระบุไว้เป็นอย่างอื่น)
- เนื่องจากลวดแต่ละเส้นมีความหมายแบบสองทางจึงมีค่าจากเกตไปเกทเหมือนกับลวดในวงจร
- ลวดทุกเส้นจะต้องเชื่อมต่อกับเกตที่ปลายทั้งสองด้าน . ความล้มเหลวนี้สามารถทำลายสมมติฐานของบางประตูที่ฉันอธิบายและกฎที่ไม่เปลี่ยนแปลงข้างต้น อย่างไรก็ตามประตูที่มีจุดสิ้นสุด ข้ามโอกาสในการขายมีความปลอดภัย - คุณสามารถเชื่อมต่อสายเร่ร่อนไปยังจุดปลายเหล่านี้ได้โดยไม่ต้องกังวลว่าจะทำลายประตู
- สายไฟจะต้องมีความยาวคี่รวมถึงสายไปยังวงจรใด ๆ ที่เชื่อมต่อด้วย แต่ฉันจะอธิบายคี่ - ข้ามประตูด้านล่างที่ช่วยให้ลวดยาวเท่ากันกลายเป็นคี่ยาว
รูปภาพ :
บน:ลวด
ซ้ายและขวา:สองเป็นไปได้น้อยที่สุดตารางพาร์ทิชันรัฐของลวด โปรดทราบว่าหากลวดเป็นเพียงความยาวนี้จะไม่สามารถเลื่อนไปทางขวาหรือซ้ายและจะต้องแยกหนึ่งสี่เหลี่ยมออกเป็นชิ้นเล็ก ๆ
สายไฟสามารถปรับได้ตามต้องการ
โค้งประตู : ดัดลวด
ซ้าย:มุมมองโครงลวด ขวา:มุมมองสหภาพ
หมายเหตุการใช้ของ4X3-แกดเจ็ต มันถูกใช้เพื่อแก้ไขตะกั่วสีแดงเป็นความยาวคี่
ต่อไปนี้คือสถานะของการโค้งงอน้อยที่สุดที่เป็นไปได้สองตาราง :
ซ้ายและขวา:สองลวดสแควร์ - สแควร์ - พาร์ติชัน - รัฐได้ลวดดัด
ประตูสามารถปรับได้ตามต้องการ เห็นได้ชัดว่าประตูนี้สามารถสะท้อนการทำงานไปในทิศทางอื่น
การเอียงลวด
มันง่ายที่จะเปลี่ยนสาย ภาพประกอบโครงลวด:
ชื่อมูลค่าประตู
ชื่อมูลค่าประตูเป็นหลักปลายทางเป็นประตูกับผู้ติดต่อสายหนึ่ง:
odd-skip-gate : แปลกข้ามลวด
บางครั้งมันก็ไม่สะดวกที่จะมีเพียงสายยาวคี่ ตัวอย่างเช่น:
อย่างที่คุณเห็นส่วนขยายเล็กน้อยนั้นน่ารำคาญเล็กน้อย นี่คือโซลูชันที่สอดคล้องกันโดยใช้4X3-gate :
ดังนั้นเมื่อเราเปลี่ยนสิ่งนี้เป็นเกตเราจะได้คี่ - ข้าม - เกท (ในโครงลวด):
ประตูสามารถปรับได้ตามต้องการ
ประตูบิด: บิดลวด
somtimes คุณจะได้รับสีแดงและสีดำI-สายด้านข้างที่ไม่ถูกต้องสำหรับใช้กับประตู ในกรณีนี้จะมีการติดตั้งประตูม้วนเพื่อทำการบิดสายไฟสีแดงและสีดำไปทางด้านตรงข้าม
ภาพประกอบโครงลวด:
โน้มน้าวใจตัวเองว่ามันใช้งานได้:
A
ประตูสามารถปรับได้ตามต้องการ
ประตูแยก: การแยกลวด
แยกลวด wireframe:
โน้มน้าวใจตัวเองว่ามันใช้งานได้:
A
A
หมายเหตุ:สายทุกเส้นที่เข้าและออกจากตัวแยกต้องเชื่อมต่อกับจุดปลายอย่างใดอย่างหนึ่งเพื่อรักษาค่าคงที่ อีกวิธีหนึ่งคุณสามารถเพิ่มจุดสิ้นสุดในแต่ละคู่ของโอกาสในการแยก
ประตูสามารถปรับได้ตามต้องการ
ไม่ได้ประตู
ประตูไม่ได้ใช้ลวดและเอาท์พุทลวดที่มีความหมายย้อนกลับ มันเป็นประตูหมุนยกเว้นว่ามันจะเปลี่ยนสีของสายไฟ ไม่ได้ประตูลักษณะเช่นนี้
และมุมมองของสองรัฐที่เป็นไปได้:
ประตูสามารถปรับได้ตามต้องการ
ข้อประตู
สำหรับclause-gateเราจะแนะนำclause-gadget ก่อน :
3
นี่คือลักษณะที่ประตู:
3
คำอธิบาย:
- เริ่มที่clause-gadgetและตามลูกศร
- เส้นไม่ใช่ลูกศรหมายความว่ามันเป็นส่วนหนึ่งของวงจร แต่มันไม่ได้ถูกบังคับให้เข้าสู่สถานะโดยประตู
- สถานะของข้อ-gadgetหนึ่งกองกำลังของปลายทางที่จะมีมูลค่าที่แท้จริง
3-CNF
ประตูสามารถปรับได้ตามต้องการ
การลดลง
Φ(x)Planar-3-SAT
Φ(x)=∧niCi,C={(xj∨xk∨xl)}
เครื่องช่วยมองเห็น (ที่มาดั้งเดิม: Terrain Guarding คือ NP-Hard (PDF) , สร้างซ้ำใน tikz):
แล้ว:
- xi∈xxi¬xi
- เชื่อมต่อประตูเข้าหากันและกันด้วยประตูที่ไม่ทำให้พวกเขามองข้ามคุณค่าของกันและกัน
- วางรูปหลายเหลี่ยม 'ประตู' ตัวแปรที่สถานที่ของพวกเขาในการฝังภาพถ่าย
- สำหรับแต่ละประโยคให้วางclause-gateที่ตำแหน่งของ clause ในการฝังแบบระนาบ
- ใช้ประตูที่อธิบายไว้ข้างต้นเชื่อมต่อตัวแปรทั้งหมดกับส่วนคำสั่ง
- เรียกใช้อัลกอริธึมขั้นต่ำ - สแควร์ - การแบ่งส่วนบนผลรวมของรูปหลายเหลี่ยมของเกตทั้งหมด (วงจรทั้งหมด)
- หากอัลกอริทึมส่งคืนผลรวมของขนาดขั้นต่ำของพาร์ติชั่นสแควร์พาร์ติชันขั้นต่ำ (การลบสำหรับมุมที่ใช้ร่วมกัน) แสดงว่าเป็นที่น่าพอใจ ถ้ามันไม่เป็นที่น่าพอใจมันจะบังคับให้แกดเจ็ตที่มีข้อ จำกัด เพื่อแยกเป็นสี่เหลี่ยมเล็ก ๆ ซึ่งจะเป็นการเพิ่มจำนวนของสี่เหลี่ยมที่จำเป็นสำหรับการแบ่งวงจร
ทำไมมันถึงได้ผล
- แกดเจ็ตแต่ละคนมีน้อยที่สุดตารางพาร์ทิชันรัฐขนาด; นั่นคือพาร์ทิชันขั้นต่ำสุดของ Gadget นั้นมีขนาดที่แน่นอน
- แกดเจ็ตบางตัวมีหลายสถานะด้วยขนาดนี้ แต่ละรัฐเหล่านี้จะถูกต้องน้อยที่สุดตารางพาร์ทิชัน
- เมื่อแกดเจ็ตจะรวมกันเพียง แต่ในมุมผลรวมของที่น้อยที่สุดตารางพาร์ทิชันรัฐของ gadgets คือ * ยังคงเป็นขั้นต่ำตารางพาร์ทิชันรัฐของสหภาพของพวกเขา; คุณสามารถดูได้โดยสังหรณ์ใจ: การเข้าร่วมที่มุมไม่ให้พื้นที่เหลือเฟือสำหรับสี่เหลี่ยมเพื่อขยาย / เชื่อมต่อกับสี่เหลี่ยมจากแกดเจ็ตอื่น
- ในขณะที่การรวมโปรแกรมเบ็ดเตล็ดที่มุมไม่ลดขนาดสี่เหลี่ยมจัตุรัสของพาร์ติชันขั้นต่ำโดยรวมแต่จะเกี่ยวข้องและ จำกัด แกดเจ็ตซึ่งกันและกัน
- ด้วยประตูที่แสดงข้างต้นคุณสามารถ จำกัด การรัฐพอเพื่อที่ว่าถ้าสูตรตรรกะ unsatisfiable แล้วหนึ่งหรือมากกว่า gadets จะมีการแบ่งเป็นสี่เหลี่ยมแม้มีขนาดเล็กและเพิ่มขนาดต่ำสุดตารางพาร์ทิชัน
แหล่งกราฟ
นอกจากนี้คุณยังสามารถดูภาพขนาดใหญ่ได้โดยลบ "s", "m", "l", คำต่อท้ายของ URL imgur ตัวอย่างเช่นคุณสามารถดูภาพขนาดใหญ่นี้: http://i.stack.imgur.com/6CKlGs.jpgโดยไปที่
http://i.stack.imgur.com/6CKlG.jpg สังเกตที่ขาดหายไป "S" .jpg
ก่อน