2
ความซับซ้อนของการเสร็จ n-queens?
ปัญหา -queens แบบคลาสสิกจะถามด้วยการได้รับจำนวนเต็มบวกnไม่ว่าจะมีอาร์เรย์Q [ 1 .. n ]ของจำนวนเต็มตามเงื่อนไขต่อไปนี้:nnnnnnQ[1..n]Q[1..n]Q[1..n] สำหรับฉัน1≤Q[i]≤n1≤Q[i]≤n1\le Q[i] \le niii สำหรับทุกคนฉัน≠ jQ[i]≠Q[j]Q[i]≠Q[j]Q[i] \ne Q[j]i≠ji≠ji\ne j สำหรับทุกคนฉัน≠ jQ[i]−i≠Q[j]−jQ[i]−i≠Q[j]−jQ[i]-i \ne Q[j]-ji≠ji≠ji\ne j สำหรับทั้งหมดฉัน≠ jQ[i]+i≠Q[j]+jQ[i]+i≠Q[j]+jQ[i]+i \ne Q[j]+ji≠ji≠ji\ne j แต่ละจำนวนเต็มหมายถึงตำแหน่งของราชินีบนผมแถวของ TH n × nกระดานหมากรุก; ข้อ จำกัด ที่เข้ารหัสความต้องการที่ไม่มีราชินีโจมตีราชินีอื่น ๆ มันเป็นเรื่องง่ายที่จะพิสูจน์ว่ามีการแก้ปัญหาเมื่อn = 2หรือn = 3และปิดรูปแบบการแก้ปัญหาที่เป็นที่รู้จักสำหรับค่าอื่น ๆ ทั้งหมดของn ดังนั้นในฐานะที่เป็นปัญหาในการตัดสินใจปัญหาของn -queens จึงเป็นเรื่องเล็กน้อยอย่างสมบูรณ์Q[i]Q[i]Q[i]iiin×nn×nn\times nn=2n=2n=2n=3n=3n=3nnnnnn อัลกอริทึม backtracking มาตรฐานสำหรับการก่อสร้างแก้ปัญหา …