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

C++ içinde Lisp kullanmak

bk

C++ kodlarken "ah şu anda filanca fikrimi Lisp ile ne kadar kolay ifade ederdim" dediğiniz oluyor mu? Bir ortamdan diğerine geçmeye, ayrı ayrı işlemler yapmaya üşenenlerden misiniz?

En az bir evet cevabı verdi iseniz InteLib tam size göre. C++ kodlarken doğrudan Lisp sözdizimine ve semantiğine çok benzer şekilde kod yazmanızı ve doğrudan derlemenizi sağlayan bir kütüphane. Şu anda aktif olarak geliştiriliyor. Ne gerek var ki böyle bir şeye diyenler FAQ belgesini okuyabilirler.

Kor Bilişim'den DOM Programlama Araçları

aycanirican

DOM modelinin kısmi bir gerçekleştirimi artık Core Server projesi ile beraber geliyor. Bu araçla, birinci dereceden DOM nesneleri yaratabiliyor, parametrik DOM üreten fonksiyonlar tanımlayabiliyorsunuz. Öyle ki, tanımladığınız DOM yapısını javascript betiğine çevirip, web tarayıcının kullanabileceği bir hale getirebiliyorsunuz. Örnekler için Dom Programming belgesine bakabilirsiniz.

Microsoft ve Lisp: Ya da .NET CLR Garbage Collector Hangi Dilde Yazıldı?

FZ

USENET comp.lang.lisp forumundaki eğlenceli bir mesaj dikkatimi çekti paylaşmak istedim.

Meğer meşhur .NET platformunun ana bileşenlerinden biri olan CLR (Common Language Runtime) sisteminin çöp toplayıcısı (garbage collector) Lisp ile yazılmış.

Sağlam Lisp "hacker"larından olan ve bir süredir MS için çalışan, CLR'nin baş mimarlığını yapan Patrick Dussud'un yazdığı Lisp kodu daha sonra bir Lisp'ten C'ye dönüştürücü ile C'ye dönüştürülmüş ve bu kod da MS'deki bir stajyer programcı tarafından "temizlenip" derlenip piyasaya sürülmüş.

Lisp ve .NET konusu açılmışken: Her iki dünyadan da vazgeçmek istemeyenler için enteresan projeler çıkmaya başladı: L Sharp .NET (C#'tan çok daha eğlenceli ;-), RDNZL ve FOIL.

Yeni Başlayanlar İçin Common Lisp Geliştirme Ortamı

zekzekus

Common Lisp'e yeni başlayanlar için yapılacak ilk iş bir geliştirme ortamı oluşturmaktır. Bu konuda yeni başlayanlara kolaylık olması için Lispbox gibi hepsi birarada paketler mevcut. Ama özellikle MS Windows kullanıcıları için emacs tarzı bir geliştirme ortamı ve verimi artırmak için genelde yapılması gereken emacs özelleştirmeleri can sıkıcı olabiliyor.

GNU GO, AJAX ve Common Lisp

FZ

SWGo arka planda GNU Go isimli Go moturunu kullanan, Common Lisp ile geliştirilmiş AJAX tarzı bir web arayüzü. Kaynak kodlarına buradan erişmek mümkün. Kodu geliştiren yazılımcı sadece birkaç aydır Common Lisp ve JavaScript ile uğraştığını söylüyor.