Публикации по теме 'n-queens'


Вычисление количества конфликтующих пар на доске N-Queen в линейной сложности времени и пространства
Задача N-Queen - это классическая задача в области искусственного интеллекта, где мы пытаемся найти конфигурацию шахматной доски, в которой на доске N × N будет N ферзей, не атакующих друг друга. Есть разные способы решения этой проблемы, каждый из которых имеет свою временную сложность. После генерации состояний оценка количества конфликтующих пар в каждой из них также занимает много времени. Ниже мы обсудим, как мы определяем эту проблему и как можно достичь линейной временной..

Вопросы по теме 'n-queens'

Решение проблемы N ферзей Как далеко мы можем зайти?
Проблема N-ферзей: В этой задаче говорится, что для шахматной доски размером N на N найдите различные перестановки, в которых N ферзей могут быть размещены на доске, и никто не будет угрожать друг другу. Мой вопрос: Какое максимальное значение...
14264 просмотров
schedule 20.11.2022

Пример алгоритма 8-Queens?
Кто-нибудь знает хорошие/краткие примеры алгоритмов для 8-queens ? Я сделал поиск в Интернете и не нашел ни одного хорошего примера.
22507 просмотров
schedule 30.06.2023

Запрос о решении N-Queen?
Я решил задачу N-ферзей с условием, что в каждом столбце может быть только один ферзь. Итак, я ставлю ферзя на поле в первом столбце, затем перехожу к следующему столбцу и ставлю ферзя на поле, не атакованное ферзем на доске. Я могу найти все...
1285 просмотров
schedule 04.04.2024

Решение задачи о восьми ферзях с двумерным массивом: ошибка IndexOutOfBounds
Одно из моих домашних заданий — решить задачу о восьми ферзях, используя двумерный массив для представления доски. Я продолжаю получать индекс за пределами ошибки: 8 в моем методе isUnderAttack по адресу: if (board[row][j] == QUEEN) и в моем...
8674 просмотров
schedule 01.04.2023

Проблема с ферзями с использованием рекурсии с возвратом
Я работал над проблемой 8 ферзей, но застрял. Мне не нужен код. Я хотел бы получить советы и указания, чтобы понять, как решить эту проблему самостоятельно, используя рекурсию с возвратом. Программа должна перечислить все решения проблемы...
14198 просмотров

N Queens в C++ с использованием векторов
У меня проблемы с пониманием возврата, я могу концептуально понять, что мы делаем ход, а затем, если из него нельзя найти никаких решений, мы пробуем следующее решение. Имея это в виду, я пытаюсь решить проблему N ферзей, я нахожу всех возможных...
6234 просмотров
schedule 01.08.2022

Как узнать, есть ли в массиве последовательные числа в C++?
По сути, это проблема 8 ферзей, но решение ее грубой силой в одномерном массиве. Скажем, у меня есть массив (с именем b) размера 8 с элементами от 0 до 7. Я инициализирую каждый индекс в массиве 8 циклами for, например так: int b[8]={0}; int...
2544 просмотров
schedule 18.04.2023

Алгоритм 8 неатакующих ферзей с рекурсией
У меня проблемы с кодированием задачи с 8 ферзями. Я закодировал класс, чтобы помочь мне решить эту проблему, но по какой-то причине я делаю что-то не так. Я вроде понимаю, что должно произойти. Кроме того, мы должны использовать рекурсию, чтобы...
2487 просмотров
schedule 10.08.2022

как стохастически искать королеву в прологе?
Я реализую стохастический поиск в прологе. код queens_rand([],Qs,Qs) :- !. queens_rand(UnplacedQs,SafeQs,Qs) :- random_sort(UnplacedQs, UnplacedQs1), select(UnplacedQs,UnplacedQs1,Q), not_attack(SafeQs,Q,1),...
216 просмотров

Схема, стратегии оптимизации N-ферзей, глава 2 SICP
SICP содержит частично полный пример решений с n ферзями, путем обхода дерева всех возможных размещений ферзей в последней строке, генерирования большего количества возможных позиций в следующей строке для объединения результатов на данный момент,...
524 просмотров
schedule 13.05.2022

Решения N-Queens C++
Так что мне нужна помощь с классической проблемой N-Queens. Команда для запуска программы будет следующей: nqueens N k — где N — размер таблицы (N x N), а k — количество решений. Так, например, если бы я запустил программу, набрав nqueens...
20979 просмотров
schedule 11.04.2023

Применить мутацию (с небольшой вероятностью) к потомству
Я изучаю генетический алгоритм, и когда я изучал мутации, я не мог понять кое-что. Это было немного необычно после того, как мы производили потомство по точке кроссовера, мы должны применить мутацию (с небольшой вероятностью), какова эта малая...
308 просмотров

Решите задачу с 16 ферзями всего за 1 секунду
Я должен решить Задачу с 16 ферзями за 1 секунду. Я использовал алгоритм возврата, как показано ниже. Этого кода достаточно, чтобы решить проблему N-Queens за 1 секунду, когда N меньше 13. Но это занимает много времени, если N больше 13. Как я...
783 просмотров
schedule 01.01.2023

Рекурсивная lisp-функция для решения N-Queen
ОБНОВЛЕНО: Теперь код должен компилироваться без ошибок или предупреждений. Извините за предыдущий. Проблема, с которой я сталкиваюсь сейчас, заключается в том, что при запуске (или с любым другим целым числом) (NxNqueen-solver 10) Функция...
831 просмотров
schedule 11.09.2022

Решение головоломки N-Queens - не могу понять
Я читаю описание решения загадки N-Queens на SICP и не могу понять большинство из них. Вот решение: Один из способов решить загадку - работать по всем направлениям, помещая ферзя в каждый столбец. После того, как мы разместили k - 1 ферзей,...
954 просмотров
schedule 15.08.2023

n-ферзей без трех ферзей на одной линии
Я пытаюсь сгенерировать экземпляры n-ферзей с более сильным условием, чтобы никакие 3 ферзя не находились на одной линии . То есть, если (r0, c0), (r1, c1), (r2, c2) — три уникальные позиции ферзей, затем (c0 - c1) * (r0 - r2) != (c0 - c2) *...
256 просмотров

Как использовать монаду Выбрать для решения n ферзей?
Я пытаюсь понять, как Select монада работает. Судя по всему, это двоюродный брат Cont и его можно использовать для поиска с возвратом. У меня есть решение проблемы n королев на основе списков: -- All the ways of extracting an...
980 просмотров
schedule 19.12.2022

N-королевы в Scala
def queens(n: Int): List[List[(Int, Int)]] = { def placeQueens(k: Int): List[List[(Int, Int)]] = if (k == 0) List(List()) else for { queens <- placeQueens(k - 1) column <- 1 to n...
735 просмотров
schedule 08.11.2023

Логические ошибки возврата/рекурсии N-Queens?
Я пытаюсь решить эту проблему в качестве практического упражнения для моего предстоящего теста. Для этого мне нужно написать программу на C++, которая запрашивает ввод «размера доски» (nxn) и «количества ферзей», а затем выполняет задачу «n-ферзей»....
184 просмотров
schedule 31.08.2023

Отслеживание с возвратом и рекурсия в задаче n ферзей (Python)
Я пишу класс Python, чтобы найти решение проблемы 8 ферзей. Как правильно реализовать обратное отслеживание в моем solve методе? Я думаю, что рекурсия должна работать, однако программа останавливается после того, как решение не найдено с первой...
133 просмотров
schedule 05.01.2023