Pull to refresh

Comments 16

Теперь я знаю: графомания — от слова граф!
А если серьёзно, то после Эйлера, мостов и друзей, стало непонятно. Явно надо было ходить по ссылкам, а это — неудобно. Но всё равно, познавательно.
Случается иногда такой грех – словами незабвенного графа Льва Николаевича говоря: «Можешь не писать – не пиши», и статей на Хабре тоже касается (это к замечанию о "графомании").
Ссылки, безусловно, напрягают, но обойтись без них можно лишь повторив всё их содержание, а сами источники указать лишь в библиографии и т.п. Могу попытаться оправдаться тем, что удержался от соблазна разместить еще штук эдак… цать этих ссылок
Есть ли польза рядовому программисту или, скажем, обывателю от теории графов, или вещь эта сугубо сакральная, из надменных математических абстракций?


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

Как вариант может быть применена практически для автоматизации процессов, ведь процессный ландшафт или сетевой график по своей сути тоже графы.
Мне кажется, что вы забыли самое главное свойство графов. Графы по сути своей есть описание множеств и их отношений. При помощи графа можно описать структуру любой сложности.
Вы настаиваете на включении только этой фразы? :) — Для неё, действительно, могло бы найтись место. Но, если придерживаться академического характера изложения, то объем материала явно выйдет за формат статьи. Человек, заинтересовавшийся практическими приложениями, найдет литературу, соответствующую своему уровню подготовленности и намеченной задаче.
Я не настаиваю. Просто считаю что это основное свойство графов. Остальное это производные от него. И графы в данный момент довольно популярны. Обратите хотя бы внимание на обилие «графовых баз данных». И это кстати многих сбивает с толку. Эти многие путают визуализацию данных в виде графа (обратите внимание на комментарий выше «Как вариант может быть применена практически для автоматизации процессов, ведь процессный ландшафт или сетевой график по своей сути тоже графы.») и хранение/обработку данных в виде графа. А это есть две очень большие разницы.
Да, сетевая структура визуально напоминает граф, но описывать и хранить ее в виде графа это трата ресурсов и тот еще геморой.
Я не так как Вы уверен по части популярности графов. Возможно, что как раз вследствие недостаточной распространенности представлений теории графов существует возможность маркетингового продвижения продуктов, заключающих в своих названиях указания на причастность к теории графов – я не специалист в области баз данных и готов выслушать критику со стороны экспертов в этой области, но сочетание «графовая база данных» вызывает во мне тоже неудовольствие,— с каким бы брендом оно не объединялось,– как рапорт о "нанотехнологиях в отечественном дорожном строительстве" от чиновника любого уровня. Я согласен относительно Вашего первого замечания (именно это определение графа должно закрепиться в качестве основного), и Вы могли видеть, что в своей статье я акцентировал внимание на том, что граф – это отношение, связь.
Если хотите быть точным в дефинициях, то давайте так и делать: «напоминать» о чем-то может только сам граф, «сетевая структура» может иметь модель представления в виде графа; данные хранятся в виде данных — объектная модель БД может учитывать взаимосвязь элементов БД (называть это «хранением в виде графа» – это поощрять маркетинговое спекулирование на модном термине).
Ну тогда я не очень понимаю что именно вы пытаетесь сделать популярным. Реальных приложений где имеет смысл описывать данные в виде графа, я пока знаю только одно, свою разработку, ибо происходит описание и обобщение сотен миллионов множеств. Остальное сводится к визуализации в виде графа и по сути упирается в возможности графики, более менее реально в рамках браузера можно оперировать примерно 2000 вершин.
Дайте ссылку на свою разработку или статью о ней на Хабре — вероятно она стоит внимания.
Смысл попытаться описАть связь графом есть везде, где вы такую связь видите. «Из реальных приложений» я приводил пример и не один. Вы можете существенно экономить процессорное время: тогда как компьютер Штегманна обсчитывал, по его словам, все комбинации из 56-ти кубиков в «течение целой ночи», я считал этот же объем за несколько минут.
Не надо забывать, что бинарное дерево и список — это графы. В программировании их используют почти везде. Вопрос о максимальной высоте бинарного дерева и способы балансировки дерева — это вопросы теории графов. В ряде практических задач важно, что установление изоморфизма 2 деревьев — легкая по теор. сложности задача.
Вопросы «опроса» после статьи вызвали затруднения? — Неожиданно…
Ответы на опрос опубликую через пару-тройку дней. Думаю, этого времени хватит всем желающим, чтобы отметиться.
Еще о применениях теории графов стоит почитать Википедию (в английской сказано больше).
Только один пример:
В схемотехнике (топология межсоединений элементов на печатной плате или микросхеме представляет собой граф или гиперграф)
Не только ПК, но ни одно сколь-нибудь сложное электронное устройство не сделать без программы трассировки.
Sign up to leave a comment.

Articles