15.05.2016, 15:42
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,120
|
|
cyber,
всего вариантов 768 за счёт оптимизации (continue) получилось 488 , а необходимые варианты были созданы только 1 раз (всего 13).
<script>
var num = [10, 7, 8, 1],
res = [],
limit = 55,
a, b, c, e;
for (var i = 0; i <= 5; i++) {
a = i * num[0];
if (a > limit) continue;
for (var k = 0; k <= 3; k++) {
b = k * num[1];
if (a + b > limit) continue;
for (var n = 0; n <= 3; n++) {
c = n * num[2];
if (a + b + c > limit) continue;
for (var d = 0; d <= 7; d++) {
e = d * num[3];
if (a + b + c + e == limit) res.push([a, b, c, e])
}
}
}
};
document.write(
res.join("<br>")+ "<br>Всего вариантов : " + res.length
);
</script>
|
|
15.05.2016, 15:43
|
|
junior
|
|
Регистрация: 29.11.2011
Сообщений: 3,924
|
|
Prolog использует поиск с возвратом.
cyber, ты бы открыл википедию и почитал, что такое поиск с возвратом. Я даже не понимаю, о каком поиске с возвратом может идти речь, если у вас нет дерева
Поиск с возвратом, это практически тоже самое, что и поиск в глубину, который, как и другие методы неинформированого поиска реализован (из коробки) в моем рекурсивном итераторе, RecursiveIterator / Рекурсивный итератор
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
|
|
15.05.2016, 15:46
|
|
I am Student
|
|
Регистрация: 17.12.2011
Сообщений: 4,415
|
|
Сообщение от nerv_
|
ы бы открыл википедию и почитал, что такое поиск с возвратом. Я даже не понимаю, о каком поиске с возвратом может идти речь, если у вас нет дерева
|
Вот тебе пример без дерева https://en.wikipedia.org/wiki/Sudoku...s#Backtracking
Проще говоря, это тупо перебор всех возможных вариантов, с нужными ифками на отброс лишних вариантов
__________________
Цитата:
|
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
|
|
|
15.05.2016, 15:47
|
|
I am Student
|
|
Регистрация: 17.12.2011
Сообщений: 4,415
|
|
рони, спасибо, ты быстрый, я только начал писать))
П.с а вообще я чет заигрался с рекурсией и костылями что не попробовал на форах
П.с.с я не знаю какие у меня буду входные данные, то что я дал это данные которые я вручную проверил и на них тестирую))
__________________
Цитата:
|
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
|
Последний раз редактировалось cyber, 15.05.2016 в 15:53.
|
|
15.05.2016, 15:54
|
|
junior
|
|
Регистрация: 29.11.2011
Сообщений: 3,924
|
|
похоже, что понятие графа пространства состояний тебе не знакомо. Твоя ссылка как раз о нем.
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
|
|
15.05.2016, 15:58
|
|
I am Student
|
|
Регистрация: 17.12.2011
Сообщений: 4,415
|
|
nerv_, ты ведешь к тому что мне нужно дерево или граф?)
__________________
Цитата:
|
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
|
|
|
15.05.2016, 17:52
|
|
I am Student
|
|
Регистрация: 17.12.2011
Сообщений: 4,415
|
|
Но посути получается, что при рекурсии оно входит в своеобразное дерево и углубляется пока сумма меньше квоты
__________________
Цитата:
|
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
|
|
|
15.05.2016, 17:55
|
|
junior
|
|
Регистрация: 29.11.2011
Сообщений: 3,924
|
|
Сообщение от cyber
|
ты ведешь к тому что мне нужно дерево или граф?)
|
я пытаюсь сказать, что поиск с возвратом подразумевает наличие дерева/графа состояний, который (граф), зачастую, формируется на лету (on the fly). По крайней мере пятнашки я именно так решал.
Информационные источники:
Искусственный интеллект. Современный подход (книга)
Artificial Intelligence (онлайн курс от института Беркли)
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
|
|
15.05.2016, 18:24
|
|
I am Student
|
|
Регистрация: 17.12.2011
Сообщений: 4,415
|
|
Сообщение от nerv_
|
я пытаюсь сказать, что поиск с возвратом подразумевает наличие дерева/графа состояний, который (граф), зачастую, формируется на лету (on the fly). По крайней мере пятнашки я именно так решал.
|
Т.е мне по сути нужно будет дерево
10
/ | \ \
10 1 8 7
/ | \ \
1 7 10 8
и так далее в зависимости от количества возможных элементов?
или как, а то вообще идей нет уже
__________________
Цитата:
|
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
|
|
|
16.05.2016, 00:11
|
|
I am Student
|
|
Регистрация: 17.12.2011
Сообщений: 4,415
|
|
Короче сдал и я вот не пойму, не проходило тест из за того что ифка для проверки выхода за границе находилась в начале функции, а не перед ее вызовом, как то так.
Все было гениально просто
__________________
Цитата:
|
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
|
|
|
|
|