Bilgilendirme: Desteğiniz sitenin çalışmaya devam etmesine yardımcı oluyor! Bu sayfada önerdiğimiz hizmetlerden bazıları için bir başvuru ücreti alıyoruz.
Prolog bir mantık programlama dilidir. Bu nedenle, C ++ veya Perl gibi şeylerle deneyimli insanlara düpedüz tuhaf görünebilir. Fikir, çok basit. Bir programda gerçekleri ve kuralları (gerçekler arasındaki ilişkiler) tanımlarsınız. Buna dayanarak sorgular gerçekleştirebilirsiniz. Ancak bu basit işlevlerle çok şey yapılabilir
Prolog’un gücü hakkında size bir fikir vermek için, doğal dil işleme yapmak için tasarlanmıştır. Muhtemelen yazdığınız ilk sohbet botlarından biri olan ELIZA’yı duymuşsunuzdur. Prolog’un yapmak için tasarlandığı şey budur.
Aslında, ELIZA’nın çevrimiçi Prolog sürümleri vardır. Ama bu sadece başlangıç. Yaygın olarak “yapay zeka” olarak düşündüğümüz bazı alanlarda, özellikle uzman sistemlerde yaygın olarak kullanılmaktadır..
Contents
Prolog Nasıl Çalışır
Prolog, prosedürel diller konusunda tecrübesi olan insanlar için kafa karıştırıcı olabilir. Her ne kadar kesinlikle prosedürel yönleri olsa da, çoğunlukla bir gerçekler sistemi ve bunların nasıl ilişkilendirildiği meselesidir. Ardından Prolog’un nasıl yapıldığının ayrıntılarını yönetmesine izin verin. Prosedürel programlama genellikle bir çok “if” sorusu sormayı içerir. Prolog bu yönü veri sistemine yerleştirmiştir.
Prolog hakkında temel bir fikir edinmek için üç temel yönü hakkında konuşmalıyız: olgular, kurallar ve sorgular.
- Gerçekler: Bunlar tam olarak düşündüğünüz şeyler. Sisteme bazı bilgiler verir. Aşağıdaki örnekte, Heather’ın Thomas’ı sevdiğini beyan ediyoruz:
- sever (funda, Thomas).
- kurallar: bunlar mantıklı ifadeler yaratır. Şunlar gibi kullanırlar: – operatör, temelde “eğer:
- seviyor (thomas, heather): – seviyor (heather, thomas).
Bu, “Heather Thomas’ı seviyorsa” Thomas’ın Heather’ı sevdiğini belirtir. Orijinal gerçeğin şu şekilde yazılabilecek örtük bir kural olduğunu unutmayın:
- beğeniler (heather, thomas): = true.
- Sorguları: bunlar sistemle ilgili sorular sormamıza izin verir. Örneğin:
- ? sever (Thomas, funda).
Bu, “Thomas Heather’ı seviyor mu?” Sorusunu soruyor. Prolog da “evet” diye cevap verecekti. Çünkü Heather’ın Thomas’ı bir gerçekle sevdiğini tespit ettik. Sonra Thomas’ın Heather’ı sevdiğini sevdiğini belirten bir kural oluşturduk.
Prolog’un bir diğer önemli yönü değişken kullanımıdır. Şimdiye kadar verilen tüm örneklerin nasıl küçük harf olduğunu fark etmiş olabilirsiniz. Prolog’da büyük harfle başlayan bir eleman (“atom” olarak adlandırılır) bir değişkendir. Öyleyse Heather’ın sahip olduğu arkadaşları bulmak istediğimizi düşünün, bunu yapmak için değişken bir Arkadaşlar oluşturabiliriz:
? sever (funda Arkadaş).
Bu, “Heather kim sever?” Sorusunu sorar. Prolog, Friends’i tanımlanmış olan her şeye yükler. Bizim durumumuzda, Thomas. Ama bu insanların bir listesi olabilir.
kaynaklar
Artık Prolog’un ne hakkında olduğu hakkında temel bir fikriniz olduğuna göre, bir mantık programcısı olarak ilerlemeniz için bazı kaynaklara bakalım.
Öğreticiler
- Prolog’a Giriş: Bu çok basit bir öğreticidir, ancak diğer öğreticilerin üzerinde durma eğiliminde olduğu bazı temel konuları ele alır..
- Mantık Programlamayı deneyin! Prolog’a Nazik Bir Giriş: Bu, farklı bir programlama paradigması olarak mantık programlamaya odaklanır.
- Prolog: – Öğretici: bu dile detaylı, örnek odaklı bir giriş.
- Prolog’u Şimdi Öğrenin: Bu, baştan başlayıp ileri konulara giren kapsamlı bir öğreticidir.
Video Eğiticileri
Standart öğreticilere ek olarak, Prolog’da iyi video eğiticilerinin sayısı da vardır. Temelleri öğrenmenin şaşırtıcı derecede kolay bir yoludur.
- Derek Banas’ın Prolog Eğiticisi: Bu, en baştan gitmenizi sağlayan mükemmel bir saatlik video eğiticisidir: Prolog’u bilgisayarınıza yükleme.
- Prolog’da Programlama: Bu, basit mühendisin SWI-Prolog kullanarak dört bölümden oluşan video tanıtımıdır..
- Mantık Programlama: Bu, Pallab Dasgupta tarafından yapay zeka üzerine bir ders serisinin bir parçasıdır. Bu, her şey üzerinde mantık programlama üzerinedir. Prolog hakkında özel olarak bir takip dersi de var..
Prolog Kitapları
Gerçekten ilgileniyorsanız, sizi konuyu daha ayrıntılı bir şekilde ele alabilecek bir kitaba göz atmak isteyebilirsiniz..
- Bir günde Prolog Programlama Başarısı Sam Key: Prolog’u bir gün (veya akşam) tanıtan küçük bir kitap.
- Clocksin Mellish tarafından Prolog’da Programlama: Bu Prolog’a kapsamlı ama özlü bir giriş.
- Yapay Zeka için Prolog Programlama Ivan Bratko: Kulağa ne kadar benzediğine rağmen, bu Prolog’a bir giriş – ve konuya çok derin bir şekilde giriyor.
- Prolog Sanatı: Sterling ve Shapiro’nun İleri Programlama Teknikleri: Bu bir klasik, ancak bir giriş değil. Dil konusunda rahat olduktan sonra kontrol etmeniz gereken bir şey.
Prolog Uygulamaları
Çeşitli ücretsiz Prolog derleyicileri ve tercümanları mevcuttur.
- Toy Prolog Interpreter: Bu, küçük kod parçalarını kontrol etmek için harika bir araç olan Monash Üniversitesi’nden çevrimiçi bir tercüman. Bilgisayarınıza bir derleyici yükleme zahmetine girmeden önce eğiticilerle birlikte kullanmak özellikle iyidir.
- SWI-Prolog: Bu hemen hemen her platform için yaygın olarak kullanılan bir Prolog uygulamasıdır.
- GNU Prolog: Bu Daniel Diaz’ın ücretsiz derleyicisi.
- Ücretsiz Prolog Derleyicileri ve Uygulamaları: Özgür Ülkenin diğer Prolog uygulamaları listesi.
Diğer kaynaklar
Başka birçok kaynak var. Bazıları uzun bir geçmişe dayanıyor, bu nedenle bazı bilgilerin güncelliğini yitirebileceğini unutmayın.
- Prolog Kaynak Kılavuzu: bu oldukça eski bir kaynak, ancak içinde çok miktarda yararlı bilgi var.
- SWI-Prolog’da Gerçek Dünya Programlama: Bu, SWI-Prolog kodlayıcıları için birçok bilgiye sahiptir, ancak çoğu diğer ortamları kullanan kişiler için yararlı olacaktır. ## Prolog için Sıkça Sorulan Sorular.
- Prolog WikiBook: Bu, birçok gelişmiş malzeme ile dile mükemmel bir genel bakış.
- Stack Overflow Prolog: Bu, çok fazla bilgiye sahip programcılar için çevrimiçi forumdur. Ayrıca Prolog Etiketli Sorular sayfasına da göz atın.
- SWI-Prolog Google Grubu: Bu son derece aktif bir grup değil, ancak üzerinde hala birçok bilgili insan var. Ayrıca comp.lang.prolog grubuna da göz atın.
özet
İster ona odaklanmak isterse de sadece diğer programlama araçlarınızı tamamlamak için kullanın, Prolog çalışmak için harika bir dildir. Bir mantık programlama dili olarak, problemleri daha az prosedürel yöntemlerle düşünmenizi sağlar. Buradaki kaynaklarla Prolog programlamanızda öğrenebilir ve ilerleyebilirsiniz.