Serkan Uğur

Serkan Uğur

BT Öğretmeni & Eğitim Teknolojileri
🏠 Ana Sayfa 👨‍🏫 Hakkımda 📧 İletişim 🔒 Gizlilik

Sonlu Durum Makineleri

📢 Reklam Alanı — AdSense onayından sonra buraya reklam gelecek
💡 Bilgisayar Bilimi · Temel Kavramlar

Sonlu Durum Makineleri:
Teknolojinin Görünmez Beyni

Bankamatikten araba yıkamaya, trafik lambalarından bebeğinize kadar — aslında hepsi aynı mantıkla çalışıyor.

🤔 Sonlu Durum Makinesi Nedir?

En basit tanımıyla: Bir sistem, belirli sayıda durumda bulunabiliyorsa ve bir giriş aldığında bir durumdan başka bir duruma geçiş yapıyorsa — bu bir Sonlu Durum Makinesidir (FSM / Finite State Automata).

Şöyle düşünün: Kapı ya açıktır ya da kapalı. Üçüncü bir durum yok. Anahtarı çevirdiğinizde bir durumdan diğerine geçiş yapıyor. İşte bu, en sade FSM örneğidir.

Günlük hayatta farkında olmadan onlarca FSM ile etkileşime giriyoruz. Turnike, ATM, çamaşır makinesi, trafik lambası, akıllı saat... Hepsinin kalbinde bu basit ama güçlü mantık yatıyor.

🧩 Üç Temel Unsur

📍
Durum (State)
Sistemin o anki konumu. Örn: "Bekliyor", "Çalışıyor", "Hata"
➡️
Geçiş (Transition)
Bir durumdan diğerine geçmeyi sağlayan tetikleyici eylem
⌨️
Giriş (Input)
Sistemi harekete geçiren sinyal. Para, tuş, sensör verisi...

🚦 Trafik Lambası — En Sade FSM

Trafik lambası mükemmel bir FSM örneğidir. Sadece 3 durum, sadece zamanlayıcı girişi. Her durum bir sonraki durumu tetikler ve döngü sürer:

Trafik lambası sonlu durum makinesi diyagramı Kırmızı, Sarı ve Yeşil durumları arasındaki geçişleri gösteren FSM diyagramı Kırmızı Dur Yeşil Geç Sarı Hazırlan Süre doldu Süre doldu Süre doldu Başla

Üç durum, bir giriş (zamanlayıcı), sonsuz döngü. İşte FSM budur.

🌍 Hayatımızdaki FSM'ler

Çay/Kahve Otomatı
Para at → Seçim bekle → Seç → Hazırla → Ver → Başa dön. Her adım bir durum!
🚗
Araba Yıkama
Araç algıla → Islatma → Fırçalama → Durulama → Kurutma. İnsan etkileşimi olmadan geçişler.
🎮
Oyun Makinesi
Jeton gir → Oyun seç → Oyna → Süre bitti → Jeton bekle → Başa dön.
🏧
ATM / Bankamatik
Güç aç → Test → Bekle → Kart oku → Şifre → İşlem seç → Para ver → Çıkış.
Elektronik Saat
A tuşuna 1 kez → Tarih. 2 kez → Kronometre. B tuşu → Başlat/Durdur. Her tuş bir giriş!
🚇
Metro Turnikesi
Kilitli bekle → Kart oku → Kilidi aç → Geç → Tekrar kilitle. En sade FSM örneklerinden.

🏧 ATM Durum Diyagramı

Serkan Uğur'un harika analiziyle ATM'nin her adımı aslında bir durum geçişidir:

ATM sonlu durum makinesi diyagramı ATM'nin kapalıdan işlem tamamlanmasına kadar durum geçişleri Kapalı Kendi Testi Hata / Devre Dışı Boşta Bekle Kart Oku Şifre Gir İşlem Menüsü İşlem Yap İptal → Kart İade Güç Başarılı Hata Kart Okuma OK Şifre OK İşlem seç İptal Kart İade Normal geçiş İptal / Hata

🔍 Daha Derin Bakalım

🚗 Araba Yıkama Makinesi — Sensörlü FSM

Araba yıkama makinesi özellikle ilginçtir çünkü sisteme arabanın boyunu veya yüksekliğini söylemiyorsunuz. Sistem bunu kendi keşfeder!

1
Araç Algılama: Sensör aracı tespit eder, "Başlat" butonuna basılır
2
Islatma: Yağmurlama başlar, belirli süre sonra otomatik geçiş
3
Fırçalama: Fırçalar alttan başlar, engel hissedince yukarı çıkar — arabanın şeklini hafızaya alır!
4
Durulama → Kurutma: Hiçbir insan müdahalesi olmadan geçiş yapılır

Bu, lambda geçişi kullanan bir FSM örneğidir — dış giriş beklemeden kendi kendine ilerleyen sistem.

👶 Ağlayan Bebek — Doğanın FSM'i

Bu örneği İngilizce bir blog yazısında keşfettim ve çok etkileyici buldum. Elini kapıya sıkıştıran bir bebek ağlamaya başlıyor. Her türlü yatıştırma girişimi işe yaramıyor. Anne bebeği yatağa koyup tekrar kucağına aldığında — bebek susuveriyor.

Bu tam bir FSM davranışı! Bebek "yatakta/ağlıyor" durumunda. Kucağa alınma tanınan bir giriş. Ve sistem "kucakta/sakin" son durumuna geçiş yapıyor.

Bebek gelişimi uzmanları bu "durum-giriş-geçiş" mantığını bilerek kullanıyor. En temel metro turnike FSM'iyle aynı yapı!

⚖️ DFA mı NFA mı?

FSM'ler kendi içinde iki gruba ayrılır — ama aslında birbirinden çok da farklı değiller:

DFA — Deterministik

Her durum için tek ve kesin bir sonraki durum var. Trafik lambası gibi — kırmızıdan sonra mutlaka yeşil gelir, başka seçenek yok.

NFA — Non-Deterministik

Bir durumdan birden fazla yola gidilebilir. DFA'nın sadeleştirilmiş hali. Daha az kaynak kullanır, aynı işi yapar.

NFA → DFA dönüşümü: Aynı işi yapan sistemin daha küçük, daha ekonomik versiyonunu elde etmek için kullanılır. Tıpkı aynı yolu daha az adımda almanın yolunu bulmak gibi.

🔌 FPGA: Paralel FSM'ler

Tek bir FSM sıralı çalışır — bir iş biter, diğeri başlar. Ama FPGA (Field Programmable Gate Array) denilen sistemler, aynı anda onlarca FSM'i paralel çalıştırır.

Şöyle düşünün: Sabah kahvaltı yaparken gazete okuyup çayınızı yudumlamak. Tek sırayla yapmasaydınız bunları — kahvaltı biter, sonra gazete okursunuz, sonra çay içerdiniz. Paralel FSM bu farkı yaratır. Üretim hatlarında, uçak üretiminde, şişeleme sistemlerinde tam da bu yüzden kullanılır.

💡 Sonuç: Her Yerde FSM Var

Sonlu Durum Makineleri, günümüz teknolojisinin görünmez beynidir. ATM'den trafik lambasına, akıllı saatten araba yıkama makinesine — hepsinin kalbinde bu basit ama güçlü mantık yatar: Durum → Giriş → Geçiş → Yeni Durum. Bunu anladığınızda, etrafınızdaki teknolojiye bambaşka gözlerle bakacaksınız.

📢 Reklam Alanı — AdSense onayından sonra buraya reklam gelecek