2014 dxdy logo

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

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


Правила форума


Посмотреть правила форума



Начать новую тему Ответить на тему На страницу Пред.  1, 2
 
 Re: Посоветуйте с мат-формализмом алгоритма.
Сообщение23.06.2023, 17:01 
Аватара пользователя


05/06/08
479
mihaild в сообщении #1598682 писал(а):
MGM в сообщении #1598662 писал(а):
что в результате работы такого обобщенного алгоритма , все вершины с минимальным расстоянием до какой-то конкретной корневой вершины, представляют собой связанный подграф
Вы имеете в виду, что если мы зафиксировали набор корневых вершин $v_1, \ldots, v_k$, то вершины, расстояние от которых до $v_i$ меньше, чем расстояние от них же до всех остальных корневых вершин, образуют связный подграф?
Это по сложности выглядит как среднего уровня сложности задача для начального курса по алгоритмам. Я не знаю обычаев в Вашей области, но вообще не выглядит как достаточно сложный результат.

Учился на кафедре Оптики физ-фака, все, чему меня учили по программированию на Алголе забыл к моменту выпуска. Сейчас уже не помню, была ли у нас дисциплина под названием Теория Множеств. Поэтому не представляю, на что способен студент мех-мата или ВМК. Более того, если вершина имеет равные расстояния до двух или более корневых вершин, то некоторые алгоритмы вполне могут выдать сементацию, где все вершины, обозначенные как ближайшие к корневой вершине n могут не образовывать связанного графа. Например, алгоритм, на который я вам дал ссылку (точнее на его мультикорневое рассширение), мало того, что требует значительно больших вычислительных затрат (так как перебирает все вершины при кажой итерации), так еще и дробит сементы, которые по идее должны быть связаны. А я ведь считал (примерно, как вы), что при полной релаксации подобного алгоритма, такого быть не должно. Более того, на каком-то шаге итерации этот алгоритм изолировал некоторые вершины от реально ближайшей. А значит алгоритм неточный. Хотя на первый взгляд он тоже похож на алгоритм Ф-Б. То есть перевод алгоритма Ф-Б к мультикорневому варианту не совсем тривиальная задача. ИМХО.

-- Пт июн 23, 2023 18:18:50 --

mihaild в сообщении #1598682 писал(а):
Но время $O(|E| \log |V|)$ даёт алгоритм Дейкстры с бинарной кучей, который опять же рассказывают первокурсникам (я пытался рассказывать и с фибоначчиевой кучей, но это была плохая идея).

А не поделитесь ссылкой на оба примера? Я вошел в возраст, когда решать подобные задачки доставлет удовольствие. А не желание найти какую-то корысть.

 Профиль  
                  
 
 Re: Посоветуйте с мат-формализмом алгоритма.
Сообщение23.06.2023, 17:31 
Заслуженный участник
Аватара пользователя


16/07/14
9217
Цюрих
MGM в сообщении #1598879 писал(а):
Более того, если вершина имеет равные расстояния до двух или более корневых вершин, то некоторые алгоритмы вполне могут выдать сементацию, где все вершины, обозначенные как ближайшие к корневой вершине n могут не образовывать связанного графа
"Ближайшие к корневой вершине" - это вершины, расстояние от которых до данной корневой вершины не больше, чем до любой другой, или что-то другое? Если это, то при положительных весах неважно, к какой из корневых вершин приписывать вершину, от который до нескольких разных корневых расстояние одинаковое.
MGM в сообщении #1598879 писал(а):
То есть перевод алгоритма Ф-Б к мультикорневому варианту не совсем тривиальная задача
В постановке "найти от каждой вершины расстояние до ближайшей корневой, и путь до какой-нибудь из ближайших корневых" - тривиальная. Для положительных весов любое такое распределение вершин по корням даст связные группы вершин, но вы, видимо, о чем-то другом.

 Профиль  
                  
 
 Re: Посоветуйте с мат-формализмом алгоритма.
Сообщение26.06.2023, 17:41 
Аватара пользователя


05/06/08
479
mihaild в сообщении #1598888 писал(а):
MGM в сообщении #1598879 писал(а):
То есть перевод алгоритма Ф-Б к мультикорневому варианту не совсем тривиальная задача
В постановке "найти от каждой вершины расстояние до ближайшей корневой, и путь до какой-нибудь из ближайших корневых" - тривиальная. Для положительных весов любое такое распределение вершин по корням даст связные группы вершин, но вы, видимо, о чем-то другом.


Для меня это тоже очевидное утверждение. Если исходный алгоритм делает все правильно. Но это надо доказать. И в первую очередь формально, с привлечением понятия обратный путь и пр. А это многим и не надо.
На Матане некоторые доказательства мы выводили сами. В контексте предмета это часто тривиальная задача. Но ее постановка не всегда тривиальная.

Кстати о тривиальности. Алгоритм Дейкстры, например, с моей точки зрения достаточно трудно расширить до мультицентровой модели. И тем более до состояния связанности.
Если у вас число центров с нулевым расстоянием сравнимо с числом вершин (1000 против 100 000) то число операций будет просто неподьемным. Вы будете вынуждены создать тысячу карт расстояний от каждого центра до какждой вершины. Что как минимум в 1000 раз медлненнее, чем мой алгоритм, похожий (с точностью до терминологии) на ускоренный алгоритм Ф-Б.
А потом неизвестно как эти карты сводить к связанным подграфам. Когда вы одновременно вычисляете расстояние до ближайшего центра, и одновременно слтавите метку принадлежности к конкретному центру, можно доказать, что такой "лейблинг" образует связанные области. И совсем другое, когда вы имеете разные карты, где расстояния до двух и более корневых вершин одинаково. И что делать?
Я прочитал 4 объяснения алгоритма Дейкстры - могу сказать честно - совершенно непонятно, что хотели сказать автогры топиков на эту тему. И только у одного автора получилось объяснить мне суть, после того, как он привел доказательство в пару строк, что результат - минимальное расстояние.

 Профиль  
                  
 
 Re: Посоветуйте с мат-формализмом алгоритма.
Сообщение26.06.2023, 18:12 
Заслуженный участник
Аватара пользователя


16/07/14
9217
Цюрих
MGM в сообщении #1599137 писал(а):
Если исходный алгоритм делает все правильно
В смысле правильно находит кратчайшее расстояние?
MGM в сообщении #1599137 писал(а):
Алгоритм Дейкстры, например, с моей точки зрения достаточно трудно расширить до мультицентровой модели
Просто при инициализации объявить расстояние до всех стартовых вершин нулевым. Дальше как обычно.
Кроме того, задача с несколькими стартовыми вершинами сводится к задаче с одной стартовой вершиной простейшей предобработкой: склеиваем все стартовые вершины в одну, расстояние от которой до какой-нибудь другой равно минимуму расстояний от стартовых вершин до этой другой.
MGM в сообщении #1599137 писал(а):
И тем более до состояния связанности
MGM в сообщении #1599137 писал(а):
И совсем другое, когда вы имеете разные карты, где расстояния до двух и более корневых вершин одинаково.
Я не очень понимаю, в чем проблема.
Пусть у нас есть граф с положительными весами. Пусть в этом графе выбрано несколько вершин, называемых центром. Пусть в каждой вершине написан какой-нибудь из ближайших к ней центров. Утверждение: подграф, образованный вершинами, в которых написан один и тот же центр, связен.
Вам какие-то еще требования нужны?
MGM в сообщении #1599137 писал(а):
Я прочитал 4 объяснения алгоритма Дейкстры - могу сказать честно - совершенно непонятно, что хотели сказать автогры топиков на эту тему.
Это известная проблема, классические алгоритмы очень любят объяснять люди, сами их не понимающие. Алгоритм Дейкстры строго и подробно разобран у Кормена ("Алгоритмы: построение и анализ") и у Дасгупты ("Алгоритмы", объяснение чуть отличается от классического - алгоритм Дейкстры рассматривается как обобщение BFS).

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 19 ]  На страницу Пред.  1, 2

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: dgwuqtj


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group