İçindekiler
- Markov Zinciri Nedir
- Kısa Tarihçe: Andrei Markov'dan Günümüze
- Geçiş Matrisi ve Geçiş Diyagramı
- Chapman-Kolmogorov Denklemi
- Durağan Dağılım (Steady-State) Hesabı
- Durumların Sınıflandırılması
- Absorbe Edici Markov Zincirleri
- Sürekli Zamanlı Markov Zincirleri (CTMC)
- Makine Güvenilirlik Modeli
- Stok Yönetimi Uygulaması
- Kuyruk Teorisi ile Bağlantı
- Vaka: Türbin Bakım Optimizasyonu
- Vaka: Pazar Payı Analizi
- Python ile Markov Zinciri Simülasyonu
- Sınırlamalar ve Dikkat Edilmesi Gerekenler
- Sonuç ve Öneriler
1. Markov Zinciri Nedir
Rusya matematikçi Andrei Andreyeviç Markov'un 1906'da tanımladığı bu stokastik süreç, temel bir özelliği nedeniyle endüstri mühendisliğinin en güçlü araçlarından biridir: Bir sonraki duruma geçiş, yalnızca mevcut duruma bağlıdır — geçmişe değil.
Bu "beleksizlik" (Markov özelliği / memoryless property) özelliği, modeli analitik olarak çözülebilir kılar. Günlük hayattan bir örnek vermek gerekirse: Bir havanın yarın yağmurlu olup olmayacağını tahmin ederken, sadece bugünkü hava durumuna bakarsınız — bir hafta önceki hava durumunu bilmezseniz de iyi bir tahmin yapabilirsiniz.
Matematiksel Tanım:
P(Xn+1 = j | Xn = i, Xn-1 = in-1, ..., X0 = i0) = P(Xn+1 = j | Xn = i) = pij
Basit dille: Bir makinenin yarın arızalanma olasılığı, bugünkü durumuna bağlıdır — 5 yıl önce nasıl çalıştığına veya dün hangi durumda olduğuna değil. Gelecek sadece şimdiye bağlıdır.
Bir Markov Zinciri şu bileşenlerden oluşur:
| Bileşen | Tanım | Örnek |
|---|---|---|
| Durum Uzayı (S) | Sistemin alabileceği tüm olası durumlar kümesi | S = {İyi, Kötüleşiyor, Arızalı} |
| Geçiş Olasılıkları (pij) | i durumundan j durumuna geçme olasılığı | pİyi›Arızalı = 0.05 |
| Geçiş Matrisi (P) | Tüm geçiş olasılıklarını içeren kare matris | n×n boyutunda stokastik matris |
| Başlangıç Dağılımı (0) | Sistemin t=0 anındaki durum olasılıkları | 0 = [1, 0, 0] (başlangıçta İyi) |
| Zaman Adımları | Ayrık (gün, hafta) veya sürekli | Haftalık bakım kontrolü |
2. Kısa Tarihçe: Andrei Markov'dan Günümüze
Andrei Markov (1856–1922), St. Petersburg Üniversitesi'nde matematik profesörüydü. 1906'da Rusça sesli harflerin ve sessiz harflerin bir şiirde art arda gelme istatistiğini analiz ederek, bağımlı olasılık dizilerinin davranışını inceledi. Bu çalışma, bağımsız olaylar üzerine kurulu klasik olasılık teorisine önemli bir genişleme getirdi.
20. yüzyılın ikinci yarısında Markov Zincirleri şu alanlara yayıldı:
- 1950'ler: Kuyruk teorisinde (Erlang ve Kendall'ın çalışmaları) kullanım
- 1960'lar: NASA'nın uzay aracı güvenilirlik analizlerinde uygulama
- 1970'ler: Google'ın PageRank algoritmasının öncüsü olan akademik çalışmalar
- 1980'ler: Konuşma tanıma sistemlerinde Hidden Markov Models (HMM)
- 2000'ler: Google PageRank — web sayfalarını sıralamak için devasa bir Markov Zinciri
- 2020'ler: Kestirimci bakım (Predictive Maintenance) ve IoT sensör verileriyle birleşme
3. Geçiş Matrisi ve Geçiş Diyagramı
Bir Markov Zinciri, tüm durum geçiş olasılıklarını içeren P matrisi (stokastik matris) ile tanımlanır. Stokastik matrisin temel kuralı: Her satırın toplamı 1'e eşittir.
3.1 Örnek: Makine Durumu Modeli
Bir fabrikadaki CNC tezgahının haftadan haftaya durumu üç kategoride izlensin:
- G (Good / İyi): Makine sorunsuz çalışıyor
- D (Deteriorating / Kötüleşiyor): Titreşim artmış, verim düşüyor
- F (Failed / Arızalı): Makine durmuş, üretim yapılamıyor
G D F
P = G - 0.85 0.10 0.05 ¬
D - 0.20 0.60 0.20 -
F L 0.60 0.10 0.30 -
Kontrol:
Satır G: 0.85 + 0.10 + 0.05 = 1.00
Satır D: 0.20 + 0.60 + 0.20 = 1.00
Satır F: 0.60 + 0.10 + 0.30 = 1.00
3.2 Bu Matrisi Okumak
Geçiş matrisinin her bir hücresinin anlamını şöyle okuyabiliriz:
| Geçiş | Olasılık | Anlamı |
|---|---|---|
| G › G (0.85) | %85 | Bu hafta iyi çalışan makine, gelecek hafta da iyi çalışmaya devam eder |
| G › D (0.10) | %10 | İyi durumdaki makine gelecek hafta kötüleşmeye başlar |
| G › F (0.05) | %5 | İyi durumdaki makine aniden arızalanır (nadir ama olur) |
| D › G (0.20) | %20 | Kötüleşen makine kendiliğinden düzelir (hafif sorunlar geçer) |
| D › D (0.60) | %60 | Kötü durumda kalmaya devam eder |
| D › F (0.20) | %20 | Kötüleşme arızaya dönüşür |
| F › G (0.60) | %60 | Arızalanan makine onarılır ve iyi duruma döner |
| F › D (0.10) | %10 | Onarım kısmi olur, makine kötü durumda kalır |
| F › F (0.30) | %30 | Onarım tamamlanamaz, arıza devam eder |
4. Chapman-Kolmogorov Denklemi: n-Adım Geçişleri
Bir Markov Zincirinin en güçlü özelliklerinden biri, n adım sonrasındaki durum olasılıklarını hesaplayabilmesidir. Eğer P matrisi biliyorsanız, n adım sonrasındaki geçiş matrisi basitçe:
n adım sonraki durum olasılıkları:
n = 0 · Pn
4.1 Adım Adım Hesaplama Örneği
Makine başlangıçta "İyi" durumda olsun: 0 = [1, 0, 0]
1 hafta sonra (n=1):
1 = [0.85, 0.10, 0.05]
› %85 İyi, %10 Kötüleşiyor, %5 Arızalı
2 hafta sonra (n=2):
2[G] = 0.85×0.85 + 0.10×0.20 + 0.05×0.60
= 0.7225 + 0.0200 + 0.0300 = 0.7725
2[D] = 0.85×0.10 + 0.10×0.60 + 0.05×0.10
= 0.0850 + 0.0600 + 0.0050 = 0.1500
2[F] = 0.85×0.05 + 0.10×0.20 + 0.05×0.30
= 0.0425 + 0.0200 + 0.0150 = 0.0775
Kontrol: 0.7725 + 0.1500 + 0.0775 = 1.0000
Bu hesaplamayı tablo halinde özetleyelim:
| Hafta (n) | P(İyi) | P(Kötüleşiyor) | P(Arızalı) |
|---|---|---|---|
| 0 (Başlangıç) | 1.0000 | 0.0000 | 0.0000 |
| 1 | 0.8500 | 0.1000 | 0.0500 |
| 2 | 0.7725 | 0.1500 | 0.0775 |
| 5 | 0.7077 | 0.1515 | 0.1408 |
| 10 | 0.6915 | 0.1461 | 0.1624 |
| 20 | 0.6897 | 0.1445 | 0.1658 |
| (Durağan) | 0.6897 | 0.1444 | 0.1659 |
5. Durağan Dağılım (Steady-State) Hesabı
Uzun vadede sistem, hangi durumda ne kadar süre geçirir Bu sorunun cevabı durağan dağılım vektörü 'dir. İki temel koşulu sağlar:
Koşul 2: G + D + F = 1 (Olasılıkların toplamı 1)
5.1 Çözüm: Denklem Sistemi
· P = açılımı:
Denklem 2 (D): D = 0.10·G + 0.60·D + 0.10·F
Denklem 3 (F): F = 0.05·G + 0.20·D + 0.30·F
Denklem 4: G + D + F = 1
Denklem 1'i sadeleştirelim:
G - 0.85·G = 0.20·D + 0.60·F
0.15·G = 0.20·D + 0.60·F ... (I)
Denklem 2'yi sadeleştirelim:
0.40·D = 0.10·G + 0.10·F
D = 0.25·G + 0.25·F ... (II)
Denklem 3'ü sadeleştirelim:
0.70·F = 0.05·G + 0.20·D
F = (0.05·G + 0.20·D)/0.70 ... (III)
II'yi III'e yerleştirip çözerek ve Denklem 4'ü kullanarak:
G 0.6897, D 0.1444, F 0.1659
Kontrol: 0.6897 + 0.1444 + 0.1659 = 1.0000
5.2 Endüstriyel Yorum
| Durum | Olasılık | Yıllık Eşdeğer (52 hafta) | Endüstriyel Etki |
|---|---|---|---|
| İyi (G) | %68.97 | ~35.9 hafta | Tam kapasitede üretim |
| Kötüleşiyor (D) | %14.44 | ~7.5 hafta | Verim düşüşü (%10-20 kayıp) |
| Arızalı (F) | %16.59 | ~8.6 hafta | Tam duruş — maliyet: ~₺500K/hafta |
6. Durumların Sınıflandırılması
Markov Zincirlerinin doğru analizi için durumların sınıflandırılması kritiktir:
| Sınıf | Tanım | Örnek |
|---|---|---|
| Geçici (Transient) | Bir kez terk edildikten sonra geri dönülmesi garanti olmayan durum | Bir ürünün "yeni" durumu — bir kez kullanıldıktan sonra artık "yeni" değildir |
| Tekrarlayan (Recurrent) | Terk edildikten sonra kesinlikle tekrar ziyaret edilen durum | Bir makinenin "çalışıyor" durumu — tamir sonrası geri döner |
| Absorbe Edici (Absorbing) | Bir kez girildiğinde asla terk edilemeyen durum (pii = 1) | "İflas" durumu — bir kez iflas ettikten sonra çıkış yoktur |
| Periyodik | Duruma yalnızca belirli aralıklarla (periyotlarla) dönülebilen durum | Satranç tahtasında bir piyon — her hamlede koyu/açık renk değişir |
| Ergodik | Tekrarlayan ve aperiodik (periyodik olmayan) — durağan dağılım garanti | Hava durumu modelleri |
7. Absorbe Edici Markov Zincirleri
Bazı sistemlerde belirli durumlar absorbe edici'dir: Oraya girildikten sonra çıkış yoktur. Bu tür zincirlerde en önemli sorular:
- Absorbe edilme öncesinde ortalama kaç adım atılır
- Hangi absorbe edici durumda sonlanma olasılığı nedir
7.1 Proje Tamamlama Örneği
Bir yazılım projesinin aşamaları: Analiz › Tasarım › Kodlama › Test › Tamamlandı (Absorbe edici)
Q: Geçici durumlar arası geçiş alt matrisi
I: Birim matris
N: Her geçici durumda beklenen ziyaret sayısı
Beklenen adım sayısı = N · 1 (N matrisinin satır toplamları)
Absorbe olma olasılıkları = N · R (R: geçiciden absorbe ediciye geçiş matrisi)
8. Sürekli Zamanlı Markov Zincirleri (CTMC)
Ayrık zamanlı zincirlerde geçişler sabit aralıklarla olurken, CTMC'de geçişler herhangi bir anda gerçekleşir. Bir durumda kalma süresi üstel dağılım izler.
CTMC'yi tanımlayan Q matrisinde:
• qij 0 (i j): i'den j'ye geçiş hızı
• qii = -ji qij: Satır toplamları sıfır
Durağan dağılım: · Q = 0 ve i = 1
CTMC, kuyruk teorisi modellerinin (M/M/1, M/M/c gibi) temelidir. Doğum-ölüm süreçleri, CTMC'nin özel bir halidir.
9. Makine Güvenilirlik Modeli: Bakım Stratejileri Karşılaştırması
Markov Zincirlerinin en yaygın endüstriyel kullanımı, bakım stratejilerinin karşılaştırılmasıdır. Farklı bakım politikaları, geçiş matrisini değiştirir ve böylece durağan dağılımı (yani uzun vadeli maliyeti) etkiler.
| Strateji | Tanım | Geçiş Matrisine Etkisi | F (Arıza %) | Yıllık Maliyet |
|---|---|---|---|---|
| Reaktif Bakım | Sadece arızalanınca müdahale | Orijinal P matrisi kullanılır | %16.59 | ~₺4.3M (sadece onarım) |
| Önleyici Bakım | "Kötüleşiyor" durumunda planlı müdahale | D›G: 0.20 › 0.70 olur D›F: 0.20 › 0.05 olur | %6.82 | ~₺1.8M (onarım) + ₺400K (bakım) = ₺2.2M |
| Kestirimci Bakım | IoT sensörüyle anlık durum tespiti | Matris dinamik güncellenir, D›G: 0.85 | %3.15 | ~₺820K (onarım) + ₺600K (IoT) = ₺1.4M |
10. Stok Yönetimi Uygulaması
Bir deponun haftalık stok seviyesi Markov Zinciri ile modellenebilir.
10.1 Problem Tanımı
Bir yedek parça deposu (S=3, s=1) politikası izliyor:
- Hafta sonunda stok seviyesi s=1 veya altındaysa, S=3'e tamamla
- Haftalık talep: 0 adet (%30), 1 adet (%40), 2 adet (%20), 3+ adet (%10)
Geçiş Matrisi:
0 1 2 3
0 - 0.00 0.00 0.00 1.00 ¬ ‹ s altında, S=3'e sipariş verilir
1 - 0.00 0.00 0.00 1.00 - ‹ s=1, S=3'e sipariş
2 - 0.10 0.20 0.40 0.30 - ‹ Siparişsiz, talebe bağlı
3 L 0.10 0.20 0.40 0.30 - ‹ Siparişsiz, talebe bağlı
Bu modelin durağan dağılımı hesaplanarak ortalama stok maliyeti, beklenen stoksuz kalma oranı ve optimal sipariş politikası belirlenebilir.
11. Kuyruk Teorisi ile Bağlantı
M/M/1 kuyruğu, aslında bir Doğum-Ölüm Süreci'dir ve sürekli zamanlı Markov Zinciri (CTMC) olarak modellenir:
Durumlar: {0, 1, 2, 3, ...} = Sistemdeki müşteri sayısı
Varış hızı (doğum):
Hizmet hızı (ölüm): µ
Hız Matrisi Q:
qi,i+1 = (yeni müşteri gelir)
qi,i-1 = µ (hizmet tamamlanır)
qii = -(+µ)
Durağan dağılım: n = (1-) · n, = /µ < 1
Ortalama müşteri sayısı: L = /(1-)
Ortalama bekleme süresi: W = 1/(µ-)
12. Vaka Çalışması: Enerji Sektörü — Türbin Bakım Optimizasyonu
Problem: 12 adet gaz türbininin bakım zamanlaması optimize edilecek. Yıllık plansız arıza maliyeti ₺8.2 Milyon.
Model: Her türbinin durumu haftalık olarak 4 kategoride izlenmiştir:
| Durum | Kod | Sensör Parametreleri |
|---|---|---|
| Nominal | N | Titreşim < 2mm/s, Sıcaklık < 550°C |
| İzleme | W | Titreşim 2-4mm/s veya Sıcaklık 550-600°C |
| Arıza Riski | R | Titreşim > 4mm/s veya Sıcaklık > 600°C |
| Arıza | F | Türbin durmuş, acil onarım gerekli |
18 aylık sensör verileriyle hesaplanan geçiş matrisi:
N - 0.88 0.08 0.03 0.01 ¬
W - 0.15 0.65 0.15 0.05 -
R - 0.05 0.10 0.55 0.30 -
F L 0.70 0.10 0.05 0.15 -
Sonuçlar:
- Durağan dağılım: N=0.682, W=0.135, R=0.083, F=0.100
- Önleyici bakım politikası (R durumunda müdahale) ile F 0.100 › 0.035'e düşürüldü
- Yıllık plansız arıza sayısı: 2.3 › 0.9'a indi
- Yıllık tasarruf: ₺3.1 Milyon (%38 azalma)
13. Vaka Çalışması: Pazar Payı Analizi
Problem: Türkiye deterjan pazarında 3 marka (A, B, C) arasında müşteri geçişleri modelleniyor.
Müşteri anketinden elde edilen aylık marka geçiş matrisi:
| Mevcut Marka | › A | › B | › C |
|---|---|---|---|
| A | 0.75 | 0.15 | 0.10 |
| B | 0.20 | 0.65 | 0.15 |
| C | 0.10 | 0.10 | 0.80 |
Durağan dağılım (uzun vadeli pazar payları):
B 0.2424 (%24.2) › Marka B %24.2
C 0.3940 (%39.4) › Marka C %39.4 (en sadık müşteri tabanı, 0.80 tutma oranı)
Stratejik çıkarım: Marka C, en yüksek müşteri tutma oranına (%80) sahip olduğu için uzun vadede pazar liderliğini alacak — mevcut pazar payı küçük olsa bile!
14. Python ile Markov Zinciri Simülasyonu
Aşağıdaki Python kodu, yukarıdaki makine bakımı örneğinin durağan dağılımını hem matris kuvveti yöntemiyle hem de denklem çözümüyle hesaplar:
import numpy as np # Geçiş Matrisi P = np.array([ [0.85, 0.10, 0.05], # G › G, D, F [0.20, 0.60, 0.20], # D › G, D, F [0.60, 0.10, 0.30], # F › G, D, F ]) states = ['İyi (G)', 'Kötüleşiyor (D)', 'Arızalı (F)'] # ¦¦¦ Yöntem 1: Matris Kuvveti ¦¦¦ P_100 = np.linalg.matrix_power(P, 100) print("= Yöntem 1: P^100 ile Durağan Dağılım =") for i, s in enumerate(states): print(f" ({s}) = {P_100[0][i]:.4f}") # ¦¦¦ Yöntem 2: Denklem Sistemi (P = ) ¦¦¦ # (P^T - I) * = 0 denklemini çöz A = P.T - np.eye(3) A[-1] = [1, 1, 1] # Son satırı normalizasyon koşuluyla değiştir b = np.array([0, 0, 1]) pi = np.linalg.solve(A, b) print("\n= Yöntem 2: Denklem Çözümü =") for i, s in enumerate(states): print(f" ({s}) = {pi[i]:.4f}") # ¦¦¦ n-adım olasılıkları tablosu ¦¦¦ print("\n= n-Adım Olasılık Tablosu =") print(f"{'Hafta':>6} {'P(İyi)':>10} {'P(Kötü)':>10} {'P(Arızalı)':>12}") pi_0 = np.array([1, 0, 0]) # Başlangıçta İyi for n in [0, 1, 2, 5, 10, 20, 50]: pi_n = pi_0 @ np.linalg.matrix_power(P, n) print(f"{n:>6} {pi_n[0]:>10.4f} {pi_n[1]:>10.4f} {pi_n[2]:>12.4f}") # ¦¦¦ Maliyet Analizi ¦¦¦ arizalı_oran = pi[2] haftalik_maliyet = 500_000 # yillik_ariza_hafta = arizalı_oran * 52 yillik_maliyet = yillik_ariza_hafta * haftalik_maliyet print(f"\n= Maliyet Analizi =") print(f" Yıllık beklenen arıza süresi: {yillik_ariza_hafta:.1f} hafta") print(f" Yıllık beklenen arıza maliyeti: {yillik_maliyet:,.0f}") 15. Sınırlamalar ve Dikkat Edilmesi Gerekenler
| Sınırlama | Açıklama | Çözüm Yolu |
|---|---|---|
| Beleksizlik varsayımı | Gerçek sistemler çoğu zaman geçmişe bağımlıdır | Yüksek dereceli Markov Zincirleri veya Hidden Markov Models |
| Sabit geçiş olasılıkları | Olasılıklar zamanla değişebilir (yaşlanma, mevsimsellik) | Non-homogeneous Markov Chains veya periyodik güncelleme |
| Durum uzayının boyutu | Büyük sistemlerde matris çözümü hesaplama açısından ağır | Monte Carlo simülasyonu, yaklaşık çözüm algoritmaları |
| Veri gereksinimi | Geçiş olasılıklarını tahmin etmek için yeterli veri gerekir | Bayes tahmini, uzman görüşü ile birleştirme |
| Sürekli değişkenler | Ayrık durumlar sürekli parametreleri tam yansıtmaz | Kalman Filtresi veya stokastik diferansiyel denklemler |
16. Sonuç ve Öneriler
Markov Zincirleri, endüstri mühendisliğinin temel stokastik araçlarından biridir. Bu makalede ele aldığımız konuları özetleyelim:
1. Modelleme Gücü: Makine durumundan pazar payına, stok seviyesinden kuyruk uzunluğuna, çok çeşitli sistemler sadece bir geçiş matrisiyle ifade edilebilir.
2. Durağan Dağılım: Sistemi uzun vadede anlamak için · P = çözmek yeterlidir. Bu, yönetim kararlarının matematiksel temelini sağlar.
3. Bakım Stratejileri: Geçiş matrisini değiştirmek = bakım politikasını değiştirmek. Farklı senaryoların maliyetlerini karşılaştırmak artık hesaplanabilir bir iştir.
4. CTMC ve Kuyruk Teorisi: Sürekli zamanlı Markov Zincirleri, kuyruk modellerinin (M/M/1 vb.) doğrudan temelidir.
5. Endüstri 4.0 Entegrasyonu: IoT sensör verileriyle geçiş matrisi gerçek zamanlı güncellenmekte, kestirimci bakım ve akıllı fabrika uygulamaları mümkün olmaktadır.