Яке фундаментальне рішення для 8 * 8 ферзів з 8 ферзями?

З 12 принципових рішень проблеми с вісім королев

вісім королев

Головоломка про вісім ферзів проблема розміщення восьми ферзів на шаховій дошці 8×8 так, щоб жодні дві ферзі не загрожували одна одній; таким чином, рішення вимагає, щоб два ферзі не мали одного ряду, стовпця чи діагоналі. Є 92 рішення. Вперше проблема була поставлена ​​в середині 19 століття.

https://en.wikipedia.org › wiki › Головоломка з вісімкою королев

на дошці 8×8 рівно одиниця дорівнює її власному повороту на 180°, і жодна не дорівнює її повороту на 90°; таким чином, кількість різних розв’язків дорівнює 118 + 14 = 92 (де 8 походить від чотирьох позицій обертання на 90° та їх відображень, а 4 є …

92 розв’язки Головоломка з вісьмома ферзями — це проблема розміщення восьми ферзів на шаховій дошці 8×8 так, щоб дві ферзі не загрожували одна одній; таким чином, рішення вимагає, щоб два ферзі не мали одного ряду, стовпця чи діагоналі. Є 92 рішення.

Алгоритм починається з розміщення ферзя в першому стовпчику, потім він переходить до наступного стовпчика та розміщує ферзя в першому безпечному рядку цього стовпчика. Якщо алгоритм досягає 8-го стовпця і всі ферзі розміщені в безпечній позиції, він друкує дошку та повертає істину.

Існує багато рішень цієї проблеми, але є один конкретний алгоритм, який є моїм улюбленим: Мінімальні конфлікти. Мінконфлікти випадковим чином виберуть ферзя та перемістять його в місце на дошці, де конфліктуючих ферзів менше, ніж зараз.

Наша фітнес-функція кількість неатакуючих пар, а наша ціль для налаштування 8 ферзів дасть придатність 28. У нашій реалізації ми оцінюємо кожну дошку за допомогою fitness(goal) – fitness(state), тобто 0 балів для стану цілі, щоб зробити наш код більшим читабельний.

Пояснення: всього є 12 фундаментальні розв’язки головоломки з вісімкою ферзів після видалення симетричних розв’язків через обертання.