Удобный инструмент с "авто-распределением" для рисования State Machine
От: gyraboo  
Дата: 22.08.20 10:42
Оценка:
Всем ку! Есть ли в природе удобный и бесплатный инструмент для рисования State Machine, который умеет автоматически "перераспределять" блоки?
Много чего перепробовал, в итоге пришёл к использованию UMLet для этих целей. Он удобен всем, кроме неумения автоматически "перераспределять" диаграмму, чтобы уменьшить пересечение линий. В итоге получается, если состояний 10 и более, и кол-во переходов большое, начинается ад из пересечений этих линий.
Re: Удобный инструмент с "авто-распределением" для рисования State Machine
От: velkin Земля kisa.biz
Дата: 22.08.20 16:27
Оценка: 1 (1)
Здравствуйте, gyraboo, Вы писали:

G>Много чего перепробовал, в итоге пришёл к использованию UMLet для этих целей.


Как по мне, так Dia лучше UMLet.

G>Он удобен всем, кроме неумения автоматически "перераспределять" диаграмму, чтобы уменьшить пересечение линий. В итоге получается, если состояний 10 и более, и кол-во переходов большое, начинается ад из пересечений этих линий.


Не помню чтобы какая-то гуишная программа такое умела. Зато это умеют различные генераторы диаграмм, типа такого — диаграммы состояний plantuml.
Re: Удобный инструмент с "авто-распределением" для рисования State Machine
От: Je suis Mamut  
Дата: 22.08.20 16:32
Оценка:
G>Всем ку! Есть ли в природе удобный и бесплатный инструмент для рисования State Machine, который умеет автоматически "перераспределять" блоки?
G>Много чего перепробовал, в итоге пришёл к использованию UMLet для этих целей. Он удобен всем, кроме неумения автоматически "перераспределять" диаграмму, чтобы уменьшить пересечение линий. В итоге получается, если состояний 10 и более, и кол-во переходов большое, начинается ад из пересечений этих линий.

я когда-то заходил с другой стороны, и искал алгоритм уменьшения пересечений
всё что я нашел, было либо плохо, либо очено плохо
я не слышал про подвижки в этой области с тех пор
Re[2]: Удобный инструмент с "авто-распределением" для рисования State Machine
От: gyraboo  
Дата: 22.08.20 16:49
Оценка:
Здравствуйте, Je suis Mamut, Вы писали:

G>>Всем ку! Есть ли в природе удобный и бесплатный инструмент для рисования State Machine, который умеет автоматически "перераспределять" блоки?

G>>Много чего перепробовал, в итоге пришёл к использованию UMLet для этих целей. Он удобен всем, кроме неумения автоматически "перераспределять" диаграмму, чтобы уменьшить пересечение линий. В итоге получается, если состояний 10 и более, и кол-во переходов большое, начинается ад из пересечений этих линий.

JSM>я когда-то заходил с другой стороны, и искал алгоритм уменьшения пересечений

JSM>всё что я нашел, было либо плохо, либо очено плохо
JSM>я не слышал про подвижки в этой области с тех пор

А в чём проблема с алгоритмом? Слишком большое количество комбинаторных вариантов? Или невозможность формализовать "красивое" расположение?
Re[3]: Удобный инструмент с "авто-распределением" для рисования State Machine
От: Je suis Mamut  
Дата: 22.08.20 16:55
Оценка:
G>А в чём проблема с алгоритмом? Слишком большое количество комбинаторных вариантов? Или невозможность формализовать "красивое" расположение?

если втупую перебирать — да, слишком большое

с красивостью — ну, наверное в качестве простого критерия можно принять количество пересечений — чем меньше, тем лучше

я не видел таких, которые решают задачу строго, а для того чтобы самому наваять — мне мозгов не хватает

видел энное количество алгоритмов, которые берут какое-то начальное состояние и пытаются итеративно его улучшить (начальное состояние задается более-менее случайно, за неимением лучших вариантов)

такие улучшатели легко сваливаются в локальный максимум, и глобальный находят только при определенном везении

это было сильно давно, все могло поменяться и я очень надеюсь что кто-нибудь придет сюда и ткнет меня носом в хороший алгоритм
Re[4]: Удобный инструмент с "авто-распределением" для рисования State Machine
От: gyraboo  
Дата: 22.08.20 17:00
Оценка:
Здравствуйте, Je suis Mamut, Вы писали:

G>>А в чём проблема с алгоритмом? Слишком большое количество комбинаторных вариантов? Или невозможность формализовать "красивое" расположение?


JSM>если втупую перебирать — да, слишком большое


JSM>с красивостью — ну, наверное в качестве простого критерия можно принять количество пересечений — чем меньше, тем лучше


JSM>я не видел таких, которые решают задачу строго, а для того чтобы самому наваять — мне мозгов не хватает


JSM>видел энное количество алгоритмов, которые берут какое-то начальное состояние и пытаются итеративно его улучшить (начальное состояние задается более-менее случайно, за неимением лучших вариантов)


JSM>такие улучшатели легко сваливаются в локальный максимум, и глобальный находят только при определенном везении


JSM>это было сильно давно, все могло поменяться и я очень надеюсь что кто-нибудь придет сюда и ткнет меня носом в хороший алгоритм


Интересно, возможно еще одна задачка для квантового компьютинга))
Re[5]: Удобный инструмент с "авто-распределением" для рисования State Machine
От: Je suis Mamut  
Дата: 22.08.20 17:05
Оценка:
JSM>>это было сильно давно, все могло поменяться и я очень надеюсь что кто-нибудь придет сюда и ткнет меня носом в хороший алгоритм

G>Интересно, возможно еще одна задачка для квантового компьютинга))


надеюсь что нет, там просто кто-то со светлой головой должен подумать
ну, там, не знаю, взять какой-нибудь алгоритм для планаризации планарных графов и удачно расширить его на непланарные
Re[4]: Удобный инструмент с "авто-распределением" для рисования State Machine
От: Евгений Акиньшин grapholite.com
Дата: 23.08.20 14:18
Оценка: 6 (1)
Здравствуйте, Je suis Mamut, Вы писали:

G>>А в чём проблема с алгоритмом? Слишком большое количество комбинаторных вариантов? Или невозможность формализовать "красивое" расположение?


JSM>если втупую перебирать — да, слишком большое


JSM>с красивостью — ну, наверное в качестве простого критерия можно принять количество пересечений — чем меньше, тем лучше


нельзя , как только диаграмма становится хоть сколько-нибудь сложной, начинает получаться фигня — например вся диаграмма растянется в одну линию

я комбинировал минимум пересечений + условие кучности расположения (мин площадь рисунка\соотношение высоты ширины) + число поворотов в связях\длину связей
и еще кучу всего и подбирал коэффициенты, но сильно хвастаться все равно нечем

JSM>такие улучшатели легко сваливаются в локальный максимум, и глобальный находят только при определенном везении


ну это не такая большая проблема, если не нужна скорость на уровне рилтайм

алгоритм устойчивый к локальным минимумам (типа генетического) + лучший вариант из множества прогонов (и лучше, когда пользователь в конце выбирает из 10-ка лучших)

JSM>это было сильно давно, все могло поменяться и я очень надеюсь что кто-нибудь придет сюда и ткнет меня носом в хороший алгоритм


я бы тоже не отказался
Не шалю, никого не трогаю, починяю примус Diagrams Designer for iPad and Windows 10
Re: Удобный инструмент с "авто-распределением" для рисования State Machine
От: cserg  
Дата: 23.08.20 15:38
Оценка: +2
Здравствуйте, gyraboo, Вы писали:

G>Всем ку! Есть ли в природе удобный и бесплатный инструмент для рисования State Machine,

Попробуйте yEd Graph Editor. Я правда не использовал его именно для State Machine, но судя по этому вопросу и ответу, он должен подойти.
G>который умеет автоматически "перераспределять" блоки?
умеет
Re[3]: Удобный инструмент с "авто-распределением" для рисования State Machine
От: cserg  
Дата: 23.08.20 16:12
Оценка:
Здравствуйте, gyraboo, Вы писали:

G>А в чём проблема с алгоритмом?

Нет единого алгоритма. В одних случаях нужна, например, иерархическая укладка, в других — ортогональная. Зависит от прикладной области.

G>Слишком большое количество комбинаторных вариантов?

Не только.

G>Или невозможность формализовать "красивое" расположение?

"Красивость" формализовать можно, например, посредством ограничений. Проблема в том, что они конфликтуют между собой. Если минимизируете количество пересечений ребер, то растет площадь диаграммы. Есть и другие конфликты, сейчас просто их уже не помню.
Re: Удобный инструмент с "авто-распределением" для рисования State Machine
От: Мёртвый Даун Россия  
Дата: 01.09.20 04:00
Оценка:
Здравствуйте, gyraboo, Вы писали:

Sybase Power Designer 16
Умеет всё, от слова абсолютно всё! Даже код генерить, и отчеты генерить.
Только Путин, и никого кроме Путина! О Великий и Могучий Путин — царь на веки веков, навсегда!
Смотрю только Соловьева и Михеева, для меня это самые авторитетные эксперты.
КРЫМ НАШ! СКОРО И ВСЯ УКРАИНА БУДЕТ НАШЕЙ!
Re[2]: Удобный инструмент с "авто-распределением" для рисования State Machine
От: gyraboo  
Дата: 01.09.20 13:38
Оценка:
Здравствуйте, Мёртвый Даун, Вы писали:

МД>Sybase Power Designer 16

МД>Умеет всё, от слова абсолютно всё! Даже код генерить, и отчеты генерить.

Да, пользовался им раньше, хорошая вещь, но стоит как космический корабль. Меня больше бесплатные тулзы интересуют.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.