| Algoritma | Ziyaret Edilen Durumlar | Yol Uzunluğu (Adım) | Çalışma Zamanı (ms) | Kullanılan Bellek (Düğüm) |
|---|---|---|---|---|
| BFS | - | - | - | - |
| DFS | - | - | - | - |
| A* | - | - | - | - |
| Greedy | - | - | - | - |
Water Jug Problem, yapay zekada klasik bir state-space search problemidir. Elinizde farklı kapasitelere sahip iki sürahi (örneğin 5L ve 3L) ve sınırsız su kaynağı (musluk) var. Amaç, belirli işlemleri kullanarak sürahilerden birinde tam olarak hedef miktarda su elde etmektir.
Problem Senaryosu (Örnek):
5 litrelik ve 3 litrelik iki sürahiniz var. Tam olarak 4 litre su elde etmeniz gerekiyor. Ölçüm aleti yok, sadece sürahilerin tam dolu veya boş olduğunu görebilirsiniz.
Kullanılabilir İşlemler:
Kurallar ve Kısıtlamalar:
State Representation: [sürahi1_su_miktarı, sürahi2_su_miktarı]
Başlangıç Durumu: [0, 0] - Her iki sürahi boş
Hedef Durum: [4, ?] veya [?, 4] - Herhangi bir sürahide 4L su olmalı
Çözülebilirlik Koşulu:
Hedef miktar, iki sürahinin kapasitelerinin en büyük ortak böleninin (GCD) katı olmalıdır. Örneğin: GCD(5,3)=1 olduğundan, 1-5 arası tüm tam sayılar elde edilebilir.
Manhattan Distance Varyasyonu:
h(n) = min(|jug1 - target|, |jug2 - target|)
Her iki sürahinin hedefe olan uzaklığından minimum olanı seçilir.
A* Algoritması:
f(n) = g(n) + h(n)
g(n) = Başlangıçtan n'e kadar yapılan adım sayısı
h(n) = n'den hedefe tahmini maliyet (heuristic)
Greedy Best-First:
f(n) = h(n)
Sadece heuristic değeri kullanılır, hedefe en yakın görünen durumu seçer.
Admissibility (Kabul Edilebilirlik):
Bu heuristic admissible'dır çünkü gerçek maliyeti asla aşmaz: h(n) ≤ h*(n)
En az kaç işlem gerektiğini gösterir, bu nedenle A* optimal çözümü garanti eder.