29 Ocak 2017 Pazar

Algoritma Nedir?

Bilgisayarlar; onlara anlatılabilen (yada ifade edilebilen) belirli emirleri; işleyen,
belirli verileri depolayabilen, gercekleştirdiği bu işlemleri insanlara gore daha hızlı ve
hatasız tamamlayabilen (bilgisayarlar hata yapamamaktadır – sadece onları
programlayan programcılar hata yaparsa, bilgisayarlarda bu hatalı emirleri
gerçekleştirmiş olduğu için hata yaparlar) elektronik makinelerdir.
Bilgisayarları, kontrol etmek icin bilgisayar programlarını kullanırız ve programlarla
bilgisayarları yonetiriz. Yani programlar, bilgisayarların direksiyonudur veya
dizginidir diyebiliriz.
Konuya başlamadan önce, inanmanız gereken, bu işin aslında düşündüğünüzden daha
kolay olduğudur. İşin zor kısmı, sizi, programlama ve algoritmanın kolay olduğuna
inandırmaktır, programlama öğretmek değil!!!

Programlama oğrenmek icin okuduğunuz bir kitabın algoritma konusu ile başlaması olağandır.
Cunku, her tur planlama ve programlamanın temeli, algoritma kurmakla mumkun olacaktır. Bu kitabı
okuyan herkes algoritma kurabilecek yeteneğe sahip olduğundan dolayı, okuyucular icin;
“programlama yapabileceği garantisi” verilebilir (tabi bu hemen her programı yazabileceğiniz
anlamına gelmemektedir). Cunku, “okuma-yazma” bile algoritma gerektirmektedir, ve siz okurlar,
okuma bildiğiniz icin algoritma kurabilir, dolayısıyla programlama yapabilirsiniz.
Algoritmaya giriş yapmadan once, bir soruya cevap vermeye calışalım: “Neden düşünürüz?”.
Şuan, “Neden duşunuruz” sorusunun cevabını bulmak icin düşünüyorsunuz, çünkü bu
sorunun cevabını bilmiyorsunuz. O halde, duşunmenin nedenlerinden birinin, bir sorunun
cevabı bulmak olduğunu soyleyebiliriz. Cunku eğer bu sorunun cevabını biliyor olsaydınız,
duşunmenize gerek kalmazdı ve direkt olarak cevaplardınız.
Algoritma Algoritma, "algorithm is a procedure or formula for solving problems [e2]" yani;
"problemleri cozmek icin tasarlanmış bir prosedur veya formul" anlamında
gelmektedir.
Daha acıkcası, bir problemin çözümü için izlenecek yol (yontem - metod) yani (bu
yontem icerisinde bulunan) bir dizi işleme verilen addır. Bir dizi işlem: tek bir işlem
veya birden fazla işlem olabilir. Eğer yapılacak bir dizi işlem yok ise, ortada problem
olan bir durum soz konusu değildir.
Algoritma Kısa Tarihi
Algoritmanın kurucusu dokuzuncu yüzyıl başlarında yaşayan Müslüman-Türk
matematik alimi Ebu Abdullah Muhammed bin Musa el-Harezmi’dir. Matematikçiler
için temel olan Kitab-ül Muhtasar fi Hesab-il Cebri ve’l-Mukabele adlı eseri
meşhurdur. Kitabın aslı, Oxford’daki Bodliana kütüphanesindedir. Matematikteki
şöhreti on altıncı yüzyılda Avrupa’yı etkisi altına almıştır. Harezmi’nin ismi
Avrupa’da türlü şekillerle söylenmiştir. Latince’de “Alkhorismi” şeklinde söylenerek
bulduğu metod Algoritma (algorizme) olarak literatüre geçmiştir. [e3]
Bir problemi cozmek icin, duşunme eylemi gercekleştirdiğimiz her evrede, algoritma kurarız
veya daha onceden (bizim veya başkası tarafından) kurulmuş olan algoritmaları kullanırız. Bazı
durumlarda da, gecerli olan durumlar icin algoritma kuramayabiliriz. Gelişen dunya – bilişim
sayesinde artık her tur problem cozulmeye, cozum yolları da herkes tarafından oğrenilmeye (internet
veya kitaplar tarafından) başlandı. Artık bu noktadan sonra, onemli olan, algoritma kurabilme değil,
16
kuracağınız algoritmaların; ne kadar hızlı, ne kadar kapsamlı, ne kadar ucuz ve ne kadar yüksek
performanslı olduğudur.
Algoritma kurmanın nedeni, düşünmektir ve duşunmenin nedeni ise, problem çözmekdir
(dört paragraf öncesinde, düşünmenin nedenlerinden birinin, bilinmeyen bir sorunun cevabını
bulmak olduğunu söylemiştim, bir sorunun cevabının bilinmemesi de bir problemdir).
Problem Problem; istenilmeyen bir durumdur[durum: Bir zaman kesiti içinde bir şeyi
belirleyen şartların hepsi, vaziyet, hâl, keyfiyet, mevki, pozisyon] (bir kullanıcı,
kişinin veya topluluğun istemediği bir durum – değiştirilmesi gerekli olan bir durum)
ve algoritma kurularak, bir dizi işlem oluşturulur. Bu işlemler, o anki durumu,
problem durumundan cıkarır ve istenilen hale getirir.
İlk okul cağlarından hatırladığımız “matematik problemleri” de aynı esasla cozulur.
Problemlerde, bilinmeyen bir durum soz konusudur. Bir işci problemi duşunelim... Evimizi
boyatacağız ve boya ustasının gunluğu 40 YTL (veya artık 2009’da isek, 40 Lira) olsun ve boyacı bir
gunde sadece bir oda boyayabilsin.. Bizde buradan oda sayısı ile gunluk masraf olan 40 lirayı carpıp
boyacıya vereceğimiz ucreti hesaplarız...
Yapay zeka (insan gibi duşunebilen – cozum uretebilen – sistemler geliştiren bir bilim dalı)
sistemlerinde de; insan gibi duşunen sistemler geliştirmede ilk temel alınan yontemlerden biri,
başlangıc durumundan, istenilen duruma ulaşan bir formul bulmaktır. Algoritma kurma evresi
aşağıdaki diagramdaki gibi gercekleşmektedir.
Figür 1.2.1 A : Problem ve Çözüm durumu
Şimdiye kadar ki bolum tamamen teorikti, bu oğrendiklerimizi pratiğe dokelim.
Bu anlatılanların aklınızda daha uzun sure kalmasını ve anlaşılır olmasını sağlamak amacıyla,
gecmişe cocukluğunuza donelim. Hepimiz, Hansel ve Gretel hikayesini hatırlarız. Bu hikaye
icinde gecen 1-2 cumleyi yazayım. (Hansel ile Gretel iki kardeştir ve üvey anneleri onların
kaybolmasını ister.)
“.... Hansel zeki bir çocukmuş. Sabah ormana doğru yürürlerken, akşam yemeğinde
cebine sakladığı kuru ekmeğin kırıntılarını (yere iz bırakıp kaybolmamak ve daha sonra
bu izi takip ederek evin yolunu bulmak için için) yere saçıp arkasında bir iz
bırakmış.......”
Cok basit bir ornek olarak; Hansel, evin yolunu kaybetmemek icin bir algoritma yani cozum
bularak, ekmek kırıntılarını yere işaret bırakmak icin kullanmıştır.
Algoritma ustunde neden bu kadar yoğun olarak durulduğunu ileri ki bolumlerde daha iyi
kavrayacaksınız. Bircoğunuzun, “bu konuları zaten herkes biliyor” dediğini tahmin ediyorum.
Bazılarınızda, “bu konular aslında zor olduğu için mi üzerinde bu kadar duruluyor?” şeklinde
duşunuyor olabilir. Bu duşuncenin aksine algoritma konusu inanılmaz derecede kolaydır. Ancak,
algoritmanın oneminin surekli olarak aklımızda olmasını sağlamak gerekmektedir.
Daha fazla bilgi için aşağıdaki linkten kıtabı indiribilirsiniz...


İndir

Hiç yorum yok:

Yorum Gönderme