Я пытаюсь реализовать простую ветку, связанную с Python. Моя проблема в том, что в настоящее время на каждом этапе ветвления я могу получить 4 дочерних элементов, и во время тестирования я каким-то образом потерял обзор, поэтому пришел сюда, чтобы попросить о помощи.
Мой самый большой вопрос: как мне разрезать ветки в рекурсии, не нарушая другие рекурсии? Использую ли я «продолжить» или «разорвать»?
В настоящее время я получаю последовательности, в которых я знаю и проверял, что их нужно было вырезать, поэтому я знаю, что связанное вернуло 1 в предыдущее состояние последовательности.
У меня есть последовательность, которая обновляется на каждом этапе ветвления с помощью функции Gray_update(). У меня есть функцияbound(), которая возвращает 0, если ветвь не следует обрезать, и 1, если ее следует обрезать.
Рекурсия должна выполняться до тех пор, пока все ветви не будут обрезаны или все последовательности не будут иметь 2*m. >= n.
Если мне нужно предоставить другие функции, объяснить их лучше или упростить функцию и написать ее только в псевдокоде, сообщите мне.
Вот простая версия моей функции ветвления:< /p>
def branch(sequence, m, best):
n = len(sequence)
if 2*m < n:
if 2*m + 1 == n:
cut = bound(sequence, m, best)
if cut == 0:
return (branch(gray_update(sequence, m, 1, 1), m+1, best),
branch(gray_update(sequence, m, -1, -1), m+1, best))
else:
cut = bound(sequence, m, best)
if cut == 0:
return (branch(gray_update(sequence, m, 1, 1), m+1, best),
branch(gray_update(sequence, m, 1, -1), m+1, best),
branch(gray_update(sequence, m, -1, 1), m+1, best),
branch(gray_update(sequence, m, -1, -1), m+1, best))
else:
print(sequence)
Подробнее здесь: https://stackoverflow.com/questions/793 ... -and-bound
Python простая ветвь и граница ⇐ Python
Программы на Python
1736432251
Anonymous
Я пытаюсь реализовать простую ветку, связанную с Python. Моя проблема в том, что в настоящее время на каждом этапе ветвления я могу получить 4 дочерних элементов, и во время тестирования я каким-то образом потерял обзор, поэтому пришел сюда, чтобы попросить о помощи.
Мой самый большой вопрос: как мне разрезать ветки в рекурсии, не нарушая другие рекурсии? Использую ли я «продолжить» или «разорвать»?
В настоящее время я получаю последовательности, в которых я знаю и проверял, что их нужно было вырезать, поэтому я знаю, что связанное вернуло 1 в предыдущее состояние последовательности.
У меня есть последовательность, которая обновляется на каждом этапе ветвления с помощью функции Gray_update(). У меня есть функцияbound(), которая возвращает 0, если ветвь не следует обрезать, и 1, если ее следует обрезать.
Рекурсия должна выполняться до тех пор, пока все ветви не будут обрезаны или все последовательности не будут иметь 2*m. >= n.
Если мне нужно предоставить другие функции, объяснить их лучше или упростить функцию и написать ее только в псевдокоде, сообщите мне.
Вот простая версия моей функции ветвления:< /p>
def branch(sequence, m, best):
n = len(sequence)
if 2*m < n:
if 2*m + 1 == n:
cut = bound(sequence, m, best)
if cut == 0:
return (branch(gray_update(sequence, m, 1, 1), m+1, best),
branch(gray_update(sequence, m, -1, -1), m+1, best))
else:
cut = bound(sequence, m, best)
if cut == 0:
return (branch(gray_update(sequence, m, 1, 1), m+1, best),
branch(gray_update(sequence, m, 1, -1), m+1, best),
branch(gray_update(sequence, m, -1, 1), m+1, best),
branch(gray_update(sequence, m, -1, -1), m+1, best))
else:
print(sequence)
Подробнее здесь: [url]https://stackoverflow.com/questions/79342876/python-simple-branch-and-bound[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия