ตัวต่อ 'zero-one' ตัวต่อปริศนาสมบูรณ์แล้วหรือยัง?


18

ฉันสนใจการเรียงต่อกันเล็กน้อยจิ๊กซอว์ 'จิ๊กซอว์': ขอบของแผ่นสี่เหลี่ยม (สี่เหลี่ยม) แต่ละป้ายมีสัญลักษณ์จากและสามารถวางแผ่นกระเบื้องสองแผ่นติดกันถ้าสัญลักษณ์บนขอบกระเบื้องหันหน้าไปทางหนึ่งคือและสัญลักษณ์บนแผ่นหันหน้าของกระเบื้องอีกอันคือ , สำหรับ\} จากนั้นให้ชุดไพ่สามารถวางลงใน (หมุน แต่ไม่พลิกกระเบื้อง) โดยการจับคู่ขอบทั้งหมดถูกต้องหรือไม่? (นอกจากนี้ยังมีตัวแปรในการแก้ปัญหานี้ในที่ที่สี่ 'กรอบ' ขอบที่มีให้และชิ้นส่วนที่ต้องพอดีอย่างถูกต้องลงในกรอบที่)k ˉ k k { 1 n } m 2 m × m{1...n,1¯...n¯}kk¯k{1...n}ม.2ม.×ม.1×ม.

ฉันรู้ว่าปัญหานี้เป็นปัญหา NP-complete สำหรับมีขนาดใหญ่พอแต่ขอบเขตที่ฉันเห็นในดูเหมือนจะค่อนข้างใหญ่ ฉันสนใจปัญหาสำหรับค่าเล็ก ๆ ของและโดยเฉพาะสำหรับ , กรณี 'zero-one' (ที่ทุก ๆ ขอบถูกระบุว่าเป็นหรือและขอบที่มีต้องตรงกับขอบด้วย a ) ที่นี่มี (ที่มีการหมุนสมมาตร) เพียงหกประเภทกระเบื้อง (กระเบื้อง all-zeroes, all-ones tile, กระเบื้องที่มีสามศูนย์และหนึ่ง, กระเบื้องที่มีสามคนและศูนย์และสองกระเบื้องที่แตกต่างกันสองศูนย์ และสองอันคือ '0011' และ '0101') ดังนั้นตัวอย่างปัญหาจึงเป็นเพียงสเปคของn n n = 1 0 1 0nnnn=1010m1ม.และชุดของห้าหมายเลข , , , ,และ (แทนจำนวนกระเบื้องแต่ละประเภท) ด้วย 2 ปัญหานี้เห็นได้ชัดใน NP (กับให้เป็นเอกภาพ) เนื่องจากวิธีการแก้ปัญหาสามารถถูกแสดงและตรวจสอบแล้วในพหุนาม (เป็นT0000T0001T0011T0101T0111T1111T0000+T0001+T0011+T0101+T0111+T1111=ม.2ม.ม.) เวลา แต่เป็นที่รู้กันว่า NP-complete หรือมีอัลกอริทึมการเขียนโปรแกรมแบบไดนามิกที่สามารถใช้ที่นี่ได้หรือไม่ สิ่งที่เกี่ยวกับกรณี 'กรอบ' ที่สเปคปัญหายังรวมถึงสี่ขอบของสี่เหลี่ยมที่จะจับคู่? (เห็นได้ชัดว่าถ้ากรณี unframed เป็นแบบ NP-Complete กรณีกรอบเกือบจะแน่นอนเช่นกัน)


2
ไม่สามารถทำ NP ให้เสร็จสมบูรณ์ได้เนื่องจากมีอินพุตที่เป็นไปได้เท่านั้นและจากทฤษฎีบทของ Mahaneyคุณต้องการมากกว่านั้นเพื่อสร้างปัญหา NP-complete (ยกเว้น P = NP) แต่ถ้าคุณใช้เฟรมสิ่งกีดขวางนี้จะหายไป ดังนั้นมันอาจจะเป็น NP-complete กับเฟรม θ(m10)
Peter Shor

1
ขั้นตอนกลางจะเป็นการพิสูจน์ว่าปัญหาในการตัดสินใจว่าตัวต่อจิ๊กซอว์ 6 แผ่นเต็มบางส่วน (เช่นชิ้นส่วนบางส่วนอยู่บนกระดานแล้วและไม่สามารถเคลื่อนย้ายได้) สามารถทำได้อย่างถูกต้องคือ NP-complete
Vor

คำตอบ:


3

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

  • สำหรับ SAT มีการเข้ารหัสที่สะอาดมากสำหรับการเลือกที่ไทล์จะเข้าไปในแต่ละสแควร์และการเข้ารหัสที่สะอาดน้อยกว่าเล็กน้อยเกี่ยวกับข้อ จำกัด เกี่ยวกับจำนวนของไพ่แต่ละชนิด (ใช้บิตเลขคณิต)

  • สำหรับ ILP มีการเข้ารหัสข้อ จำกัด ที่สะอาดมากเกี่ยวกับจำนวนของกระเบื้องแต่ละประเภทที่มีอยู่และการเข้ารหัสที่สะอาดน้อยกว่าเล็กน้อยสำหรับข้อ จำกัด ที่กระเบื้องสามารถติดกันซึ่งกันและกัน (แต่มันยังคงชัดเจนเนื่องจากคุณสามารถ แสดงสูตรบูลีนโดยพลการใน ILP)

ฉันคาดหวังว่าสำหรับขนาดเล็กหรือขนาดกลางวิธีการนี้อาจทำงานได้อย่างมีประสิทธิภาพn


ฉันยอมรับว่านี่ดูเหมือนจะเป็นวิธีการที่สมเหตุสมผลในการแก้ปัญหา แต่ฉันสนใจน้อยลงในการแก้ปัญหาเฉพาะกรณีกว่าฉันเข้าใจความซับซ้อนของมัน (ตัวอย่างเช่นถ้าอยู่ใน P ก็มีวิธีการเขียนโปรแกรมแบบไดนามิกที่เกือบจะแน่นอนว่าจะเอาชนะการแก้ปัญหาการเขียนโปรแกรม SAT / การเขียนเชิงเส้นแบบเส้นตรงในปัญหา)
Steven Stadnicki

@StevenStadnicki ตกลงยุติธรรมพอ อย่างไรก็ตามฉันกำลังพยายามที่จะกระทบยอด ~ "ฉันสนใจที่จะเข้าใจความซับซ้อน (เชิงซ้อน) (เช่นไม่ว่าจะเป็นปัญหาที่สมบูรณ์)" ~ กับ ~ "ฉันสนใจในปัญหาสำหรับค่าเล็กน้อยของ " ~ . n
DW

ขออภัยนั่นอาจเป็นความสับสนในข้อกำหนดของปัญหา ฉันใช้เพื่อแสดง (โดยหลัก) จำนวนรูปร่างของขอบและฉันสนใจเป็นพิเศษในกรณีที่มีรูปทรงขอบเดียวที่จะจับคู่ (คิดว่า 'innie' หรือ 'outie'); ฉันสงสัยเกี่ยวกับความซับซ้อนของปัญหานั้นในรูปของmขนาดกริด nม.
Steven Stadnicki

@StevenStadnicki อ่าความผิดพลาดของฉัน! ขออภัยฉันอ่านไม่ออกพอ นั่นทำให้รู้สึก - ขอบคุณ
DW

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