Java'da bir NFA benzetimini yapmak için bir ödev verdim. Şimdi bir NFA simüle etmek zorunda aşağıdaki normal ifade Ben çok fazla e-semboller varJava'da NFA simülasyonu
ab*((b|d)|c*)
olduğunu. Sadece aşağıdaki aşağıdaki resmin doğru olup olmadığını merak ediyordum.
Düğümler 10, 11, 12 ve 13 muhtemelen sadece iki düğümler içine yoğunlaşmış olabilir? –
Ben başlangıçta ama yine de öğretim görevlisi tekrar tekrar için kullanarak ve NFA oluşturmak için Thompson inşaat kullanarak stil istiyor. Ben sadece 2 ila 3 e geçiş, 3 ila 4 e geçiş ve 4 ila 5 veya 4 ila 7 e geçiş olduğundan şüpheliyim. – unleashed
Eh, 2-3 azaltılabilir, 'b *' sonuçta hiçbir 'b' ile 1-2 arasında bir' e' geçişiniz olur. Bunun dışında kalanların uygun olduğunu düşünüyorum. Sonuçta sonuç aynı, sadece bir tane daha az düğüm. –