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

trendalicious: Trendy del.icio.us, CafeSpot

FZ

trendalicious, bir sosyal "bookmark"lama servisi olan del.icio.us için geliştirilmiş olan ve gerçek zamanlı web sitesi popülaritesini ölçüp yansıtan bir sistem. Son 60 dakika içinde en az iki kişi tarafından yollanmış URLler görüntüleniyor ve bunlar da güncel URL mesajlarının toplam sayısına göre derecelendiriliyorlar.

trendalicious'u yapan Will Glozer, aynı zamanda CafeSpot'un da programcısı. Kendisi ile yapılan bir röportajı buradan okumak mümkün. CafeSpot'un development blog'u da işin perde arkasını yansıtıyor.

Bu güncel, ilginç ve popüler web siteleri hangi platform ve dil ile mi hazırlanmış? Güzel bir soru... ;-) (ve daha güzel bir cevap!)

Kaynak: Planet Lisp, Lemonodor.

Paul Graham’ın Startup Destek Şirketi İlk Meyvelerini Veriyor

FZ

Paul Graham'ın startup şirketlere destek olma amacı ile kurduğu Y Combinator* ilk meyvelerini vermeye başladı.

Y Combinator'dan aldıkları destekle bir şirket kuran iki genç üniversite mezunu http://reddit.com sistemini devreye soktular.

Hedeflerinde kısaca şunu diyorlar: "Her Internet kullanıcısının ana sayfası olmak istiyoruz." İnsanda Google çağrışımı yapan bir cümle, öte yandan sitenin sadeliği ve işlevselliği de Google'ı hatırlatmıyor değil. Fikir çok özgün değil, yeni Internet siteleri, haberler, yazılar, kısaca URLsi verilebilecek herhangi bir şey. Gönderdiğiniz haberin popülaritesi diğer üyeler tarafından belirleniyor. Buna göre sizin popülariteniz, vs. de belirleniyor. Kullanılan "karma" sözcüğü de doğrudan Slashdot'u çağrıştırmakla birlikte /. editör kaprislerinden ve yorum kirliliğinden uzakta, yepyeni bir kavramı hayatımıza katabilir.

Hangi Common Lisp?

zekzekus

Daniel Weinreb, buradan erişilebilecek şekilde, Common Lisp gerçekleştirimleri (implementasyonları) ile ilgili bir inceleme yapmış. İncelemeye konu olan Common Lisp gerçekleştirimlerinin sorumluları kendi gerçekleştirimlerini anlatmışlar. "Nedir bu Lisp? Ortada bir sürü Lisp var, hangisini seçmeliyim?" diyenler için özellikle az bilinen Common Lisp gerçekleştirimlerini de içermesi açısından güzel bir kaynak.

Core Services Projesi Duyuruldu: Gönüllü Common Lisp Programcıları Davetli

FZ

Tam da az önce FZ Blogs ortamında Türkiye’deki ticari BT ortamında Common Lisp platformunun yerinden bahsediyordum ki cs-lisp e-posta listesine gelen "Core Services" projesi başlıklı e-posta dikkatimi çekti. COR3 ekibinden Aycan İrican şöyle demiş:

Geçen aylarda yazdığımız bir web uygulamasının sonucu olarak, birtakım servisleri uygulamadan ayırarak bir genel kütüphane yazmayı planlıyoruz. Bu nedenle common-lisp.net üzerinde bir proje açtık.

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.