Описание тега backtracking

Отслеживание с возвратом - это общий алгоритм поиска решений некоторой вычислительной проблемы, который постепенно создает кандидатов для решений.
2 ответа

Пролог GNU - оператор Univ? Объяснение этого

Итак, унив оператор. Я не совсем понимаю это. Например это: foo(PredList,[H|_]) :- bar(PredList,H). foo(PredList,[_|T]) :- foo(PredList,T),!. bar([H|_],Item) :- G =.. [H,Item],G. bar([_|T],Item) :- bar(T,Item). Что это делает? Это выглядит, чтобы ув…
4 ответа

Как я могу остановить этот возврат без использования System.exit(0)?

static void LasVegas(int []tablero, int f, int ultimaReina){ HashSet<Integer> enterosUsados = new HashSet<Integer>(); if (ultimaReina!=-1) enterosUsados.add(ultimaReina); if ((ultimaReina-1) >=0){enterosUsados.add(ultimaReina-1);} if …
13 июн '11 в 01:01
1 ответ

InputMismatchException в алгоритме возврата

Я пытаюсь найти, сколько раз человек повторяет данное имя в матрице, но у меня есть это InputMismatchException, которое я не могу исправить. Я предполагаю, что проблема от переменной сканера, но я могу понять, в чем проблема. private static char[][]…
19 окт '15 в 15:04
6 ответов

Рекурсивное решение для генератора судоку

Я пытаюсь написать алгоритм, который создает легальную доску судоку на Java или Javascript. Ни одна из них не работает, и я не совсем уверен, почему. По сути, проблема в обеих программах заключается в том, что x или y увеличиваются больше, чем должн…
31 мар '12 в 19:55
1 ответ

Почему следующий код выдает ошибку времени выполнения, даже если он показывает желаемый результат?

Я решаю проблему 8 ферзей, используя возврат. Когда я скомпилировал следующий код в IDE codechef, он показал правильный вывод, но все равно он показывает ошибку времени выполнения. #include <stdio.h> #include <math.h> int board[8][8] = {…
28 дек '16 в 09:35
2 ответа

Генератор лабиринта в питоне

Я попытался написать идеальный (только одно решение) генератор лабиринта в Python с использованием обратного отслеживания. Прежде всего, мой лабиринт представлен сеткой x*y https://upload.wikimedia.org/wikipedia/commons/thumb/e/e1/Ising_model_5x5_0.…
31 авг '18 в 06:12
4 ответа

PHP REG EXP проблема возврата

Я пытаюсь использовать этот reg exp в PHP в preg_match_all /\d+ (?:<[^>]+>)(?:<[^>]+>)(\S+.*\S+)(?:<[^>]+>)\s*(\S+) (?:L|R)\s*\w* \w*\s*(?:\w+\s*){14}(\d+)\s*(\d)\s*(\d*\xA0*\d{3}\xA0*\d{3})/is Вот пример данных: 38 <A …
04 июл '12 в 02:34
1 ответ

Определение методики построения алгоритма обратного слежения

Я читаю о методике разработки алгоритмов возврата. Это упоминается следующим образом. Откат назад - это уточнение подхода грубой силы, который систематически ищет решение проблемы среди всех доступных вариантов. Он делает это, предполагая, что решен…
02 май '12 в 11:47
1 ответ

Алгоритм поиска пути

Я пытаюсь разработать приложение, которое отображает мой офис (точно так же, как приложение, например, карты Google, показывающее путь от одного места к другому). Из того, что я читал до сих пор, для решения проблемы могут использоваться алгоритмы, …
1 ответ

Построение рандомизированной матрицы без дубликатов, но с фиксированным частичным вводом

Я сталкиваюсь с проблемой построения рандомизированной матрицы, в которой у меня уже частично есть значения (которые должны оставаться фиксированными - так что никакой дальнейшей рандомизации там нет). Посмотрим: Матрица должна быть 10 на 10 n <-…
12 сен '17 в 23:08
1 ответ

N королев в C++ с использованием векторов

У меня проблемы с пониманием возврата назад, я могу концептуально понять, что мы делаем шаг, и тогда, если из этого не может быть найдено никаких решений, мы пробуем следующее решение. Имея это в виду, я пытаюсь решить проблему N Queens, я выясняю в…
02 июл '12 в 07:59
0 ответов

Проверка на наличие диагональных / столбцовых конфликтов в задаче n-queens

Итак, я пытаюсь понять это решение проблемы N-Queens, проблемы размещения n ферзей на n×n шахматной доске таким образом, чтобы две королевы не атаковали друг друга. Цель - это рекурсивный подход к возвращению всех различных решений, учитывая размер …
11 фев '19 в 00:07
2 ответа

Как использовать backtrack для бесконечного увеличения переменной в Прологе

В настоящее время я читаю книгу по Прологу и застрял на одном из заданий. Я должен создать предикат с одним аргументом. Когда этот аргумент является переменной, он вернет следующее с возвратом, и X продолжит увеличиваться без ограничения. Х = 0, Х =…
01 мар '17 в 14:50
1 ответ

Рыцарский тур с использованием стека

Передо мной стоит задача итеративного решения тура Рыцарей с использованием стека для хранения предыдущих ходов, чтобы я мог выскочить, если конь застрял. Моя программа, кажется, делает несколько POPS, но, кажется, никогда не решает загадку. Он испо…
16 фев '15 в 03:39
1 ответ

C++: рекурсивная задвижка

Я понимаю, что этот код может быть немного плотным для чтения, и я пытался адаптировать стандартный алгоритм решения рекурсивных лабиринтов, где все направления пробуются до тех пор, пока не найдено решение, к алгоритму игры "ошеломляющий" это прове…
31 дек '12 в 03:53
1 ответ

Функция Baktracking, которая рассчитывает изменение, превышает максимальную глубину рекурсии

Я пытаюсь написать функцию, которая находит все возможные комбинации монет, которые дают определенную сумму, например, она рассчитывает все возможные способы, чтобы дать изменение на сумму 2 британских фунта из списка достоинств 1p, 2p, 5p,10p,20p,5…
08 июл '13 в 12:29
1 ответ

Алгоритм возврата кроссворда

Я реализую генератор кроссвордов с использованием обратного отслеживания в соответствии с этим алгоритмом: Это мой псевдокод: > solve(words,grid): if words is empty: > if grid.isValudSol(): > return grid > else: > return None for each…
3 ответа

Найти, можно ли получить строку из матрицы символов

Учитывая матрицу символов и строку, найдите, может ли строка быть получена из матрицы. От каждого символа в матрице мы можем двигаться вверх / вниз / вправо / влево. Например, если матрица [3][4] имеет вид: o f a s l l q w z o w k и строка follow, т…
2 ответа

Возвращение в хаскелл

Я должен пройти матрицу и сказать, сколько "характерных областей" каждого типа у нее есть. Характеристическая область определяется как зона, в которой элементы значения n или> n являются смежными. Например, с учетом матрицы: 0 1 2 2 0 1 1 2 0 3 0 0 …
12 апр '10 в 16:06
0 ответов

Разбиение множества на K подмножеств с равной суммой

Я собираюсь выполнить упражнение, чтобы разбить множество на K подмножеств с равной суммой. Скажем Input : arr = [2, 1, 4, 5, 6], K = 3 Output : Yes we can divide above array into 3 parts with equal sum as [[2, 4], [1, 5], [6]] Я нашел решение здесь…