2011-09-13 16 views
6

Quale sarebbe la biblioteca automi a stati finiti più completa per Python, che è in grado di fare le manipolazioni di base come ad esempio:Python Finite Automata biblioteca

  • minimizzazione,
  • determinizzazione di automa a stati finiti non deterministico
  • dell'Unione , Intersezione e prodotto delle lingue generate da questi automi, ecc.

Tutte le librerie che sto trovando sono incomplete o non funzionano plug-and-play -saggio.

+0

"set" Proprio native stanno facendo unione, intersezione, ... :: http://docs.python.org/library/sets.html – Louis

risposta

3

python-automata sembra essere in grado di fare tutte le cose che stai chiedendo.

  • Cosa manca?
  • Forse vorresti contribuire personalmente con una funzione mancante?
+1

Manca una rappresentazione di automa a stati finiti non deterministico, e una funzione di trasformare tali NFA in un DFA. Manca anche una funzione per rendere omomorfismi: mappare un alfabeto Sigma in un alfabeto Sigma '. Contribuirò io stesso se sono sicuro che non ci sia già un'altra biblioteca a farlo. Dal momento che tutte queste operazioni sono standard, credo che qualcuno abbia già scritto una tale libreria. – asker

+0

Ti suggerisco di aggiungere quei requisiti al tuo post originale, quindi. –

+0

@asker Hai trovato una soluzione? In caso contrario, sarei felice di accettare qualsiasi contributo a python-automata. –

1

Se non ti dispiace usare una libreria C++ sottostante puoi provare con Python bindings . PyFsa ha gli algoritmi di ottimizzazione che hai elencato.