การคำนวณข้อมูลใด ๆ เกี่ยวกับ Max-3SAT


26

สำหรับสูตร 3CNFให้เป็นจำนวนสูงสุดของคำสั่งมีความพึงพอใจในงานที่มอบหมายใด ๆ ไปยังCเป็นที่ทราบกันว่า Max-3SAT นั้นยากที่จะประมาณ (ภายใต้ P ≠ NP) เช่นไม่มีโพลิไทม์อัลกอริทึมที่อินพุตเป็นสูตร 3CNFและเอาท์พุทเป็นตัวเลขซึ่งอยู่ภายใน ปัจจัยคูณจากโดยที่เป็นค่าคงที่บวกแน่นอนM ( C ) C C M M ( C ) 1 + c M c > 0CM(C)CCMM(C)1+cMc>0

ผมเชื่อว่ามันยังเป็น NP-ยากที่จะคำนวณสำหรับการใด ๆ คงโมดูลัสพี ผมสงสัยว่าถ้าทั่วไปร่วมกันดังต่อไปนี้ของทั้งสองข้อเท็จจริงเป็นจริง: ไม่มีอัลกอริทึม polytime ที่มีการป้อนข้อมูลเป็นสูตร 3CNF คือCกับไม่มีคำสั่งและสตริงของ\ log_2 NBบิตคำแนะนำและมีการส่งออกเป็นM (C) นี่Bคือค่าคงที่แน่นอน ในคำธรรมดามีขั้นตอนวิธีการคำนวณว่าBบิตข้อมูลของM (C)M(C)modpCpCNlog2NBM(C)BBM(C)

ฉันขอโทษถ้าคำถามนั้นมีคำตอบที่รู้จักกันดีเพราะฉันไม่ใช่นักทฤษฎีที่ซับซ้อนตามพื้นหลัง


1
โดยปกติแล้วคำแนะนำจะขึ้นอยู่กับความยาวของอินพุตเท่านั้น ฉันเชื่อว่าความตั้งใจของคุณคือ "คำแนะนำ" ที่นี่ขึ้นอยู่กับอินพุต ฉันไม่ทราบคำศัพท์มาตรฐานสำหรับความคิดนี้
Tsuyoshi Ito

9
มันเป็นคำถามที่น่าสนใจมาก เพื่อยืนยันว่าM(C)modpย่อมยากที่จะคำนวณหนึ่งสามารถทราบว่าพิสูจน์ทฤษฎีบทคุกของผลิตm -variable สูตรFที่เป็นอย่างใดอย่างหนึ่งหรือพอใจดังกล่าวว่าM(F)=m1m-1
Luca Trevisan

16
คำถามสามารถแก้ไขได้ด้วยวิธีต่อไปนี้: สามารถมีอัลกอริธึมเวลาแบบพหุนามที่กำหนดสูตร 3CNF Fพร้อมตัวแปรmออกรายการของตัวเลขm/2Bซึ่งเป็นหนึ่งในจำนวนนั้นคือM(F)หรือไม่?
Luca Trevisan

2
ใช่mควรได้รับจำนวนข้อในความคิดเห็นข้างต้น
Luca Trevisan

9
มันเทียบเท่าเพราะถ้าคุณมีอัลกอริทึมตามที่อธิบายไว้ในโพสต์จากนั้นคุณสามารถเรียกใช้อัลกอริทึมในแต่ละ2log2mB=m/2Bสตริงคำแนะนำที่เป็นไปได้m / 2 ^ Bรับมาก (หรือน้อยกว่าถ้า มีการชนกัน) คำตอบและหนึ่งในนั้นถูกต้อง หากคุณมีอัลกอริทึมตามที่แสดงความคิดเห็นของฉันข้างต้นlog2mBคำแนะนำบิตเพียงพอที่จะระบุว่าคำตอบที่ถูกต้องคือi th ที่ใหญ่ที่สุดของผลลัพธ์ของอัลกอริทึมสำหรับiบางiตัว
Luca Trevisan

คำตอบ:


14

นี่คือข้อโต้แย้งที่ว่าถ้าคุณสามารถแก้ปัญหา Max 3SAT บนอินสแตนซ์ m-clause ได้รับจำนวนบิตคงที่คำแนะนำลำดับชั้นพหุนามก็จะยุบลง

แก้ไขปัญหา NP-complete L จากทฤษฎีบทของ Cook เรารู้ว่าการแปลง f () ของอินพุต x สำหรับ L เป็น 3SAT สูตร f (x) ดังนั้น

1) ถ้าแล้วM ( f ( x ) ) = mxLM(f(x))=m

2) ถ้าแล้วM ( f ( x ) ) = m - 1xLM(f(x))=m1

ที่คือจำนวนของคำสั่งใน(x)f ( x )mf(x)

เรายังมีทฤษฎีของ Kadin ที่บอกว่าถ้าได้รับปัจจัยการผลิตของปัญหา NP-เสร็จสมบูรณ์คุณมีขั้นตอนวิธีการพหุนามเวลาที่ทำให้แบบสอบถามเพื่อพยากรณ์ NP และกำหนด คำตอบที่ถูกต้องสำหรับปัญหา NPจากนั้นลำดับชั้นพหุนามยุบx 1 , , x kk - 1 k x i? Lkx1,,xkk1kxi?L

สมมติว่าเรามีอัลกอริทึมที่แก้ Max SAT จากอินพุต m-clause โดยให้คำแนะนำ k บิต เราจะใช้ผลลัพธ์ของ Hastad เพื่อสร้างอัลกอริทึมเช่นเดียวกับในทฤษฎีบทของคาดิน

เริ่มต้นจากปัจจัยการผลิตกับปัญหาLใช้ทฤษฎีบทของ Cook กับแต่ละข้อ หลังจากการทำให้เป็นมาตรฐาน (ซึ่งสามารถทำได้โดยการกำหนดน้ำหนักให้กับคำสั่งหรือทำซ้ำถ้าเราไม่ต้องการใช้น้ำหนัก) เราสร้างสูตรที่ไหนสำหรับบาง :x 1 , , x K L K F 1 , , F K mK=2k+1x1,,xKLKF1,,FKm

1)ถ้าและเป็นอย่างอื่นx 1L M ( F 1 ) = m - 2M(F1)=m1x1LM(F1)=m2

2)ถ้าและอย่างอื่นx 2L M ( F 2 ) = m ( m - 2 )M(F2)=m(m1)x2LM(F2)=m(m2)

...

k)ถ้าและมิฉะนั้นx KL M ( F K ) = m K - 1( m - 2 )M(FK)=mK1(m1)xKLM(FK)=mK1(m2)

ตอนนี้ใช้เวลาสหภาพของสูตรซึ่งถูกสร้างขึ้นกว่าชุดตัวแปรเคลื่อนและเรียกมันว่าFดังนั้นเราจึงมีและเราสามารถ "อ่านออก" คำตอบสำหรับปัญหาโดยดูที่ base-เป็นตัวแทนของ(F) ถ้าเราสามารถคำนวณให้บิตของคำแนะนำก็หมายความว่าเราสามารถหาค่าดังกล่าวว่าหนึ่งในนั้นคือ(F) จากนั้นเราสามารถขอให้ oracle NP แบบไม่ปรับตัวได้ว่าสำหรับแต่ละค่าของผู้สมัครM ( F ) = M ( F 1 ) + + M ( F k ) K x i? LFM(F)=M(F1)++M(Fk)Kxi?LM ( F ) M ( F ) k 2 k M ( F ) M ( F ) n ฉันn 1 , , n 2 k 2 k 2 k + 1 2mM(F)M(F)k2kM(F)M(F)nin1,,n2kเราสร้าง ดังนั้นเราสามารถแก้ปัญหาNP-completeโดยทำแบบสอบถามที่ไม่ปรับตัวไปที่ oracle NP ซึ่งหมายถึงว่าลำดับชั้นพหุนามยุบ2k+12k

การใช้ทฤษฎีบทของ Hastad แทนที่จะเป็นทฤษฎีบทของ Cook คุณสามารถผลักขนาดของเป็นแทนดังนั้นจึงเป็นไปได้ที่จะผลักไปที่และจำนวนบิตคำแนะนำบันทึกเมตร การทำความเข้าใจสิ่งที่เกิดขึ้นเมื่อคุณได้รับ บิตคำแนะนำดูเหมือนยากมากO ( 1 ) kk k เข้าสู่ระบบม. เข้าสู่ระบบเข้าสู่ระบบม. ล็อกเมตร- O ( 1 )FO(1)kmmkklogmloglogmlogmO(1)


แก้ไขเพื่อเพิ่ม: Krentel ( ความซับซ้อนของปัญหาการปรับให้เหมาะสมJ. Comput Syst Sci. 36 (3): 490-509 (1988) ) พิสูจน์ว่าการคำนวณค่าที่เหมาะสมที่สุดของปัญหาสูงสุดของกลุ่ม Clique นั้นเสร็จสมบูรณ์แล้วสำหรับคลาสของฟังก์ชันที่คำนวณได้ในเวลาพหุนามกับเคียวรีไปยัง NP oracle ความสมบูรณ์อยู่ภายใต้ "หนึ่งในการลดการสอบถาม" ซึ่งฟังก์ชั่น F คือออกซิเจนฟังก์ชันกรัมถ้าใครสามารถเขียนสำหรับเวลาพหุนามคำนวณและ . สันนิษฐานเดียวกันเป็นจริง สำหรับ Max Clique ตอนนี้ถ้า Max Clique มีอัลกอริทึมเวลาพหุนามที่สร้างรายการ O ( L o กรัมn )FPNP[O(logn)]O(logn)R 1 R 2 เมตรo ( 1 ) F P N P [ o ( l o g n ) ]f(x)=r1(g(r2(x))r1r2mo(1)ค่าที่เป็นไปได้มันจะอยู่ใน , เพราะคุณสามารถใช้การค้นหาแบบไบนารีเพื่อค้นหาสิ่งที่ดีที่สุดด้วยจำนวนการสืบค้นที่เป็นบันทึกของขนาดรายการFPNP[o(logn)]

ตอนนี้ถ้าเรามีเราจะมีซึ่งเป็นกรณีพิเศษสำหรับปัญหาการตัดสินใจและเป็นที่รู้จักกันโดยผลของแว็กเนอร์ (การปรับปรุงผลลัพธ์ของ Kadin ที่นำไปใช้กับแบบสอบถามจำนวนคงที่) เพื่อยุบลำดับชั้นพหุนาม แต่ฉันคิดว่ามันอาจจะเป็นที่รู้กันว่า จริง ๆ แล้วแปลว่า P = NP แต่ไม่ว่าในกรณีใดผลลัพธ์ของ Krentel และ Kadin-Wagner น่าจะเพียงพอที่จะพิสูจน์ผลของ Andy Drucker อีกครั้ง ตอนนี้ฉันสงสัยว่าจริง ๆ แล้วมันเป็นข้อพิสูจน์เดียวกันหรือไม่นั่นคือถ้าผลลัพธ์ของ Fortnow-Van Melkebeek ใช้งานได้ไม่ว่าโดยชัดแจ้งหรือโดยปริยายผ่านอาร์กิวเมนต์ P N P [ O ( L o กรัมn ) ] = P N P [ o ( L o กรัมn ) ] F P N P [ O ( l oFPNP[O(logn)]=FPNP[o(logn)]PNP[O(logn)]=PNP[o(logn)]FPNP[O(logn)]=FPNP[o(logn)]

กระดาษสำรวจที่ดีที่อธิบายสิ่งที่เกิดขึ้นกับปัญหาการปรับให้เหมาะสมและคลาสคิวรีที่มีขอบเขต:

http://www.csee.umbc.edu/~chang/papers/bqabh/npfsat.pdf


8

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

ในความคิดเห็นเกี่ยวกับคำถาม Luca Trevisan ให้วิธีที่ดีในการทบทวนปัญหา: ปัญหาต่อไปนี้สามารถแก้ไขได้ในเวลาพหุนามสำหรับkคงที่ทุกครั้งหรือไม่ รับสูตร CNF C ที่มีคำสั่งmเอาต์พุตที่จำนวนเต็มm / kส่วนใหญ่ดังนั้นหนึ่งในนั้นจะเท่ากับM ( C ) นี่kเกี่ยวข้องกับBโดยk = 2 B

อย่างไรก็ตามขอมากขึ้น กล่าวคือเราพิจารณาปัญหาต่อไปนี้: กำหนดสูตร CNF Cส่งออกจำนวนเต็มสองจำนวนเพื่อให้หนึ่งในนั้นเท่ากับM ( C ) เราแสดงถึงปัญหานี้โดยΠ ปัญหาΠนั้นยากอย่างน้อยเท่ากับปัญหาดั้งเดิมดังนั้นหากปัญหาดั้งเดิมคือ NP-hard Πต้องเป็น NP-hard ด้วย

โปรดทราบว่าΠเป็นปัญหาความสัมพันธ์ หนึ่งในการลดรูปแบบที่ง่ายที่สุดที่สามารถใช้เพื่อลดปัญหาบางอย่างLถึงปัญหาความสัมพันธ์คือการลดพหุนามแบบลีวินซึ่งเป็นกรณีพิเศษของการลดทอนพหุนามเวลาที่การลดลงเรียกว่าพยากรณ์สำหรับΠเท่านั้น ครั้งหนึ่ง

เราอ้างว่า P Π [1] = P เห็นได้ชัดว่านี่หมายถึงว่าNP⊈PΠ [1]ยกเว้น P = NP, นั่นคือ, Πไม่ได้เป็น NP-hard ภายใต้พหุนามแบบเวลาพหุนามการลดลงของเลวินยกเว้น P = NP

พิสูจน์ ให้L ∈PΠ [1]หรือกล่าวอีกนัยหนึ่งมีการลดเลวินจากLถึงΠ นี่หมายความว่ามีคู่ ( f , g ) ของฟังก์ชันคำนวณเวลาแบบพหุนามf : {0,1} * → {0,1} *ซึ่งแมปแต่ละอินสแตนซ์xของปัญหาLกับสูตร CNF บางf ( x ) และคำกริยาคำนวณเวลาพหุนามg : {0,1} * ×ℕ×ℕ→ {0,1} ซึ่งg ( x , i , j ) = L( x ) ถ้าiหรือjเท่ากับM ( f ( x )) (นี่คือL ( x ) = 1 ถ้าxเป็น yes- อินสแตนซ์ของLและL ( x ) = 0 ถ้าxเป็น -in-instance

เราสร้างอัลกอริธึมเวลาพหุนามสำหรับLจากนี้ดังนี้ ให้xเป็นอินพุต

  1. ให้C = F ( x ) และปล่อยให้ม.เป็นจำนวนข้อในC
  2. หาi ∈ {0, …, m } เพื่อให้ค่าg ( x , i , j ) เป็นค่าคงที่ที่ไม่ขึ้นกับj ∈ {0, …, m }
  3. ส่งออกค่าคงที่g ( x , i , 0)

ในขั้นตอนที่ 2 ฉันมีอยู่เสมอเพราะi = M ( f ( x )) เป็นไปตามเงื่อนไข ยิ่งกว่านั้นอัลกอริทึมนี้ไม่สามารถส่งออกคำตอบที่ผิดได้เนื่องจากg ( x , i , M ( f ( x ))) ต้องเป็นคำตอบที่ถูก ดังนั้นอัลกอริทึมนี้จึงแก้Lได้อย่างถูกต้อง QED

หากฉันไม่เข้าใจผิดความคิดเดียวกันสามารถนำมาใช้เพื่อพิสูจน์ว่า P Π [ k ( n )] ⊆DTIME [ n O ( k ( n )) ] นี่หมายความว่าNP⊈PΠ [ k ]สำหรับค่าคงที่kยกเว้น P = NP และNP⊈PΠ [polylog]เว้นแต่ว่าNP⊆DTIME [2 polylog ] อย่างไรก็ตามความคิดนี้เพียงอย่างเดียวดูเหมือนจะไม่ตัดทอนความเป็นไปได้ที่Πจะเป็น NP-hard ภายใต้การลดทอนพหุนามพหุนาม


1
คุณสามารถให้ลิงค์ไปยังคำตอบของ Dana ได้หรือไม่?
Mohammad Al-Turkistany

@turkistany: เธอได้ลบคำตอบของเธอหลังจากที่ฉันโพสต์การแก้ไขครั้งแรกของคำตอบนี้ ฉันเพิ่งลบการอ้างอิงถึงจากคำตอบนี้
Tsuyoshi Ito

8

ฉันเชื่อว่าเราสามารถแสดง:

ข้อเรียกร้อง มีค่าซึ่งต่อไปนี้เป็นจริง สมมติว่ามีอัลกอริธึมโพลี - เวลาแบบกำหนดแน่นอนที่กำหนดอินสแตนซ์ -clause 3-SATเอาต์พุตรายการที่ค่าส่วนใหญ่เช่น ; จากนั้นลำดับชั้นพหุนามยุบm ϕ S m c M ( ϕ ) S0<c<1mϕSmcM(ϕ)S

หลักฐานใช้ผลลัพธ์ของ Fortnow และ Santhanam ในการไม่สามารถบีบอัดอินสแตนซ์ได้จากกระดาษของพวกเขา http://www.cs.uchicago.edu/~fortnow/papers/compress.pdf

โดยเฉพาะอย่างยิ่งเมื่อดูหลักฐานของ Thm 3.1 ฉันเชื่อว่าสามารถแยกดังต่อไปนี้ (ฉันจะตรวจสอบอีกครั้งในเร็ว ๆ นี้):

"ทฤษฎีบท" [FS] มีจำนวนเต็มดังที่เป็นจริง สมมติว่าในโพลี - กำหนดเวลาหนึ่งสามารถเปลี่ยน OR ของสูตรบูลีน (แต่ละความยาวและตัวแปรชุด - disjoint) เป็น OR หรือสูตร (อีกตัวแปรผันและ ความยาว ), รักษาความพึงพอใจ / ความไม่พอใจของ OR จากนั้นและลำดับชั้นพหุนามยุบn dn n d n N Pc o N P / p o l y0<d<dndnndnNPcoNP/poly

หลักฐานของการเรียกร้องของเราจะลดลงจากการงานหรือการบีบอัดที่กล่าวถึงในข้างต้นทฤษฎีบท [FS] ปัญหาของรายการคำนวณพี) สมมติว่าเป็นรายการของสูตรที่เราต้องการบีบอัดหรือψ 1 , , ψ n dM(ϕ)ψ1,,ψnd

ขั้นตอนแรก:กำหนดวงจรพหุนามขนาดในสายการป้อนข้อมูลd}) นี่สตริง encodes งานเพื่อและถอดรหัสตัวเลขระหว่างและ d(ΓY ฉันψ ฉันวี{ 0 , 1 } d log n + 1 0 n d(v,y1,,ynd)yiψiv{0,1}dlogn+10nd

เรามียอมรับ IFF ทั้งหรือ1v = 0 ψ v ( y v ) = 1Γv=0ψv(yv)=1

ตอนนี้ให้แทนค่าสูงสุดเช่นวงจร จำกัดเป็นที่พอใจ (ปริมาณนี้มีอย่างน้อย 0 เสมอ)v Γ ( v , , , )M(Γ)vΓ(v,,,)

สมมติว่าเราสามารถผลิตรายการของค่าที่เป็นไปได้สำหรับได้อย่างมีประสิทธิภาพ จากนั้นการอ้างสิทธิ์คือในรายการเราสามารถทิ้งทั้งหมดที่ ; รายการผลลัพธ์จะมีสูตรที่น่าพอใจถ้าหากสูตรดั้งเดิมมีอยู่ ฉันหวังว่านี่จะชัดเจนโดยการตรวจสอบM ( Γ ) ψ 1 , , ψ n d ψ i i SSM(Γ)ψ1,,ψndψiiS

สรุป: เราไม่สามารถสร้างรายการของค่าที่เป็นไปได้สำหรับอย่างน่าเชื่อถือเว้นแต่ว่าลำดับชั้นโพลีจะยุบn d M ( Γ )SndM(Γ)

ขั้นตอนที่สอง:เราลดลงจากปัญหาของรายการคอมพิวเตอร์กับที่ของรายการคอมพิวเตอร์ 3-SAT กรณี\M ( ϕ ) ϕM(Γ)M(ϕ)ϕ

การทำเช่นนี้ครั้งแรกที่เราทำงานลดคุกในที่จะได้รับ 3 SAT เช่นขนาดง) มีการตั้งค่าตัวแปรเช่นเดียวกับพร้อมกับตัวแปรเสริมบางอย่าง สิ่งที่สำคัญที่สุดสำหรับจุดประสงค์ของเราเป็นที่พอใจถ้า ifเป็นที่น่าพอใจΓ m = p o l y ( n d ) ϕ 1 Γ ϕ 1 ( v , ) Γ ( v , )ϕ1m=poly(nd)ϕ1Γϕ1(v,)Γ(v,)

เราเรียกข้อ จำกัด ที่แข็งแกร่ง เราให้แต่ละข้อ จำกัด น้ำหนัก (โดยการเพิ่มข้อ จำกัด ที่ซ้ำกัน) 2 เมตรϕ12m

จากนั้นเราเพิ่มชุดของ 'ข้อ จำกัด ที่อ่อนแอ'ซึ่งเพิ่มการตั้งค่าสำหรับดัชนี (กำหนดไว้ในขั้นตอนที่ 1) ให้สูงที่สุด มีหนึ่งข้อ จำกัด สำหรับแต่ละบิตของคือ1] เราปล่อยให้ -th บิตที่สำคัญที่สุดของมีข้อ จำกัด น้ำหนัก{t-1} เนื่องจากมีความยาวตุ้มน้ำหนักเหล่านี้สามารถรวมเป็นหนึ่งได้ (เราแค่ต้องใช้แพดเพื่อให้มีกำลังเป็น 2) v v tϕ2vvt[ v t = 1 ] t v m / 2 t - 1 v d log n + 1 mv[vt=1]tvm/2t1vdlogn+1m

สุดท้ายให้เป็นผลลัพธ์ของการลดลงของเราϕ=ϕ1ϕ2

ในการวิเคราะห์ให้เป็นชุดตัวแปรของโดยมีเหมือนก่อน สิ่งแรกที่ได้รับมอบหมายให้ใครสามารถสรุปคุณค่าของจากปริมาณ (น้ำหนักรวมของข้อตกลงพอใจกับ ) สิ่งนี้ตามมาจากการออกแบบลำดับชั้นของข้อ จำกัด - น้ำหนัก (คล้ายกับเทคนิคจากคำตอบของ Luca) ในทำนองเดียวกันค่าสูงสุดที่ทำได้ทำได้โดยการตั้งค่าที่สอดคล้องกับข้อ จำกัด ที่แข็งแกร่งทั้งหมดและที่ (ภายใต้หัวข้อนี้)( v , z ) ϕ v ( v , z ) v N ( v , z ) = ϕ v , z M ( ϕ )ϕ(v,z)ϕv(v,z)vN(v,z)=ϕv,z
M(ϕ)v v Γ ( v , ) M ( Γ ) v = Γ ( v , )(v,z)vมีขนาดใหญ่ที่สุด นี้เป็นดัชนีที่ใหญ่ที่สุดที่คือพอใจคือGamma) (หมายเหตุเป็นไปได้เสมอโดยการตั้งค่า all-0 เพื่อตอบสนองข้อ จำกัด ที่แข็งแกร่งทั้งหมดเนื่องจากในกรณีนั้นเป็นที่พอใจ)vΓ(v,)M(Γ)v=Γ(v,)

มันตามมาว่าหากเราได้รับรายการของค่าที่เป็นไปได้ของเราสามารถหารายการของค่าที่เป็นไปของGamma) ดังนั้นเราไม่สามารถมียกเว้นว่าลำดับชั้นโพลียุบ นี้จะช่วยให้การเรียกร้องค่าสินไหมทดแทนตั้งแต่(1)}M ( ϕ ) | S | M ( Γ ) | S | n d n d = m Ω ( 1 )SM(ϕ)|S|M(Γ)|S|ndnd=mΩ(1)

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