Bu sunum, Uzay Çetin tarafından Sarıyer Akademi ile birlikte katıldığımız, 11-12 Kasım, 2017 tarihlerinde MEF Üniversitesi’nde gerçekleştirilen “Eğitimde Gelecek Konferansı”nda kullanılmak üzere hazırlanmıştır.
Bilgisayımın temelleri kodlama ve matematiktir.
Kodlama ve matematik bilgisi olmadan yapay zekayı kullanmamız, bu bilim dalına yön vermemiz mümkün değildir. Liseden itibaren öğrencilerimize bu bakış açısını kazandırmamız gerekmektedir. İki bölümden oluşacak olan sunumda, ilk bölümde kodlama ve simülasyonun önemi dinleyicilere aktarılacak. İkinci bölümde ise kalkülüs, doğrusal cebir ve istatistik bilgisinin nasıl yapay zekanın temellerini oluşturduğundan bahsedilecektir. Bu sunumun hedefi, bilim yapmanın üçüncü yolu olarak nitelendirilen simülasyonun ve bilimlerin anası olarak kabul gören matematiğin ne işe yaradığını tekrar vurgulamaktır.
Gereken Programlar: R (RStudio) ve NetLogo dilleri sunum sırasınca kullanılacaktır. Aktif olarak katılmak isteyen dinleyicilerin bilgisayarlarında bu programlama dillerinin bulunması faydalı olacaktır.
Bilgisayar mühendisliğinin temelinde yatan algoritmik yaklaşıma göre,
tarif edebildiğimiz her şeyi programlayabiliriz. Peki ya tarif edemediğimiz şeyler?
Karmaşık sistemler bilim dalının temellerinde yatan ana fikir,
“bütün, parçaların toplamından daha fazladır” ilkesidir.
Bu parçalarda bulunmayan bir özelliğin, bütünde zuhur edebileceğini ifade eder.
Örneğin tek başına bir karınca zeki değildir, ama bir bütün halinde koloni en kısa yol problemini çözerbilecek zeka belirtisi gösterir.
Yapay öğrenmenin başarısının arkasında ise “bol miktardaki örneklerden hatayı minimize eden hipotezi bulmak” yatar.
Bu sayede, elimizdeki örnek veriler ve tahminimiz arasındaki hatayı minimize ederek, algoritmasını yazamadığımız, tarifini bilemediğimiz fakat kolayca yapabildiğimiz yüz tanıma, karakter tanıma gibi işleri bilgisayarlara yaptırabiliriz.
Bu çalışma, yapay zeka ve karmaşık sistemler bilim dallarının bir arada ele alınması gerektiğini ve yapay zekaya dair çalışmaların geleceğinde, karmaşık sistemlerin büyük bir rol üstleneceğini iddia eder.
Seth Lloyd 2005 yılında basılmış, Programming the Universe adlı kitabında söyle söylüyor,
Evrendeki her atom, her parçacık bilgi kaydeder. Bu parçacıklar arasındaki her bir çarpışma, ne kadar küçük olursa olsun, meydana gelen her bir değişim sistematik bir biçimde o bilginin işlenmesidir.
Buradaki iki kritik nokta, bilgi kaydı ve bilginin işlenmesidir. Bilindiği üzere bunlar modern programlamanın temel unsurlarıdır.
Demek ki, sadece bilgisayarlar bilgi depolayan ve o bilgiyi işleyen aygıtlar değildir. Evrenin kendisi de, baştan sona bilgi işleyen devasa bir sistemdir.
Bigisayım Örneği Venüs bitkisi, beyni olmamasına rağmen, sayım yapıyor ve şartlar sağlandığında harekete geçiyor.
Bilgi İşlem
Zuhur Örneği
Parçalarda olmayan bir şey (dalga), bütünde ortaya çıkıyor.
Bilgi İşlem
Zuhur Örneği
Parçalarda olmayan bir şey (zeka), bütünde ortaya çıkıyor.
Bu resim Goss ve arkadaşlarının 1989 yılındaki Naturwissemschaften makalesinden alınmıştır. (a) Deney tasarımı (b) 4 dakika sonra köprü üzerindeki karıncalar (a) 8 dakika sonra en kısa yol üzerinde yoğunlaşmış karıncalar.
Bilgi İşlem
Öz örgütlenim
Doğa değişen duruma göre kendini yeniden programlıyor.
Ekosistemi oluşturan canlılar arasındaki karmaşık bağlantılar bir çırpıda bilgi işlemi yazmayı zorlaştırıyor. Burada ilginç olan bir çok nokta var, şimdilik her şeyi diğer her şeye olan bağlantısını vurgulamakla yetinelim. Yellowstone parkına, getirilen kurtlar geyik nüfusunu azaltıyor, orman ve bitki örtüsü yeniden canlanıyor, erozyon azalıyor, nehir yatakları güçleniyor ve parkın fiziki coğrafyası değişiyor. Bir kaç kurtun bunu yapabileceğini kim tahmin ederdi?
Algoritmalar, bilgisayar biliminin yapı taşıdır. Belirli bir problemin nasıl çözüleceğine dair izlenmesi gereken adımların tümüne algoritma deriz. Çözüm yolunu düşünürüz, ve bu düşüncemizi koda dönüştürürüz.
Algoritmalar kodun içerisine gömülmüş düşüncelerdir
Tarif edebilidiğimiz her şeyin programını yazabiliriz. Bir işi tarif edebilmek, o işin algoritmasını bilmek demektir. Örneğin, menemen yapmayı biliyorsanız, bana yemeğin algoritmasını yani tarifini verebilirsiniz.
Bilgisayar bilimindeki en önemli algoritmaların başında sıralama algoritmaları gelir. Google sizce arama motoru mudur, yoksa sıralama motoru mudur?
# Ekle-sırala algoritması
1.Döngü: i = 0'dan N'ye, her i için, # i'yi Ekle
2.Döngü: j = i'den 1'e, her j için,
j.inci eleman, bir öncekiden küçükse, # i'yi Sırala
ikisinin yerini değiştir
j'yi bir azalt
değilse
2.Döngüden çık
i'yi bir arttır
Yukarıda ekle-sırala algoritmasını aşağıda görüyorsunuz. İlk bakışta karışık gelebilir ama aslında oldukça basittir.
Şöyle düşünün, masadaki desteden kart seçiyorsunuz. İlk kartı sıralamaya gerek yok. İkinci kartı, ilkiyle karşılaştırıp küçükse sola koyarsınız. Bu şekilde, masadan aldığını yeni kartı elinize ekle rsiniz ve sonra sırala rsınız.
Aşağıdaki videoda, folklor grubu ekle-sırala algoritmasına göre dans ediyor. Bu videoya bakınca, ne demek istediğimi daha iyi anlayabilirsiniz.
Aşağıdaki videoda, karganın uyguladığı algoritmayı görebiliyor musunuz?
Algortima , yemek yapmaktan dans etmeye her şey algoritmadır. Bir işin nasıl gerçekleştirileceğini anlatan sıralı komutlar.
Programlama nın temelelleri
Aşağıdaki komutları Netlogoda yazarsak ne olur?
Forward 50
Right 90
Forward 50
Right 90
Forward 50
Right 90
Forward 50
Right 90
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
to setup
clear-all ;; her seyi sil
create-turtles 1[
set heading -30 ;; ilk yonu belirle
setxy (5 - max-pxcor) 0 ;; ilk konum
]
end
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
to ciz ;; kaplumbagalardan rica et
ask turtles [polygon-ciz]
end
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
to polygon-ciz ;; yeni fonksiyon (prosedur)
pen-down ;; kalem cizim icin gerekli
repeat kenar-sayisi[ ;; Dongu
forward uzunluk ;; Ilerle
right (360 / kenar-sayisi) ;; Saga Don
]
end