ความซับซ้อนของการคำนวณความเท่าเทียมกันของสูตร CNF ที่อ่านสองครั้งตรงข้าม (


11

ในสูตร CNF ที่อ่านสองครั้งตรงข้ามแต่ละตัวแปรจะปรากฏสองครั้งเมื่อบวกและลบครั้งเดียว

ฉันสนใจในปัญหาซึ่งประกอบด้วยการคำนวณความเท่าเทียมกันของจำนวนที่ได้รับมอบหมายที่น่าพอใจของสูตร CNF ที่อ่านสองครั้งตรงข้าม⊕Rtw-Opp-CNF

ฉันไม่สามารถหาข้อมูลอ้างอิงเกี่ยวกับความซับซ้อนของปัญหาดังกล่าวได้ สิ่งที่ฉันพบได้ใกล้ที่สุดคือรุ่นการนับคือ# P -complete (ดูหัวข้อ 6.3 ในบทความนี้ )#Rtw-Opp-CNF#P

ขอบคุณล่วงหน้าสำหรับความช่วยเหลือของ.


อัปเดต 10 เมษายน 2559

  • ในบทความนี้ปัญหาแสดงเป็น⊕ P-สมบูรณ์อย่างไรก็ตามสูตรที่ผลิตโดยการลดจาก3 SATไม่ได้อยู่ใน CNF และทันทีที่คุณพยายามแปลงกลับเป็น CNF คุณจะได้รับ สูตรอ่านสามครั้ง⊕Rtw-Opp-SAT⊕P3SAT
  • รุ่นเสียงเดียวแสดงเป็น⊕ P-สมบูรณ์ในบทความนี้ ในกระดาษดังกล่าว⊕ RTW-Opp-CNFเป็นที่กล่าวถึงอย่างรวดเร็วในตอนท้ายของมาตรา 4: องอาจกล่าวว่าเป็นคนเลว ไม่ชัดเจนสำหรับฉันว่าความเสื่อมโทรมมีความหมายตรงอะไรและมันไม่ได้บ่งบอกถึงความแข็ง⊕Rtw-Mon-CNF⊕P⊕Rtw-Opp-CNF

อัปเดต 12 เมษายน 2559

มันจะเป็นที่น่าสนใจมากที่จะรู้ว่าใครได้เคยศึกษาความซับซ้อนของปัญหา เมื่อได้รับสูตร CNF ที่อ่านสองครั้งตรงข้ามปัญหาดังกล่าวจะขอให้คำนวณความแตกต่างระหว่างจำนวนของการมอบหมายที่น่าพอใจโดยมีตัวแปรจำนวนคี่ตั้งค่าเป็นจริงและจำนวนของการมอบหมายที่น่าพอใจที่มีจำนวนตัวแปรที่ตั้งค่าเป็นจริง ฉันไม่พบวรรณกรรมใด ๆ เกี่ยวกับมันΔRtw-Opp-CNF


อัปเดต 29 พฤษภาคม 2559

ดังที่เอมิลJebekábekชี้ให้เห็นในความคิดเห็นของเขามันไม่เป็นความจริงที่วาเลียนท์พูดว่าปัญหาแย่ลง เขาเพียง แต่กล่าวว่าปัญหาที่ จำกัด เช่นนี้⊕ Pl-Rtw-Opp-3CNFนั้นแย่ลง ในขณะเดียวกันฉันก็ยังไม่รู้ว่าความเสื่อมนั้นหมายถึงอะไร แต่อย่างน้อยตอนนี้ดูเหมือนชัดเจนว่ามันเป็นคำพ้องความหมายของการขาดพลังการแสดงออก⊕Rtw-Opp-CNF⊕Pl-Rtw-Opp-3CNF


⊕Rtw-Opp-CNF นั้นยากเหมือน⊕Rtw-Mon-CNF คุณสามารถสร้างแกดเจ็ตการปฏิเสธ: (i0 v x0 v x1) (x1 v x2) (i1 v x0 v x2) ถ้า i0 = i1 ดังนั้น weight = 0 (ใน modulo 2) น้ำหนักอื่น = 1

ฉันไม่พบการลดลงของ⊕Rtw-Mon-CNF เป็น⊕Rtw-Opp-CNF แต่ฉันพบอัลกอริทึมแบบพหุนามเพื่อแก้ปัญหา⊕Rtw-Opp-CNF ดังนั้น⊕Rtw-Opp-CNF จึงง่ายกว่า

ฉันไม่สามารถพูดถึง⊕Rtw-Opp-CNF ในเอกสารของ Valiant เขาอ้างว่า⊕Pl-Rtw-Opp-3CNF นั้น "เสื่อม" แต่เกี่ยวข้องกับข้อ จำกัด เพิ่มเติมหลายประการ
— Emil Jeřábek

@ EmilJeřábek: คุณพูดถูก ฉันถูกทำให้เข้าใจผิดโดยไม่รู้ถึงความหมายของ"ความเสื่อม"และฉันใช้การเรียงลำดับของการให้เหตุผลแบบเดียวกับที่ใช้ตามปกติเมื่อมีผลลัพธ์ที่สมบูรณ์: หากปัญหาบางอย่างเสร็จสิ้นในบางคลาส แม้ว่าฉันจะยังไม่ทราบว่า"เสื่อม"หมายถึงอะไร แต่อย่างน้อยตอนนี้ฉันก็ชัดเจนว่าคำดังกล่าวเป็นคำพ้องความอ่อนแอ (เช่นการขาดพลังการแสดงออก) ดังนั้นการใช้เหตุผลดังกล่าวไม่สามารถนำมาใช้ได้ ฉันแก้ไขคำถามให้ถูกต้องแล้ว
— Giorgio Camerani

1
@Maciej: จริงเหรอ? อัลกอริทึมพหุนามของคุณทำงานอย่างไร
— Giorgio Camerani

คำตอบ:


3

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

ให้เป็นสูตร CNF ตรงข้ามอ่านสองครั้ง ไม่มีข้อใดที่มีทั้งตัวแปรและการปฏิเสธของมันϕ

พิจารณากราฟมีชุดจุดสุดยอดเป็นคำสั่งของφและสำหรับแต่ละตัวแปรxเราเพิ่ม (ไม่มีทิศทาง) ขอบที่เป็นเหตุการณ์ที่เกิดขึ้นในสองประโยคที่มีx สมมติฐาน WLOG ของเราในϕกล่าวว่ากราฟนี้ไม่มีการวนซ้ำในตัวเอง ยิ่งกว่านั้นให้คิดถึงการติดฉลากแต่ละขอบโดยตัวแปรที่กำหนดไว้ วิธีนี้เราสามารถแยกความแตกต่างระหว่างขอบขนานGϕxxϕ

การปฐมนิเทศของเป็นกราฟที่มีขอบที่จะเกิดขึ้นโดยการกำหนดทิศทางให้กับแต่ละขอบในG เรียกการวางแนวของG ที่ยอมรับได้ถ้าจุดสุดยอดของGทุกอันมีขอบออก มันเป็นเรื่องง่ายที่จะเห็นว่าความพึงพอใจที่ได้รับมอบหมายเพื่อφอยู่ในการติดต่อ bijective กับทิศทางที่ยอมรับของGGGG GϕG

ตอนนี้ฉันอ้างว่าจำนวนทิศทางที่ยอมรับได้ของคือเท่ากัน อาร์กิวเมนต์คือ "by involution": ฉันสร้าง map Φด้วยคุณสมบัติต่อไปนี้:GΦ

  1. มีการกำหนดไว้อย่างสมบูรณ์ (การปฐมนิเทศที่ยอมรับได้ถูกแมปไว้ที่ไหนสักแห่ง)Φ
  2. ส่งการหมุนที่ยอมรับได้ไปยังการหมุนที่ยอมรับได้Φ
  3. ΦΦ∘Φ
  4. Φ

ΦG

ΦG→G→ΦG→

  1. ทุกกราฟที่กำกับสามารถแบ่งพาร์ติชันเป็นส่วนประกอบที่เชื่อมต่ออย่างยิ่ง
  2. G→Φ(G→)ΦΦ(G→)G
  3. Φ(G→)G→
  4. G→

สังเกตที่ดี! วิธีที่ง่ายกว่าในการมองเห็นสิ่งนี้ (ดังที่คุณพูดว่า "กำจัดคำศัพท์เชิงทฤษฎี - กราฟ") คือการสังเกตว่าถ้าการมอบหมายเป็นไปตาม F แล้วการมอบหมาย a '(x) = 1-a (x) ก็เป็นที่พอใจ F เช่นกัน สิ่งนี้สามารถแสดงได้อย่างง่ายดายโดยการเหนี่ยวนำกับจำนวนตัวแปรของ F.
— holf

Φ0→1→2→0→3→10→1→2→00→3→1→0

x¬x∨y∨¬z¬y∨z(1,1,1)(0,0,0)

ΦMxyxxyM

@Emil: อ่าใช่คุณพูดถูก ถ้าฉันเข้าใจคำแนะนำของคุณถูกต้องคุณกำลังบอกว่าแบ่งการวางแนวเป็นส่วนประกอบที่เชื่อมต่ออย่างยิ่งและย้อนกลับขอบภายในส่วนประกอบ ฉันคิดว่ามันใช้งานได้ ฉันจะอัปเดตคำตอบของฉันตาม ขอบคุณมาก!!
— Andrew Morgan

0

ฉันไม่แน่ใจว่าแนวคิดของฉันเป็นที่เข้าใจหรือไม่ดังนั้นฉันจะอธิบายตัวอย่างของ Giorgio:

(x1∨x2∨x3)∧(¬x1∨¬x3∨x4)∧(¬x4∨x5)∧(¬x2∨¬x5∨¬x6)

ก่อนอื่นฉันต้องเปลี่ยนสิ่งนี้ในรูปแบบ DNF:

(x1∧x2∧x3)∨(¬x1∧¬x3∧x4)∨(¬x4∧x5)∨(¬x2∧¬x5∧¬x6)

นี่ควรให้คำตอบเดียวกัน และไม่ว่าฉันจะคำนวณจำนวนโมดูโล 2 สำหรับวิธีนี้:

(x1∧x2∧x3)∨(¬x1∧¬x3∧x4)∨(¬x4∧x5)∨(¬x2∧¬x5∧¬x6)

หรือสำหรับสิ่งนี้:

(x1∧x2∧x3)∨(¬x1∧¬x3∧x4)∨(¬x4∧x5)∨(¬x2∧¬x5∧¬x6)

ดังนั้นฉันเลือกที่สอง ฉันมีรากฟันเทียม:

i0(x1∧x2∧x3)

i1(¬x1∧¬x3∧x4)

i2(¬x4∧x5)

i3(¬x2∧¬x5∧¬x6)

ตอนนี้ฉันกำลังสร้างระบบสมการ:

j0⊕j1=1

j0⊕j3=1

j0⊕j1=1

j2⊕j3=1

j3=1

x6


หากความคิดของฉันเป็นปกติคำตอบคือ "ไม่" แน่นอนฉันคิดว่าตัวแปรเกิดขึ้นครั้งเดียวในเชิงบวกและอีกครั้งในการปฏิเสธ
— Maciej

x4j1⊕j2j3j2j1j0

-1

⊕Rtw-Opp-CNFf(X)⊕g(X)f(X)∧g(X)f(X)g(X)

i0⊕i1⊕i2⊕...⊕in−1

ijx0∧x1∧¬x2

2ki0⊕i1⊕i2⊕...⊕in−1

i0∨i1∨i2∨...∨in−1

a∨b=a⊕b⊕(a∧b)

1) มีตัวแปรทั้งหมด

2) ทุกตัวแปรเกิดขึ้น exacly หนึ่ง (ถ้าตัวแปรเกิดขึ้นสองครั้งจากนั้นเรามีค่าบวกและลบใน implicant เดียวดังนั้นสิ่งนี้จะให้เป็น 0)

x0i0x0i1

j0⊕j1=1

j0j1i0i1i0j0j02l


⊕Rtw-Opp-CNF

@AndrewMorgan แต่สูตรที่มีประโยคที่ไม่ซ้ำกันที่มีตัวแปรทั้งหมดเพียงครั้งเดียวจะไม่เป็นสูตรอ่านสองครั้ง ข้อ จำกัด คือว่าสองครั้งไม่ได้ที่มากที่สุดเป็นครั้งที่สอง
— Giorgio Camerani

x6(x1∨x2∨x3)∧(¬x1∨¬x3∨x4)∧(¬x4∨x5)∧(¬x2∨¬x5∨¬x6)x6

(x1∨x2)∧(x1¯)∧(x2¯)(x1∨x2)∧(x1¯∨x2¯)(x1)∧(x1¯)∧(x2)∧(x2¯)

@AndrewMorgan ตกลงตอนนี้ฉันเห็น อย่างไรก็ตามให้พิจารณาว่าในกรณีที่คุณหมายถึงจำนวนการมอบหมายที่น่าพอใจก็ยังคงเหมือนเดิม คำถามที่ถูกวางโดย Maciej ในความคิดเห็นของเขากลายเป็นเรื่องท้าทาย
— Giorgio Camerani
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.