Dama Oynayan LISP kodu - Altüst (Minimax) Algoritması

0
malkocoglu

Bilgisayarlar bir problemi yapay zeka kullanarak çözerken, kullandıkları teknikler; Karar ağacı, akıllı tahmin yeteneği ve o ana kadar geçilen yolu hatırlamaktır.
Bir rakibe karsi oyun oynayabilen bir yapay zeka algoritmasi bu tekniği bir ileri götürerek, rakibin hareketlerini de çözüm alanına almaya çalışır. Altüst (Minimax) algoritmasi, oyun zekası alanında bilinen bir algoritma; Yapay Zeka dersi için yazılmış ve altüst kulanan LISP Dama kodlarını sitemizden paylaşıyoruz.
Yapay Zeka ve Müsabaka - Altüst Algoritması

Görüşler

0
FZ
Sessiz sedasız ve kararlı şekilde Türkçe bilim dilini geliştirdiğiniz için teşekkürler!

Tabii bence bu tür yazıların önemli bir yanı daha var, bilgisayar programlama deyince bir uçta C ya da Assembly programlama dilini, diğer uçta da VB, SQL gibi dilleri gören insanların ufkunu genişletiyorlar.
0
malkocoglu
Tesekkurler; dil cesitligin konusunda haklisiniz. Dillerin sozdizim kurallari ile birlikte, o dili yaratan programcinin tercih ettigi kodlama kaliplarini da ogrenmis oluyoruz bence; bu yuzden bolluk berekettir denebilir :)

Saygilar,
0
Nightwalker
Hazır yapay zekadan bahsetmişken. Acaba Lisp ve Prolog u karşılaştırabilir misiniz ? Bu konuda deneyimli insanların yorumlarını merak ediyorum doğrusu.
0
anonim
Prolog hic kullanmadim, bilemeyecegim.
0
malkocoglu
Gecikmis bir cevap: Video'dan yapay zeka dersi izlerken... hoca pat diye Prolog konusuna daldi. Ogrendiklerimi aktariyorum.

Prolog, mantiksal kurallar kullanarak bilgiyi temsil etmenize yardim ediyor. Her programlama dili belli bir problem icin ozel yazilmistir diye dusunursek, Prolog'un altin ozelligi kural yaratmak ve ilerisel/gerisel zincirleme ile karara varmak, ya da varilmis karardan geriye baslangic noktasi bulmaktir diyebiliriz.

Tarihi birkac nokta vermekte yararli olur: Prolog, Fransiz'lar (ve Avrupa'lilar) tarafindan Amerika'yi yapay zeka alaninda gecmek icin ulusal bir proje olarak basladi. Daha sonra, Japonya tarafindan ele alindi, ve 5. nesil dil projesi cercevesinde Prolog makinalari vs, gibi bir cok atilim yapilarak buyuk paralar bu alana harcandi.

Hoca'nin yorumu, (Amerika'li oldugu icin herhalde), verdikleri para kadar sonuc alinmadigi. Tabii buyuk atilimlar bazen sonuclara tam varmasa bile yan urunlerden coplenen sanayii'nin bu arastirmalardan neler cikarttigini bilemeyiz.

Bilginize sunarim.











Görüş belirtmek için giriş yapın...

İlgili Yazılar

Microsoft VisualLisp#'i Mi Duyuracak?

FZ

Bill Clementson, blog'undaki son girdide şöyle yazmış:

Don Box, XOM, XML ve SOAP üzerine yaptığı çalışmalardan ötürü Microsoft'a geçmeden önce de bir hayli tanınan bir isimdi. Epey akıllı bir adamdır ve blogunu düzenli olarak takip ederim. Ancak son yazılarından birinde "Lisp/Scheme Jobs" başlıklı bir şey görünce şok geçirdim:

Common Lisp ve Bir Optimizasyon Tekniği: Memoization

FZ

"Memoization" tabiri bilgisayar bilimlerinde ilk kez Donald Michie'nin 1968 yılında Nature dergisinde yayımlanan Memo functions and machine learning (Memo fonksiyonları ve makina öğrenimi) makalesi ile gündeme gelmiştir.

Memoization tekniği bir fonksiyonu hesaplarken önceden hesaplanmış değerleri hesaplamadan kullanmak, dolayısı ile işlemi hızlandırmak olarak tarif edilebilir. Sözcük olarak "memorization"ı yani "ezberleme" eylemini çağrıştırmakla birlikte daha genel bir anlamı kapsamaktadır.

Programlama dilinden bağımsız olmakla birlikte, bu yazıda "memoization" tekniğinin Common Lisp'te nasıl kullanılacağına bakacağız. Bunun için Peter Norvig'in PAIP kitabı ana eksenimizi oluşturacak.

CUSP - development environment for Lisp built on top of the Eclipse platform

eevrim

2007 LKD şenliklerinde Core-Server sunumunda Emacs'ı beğenmeyip (?), "Bunun grafik arabirimi yok mu?" gibi sorularla karşılaşmıştık. Reddit'te gezerken CUSP'a rastladım.

Programming In Lisp With Cusp

UnCommon Web ile “Merhaba Dünya”

FZ

Ne zamandır fırsat bulamadığım UnCommon Web geliştirme çatısı ile bir kaç deneme yapabildim sonunda. Kurcalamaya başlamak için önce UCW’yi kurmam gerekti doğal olarak. Oldukça fazla sayıda olan bağımlı olduğu paketleri tek tek kurmak yerine şu adresten UCW-boxset paketini indirdim. Windows sistemimde çeşitli hatalar aldığımdan sanal makine üzerindeki Debian sistemime kurdum. Kurdum derken ev klasörümde arşiv dosyasını açtım sadece. Gerisi UCW-boxset klasöründeki “start.lisp” dosyasını Lisp sistemine yüklemekten ibaret zaten. Veritabanı erişimi için (malum web programlama veritabanı olmadan olmaz) clsql paketini kullandım...

Zekeriya Koç'un Common Lisp ile geliştirilmiş UnCommon Web uygulama çatısına güzel ve örneklerle dolu bir giriş niteliği taşıyan yazısının devamını buradan okuyabilirsiniz.

Arc Çıktı

FZ

Fazla söze gerek yok: Paul Graham ve Robert Morris tarafından geliştirilen yeni programlama dili Arc resmen çıktı ve şu anda kullanılabilir halde. Graham'ın sitesinde Arc'ın çıkış zamanlaması ve Arc'ın ne tür programlama işlerinde kullanılabileceğine dair kısa bir duyuru mevcut.