Hola, viendo tu ejemplo tengo un comentario...
Las cadenas que puede aceptar son:
unouno
unodosuno
unodossoduno
unodostresonusodsertuno
y así sucesivamente. además debo imprimir las 50 combinaciones que pueda aceptar y decirme si reconoce o no la palabra.
Segun el automata que describes:
L(G)={WWr={uno,onu,dos,sod,tres,sert}}
las cadenas que aceptaria, segun mi interpretación son:
unouno
unodosdosuno
unodostrestresdosuno
onuunosodsodunoonu
etc...
Es sencillo el automata que quieres desarrollar. Con un autómata de pila donde vayas metiendo las cadenas de W y despues la saques al reves para que concuerde con Wr. El problema es que es no determinístico y habra que decidir el momento en el que hay que empesar a sacar los datos de la pila; con el detalle que no puedes saber la longitud de la entrada como para decir que a la mitad ya empiesa Wr.
La otra alternativa es crear una máquina de touring pero te encontrarias con un problema similar.
Te indicaron alguno de esos modelos para tu automata?