มันยากไหมที่จะหาโซ่เสริมที่ดีที่สุด?


20

ห่วงโซ่นอกจากเป็นลำดับของจำนวนเต็มบวกที่และแต่ละดัชนีเรามีดัชนีบาง<i ความยาวของห่วงโซ่นอกจากเป็น ; เป้าหมายของห่วงโซ่นอกจากเป็นx_nฉัน2(x1,x2,,xn)x1=1i2xi=xj+xk1j,k<inxn

สิ่งที่ทราบเกี่ยวกับความซับซ้อนของปัญหาต่อไปนี้: เมื่อกำหนดเป็นจำนวนเต็มความยาวของการเพิ่มห่วงโซ่สั้นที่สุดที่มีเป้าหมายคือคืออะไร มันเป็น NP-hard หรือไม่?NN

วิกิพีเดียชี้ไปที่บทความ 1981 โดย Downey, Leong และ Sethi ที่พิสูจน์ปัญหาที่เกี่ยวข้องดังต่อไปนี้คือ NP-hard: จากชุดจำนวนเต็มความยาวต่ำสุดของห่วงโซ่การเพิ่มที่รวมอยู่ในทั้งชุดคืออะไร เห็นได้ชัดว่าผู้เขียนหลายคนอ้างว่าบทความนี้พิสูจน์ว่าปัญหาเป้าหมายเดียวนั้นยากเกินไป แต่ก็ไม่เป็นเช่นนั้น


2
สองคำถาม:จะได้รับในรูปแบบไบนารีฉันคิดและสามารถและจะเหมือนกัน (ถ้าเป็นเช่นนั้นแล้วมีเสมอลำดับของบันทึกความยาว n ผ่านการขยายตัวไบนารี)Njk
Suresh Venkat

สมมุติว่าถูกกำหนดเป็นไบนารี่ถึงแม้ว่าฉันไม่รู้อัลกอริธึมแบบโพลี - ไทม์ถึงแม้ว่าจะเป็นเอกภาพก็ตาม และใช่อนุญาตให้เพิ่มตัวคุณลงไปได้ - อันที่จริงต้องลงจากพื้นดิน เชนที่สั้นที่สุดสำหรับ 128 คือ (1, 2, 4, 8, 16, 32, 64, 128) NNN
Jeff

คำตอบ:


11

ปัญหาดังกล่าวถูกเปิดในวิทยานิพนธ์ระดับปริญญาเอกของ Eric Lehman "อัลกอริทึมการประมาณสำหรับการบีบอัดข้อมูลที่ใช้ไวยากรณ์" ในปี 2002 จาก p35 ของวิทยานิพนธ์:

"อย่างไรก็ตามวิธีการแก้ปัญหาห่วงโซ่การเติมที่ถูกต้องนั้นยังคงเข้าใจยากวิธี M-ary จะทำงานในเวลา polylog (n) และให้การประมาณ 1 + o (1) อย่างไรก็ตามถึงแม้ว่าจะอนุญาตให้มีเวลาเพิ่มขึ้นแทนก็ตาม n) ไม่รู้จักอัลกอริธึมที่แน่นอน "



1

ฉันต้องการบันทึกความคืบหน้าบางส่วน - ดูเหมือนว่าจะมีแนวโน้มจนถึงขั้นตอนวิธีพหุนาม อัปเดต : เพิ่มรายละเอียดบางอย่างลงในบัญชีสำหรับความผิดพลาดที่ชี้ให้เห็นโดย @David (ขอบคุณ!)

วิธีการคือการลดสิ่งนี้ให้กับอินสแตนซ์ของ CSPs ของ MIN-ONES-EVEN-3 (MOEC) ซึ่งเป็นปัญหาที่แก้ได้ในพหุนาม หลักฐานการลดลงนั้นค่อนข้างคลุมเครือ แต่ฉันหวังว่ามันจะมีอยู่จริง!

ตัวอย่างของ MOEC เป็นครอบครัวส่วนย่อย -sized ของจักรวาลของตัวแปรและจำนวนเต็มk คำถามก็คือว่ามีการกำหนดน้ำหนักที่น่าพอใจอย่างมากที่k หรือไม่โดยที่การมอบหมายนั้นเป็นฟังก์ชันจากเอกภพถึง{ 0 , 1 }น้ำหนักของการมอบหมายนั้นคือจำนวนของตัวแปรที่จะกำหนดหนึ่งและการมอบหมายคือ พอใจถ้าสำหรับทุกชุดย่อยของตัวแปร{ x , y , z } , การมอบหมาย (พูดf ) มีคุณสมบัติที่:3kk{0,1}{x,y,z}f

)f(x)+f(y)+f(z)=0(mod  2)

คุณสามารถมองเห็นสิ่งนี้เป็น 3-SAT ด้วยแนวคิดที่แตกต่างของความพึงพอใจ - เลือกไม่มีหรือเลือกสอง ฉันจะเป็นหละหลวมเล็กน้อยเกี่ยวกับตัวอย่างของ MOEC ในการที่เราจะอนุญาตให้มีการนอกเหนือจากปกติ -subsets กระทบ disjunctions ของความยาวสองและข้อ จำกัด( x = 1 ) ฉันเชื่อว่าการเพิ่มเติมอย่างง่ายเหล่านี้จะทำให้เวลาพหุนามมีปัญหา3(x=1)

สมมติว่าเรากำลังลดปัญหาห่วงโซ่นอกจากนี้สำหรับจำนวนnชุดตัวแปรสำหรับการลดลงนี้มีดังต่อไปนี้:n

ทุก ๆตัวแปรNฉัน ฉันจะเขียนตัวแปรN nเป็นNอีกครั้ง สำหรับคู่ทุกฉัน, เจดังกล่าวที่1 ฉัน, เจkแนะนำตัวแปรP ฉันเจและถามฉันเจ 1inNiNnNi,j1i,jkPijQij

แนะนำเซตย่อยต่อไปนี้สำหรับทุก ๆเช่นนั้นk = i + j :i,j,kk=i+j

{Pij,Qij,Nk}

และผลกระทบต่อไปนี้:

และ P ฉันjN jPijNiPijNj

และข้อ จำกัด ดังต่อไปนี้:

)(N1=1),(N=1)

ในที่สุดเราจำเป็นต้องเพิ่มข้อ จำกัด เพื่อให้แน่ใจว่าอย่างน้อยหนึ่งใน Variable จะถูกเลือกเมื่อมีการกำหนด " N " ที่สอดคล้องกัน(ให้อภัยการใช้สัญลักษณ์ในทางที่ผิด) ซึ่งสามารถทำได้โดยการเพิ่มปกติหรือข้อ จำกัด มากกว่าทุกP ฉันเจดังกล่าวว่าฉัน+ JรวมไปN -variable ในคำถาม อย่างไรก็ตามเราต้องค้นหาวิธีการเข้ารหัสสิ่งนี้อีกครั้งใน MOEC-frameworkPNPiji+jN

ขอผมร่างวิธีพูดโดยทั่วไปโดยกำหนดชุดตัวแปร:

,(X,l1,l2,,lt)

วิธีการ จำกัด "ถ้าการมอบหมายเป็นที่น่าพอใจและตั้งค่าเป็นหนึ่งจากนั้นแน่นอนหนึ่งในl ฉันจะต้องถูกตั้งค่าเป็นหนึ่งโดยการมอบหมาย" สามารถเข้ารหัสด้วยไวยากรณ์ MOEC โปรดทราบว่าสิ่งนี้เพียงพอสำหรับความต้องการของเราเราเพียงแค่แนะนำข้อ จำกัด :Xli

)(Nk,{Pij | i+j=k})

การเข้ารหัสจะทำดังนี้ ให้เป็นที่ฝังรากต้นไม้ไบนารีที่สมบูรณ์แบบบนเสื้อใบ แนะนำใหม่ตัวแปรT d ฉันทั้งหมด1 d เข้าสู่ระบบTและ1 ฉันL ( d )ที่L ( d )หมายถึงจำนวนโหนดของT Xที่ระดับความลึกdTXtTdi1dlogt1iL(d)L(d)TXd

สำหรับทุกโหนดถ้าpและqเป็นลูกของมันในต้นไม้แนะนำข้อ จำกัด EVEN-3:Tdipq

{Tdi,p,q}

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

และ ( d log t , j ) l j (เครื่องหมายจุลภาคเพื่อความชัดเจน)(XT11)(dlogt,j)lj

การรวมกันของข้อ จำกัด EVEN-3 และนัยนี้เทียบเท่ากับข้อ จำกัด ที่เราต้องการเข้ารหัส

สิ่งที่เกิดขึ้นก็คือข้อ จำกัด สองข้อสุดท้ายนั้นก่อให้เกิดปฏิกิริยาที่จำเป็นต่อการสร้างห่วงโซ่เพิ่มเติม โดยเฉพาะอย่างยิ่งให้เราดูที่ของที่ได้รับมอบหมายหนึ่งโดยการกำหนดความพึงพอใจ - การเรียกร้องที่พวกเขาจะเป็นห่วงโซ่นอกจากนี้สำหรับN : ตั้งแต่ได้รับมอบหมายถูกบังคับให้ต้องตั้งยังไม่มีการอย่างใดอย่างหนึ่งจะต้องมีอย่างน้อย หนึ่งP i jที่ถูกตั้งค่าเป็นหนึ่งและความหมายบังคับN ฉันและN jNiNNPijNiNjที่จะได้รับมอบหมายและสิ่งนี้ลงไปจนหมด (ฉันแน่ใจว่านี่จะเป็นทางการด้วยการเหนี่ยวนำแม้ว่าฉันจะยังไม่ได้ทำรายละเอียดในระดับนั้น) โปรดทราบว่าการมอบหมาย satsifying ที่ดีที่สุดในจำนวนของคนที่ได้รับมอบหมายจะไม่ได้ตั้งค่าจริงสำหรับสองคู่( r , s )และ( r , s )ด้วยเหตุผลที่P -variables มาพร้อมกับเพิ่มเติม สัมภาระของความหมายและQ-แปรปรวนไม่ได้ (พวกเขาอยู่ที่นั่นเพื่อให้แน่ใจว่าน่าพอใจ EVEN-3 - ในประโยคที่N ฉันเป็นจริงและPPij(r,s)(r,s)PQNiไม่เป็นความจริงเรายังต้องเลือกบางสิ่งบางอย่างเพื่อตอบสนองข้อนั้นและด้วยเหตุผลที่ง่ายต่อการมองเห็นสิ่งนี้ไม่สามารถเป็นตัวแปรสากลหนึ่งข้ามข้อ)Pij

ดังนั้นฉันเชื่อว่าห่วงโซ่เพิ่มเติมสอดคล้องกับการมอบหมายที่น่าพอใจและในทางกลับกัน ผมขออธิบายส่วนหนึ่งของเรื่องนี้ค่อนข้างอย่างเป็นทางการ: รับห่วงโซ่นอกจากนี้เราสร้างงานที่มีความพึงพอใจ เพื่อเริ่มต้นกับทุกชุดN ฉัน 's คุณลักษณะในห่วงโซ่ที่หนึ่งและอื่น ๆ ที่ไม่มีฉัน ' s ให้เป็นศูนย์ ต่อไปหากkให้บริการในห่วงโซ่นอกจากนี้แล้วสำหรับแต่ละN kให้ฉันk , เจkเป็นองค์ประกอบในห่วงโซ่ดังกล่าวว่าฉันk + J k = J จากนั้นตั้งค่าfffNiNikNkik,jkik+jk=jfกับหนึ่ง (และ Q ฉันk J k ศูนย์) และทั้งหมด ( ฉัน, J )เช่นที่ฉันฉันkและเจเจkและฉัน+ J = k ,ชุด Q ฉันเจให้เป็นหนึ่ง (และ P ฉันjถึงศูนย์) สำหรับทุก kที่ไม่ได้มีบทบาทสำคัญในห่วงโซ่นอกจากนี้สำหรับทุกฉัน, เจดังกล่าวว่าฉันPikjkQikjk(i,j)iikjjki+j=kfQijPijki,j , ตั้งค่าทั้งหมด Q i jและ P i jเป็นศูนย์ (โปรดสังเกตว่าความสอดคล้องเป็นไปตามจากความจริงที่ว่าตัวเลขสองตัวบวกกันในทางเดียวเท่านั้น) ประโยคทั้งหมดที่เกี่ยวข้องกับ N ฉันในห่วงโซ่เป็นที่พอใจเพราะตัวแปร P หรือตัวแปร Q ที่สอดคล้องกับมันถูกตั้งค่าเป็นหนึ่ง (และสังเกตว่าหนึ่งในนั้นถูกตั้งค่าเป็นหนึ่งสำหรับคู่ใด ๆ ( i , j ) ) สำหรับประโยคอื่น ๆ ทุกอย่างทุกอย่างถูกตั้งค่าเป็นศูนย์ ความหมายของการถือนั้นง่ายต่อการตรวจสอบi+j=kQijPijNi(i,j)

ส่วนที่ยังไม่ชัดเจนคือต่อไปนี้: เพราะทุกองค์ประกอบได้รับการแต่งตั้งในห่วงโซ่นอกจากนี้การกำหนด incurs น้ำหนักของเสื้อ (เพราะทุกQ -variables เป็นชุดเดียว) ดังนั้นจึงมีความเป็นไปได้ที่ห่วงโซ่เพิ่มเติมที่ยาวกว่าจะสอดคล้องกับการมอบหมายที่ถูกกว่า แต่ฉันค่อนข้างแน่ใจว่าสิ่งนี้จะไม่เกิดขึ้นเพราะมีการพิสูจน์ตามบรรทัดต่อไปนี้: พิจารณาห่วงโซ่การเพิ่มที่เหมาะสมที่สุดและสมมติว่า การมอบหมายที่น่าพึงพอใจซึ่งมีน้ำหนักน้อยกว่านั้นสอดคล้องกับมัน เห็นได้ชัดว่าองค์ประกอบของห่วงโซ่ยาวไม่รวมอย่างน้อยหนึ่งจากที่สั้นกว่าหนึ่ง - ให้องค์ประกอบที่เป็นx ฉันอยากจะบอกว่าค่าใช้จ่ายที่เกิดขึ้นกับxttQxxเกิดขึ้นในห่วงโซ่อีกต่อไปและที่เหลือเปรียบเทียบอยู่ในเกณฑ์ดี อย่างไรก็ตามฉันต้องเขียนมันอย่างระมัดระวังและฉันอาจจะได้เห็นสิ่งต่าง ๆ จากโรคหลังเที่ยงคืน!


1
หากใช้งานได้ดูเหมือนว่าจะยังคงเป็นเวลาเอ็กซ์โพเนนเชียล (เมื่อ N แสดงเป็นเลขฐานสอง) เนื่องจากจำนวนของตัวแปรเป็นสัดส่วนกับ N ^ 2 มากกว่า polylog (N)
David Eppstein

อาใช่ฉันควรจะเน้นว่า ฉันกำลังคิดถึงทำตามคำพูดของ @ JeffE ว่าแม้จะไม่ชัดเจนก็ตาม ฉันวางแผนที่จะคิดเกี่ยวกับการลดขนาดอินสแตนซ์ต่อไป แต่ในขณะนี้มีความกระตือรือร้นในการทำให้แน่ใจว่าสิ่งนี้ดี ถ้าเป็นเช่นนั้นฉันคิดว่ามีห้องเหลือเฟือสำหรับการปรับปรุง คุณจะพบวิธีการที่เหมาะสมหรือไม่? N
Neeldhara

ฉันไม่เห็นว่าข้อ จำกัด ที่คุณอธิบายบังคับให้โซลูชันนั้นถูกต้องอย่างไร อะไรที่ทำให้คุณไม่สามารถตั้งค่า P_ij = 0 และ Q_ij = 1 สำหรับ i + j = n ทั้งหมดและ P_ij = Q_ij = 0 สำหรับส่วนอื่น ๆ ทั้งหมด i, j?
David Eppstein

ขอบคุณที่ลุยกันเลย! และใช่คุณพูดถูก ผมหมายถึงการเพิ่มข้อ จำกัด ที่กล่าวว่าการใด ๆ ที่ 's นัยหนึ่งที่เกี่ยวข้องP ฉันJ ' s แต่รู้ว่ามันแรงขึ้นซับซ้อนของอินสแตนซ์ในโดเมนชุดตีและในขณะที่ผมหมายถึงการแก้ไขปัญหานั้น ฉันคิดว่าฉันลืมมันแทน ฉันได้อัปเดตคำตอบด้วยการแก้ไขที่เป็นไปได้มันเป็นเพียงการก่อสร้างที่น่าเบื่อเล็กน้อย (แต่ง่าย) NiPij
Neeldhara
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.