Sonlu Durum Makineleri
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
🚦 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:
Üç durum, bir giriş (zamanlayıcı), sonsuz döngü. İşte FSM budur.
🌍 Hayatımızdaki FSM'ler
🏧 ATM Durum Diyagramı
Serkan Uğur'un harika analiziyle ATM'nin her adımı aslında bir durum geçişidir:
🔍 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!
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.

Scratch, Arduino, TÜBİTAK, Teknofest ve eğitim teknolojileri üzerine içerikler üretiyorum.