Я новичок в sage, и я читал документацию, но это очень новая для меня территория, и немного сложно понять все.
Что я хочу сделать, так это, учитывая матрицу смежности, верхние и нижние границы, сгенерировать все пути через эту матрицу, где «путь» состоит из одной записи из каждой строки, так что вес пути равен равны или находятся между границами.
Еще лучше было бы, если бы я мог упорядочить заданные пути по 1.) Количество ребер с меньшим весом в каждой строке, чем запись в пути, и/или 2.) Минимальное перекрытие с другими путями в отношении #1 .
Для наглядности быстрый пример. Учитывая матрицу 4x4:
[[1,2,3,4],
[5,6,7,8],
[10,11,12,13],
[20,21,22,23]]
И верхняя граница 38, и нижняя граница 37, возможные пути могут быть:
2,5,10,20 3,5,10,20 2,6,10,20 2,5,11,20 2,5,10,21 и т.д. так что, надеюсь, вы поняли идею.
Еще лучше было бы, если бы я мог быстро отфильтровать избыточность, не включая пути, которые являются подмножествами других путей (например, 2, 5, 10, 20 охватывается 3, 5, 10, 20, поскольку для каждого пути я планирую при включении всех ребер с меньшим весом каждой соответствующей строки).