Hoşgeldin Misafir

Yapay Zeka Nedir?

LikeForYou

26 Eyl 2017
728 Mesaj

Aktiflik

Seviye

Deneyim

TIM / GÖREV:
Algoritma ve Yapay Zeka’ya Giriş
Hepimizin dilinde dolaşan ama anlamını tam bilmeden üzerinde yorumlar yaptığımz bir kelime; algoritma…
Kelime anlamı olarak; bir işin yapılışındaki etapların belirlenmesi ve sıralanmasıdır.
Türk Dil Kurumu’nda ise;
algoritma Fr. algorithme
a. (algori’tma) mat. Orta Çağda ondalık sayı sistemine göre son günlerde ise iyi kaydedilmiş kuralların ve prosedürlerin adım adım uygulanmasıyla bir problemin giderilmesi ya da bir sonuca en hızlı şekilde ulaşılması prosedürü, Harezmi yolu.
Güncel Türkçe Sözlük
biçiminde verilmiştir. Buradan da anlaşılacağı gibi algoritma bir uygulamaylama dili değildir. Fakat uygulamaylama dillerine yol gösteren teknik olarak nitelendirebiliriz.
-Algoritma, uygulamacı açısından neden önem arz eder?
Programcılar bir işe kalkıştıklarında bu iş ilk etapta geneldir. Örneğin işe uygulamaylama açısından değil de günlük yaşantımızdan bakarsak; şuan bilgisayarın başındasınız ve susamış bulunuyorsunuz. Yapmanız gereken nedir? Tabiki gidip su içmektir. Su içmek bir genelliktir. Çünkü yapacağımız işin birçok adımı var ama ana temamız su içmek. Bunu yapmamız için ilk sırada koltuğumuzdan kalkmalı, mutfağa gitmeli, bir bardak almalı, bardağa su doldurmalı ve sonrada suyu içip tekrar koltuğumuza dönmeliyizdir. Ama günlük yaşantımızda bu olayı bu kadar uzatmak yerine hernet anlayacağı dilden “Su İçmek” olarak nitelendiririz. Bunu herkes anlayabilir zira hernet bunu idrak edecek bir aklı vardır. Fakat aynı biçimde bir robot olduğunu düşünelim. Bu robota benzerini ifade ettiğimizde anlayamayacaktır. Teker teker adımları sıralayıp her bir komutumuzu sırayla yerine getirmesini istemek zorunda kalırız. Bilgisayar uygulamaylamada da aynı biçimde yapılacak işi etaplara ayırıp teker teker komutlandırmamız gerekir. Bu yüzden de uygulamacı açısından algoritma çıkarmak önemlidir.
Daha önceki Derleyici Çalışma Mantığı makalemde de anlattığım gibi derleyiciler komutlarımızı bir sıraya göre prosedüre koyar. Algoritma çıkararak, derleyicimizdeki her bir satır için bir komut dizisi oluştururuz ve bu komutları sırayla derleyicinin çalıştırmasını isteriz. Bunu yaptığımızda ise komutlar birleşir ve bizim ana temamızı oluşturur.
Programcıları birbirinden ayıran en önemli özellik iyi algoritma çıkarabilmesidir. Eğer bir uygulamacı algoritma çıkarmada sorun çekiyorsa, bildiği dillere hakimiyet seviyesi yüksek olsa dahi uygulama çıkarmada zorluk çekecektir. Algoritmanın amacı, yalnızca bir işin yapılış sürecini saptamak değil özellikle bu süreci en kestirme yoldan tamamlamak ve işin yapılış süresini minimuma indirgemektir.
Algoritmanın özelliklerinden bir tanesi de yapay zekaya imkân tanımasıdır. Bu kısımda yapay zekanın da tanımını iyi bilmekte yarar var.
Kelime anlamı olarak Yapay Zeka;
İnsanın kanaat yapısını anlamak ve bunun aynısını ortaya çıkaracak bilgisayar prosedürlerini geliştirmeye çalışmak olarak bilinir.
Burada önemli olan nokta insanın kanaat yapısını anlamaktır. Örneğin kendiniz bir karar verirken bunun neye göre verirsiniz. Bu kararlar şayet yeteri derece kolaye indirgenebilirse, yalnızca net kararlarımız değil tahminlerimiz bile uygulamaylanarak bir yapay zeka oluşturulabilir. Biraz muazzamda olsa bu bir gerçek!
Biraz önce verdiğim “Su İçmek” işindeki her bir adım bu olayın kolaye indirgenmiş şekliydi. Yani insanların düşündükleri genel olayları kolaye indirgeyebiliyoruz. ޞimdi is bu olaydaki yapay zekaya bakalım.
Benim verdiğim örnekteki robot su getirme prosedürünü algılayamıyordu. Çünkü bunu yapacak zekası yoktu. Ama bu işi kolaye indirgeyebilirsek bizdeki düşünme yeteneğini o robota transfer edebiliriz ve artık o robotta bizim gibi olayı algılayabilir. Ama önce bizim olayı nasıl algıladığımızı bulmamız ve bunu algoritmaya döküp sonrada bu algoritmayı robota entegre etmeliyiz.
Bize “Su Getir” denildiği zaman bu olayı nasıl algılıyoruz ve olayı gerçekleştirmemiz için ne yapıyoruz?
Bir insan “Su Getir” cümlesinden anladığı bir bardak suyu isteyen şahsa götürmesidir. Buradaki parametreyimiz insandır. Çünkü herhangi bir insan bizden su isteyebilir. Diğer bir parametreyimiz ise su isteyen kişinin konumudur. Çünkü herhangi biri bizden herhangi bir yerden su isteyebilir. Burdaki asıl amacım olayı yapabildiğim kadar kolaye indirgemek. Normalde bu kadar kolay düşünmeyiz. Aslında beynimiz bunları düşünür esasen ancak biz farketmeyiz. Hayatınızda en az bir kez yaşamışsınızdır; sizden su isteyen birine suyu götürdüğünde yerinde bulamamanız. Demek ki sizden su istenildiğinde, istenildiği esnada suyu isteyen kişi neredeyse suyu da oraya gdolayıyorsunuz. Burada atladığımız bir noktada suyu temin edeceğimiz yerdir. Kendi evinizdeyseniz mutfağın yeri esasen beyninizde kayıtlıdır. Ama farklı bir mekandaysanız suyu nerden alacağınız konusu ile ilgili bilgi edinirsiniz. Demek ki robota bu olayları anlatmadan önce belleksında parametrelerimiz için yer ayırmamız gerekiyor. Robotumuza vereceğimiz komutların kolaye indirgenmiş ve sıralanmış biçimi şu şekildedir;
“Su Getir” mi dedi?“Su Getir” demediyse prosedür yapma“Su Getir” dediyse prosedüre devam etSuyu temin edeceğin yeri biliyorsan 7. adıma geç,Suyu temin edeceğin yeri öğren ve bellekna alSuyu temin edeceğin yere git
Bu komutları robotumuza entegre ettiğimizde artık normal bir insana dediğimiz gibi robotumuzdan da su istediğimizde aynı olayı gerçekleştirecektir.
Bu insanların net bildiği şeylerden biridir. Peki tahminlerimizi nasıl yapay zekaya dönüştürebiliriz?
Buna bir kaç soruyla yanıt vermek istiyorum:
Barcelona ve Elazığspor maç yaparsa kim kazanır?Barcelona ve River Plate maç yaparsa kim kazanır?River Plate ve Classic XI maç yaparsa kim kazanır?
(Not: Maçlarda birliktee bitme şansının olmadığını, River Plate ve Classic XI takımlarını bilmediğinizi varsayın!)
Bu soruların ilki netlik ifade eder. Nitekim hernetde bildiği gibi Barcelona, Elazığspor karşısında galip gelir. Buna göre insanlar ilk soruyu Elazığspor ve Barcelona’yı bildikleri için hangisinin daha iyi oynadığına göre yanıtını net olarak verir.
2. Soruda ise River Plate takımını bilmeyenler, Barcelona’nın dünya devi bir takım olduğunu ve çok duyduklarını yalnız buna rağmen diğer takımı tanımadıklarını, şayet iyi bir takım olsaydı kesinlikle tanıyacaklarını düşünürler. Bunun içinde Barcelona’nın yeneceğini tahmin ederler.
3. Soruda da her iki takımı da bilmediğimiz için herhangi birisini seçeriz.
ޞimdi ise bu soruların yanıtlarına bakalım.
1. Soruda hernetde bildiği gibi Barcelona galip gelir. Bu bir netliktir.
2. Soruda ise River Plate’i bilmedikleri halde Barcelona diyenler, düşündükleri gibi Barcelona’nın galip geleceğini doğru bilirler. Çünkü River Plate Arjantin’in bir takımıdır ve Barcelona’nın yenebileceği bir güce sahiptir.
Gelelim 3. Soruya…
Classic XI; FiFa’nın son oyunlarında ki gelmiş geçmiş en iyi oyunculardan oluşturduğu bir kadrodur. Bu da demek oluyorki River Plate’in bu takımı yenmesi zor bir olasılıkdir. Böylece River Plate diyenler soruyu yanlış yanıtlamış olacaklardır.
Bu kanaatmizi algoritmaya dökelim…
Bizim aklımızda bildiğimiz belirli takımların bir listesi vardır. Kimi birçok takımı bilir, kimi ise yalnızca belli başlı takımları… Ama sonuç itibariyle herkes bildiği takımları bi kağıda yazarsa elinde bir liste oluşur. İnsanlar bu takımların hem adlarını bilirler hem de güçlerini bilirler ve buna göre kıykatiyenma yaparlar. Aynen bunun gibi bildiğimiz takımların adlarını ve güçlerini bir kağıda yazıp yanımızda tuttuğumuzu varsayalım.
1. Soruyu listemize bakarız ve iki takımıda bildiğimiz için gücü hangisinin yüksekse onu seçeriz.
2. Soruda ise yine listemize bakarız ancak ikinci takımı listemizde bulamadığımız için ve ilk takımın gücünün çok yüksek olduğundan kaynaklı ilk takımı tahmin ederiz.
3. Soru için de her iki takım listemizde bulunmadığından kaynaklı yine herhangi birini seçeriz.
Bu adımları kodlamaya döküp bir uygulama yaptığımızda ve aynı 3 soruyu o uygulamaya sorduğumuzda bir insana sormuş gibi cevaplar alırız. Yani kendi zekamıza eş dşayet bir kanaat sistemi oluşturmuş oluruz.
Gördüğünüz gibi işin özü; bir olayın ne kadar karmaşık olmasına bakmaksızın olayı analiz edip kanaat sistemini algoritmaya dökmektir. Bu işi ise analiz yeteneği yüksek olanların yapması daha profesyonel şeylerin ortaya çıkması demektir.