Przykład 1:
Zaprojektuj FA z ∑ = {0, 1} akceptuje te ciągi, które zaczynają się od 1 i kończą na 0.
Rozwiązanie:
FA będzie miał stan początkowy q0, z którego do następnego stanu przejdzie tylko zbocze z wejściem 1.
W stanie q1, jeśli odczytamy 1, będziemy w stanie q1, natomiast jeśli w stanie q1 odczytamy 0, dotrzemy do stanu q2, który jest stanem końcowym. W stanie q2, jeśli odczytamy 0 lub 1, przejdziemy odpowiednio do stanu q2 lub stanu q1. Należy pamiętać, że jeśli wejście zakończy się na 0, będzie w stanie końcowym.
wygeneruj liczbę losową w Javie
Przykład 2:
Zaprojektuj FA z ∑ = {0, 1} akceptuje jedyne wejście 101.
Rozwiązanie:
W podanym rozwiązaniu widzimy, że akceptowane będzie tylko wejście 101. Dlatego dla wejścia 101 nie jest pokazana żadna inna ścieżka dla innego wejścia.
Przykład 3:
Projekt FA z ∑ = {0, 1} akceptuje parzystą liczbę zer i parzystą liczbę jedynek.
Rozwiązanie:
jak przekonwertować znak na ciąg
W tym FA rozważone zostaną cztery różne etapy dla wejścia 0 i wejścia 1. Etapy mogą być następujące:
Tutaj q0 jest stanem początkowym i stanem końcowym. Należy zwrócić uwagę, że zachowana jest symetria zer i jedynek. Każdemu stanowi możemy przypisać znaczenia jako:
q0: stan parzystej liczby zer i parzystej liczby jedynek.
q1: stan nieparzystej liczby zer i parzystej liczby jedynek.
q2: stan nieparzystej liczby zer i nieparzystej liczby jedynek.
q3: stan parzystej liczby zer i nieparzystej liczby jedynek.
Przykład 4:
Projekt FA z ∑ = {0, 1} akceptuje zbiór wszystkich ciągów znaków z trzema kolejnymi zerami.
svm
Rozwiązanie:
Ciągi, które zostaną wygenerowane dla tych konkretnych języków, to 000, 0001, 1000, 10001, .... gdzie 0 zawsze pojawia się w grupie 3. Wykres przejścia wygląda następująco:
Należy zauważyć, że sekwencja potrójnych zer jest utrzymywana, aby osiągnąć stan końcowy.
Przykład 5:
Zaprojektuj DFA L(M) = {w | w ε {0, 1}*} i W jest ciągiem znaków, który nie zawiera kolejnych jedynek.
przełącznik Javy
Rozwiązanie:
Kiedy wystąpią trzy kolejne jedynki, DFA będzie:
Tutaj dopuszczalne są dwie kolejne jedynki lub pojedyncza jedynka
Etapy q0, q1, q2 są stanami końcowymi. DFA wygeneruje ciągi, które nie zawierają kolejnych jedynek, takich jak 10, 110, 101,..... itd.
Przykład 6:
Zaprojektuj FA z ∑ = {0, 1} akceptuje ciągi z parzystą liczbą zer, po których następuje pojedyncza jedynka.
Rozwiązanie:
DFA można przedstawić za pomocą diagramu przejścia jako: