ENİNE ARAMA ALGORİTMASI-Breadth-First Search(BFS)
Enine arama algoritması aslında grafik algoritmasıdır. Bu algoritmada istenen şey; aramada hem en kısa yolu bulmak hem de aramayı optimum bir şekilde gerçekleştirmektir.
Enine arama algoritmasında çalışma prensibi; başlangıç hücresinden başlayarak, hedef hücre bulunana kadar komşu hücrelere dallanma şeklindedir.
Enine arama algoritması başlangıç durumuna bağlı olarak seviye seviye tüm düğümleri açarak tek tek kontrol eder.
Bu arama algoritmasında ilk kural "İLK GİREN İLK ÇIKAR"dır.
Enine arama algoritması, bulmaca ve oyunlar gibi yapay zeka problemlerine uygulanabilmektedir.
Düğümleri, kuyruğun sonuna ekler.
Düzeydeki tüm düğümler,
(i+1). Düzeydeki tüm düğümlerden önce açılır. Enine arama algoritması, hedefe ulaştıran en kısa yolu bulmayı garantiler.Ağaç yapılarında kullanılır.
Enine arama algoritmasında çalışma prensibi; başlangıç hücresinden başlayarak, hedef hücre bulunana kadar komşu hücrelere dallanma şeklindedir.
Enine arama algoritması başlangıç durumuna bağlı olarak seviye seviye tüm düğümleri açarak tek tek kontrol eder.
Bu arama algoritmasında ilk kural "İLK GİREN İLK ÇIKAR"dır.
Enine arama algoritması, bulmaca ve oyunlar gibi yapay zeka problemlerine uygulanabilmektedir.
Düğümleri, kuyruğun sonuna ekler.
Düzeydeki tüm düğümler,
(i+1). Düzeydeki tüm düğümlerden önce açılır. Enine arama algoritması, hedefe ulaştıran en kısa yolu bulmayı garantiler.Ağaç yapılarında kullanılır.
Her bağlantı noktasında veriler saklanır. Veriler de birbiriyle ilişkilendirilir.
Enine arama algoritmasındaki arama sırasını, bağlantı noktalarında görünen rakamlardan takip edebiliriz. Adından da anlaşılabileceği gibi, ağaç yapısını, yukarıdan başlayarak, soldan sağa
tarayarak ilerler. Bu arama metodu ile seviye seviye tarama yapılır.
Enine arama algoritmasındaki arama sırasını, bağlantı noktalarında görünen rakamlardan takip edebiliriz. Adından da anlaşılabileceği gibi, ağaç yapısını, yukarıdan başlayarak, soldan sağa
tarayarak ilerler. Bu arama metodu ile seviye seviye tarama yapılır.
1-Düğümü işaretle
2-Düğümü kuyruğa ekle
3-Kuyruktan ilk elemanı al
4-Elemanın ziyaret edilmeyen yavrularını kuyruğa at
5-Sıra boş değilse 3’e dön
2-Düğümü kuyruğa ekle
3-Kuyruktan ilk elemanı al
4-Elemanın ziyaret edilmeyen yavrularını kuyruğa at
5-Sıra boş değilse 3’e dön
Enine arama algoritması başlangıç düğümden başlayarak düğümleri hedef duruma olan uzaklıklarına göre sırasıyla kontrol eder.
Enine arama algoritması başlangıç düğüme en yakın olan düğüm ilk önce açar. Ve bir sonraki seviye geçmeden önce o seviyedeki tüm düğümleri ziyaret eder.
Enine arama algoritması bir düğümün alt durumları 1. derinlikte incelendikten sonra diğer durumlara geçilmektedir.
Eğer bir çözüm var ise bu yöntem çözümün bulunmasını garanti eder (tamlık). Birden fazla çözüm var ise en sığ olanı yani derinliği en az olanı verir (optimallik).
Enine arama algoritması başlangıç düğüme en yakın olan düğüm ilk önce açar. Ve bir sonraki seviye geçmeden önce o seviyedeki tüm düğümleri ziyaret eder.
Enine arama algoritması bir düğümün alt durumları 1. derinlikte incelendikten sonra diğer durumlara geçilmektedir.
Eğer bir çözüm var ise bu yöntem çözümün bulunmasını garanti eder (tamlık). Birden fazla çözüm var ise en sığ olanı yani derinliği en az olanı verir (optimallik).
Aşağıdaki şekilde enine aramalı ağacın gelişimi görülmektedir.
Çizelgede dallanma faktörü b=10, 1000 düğüm/sn, 100 byte/düğüm alınmıştır.Enine aramanın
düğümleri arama şekli:
düğümleri arama şekli:
-Bu yöntemde açılan tüm düğümler bellekte saklandığı için bellek karmaşıklığı zaman karmaşıklığı gibidir.
-Çizelgeye bakıldığında zaman genişliğine arama yönteminde bellek gereksinimi icra süresinden daha büyük bir problem ortaya çıkarmaktadır.
-6. Seviyedeki sonucu bulmak için 18 dakika beklenebilir ama 111 Mbyte RAM biraz zor bulunur.
-Zaman gereksinimi de önemli bir faktördür. 14. Derinlikteki bir çözüm için 3500 yıl beklemek gerekiyor.
-Çizelgeye bakıldığında zaman genişliğine arama yönteminde bellek gereksinimi icra süresinden daha büyük bir problem ortaya çıkarmaktadır.
-6. Seviyedeki sonucu bulmak için 18 dakika beklenebilir ama 111 Mbyte RAM biraz zor bulunur.
-Zaman gereksinimi de önemli bir faktördür. 14. Derinlikteki bir çözüm için 3500 yıl beklemek gerekiyor.
ÖRNEK: Arama ağacına göre enine arama algoritmasının nasıl çalıştığı açıklanmak istenirse;
Enine arama algoritması düğümleri aşağıdaki gibi bir kuyruk oluşturarak açar ve inceler.
A
B C D
C D E F
D E F G H I
E F G H I J
F G H I J K L
G H I J K L M
B C D
C D E F
D E F G H I
E F G H I J
F G H I J K L
G H I J K L M
H I J K L M
I J K L M N O
J K L M N O
K L M N O P Q
L M N O P Q
M N O P Q
N O P Q
O P Q
P Q R S T
Q R S T
R S T U
S T U
T U V
U V
V
V
Burada durumları oluşturma ve genişleme sırası;
ABCDEFGHIJKLMNOPQRSTUV şeklindedir. Eğer hedef düğümleri M,V ve J düğümleri ise enine arama algoritması en az derinliğe sahip olan J’yi bulacaktır.Category: abm
0 yorum