PHP ile Sekiz Vezir Bulmacası

Hiç PHP ile Sekiz Vezir Bulmacası olur mu? demeyin. Oluyormuş, görmüş olduk! 🙂

Merhabalar,

Uzun zamandır blog’un update’lerine bile bakamıyordum. Bugüne nasipmiş hepsi. Asıl geliş amacıma, lafı uzatmadan gelelim.

Bu sene Machine Learning dersinde çok kıymetli hocalarımdan Farzad KIANI’nin sınıfımıza verdiği Sekiz Vezir Bulmacası projesi için geliştirme yapmam gerekiyordu. Ancak bu projenin internette araştırma yapınca bulunabilecek çözümlerden farkı ilk vezirin bizim tarafımızdan seçilerek bulmacanın çözülmesiydi. İşin pis tarafına kaçıp kestirmeden projeyi teslim etmek yerine yaklaşık 1 hafta kadar neredeyse doğru dürüst uyumadan kafayı hesaplama algoritmasını yazmaya taktım. Sonuçta yazdım da. Hocamın isteği üzerine meseleyi görselleştirerek sizinle paylaşmak istedim.

Nasıl yani?

Temelde olayın işleyişi şöyle çalışıyor: ilk vezir nerede olursa olsun 1×1 hücresinden vezir atamaya başlanıyor. En belirgin satır kuralına göre tahta kilitlenmemişse süreç devam ediyor. Her döngünün sonunda tahtadaki eleman sayısı kontrol ediliyor ve 8 vezir yerleşmemişse son vezir geri alınıp tahta kontrol ediliyor. Bu şekilde soldan sağa ve yukarıdan aşağıya olacak biçimde vezirler yerleştiriliyor, problemli noktalar budama yöntemiyle elenip en yakın bir sonraki işleme devam ediliyor.

Bulamadığına şahit olmadım ancak bulamazsa bana bildirin lütfen, görmek isterim 🙂

Şükranlar goes to… 🙂

Bu projeyi vererek kafayı bize yedirten kıymetli Farzad KIANI hocama ve algoritmanın son aşamalarında tıkanmışken imdadıma yetişen eniştem (abim gibidir, kafalar karışmasın diye eniştem yazıyorum :)) Samet GÜZEL’e şükranlarımı sunuyorum.

Ayrıca yeri gelmişken eklemek isterim; bu türde tuhaf projeler oldukça Github hesabıma ekleyip oraları da buraları da canlandırmayı düşünüyorum. Tabi elimden ne kadar gelir, meçhul 🙂

Bu projeyle ilgili yaşadığınız sorunlarda veya sormak istediğiniz herhangi bir şey olursa yorum atmaktan veya e-posta göndermekten çekinmeyin lütfen.

Github: https://github.com/semihkiroglu/SekizVezirPHP

Başka bir mevzuda görüşmek dileğiyle, selamlar 🙂

Semih KIROĞLU

2 Comments

  1. Seyyid Fatih KOÇ

    26 Mart 2017 at 00:43

    Emeğine sağlık kardeşim

    1. Semih Kıroğlu

      7 Temmuz 2017 at 03:56

      Teşekkür ediyorum kardeşim. Selamlar 🙂

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.