Yapay Zeka’ya Giriş Ders 1 Dersin Müfredatı ve Hedefleri Ders, Yapay Zeka Disiplininin hedeflerinin, bu hedeflere giden yolda karşılaşılan çıkmazların, olası çıkış yollarının ve disiplinin eriştiği düzeyin tartışılması ile başlamaktadır. Ardından, doğru düşünmenin yasalarını inceleyen bir alan olarak Mantık Bilimine giriş yapılmakta ve mantık programlama paradigması için ihtiyaç duyulan mantık sistemleri incelenmektedir. Dersin ana yükü, öğrencilere bir mantık programlama dili olarak Prolog programlama dilinin kuramsal olarak öğretilmesi ve bu dilde program yazma yetisini kazanmalarının sağlanması doğrultusunda yapılan çalışmalardan oluşmaktadır. Bu dersin ana hedefleri: rasyonel düşünen makineler geliştirme fikrinin incelenmesi, rasyonel düşünmenin yasalarını inceleyen bir bilim dalı olarak Mantık Biliminin temel konularına giriş yapmak ve tümdengelimli mantık yasalarının bir programlama paradigması olarak gerçeklendiği, Prolog programlama dilini öğrenmek. Dersin Konu Başlıkları Hedefleri, problemleri ve çözüm önerileri ile Yapay Zeka disiplinine giriş Doğru düşünmenin bilimi olarak Mantık Önermeler Mantığı Birinci Dereceden Yüklem Mantığı Tümdengelimli çıkarım kuralları Mantık programlamanın temel yapıları Özyinelemeli (mantık) programlama Listeler Mantık programlarının bilgisayımlı modeli Arama ağaçları Üst-mantık operatörleri Operatör tanımlama Olumsuzlama ve kesme operatörleri Neden Yapay Zeka? İnsan zihninin nasıl çalıştığı üzerine binlerce yıldır kafa yorulmaktadır. Homo Sapiens (Bilge / düşünen insan) Yapay zekanın amacı yalnızca zihnin nasıl çalıştığını anlamak / ortaya koymak değil aynı zamanda akıllı varlıklar / etmenler de ortaya çıkarmaktır. Mühendislik bakış açısıyla amaçlanan: Gerçek dünya problemlerini bilgi ve akıl yürütme yoluyla çözmek Akıllı etmenler ortaya çıkarmak için kavram, kuram ve uygulamaların geliştirilmesi Bilimsel bakış açısıyla amaçlanan: Zeka / akıl üzerine çalışma yapmak için bilgisayarların bir platform olarak kullanılması Akıllı davranışın ne olduğunu anlamaya çalışmak Yapay zeka, yakın zamanda (II. Dünya Savaşı sonrasında) ortaya çıkan, gelişime çok açık ve büyük bir bilim dalıdır. «Yapay zeka» (artificial intelligence) isim olarak ilk defa 1956 yılında kullanılmıştır (Hesaplamalı Zeka – Computational Intelligence) Yapay Zeka Nedir? Oxford İngilizce sözlükteki tanım: «The theory and development of computer systems able to perform tasks normally requiring human intelligence, such as visual perception, speech recognition, decision-making, and translation between languages.» Bilimsel literatürde ise farklı bakış açılarına göre farklı tanımlarla karşılaşılabilmektedir. Düşünme vs. Davranma İnsanları modelleme vs. İdeal standartlarda çalışabilme İki temel bakış açısı: İnsan gibi düşünme / davranma: başarım insan performansına olan yakınlıkla ölçülür Rasyonel düşünme / davranma: başarım rasyonellik olarak adlandırılan ideal zekaya göre ölçülür Rasyonel (akılcı) bir sistem, bildikleri doğrultusunda «doğru şeyi» yapan / yerine getiren sistemdir. Yapay Zeka ile İlgili Alanlar Felsefe: Mantık, akıl yürütme yöntemleri, öğrenme, dil, rasyonellik. Matematik: Biçimsel gösterimler ve ispat, algoritmalar, hesaplama, karar verilemezlik, durma problemi Olasılık / İstatistik: Belirsizliğin modellenmesi, veriden öğrenme Sinirbilim: Bilgi işleme birimleri olarak sinir hücreleri Psikoloji / Bilişsel Bilim: İnsan davranışı, algılama, bilişsel bilgilerin gösterimi Dilbilim: Bilgi gösterimi, gramerler ... Yapay Zeka’nın Alt Araştırma Alanları Mantık Programlama Arama Doğal Dil İşleme Örüntü Tanıma Bilgi Gösterimi Makine Öğrenmesi … Zayıf vs. Güçlü Yapay Zeka Zayıf YZ: Yapay zeka çalışmaları çeşitli sorunların çözümüne yönelik, faydalı ve güçlü uygulamaların ortaya çıkmasını sağlayacaktır. Güçlü YZ: Makineler insanlarla yarışabilir (hatta geçebilir) düzeyde bilişsel zihinlere sahip olabilecektir. Yani, «doğru» programlanmış bir makine insanın sahip olduğu zihinsel yetilere sahip olabilir. Yapay Zeka’ya İtirazlar Bilinç Kavramı Üzerinden İtiraz: Sembollerin rasgele yan yana gelişi ile değil ama hissedilen heyecanlar ve düşünceler sayesinde bir şiir yazamadığı ya da bir konçerto besteleyemediği ve bununla da kalmayıp yazıp bestelediğini bilmediği sürece, makineyi beynin eşiti olarak kabul edemeyiz. Sinir Sisteminin Sürekliliğinden Hareketle İtiraz: Sinir sistemi ayrık durumlu bir makine değildir. Öyleyse, ayrık durumlu sistemlerle taklit edilemezler. Davranışının Formel Olmayan Doğasından Hareketle İtiraz: Eğer insanlar yaşamlarını belirli bir kurallar kümesine dayanarak düzenleseydiler makinelerden daha iyi olamazlardı. Fakat, böyle bir kurallar kümesi mevcut değil. Öyleyse, insanlar makine olamazlar. Yapay Zeka Nedir? İnsan Gibi Düşünme (Bilişsel Modelleme Yaklaşımı): “Bilgisayarları düşündürmeye … kelimenin tam anlamıyla zihne sahip makineler yapmaya çalışan yeni ve heyecan verici bir çaba” (Haugeland, 1985) “Karar verme, problem çözme, öğrenme … gibi insan düşüncesi ile ilişkilendirdiğimiz eylemlerin otomasyonu” (Bellman, 1978) Zihinsel süreçleri anlamanın yolları: 1) İç-gözlem 2) Psikolojik deneyler 3) Dilbilim 4) Sinirbilim Disiplinler-arası bir alan olan Bilişsel Bilim, Yapay Zekadan bilgisayar modellerini ve Psikolojiden deneysel teknikleri alıp bir araya getirerek insan zihninin nasıl çalıştığına ilişkin kuramlar üretir. Yapay Zeka Nedir? Rasyonel Düşünme (‘Düşüncenin Yasaları’ Yaklaşımı): “Zihinsel yeteneklerin bilgisayımlı (hesaplamalı) modeller aracılığıyla incelenmesi” (Charniak ve McDermott, 1985) “Algılamayı, düşünmeyi ve davranmayı mümkün kılan bilgisayım modellerinin incelenmesi” (Winston, 1992) Aristoteles, “Doğru Düşünmenin Yasalarını” ilk formüle eden düşünürlerdendir. => “Syllogisms” => Mantık «Socrates bir insandır; bütün insanlar ölümlüdür; o halde Sokrates ölümlüdür.» Yapay Zekaya Mantıkçı Yaklaşım: Mantık programlarına dayanarak akıllı sistemler üretmeyi amaçlayan yaklaşım. Üç önemli problem: 1. Bilginin formüle edilmesi 2. Teorik olarak çözülemez sorunların varlığı 3. Teorik olarak çözülebilenin pratikte çözülemezliği Yapay Zeka Nedir? İnsan Gibi Davranma (Turing Testi): “İnsanların zekâlarını kullanarak gerçekleştirdiği fonksiyonları gerçekleştiren makineleri yapma sanatı” (Kurzweil, 1990) “İnsanların halihazırda daha iyi olduğu işleri bilgisayarların nasıl yapabileceğine dair yürütülen çalışma” (Rich and Knight, 1991) Zekânın tanımlanmasına işlevsel yaklaşım: zeki varlıklardan ayırt edilemezlik üzerine kurulu bir test. Testi geçecek bilgisayar programının sahip olması gereken yetenekler: 1) Doğal Dil İşleme: Sorgulayıcıyla iletişime geçmek için 2) Bilgi Gösterimi: Sorgulama öncesi ve sırasında bilginin saklanması ve geri çağırımı 3) Otomatik Akıl Yürütme: Saklanan bilgiyi soruları cevaplamada kullanabilme ve yeni çıkarımlar yapabilme 4) Öğrenme: Yeni durumlara uyum sağlayabilme ve 5) Algılama: duyma, görme, koku alma, dokunma 6) Robotik hareket: nesneleri ve kendini hareket ettirebilme yetisi ALAN MATHISON TURING • 23 Haziran 1912’de Londra’da doğdu. • 1936’da Turing Makinelerini tasarladı. • 1938’de ABD Princeton Üniversitesi’nde yanında hazırladığı teziyle doktor oldu. • İngiltere’ye döndüğünde, II. Dünya Savaşı sırasında Almanların “Enigma” kodlarının çözülmesinde önemli rol oynadı. • 1945’te Automatic Computing Engine (ACE) olarak adlandırılan büyük bir bilgisayarın tasarım, yapım ve kullanım çalışmalarını yönetti. • 1950 yılında Mind dergisinde yayınlanan “Computing Machinery and Intelligence” adlı makalesinde bugün TURING TESTİ olarak bilinen ünlü testi açıklamıştır. • 1954’te intihar ederek öldüğü sanılıyor. Alonzo Church’un Turing Testi (Tanım) Kriter: Bilgisayar/makine sorduğumuz herhangi bir soruya edilemeyecek yanıtlar veriyorsa gerçekten düşünmektedir. Test Düzeneği: insanınkinden ayırt Bilgisayar, gönüllü bir insanla birlikte sorgulayıcının görüş alanının dışında bir yere saklanır. Sorgulayıcı, yalnız soru sormak suretiyle, hangisinin bilgisayar olduğunu saptamaya çalışır. Sorgulayıcının soruları, daha önemlisi aldığı yanıtlar, tamamen ses gizlenerek, yani ya bir klavye sisteminde yazılarak veya bir ekran gösterilerek verilir. Sorgulayıcıya, bu soru/cevap oturumunda elde edilen bilgiler dışında, her iki taraf hakkında hiçbir bilgi verilmez. İnsan denek soruları içtenlikle yanıtlar ve kendisinin insan, öteki deneğin bilgisayar olduğuna dair sorgulayıcıyı ikna etmeye uğraşırken, bilgisayar ‘yalan’ söylemeye programlanmış olduğu için kendisinin insan olduğuna sorgulayıcıyı inandırmaya çalışır. Turing Testi (Örnek Sorgulama) Sorgulayıcı: “Please write me a sonnet on the topic of the Forth Bridge.” Program: “Count me out on this one. I never could write poetry.” Sorgulayıcı: “Add 34957 to 70764.” Program: “(Pause about 30 seconds and then give answer as) 105621.” Alan Turing Yapay Zeka Nedir? Rasyonel Davranma (Akıllı Etmen Yaklaşımı): “Akıllıca davranan etmenlerin tasarımı üzerine yapılan çalışma” (Poole et al., 1998) “İnsan yapımı şeylerde akıllı davranışın incelenmesi ” (Nilsson, 1998) Etmen programlarını diğer programlardan ayıran yönler: - Otonom kontrol - Ortamı algılama - Uzun bir zaman diliminde varlığını sürdürme - Değişime uyum gösterme - Empati Rasyonel etmen en iyi sonuca ulaşacak şekilde davranır. En iyi sonuca, her zaman rasyonel düşünerek erişilmez. Yapay Zeka’nın Tarihçesi 1943: YZ alanında ilk çalışmalar: Warren McCulloch ve Walter Pitts Yapay sinir hücrelerinin modellenmesi Girdilerine bağlı olarak çıktıları «açık/kapalı» şeklinde olan, matematiksel olarak öğrenilebilir fonksiyonlar (mantıksal kapılar) Herhangi bir hesaplanabilir fonksiyon birbirine bağlı sinir hücreleri ağıyla modellenebilir Uygun biçimde tanımlanmış ağlar öğrenme işini başarabilir 1949: Hebbian öğrenme (Donald Hebb) Sinir hücreleri arasındaki bağlantı gücünün sürekli olarak güncellenmesine yönelik bir mekanizma 1950: Turing testi 1951: İlk sinir ağı bilgisayarı (M. Minsky ve D. Edmonds) Yapay Zeka’nın Tarihçesi 1956: Dartmouth Konferansı John McCarthy ve arkadaşları tarafından düzenlenmiştir. Amaçları, hesaplama ve zeka üzerine yapılan çalışmalarda yeni bir dönem başlatmaktı. «Yapay Zeka» terimi bu konferansta John McCarthy tarafından ortaya atıldı. Bu konferansa katılanlar, yapay zekanın öncüleri olarak kabul gördüler. Bunlar arasında, Marvin Minsky (MIT’de Yapay zeka laboratuvarının kurucusu), Claude Shannon (Information Theory), Allen Newell (Amerikan Yapay Zeka Derneği’nin ilk başkanı) ve Nobel Ödülü sahibi Herbert Simon sayılabilir. Yapay Zeka’nın Tarihçesi 1956: Arthur Samuel’in dama programı: İnsanın oyun oynama performansına erişebilen ilk program. 1957: Herbert Simon’ın genel problem çözücüsü (GPS): Planlamaya yönelik sorunları insanın çözüm yöntemine benzer şekilde taklit edebilen bir program. 1958: J. McCarthy tarafından LISP dilinin bulunması: İlk YZ programlama dili 1963: Thomas Evan’ın ANALOG programı: IQ testlerindeki benzerlik problemlerini çözebilmekteydi. 1965: ELIZA (Weizenbaum): Bir psikoterapi uzmanı ile yapılan diyaloğu simüle edebiliyordu. 1967: Dendral programı (Stanford): İlk kural tabanlı uzman sistem programlarından biri olup bir kütle spektrometresinden gelen verilere ve önceden girilmiş uzman bilgisine dayanarak moleküler yapılara ilişkin çıkarımlar yapıyordu. Yapay Zeka’nın Tarihçesi 1966 – 1973: Gerçekliğe dönüş: Makine çevirisi sorunları, yeterli bilgi eksikliği, kuramsal sıkıntılar: Bu dönemde hesaplanamaz YZ problemleri olduğu ve sinir ağı yöntemlerinin kısıtlılıkları görüldü. 1971: Winograd doktora tezinde (MIT) bir sistemin mikro bir alanda (bloklar dünyası örneğiyle) İngilizce gibi doğal bir dili anlayabileceğini gösterdi. 1972: PROLOG programlama dili LISP’e alternatif olarak Avrupa’da geliştirildi. 1974: MYCIN (Ted Shortliffe): Tıbbi tanılama için bir uzman sistem. 1978: Version Space algoritması (Tom Mitchell – Stanford): İlk sembolik makine öğrenmesi algoritması 1980 sonrası - YZ’nın yükselişi