ดังที่คุณกล่าวว่าไม่มีการตัดสินใจใด ๆ ดังนั้นจึงจำเป็นต้องมีคลาสความซับซ้อนและการลดประเภทใหม่เพื่อให้ได้คำจำกัดความที่เหมาะสมของความแข็งของNPสำหรับปัญหาการปรับให้เหมาะสม
วิธีหนึ่งในการทำเช่นนี้คือมีสองคลาสใหม่NPOและPOที่มีปัญหาการปรับให้เหมาะสมและพวกเขาเลียนแบบคลาสNPและPสำหรับปัญหาการตัดสินใจ จำเป็นต้องลดใหม่ จากนั้นเราสามารถสร้างNP-hardnessรุ่นใหม่สำหรับปัญหาการปรับให้เหมาะสมตามบรรทัดที่ประสบความสำเร็จสำหรับปัญหาการตัดสินใจ แต่ก่อนอื่นเราต้องยอมรับว่าการเพิ่มประสิทธิภาพปัญหาคืออะไร
คำที่เกี่ยวข้อง: Let จะเป็นการเพิ่มประสิทธิภาพปัญหา Xคือชุดของอินพุตหรืออินสแตนซ์ที่เหมาะสมที่เข้ารหัสเป็นสตริง Lคือฟังก์ชั่นที่แผนที่แต่ละเช่นx ∈ Xลงบนชุดของสตริงที่การแก้ปัญหาเป็นไปได้ของอินสแตนซ์x เป็นชุดเนื่องจากมีวิธีแก้ไขปัญหาการปรับให้เหมาะสมมากมาย ดังนั้นเราจึงมีฟังก์ชั่นวัตถุประสงค์fที่บอกเราทุกคู่(O=(X,L,f,opt)XLx∈Xx fY ∈ L ( x )ของอินสแตนซ์และการแก้ปัญหาค่าใช้จ่ายหรือค่า o p tบอกเราว่าเรากำลังเพิ่มหรือย่อขนาดเล็กสุด(x,y) y∈L(x)opt
สิ่งนี้ช่วยให้เราสามารถกำหนดสิ่งที่เป็นทางออกที่ดีที่สุด : ให้เป็นทางออกที่ดีที่สุดของอินสแตนซ์x ∈ Xของการเพิ่มประสิทธิภาพ - ปัญหาO = ( X , L , f , o p t )ด้วยf ( x , y o p t ) = o p t { f ( x , yyopt∈L(x)x∈XO=(X,L,f,opt)ทางออกที่ดีที่สุดมักจะแสดงโดยปี *
f(x,yopt)=opt{f(x,y′)∣y′∈L(x)}.
y∗
ตอนนี้เราสามารถกำหนดคลาสNPO : ปล่อยให้เป็นชุดของปัญหาการปรับให้เหมาะสมทั้งหมดO = ( X , L , f , o p t )ด้วย:NPOO=(X,L,f,opt)
- X∈P
- มีพหุนามด้วย| y | ≤ P ( | x | )สำหรับทุกกรณีx ∈ Xและทุกความเป็นไปได้การแก้ปัญหาY ∈ L ( x ) นอกจากนี้ยังมีขั้นตอนวิธีการกำหนดที่ตัดสินใจในเวลาพหุนามว่าY ∈ L ( x )p|y|≤p(|x|)x∈Xy∈L(x)y∈L(x)
- สามารถประเมินได้ในเวลาพหุนามf
สัญชาตญาณที่อยู่เบื้องหลังมันคือ:
- เราสามารถตรวจสอบได้อย่างมีประสิทธิภาพหากเป็นตัวอย่างที่ถูกต้องของปัญหาการเพิ่มประสิทธิภาพของเราx
- ขนาดของการแก้ปัญหาที่เป็นไปได้เป็นที่สิ้นสุด polynomially ในขนาดของปัจจัยการผลิตและเราสามารถตรวจสอบได้อย่างมีประสิทธิภาพถ้าเป็นโซลูชั่นที่ fesible ของอินสแตนซ์xy∈L(x)x
- สามารถหาค่าของสารละลายได้อย่างมีประสิทธิภาพy∈L(x)
สิ่งนี้สะท้อนให้เห็นถึงการกำหนดตอนนี้สำหรับPO : ให้P Oเป็นชุดของปัญหาทั้งหมดจากN P Oที่สามารถแก้ไขได้โดยอัลกอริทึมที่กำหนดขึ้นในเวลาพหุนามNPPONPO
ตอนนี้เราสามารถกำหนดสิ่งที่เราต้องการเรียกการประมาณ - อัลกอริทึม : การประมาณ - อัลกอริทึมของการหาค่าเหมาะที่สุด - ปัญหาเป็นอัลกอริทึมที่คำนวณโซลูชันที่เป็นไปได้y ∈ L ( x )สำหรับอินสแตนซ์x ∈ xO=(X,L,f,opt)y∈L(x)x∈X
หมายเหตุ: การที่เราไม่ได้ขอที่ดีที่สุดวิธีการแก้ปัญหาที่เราเพียง แต่สิ่งที่จะมีความเป็นไปได้อย่างใดอย่างหนึ่ง
ขณะนี้เรามีข้อผิดพลาดสองประเภท: ข้อผิดพลาดสัมบูรณ์ของวิธีแก้ปัญหาที่เป็นไปได้ของอินสแตนซ์x ∈ Xของการปรับให้เหมาะสม - ปัญหาO = ( X , L , f , o p t )คือ| f ( x , y ) - f ( x , y ∗ ) | .y∈L(x)x∈XO=(X,L,f,opt)|f(x,y)−f(x,y∗)|
ที่เราเรียกว่าข้อผิดพลาดที่แน่นอนของการประมาณขั้นตอนวิธีสำหรับการเพิ่มประสิทธิภาพปัญหาOล้อมรอบด้วยkถ้าอัลกอริทึมคำนวณเช่นทุกx ∈ Xวิธีการแก้ปัญหาที่เป็นไปได้กับข้อผิดพลาดแน่นอนล้อมรอบด้วยkAOkAx∈Xk
ตัวอย่าง: ตามทฤษฎีบทของ Vizing ดัชนีสีของกราฟ (จำนวนสีในการระบายสีขอบด้วยจำนวนสีที่น้อยที่สุดที่ใช้) คือหรือΔ + 1โดยที่Δคือระดับโหนดสูงสุด จากการพิสูจน์ทฤษฎีบทการประมาณ - อัลกอริธึมสามารถคิดได้ว่าคำนวณสีขอบด้วยΔ + 1สี ดังนั้นเรามีประมาณ-อัลกอริทึมสำหรับM ฉันn ฉันm ยูเอ็ม- อีd กรัมE C o L o r ฉันnΔΔ+1ΔΔ+1 -Problem ที่ผิดพลาดแน่นอนกระโดดจาก1Minimum−EdgeColoring1
ตัวอย่างนี้เป็นข้อยกเว้นข้อผิดพลาดสัมบูรณ์ขนาดเล็กหายากดังนั้นเราจึงกำหนดข้อผิดพลาดสัมพัทธ์ ของการประมาณ - อัลกอริทึมAบนอินสแตนซ์xของการปรับให้เหมาะสม - ปัญหาO = ( X , L , f , o p t )ด้วยf ( x , y ) > 0เพื่อให้ทุกx ∈ Xและy ∈ L ( x )เป็นϵA(x)AxO=(X,L,f,opt)f(x,y)>0x∈Xy∈L(x)
ϵA(x):={0|f(x,A(x))−f(x,y∗)|max{f(x,A(x)),f(x,y∗)}f(x,A(x))=f(x,y∗)f(x,A(x))≠f(x,y∗)
ที่เป็นทางออกที่เป็นไปได้คำนวณโดยประมาณขั้นตอนวิธีAA(x)=y∈L(x)A
ตอนนี้เราสามารถกำหนดการประมาณ - อัลกอริทึมสำหรับการปรับให้เหมาะสม - ปัญหาให้เป็น - การประมาณค่า - อัลกอริทึมสำหรับหากข้อผิดพลาดสัมพัทธ์ถูก จำกัด โดยสำหรับทุกอินสแตนซ์ดังนั้น
O = ( X , L , F , o พีที) δ O ε ( x ) δ ≥ 0 x ∈ X ε ( x ) ≤ δAO=(X,L,f,opt)δOϵA(x)δ≥0x∈X
ϵA(x)≤δ∀x∈X.
ตัวเลือกของในส่วนของคำจำกัดความของข้อผิดพลาดสัมพัทธ์ถูกเลือกเพื่อให้นิยามสมมาตรสำหรับการเพิ่มและย่อเล็กสุด ค่าของความผิดพลาด[0,1] ในกรณีที่เกิดปัญหาสูงสุดค่าของการแก้ปัญหาไม่น้อยกว่าและไม่ใหญ่กว่าสำหรับปัญหาการย่อขนาดเล็กสุดϵ A ( x ) ∈ [ 0 , 1 ] ( 1 - ϵ A ( x ) ) ⋅ f ( x , y ∗ ) 1 / ( 1 - ϵ A ( x ) ) ⋅ fmax{f(x,A(x)),f(x,y∗)}ϵA(x)∈[0,1](1−ϵA(x))⋅f(x,y∗)1/(1−ϵA(x))⋅f(x,y∗)
ตอนนี้เราสามารถเรียกการปรับให้เหมาะสม - ปัญหา -approximable หากมี -approximation-algorithmสำหรับที่ทำงานในเวลาพหุนามδ OδδAO
เราไม่ต้องการดูข้อผิดพลาดสำหรับทุก ๆเราดูเฉพาะกรณีที่แย่ที่สุด ดังนั้นเราจึงกำหนดข้อผิดพลาดที่เกี่ยวข้องสูงสุดของการประมาณ - อัลกอริทึมสำหรับการเพิ่มประสิทธิภาพ - ปัญหาเป็น
ϵ A ( n ) A O ϵ A ( n ) = sup { ϵ A ( x ) ∣ | x | ≤ n }xϵA(n)AO
ϵA(n)=sup{ϵA(x)∣|x|≤n}.
ที่ไหนควรมีขนาดของอินสแตนซ์|x|
ตัวอย่าง: การจับคู่สูงสุดในกราฟสามารถแปลงเป็นโหนดขนาดเล็กที่สุดโดยการเพิ่มโหนดเหตุการณ์ทั้งหมดจากการจับคู่ไปยังปกจุดสุดยอด ดังนั้นขอบถูกปกคลุม แต่ละปกยอดรวมทั้งคนหนึ่งที่ดีที่สุดต้องมีหนึ่งในโหนดของแต่ละขอบครอบคลุมมิฉะนั้นมันอาจจะดีขึ้นเรามี*) มันตามมาว่า
ดังนั้นอัลกอริธึมโลภสำหรับการจับคู่สูงสุดคือ -approximatio- อัลกอริทึมสำหรับ{Minimal-VertexCover} ดังนั้นเป็น -approximableC1/2⋅|C|1/2⋅|C|⋅f(x,y∗)
|C|−f(x,y∗)|C|≤12
1/2Minimal−VertexCoverMinimal−VertexCover1/2
น่าเสียดายที่ข้อผิดพลาดสัมพัทธ์ไม่ได้เป็นแนวคิดที่ดีที่สุดสำหรับการประมาณตามตัวอย่างต่อไปนี้แสดงให้เห็น:
ตัวอย่าง: ง่ายธึสามารถประมาณ{ขั้นต่ำ-SetCover} การวิเคราะห์แสดงให้เห็นว่าและจะเป็น - ง่ายขึ้นMinimum−SetCover
|C||C∗|≤Hn≤1+ln(n)
Minimum−SetCoverln(n)1+ln(n)
หากข้อผิดพลาดสัมพัทธ์ใกล้กับคำจำกัดความต่อไปนี้จะเป็นประโยชน์1
Letจะเป็นการเพิ่มประสิทธิภาพปัญหากับสำหรับทุกและและประมาณ-อัลกอริทึมสำหรับOการประมาณ - อัตราส่วนของวิธีแก้ปัญหาที่เป็นไปได้ของอินสแตนซ์คือ
O=(X,L,f,opt)f(x,y)>0x∈Xy∈L(x)AO rA(x)A(x)=y∈L(x)x∈X
rA(x)={1max{f(x,A(x))f(x,y∗),f(x,y∗)f(x,A(x))}f(x,A(x))=f(x,y∗)f(x,A(x))≠f(x,y∗)
เมื่อก่อนเราเรียกประมาณขั้นตอนวิธี -approximation ขั้นตอนวิธีสำหรับการเพิ่มประสิทธิภาพปัญหาถ้าประมาณอัตราส่วนเป็นที่สิ้นสุดโดยสำหรับการป้อนข้อมูลทุกX
และยังอีกครั้งถ้าเรามี -approximation ขั้นตอนวิธีสำหรับการเพิ่มประสิทธิภาพปัญหาแล้วเรียกว่า -approximable อีกครั้งเราสนใจเฉพาะกรณีที่แย่ที่สุดและกำหนดอัตราส่วนสูงสุดประมาณเป็น
ArOrA(x)r≥1x∈X
rA(x)≤r
rAOOr rA(n)rA(n)=sup{rA(x)∣|x|≤n}.
ดังนั้นอัตราส่วนการประมาณสูงกว่าสำหรับการแก้ปัญหาที่ไม่ดี วิธีแก้ปัญหาที่ดีกว่าจึงมีอัตราส่วนที่น้อยกว่า สำหรับตอนนี้เราสามารถเขียนได้ว่า -approximable และในกรณีของเรารู้จากตัวอย่างก่อนหน้านี้ว่ามันเป็น -approximable ระหว่างข้อผิดพลาดสัมพัทธ์และอัตราส่วนประมาณเรามีความสัมพันธ์แบบง่าย:
1Minimum−SetCover(1+ln(n))Minimum−VertexCover2rA(x)=11−ϵA(x)ϵA(x)=1−1rA(x).
สำหรับการเบี่ยงเบนจากขนาดเล็กที่เหมาะสมและข้อผิดพลาดญาติเป็นข้อได้เปรียบเหนือประมาณอัตราส่วนที่แสดงให้เห็นถึงจุดแข็งที่มีขนาดใหญ่สำหรับการเบี่ยงเบนและ2ϵ<1/2r<2ϵ≥1/2r≥2
ทั้งสองรุ่นของ -approximable ไม่ทับซ้อนกับรุ่นหนึ่งที่มีเสมอและอื่น ๆ1 caseไม่เป็นปัญหาเนื่องจากอัลกอริธึมที่สร้างโซลูชันที่แน่นอนเท่านั้นจึงไม่จำเป็นต้องถือว่าเป็นอัลกอริทึมαα≤1α≥1α=1
ชั้นอื่นปรากฏมักจะAPX มันถูกกำหนดเป็นชุดของการปรับให้เหมาะสมทั้งหมด - ปัญหาจากที่ยังคงเป็น - อัพ - อัลกอริทึมที่มีที่ทำงานในเวลาพหุนามONPOrr≥1
เราเกือบจะผ่าน เราต้องการคัดลอกความคิดที่ประสบความสำเร็จของการลดและความสมบูรณ์จากทฤษฎีความซับซ้อน การสังเกตคือตัวแปรการตัดสินใจแบบ NP-hard จำนวนมากของปัญหาการปรับให้เหมาะสมนั้นจะลดลงซึ่งกันและกันในขณะที่ตัวแปรการปรับให้เหมาะสมมีคุณสมบัติที่แตกต่างกันเกี่ยวกับความสามารถในการประมาณค่า นี่คือเนื่องจากการ polynomialtime-Karp-reduction ที่ใช้ในการลด NP-completness ซึ่งไม่ได้รักษาฟังก์ชันวัตถุประสงค์ และแม้ว่าฟังก์ชันวัตถุประสงค์จะได้รับการสงวนไว้การลดพหุนาม - Karp อาจลดคุณภาพของการแก้ปัญหา
สิ่งที่เราต้องเป็นรุ่นที่แข็งแกร่งของการลดลงซึ่งไม่เพียง แต่แผนที่กรณีจากการเพิ่มประสิทธิภาพ-ปัญหาอินสแตนซ์ของแต่ยังแก้ปัญหาที่ดีจากกลับไปแก้ปัญหาที่ดีจากO_1O1O2O2O1
ดังนั้นเรากำหนดประมาณรักษาลดสองเพิ่มประสิทธิภาพปัญหาและจากNPOเราเรียกลดได้ถึงเขียนเป็นหากมีสองฟังก์ชันและและค่าคงที่ด้วย:O1=(X1,L1,f1,opt1)O2=(X2,L2,f2,opt2)NPOO1 APO2O1≤APO2ghc
- g(x1,r)∈X2สำหรับทุกและ rationalx1∈X1r>1
- L2(g(x,r1))≠∅ถ้าสำหรับและ rationalL1(x1)≠∅x1∈X1r>1
- h(x1,y2,r)∈L1(x1)สำหรับทั้งหมดและเหตุผลและสำหรับทั้งหมดx1∈X1r>1y2∈L2(g(x1,r))
- สำหรับคงที่ทั้งฟังก์ชั่นและสามารถคำนวณได้โดยสองอัลกอริทึมในเวลาพหุนามตามความยาวของอินพุตrgh
- เรามีสำหรับและ rationalและสำหรับ
f2(g(x1,r),y2)≤r⇒f1(x1,h(x1,y2,r))≤1+c⋅(r−1)
x1∈X1r>1y2∈L2(g(x1,r))
ในความหมายนี้และขึ้นอยู่กับคุณภาพของการแก้ปัญหาRดังนั้นคุณสมบัติที่แตกต่างกันฟังก์ชั่นอาจแตกต่างกัน ทั่วไปนี้ไม่จำเป็นเสมอและเราก็ทำงานกับและy_2)ghrg(x1)h(x1,y2)
ตอนนี้เรามีความคิดในการลดปัญหาการปรับให้เหมาะสมแล้วในที่สุดเราก็สามารถถ่ายโอนหลายสิ่งที่เรารู้จากทฤษฎีความซับซ้อน ตัวอย่างเช่นถ้าเรารู้ว่าและเราแสดงให้เห็นว่าก็จะตามมาด้วยเช่นกันO2∈APXO1≤APO2O1∈APX
ในที่สุดเราสามารถกำหนดสิ่งที่เราหมายถึงโดยยากและ - เสร็จสมบูรณ์สำหรับการเพิ่มประสิทธิภาพ - ปัญหา:CC
Letจะเป็นการเพิ่มประสิทธิภาพปัญหาจากและชั้นเรียนของการเพิ่มประสิทธิภาพปัญหาจากแล้วเรียกว่า -hardด้วยความเคารพถ้าสำหรับทุกถือONPOCNPOOC≤APO′∈C O′≤APO
ดังนั้นอีกครั้งเรามีความคิดของปัญหาที่ยากที่สุดในชั้นเรียน ไม่น่าแปลกใจ -hardปัญหาที่เรียกว่าสมบูรณ์ด้วยความเคารพถ้ามันเป็นองค์ประกอบของ{C}CC≤APC
ดังนั้นตอนนี้เราสามารถพูดคุยเกี่ยวกับ -completness และ -completness ฯลฯ และแน่นอนตอนนี้เรากำลังขอให้แสดงเป็นครั้งแรกปัญหาที่สมบูรณ์ที่จะใช้เวลามากกว่าบทบาทของ{} เกือบจะเป็นไปตามธรรมชาติแล้วสามารถแสดงเป็น complete ด้วยความช่วยเหลือของทฤษฎีบท PCP-One สามารถแสดงให้เห็นว่านั้นสมบูรณ์แบบด้วยNPOAPXNPOSATWeighted−SatisfiabilityNPOMaximum−3SATAPX