รุ่นการปรับให้เหมาะสมของปัญหาการตัดสินใจ


26

เป็นที่ทราบกันว่าปัญหาการเพิ่มประสิทธิภาพ / การค้นหาแต่ละรายการมีปัญหาในการตัดสินใจเทียบเท่า ตัวอย่างเช่นปัญหาเส้นทางที่สั้นที่สุด

  • การเพิ่มประสิทธิภาพ / รุ่นค้นหา: สมมติว่าไม่มีทิศทางกราฟไม่ได้ชั่งและสองจุดหาเส้นทางที่สั้นที่สุดระหว่างและยูG=(V,E)v,u∈Vvu
  • เวอร์ชันการตัดสินใจ: เนื่องจากกราฟถ่วงน้ำหนักที่ไม่ได้บอกทิศทาง , สองจุดยอด , และเลขจำนวนเต็มที่ไม่เป็นลบ , มีเส้นทางในระหว่างและที่มีความยาวสูงสุดหรือไม่?G=(V,E)v,u∈VkGuvk

โดยทั่วไป "ค้นหา st !" กลายเป็น "มีx \ in X st f (x) \ leq kหรือไม่"x∗∈Xf(x∗)=min{f(x)∣x∈X}x∈Xf(x)≤k

แต่สิ่งที่ตรงกันข้ามก็เป็นความจริงนั่นคือมีปัญหาการเพิ่มประสิทธิภาพที่เทียบเท่าสำหรับทุกปัญหาการตัดสินใจ ถ้าไม่เป็นตัวอย่างของปัญหาการตัดสินใจที่ไม่มีปัญหาการเพิ่มประสิทธิภาพเทียบเท่า


6
บิตนี้เท่ากับศูนย์หรือไม่?
— JeffE

5
คุณต้องอธิบาย "เทียบเท่า" ในรายละเอียดเพิ่มเติมเช่นคุณหมายถึงหนึ่งสามารถแก้ไขได้โดยใช้อื่น ๆ เป็น oracle / blackbox ในเวลาพหุนาม (หรือในพื้นที่ลอการิทึม)? คุณใส่ใจปัญหาทั้งหมดหรือมีปัญหาเฉพาะในNPหรือไม่
— Kaveh

1
ขึ้นอยู่กับมุมมองของคุณคำถามนั้นเป็นเรื่องเล็กน้อย (รับปัญหาการตัดสินใจใด ๆ ที่ไม่มี " k ") หรือไม่สามารถตอบได้ (วิธีการพิสูจน์ว่ามี "ไม่มีปัญหาการเลือกเทียบเท่า")
— กราฟิลส์

คำตอบ:


28

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


คำที่เกี่ยวข้อง: ปัญหาการเพิ่มประสิทธิภาพเป็น tuple (X,F,Z,⊙)ด้วย

  • Xชุดของการเข้ารหัสที่เหมาะสม (สตริง) เดอะอินสแตนซ์หรือปัจจัยการผลิต
  • Fเป็นฟังก์ชันที่แผนที่แต่ละเช่นชุดของการแก้ปัญหาที่เป็นไปได้ของxx∈XF(x)x
  • Zเป็นฟังก์ชันวัตถุประสงค์ที่แผนที่แต่ละคู่ที่และจะเป็นจำนวนจริงเรียกว่าค่าของY(x,y)x∈Xy∈F(x)Z(x,y)y
  • ⊙เป็นทิศทางการเพิ่มประสิทธิภาพทั้งหรือ\minmax

คำจำกัดความ:คำตอบที่ดีที่สุดของอินสแตนซ์ของปัญหาการหาค่าเป็นคำตอบที่เป็นไปได้ซึ่ง\} มูลค่าของการแก้ปัญหาที่ดีที่สุดคือการแสดงด้วยและเรียกว่าดีที่สุดx∈XPOy∈F(x)Z(x,y)=⊙{Z(x,y′)∣y′∈F(x)}Opt(x)

คำที่เกี่ยวข้อง: ปัญหาการประเมินผลการชี้แนะสอดคล้องกับปัญหาการเพิ่มประสิทธิภาพเป็นดังต่อไปนี้: ให้อินสแตนซ์คำนวณถ้ามีทางออกที่ดีที่สุดและการส่งออก“ไม่มีทางออกที่ดีที่สุด” มิฉะนั้นPEPOx∈XOpt(x)x

โปรดทราบว่านี่เป็นเพียงการขอคุณค่าของโซลูชันที่ดีที่สุดไม่ใช่โซลูชันทั้งหมดพร้อมรายละเอียดทั้งหมด

คำที่เกี่ยวข้อง: ปัญหาการตัดสินใจชี้แนะที่สอดคล้องกับปัญหาการเพิ่มประสิทธิภาพเป็นดังต่อไปนี้: ให้คู่ที่และตัดสินใจว่ามีทางออกที่เป็นไปได้เช่นว่าถ้าและเช่นว่าถ้า\PDPO(x,k)x∈Xk∈QxyZ(x,y)≤k⊙=minZ(x,y)≥k⊙=max

สังเกตแรกคือตอนนี้ที่{} หลักฐานไม่ยากและถูกตัดออกจากที่นี่PO∈NPO⇒PD∈NP

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

จำได้ว่าภาษาเป็นพหุนามเวลาออกซิเจนภาษาอื่นถ้ามีฟังก์ชั่น , คำนวณในเวลาพหุนามเช่นว่าทุกคำ ,L_2 ชนิดของ reducibility นี้เป็นที่รู้จักกันคาร์พหรือหลายต่อหนึ่ง reducibilityและถ้า เป็นออกซิเจนในลักษณะนี้เราแสดงโดยการเขียนL_2 นี่คือแนวคิดหลักในคำจำกัดความของความสมบูรณ์แบบ NPL1L2fxx∈L1⇔f(x)∈L2L1L2L1≤mL2

น่าเสียดายที่การลดลงแบบตัวต่อตัวระหว่างภาษาและยังไม่ชัดเจนว่าจะใช้ภาษาเหล่านี้อย่างไรในบริบทของปัญหาการเพิ่มประสิทธิภาพ ดังนั้นเราจึงต้องพิจารณาชนิดที่แตกต่างกันของ reducibility, ทัวริง reducibility ก่อนอื่นเราต้องการสิ่งนี้:

คำที่เกี่ยวข้อง: oracleสำหรับปัญหาเป็น (สมมุติ) ย่อยที่สามารถแก้กรณีของในเวลาคงPP

ความหมาย:ปัญหาที่เกิดขึ้นเป็นพหุนามเวลาทัวริง-ซึ้งทำให้เป็นปัญหาเขียนถ้ากรณีของจะสามารถแก้ไขได้ในเวลาพหุนามโดยอัลกอริทึมที่มีการเข้าถึง oracle สำหรับP_2P1P2P1≤TP2P1P2

อย่างไม่เป็นทางการเช่นเดียวกับความสัมพันธ์แสดงว่านั้นไม่ยากกว่าอีก นอกจากนี้ยังเป็นเรื่องง่ายที่จะเห็นว่าถ้าจะสามารถแก้ไขได้ในเวลาพหุนามเพื่อให้สามารถP_1อีกครั้งคือความสัมพันธ์สกรรมกริยา ความจริงต่อไปนี้ชัดเจน:≤mP1≤TP2P1P2P2P1≤T

ให้แล้วP_OPO∈NPOPD≤TPE≤TPO

เนื่องจากให้โซลูชันเต็มรูปแบบการคำนวณค่าและการตัดสินใจว่าตรงกับขอบเขตนั้นง่ายหรือไม่k

คำจำกัดความ:หากมีปัญหาสองประการและทั้งความสัมพันธ์ ,ถือไว้เราจะเขียน ; แนวคิดเรื่องความเท่าเทียมของเราP1P2P1≤TP2P2≤P1P1≡TP2

ขณะนี้เราพร้อมที่จะพิสูจน์ว่าเนื่องจากปัญหาการปรับให้เหมาะสมที่สอดคล้องกันคือและเป็นจำนวนเต็มมูลค่า เราต้องแสดงให้เห็นว่าถืออยู่ เราสามารถตรวจสอบกับไบนารีค้นหา usign orcale สำหรับP_Dความหมายของเพื่อให้แน่ใจว่าสำหรับบางพหุนามดังนั้นจำนวนของขั้นตอนในการค้นหาไบนารีคือพหุนามใน. PD≡TPEPO∈NPOZPE≤TPD⊙{Z(x,y)∣y∈F(x)}PDNPO|Z(x,y)|≤2q(|x|)q|x|◻

สำหรับปัญหาการปรับให้เหมาะสมความสัมพันธ์กับนั้นชัดเจนน้อยกว่า ในกรณีที่เป็นรูปธรรมหลายคนหนึ่งสามารถแสดงโดยตรงที่P_O เพื่อพิสูจน์ว่าเรื่องนี้ถือโดยทั่วไปภายใต้กรอบที่กำหนดไว้ที่นี่เราจำเป็นต้องมีข้อสมมติฐานเพิ่มเติมPOPEPD≡TPE≡TPO

ก่อนอื่นเราต้องขยายจากคู่ภาษาเป็นคู่ของปัญหาการตัดสินใจที่สอดคล้องกัน จากนั้นก็จะเป็นเรื่องง่ายที่จะเห็นว่าทั่วไปมากกว่า\≤m≤T≤m

ให้แอนด์เป็นปัญหาในการตัดสินใจ แล้วP' สิ่งนี้ถือเป็นเพราะการลดแบบหลายต่อหลายคนสามารถตีความได้ว่าเป็นการใช้ประโยชน์ของออราเคิลในทางที่ จำกัด อย่างมาก: ออราเคิลถูกเรียกว่าครั้งเดียวในตอนท้ายสุดและผลลัพธ์ของมันก็จะถูกส่งกลับมาเป็นผลลัพธ์โดยรวม PP′P≤mP′⇒P≤TP′◻

ตอนนี้เราพร้อมแล้วสำหรับตอนจบ:

ให้และสมมติว่าเป็นจำนวนเต็มและนั้นเป็น NP-complete จากนั้นกับข้อสังเกตก่อนหน้านี้มันก็ยังคงที่จะแสดงP_E การทำเช่นนี้เราจะแสดงปัญหาดังกล่าวว่าP_E' จากนั้นเรามีที่สองและสามถือเพราะความเท่าเทียมกันของการตัดสินใจและการประเมินผลรุ่นพิสูจน์ก่อนหน้านี้ ที่สามติดตามจาก NP-ครบถ้วนของและข้อเท็จจริงสองข้อที่กล่าวถึงก่อนหน้าคือPO∈NPOZPD

PD≡TPE≡TPO.
PO≤TPEPO′∈NPOPO≤TPE′
PO≤TPE′≤TPD′≤TPD≤TPE.
≤T≤TPDPO∈NPO⇒PD∈NPและP_O'P≤mPO′⇒P≤TPO′

ตอนนี้รายละเอียด: สมมติว่าคำตอบที่เป็นไปได้ของนั้นถูกเข้ารหัสโดยใช้ตัวอักษรพร้อมกับคำสั่งทั้งหมด ให้เป็นคำจากแสดงรายการตามลำดับความยาวที่ไม่ลดลงและคำสั่งทำพจนานุกรมภายในกลุ่มคำที่มีความยาวทั่วไป (ดังนั้นเป็นคำที่ว่างเปล่า.) สำหรับทุกให้หมายถึงเลขที่ไม่ซ้ำกันดังกล่าวว่าการ yสามารถคำนวณทั้งและได้ในเวลาพหุนาม ปล่อยเป็นพหุนามแบบนั้นสำหรับPOΣw0,w1,…Σ∗w0y∈Σ∗σ(y)iy=wiσσ−1qx∈Xและทุกเรามี|)}y∈F(x)σ(y)<2q(|x|)

ตอนนี้ปัญหาเป็นเหมือนยกเว้นสำหรับการปรับเปลี่ยนฟังก์ชั่นวัตถุประสงค์Z'สำหรับและที่เราใช้เวลา(y) คือคำนวณในเวลาพหุนามจึง{}PO′POZ′x∈Xy∈F(x)Z′(x,y)=2q(|x|)⋅Z(x,y)+σ(y)Z′PO′∈NPO

แสดงให้เห็นว่าเราสังเกตว่าเป็นไปได้สำหรับและถ้าหากมันเป็นไปได้สำหรับP_E'เราสามารถสันนิษฐานได้ว่าเป็นกรณีนี้เนื่องจากกรณีตรงข้ามเป็นเรื่องเล็กน้อยที่จะจัดการPO≤TPE′xPOPE′

substituion ของ forเป็นแบบโมโนโทนิกในแง่ที่ว่า , ถ้าจากนั้นy_2) นี่ก็หมายความว่าทางออกที่ดีที่สุดสำหรับทุกในเป็นทางออกที่ดีที่สุดของในP_Oดังนั้นหน้าที่ของเราที่จะช่วยลดการคำนวณการแก้ปัญหาที่ดีที่สุดของในP_O'Z′Zy1,y2∈F(x)Z(x,y1)<Z(x,y2)Z′(x,y1)<Z′(x,y2)xPO′xPOyxPO′

สอบถาม oracle สำหรับเราจะได้รับค่าของ(y) การสร้างส่วนที่เหลือของตัวเลขนี้โมดูโลให้ผลตอบแทนซึ่งสามารถคำนวณได้ในเวลาพหุนามPE′Z′(x,y)=2q(|x|)⋅Z(x,y)+σ(y)2q(|x|)σ(y)y


"oracle สำหรับปัญหา P คือรูทีนย่อย (สมมุติ) ที่สามารถแก้ปัญหาอินสแตนซ์ของ P ในเวลาคงที่" oracle ต้องใช้เวลาคงที่เท่านั้นหรือ
— ทิม

@ Tim แน่นอนมีหนังสือฉันอยู่ไม่กี่ในความคิดเห็นของผู้อื่นคำตอบ
— ULI

@ Tim เกี่ยวกับ oracle: ถ้าคุณได้พบ / ตั้งครรภ์ลดลงระหว่างสองปัญหาและคุณได้ลดปัญหาการหาขั้นตอนวิธีการที่มีประสิทธิภาพสำหรับการหาขั้นตอนวิธีการที่มีประสิทธิภาพสำหรับBหรือคำอื่น ๆ ที่ลดลงจะบอกคุณว่าเพื่อที่จะแก้คุณสามารถใช้Bมันก็เหมือนการใช้งานย่อยสำหรับในอัลกอริทึมสำหรับ อย่างไรก็ตามปัญหาและA≤TBABABABBAABมักเป็นปัญหาที่เราไม่รู้จักวิธีแก้ปัญหาที่มีประสิทธิภาพ และในกรณีของทัวริง - รีดซิชั่นเรายังใช้มันในกรณีที่ปัญหาที่เกี่ยวข้องไม่สามารถตัดสินใจได้เลย
— uli

@Tim ดังนั้นเป็นรูทีนย่อยที่ไม่รู้จัก มันได้กลายเป็นที่กำหนดเองในทฤษฎีความซับซ้อนที่จะเรียกขั้นตอนวิธีการสมมุติสำหรับที่ได้มาจากการลดลงเป็นอัลกอริทึมกับ Oracle Bเรียก subroutine ไม่รู้จักพยากรณ์เพียงเป็นการแสดงออกว่าเราไม่สามารถหวังว่าจะได้พบกับขั้นตอนวิธีการที่มีประสิทธิภาพสำหรับเหมือนกับที่เราไม่สามารถหวังว่าจะได้รับ oracle สำหรับBตัวเลือกนี้ค่อนข้างโชคร้ายเนื่องจากมันมีความสามารถทางเวทย์มนตร์ ค่าใช้จ่ายสำหรับ oracle ควรเป็นเป็น subroutine มีอย่างน้อยการอ่านการป้อนข้อมูลxBABBBB|x|x
— uli

3
คำตอบที่ยอดเยี่ยมทั่ว; สิ่งเดียวที่ฉันจะเพิ่ม (มาที่มันตอนนี้ผ่านคำถามอื่น) คือ 'ทิศทางการปรับให้เหมาะสม' เป็นความซับซ้อนที่ไม่จำเป็นและสำหรับความเป็นรูปธรรมเราสามารถสันนิษฐานได้เสมอว่าฟังก์ชันวัตถุประสงค์จะถูกขยายให้ใหญ่ที่สุด; ถ้าความตั้งใจที่จะลดแล้วเราก็สามารถกำหนดวัตถุประสงค์ใหม่ฟังก์ชั่นและเขียนทั้งหมดลดของเป็นสูงสุดของZ'ZZ′=−ZZZ′
— Steven Stadnicki

5

ในขณะที่ความคิดเห็นพูดคำตอบขึ้นอยู่กับคำจำกัดความที่แน่นอน ให้ฉันตีความคำถามในลักษณะพื้นฐาน (ไร้เดียงสา)

ให้เป็นความสัมพันธ์บางอย่างที่เป็น\}SS⊆{(a,b)∣a,b∈Σ∗}

ตอนนี้เรากำหนดปัญหาการค้นหาสำหรับ :S

ได้รับหาดังกล่าวว่าSab(a,b)∈S

และปัญหาการตัดสินใจสำหรับ :S

ป.ร. ให้ไว้คำตอบหรือไม่S(a,b)(a,b)∈S

(ตัวอย่างเช่นในตัวอย่างที่ให้ไว้ในคำถามจะเก็บคู่ทั้งหมดไว้ เพื่อให้มีเส้นทางระหว่างและซึ่งสั้นกว่า )S(u,v,k)uvk

โปรดทราบว่าทั้งสองปัญหาที่กำหนดไว้อย่างดี สำหรับคำจำกัดความนี้เราสามารถถามได้ว่าทั้งสองปัญหานั้น "เทียบเท่า" สำหรับหรือไม่ ใน "เทียบเท่า" ฉันหมายความว่าหากหนึ่งในนั้นคือการคำนวณ (นั่นคือมีอัลกอริทึมที่แก้มัน) กว่าอีกอย่างหนึ่งคือการคำนวณเช่นกัน โดยทั่วไปแล้วพวกเขาจะไม่S

การเรียกร้องที่ 1 : การตัดสินใจหมายถึงการค้นหา

พิสูจน์: Letเป็นอัลกอริทึมที่แก้ปัญหาการตัดสินใจของSรับอินพุต , เราสามารถเรียกใช้สำหรับ , อันใดอันหนึ่งหรือต่อเนื่องกัน หากมีเช่นนั้นเราจะพบมันในที่สุด ถ้าไม่ได้อัลกอริทึมอาจจะไม่หยุด^DSSaDS(a,x)x∈Σ∗b(a,b)∈S†

การเรียกร้องที่ 2 : การค้นหาไม่ได้บ่งบอกถึงการตัดสินใจ

เหตุผลก็คืออัลกอริทึมการค้นหาอาจส่งคืนแตกต่างจากที่เราต้องการ นั่นคือสำหรับทุกมีบางว่าเป็นเรื่องง่ายมากที่จะหา แต่คนอื่น ๆที่ไม่ได้เป็น ตัวอย่างเช่นให้เป็นภาษาที่ไม่สามารถตัดสินใจได้จากนั้นกำหนด สำหรับทุกวิธีการค้นหาสามารถกลับ0แต่ขั้นตอนวิธีการตัดสินใจที่ไม่สามารถตอบได้อย่างถูกต้องไม่ว่าจะเป็นสำหรับทุกคู่1) ถ้าทำได้ก็จะตัดสินใจว่าเป็นปัญหาที่ไม่อาจตัดสินใจได้ซึ่งเป็นไปไม่ได้babb′L

S={(x,0)∣x∈Σ∗}∪{(x,1)∣x∈L}.
x0(x,1)∈S(x,1)


†นี้ขึ้นอยู่กับSตัวอย่างเช่นถ้าถูก จำกัด อาจมีอัลกอริทึมที่จะหยุดอยู่SS


2
ปัญหาการตัดสินใจที่ถูกต้องคือการดำรงอยู่ของเซนต์S b⟨a,b⟩∈S
— Kaveh

หากการตัดสินใจถูกกำหนดให้มีอยู่ของดังนั้นการค้นหาก็หมายถึงการตัดสินใจ b
— Ran G.

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