Desenho de Automatos

Que tipo de autómato?

Simples? de pilha? LR (parsing)? maquinas de turing?

Em Visio ou mesmo no World deve dar para fazer isso, senão até no Paint pode conseguir qualquer coisa se forem simples e pequenos. Caso pretenda algo mais vectorial tem o Corel Draw.

Isso assumindo que já tens o autómato feito no papel

Agora software próprio não tenho idéia (embora com o Magic Draw pode servir, mas já trata-se de UML), até porque a cadeira de Teoria da Computação onde dei estes conceitos é feita totalmente "no papel".

@ ribeiro55, se o que o programa faz é aqueles esquema não serve.

um autómato simples/finito é algo do género:

227f_af_minimizado.gif
 
Última edição:
ja agora, ja viste o graphviz?


ex:
fsm.png


Código:
digraph finite_state_machine {
	rankdir=LR;
	size="8,5"
	node [shape = doublecircle]; LR_0 LR_3 LR_4 LR_8;
	node [shape = circle];
	LR_0 -> LR_2 [ label = "SS(B)" ];
	LR_0 -> LR_1 [ label = "SS(S)" ];
	LR_1 -> LR_3 [ label = "S($end)" ];
	LR_2 -> LR_6 [ label = "SS(b)" ];
	LR_2 -> LR_5 [ label = "SS(a)" ];
	LR_2 -> LR_4 [ label = "S(A)" ];
	LR_5 -> LR_7 [ label = "S(b)" ];
	LR_5 -> LR_5 [ label = "S(a)" ];
	LR_6 -> LR_6 [ label = "S(b)" ];
	LR_6 -> LR_5 [ label = "S(a)" ];
	LR_7 -> LR_8 [ label = "S(b)" ];
	LR_7 -> LR_5 [ label = "S(a)" ];
	LR_8 -> LR_6 [ label = "S(b)" ];
	LR_8 -> LR_5 [ label = "S(a)" ];
}

e ainda não encontrei o online, mas tambem não era propriamente o que produzia resultados mais bonitos
 
Que tipo de autómato?

Simples? de pilha? LR (parsing)? maquinas de turing?

Em Visio ou mesmo no World deve dar para fazer isso, senão até no Paint pode conseguir qualquer coisa se forem simples e pequenos. Caso pretenda algo mais vectorial tem o Corel Draw.

Isso assumindo que já tens o autómato feito no papel


227f_af_minimizado.gif

Eu quero converter um algoritmo em autómato, para apresentar o mesmo. O autómato já esta no papel (na verdade não está, mas é como se estivesse ;) e o que eu quero fazer é um boneco como essa da imagem)

Como o mesmo tem uma duração infinita, a maneira mais simples de o representar que tenho em mente é um autómato. Já que se trata de uma estrutura (na verdade vão ser várias) de dados sobre a qual podem actuar vários processos (dos quais há dois diferentes a nível de código).

Já comecei a fazer em visio, mas o que eu queria era algo que desse um aspecto profissional, que fizesse o algoritmo parecer melhor que do que é ;)
 
Uns dos melhores programas que conheço para desenhar autómatos é o OmniGraffle, mas penso que só corre em Mac.

O Graphviz também é interessante, mas é mais para gerar autómatos automaticamente, e não para o desenhares à mão.
 
Back
Topo