Алгоритм - Что означает температурная переменная в алгоритме форсированного графа Фрухтермана и Рейнгольда? - PullRequest
0 голосов
/ 30 декабря 2018

Я планирую реализовать алгоритм Фрухтермана и Рейнгольда для построения графиков отсюда: http://cs.brown.edu/people/rtamassi/gdhandbook/chapters/force-directed.pdf, стр. 5. Существует эта переменная температуры "t", но нет объяснения, что это такое, и естьтакже эта функция "cool (t)" применяется через итерации.У кого-нибудь есть объяснение этому?Спасибо.

1 Ответ

0 голосов
/ 30 декабря 2018

Прежде всего, в статье есть краткое описание того, что такое переменная «температура»:

Алгоритм Фрухтермана и Рейнгольда добавляет понятие «температура», которое можно использоватьследующим образом: «температура может начинаться с начального значения (скажем, на одну десятую ширины рамки) и снижаться до 0 обратным линейным образом». Температура контролирует смещение вершин, так что по мере улучшения компоновки коррективыстать меньше.Использование температуры здесь является частным случаем общего метода, называемого имитационным отжигом, использование которого в силовых алгоритмах обсуждается далее в этой главе.

Таким образом, алгоритм является разновидностью Имитация отжига методика поиска глобального оптимума функции.Вот интуитивное описание алгоритма:

Вы начинаете со случайного состояния вашей проблемы при высокой температуре.Вы начинаете случайным образом изменять свое состояние, отдавая предпочтение новым состояниям, которые улучшают значение функции.Во-первых, из-за высокой температуры вы допускаете очень большие изменения текущего состояния, в том числе такие, которые не улучшают значение функции и даже не ухудшают ее (это помогает избежать застревания в локальном оптимуме).С помощью итераций вы уменьшаете температуру в соответствии с некоторым графиком охлаждения (именно здесь в игру вступает функция cool(t)), все больше отдавая предпочтение вариантам, которые только улучшают значение функции.

Существуют различныетонкости, касающиеся того, как выбрать начальную температуру, график охлаждения, вероятность принятия новых состояний и т. д. Обычно это очень специфическая задача, и общий подход затруднен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...