Судоку - это хорошо известная головоломка, которая является NP-полной. Двоичный судоку - это вариант, который допускает только цифры и 1 . Правила следующие.
- Каждая строка и каждый столбец должны содержать одинаковое количество нулей и единиц.
- Каждая строка и каждый столбец уникальны.
- Ни одна строка или столбец не содержит последовательные тройки нулей или единиц ( - последовательная тройка единиц).
На входе находится квадрат частично заполненный нулями и единицами. Чтобы решить головоломку, каждая ячейка в квадрате N × N должна быть заполнена либо 0, либо 1 , соблюдая при этом вышеуказанные правила. Я не смог найти какой-либо непостижимый результат для решения головоломки Binary Sudoku.
Насколько сложно решить бинарную головоломку судоку? Это NP-полный?
Также меня интересует сложность связанной проблемы.
Учитывая полностью заполненный квадрат который соответствует только правилам 1 и 2 выше,
Насколько сложно найти перестановку строк и столбцов, чтобы получающийся квадрат соответствовал правилу 3?
источник
Ответы:
РЕДАКТИРОВАТЬ : я быстро завершил любительское доказательство, которое я начал несколько месяцев назад и никогда не закончил.
Вы можете скачать его в формате PDF на моем блоге ... никто еще не проверил его, поэтому опровержения, комментарии и предложения приветствуются.
Я не знаю, есть ли официальные доказательства, но несколько месяцев назад я создал гаджеты, чтобы имитировать плоскую формулу 3-CNF; например гаджеты OR, SPLIT и TURN:
Я построил / проверил гаджеты, используя простую программу решения ограничений.
Уникальность каждой строки / столбца (правило 2) может быть достигнута, помечая их уникальным «двоичным числом», используя блок 2x2, который действует как «цифра»:
И равное количество единиц и нулей (правило 3) может быть достигнуто путем зеркального отражения всей головоломки и инвертирования нулей с единицами (используя специальные стены в середине, которые позволяют переход без нарушения правил):
источник