เทคนิคทั่วไปในการลดปัญหาให้กันคืออะไร


40

ในทฤษฎีการคำนวณและความซับซ้อน (และสาขาอื่น ๆ ) การลดลงนั้นแพร่หลาย แสดงให้เห็นว่าปัญหาที่หนึ่ง: มีหลายชนิดหลักการยังคงเหมือนเดิมมี แต่อย่างน้อยเป็นหนักเป็นบางส่วนปัญหาอื่น ๆโดยกรณีการทำแผนที่จากกับคนที่แก้ปัญหาที่เทียบเท่าในL_1โดยพื้นฐานแล้วเราแสดงให้เห็นว่านักแก้ปัญหาสำหรับสามารถแก้ปัญหาหากเราอนุญาตให้ใช้ฟังก์ชั่นการลดเป็นตัวประมวลผลล่วงหน้าL 2 L 2 L 1 L 1 L 2L1L2L2L1L1L2

ฉันทำการแบ่งส่วนลดของฉันในช่วงหลายปีที่ผ่านมาและมีบางสิ่งที่ขัดขวางฉันอยู่เสมอ ในขณะที่การลดใหม่ทุกครั้งต้องใช้การสร้างที่สร้างสรรค์ (มากกว่าหรือน้อยกว่า) งานนั้นสามารถรู้สึกซ้ำได้ มีกลุ่มวิธีการบัญญัติหรือไม่?

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

นี้ควรจะกลายเป็นคำถามที่อ้างอิง ดังนั้นโปรดระมัดระวังในการให้คำตอบทั่วไปนำเสนอคำตอบที่แสดงตัวอย่างอย่างน้อยหนึ่งตัวอย่าง แต่อย่างไรก็ตามยังครอบคลุมหลาย ๆ สถานการณ์ ขอบคุณ!


ดูที่นี่สำหรับความคิดในการค้นหาคู่ค้าที่เหมาะสมและแนวคิดสำหรับการลด
Raphael

คำตอบ:


18

คดีพิเศษ

สมมติว่าเราต้องการที่จะแสดงให้เห็นด้วยความเคารพในความคิดของการลดบางRหากเป็นกรณีพิเศษของนั่นเป็นเรื่องเล็กน้อย: เราสามารถใช้ฟังก์ชันข้อมูลเฉพาะตัวได้ สัญชาตญาณที่อยู่เบื้องหลังสิ่งนี้ชัดเจน: กรณีทั่วไปอย่างน้อยที่สุดก็ยากเท่ากรณีพิเศษL1RL2RL1L2

ใน "การปฏิบัติ" เราจะได้รับและติดอยู่กับปัญหาในการเลือกคู่ค้าการลดที่ดีคือการค้นหากรณีพิเศษของที่พิสูจน์แล้วว่าเป็น -hardL2L1L2R

ตัวอย่างง่ายๆ

สมมติว่าเราต้องการแสดงให้เห็นว่าKNAPSACKเป็น NP-hard โชคดีที่เรารู้ว่าSUBSET-SUMนั้นสมบูรณ์แบบ NP และเป็นกรณีพิเศษของ KNAPSACK การลด

f(A,k)=(A,(1,,1),k,|A|)

พอเพียง; เป็นอินสแตนซ์ KNAPSACK ที่ถามว่าเราสามารถบรรลุค่าอย่างน้อยด้วยค่ารายการในเพื่อให้น้ำหนักที่สอดคล้องกันจากยังคงอยู่ภายใต้ทั้งหมด เราไม่ต้องการการ จำกัด น้ำหนักสำหรับการจำลอง SUBSET-SUM ดังนั้นเราเพิ่งตั้งค่าให้เป็นค่าที่ซ้ำซาก(V,W,v,w)vVWw

ปัญหาการออกกำลังกายอย่างง่าย

พิจารณาปัญหา MAX-3SAT: เนื่องจากมีสูตรแคลคูลัสและเลขจำนวนเต็มตัดสินใจว่ามีการตีความที่เติมเต็มอย่างน้อยอนุประโยคหรือไม่ แสดงว่ามันเป็น NP-hardφkφk

3SAT เป็นกรณีพิเศษ กับจำนวนคำสั่งในพอเพียงm φf(φ)=(φ,m)mφ

ตัวอย่าง

สมมติว่าเรากำลังตรวจสอบปัญหาSUBSET-SUMและต้องการแสดงว่ามันเป็นปัญหา NP-hard

เราโชคดีและรู้ว่าปัญหาพาร์ติชั่นนั้นสมบูรณ์แบบแล้ว เรายืนยันว่าเป็นกรณีพิเศษของ SUBSET-SUM และกำหนด

f(A)={(A,12aAa),aAamod2=0(A,1+aA|a|),else

ที่เป็นชุดที่ใส่ของพาร์ทิชันและเป็นตัวอย่างสำหรับกลุ่มย่อย-SUM ที่ถามหลังจากย่อยของข้อสรุปที่จะkที่นี่เราต้องดูแลกรณีที่ไม่มีข้อต่อ ; ในกรณีนั้นเราให้อินสแตนซ์ที่เป็นไปไม่ได้โดยพลการA(A,k)Akk

ปัญหาการออกกำลังกาย

พิจารณาปัญหาที่เกิดขึ้นยาวนานที่สุด PATH: รับกราฟโหนดของและจำนวนเต็มตัดสินใจว่ามีเส้นทางที่เรียบง่ายจากไปในของความยาวอย่างน้อยkGs,tGkstGk

แสดงว่า LONGEST-PATH นั้นเป็น NP-hard

HAMILTON-CYCLEเป็นปัญหา NP-complete ที่รู้จักกันดีและเป็นกรณีพิเศษของ LONGEST-PATH สำหรับโหนดโดยพลการในพอเพียง หมายเหตุโดยเฉพาะอย่างยิ่งการลดจาก HAMILTON-PATH ต้องการงานมากขึ้นf(G)=(G,v,v,n)vG


2
นี่คือตัวอย่างที่เรียกว่าปัญหาผู้ซื้อเดินทาง (TPP) ที่มีปัญหาอย่างหนักเช่นกรณีพิเศษ
Juho

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

KNAPSACK เป็นจริงลดลงถูกต้องจาก SUBSET-SUM หรือไม่ KNAPSACK ขอค่าและ SUBSET-SUM ขอค่าที่แน่นอนใช่หรือไม่ เช่นอินสแตนซ์ SUBSET-SUMจะเป็น 'ไม่' อินสแตนซ์ (ฉันไม่สามารถรับ 4 อย่างแน่นอนจากรายการเดียวที่มีค่า 5) แต่การลด KNAPSACK ของคุณจะลดลงไปและดังนั้นมันจะเป็น 'ใช่' - อินสแตนซ์ที่นั่น ... หรือฉันจะทำอะไรหายไป? >=v{5},4{5},{1},4,15>4
johnny

15

ใช้ประโยชน์จากปัญหาใกล้เคียงที่รู้จัก

เมื่อต้องเผชิญกับปัญหาที่รู้สึกหนักก็มักจะเป็นความคิดที่ดีที่จะลองค้นหาปัญหาที่คล้ายกันซึ่งพิสูจน์แล้วว่าหนักแล้ว หรือบางทีคุณอาจเห็นได้ทันทีว่าปัญหานั้นคล้ายคลึงกับปัญหาที่ทราบแล้ว

ตัวอย่างปัญหา

พิจารณาปัญหา

DOUBLE-SAT={φφ is a boolean formula with at least 2 satisfying assignments }

เราต้องการที่จะแสดงคือ - สมบูรณ์ เราได้อย่างรวดเร็วทราบว่ามันอยู่ใกล้กับปัญหาที่เรารู้อยู่แล้วว่าเป็นเรื่องยากคือปัญหา satisfiability (SAT)NP

การเป็นสมาชิกของนั้นตรงไปตรงมาเพื่อแสดง ใบรับรองมีสองการมอบหมาย เห็นได้ชัดว่าสามารถตรวจสอบได้ในเวลาพหุนามว่าการมอบหมายเป็นไปตามสูตรหรือไม่NP

NP -hardness ดังนี้จากการลดลงจาก{} ได้รับสูตรเราแก้ไขได้โดยการแนะนำตัวแปรใหม่วีเราเพิ่มส่วนคำสั่งใหม่ในสูตร ตอนนี้ถ้าคือพอใจก็จะพอใจกับทั้งและ\ ดังนั้นมีการมอบหมายอย่างน้อย 2 อย่างที่พอใจ ในทางตรงกันข้ามถ้าไม่พอใจก็จะกลายเป็นแน่นอนไม่พอใจโดยไม่คำนึงถึงความคุ้มค่าของโวลต์SATφv(v¬v)φv=⊥v=φφv

มันตามมาว่าคือ - ที่เสร็จสมบูรณ์ซึ่งเป็นสิ่งที่เราต้องการแสดงDOUBLE-SATNP

ค้นหาปัญหาใกล้เคียง

การลดปัญหาเป็นงานศิลปะและบ่อยครั้งที่ต้องมีประสบการณ์และความเฉลียวฉลาด โชคดีที่ปัญหาหนักจำนวนมากจะรู้จักกันอยู่แล้ว คอมพิวเตอร์และ Intractability ของ Garey และ Johnson: คำแนะนำเกี่ยวกับทฤษฎี NP-Completeenessเป็นแบบคลาสสิคที่มีภาคผนวกที่มีปัญหามากมาย Google Scholarเป็นเพื่อนด้วย


6

ในการคำนวณเรามักตรวจสอบชุดทัวริง นั่นคือวัตถุของเรามีฟังก์ชั่นและเรามีการเข้าถึงหมายเลขGödel เยี่ยมมากเพราะเราสามารถทำสิ่งที่เราต้องการได้ด้วยฟังก์ชั่นอินพุตตราบใดที่เรายังคงคำนวณ

สมมติว่าเราต้องการแสดงว่าไม่สามารถตัดสินใจได้ เป้าหมายของเราคือการได้รับความเสมอภาคของการลงโทษL

MKfML

ด้วยปัญหาการหยุดทำงาน (หรือภาษา / ปัญหาอื่น ๆ ที่ไม่สามารถระบุได้)K={MM(M) halts}

ดังนั้นเราจำเป็นต้องมีการคำนวณการจับคู่เพื่อให้คำนวณได้เสมอ นี่คือการกระทำที่สร้างสรรค์ที่ได้รับการแจ้งจากการเทียบเท่าของการลงโทษ ดูตัวอย่างบางส่วนเพื่อรับทราบแนวคิดการทำงาน:MfMfM

งานเดียวกันสำหรับแสดงให้เห็นว่าไม่ได้เป็นแบบกึ่ง decidable โดยการเลือกภาษาที่ไม่ได้กึ่งแบบ decidable เป็นหุ้นส่วนการลดเช่น :LK¯


  1. นี่คือที่มาของหมายเลขGödel: เราได้รับความสามารถในการคำนวณของการทำแผนที่นี้ (ปกติ) ฟรี

-2

มันขึ้นอยู่กับการเรียนซับซ้อนที่เกี่ยวข้องและไม่ว่าใครต้องการที่จะลดลงจากที่กำหนดที่จะไม่รู้จักหรือไม่รู้จักเพื่อให้ สถานการณ์ทั่วไปคือการพิสูจน์ปัญหา NP Hard หรือ NP Complete เทคนิคทั่วไปคือการสร้าง "แกดเจ็ต" ในโดเมนหนึ่งที่ทำงานในลักษณะที่แน่นอนเลียนแบบพฤติกรรมของโดเมนอื่น ตัวอย่างเช่นการแปลง SAT เป็นจุดสุดยอดหนึ่งสร้าง "แกดเจ็ต" ในหน้าปกที่ทำหน้าที่คล้ายกับคำสั่งของ SAT เช่นในการแสดงภาพสไลด์ต่อไปนี้: NP Complete Reductionโดย KrishnamoorthyABBA

กลยุทธ์ที่มีประโยชน์คือการทำงานจากการรวบรวมปัญหาจำนวนมากจากระดับความซับซ้อนที่มีปัญหาและค้นหา "ปัญหาที่ใกล้ที่สุดชัดเจน" ถึงปัญหาที่กำลังศึกษา การอ้างอิงที่ยอดเยี่ยมตามบรรทัดเหล่านี้คือคอมพิวเตอร์และการใช้งานไม่ได้ซึ่งเป็นแนวทางของทฤษฎีความสมบูรณ์แบบ NP, Garey และ Johnsonซึ่งจัดเรียงตามประเภทปัญหาที่แตกต่างกัน


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

2
นอกจากนี้คุณสามารถอธิบายได้ว่าทำไมบางสิ่งขึ้นอยู่กับคลาสความซับซ้อนที่เกี่ยวข้องและวิธีการ นอกจากนี้สิ่งที่ถ้าผมต้องการที่จะไปจากไปหรือเพื่อสิ่งที่ฉันจะทำแล้ว? สิ่งที่เกี่ยวกับ "ปัญหาที่ใกล้ที่สุด" - คุณสามารถยกตัวอย่างของปัญหาได้หรือไม่? ABBA
Juho

powerpoint แสดงตัวอย่างของแกดเจ็ตที่ใช้อยู่สองตัวอย่าง ตัวอย่างของปัญหาที่ใกล้ที่สุด: สมมติว่ามีปัญหาที่เกี่ยวข้องกับทฤษฎีจำนวน มีส่วนของ G&J ที่เกี่ยวข้องกับทฤษฎีตัวเลข เป็นต้น สำหรับคลาสที่มีความซับซ้อนอื่น ๆ นอก NP มีจำนวนมาก แต่รายการปัญหาไม่ได้รับอย่างละเอียดหรือพร้อม ดังนั้นในคำอื่น ๆ เพื่อ จำกัด คำถามเดิมอาจจะ จำกัด ให้ NP ลดลงอย่างสมบูรณ์ ...
vzn

2
ฉันแนะนำให้เพิ่มข้อมูลทั้งหมดลงในคำตอบเนื่องจากความคิดเห็นอาจถูกลบได้ตลอดเวลา การเชื่อมโยงไปยังสไลด์อาจแตกในวันพรุ่งนี้เช่นกัน สิ่งที่ผมได้รับในกับปัญหาที่ใกล้เคียง: ฉันจะทำอย่างไรว่าเมื่อผมพบว่าปัญหาที่มีลักษณะคล้ายกัน (สมมติผมเป็นมือใหม่ทั้งหมด)?
Juho
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.