มีอัลกอริทึมเชิงเส้นเวลาแบบไม่กำหนดสำหรับ CNF-SAT หรือไม่?


19

ปัญหาการตัดสินใจของ CNF-SAT สามารถอธิบายได้ดังต่อไปนี้:

อินพุต:สูตรบูลีนในรูปแบบปกติซึ่งเชื่อมต่อกันϕ

คำถาม:จะมีอยู่การกำหนดตัวแปรที่ตอบสนอง ?ϕ

ฉันกำลังพิจารณาแนวทางที่แตกต่างกันสำหรับการแก้ CNF-SAT ด้วยเครื่องทัวริงสองเทปที่ไม่สามารถกำหนดค่าได้

ผมเชื่อว่ามี NTM ที่แก้ CNF-SAT ในขั้นตอนnpoly(log(n))

คำถาม:มี NTM ที่สามารถแก้ CNF-SAT ในขั้นตอนได้หรือไม่?O(n)

การอ้างอิงที่เกี่ยวข้องใด ๆ ที่ได้รับการชื่นชมแม้ว่าพวกเขาจะให้แนวทางเชิงเส้นที่ไม่ใช่เวลาที่กำหนด


5
Santhanam ในปี 2544 เขียนว่า: "SAT NTIME ( n polylog ( n ) ), ผลลัพธ์ที่ตามมาจากข้อเท็จจริงที่ว่า SAT สามารถได้รับการยอมรับในเวลาn polylog ( n )ใน NRAM และมีการจำลอง NRAMs ที่มีประสิทธิภาพโดย NTMs เนื่องจาก Gurevich และ Shelah " ดังนั้นจึงดูเหมือนว่าไม่น่ากับผมว่า SAT ntime ( n ) เป็นที่รู้จักกัน (อ้างอิงถึง LNCS 363 จากปี 1989)n(n)n(n)n
András Salamon

5
@Boson สมมติว่าคุณได้รับไม่ใช่แค่การมอบหมายที่น่าพอใจ แต่ยังเป็นการคำนวณสูตรที่สมบูรณ์ คุณจะตรวจสอบว่ามันเป็นการคำนวณที่ถูกต้องในเวลาเชิงเส้นหรือไม่? ยังไม่ชัดเจนแม้คุณสามารถทำได้เพื่อ 3CNF-SAT เพราะคุณต้องข้ามไปรอบ ๆ เพื่อค้นหาการกำหนดค่าให้กับตัวแปร
Kaveh

4
@Boson มันไม่ชัดเจนถ้าคุณสามารถตรวจสอบได้ว่าการมอบหมายเป็นไปตามสูตรในเวลาเชิงเส้นด้วยสองเทป TM คุณอาจต้องย้ายหัวเทปไปมาหลายครั้ง หากคุณมีวิธีการที่มีประสิทธิภาพสำหรับการตรวจสอบนี้โปรดแจ้งให้เราทราบ :)
Michael Wehar

5
ข้อควรทราบ: หากตัวแปรมีการแสดงในเอกนารี (SAT ยังคงเป็น NPC) แสดงว่ามีสองเทป NTM ที่รับรู้สูตรที่น่าพึงพอใจแบบเอกภาพใน2 | φ | ขั้นตอนφ2|φ|
Marzio De Biasi

3
@MichaelWehar หากคุณใช้การเรียงลำดับการนับคุณสามารถเรียงลำดับปุ่ม n ในช่วง [0, k] ในเวลา O (n + k) ในรูปแบบการเข้าถึงแบบสุ่มที่สมเหตุสมผล (เช่นเครื่องเข้าถึงทัวริงแบบสุ่มซึ่งคุณสามารถใช้ O (บันทึก) n) เวลาที่จะเขียนดัชนีจากนั้นสามารถข้ามไปที่ดัชนีของเทปใน 1 ขั้นตอน) หากคุณเข้ารหัสแต่ละตัวอักษรเป็นสตริงบิต (log n + 1) จำนวนคำสั่งและตัวแปรทั้งหมดจะอยู่ที่ O มากที่สุด (n / log n) ซึ่งในกรณีนี้การดำเนินการ O (log n) - ในตัวอักษรทั้งหมด เป็นเรื่องปกติ การขยายไปยังสองเทป TM นั้นไม่ได้ตรงไปตรงมาอย่างน้อยก็มีการเรียงลำดับการนับ
Ryan Williams

คำตอบ:


5

นี่เป็นเพียงความคิดเห็นเพิ่มเติม ไม่กี่ครั้งที่ผ่านมาฉันถาม (ตัวเอง :-) มัลติทาสก์แบบ NTT ที่รับภาษา NP-complete ที่เข้ารหัสได้อย่างรวดเร็ว ฉันมากับความคิดนี้:

3-SAT ยังคง NP-complete แม้ว่าตัวแปรจะแสดงใน unary โดยเฉพาะอย่างยิ่งเราสามารถแปลงประโยค - สมมติว่า - ของพลสูตร 3-SAT φบนnตัวแปรและคำสั่งในลำดับของตัวละครมากกว่าตัวอักษรΣ = { + , - , 1 }ซึ่งเกิดขึ้นทุกตัวแปรที่แสดงใน unary:(xi¬xjxk)φnmΣ={+,,1}

+1i0,1j,+1k

ตัวอย่างเช่นสามารถแปลงเป็น:(x2x3+4)

+110-1110+11110

ดังนั้นเราจึงสามารถแปลงสูตร 3-SAT ในสตริงที่เทียบเท่าU ( φ i )เชื่อมประโยคของมัน ภาษาL U = { U ( φ i ) φ i3 - S A T }คือ NP-completeφiU(φi)LU={U(φi)φi3SAT}

NTM 2 เทปสามารถตัดสินใจได้ว่าสตริงในเวลา2 | x | ทางนี้.xLU2|x|

  • หัวแรกสแกนอินพุตจากซ้ายไปขวาและด้วยตรรกะภายในจะติดตามเมื่อเข้าหรือออกจากประโยคหรือถึงจุดสิ้นสุดของสูตร เมื่อใดก็ตามที่พบหรือ-หัวที่สองเริ่มเคลื่อนไหวที่เหมาะสมกับมันใน1 ฉันที่แสดงถึงxฉัน ในตอนท้ายของ1 i , ถ้าหัวที่สองอยู่บน0มันจะเดาค่าความจริง+หรือ- (มันทำการมอบหมาย) และเขียนลงบนเทปที่สอง; หากพบว่า+หรือ-จากนั้นตัวแปรนั้นได้รับการกำหนดค่าแล้ว+1ixi1i0++
  • ในทั้งสองกรณีโดยใช้ตรรกะภายใน NTM ตรงกับค่าความจริงภายใต้หัวสอง (ที่ได้รับมอบหมาย) ที่เห็นครั้งสุดท้ายหรือ- ; หากพวกเขาตรงกันแล้วข้อก็พอใจ+
  • จากนั้นส่วนที่สองสามารถกลับไปที่เซลล์ขวาสุด;
  • ด้วยตรรกะภายใน NTM สามารถติดตามได้หากคำสั่งทั้งหมดมีความพึงพอใจในขณะที่ส่วนหัวแรกเคลื่อนไปที่ส่วนท้ายของอินพุต

ตัวอย่าง:

Tape 1 (formula)    Tape 2 (variable assignments)
+110-1110+11110...  0000000000000...
^                   ^
+110-1110+11110...  0000000000000...
 ^                  ^
+110-1110+11110...  0000000000000...
  ^                  ^
+110-1110+11110...  0+00000000000... first guess set x2=T; matches +
  ^                  ^               so remember that current clause is satisfied
+110-1110+11110...  0+00000000000... 
  ^                  ^
...
+110-1110+11110...  0+00000000000... 
    ^               ^
...
+110-1110+11110...  0++0000000000... second guess set x3=T
       ^              ^              don't reject because current
                                     clause is satisfied (and in every
                                     case another literal must be parsed)

เวลาสามารถลดลงเป็นหากเราเพิ่มสัญลักษณ์ที่ซ้ำซ้อนลงในการแสดงคำสั่งย่อย:|x|

+1i0i,1j0j,+1k0k...+++

+++

0i+++++


1
vv2

2
2n

1
vv1

1
2ncnc

1
Θ(nn)Ω(n2/(logn)1+ε)O(n3/(logn)ε)

2

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

REG o(nlog(n))o(nlog(n))


5
ทฤษฎีบทนั้นเป็นเพียงเครื่องจักรทัวริงหัวเดียว(ตัวอย่างเช่นเครื่องทัวริงสองหัวสามารถตัดสินใจภาษา Palindromeในเวลาเชิงเส้นและพื้นที่คงที่ได้อย่างง่ายดาย)

มันเยี่ยมมาก! ขอบคุณมาก. แต่ฉันสนใจมากที่สุดในกรณีสองเทป :)
Michael Wehar

2
ในฐานะ @Ricky เขียน AFAIK ยังคงสอดคล้องกับสิ่งที่เรารู้ว่า SAT อยู่ในช่วงเวลาเชิงเส้น ในการพิสูจน์ว่าเป็นอย่างอื่นคุณจะต้องใช้เวลาขั้นต่ำสุดสำหรับ SAT และเราไม่มีเลย (ดูเหมือนจะไม่ใกล้เคียงกัน)
Kaveh
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.