SHRDLU ve Prolog
SHRDLU'nun doğal dil anlama başarısı ve Prolog'un mantık programlama devrimi.
1. Giriş
1970 yılının başlarında, MIT Yapay Zeka Laboratuvarı'nda yirmi dört yaşında bir doktora öğrencisi olan Terry Winograd, bir bilgisayar terminali başında renkli bloklardan oluşan sanal bir dünyayla İngilizce konuşuyordu [1]. "Pick up a big red block" yazdığında ekrandaki robot kol büyük kırmızı bloğu kavradı; "Put it on top of the blue one" dediğinde blok mavi küpün üzerine yerleştirildi; "Why did you do that?" diye sorduğunda sistem kendi eylemlerini açıklayan bir cevap verdi [1]. SHRDLU adlı bu program, bir bilgisayarın doğal dili yalnızca yüzeysel kalıp eşleme yoluyla değil, sözdizimi (syntax), anlam (semantics) ve bağlam (pragmatics) katmanlarını bütünleşik biçimde işleyerek "anlıyor" gibi görünmesini sağlayan ilk ikna edici gösterimdi [2]. Yapay zeka topluluğu büyülenmiş, basın coşmuş, araştırmacılar ise doğal dil anlama probleminin çözümüne çok yaklaşıldığını düşünmeye başlamışlardı [3].
Neredeyse aynı anda, Atlantik'in öte yakasında Marsilya'da Alain Colmerauer ve Philippe Roussel, tamamen farklı bir soruya yanıt arıyorlardı: Bir bilgisayarla Fransızca konuşabilmek için nasıl bir programlama dili gerekir? [4] Bu sorunun cevabı, 1972 yılının sonbaharında doğacak olan Prolog — "PROgrammation en LOGique" — olacaktı [5]. Prolog, mantığı doğrudan bir programlama paradigmasına dönüştüren ilk dil olarak, bilgisayarın "nasıl" yapılacağını değil "ne" yapılması gerektiğini anlatan bildirimsel (declarative) programlamanın kapılarını araladı [6]. Kowalski'nin (1974) katkısıyla Horn cümleleri üzerindeki yordamsal yorumlama (procedural interpretation) Prolog'un kuramsal temelini oluşturdu [7].
Bu iki gelişme — SHRDLU ve Prolog — 1970'lerin başında yapay zekanın iki temel sorusuyla yüzleşmesini somutlaştırmaktadır: Bir bilgisayar doğal dili gerçekten anlayabilir mi? Ve mantıksal çıkarım, programlamanın temel paradigması olabilir mi? Her iki soruya da verilen yanıtlar, hem büyük umutlar hem de derin hayal kırıklıkları doğurmuştur. SHRDLU, kısıtlı bir mikro dünyada etkileyici bir "anlama illüzyonu" yaratmış ama gerçek dünyaya genellenememiştir [8]. Prolog ise bildirimsel programlamanın gücünü göstermiş ama verimlilik sorunları ve ölçeklenme sınırlılıklarıyla boğuşmuştur [9]. Yine de her iki gelişme de yapay zekanın ve bilgisayar biliminin sonraki on yıllarını derinden etkilemiştir.
Bu bölümde SHRDLU'nun teknik mimarisini, başarılarını ve sınırlarını; ardından Prolog'un doğuşunu, kuramsal temellerini ve mantık programlama paradigmasını kapsamlı biçimde inceleyeceğiz. Bir önceki bölümde Newell, Shaw ve Simon'ın General Problem Solver'ını — sembolik yapay zekanın "genel problem çözücü" vizyonunu — ele almıştık [10]. SHRDLU ve Prolog, bu vizyonun dil ve mantık alanlarına taşınmasını, ama aynı zamanda sembolik yaklaşımın temel sınırlılıklarıyla yüzleşmeyi temsil etmektedir. Bir sonraki bölümde işleyeceğimiz Lighthill Raporu ve Birinci Yapay Zeka Kışı, bu bölümde ele alacağımız başarıların ve başarısızlıkların doğrudan sonucu olacaktır.
2. Literatür Taraması
SHRDLU ve Prolog üzerine akademik literatür, hem yapay zeka tarihinin hem de bilgisayar biliminin temel metinlerini içeren zengin bir bütün oluşturmaktadır.
SHRDLU'nun birincil kaynağı, Winograd'ın (1972) Understanding Natural Language adlı doktora tezi ve aynı adı taşıyan monografisidir [1]. Bu eser, programın sözdizimsel çözümleme (parsing), anlamsal yorumlama (semantic interpretation) ve mantıksal çıkarım (deductive reasoning) katmanlarını bütünleşik biçimde nasıl işlediğini ayrıntılı olarak betimlemektedir. Winograd, Halliday'ın (1961) sistemik dilbilgisi (systemic grammar) çerçevesini benimseyerek, dilin biçimsel yapısından çok anlamı iletmek için yapılan seçimlere odaklanmıştır [1]. Winograd'ın daha sonra yazdığı "What Does It Mean to Understand Language?" (1980) makalesi, SHRDLU'nun başarıları ve başarısızlıkları üzerine yaratıcısının kendi özeleştirisini içermesi bakımından son derece önemlidir [8]. Bu makalede Winograd, SHRDLU'nun "anlama" gibi görünen şeyin aslında kısıtlı bir alan içindeki biçimsel manipülasyondan ibaret olduğunu ve gerçek dil anlamanın çok daha derin bir dünya bilgisi gerektirdiğini kabul etmiştir [8].
Schank ve Colby'nin (1973) Computer Models of Thought and Language derlemesi, SHRDLU'yu dönemin diğer doğal dil işleme yaklaşımlarıyla — özellikle Schank'ın kavramsal bağımlılık (conceptual dependency) teorisiyle — karşılaştıran önemli bir kaynaktır [11]. Dreyfus'un (1972) What Computers Can't Do eseri, SHRDLU'nun "anlama" iddiasını fenomenolojik bir perspektiften eleştirmiş ve mikro dünya yaklaşımının gerçek dünya diline genellenemeyeceğini savunmuştur [12]. Dennett (1978) ise Dreyfus'un tersine, SHRDLU'nun Winograd'ın asıl katkısının "yönlendirme alan, plan yapan, dünyayı değiştiren ve değişiklikleri izleyen bir sisteme yönelik en derin talepleri keşfetmek" olduğunu savunmuştur [13].
Prolog'un birincil kaynağı, Colmerauer ve Roussel'in (1993) "The Birth of Prolog" makalesidir; bu metin, dilin geliştirilme sürecini birinci ağızdan aktarmaktadır [4]. Cohen'in (1988) "A View of the Origins and Development of Prolog" makalesi, Prolog'un tarihçesini kapsamlı biçimde belgelemiştir [14]. Kowalski'nin (1974) "Predicate Logic as Programming Language" bildirisi, Horn cümlelerinin yordamsal yorumlamasını ortaya koyarak Prolog'un kuramsal temelini oluşturan seminal çalışmadır [7]. Van Emden ve Kowalski'nin (1976) "The Semantics of Predicate Logic as a Programming Language" makalesi, mantık programlarının model-kuramsal semantiğini geliştirmiştir [15]. Robinson'ın (1965) çözümleme ilkesi (resolution principle) makalesi, hem Prolog'un hem de otomatik teorem ispatlama geleneğinin temel taşıdır [16].
Kowalski'nin (1988) "The Early Years of Logic Programming" makalesi, Prolog'un doğuşunu daha geniş bir mantık programlama hareketi içinde konumlandırmıştır [17]. Warren'ın (1977) Edinburgh Prolog derleyicisi, dilin pratik bir programlama aracı olarak kullanılmasını mümkün kılmış ve "Edinburgh Prolog" lehçesini tanımlamıştır [9]. Hermenegildo ve diğerlerinin (2022) "Fifty Years of Prolog and Beyond" makalesi, Prolog'un elli yıllık gelişimini ve modern uzantılarını kapsamlı biçimde değerlendirmiştir [18].
Genel yapay zeka tarihi bağlamında Nilsson'ın (2010) The Quest for Artificial Intelligence kitabı hem SHRDLU'yu hem Prolog'u geniş bir tarihsel çerçeve içinde ele almıştır [19]. Russell ve Norvig'in (2021) Artificial Intelligence: A Modern Approach ders kitabı, her iki gelişmeyi modern yapay zeka kavramlarıyla ilişkilendirmiştir [20]. Boden'ın (2006) Mind as Machine eseri, SHRDLU'yu bilişsel bilim tarihi açısından değerlendirmiştir [21]. McCorduck'ın (2004) Machines Who Think kitabı, her iki gelişmenin kurumsal ve kişisel bağlamını aktarmıştır [22]. Crevier'in (1993) AI: The Tumultuous History eseri, SHRDLU'nun yarattığı aşırı iyimserliği ve ardından gelen hayal kırıklığını belgelemiştir [3]. Türkçe literatürde Nabiyev'in (2021) Yapay Zeka ders kitabı, Prolog ve mantık programlamayı Türk okuyucuya tanıtmıştır [23]. Saygin ve diğerlerinin (2000) Turing testi üzerine derlemesi ise doğal dil anlama tartışmasının felsefi boyutlarını ele almıştır [24].
3. Tarihsel ve Teorik Arka Plan
ELIZA'dan SHRDLU'ya: Doğal Dil İşlemenin Evrimi. SHRDLU'nun entelektüel kökleri, 1960'ların ortasındaki iki zıt gelişmeye dayanmaktadır. Bir yanda Joseph Weizenbaum'un (1966) ELIZA programı, basit kalıp eşleme (pattern matching) teknikleriyle bir psikoterapist taklidi yaparak insanların bilgisayarla "sohbet" edebileceğini göstermişti [20]. Ancak ELIZA, söylenen kelimeleri hiçbir biçimde "anlamıyordu"; yalnızca belirli anahtar kelimeleri tespit edip şablon yanıtlar üretiyordu [20]. Öte yanda Noam Chomsky'nin (1957, 1965) üretici-dönüşümsel dilbilgisi (transformational-generative grammar) kuramı, dilin biçimsel yapısını matematiksel kesinlikle betimlemenin mümkün olduğunu göstermişti [1]. Winograd, bu iki geleneği birleştirmeyi hedefledi: dilin biçimsel yapısını çözümleyebilen, aynı zamanda kelimelerin anlamını bir dünya modeliyle ilişkilendirebilen bir sistem [1].
SHRDLU'nun doğrudan öncüleri arasında Daniel Bobrow'un (1964) STUDENT programı — cebirsel sözcük problemlerini doğal dilden anlayabilen bir sistem — ve Eugene Charniak'ın çocuk hikâyeleri anlama çalışmaları sayılabilir [19]. Ancak bu programlar ya çok kısıtlı dil yapılarıyla çalışıyor ya da derinlikten yoksun kalıyordu. Winograd'ın yeniliği, sözdizimi, anlam bilgisi ve dünya bilgisini tek bir bütünleşik sistemde birleştirmek olmuştur [2].
Mantığın Hesaplama Diline Dönüşümü: Prolog'un Kökleri. Prolog'un entelektüel soy ağacı, otomatik teorem ispatlama (automated theorem proving) geleneğine dayanmaktadır. Robinson'ın (1965) çözümleme ilkesi, birinci dereceden yüklem mantığında (first-order predicate logic) mekanik ispat yapmanın sistematik bir yolunu sunmuştu [16]. Green'in (1969) QA3 sistemi, teorem ispatlama yöntemlerini soru cevaplama ve plan oluşturma gibi yapay zeka görevlerine uygulamıştı [19]. Hewitt'in (1969) PLANNER dili — ve Sussman, Charniak ve Winograd tarafından geliştirilen Micro-Planner alt kümesi — bilgiyi yordamsal biçimde temsil etmeyi ve hedef yönelimli çıkarım yapmayı mümkün kılmıştı [2]. Prolog, bu geleneğin bir sentezi olarak doğmuştur: mantıksal çıkarımı doğrudan programlama paradigmasına dönüştüren bir dil [7].
Dönemin Kurumsal Altyapısı. SHRDLU, Marvin Minsky ve Seymour Papert'ın yönetimindeki MIT Yapay Zeka Laboratuvarı'nda geliştirilmiştir [22]. MIT, 1960'ların sonunda yapay zeka araştırmalarının en yoğun olduğu kurumlardan biriydi; ARPA (Advanced Research Projects Agency) fonlarıyla desteklenen laboratuvar, araştırmacılara büyük bir entelektüel özgürlük tanıyordu [3]. SHRDLU, DEC PDP-6 bilgisayarında, Lisp ve Micro-Planner dilleriyle yazılmıştır [2]. Prolog ise Fransa'da, Aix-Marseille Üniversitesi'nin Luminy kampüsündeki Yapay Zeka Grubu'nda geliştirilmiştir [4]. Colmerauer'in ekibi, IRIA'dan (Institut de Recherche d'Informatique et d'Automatique) aldığı 122.000 Frank tutarındaki mütevazı bir hibeyle çalışıyordu [4]. Prolog'un ilk sürümü, Roussel tarafından IBM 360-67 bilgisayarında ALGOL-W dilinde yazılan bir yorumlayıcı olarak gerçekleştirilmiştir [5].
Rekabet Eden Yaklaşımlar. SHRDLU ve Prolog'un geliştirildiği dönemde doğal dil işleme ve bilgi temsili alanında birbirine rakip paradigmalar mevcuttu. Bir yanda Winograd'ın ve Hewitt'in temsil ettiği yordamsal anlam bilgisi (procedural semantics) yaklaşımı, bilgiyi çalıştırılabilir prosedürler biçiminde kodlamayı savunuyordu [2]. Öte yanda Roger Schank'ın kavramsal bağımlılık kuramı, dil anlamayı sözdiziminden bağımsız derin kavramsal yapılara indirgemeyi hedefliyordu [11]. Bir üçüncü akım ise McCarthy'nin ve Hayes'in savunduğu bildirimsel bilgi temsili yaklaşımıydı: bilgiyi mantıksal önermeler biçiminde kodla ve çıkarım motoruna bırak [19]. Prolog, bu üçüncü yaklaşımın somut bir gerçekleştirilmesi olarak doğmuştur; ancak pratikte yordamsal ve bildirimsel okumaları birleştiren karma bir kimlik taşımaktadır [7].
4. Ana Konu Analizi
4a. SHRDLU: Doğal Dili "Anlayan" İlk Bütünleşik Sistem
Teknik Mimari. SHRDLU, birbirine sıkıca bağlı dört alt sistemden oluşuyordu: sözdizimsel çözümleyici (parser), anlamsal yorumlayıcı (semantic interpreter), dünya modeli (world model) ve mantıksal çıkarım motoru (deductive reasoner) [1]. Bu alt sistemler birbirinden bağımsız olarak değil, sürekli etkileşim halinde çalışıyordu — Winograd buna "yükselen heterojenlik" (heterogeneous processing) adını vermiştir [2].
Sözdizimsel çözümleyici, Halliday'ın sistemik dilbilgisini temel alıyordu [1]. Bu yaklaşım, Chomsky'nin dönüşümsel dilbilgisinden farklı olarak, dilin biçimsel yapısını anlam iletme işlevi açısından ele alıyordu [1]. Çözümleyici, bir cümleyi işlerken eş zamanlı olarak anlamsal yorumlayıcıya danışıyor ve birden fazla olası çözümleme arasında anlamsal olarak en tutarlı olanı seçiyordu [2]. Bu entegrasyon, SHRDLU'nun önceki doğal dil işleme sistemlerinden temel farkıdır.
Anlamsal yorumlayıcı, çözümlenen cümlenin anlamını bloklardan oluşan sanal dünya modeliyle ilişkilendiriyordu [1]. Sistem, "büyük kırmızı blok" gibi bir ifadeyi, dünya modelindeki nesneler arasında bu özelliklere uyan nesneyi bularak yorumluyordu. Belirsizlik durumlarında — örneğin birden fazla kırmızı blok varsa — sistem ya ek bilgi istiyordu ya da söylem bağlamından en olası adayı seçiyordu [2].
Dünya modeli, bir masa üzerindeki renkli blokları, piramitleri ve kutuları içeren basitleştirilmiş bir fiziksel ortamı temsil ediyordu [1]. Bu "blok dünyası" (blocks world), yapay zeka araştırmalarında "mikro dünya" (microworld) olarak bilinen yaklaşımın en ikonik örneğidir: karmaşık gerçek dünya yerine, kontrol edilebilir bir küçük dünya üzerinde çalışarak temel ilkeleri test etmek [19]. Sistem basit fiziksel kısıtlamaları da modelliyordu — örneğin piramitlerin üzerine başka nesneler yerleştirilemezdi [2].
SHRDLU'nun Yetenekleri. SHRDLU, dönemine göre etkileyici bir dizi yeteneğe sahipti [1]. Birincisi, doğal dil komutlarını anlama ve uygulama: "Pick up a big red block" gibi komutları hem dilsel hem fiziksel olarak yorumlayıp sanal dünyada gerçekleştirme. İkincisi, belirsizlik çözümleme (ambiguity resolution): "Grasp the pyramid" dendiğinde ve birden fazla piramit varsa, "I don't understand which pyramid you mean" yanıtını vermesi [1]. Üçüncüsü, gönderim çözümleme (reference resolution): önceki söylemlerdeki nesneleri "it" veya "the one" gibi zamirlerle izleyebilmesi [2]. Dördüncüsü, soru yanıtlama: "What does the box contain?" veya "Did you pick up anything before the cone?" gibi sorulara dünya modeli ve söylem belleğine dayanarak tutarlı yanıtlar verebilmesi [1]. Beşincisi, öz-açıklama (self-explanation): "Why did you do that?" sorusuna kendi eylemlerinin nedenlerini açıklayarak yanıt vermesi [2].
Programlama Altyapısı. SHRDLU, Lisp ve Micro-Planner dillerinde yazılmıştır [2]. Micro-Planner, Hewitt'in PLANNER dilinin Gerald Jay Sussman ve Eugene Charniak tarafından geliştirilen alt kümesiydi ve hedef yönelimli teorem ispatlama ile geri izleme (backtracking) mekanizmalarını destekliyordu [2]. Winograd, bilgiyi statik veri yapıları yerine çalıştırılabilir prosedürler biçiminde temsil etmeyi tercih etmişti — bu yaklaşım "yordamsal bilgi temsili" (procedural knowledge representation) olarak bilinir [1]. Örneğin "bir bloğun üstünün temiz olup olmadığını kontrol et" bilgisi, bir mantıksal kural olarak değil, çalıştırıldığında dünya modelini sorgulayan bir prosedür olarak kodlanmıştı [2].
4b. Prolog: Mantığın Programlama Diline Dönüşümü
Prolog'un Doğuş Hikâyesi. Prolog'un doğuşu, iki farklı entelektüel geleneğin — Fransa'daki doğal dil işleme ve İskoçya'daki otomatik teorem ispatlama — beklenmedik bir karşılaşmasının ürünüdür [4]. Alain Colmerauer, Montreal Üniversitesi'nde İngilizce-Fransızca otomatik çeviri projesi üzerinde çalışırken, doğal dil çözümleme için Q-sistemleri adını verdiği ağaç yeniden yazma dilini geliştirmişti [4]. 1970 yılında Marsilya'ya döndüğünde, bilgisayarla Fransızca iletişim kurabilen bir sistem inşa etmeyi hedefliyordu [5].
Robert Kowalski ise Edinburgh Üniversitesi'nde çözümleme yöntemleri (resolution methods) üzerine çalışıyordu [17]. 1971 yazında Colmerauer'in davetlisi olarak Marsilya'ya geldi ve bu ziyaret, mantık programlamanın doğuşuna giden sürecin başlangıcı oldu [17]. Colmerauer ve Kowalski, cümlesel formun (clausal form) biçimsel gramerleri temsil etmek için kullanılabileceğini ve çözümleme teorem ispatlayanlarının ayrıştırıcı (parser) olarak çalışabileceğini keşfettiler [17]. 1972 yazındaki ikinci ziyarette Kowalski, belirli cümlelerin (definite clauses veya Horn cümleleri) yordamsal bir yorumlamaya sahip olduğunu — yani hem mantıksal önermeler hem de bilgisayar prosedürleri olarak okunabileceğini — formüle etti [7].
Bu keşif, Colmerauer ve Roussel'e doğal dil iletişim sistemlerinin temelini oluşturacak bir programlama dili tasarlama olanağı verdi [4]. Prolog adı, Roussel'in eşi Jacqueline tarafından "PROgrammation en LOGique" ifadesinin kısaltması olarak önerilmiştir [17]. İlk Prolog sistemi ("Prolog 0"), 1972 sonbaharında Roussel tarafından ALGOL-W dilinde yazılan bir yorumlayıcı olarak gerçekleştirilmiş ve ilk Prolog programı — Fransızca bir soru-cevap sistemi — yine 1972'de Marsilya'da çalıştırılmıştır [5].
Prolog'un Temel Mekanizması. Prolog, birinci dereceden yüklem mantığının Horn cümleleri adı verilen alt kümesi üzerine inşa edilmiştir [7]. Bir Prolog programı, olgulardan (facts) ve kurallardan (rules) oluşur. Bir olgu, "Sokrates insandır" gibi basit bir önermeyi; bir kural ise "X ölümlüdür eğer X insansa" gibi koşullu bir ilişkiyi ifade eder [20]. Kullanıcı bir sorgu (query) gönderdiğinde — "Sokrates ölümlü müdür?" — Prolog'un çıkarım motoru, programdaki olgular ve kuralları kullanarak bu sorguyu kanıtlamaya çalışır [6].
Prolog'un hesaplama mekanizması iki temel işleme dayanmaktadır: birleştirme (unification) ve geri izleme (backtracking) [20]. Birleştirme, iki mantıksal terimi eşleştirmek için değişkenlere uygun değerler atama sürecidir [16]. Geri izleme ise bir çözüm yolu başarısız olduğunda programın otomatik olarak geri dönüp alternatif yolları denemesidir [6]. Bu iki mekanizma birlikte, Prolog'un belirsiz (nondeterministic) bir arama stratejisi izlemesini ve olası tüm çözümleri sistematik biçimde keşfetmesini sağlamaktadır [7].
Bildirimsel ve Yordamsal Okuma. Prolog'un en devrimci özelliği, aynı programın hem bildirimsel (ne) hem de yordamsal (nasıl) biçimde okunabilmesidir [7]. Kowalski'nin (1974) formülasyonuyla: bir Horn cümlesi "A ← B₁ ∧ B₂ ∧ ... ∧ Bₙ" bildirimsel olarak "A doğrudur eğer B₁ ve B₂ ve ... ve Bₙ doğruysa" şeklinde, yordamsal olarak ise "A'yı kanıtlamak için önce B₁'i, sonra B₂'yi, ... sonra Bₙ'yi kanıtla" şeklinde okunabilir [7]. Bu ikili okuma, Prolog'un hem bir bilgi temsili dili hem de bir programlama dili olarak kullanılmasını mümkün kılmıştır [17].
4c. Kilit Aktörler ve Katkıları
Terry Winograd (1946–). SHRDLU'nun yaratıcısı olan Winograd, Colorado'da doğmuş, MIT'de matematik lisans eğitimi almış ve doktora çalışmasını Seymour Papert'ın danışmanlığında tamamlamıştır [22]. SHRDLU, Winograd'ın doktora tezi olarak geliştirilmiştir [1]. Yapay zeka topluluğunda büyük bir ün kazanan Winograd, 1973'te Stanford Üniversitesi'ne geçmiş ve burada ilgi alanını insan-bilgisayar etkileşimine (HCI) kaydırmıştır [22]. Winograd'ın entelektüel dönüşümü dikkat çekicidir: SHRDLU'dan sonra yapay zekanın temel varsayımlarını sorgulamaya başlamış ve Fernando Flores ile birlikte yazdığı Understanding Computers and Cognition (1986) kitabında, Heidegger'in fenomenolojisinden yola çıkarak bilgisayarların "anlama" kapasitesinin doğası hakkında derin bir eleştiri geliştirmiştir [25]. Bu kitapta Winograd, kendi yarattığı SHRDLU'nun temsil ettiği yapay zeka paradigmasını sorgulayarak, bilgisayarların "dünya bilgisinden" yoksun olduğunu ve bu yoksunluğun teknik bir sorundan çok varoluşsal bir sınırlılık olduğunu ileri sürmüştür [25]. Stanford'da İnsan-Bilgisayar Etkileşimi Grubu'nu kurmuş ve Google'ın kurucularından Larry Page'in danışmanlığını yapmıştır [22].
Alain Colmerauer (1941–2017). Prolog'un baş mimarı olan Colmerauer, Fransa'nın Ain bölgesinde doğmuş, Grenoble Üniversitesi'nde doktora yapmıştır [4]. Montréal Üniversitesi'nde otomatik çeviri projesi üzerinde çalışmış ve burada Q-sistemlerini — Prolog'un doğrudan öncüsü olan bir ağaç yeniden yazma formalizmi — geliştirmiştir [4]. 1970'de Marsilya'ya dönerek Aix-Marseille Üniversitesi'nde Yapay Zeka Grubu'nu kurmuş ve Prolog'u geliştirmiştir [5]. Colmerauer, sonraki yıllarda Prolog'u kısıt mantık programlama (constraint logic programming) yönünde genişletmiş ve Prolog III ile Prolog IV dillerini tasarlamıştır [18].
Robert Kowalski (1941–). Prolog'un kuramsal temellerini oluşturan mantıkçı ve bilgisayar bilimcidir [17]. Amerikan doğumlu olan Kowalski, Edinburgh Üniversitesi'nde doktora yapmış ve burada SL-çözümleme (SL-resolution) yöntemini geliştirmiştir [17]. Colmerauer ile işbirliği, Horn cümlelerinin yordamsal yorumlamasının — Prolog'un kuramsal çekirdeğinin — keşfedilmesine yol açmıştır [7]. 1975'te Imperial College London'a geçen Kowalski, mantık programlamayı hem bilgisayar bilimi hem de insan düşüncesi modellemesi açısından geliştirmeye devam etmiştir [17]. "Algorithm = Logic + Control" formülasyonu — bir programın mantıksal içeriğinin ve kontrol stratejisinin birbirinden ayrılabileceği ilkesi — programlama felsefesinin en etkili sloganlarından biri olmuştur [7].
Philippe Roussel (1942–). Prolog'un ilk uygulamasını gerçekleştiren programcıdır [5]. Colmerauer'in doktora öğrencisi olan Roussel, biçimsel eşitlik (formal equality) üzerine doktora tezini yazmış ve Prolog'un ilk yorumlayıcısını ALGOL-W dilinde kodlamıştır [4]. Prolog adını — eşi Jacqueline'in önerisiyle — seçen de Roussel'dir [17].
David H. D. Warren. Prolog'un pratik bir programlama aracına dönüşmesinde belirleyici rol oynamıştır [9]. Edinburgh Üniversitesi'nde 1977'de geliştirdiği Prolog derleyicisi, dilin performansını Lisp gibi mevcut sembolik programlama dilleriyle rekabet edebilir düzeye çıkarmıştır [9]. Warren Soyut Makinesi (Warren Abstract Machine — WAM), Prolog derleyicilerinin standart çerçevesi haline gelmiştir [18].
4d. Dönem İçindeki Yeri
SHRDLU, 1971-1972'de yayımlandığında yapay zeka topluluğunda bir sansasyon yaratmıştır [3]. Winograd'ın gösterdiği diyalog örnekleri — bilgisayarın İngilizce komutları anlıyor, sorulara tutarlı yanıtlar veriyor ve kendi eylemlerini açıklıyor görünmesi — dönemin araştırmacılarını derinden etkilemiştir [22]. Minsky, SHRDLU'yu yapay zekanın en önemli başarılarından biri olarak selamlamıştır [3]. Basın, bilgisayarların insan dilini "anlamaya" başladığını ilan etmiştir. Bu coşku, doğal dil işleme alanında yoğun bir araştırma dalgasını tetiklemiştir [19].
Ancak SHRDLU'nun başarısı aldatıcı bir iyimserlik yaratmıştır. Araştırmacılar, SHRDLU benzeri sistemleri daha karmaşık alanlara — örneğin tıbbi danışmanlık, hukuk belgesi analizi veya günlük sohbet — genişletmeye çalıştıklarında, sorunun boyutu dramatik biçimde büyümüştür [3]. Bloklardan oluşan basit bir dünya için yeterli olan bilgi miktarı, gerçek dünyanın karmaşıklığı karşısında yetersiz kalmıştır [12]. Winograd'ın kendisi bu sınırlılığı en erken fark edenlerden biri olmuş ve 1980 makalesinde SHRDLU'nun "anlama" gibi görünen şeyin aslında son derece kısıtlı bir alan içindeki mekanik bir süreçten ibaret olduğunu kabul etmiştir [8].
Prolog ise akademik dünyada yavaş yavaş yayılmıştır. Colmerauer ve Roussel'in (1993) anlatımıyla, Prolog "dağıtılmaktan çok, kaçıp çoğalmıştır" [4]. Edinburgh'da Warren'ın derleyicisi, dilin İngilizce konuşulan dünyada tanınmasını sağlamış; Leuven, Budapeşte ve Varşova gibi merkezlere yayılan kopyalar, Prolog'un uluslararası bir topluluk oluşturmasına katkıda bulunmuştur [4]. Ancak Prolog'un asıl büyük kırılma noktası, 1982'de Japonya'nın Beşinci Nesil Bilgisayar Projesi'nin mantık programlamayı temel paradigma olarak seçmesiyle gelecektir — bu konu sonraki bölümlerde ele alınacaktır.
4e. Genel Yapay Zeka Tarihindeki Yeri
SHRDLU ve Prolog, yapay zeka tarihinde birkaç kritik kavramsal dönüşümü somutlaştırmaktadır.
Birincisi, SHRDLU, mikro dünya yaklaşımının hem gücünü hem de temel sınırlılığını gösteren paradigmatik bir olay çalışmasıdır [19]. Kısıtlı bir alan içinde etkileyici sonuçlar elde etmenin, bu sonuçları gerçek dünyaya genellemeyi garanti etmediğini göstermiştir. Bu ders, yapay zekanın sonraki on yıllarında tekrar tekrar yeniden öğrenilecek ve "dar yapay zeka" (narrow AI) ile "genel yapay zeka" (general AI) arasındaki ayrımın kristalleşmesine katkıda bulunacaktır [20].
İkincisi, Prolog, mantığın bir programlama dili olarak kullanılabileceğini somut biçimde kanıtlayarak bildirimsel programlama paradigmasının temelini atmıştır [7]. Kowalski'nin "Algorithm = Logic + Control" ilkesi, programlamanın doğasına ilişkin düşünce biçimini temelden değiştirmiştir [7]. Bu ilke, veri tabanı sorgulama dilleri (SQL), kısıt programlama ve modern bildirimsel paradigmalar için kavramsal bir öncü olmuştur [18].
Üçüncüsü, hem SHRDLU hem de Prolog, sembolik yapay zekanın — bilgiyi açık kurallar ve mantıksal yapılar biçiminde kodlama yaklaşımının — hem potansiyelini hem de kırılganlığını ortaya koymuştur [3]. SHRDLU'nun başarısının ardından gelen hayal kırıklığı, 1973 Lighthill Raporu'na ve Birinci Yapay Zeka Kışı'na zemin hazırlamıştır. Prolog ise 1980'lerde uzman sistemler döneminde yeniden yükselecek ama Beşinci Nesil projesinin başarısızlığıyla bir kez daha gerilemeye uğrayacaktır [19].
5. Eleştirel Değerlendirme
SHRDLU'nun Sınırlılıkları ve Mikro Dünya Tuzağı. SHRDLU'ya yöneltilen en temel eleştiri, programın yalnızca son derece kısıtlı bir mikro dünya içinde çalışabilmesidir [12]. Dreyfus (1972), bu sınırlılığın teknik bir sorundan çok felsefi bir sorun olduğunu savunmuştur: gerçek dünya bilgisi, biçimsel kurallar ve prosedürlerle kodlanamayacak kadar zengin, bağlamsal ve bedensel deneyime gömülüdür [12]. Winograd'ın kendisi de bu eleştiriyi büyük ölçüde kabul etmiştir; 1980 makalesinde, SHRDLU'nun "bağımsız ilkellerden her şeyin tanımlanabileceği bir küme yoktur; tanımlar döngüseldir" diyerek bilgi temsili probleminin derinliğini teslim etmiştir [8].
SHRDLU'nun bir diğer önemli sınırlılığı, sistemin genişletilme zorluğudur [3]. Yeni bir nesne türü, yeni bir eylem veya yeni bir dilsel yapı eklemek, sistemin çekirdek bilgi temsilinin, çıkarım prosedürlerinin ve dilbilgisi kurallarının kapsamlı biçimde yeniden yazılmasını gerektiriyordu [2]. Bu "bilgi edinme darboğazı" (knowledge acquisition bottleneck), sembolik yapay zekanın genel bir problemi olarak 1980'lerde uzman sistemler döneminde daha da belirginleşecektir [19].
Winograd'ın kendisi, ünlü diyaloğun kontrollü biçimde hazırlandığını ve kullanıcının diyalogda bulunmayan sorular sorması durumunda programın başarısız olma olasılığının yüksek olduğunu yıllar sonra açıkça kabul etmiştir [2]. Bu itiraf, SHRDLU'nun aslında bir "gösteri" (demonstration) olarak tasarlandığını ve genel amaçlı bir doğal dil anlama sistemi olmadığını ortaya koymaktadır.
Prolog'un Sınırlılıkları. Prolog'a yöneltilen eleştiriler farklı bir doğadadır. Birincisi, Prolog'un tamamen bildirimsel olmadığı — "cut" operatörü ve cümle sıralaması gibi mekanizmaların yordamsal bir okuma gerektirdiği — eleştirisi, dilin kimliğini başından beri tartışmalı kılmıştır [6]. İkincisi, Prolog'un derinlik öncelikli arama stratejisi (depth-first search), bazı durumlarda sonsuz döngülere yol açabilmekte ve tüm mantıksal olarak geçerli çözümleri bulmayı garanti edememektedir [20]. Üçüncüsü, Prolog'un verimlilik sorunları — özellikle büyük ölçekli uygulamalarda geri izleme mekanizmasının yarattığı hesaplama maliyeti — pratik kullanımını sınırlamıştır [9]. Warren'ın (1977) derleyicisi bu sorunları önemli ölçüde hafifletmiş olsa da Prolog, endüstriyel ölçekte yaygınlaşamamıştır [18].
Abartılı Beklentiler ve Hayal Kırıklığı. Hem SHRDLU hem de Prolog, 1970'lerin başındaki yapay zeka iyimserliğinin zirvesini temsil etmektedir [3]. SHRDLU'nun gösterimindeki etkileyicilik, araştırmacıları doğal dil anlama probleminin birkaç yıl içinde çözülebileceğine inandırmıştır. Bu abartılı beklentiler, 1973 Lighthill Raporu'nun ve Birinci Yapay Zeka Kışı'nın zeminini hazırlamıştır [3]. Crevier (1993), SHRDLU'nun yarattığı "illüzyonun" yapay zeka topluluğunun kendi başarılarını gerçekçi biçimde değerlendirme kapasitesini zayıflattığını ileri sürmüştür [3].
Yordamsal ve Bildirimsel Tartışması. SHRDLU ve Prolog, yapay zeka felsefesinin en temel tartışmalarından birini — yordamsal ve bildirimsel bilgi temsili arasındaki gerilimi — somutlaştırmaktadır. Winograd yordamsal yaklaşımı savunurken McCarthy bildirimsel yaklaşımı savunmuştur [19]. Prolog, bu iki yaklaşımı birleştirme girişimi olarak görülebilir; ancak pratikte Prolog programları genellikle yordamsal düşünceyle yazılmaktadır [6]. Bu tartışma, bugün hâlâ — örneğin sinir ağlarının (yordamsal) "bilgisi" ile bilgi graflarının (bildirimsel) bilgisi arasındaki ilişki bağlamında — güncelliğini korumaktadır [20].
6. Etik ve Toplumsal Boyutlar
SHRDLU'nun yarattığı en önemli etik sorun, "anlama illüzyonu" (illusion of understanding) kavramıyla ilgilidir [8]. Bir bilgisayar programının doğal dili "anladığı" izlenimini yaratması, toplumun makinelerin bilişsel kapasitelerini abartılı biçimde değerlendirmesine yol açabilir [12]. Bu sorun, günümüzde büyük dil modelleri (large language models) bağlamında çok daha keskin bir biçimde karşımıza çıkmaktadır: ChatGPT gibi sistemler, SHRDLU'dan çok daha ikna edici bir "anlama" illüzyonu yaratmakta, ancak gerçek anlama ile istatistiksel kalıp eşleme arasındaki sınır tartışmalı olmaya devam etmektedir [20].
SHRDLU döneminde gözden kaçırılan bir diğer etik boyut, mikro dünya yaklaşımının yapay zeka araştırmalarına yarattığı çarpık teşvik yapısıdır. Kısıtlı ortamlarda etkileyici gösterimler yapmak, araştırma fonlarını çekmenin en etkili yoluydu; ancak bu gösterimlerin gerçek dünya kapasitesini temsil etmediği yeterince vurgulanmamıştır [3]. Bu çarpık teşvik yapısı — "demo kültürü" — yapay zeka alanının tekrarlayan bir sorunu olmuş ve günümüzde de "cherry-picking" ve seçici gösterim pratikleri biçiminde devam etmektedir.
Prolog bağlamında ise dilin Japonya'nın Beşinci Nesil projesinde seçilmesi, ulusal teknoloji politikalarının belirli programlama paradigmalarını destekleme biçiminde yapay zeka araştırmalarını yönlendirmesinin erken bir örneğidir [19]. Bu proje, Prolog'a büyük kaynaklar aktarılmasına yol açmış ancak projenin başarısızlığı, mantık programlama topluluğu üzerinde kalıcı bir gölge bırakmıştır.
Erişim ve eşitsizlik açısından bakıldığında, SHRDLU'nun yalnızca İngilizce ile çalışması ve Prolog'un başlangıçta Fransızca doğal dil işlemeye odaklanması, yapay zeka araştırmalarının belirli dillere ve kültürlere yoğunlaşma eğilimini yansıtmaktadır. Bu eğilim, günümüzde "düşük kaynaklı diller" (low-resource languages) sorunu olarak hâlâ güncelliğini korumaktadır [20].
7. Güncel Uygulamalar ve Miras
SHRDLU'nun Mirası. SHRDLU'nun doğrudan teknik mirası sınırlıdır — program hiçbir zaman gerçek bir uygulama aracına dönüşmemiştir [8]. Ancak kavramsal mirası son derece zengindir. Birincisi, dilin anlaşılmasının bir dünya modeli gerektirdiği fikri — "temellendirilmiş dil anlama" (grounded language understanding) — günümüzün çok modlu yapay zeka sistemlerinde (multimodal AI) yeniden gündeme gelmiştir [20]. Modern sistemlerin görüntü, metin ve ses verilerini birlikte işlemesi, SHRDLU'nun "dili dünyayla ilişkilendir" ilkesinin yeni bir biçimidir.
İkincisi, SHRDLU'nun mikro dünya yaklaşımı, robotik ve simülasyon ortamlarında hâlâ kullanılmaktadır [19]. OpenAI'ın robotik manipülasyon deneyleri ve DeepMind'ın sanal ortam çalışmaları, kontrollü bir dünyada beceri geliştirip gerçek dünyaya aktarma stratejisini — SHRDLU'nun ruhuna sadık biçimde — uygulamaktadır.
Üçüncüsü, Winograd'ın adını taşıyan "Winograd Şemaları" (Winograd Schema Challenge), doğal dil anlama kapasitesini test etmek için 2012'de Hector Levesque tarafından önerilmiş ve Turing testine bir alternatif olarak düşünülmüştür [24]. Bu test, SHRDLU'nun ortaya koyduğu "gerçek anlama nedir?" sorusunun günümüze uzanan doğrudan bir mirasıdır.
Prolog'un Mirası. Prolog'un mirası çok daha somut ve geniş kapsamlıdır. Birincisi, Prolog, uzman sistemlerin (expert systems) geliştirilmesinde yaygın biçimde kullanılmıştır ve bu kullanım 1980'lerde yapay zekanın ticari bir alan olarak yükselmesine katkıda bulunmuştur [19]. İkincisi, Prolog'un bildirimsel paradigması, SQL gibi veri tabanı sorgulama dillerinin, kısıt programlama dillerinin ve Datalog gibi modern mantık programlama dillerinin kavramsal temelini oluşturmuştur [18]. Üçüncüsü, Prolog, IBM Watson'da kullanılmış ve doğal dil soru-cevap sistemlerinde hâlâ bir araç olarak varlığını sürdürmektedir [6].
Dördüncüsü, mantık programlamanın temel kavramları — birleştirme, geri izleme, Horn cümleleri, bildirimsel programlama — bilgisayar bilimi eğitiminin ayrılmaz bir parçası haline gelmiştir [20]. Haskell, Erlang ve modern fonksiyonel programlama dillerindeki kalıp eşleme (pattern matching) mekanizması, Prolog'un birleştirme kavramından doğrudan beslenmiştir [18].
Beşincisi, nöro-sembolik yapay zeka (neuro-symbolic AI) alanındaki güncel çalışmalar, derin öğrenmenin istatistiksel gücünü mantık programlamanın yapısal kesinliğiyle birleştirmeyi hedeflemektedir [20]. DeepProbLog, Logic Tensor Networks ve benzeri çerçeveler, Prolog'un temel kavramlarını sinir ağlarıyla entegre eden modern yaklaşımlardır [18].
8. Bölüm Özeti
SHRDLU ve Prolog, 1970'lerin başında yapay zekanın iki farklı ama birbirine bağlı cephesinde gerçekleştirilen cesur deneylerdir. Winograd'ın SHRDLU'su, sözdizimi, anlam bilgisi ve dünya modelini bütünleşik biçimde işleyerek bir bilgisayarın doğal dili "anlıyor" gibi görünmesini sağlayan ilk ikna edici sistemi ortaya koymuştur [1]. Ancak bu başarının bir mikro dünyayla sınırlı kalması, doğal dil anlamanın gerçek dünya karmaşıklığı karşısında ne kadar zorlu bir problem olduğunu göstermiştir [8]. Colmerauer, Roussel ve Kowalski'nin Prolog'u ise mantığı doğrudan bir programlama paradigmasına dönüştürerek bildirimsel programlamanın temelini atmış ve bilgisayar biliminin düşünce biçimini kalıcı olarak değiştirmiştir [7].
Bu kitabın genel argümanı açısından, SHRDLU ve Prolog, sembolik yapay zekanın 1970'lerin başındaki doruk noktasını temsil etmektedir. GPS'in "genel problem çözücü" vizyonundan (Bölüm 19), doğal dil anlama ve mantık programlama alanlarına uzanan bu yol, sembolik paradigmanın hem en parlak başarılarını hem de en derin kırılganlıklarını ortaya koymuştur. SHRDLU'nun yarattığı iyimserlik ve ardından gelen hayal kırıklığı, bir sonraki bölümde ele alacağımız 1973 Lighthill Raporu'nun ve Birinci Yapay Zeka Kışı'nın doğrudan öncülüdür. Sembolik yapay zekanın sınırları belirginleşirken, alan yeni paradigmalar arayışına girecek — bu arayış, uzman sistemlerden bağlantıcılığa, istatistiksel öğrenmeden derin öğrenmeye uzanan uzun bir yolculuğun başlangıcıdır.
9. Kaynakça
1. Winograd, T. (1972). Understanding Natural Language. Academic Press.
2. Winograd, T. (1973). A procedural model of language understanding. In R. C. Schank & K. M. Colby (Eds.), Computer Models of Thought and Language (pp. 152–186). W. H. Freeman.
3. Crevier, D. (1993). AI: The Tumultuous History of the Search for Artificial Intelligence. Basic Books.
4. Colmerauer, A., & Roussel, P. (1993). The birth of Prolog. In History of Programming Languages—II (pp. 331–367). ACM Press. https://doi.org/10.1145/234286.1057820
5. Colmerauer, A., Kanoui, H., Pasero, R., & Roussel, P. (1973). Un système de communication homme-machine en français. Rapport de recherche, Groupe Intelligence Artificielle, Université Aix-Marseille II.
6. Clocksin, W. F., & Mellish, C. S. (1981). Programming in Prolog. Springer-Verlag.
7. Kowalski, R. A. (1974). Predicate logic as programming language. In Proceedings of IFIP Congress 74 (pp. 569–574). North-Holland.
8. Winograd, T. (1980). What does it mean to understand language? Cognitive Science, 4(3), 209–241.
9. Warren, D. H. D. (1977). Implementing Prolog: Compiling predicate logic programs (Research Reports 39–40). University of Edinburgh, Department of Artificial Intelligence.
10. Newell, A., Shaw, J. C., & Simon, H. A. (1959). Report on a general problem-solving program. Proceedings of the International Conference on Information Processing, 256–264. UNESCO.
11. Schank, R. C., & Colby, K. M. (Eds.). (1973). Computer Models of Thought and Language. W. H. Freeman.
12. Dreyfus, H. L. (1972). What Computers Can't Do: A Critique of Artificial Reason. Harper & Row.
13. Dennett, D. C. (1978). Brainstorms: Philosophical Essays on Mind and Psychology. Bradford Books/MIT Press.
14. Cohen, J. (1988). A view of the origins and development of Prolog. Communications of the ACM, 31(1), 26–36.
15. van Emden, M. H., & Kowalski, R. A. (1976). The semantics of predicate logic as a programming language. Journal of the ACM, 23(4), 733–742.
16. Robinson, J. A. (1965). A machine-oriented logic based on the resolution principle. Journal of the ACM, 12(1), 23–41.
17. Kowalski, R. A. (1988). The early years of logic programming. Communications of the ACM, 31(1), 38–43.
18. Hermenegildo, M. V., Körner, P., & et al. (2022). Fifty years of Prolog and beyond. Theory and Practice of Logic Programming, 22(6), 776–858.
19. Nilsson, N. J. (2010). The Quest for Artificial Intelligence: A History of Ideas and Achievements. Cambridge University Press.
20. Russell, S., & Norvig, P. (2021). Artificial Intelligence: A Modern Approach (4th ed.). Pearson.
21. Boden, M. A. (2006). Mind as Machine: A History of Cognitive Science (Vols. 1–2). Oxford University Press.
22. McCorduck, P. (2004). Machines Who Think: A Personal Inquiry into the History and Prospects of Artificial Intelligence (2nd ed.). A. K. Peters.
23. Nabiyev, V. (2021). Yapay Zeka: İnsan-Bilgisayar Etkileşimi (6. Baskı). Seçkin Yayıncılık.
24. Saygin, A. P., Cicekli, I., & Akman, V. (2000). Turing test: 50 years later. Minds and Machines, 10(4), 463–518.
25. Winograd, T., & Flores, F. (1986). Understanding Computers and Cognition: A New Foundation for Design. Ablex Publishing.
26. Halliday, M. A. K. (1961). Categories of the theory of grammar. Word, 17(3), 241–292.
27. Green, C. C. (1969). Application of theorem proving to problem solving. In Proceedings of IJCAI-1 (pp. 219–239). Morgan Kaufmann.
10. Tartışma Soruları
1. Analitik: SHRDLU'nun "blok dünyası" yaklaşımı neden kısıtlı bir ortamda başarılı olurken gerçek dünya diline genellenememiştir? Bu başarısızlığın arkasında teknik mi yoksa felsefi bir sınırlılık mı yatmaktadır?
2. Karşılaştırmalı: SHRDLU'nun yordamsal bilgi temsili yaklaşımı ile Prolog'un bildirimsel yaklaşımı arasındaki temel farklar nelerdir? Hangi tür problemler için hangi yaklaşım daha uygundur?
3. Spekülatif: SHRDLU, 1970 yerine günümüzün büyük dil modelleri ve çok modlu yapay zeka teknolojileriyle birleştirilseydi, programın doğal dil anlama kapasitesi niteliksel olarak farklı olur muydu? "Temellendirilmiş dil anlama" vizyonu günümüzde gerçekleştirilebilir mi?
4. Etik: SHRDLU'nun yarattığı "anlama illüzyonu" kavramı, günümüzün büyük dil modelleri bağlamında nasıl yeniden değerlendirilebilir? ChatGPT gibi sistemlerin "anlıyor gibi görünmesi" ile SHRDLU'nun "anlıyor gibi görünmesi" arasında niteliksel bir fark var mıdır?
5. Güncel: Prolog'un bildirimsel programlama paradigması, günümüzün makine öğrenmesi egemen yapay zeka dünyasında ne ölçüde geçerlidir? Nöro-sembolik yapay zeka, Prolog'un kavramsal mirasını yeniden canlandırabilir mi?
6. Analitik: Winograd'ın SHRDLU'dan sonra yapay zekanın temel varsayımlarını sorgulaması ve insan-bilgisayar etkileşimine yönelmesi, yapay zeka araştırmaları için ne anlam ifade eder? Bir araştırmacının kendi çalışmasını eleştirmesi bilimsel ilerlemeyi nasıl etkiler?
7. Karşılaştırmalı: Prolog'un Avrupa'da (Marsilya ve Edinburgh) doğması ile Lisp'in Amerika'da gelişmesi, yapay zeka araştırmalarının coğrafi ve kültürel boyutları hakkında ne söyler? Farklı akademik gelenekler farklı programlama paradigmalarını nasıl şekillendirmiştir?
8. Spekülatif: Eğer Prolog hiç geliştirilmeseydi — Colmerauer farklı bir yol izleseydi ve Kowalski Edinburgh'da başka bir konuya odaklansaydı — bildirimsel programlama ve mantık programlama yine ortaya çıkar mıydı? Yoksa yapay zeka tarihi temelden farklı bir seyir mi izlerdi?
9. Etik: SHRDLU'nun "demo kültürü" — kısıtlı ortamlarda etkileyici gösterimler yaparak araştırma fonlarını çekme stratejisi — yapay zeka alanının bugünkü sorunlarıyla nasıl ilişkilendirilebilir? Günümüzde yapay zeka şirketlerinin ürün gösterimleri, SHRDLU'nun mirasının bir devamı mıdır?
10. Güncel: Kowalski'nin "Algorithm = Logic + Control" ilkesi, günümüzün derin öğrenme paradigması için nasıl yeniden yorumlanabilir? Bir sinir ağının "öğrendiği" bilgi, mantıksal biçimde ifade edilebilir mi, yoksa bu iki bilgi biçimi temelden farklı mıdır?