(ขอบคุณ Gilad Barkan มาก (גלעדברקן) ที่ทำให้ฉันตระหนักถึงการสนทนานี้)
ให้ฉันแบ่งปันความคิดของฉันเกี่ยวกับปัญหานี้จากมุมมองทางทฤษฎีล้วนๆ (โปรดทราบว่าฉันยังใช้ "factor" แทน "subword")
ฉันคิดว่าคำจำกัดความที่เป็นทางการเพียงพอของปัญหา (หรือปัญหา) ที่พิจารณาที่นี่คือต่อไปนี้:
เมื่อได้คำแล้วให้ค้นหาคำว่า u_1, u_2, ... , u_k แบบนั้น
- u_i! = u_j สำหรับทุก ๆ i, j ที่มี 1 <= i <j <= k และ
- u_1 u_2 ... u_k = w
ชุดตัวแปรสูงสุด (เราต้องการ u_i หลายตัว): เพิ่ม k
ตัวแปรลดขนาด (เราต้องการ u_i สั้น): ย่อขนาดสูงสุด {| u_i | : 1 <= i <= k}
ปัญหาเหล่านี้กลายเป็นปัญหาในการตัดสินใจโดยการให้ B ที่ถูกผูกไว้ซึ่งตามที่เรากำลังพูดถึง "หลายปัจจัย" - ตัวแปรหรือ "ปัจจัยสั้น" - แปรปรวนเป็นขอบเขตล่างบน k (เราต้องการอย่างน้อย B ปัจจัย) หรือขอบเขตบนสูงสุด {| u_i | : 1 <= i <= k} (เราต้องการตัวคูณความยาวไม่เกิน B) ตามลำดับ สำหรับการพูดคุยเกี่ยวกับความกระด้าง NP เราจำเป็นต้องพูดถึงปัญหาการตัดสินใจ
ลองใช้คำว่า SF สำหรับ "ปัจจัยระยะสั้น" - ตัวแปรและ MF สำหรับ "ปัจจัยหลายอย่าง" - ตัวแปร โดยเฉพาะอย่างยิ่งและนี่คือจุดสำคัญจริง ๆ ปัญหาถูกกำหนดในลักษณะที่เราได้คำเหนือตัวอักษรบางตัวที่ไม่ถูก จำกัด รุ่นของปัญหาคือเรารู้เบื้องต้นว่าเราป้อนเฉพาะคำพูดพูดตัวอักษร {a, b, c, d} เป็นปัญหาอื่น! NP-hardness ไม่ได้ดำเนินการโดยอัตโนมัติจาก "ไม่ จำกัด " ถึง "ตัวอักษรคงที่" ตัวแปร (หลังอาจง่ายกว่า)
ทั้ง SF และ MF เป็นปัญหาที่สมบูรณ์แบบของ NP สิ่งนี้แสดงใน [1, 1b] และ [2] ตามลำดับ (ตามที่ Gilad ได้ชี้ไปแล้ว) ถ้าฉันเข้าใจคำนิยามปัญหาอย่างไม่เป็นทางการที่นี่ในตอนต้นของการสนทนานี้อย่างถูกต้องแสดงว่าปัญหาของการสนทนานี้เป็นปัญหา MF อย่างแท้จริง ในตอนแรกมันไม่ได้กล่าวถึงว่าคำที่ถูก จำกัด ให้มาจากตัวอักษรคงที่บางส่วนในภายหลังมีการกล่าวกันว่าเราสามารถสันนิษฐานได้ว่ามีการใช้ตัวอักษรตัวพิมพ์เล็กเท่านั้น หากนี่หมายความว่าเราจะพิจารณาเฉพาะคำที่ใช้ตัวอักษรคงที่ {a, b, c, ... , z} ดังนั้นสิ่งนี้จะเปลี่ยนไปมากในแง่ของความกระด้าง NP
การมองอย่างใกล้ชิดเผยให้เห็นความแตกต่างของความซับซ้อนของ SF และ MF:
- paper [1, 1b] แสดงให้เห็นว่า SF ยังคง NP สมบูรณ์ถ้าเรากำหนดตัวอักษรให้เป็นเลขฐานสอง (แม่นยำยิ่งขึ้น: ได้คำด้วยตัวอักษร a และ b และขอบเขต B) เราสามารถแยกตัวประกอบในความยาวที่แตกต่างกันได้ที่ มากที่สุด B?)
- กระดาษ [1, 1b] แสดงให้เห็นว่า SF ยังคงสมบูรณ์ NP หากเราแก้ไขขอบเขต B = 2 (แม่นยำยิ่งขึ้น: ได้คำ w เราสามารถแยกตัวประกอบในความยาวแตกต่างกันได้ไม่เกิน 2)
- paper [3] แสดงให้เห็นว่าหากทั้งตัวอักษรและขอบเขต B ได้รับการแก้ไขแล้ว SF สามารถแก้ไขได้ในเวลาพหุนาม
- กระดาษ [2] แสดงว่า MF นั้นสมบูรณ์แล้ว แต่ถ้าตัวอักษรไม่ได้ถูก จำกัด หรือคงที่มาก่อน! โดยเฉพาะอย่างยิ่งมันไม่ได้ตอบคำถามหากปัญหานั้นเกิดจากปัญหา NP-complete ถ้าเราพิจารณาเพียงแค่ใส่คำศัพท์ที่มีตัวอักษรตายตัวบางตัวเท่านั้น (ตามปกติในกรณีของการตั้งค่าภาคปฏิบัติ)
- กระดาษ [3] แสดงให้เห็นว่า MF สามารถแก้ไขได้ในเวลาพหุนามหากขอบเขต B ถูก จำกัด ขอบเขตบนอีกครั้งโดยค่าคงที่เช่นปัญหาอินพุตคือคำและขอบเขต B จาก {1, 2, ... , K} ที่ K คือค่าคงที่คงที่
ความคิดเห็นบางส่วนเกี่ยวกับผลลัพธ์เหล่านี้: Wrt (1) และ (2) เป็นที่ชัดเจนโดยสัญชาตญาณว่าถ้าตัวอักษรเป็นเลขฐานสองดังนั้นเพื่อทำให้ปัญหา SF ยากลำบากขอบเขต B ก็ไม่สามารถแก้ไขได้เช่นกัน ในทางกลับกันการแก้ไข B = 2 หมายความว่าขนาดตัวอักษรจะต้องมีขนาดค่อนข้างใหญ่เพื่อผลิตอินสแตนซ์ที่ยาก ผลที่ตามมาคือ (3) ค่อนข้างเล็กน้อย (ในความเป็นจริง [3] พูดได้มากกว่านี้เล็กน้อย: เราสามารถแก้ไขได้ในเวลาทำงานไม่เพียง แต่พหุนาม แต่ยัง | w | ^ 2 เท่าของปัจจัยที่ขึ้นอยู่กับขนาดตัวอักษรเท่านั้น และ B) (5) ก็ไม่ยากเช่นกัน: ถ้าคำของเรายาวเมื่อเทียบกับ B เราจะได้การแยกตัวประกอบที่ต้องการเพียงแค่ตัดเป็นปัจจัยที่มีความยาวต่างกัน ถ้าไม่เช่นนั้นเราสามารถบังคับความเป็นไปได้ทั้งหมดซึ่งเป็นเลขชี้กำลังใน B เท่านั้นซึ่งในกรณีนี้ถือว่าเป็นค่าคงที่
ภาพที่เรามีดังต่อไปนี้: SF ดูยากขึ้นเพราะเรามีความแข็งแม้สำหรับตัวอักษรคงที่หรือสำหรับการแก้ไขค่าคงที่ B ปัญหา MF ในทางกลับกันได้รับโพลีเวลาแก้ไขถ้าขอบเขตถูกแก้ไข (ใน เรื่องนี้มันง่ายกว่า SF) ในขณะที่คำถามที่สอดคล้องกัน WRT ขนาดตัวอักษรเปิดอยู่ ดังนั้น MF จึงมีความซับซ้อนน้อยกว่า SF เล็กน้อยแม้ว่า MF จะเป็นตัวอักษรตายตัวก็ตาม อย่างไรก็ตามหากสามารถแสดงให้เห็นว่า MF สามารถแก้ไขได้สำหรับตัวอักษรคงที่ในโพลี - เวลานั้น MF จะแสดงได้ง่ายกว่า SF ... เพราะกรณีหนึ่งซึ่งยากจะค่อนข้างประดิษฐ์ (ตัวอักษรไม่ จำกัด !) .
ฉันใช้ความพยายามในการแก้ไขกรณีของ MF ด้วยตัวอักษรที่มีขอบเขต แต่ฉันไม่สามารถชำระและหยุดทำงานตั้งแต่นั้น ฉันไม่เชื่อว่านักวิจัยคนอื่น ๆ พยายามอย่างหนักในการแก้ปัญหานี้ (ดังนั้นนี่ไม่ใช่หนึ่งในปัญหาการเปิดที่ยากมากเหล่านี้หลายคนพยายามแล้วและล้มเหลวฉันคิดว่ามันเป็นไปได้) ฉันเดาว่ามันเป็น NP-hard สำหรับตัวอักษรคงที่ แต่บางทีการลดลงนั้นซับซ้อนจนคุณจะได้รับบางอย่างเช่น "MF นั้นยากสำหรับตัวอักษรขนาด 35 หรือใหญ่กว่า" หรือบางสิ่งบางอย่างซึ่งอาจไม่ดีอย่างยิ่ง .
เกี่ยวกับวรรณคดีเพิ่มเติมฉันรู้กระดาษ [4] ซึ่งพิจารณาปัญหาการแยกคำ w เป็นปัจจัยที่แตกต่างกัน u_1, u_2, ... , u_k ที่เป็น palindromes ทั้งหมดซึ่งเป็นปัญหา NP-Complete
ฉันมองกระดาษ [5] โดย Gilad ชี้ให้เห็น ดูเหมือนว่าจะพิจารณาการตั้งค่าที่แตกต่างกันแม้ว่า ในบทความนี้ผู้เขียนมีความสนใจในคำถาม combinatorial ว่าเรียงความหรือ subwords ที่แตกต่างกันสามารถมีอยู่ในคำที่กำหนด แต่สิ่งเหล่านี้สามารถทับซ้อนกัน ตัวอย่างเช่น aaabaab มี 20 subwords ต่างกัน a, b, aa, ab, ba, bb, aaa, aab, aba, baa, aaab, aaba, ababa, baab, aaaba, aabaa, aabaab, aaabaa, aaabaab (อาจเป็นฉัน miscounted แต่คุณได้รับความคิด) บางส่วนของพวกเขามีเหตุการณ์เดียวเท่านั้นเช่นบาอาบางคนมีหลายอย่างเช่นเอเอ ไม่ว่าในกรณีใด ๆ คำถามไม่ได้เป็นวิธีที่เราสามารถแยกคำเพื่อให้ได้ปัจจัยที่แตกต่างกันอย่างใดอย่างหนึ่งเนื่องจากนี่หมายความว่าสัญลักษณ์แต่ละบุคคลมีส่วนร่วมในปัจจัยเดียว
เกี่ยวกับการแก้ปัญหาในทางปฏิบัติสำหรับปัญหาประเภทนี้ (โปรดจำไว้ว่าฉันเป็นนักทฤษฎีดังนั้นให้นำสิ่งนี้ไปด้วยเม็ดเกลือ):
สำหรับความรู้ของฉันไม่มีขอบเขตทางทฤษฎีที่ต่ำกว่า (เช่น NP-กระด้าง) ที่จะออกกฎเพื่อแก้ปัญหา MF ในเวลาพหุนามถ้าเราพิจารณาเพียงคำที่ใส่ตัวอักษรคงที่ มีข้อแม้อยู่ข้อหนึ่ง: ถ้าคุณได้รับอัลกอริธึมแบบโพลี - ไทม์ดังนั้นสิ่งนี้ควรรันเป็นเลขชี้กำลังแทนจำนวนในสัญลักษณ์จากตัวอักษรคงที่ (หรือเลขยกกำลังในฟังก์ชันบางอย่างของมัน) มิฉะนั้นจะเป็นอัลกอริธึมเวลาพหุนามสำหรับกรณีของตัวอักษรที่ไม่มีขอบเขต ดังนั้นในฐานะที่เป็นนักทฤษฎีฉันจะมองหางานอัลกอริทึมที่สามารถคำนวณได้ในเวลาแบบเลขชี้กำลังหากจำนวนของสัญลักษณ์และวิธีใดก็ตามที่ช่วยในการคิดอัลกอริทึมสำหรับ MF ในทางกลับกันมันอาจเป็นไปได้ว่าอัลกอริธึมดังกล่าวไม่มีอยู่และ MF ก็ยากเช่นกันในกรณีตัวอักษรคงที่
หากคุณมีความสนใจในการแก้ปัญหา pratical มันอาจจะเป็นประโยชน์ในการแก้ปัญหาโดยประมาณ ดังนั้นการรับตัวประกอบที่รับประกันว่าจะมีขนาดใหญ่เพียงครึ่งเดียวเท่าที่ดีที่สุดในกรณีที่เลวร้ายที่สุดจะไม่เลวร้ายเกินไป
การวิเคราะห์พฤติกรรมซึ่งไม่ได้ให้ค่าประมาณที่พิสูจน์ได้ แต่การทำงานได้ดีในสภาพแวดล้อมจริงก็น่าสนใจเช่นกัน
การแปลงอินสแตนซ์ปัญหาเป็น SAT หรือ ILP- อินสแตนซ์ไม่ควรยากเกินไปจากนั้นคุณสามารถเรียกใช้ SAT หรือ ILP-Solver เพื่อรับโซลูชันที่ดีที่สุด
ความเห็นส่วนตัวของฉันคือแม้ว่ามันจะไม่รู้ว่ากรณีตัวอักษรตายตัวของ MF นั้นเป็นปัญหาหนักหน่วง แต่ก็มีความเข้าใจในเชิงทฤษฎีมากพอที่ชี้ให้เห็นว่าปัญหานั้นยากพอที่จะหาวิธีแก้ปัญหาแบบแก้ปัญหาได้ ฯลฯ ทำงานได้ดีในสภาพแวดล้อมจริง
บรรณานุกรม:
[1] แอน Condon, Ján Manuch, Chris Thachuk: ความซับซ้อนของการแบ่งสตริง J. ขั้นตอนวิธีแบบไม่ต่อเนื่อง 32: 24-43 (2015)
[1b] แอนน์คอนดอน, จานานนุช, คริสธัคุก: ความซับซ้อนของปัญหาการแบ่งส่วนรู้รอบและความสัมพันธ์กับการออกแบบ Oligo สำหรับการสังเคราะห์ยีน COCOON 2008: 265-275
[2] Henning Fernau, Florin Manea, Robert Mercas, Markus L. Schmid: การจับคู่รูปแบบกับตัวแปร: อัลกอริทึมที่รวดเร็วและผลลัพธ์ความแข็งแบบใหม่ STACS 2015: 302-315
[3] Markus L. Schmid: การคำนวณตัวคูณสตริงที่ไม่เท่าเทียมกันและซ้ำซ้อน theor คอมพิวเต วิทย์ 618: 42-51 (2559)
[4] Hideo Bannai, Travis Gagie, Shunsuke Inenaga, Juha Kärkkäinen, Dominik Kempa, Marcin Piatkowski, Shiho Sugimoto: การแยกตัวประกอบ Palindromic ที่หลากหลายคือ NP-Complete int พบเจ คอมพิวเต วิทย์ 29 (2): 143-164 (2018)
[5] Abraham Flaxman, Aram Wettroth Harrow, Gregory B. Sorkin: สตริงที่มีผลสืบเนื่องและ substrings ที่แตกต่างกันมากที่สุด และอิเล็กทรอ J. หวี 11 (1) (2004)
aab|a|b|aa
ซึ่งยังคงเป็น 4