Python простая ветвь и границаPython

Программы на Python
Ответить
Anonymous
 Python простая ветвь и граница

Сообщение 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)


Подробнее здесь: https://stackoverflow.com/questions/793 ... -and-bound
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»