2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Замена графа деревом в задаче динамического программирования
Сообщение23.01.2013, 20:53 
Вопрос возник из желания программировать задачи динамического программирования. В программировании достаточно хорошо изучена структура данных дерево. Имея ее можно быстро писать простые рекурсивные функции обхода по дереву (правый, левый и др). Хотелось бы применить в общих задачах динамического программирования. В ДП есть вроде подход представления блоков вычислений в виде графа. Вроде есть классификация т.н сериальных (стандартных) схем и несериальных. Есть также деление на монадические и полиадические.
Как я представляю типичный случай задачи ДП с конечным числом альтернатив выбора управления каждого этапа приводит все таки не к древовидному графу а графу-сети. Эту структуру программно реализовывать сложнее. Один математик мне предложил такой подход: Если в вершину $A_i$ входят K путей то можно "расчленить эту вершину на K разных вершин
$A_{i1},...A_{ik}$
т.е граф превратить в дерево. Тогда использовать стандартные приемы программирования. Но где-то в программе задать изоморфизм (совпадение) этих расчлененных вершин).
Нормальный ли это подход и известен он кому-либо?

 
 
 
 Re: Замена графа деревом в задаче динамического программирования
Сообщение23.01.2013, 22:08 
И если с входящими в вершину путями дело ясно, то как быть с исходящими путями после расчленения вершины?
Какой из расчлененных вершин назначить старые исходящие пути?

 
 
 
 Re: Замена графа деревом в задаче динамического программирования
Сообщение23.01.2013, 22:09 

(Оффтоп)

Графы — не настолько страшные вещи, чтобы их заменять деревьями. Алгоритмы обхода графов тоже есть.

 
 
 [ Сообщений: 3 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group