Moore makinesi, bir sonraki duruma mevcut durum ve mevcut giriş sembolü tarafından karar verilen sonlu durumlu bir makinedir. Belirli bir andaki çıkış sembolü yalnızca makinenin mevcut durumuna bağlıdır. Moore makinesi 6 demet (Q, q0, ∑, O, δ, λ) ile tanımlanabilir; burada,
Q: finite set of states q0: initial state of machine ∑: finite set of input symbols O: output alphabet δ: transition function where Q × ∑ → Q λ: output function where Q → O
Örnek 1:
Moore Makinesi için durum diyagramı
Moore Makinesi için geçiş tablosu:
ms word hızlı erişim araç çubuğu
Yukarıdaki Moore makinesinde çıkış, / ile ayrılmış her giriş durumuyla temsil edilir. Moore makinesinin çıkış uzunluğu girişten 1 kat daha büyüktür.
Giriş: 010
Geçiş: δ (q0,0) => δ(q1,1) => δ(q1,0) => q2
Çıktı: 1110(q0 için 1, q1 için 1, yine q1 için 1, q2 için 0)
Örnek 2:
Belirli bir ikili sayının 1'e tümleyenini üretecek bir Moore makinesi tasarlayın.
Çözüm: Belirli bir ikili sayının 1'e tümleyenini oluşturmak için basit mantık şudur: Giriş 0 ise çıkış 1 olacaktır ve giriş 1 ise çıkış 0 olacaktır. Bu, üç durum olduğu anlamına gelir. Bir durum başlangıç durumudur. İkinci durum 0'ları girdi olarak alıp 1 olarak çıktı üretmektir. Üçüncü durum ise 1'leri girdi olarak alıp çıktıyı 0 olarak üretmektir.
Dolayısıyla Moore makinesi şöyle olacaktır:
Örneğin, 1011 ikili sayısını alın ve ardından
Giriş | 1 | 0 | 1 | 1 | |
Durum | q0 | q2 | q1 | q2 | q2 |
Çıktı | 0 | 0 | 1 | 0 | 0 |
Böylece 1011'in 1'e tümleyeni olarak 00100 elde ederiz, ilk 0'ı ihmal edebiliriz ve elde ettiğimiz çıktı 1011'in 1'in tümleyeni olan 0100 olur. İşlem tablosu aşağıdaki gibidir:
Böylece Moore makinesi M = (Q, q0, ∑, O, δ, λ); burada Q = {q0, q1, q2}, ∑ = {0, 1}, Ö = {0, 1}. geçiş tablosu δ ve λ fonksiyonlarını gösterir.
Örnek 3:
Bir ikili giriş dizisi için bir Moore makinesi tasarlayın; öyle ki, eğer bir alt dizgisi (101) varsa, makine çıktısı A, eğer girdi alt dizgesi (110) varsa, çıktısı B'dir, aksi halde çıktısı C'dir.
Çözüm: Böyle bir makine tasarlamak için iki koşulu kontrol edeceğiz, bunlar 101 ve 110. 101 alırsak çıktı A, 110'u tanırsak çıktı B olacaktır. Diğer stringler için çıktı şu şekilde olacaktır: C.
Kısmi diyagram şöyle olacaktır:
harita metni
Şimdi her durum için 0'ların ve 1'lerin olasılıklarını ekleyeceğiz. Böylece Moore makinesi şu hale gelir:
Örnek 4:
Bir giriş dizesinin çift sayıda veya tek sayıda 1 içerip içermediğini belirleyen bir Moore makinesi oluşturun. Dizede çift sayıda 1 varsa makine çıktı olarak 1'i, aksi halde 0'ı vermelidir.
Çözüm:
Moore makinesi şöyle olacaktır:
Bu gerekli Moore makinesidir. Bu makinede, q1 durumu tek sayıdaki 1'leri, q0 durumu ise çift sayıdaki 1'leri kabul etmektedir. Sıfır sayısında herhangi bir kısıtlama yoktur. Dolayısıyla 0 girişi için her iki duruma da kendi kendine döngü uygulanabilir.
Örnek 5:
Giriş alfabesi {0, 1} ve çıkış alfabesi {Y, N} ile bir Moore makinesi tasarlayın; bu makine, eğer giriş dizisi bir alt dizi olarak 1010 içeriyorsa çıktı olarak Y üretir, aksi halde çıktı olarak N üretir.
Çözüm:
işaretlemede altı çizili
Moore makinesi şöyle olacaktır: