HTN ile Yapay Zeka Planlamaya Pratik Bir Yaklaşım

GDT’nin kuruluşundan beri kafe toplantıları formatında buluşmalar düzenleniyordu. Bu buluşmalar sektördeki insanların yüz yüze tanışmalarına olanak tanıdı. Masa masa gezip birbirlerine projelerini anlatan bilgi paylaşan insanlarla dolu dolu buluşmalar gerçekleşti. Geçen sene bu buluşmalara biraz daha renk katmak, insanları ısındırmak için farklı formatlar denemeye başladık. Bu denemelerden biri de Ekim 2013’de gerçekleştirdiğimiz Lightning Talks konseptli buluşmaydı.

Bu konseptin amacı buluşma öncesi tercihen 5-10 dakikalık kısa sunumlarla kafalarda düşünecek yeni konulara kıvılcım çakmak ve buluşmanın geri kalanında daha renkli tartışmalara zemin oluşturmaktı. Tabi acemiliğimizle 5-10 dakikalık sunumları sigara molalı saatlere dönüştürmeyi başardık ama yinede çok keyif aldığım bir buluşma oldu.

Bu buluşmada yapılan üç sunumdan biri de benimdi, o zamanlarda yeniden ateşlenen yapay zeka sevdam ile yeniden literatür araştırmaya başlamış ve kendimce yeni bir elmas buluşmuştum. Pek çok şeyde olduğu gibi ilk başlarda ordu ve sanayi odaklı geliştirilen Hierarchical Task Network diye adlandırılan bu yapay zeka planlama metodolojisi oyunlardaki çok parametreli kompleks problemlere daha kolay yaklaşmamızı sağlayacak bir alt yapı sağlıyordu. Literatürü okudum, implementasyonları inceledim, Unity’de bir demo hazırladım ve buluşmada bütün bunları anlattım.

Konuşma yapay zekayla azıcık olsa ilgilenmiş bütün programcıların bildiği Pathfinding problemine temel bir giriş ile başladı. En başta dinleyicileri arasındaki onaylayıcı kafa sallamalar, beni “Zaten bilen adamlara bildiklerini niye anlatıyıorum” tribine soksa da, konu HTN’e bağlanınca oluşan pür dikkat bakışlar bana doğru yolda olduğumu gösterdi. Konuşma sonrası güzel yorumlar aldım, ilgilenen birkaç kişiye sunumu ve demoyu yolladım. Ancak o zaman bu kaynakları paylaşağım bir blogumuz yoktu. Üzerinden geçen bu kadar zamandan sonra o gün orada olamayan ve konu ile ilgilenen herkes için sunumumu(PDF) altına konuşma notlarımı düşerek paylaşmak istedim. Kendini daha maceracı hissedenler ve yetiştirecem diye 1 haftada toparladığım demonun kaynak kodlarında yüzmeye hazır olanlar ise unity projesini(ZIP) inceleyebilirler