2014 dxdy logo

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

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




Начать новую тему Ответить на тему
 
 Построить граф. Вершины задаются парами чисел (x,y)
Сообщение24.03.2020, 14:50 
Аватара пользователя


25/02/07

887
Симферополь
Пожалуйста, посоветуйте программу позволяющую проанализировать и построить граф с несколькими сотнями вершин, которые задаются парами натуральных чисел $(x,y)$ .

 Профиль  
                  
 
 Re: Построить граф. Вершины задаются парами чисел (x,y)
Сообщение24.03.2020, 16:17 
Заслуженный участник
Аватара пользователя


13/08/08
14495
А как задаются рёбра?

 Профиль  
                  
 
 Re: Построить граф. Вершины задаются парами чисел (x,y)
Сообщение24.03.2020, 16:43 
Аватара пользователя


11/06/12
10390
стихия.вздох.мюсли
В Математике можно строить граф разными способами. См. справку.

 Профиль  
                  
 
 Re: Построить граф. Вершины задаются парами чисел (x,y)
Сообщение24.03.2020, 19:27 
Аватара пользователя


25/02/07

887
Симферополь
Цитата:
А как задаются рёбра?

Ребро задается двумя парами $((x_1,y_1),(x_2,y_2))$ .
Цитата:
можно строить граф разными способами

Пожалуйста, дайте ссылку на указанный мной способ.

 Профиль  
                  
 
 Re: Построить граф. Вершины задаются парами чисел (x,y)
Сообщение24.03.2020, 21:55 
Аватара пользователя


11/06/12
10390
стихия.вздох.мюсли
Собссна, сама функция Graph (ссылка на справку).
(Может быть, позже придумаю, как лучше строить граф, если у вас есть именно список рёбер именно в таком представлении, а пока почитайте.)
UPD. Возм., вам больше подойдёт функция IncidenceGraph.

 Профиль  
                  
 
 Re: Построить граф. Вершины задаются парами чисел (x,y)
Сообщение24.03.2020, 22:32 
Аватара пользователя


25/02/07

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

 Профиль  
                  
 
 Re: Построить граф. Вершины задаются парами чисел (x,y)
Сообщение24.03.2020, 23:38 
Заслуженный участник


16/02/13
4206
Владивосток
А что вы, собственно, имеете в виду под анализом рёбер?

 Профиль  
                  
 
 Re: Построить граф. Вершины задаются парами чисел (x,y)
Сообщение25.03.2020, 00:33 
Аватара пользователя


25/02/07

887
Симферополь
Поиск правила отображения квадратной решетки на себя. По известному неструктурированному набору инцидентности ее узлов.

 Профиль  
                  
 
 Re: Построить граф. Вершины задаются парами чисел (x,y)
Сообщение25.03.2020, 17:26 
Заслуженный участник


25/02/11
1797
Насколько я понимаю, в Математике графы задаются, скажем, матрицей инцидентности. Как точки расположены, неважно. Рисование же графа по точкам сводится к рисованию отрезков на плоскости. Пусть список ребер задан таким массивом:
Код:
edgeList = {{{1, 2}, {3, 4}}, {{3, 4}, {3, 1}}, {{3, 4}, {4, 1}}}

В данном случае 3 ребра. Тогда
Код:
Graphics[Line /@ edgeList]

даст картинку.
Задать же сам граф, так сказать, в абстрактном виде, чтобы потом его анализировать командами Математики, можно так:
Код:
gr = Graph[UndirectedEdge @@@ edgeList]

 Профиль  
                  
 
 Re: Построить граф. Вершины задаются парами чисел (x,y)
Сообщение28.03.2020, 21:29 
Аватара пользователя


25/02/07

887
Симферополь
К сожалению, плоское соединение узлов квадратной решетки отрезками просто исчерпает всё их множество не дав никакой информации о возможной симметрии связей.

 Профиль  
                  
 
 Re: Построить граф. Вершины задаются парами чисел (x,y)
Сообщение28.03.2020, 22:52 
Аватара пользователя


11/06/12
10390
стихия.вздох.мюсли
serval, ну вы же должны быть в курсе, что граф есть граф и его свойства как графа не зависят от расположения вершин.

 Профиль  
                  
 
 Re: Построить граф. Вершины задаются парами чисел (x,y)
Сообщение28.03.2020, 23:02 
Заслуженный участник


25/02/11
1797
Команда Graph как раз указывает, что соединено. И для анализа расположение уже неважно. А насчет симметрий, не знаю, что вам надо, но есть команда GraphAutomorphismGroup - находит группу автоморфизмы графа. Для предыдущего примера
Код:
GraphAutomorphismGroup[gr]
GroupOrder[%]
дает
Код:
PermutationGroup[{Cycles[(3   4)],Cycles[(1   3)]}]

6

Это группа $S_3$, три вершины можно переставлять.

 Профиль  
                  
 
 Re: Построить граф. Вершины задаются парами чисел (x,y)
Сообщение29.03.2020, 10:56 
Аватара пользователя


25/02/07

887
Симферополь
Спасибо, буду пробовать.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 13 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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