Herkese merhabalar,

Kısa bir süre önce Bilgisayar Mühendisliği öğrencisi bir arkadaşım ödevi için Warnsdorff algoritmasının görsel olarak uygulanışını rica etmişti, ricasını bazı sebeplerden dolayı geri çevirmiştim ancak merakımı gidermek için biraz araştırdım ve Warnsdorff algoritması ve Allegro kütüphanesiyle “Dıgıdık” adını verdiğim bir uygulama hazırladım. Bu yazıda Warnsdorff algoritmasına yer verecek olsam da daha çok bildiğim kadarıyla Allegro üzerinde duracağım.

Nedir Warnsdorff Algoritması?
Konuyla ilgili problem şu; satranç tahtası üzerinde atı her kareye sadece 1 defa uğramak şartıyla bütün tahta üzerinde gezdirmeniz gerekiyor. Warnsdorff algoritmasının çalışma prensibi ise “en az alternatif sunan alternatif sonuca götürür” şeklinde. Algoritmayı uygularken yapmanız gereken olay, bir başlangıç konumu alıyorsunuz, sonrasında daha önce ziyaret edilmemiş alternatif konumları buluyorsunuz. Aynı şekilde, bu alternatif konumların “ziyaret edebileceği” alternatif konumları hesaplıyorsunuz. En az alternatif sunan konuma hamle yapıyorsunuz. Dikkat etmeniz gereken tek nokta ise, hiç alternatif sunmayan konuma en son yönelmek.