По поводу укладки графа на плоскость

Тема в разделе "WASM.A&O", создана пользователем _qwe8013, 10 фев 2022.

  1. _qwe8013

    _qwe8013 Active Member

    Публикаций:
    2
    Регистрация:
    30 ноя 2016
    Сообщения:
    125
    В общем понадобилось сделать следующее.
    Есть не ориентированный граф. Его надо уложить на плоскость, но если бы просто уложить, то я бы тут не спрашивал. Дополнительные требования следующие:
    1) все рёбра на плоскости должны быть прямыми отрезками;
    2) у графа на плоскости должно быть как можно меньше самопересечений.
    Возможно, что задача не сложная, но чего-то не соображаю.
     
  2. q2e74

    q2e74 Active Member

    Публикаций:
    0
    Регистрация:
    18 окт 2018
    Сообщения:
    998
    Ну, вообще-то, задача сформулирована непонятно. А из того, что понятно, посмотри как отрисовываются хордовые диаграммы, а наименьшее пересечение можно через двудольные графы посчитать.

    В целом непонятно, о каких графах идет речь? Случайный ориентированный? Записать в виде матрицы смежности и посмотреть, приводиться ли она к треугольному виду? что значат эти "должны быть прямыми"? Шаг сетки грамотно подобрать, что бы как можно больше вершин легло? Непонятно :)
     
    Последнее редактирование: 10 фев 2022
  3. _qwe8013

    _qwe8013 Active Member

    Публикаций:
    2
    Регистрация:
    30 ноя 2016
    Сообщения:
    125
    Нет, граф не ориентированный.
    Вершины графа -- точки на плоскости, рёбра -- линии, соединяющие эти точки, так вот, эти линии должны быть отрезками прямых.
    Причём здесь сетка? Нет никакой сетки.

    В общем попробую сформулировать получше, Есть не ориентированный граф и есть плоскость, нужно каждой вершине графа сопоставить точку на плоскости, а каждому ребру графа сопоставить отрезок, соединяющий соответствующие точки на плоскости так, чтобы пересечений разных отрезков (сопоставленных рёбрам) было минимально возможное количество.
     
  4. q2e74

    q2e74 Active Member

    Публикаций:
    0
    Регистрация:
    18 окт 2018
    Сообщения:
    998
    По любому, если две точки соединить, будет отрезок. Т.е. тут всего лишь говориться, что дуги нельзя, т.е. многомерное векторное пространство надо отобразить в плоскость, но все точки сучайы. Так, а как метрику расстояния тогда ввести? Меньше отрезков, это что? Что бы на отрезке еще точки лежали? Ну так может взять вершину и по кругу от нее прямыми лучами настрелять, меняя угол? Радаром. Рекурсивно, взяли вершину, пробежались по переменной "угол", посчитали пригадлежность точек прямой.

    Но все же, я бы думал в сторону хордовых диаграмм. Расположил бы все точки по окружности, потом соединил с минимальным количеством перекрестных путей, ну и думал бы как свернуть окружность в другую, с меньшим количеством точек на окружности.
    --- Сообщение объединено, 10 фев 2022 ---
    пронумеровали вершины, расположили тем самым на прямой. Построили дуги - ребра между вершинами. Отсортировали по количеству правых и левых соседей, Разбили на классы. Может префиксно все получиться закодировать. В конце концов, у Вас же многомерные вектора - они же кодовые слова.
    --- Сообщение объединено, 10 фев 2022 ---
    Или если подумать про матрицы смежности и граничные случаи. Матрица из случайных нулей и единиц симметрична, ведь граф не ориентированный. В самом идеальном случае по одной единичке в строке и столбце. Как так накидывать единиц, что бы не создавать пересечений?
    --- Сообщение объединено, 10 фев 2022 ---
    Понял, что меня смущает в задаче. вот вы вырезали из листа бумаги окружность, вот разрезали на полоски. Самопересечения будут считаться в рамках одной полоски, или сумарно по всем полоскам?
    --- Сообщение объединено, 10 фев 2022 ---
    и могут ли быть изолированные, не соединенные ни с кем, вершины?
    --- Сообщение объединено, 10 фев 2022 ---
    Можно каждой вершине сопоставить число - количество ребер из нее. Представить это как гистограмку и подумать, как она будет меняться от случая к случаю. Когда мы имеем дело с солнышком, и когда идеальный случай попарного разбиения на классы эквивалентности.
     
  5. aa_dav

    aa_dav Active Member

    Публикаций:
    0
    Регистрация:
    24 дек 2008
    Сообщения:
    457
    https://ru.wikipedia.org/wiki/Минимальное_число_пересечений_рёбер_графа
    Может в последнее копнуть...