{"id":574,"date":"2018-08-16T22:33:37","date_gmt":"2018-08-16T19:33:37","guid":{"rendered":"http:\/\/yarimada.gen.tr\/?p=574"},"modified":"2018-08-16T23:07:41","modified_gmt":"2018-08-16T20:07:41","slug":"algoritmalar-neden-onemlidir","status":"publish","type":"post","link":"https:\/\/yarimada.gen.tr\/?p=574","title":{"rendered":"Algoritmalar Neden \u00d6nemlidir?"},"content":{"rendered":"<p>Son zamanlarda algoritma s\u00f6zc\u00fc\u011f\u00fcne haberlerde daha s\u0131k rastl\u0131yoruz. Haber sitelerinde algoritma kelimesini (bkz <a href=\"https:\/\/www.ntv.com.tr\/ara?q=algoritma\">https:\/\/www.ntv.com.tr\/ara?q=algoritma<\/a>) aratt\u0131\u011f\u0131m\u0131zda \u00e7ok say\u0131da g\u00fcncel haber listeleniyor. &#8220;WhatsApp, &#8216;herkesten sil&#8217; \u00f6zelli\u011fini de\u011fi\u015ftirdi&#8221;\u00a0 () haberinde yeni algoritmayla &#8220;at\u0131lan mesaj\u0131 silme&#8221; \u00f6zelli\u011finin \u00e7al\u0131\u015fma prensibinin de\u011fi\u015fti\u011fi; &#8220;Pelikan yuvadan u\u00e7maya haz\u0131rlan\u0131yor&#8221; () haberinde Meteksan Savunma&#8217;n\u0131n geli\u015ftirdi\u011fi Pelikan G\u00fcd\u00fcml\u00fc Mermi Sim\u00fclat\u00f6r\u00fc&#8217;n\u00fcn kullan\u0131c\u0131ya farkl\u0131 algoritma ve parametreleri deneyebilme imkan\u0131 verdi\u011fi; &#8220;Facebook ka\u00e7 paran\u0131z oldu\u011funu bilecek&#8221; () haberindeyse Facebook&#8217;un sat\u0131n ald\u0131\u011f\u0131 yeni algoritma anlat\u0131l\u0131yor.<\/p>\n<p><!--more--><\/p>\n<p>\u00d6n\u00fcm\u00fczdeki g\u00fcnlerde bu s\u00f6zc\u00fc\u011f\u00fc daha \u00e7ok duyaca\u011f\u0131z gibi g\u00f6r\u00fcn\u00fcyor. Hen\u00fcz \u00fclkemizde yayg\u0131nla\u015fmad\u0131 ama bir &#8220;algoritma \u00e7a\u011f\u0131&#8221;ndan bahsedenler de var (<a href=\"http:\/\/radioopensource.org\/the-algorithmic-age\/\">http:\/\/radioopensource.org\/the-algorithmic-age\/,<\/a> <a href=\"http:\/\/firstmonday.org\/ojs\/index.php\/fm\/article\/view\/8097\/6583\">http:\/\/firstmonday.org\/ojs\/index.php\/fm\/article\/view\/8097\/6583<\/a>). Rainie vd.&#8217;ye (2017) g\u00f6re algoritmalar her \u015feyi optimumla\u015ft\u0131rmaya \u00e7al\u0131\u015f\u0131yor, hayat kurtar\u0131yor, i\u015fleri kolayla\u015ft\u0131r\u0131yor ve kaosu \u00f6nl\u00fcyor ancak \u015firket ve h\u00fck\u00fcmetlerin elde edebilece\u011fi g\u00fc\u00e7 nedeniyle de endi\u015fe uyand\u0131r\u0131yor. Rainie vd.&#8217;nin (2017) algoritmalar ve etkileri \u00fczerine yapt\u0131klar\u0131 \u00e7al\u0131\u015fmaya kat\u0131lan bili\u015fim teknolojileri uzmanlar\u0131n neredeyse tamam\u0131 algoritma tabanl\u0131 uygulamalar hakk\u0131ndaki endi\u015felerini ifade ediyor. Bu uzmanlar\u0131n %38&#8217;i algoritmalar\u0131n olumlu ve %37&#8217;si olumsuz etkilerinin daha a\u011f\u0131r bast\u0131\u011f\u0131n\u0131 d\u00fc\u015f\u00fcn\u00fcyor. %25&#8217;ine g\u00f6reyse algoritmalar\u0131n olumlu ve olumsuz etkileri yar\u0131 yar\u0131ya. Ancak uzmanlar\u0131n b\u00fcy\u00fck \u00e7o\u011funlu\u011fu, algoritmalar\u0131n g\u00f6r\u00fcnmez bir \u015fekilde h\u0131zla yay\u0131laca\u011f\u0131 ve gelecekteki etkilerinin \u00e7ok daha b\u00fcy\u00fck olaca\u011f\u0131 hakk\u0131nda hemfikir.<\/p>\n<p>Enformasyon \u00e7a\u011f\u0131, bilgi \u00e7a\u011f\u0131 ve \u015fimdi kar\u015f\u0131m\u0131za \u00e7\u0131kan algoritma \u00e7a\u011f\u0131 gibi tan\u0131mlamalara kar\u015f\u0131 baz\u0131 \u00e7ekincelerim olsa da \u00f6n\u00fcm\u00fczdeki g\u00fcnlerde algoritmalar\u0131 daha \u00e7ok konu\u015faca\u011f\u0131m\u0131z ve tart\u0131\u015faca\u011f\u0131m\u0131z kesin. Algoritmalar\u0131 daha sa\u011fl\u0131kl\u0131 tart\u0131\u015fabilmek i\u00e7in de bir zamanlar sadece matematik\u00e7ilerin ve yaz\u0131l\u0131m geli\u015ftirenlerin a\u015fina oldu\u011fu bir terim olan algoritman\u0131n ne oldu\u011funun ve bilgisay\u0131msal (computational) i\u015flemlerdeki yerinin anla\u015f\u0131lmas\u0131 gerekiyor. Dolay\u0131s\u0131yla kodlama e\u011fitimlerini yaln\u0131zca bir meslek edindirme kursu olarak de\u011ferlendirmemeli. Bu e\u011fitimler, \u00f6\u011frencilere bilgisay\u0131msal bak\u0131\u015f a\u00e7\u0131s\u0131 kazand\u0131rmak i\u00e7in \u00f6nemli bir f\u0131rsat. Hatta kodlamay\u0131, e\u011fitimin amac\u0131 de\u011fil, bilgisay\u0131m\u0131 anlaman\u0131n ve yaparak \u00f6\u011frenmenin bir arac\u0131 olarak ele almak daha yerinde bir yakla\u015f\u0131m olabilir. Bir\u00e7ok okulda yeterli bilgisayar altyap\u0131s\u0131n\u0131n olmad\u0131\u011f\u0131n\u0131 d\u00fc\u015f\u00fcnerek karamsarl\u0131\u011fa kap\u0131lmamak laz\u0131m. Bilgisay\u0131msal bak\u0131\u015f a\u00e7\u0131s\u0131, bilgisayar olmadan da (belki daha ba\u015far\u0131l\u0131 olabilir) kazand\u0131r\u0131labilir. \u00d6rne\u011fin <a href=\"https:\/\/classic.csunplugged.org\/\">https:\/\/classic.csunplugged.org\/<\/a> adresinde \u00e7ocuklara bilgisayar bilimini, bilgisayar olmadan \u00f6\u011fretebilmek amac\u0131yla \u00e7e\u015fitli oyunlar ve etkinlikler haz\u0131rlanm\u0131\u015f. Ayn\u0131 sitede, \u00fccretsiz indirebilen ve \u00e7e\u015fitli dillere \u00e7evrilmi\u015f bir kitap da var. Kitap hen\u00fcz T\u00fcrk\u00e7eye \u00e7evrilmemi\u015f olmas\u0131na kar\u015f\u0131n kitaptaki baz\u0131 etkinliklerin T\u00fcrk\u00e7e \u00e7evirileri de var. \u0130kilik d\u00fczeni, s\u0131ralama, arama ve metinleri s\u0131k\u0131\u015ft\u0131rmada kullan\u0131lan algoritmalar\u0131 oyunla \u00f6\u011freten e\u011flenceli etkinlikler var.<\/p>\n<p>Okullarda y\u0131llard\u0131r Word, Excel, Power Point vb anlat\u0131larak yap\u0131lan teknoloji e\u011fitiminden k\u00f6kten farkl\u0131 bir e\u011fitim anlay\u0131\u015f\u0131na gereksinim var. ABD ve Avrupa&#8217;da kodlama e\u011fitiminin hedefleri aras\u0131nda ucuz i\u015fg\u00fcc\u00fc yeti\u015ftirmek olabilir; belki biz de sadece onlar\u0131n acemi bir taklit\u00e7isiyiz. Buna ra\u011fmen bilgisayar bilimini, \u00e7e\u015fitli algoritmalar\u0131 ve kodlamay\u0131 neden \u00f6\u011frenelim? Bili\u015fim teknolojilerinden yararlanmak (\u00f6rne\u011fin tweet atmak, sosyal a\u011flarda \u00f6rg\u00fctlenmek) i\u00e7in t\u00fcm bunlar\u0131 bilmeye gerek var m\u0131? Sonu\u00e7ta, televizyon izleyebilmek i\u00e7in elektronik ya da modern sa\u011fl\u0131k hizmetlerinden yararlanmak i\u00e7in t\u0131p \u00fczerine \u00e7al\u0131\u015fm\u0131yoruz.<\/p>\n<p>Kimi zaman e\u011flenceli de olabilecek bu \u00f6\u011frenme zahmetine katlanmak i\u00e7in ba\u015fl\u0131ca iki nedenimiz oldu\u011funu d\u00fc\u015f\u00fcn\u00fcyorum. Birincisi, ad\u0131 ister algoritma \u00e7a\u011f\u0131 isterse ba\u015fka bir \u015fey olsun algoritmalara dayal\u0131 toplumsal d\u00fczenlemelerin \u00e7o\u011falaca\u011f\u0131 bir sisteme do\u011fru ilerliyoruz. Bilgisayarlar\u0131n \u00e7al\u0131\u015fma ilkelerinin b\u00fcy\u00fcden ar\u0131nd\u0131r\u0131lmas\u0131 gerekiyor. Bilgisayarlar\u0131n nas\u0131l \u00e7al\u0131\u015ft\u0131\u011f\u0131 bilinmedi\u011fi zaman bili\u015fim teknoloji hakk\u0131ndaki mitsel d\u00fc\u015f\u00fcncelere daha kolay kap\u0131l\u0131yoruz. Ayr\u0131ca Erwig&#8217;in (2017) belirtti\u011fi gibi ya\u015fad\u0131\u011f\u0131m\u0131z d\u00fcnyada kendi ba\u015f\u0131na hareket edemeyen nesnelerle etkile\u015fim halindeyiz ve temel mekanik bilgisi bu nesnelerin hareketini \u00f6nceden tahmin edebilmemizi b\u00f6ylece daha g\u00fcvende olmam\u0131z\u0131 sa\u011fl\u0131yor. Erwig&#8217;e (2017) g\u00f6re bilgisayar bilimi de benzer bir yarar sa\u011flayacakt\u0131r. Toplumsal ya\u015fam\u0131 ve politik sistemleri etkileyen algoritmalar\u0131n nas\u0131l \u00e7al\u0131\u015ft\u0131klar\u0131n\u0131n, varsay\u0131mlar\u0131n\u0131n, hangi ko\u015fullarda daha iyi sonu\u00e7 verebildiklerinin ya da sonu\u00e7lar\u0131n\u0131n kesin mi yoksa olas\u0131l\u0131k hesab\u0131na m\u0131 dayand\u0131\u011f\u0131n\u0131n bilinmesi \u00f6nemlidir.<\/p>\n<p>\u0130kinci neden ise bilgisayar biliminin, bilgisayar ve elektronik cihazlar d\u0131\u015f\u0131nda da g\u00fcndelik ya\u015famdaki sorunlar\u0131 anlamaya ve \u00e7\u00f6zmeye katk\u0131da bulunabilme potansiyelidir. Algoritma kelimesi, Ebu Abdullah Muhammed Bin Musa El-Harezmi&#8217;den (780-850) gelmektedir. Harezmi, Hindistan&#8217;da geli\u015ftirilmi\u015f onluk sistemi ve Arap rakamlar\u0131yla s\u0131f\u0131r kavram\u0131n\u0131 Avrupa&#8217;ya tan\u0131tm\u0131\u015ft\u0131r. Cebir kelimesi El-Harezmi&#8217;nin 1830&#8217;da yazd\u0131\u011f\u0131 &#8220;El\u2019Kitab\u2019\u00fcl-Muhtasar fi H\u0131sab\u2019il Cebri ve\u2019lMukabele&#8221; (Cebir ve E\u015fitlik \u00dczerine \u00d6zet Kitap) adl\u0131 eserinde ge\u00e7mektedir. El-Harezmi bu kitab\u0131nda &#8220;hangi say\u0131n\u0131n karesi, say\u0131n\u0131n 10 kat\u0131 ile toplan\u0131rsa 39 eder?&#8221; probleminin \u00e7\u00f6z\u00fcm yolunu hem s\u00f6zl\u00fc hem de geometrik olarak g\u00f6stermektedir. El-Harezmi&#8217;nin ad\u0131n\u0131 &#8220;Algorizm&#8221; olarak telafuz eden Avrupal\u0131lar da &#8220;Arap say\u0131lar\u0131 kullanarak aritmetik problemler \u00e7\u00f6zme kurallar\u0131&#8221;na algoritma ad\u0131n\u0131 vermi\u015ftir (). Fakat algoritmalar, bu terim kullan\u0131lmaya ba\u015flamadan \u00f6nce de vard\u0131r. Ayr\u0131ca belirli bir problemi \u00e7\u00f6zmek i\u00e7in uygulanan bu al\u0131\u015f\u0131lm\u0131\u015f y\u00f6ntemler (rutinler), olarak tan\u0131mlayabilece\u011fimiz algoritmalar\u0131n kullan\u0131m alanlar\u0131 matematikle s\u0131n\u0131rl\u0131 de\u011fildir. Babiller&#8217;in hukuksal sorunlarda karar verebilmek ve Latince \u00f6\u011fretmenlerinin do\u011fru gramer elde edebilmek i\u00e7in algoritmalardan yararland\u0131\u011f\u0131 bilinmektedir. T\u00fcm k\u00fclt\u00fcrlerde algoritmalar\u0131n gelece\u011fi tahmin etmek, hangi t\u0131bbi tedavinin uygulanaca\u011f\u0131na karar vermek, yemek haz\u0131rlamak gibi uygulama alanlar\u0131 vard\u0131r (Barbin vd., 2012). Yemek ya da bir sandvi\u00e7 haz\u0131rlarken bir tarifte yer alan talimatlar\u0131 uygular\u0131z. Asl\u0131nda yapt\u0131\u011f\u0131m\u0131z \u015fey malzeme, mutfak gereci, enerji ve haz\u0131rlama zaman\u0131 gibi kaynaklardan yararlanarak al\u0131\u015f\u0131lm\u0131\u015f y\u00f6ntemleri uygulamak ve ham i\u00e7eri\u011fi nihai bir \u00fcr\u00fcne d\u00f6n\u00fc\u015ft\u00fcrmektir. Bilgisay\u0131msal e\u011fitim, g\u00fcndelik ya\u015fam\u0131m\u0131zdaki bu tip s\u00fcre\u00e7leri tekrar g\u00f6zden ge\u00e7irmemizi sa\u011flayabilir.<\/p>\n<p>Bu ba\u011flamda, Erwig&#8217;in (2017) Once Upon an Algorithm: How Stories Explain Computing (Bir Zamanlar Bir Algoritma: Masallar Bilgisay\u0131m\u0131 Nas\u0131l A\u00e7\u0131klar) adl\u0131 kitab\u0131n\u0131n g\u00fczel bir \u00e7eviriyle bilgisay\u0131msal e\u011fitim i\u00e7in e\u015fsiz bir kaynak olaca\u011f\u0131n\u0131 d\u00fc\u015f\u00fcn\u00fcyorum. Erwig (2017), pop\u00fcler masallar, romanlar ve filmler arac\u0131l\u0131\u011f\u0131yla bilgisayar biliminin temel kavramlar\u0131n\u0131 basit ama ayr\u0131nt\u0131l\u0131 bir bi\u00e7imde anlat\u0131yor. Erwig&#8217;in (2017) Hansel ve Gretel&#8217;den nas\u0131l yararland\u0131\u011f\u0131na bakal\u0131m.<\/p>\n<h2>Hansel&#8217;in Algoritmas\u0131<\/h2>\n<p>Erwig (2017) algoritmalar\u0131 tart\u0131\u015fmaya bilgisay\u0131m\u0131n ne yapt\u0131\u011f\u0131 ve ne oldu\u011fu sorular\u0131yla ba\u015flar. Birinci g\u00f6r\u00fc\u015f, bilgisay\u0131m\u0131n problem \u00e7\u00f6zd\u00fc\u011f\u00fcd\u00fcr. Bu bak\u0131\u015f a\u00e7\u0131s\u0131nda, bir problemin uygun bi\u00e7imde g\u00f6sterildikten ve alt problemlere ayr\u0131ld\u0131ktan sonra \u00e7\u00f6z\u00fclebilece\u011fi vurgulanmaktad\u0131r. Bilgisay\u0131mla problem \u00e7\u00f6zme aras\u0131ndaki farkl\u0131l\u0131klar\u0131 dikkate alan ikinci g\u00f6r\u00fc\u015fe g\u00f6reyse bilgisay\u0131m herhangi bir problem \u00e7\u00f6zme de\u011fil bir algoritman\u0131n uygulanmas\u0131d\u0131r. Algoritma, bilgisay\u0131m\u0131 kesin olarak tan\u0131mlar, bilgisay\u0131m\u0131n otomatikle\u015ftirilmesini ve analizini olanakl\u0131 hale getirir. Bilgisay\u0131mda problemler ortak \u00f6zelliklerine g\u00f6re s\u0131n\u0131fland\u0131r\u0131l\u0131r ve bu s\u0131n\u0131fta yer alan problemlerin \u00e7\u00f6z\u00fcm\u00fc i\u00e7in bir algoritma tasarlan\u0131r. B\u00f6ylece algoritmalar, belirli bir s\u0131n\u0131fta yer alan problemlerin \u00e7\u00f6z\u00fcm\u00fcnde uygulanabilecek bir beceri haline getirilir.<\/p>\n<p>Erwig (2017) daha sonra bu tart\u0131\u015fmay\u0131 Hansel ve Gretel adl\u0131 masalla derinle\u015ftirir. Masal\u0131 hat\u0131rlayal\u0131m. Hansel ve Gretel, babalar\u0131yla ve \u00fcvey anneleriyle ya\u015fayan iki karde\u015ftir. \u00dcvey anneleri, \u00e7ocuklardan kurtulmak ister ve babalar\u0131n\u0131, \u00e7ocuklar\u0131 orman\u0131n derinliklerinde bir yere b\u0131rakmaya zorlar. Babas\u0131yla \u00fcvey annesinin konu\u015fmas\u0131na kulak misafiri olan Hansel&#8217;in akl\u0131na ormandan eve geri d\u00f6nebilmek i\u00e7in bir \u00e7\u00f6z\u00fcm gelir. Gece d\u0131\u015far\u0131 \u00e7\u0131kar ve \u00e7ak\u0131l ta\u015f\u0131 toplay\u0131p cebine doldurur. Sabahleyin orman\u0131n derinliklerine do\u011fru yola \u00e7\u0131kt\u0131klar\u0131nda Hansel cebindeki \u00e7ak\u0131l ta\u015flar\u0131n\u0131 yol boyunca serper. \u0130ki karde\u015f ormanda yaln\u0131z ba\u015flar\u0131na kald\u0131klar\u0131nda havan\u0131n kararmas\u0131n\u0131 beklerler. Daha sonra ay \u0131\u015f\u0131\u011f\u0131nda parlayan \u00e7ak\u0131l ta\u015flar\u0131n\u0131 takip ederek evlerine geri d\u00f6nerler.<\/p>\n<p>Burada temel problem, tehlikeli ormandan g\u00fcvende olabilecekleri evlerine d\u00f6nebilmektir. Problem tek ad\u0131mda \u00e7\u00f6z\u00fclemeyece\u011finden Hansel problemi par\u00e7alara ay\u0131r\u0131r. As\u0131l problem \u015fimdi iki \u00e7ak\u0131l ta\u015f\u0131 aras\u0131ndaki mesafeyi kat etmekle \u00e7\u00f6z\u00fclebilecek daha alt problemler haline getirilmi\u015ftir. Sistematik bi\u00e7imde, \u00e7ak\u0131l ta\u015flar\u0131n\u0131 izlemeleri gerekmektedir. Sistematik yakla\u015f\u0131m, bilgisay\u0131m\u0131n temel \u00f6zelliklerinden biridir. A\u015fa\u011f\u0131daki resimden de g\u00f6r\u00fcld\u00fc\u011f\u00fc gibi Hansel, ana problemi daha kolay \u00e7\u00f6z\u00fclebilir par\u00e7alara ay\u0131rarak \u00e7\u00f6zebilmi\u015ftir. Fakat bu stratejinin tek ba\u015f\u0131na yeterli olmad\u0131\u011f\u0131na ve \u00e7ak\u0131l ta\u015f\u0131 gibi tamamlay\u0131c\u0131 bir \u00f6geye gereksinim duydu\u011funa dikkat edelim. \u00c7\u00f6z\u00fcm s\u00fcrecinden anla\u015f\u0131ld\u0131\u011f\u0131 gibi bilgisay\u0131m\u0131n ger\u00e7ek d\u00fcnyadaki bir problemi \u00e7\u00f6zebilmesi i\u00e7in problemin g\u00f6sterimi (representation) gerekmektedir. \u0130lk g\u00f6sterim, orman\u0131n tehlikeli ve evin g\u00fcvenli oldu\u011fu bir durumu ifade etmektedir. Hansel ve Gretel, tehlikeli b\u00f6lgeden g\u00fcvenli b\u00f6lgeye ge\u00e7melidir. Hansel&#8217;in \u00e7\u00f6z\u00fcm\u00fcnde ise bir \u00e7ak\u0131l ta\u015f\u0131, o anda bulunduklar\u0131 yeri ve \u00e7ak\u0131l ta\u015flar\u0131n\u0131n tamam\u0131 da ormandan \u00e7\u0131k\u0131\u015f yolunu g\u00f6stermektedir. \u00c7ak\u0131l ta\u015flar\u0131, bilgisay\u0131m\u0131 olanakl\u0131 hale getirmektedir.<\/p>\n<p><a href=\"http:\/\/yarimada.gen.tr\/wp-content\/uploads\/2018\/08\/hansel.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-575\" src=\"http:\/\/yarimada.gen.tr\/wp-content\/uploads\/2018\/08\/hansel-300x94.png\" alt=\"\" width=\"300\" height=\"94\" srcset=\"https:\/\/yarimada.gen.tr\/wp-content\/uploads\/2018\/08\/hansel-300x94.png 300w, https:\/\/yarimada.gen.tr\/wp-content\/uploads\/2018\/08\/hansel-644x201.png 644w, https:\/\/yarimada.gen.tr\/wp-content\/uploads\/2018\/08\/hansel.png 737w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a>Bilgisay\u0131m, problem \u00e7\u00f6zme s\u00fcrecidir. Ama ne her bilgisay\u0131m bir problem \u00e7\u00f6zer ne de her problem \u00e7\u00f6z\u00fcm\u00fc bilgisay\u0131md\u0131r. Hansel ve Gretel, problemin g\u00f6sterimiyle ilgisiz bi\u00e7imde, etrafa \u00e7ak\u0131l ta\u015f\u0131 serpmi\u015f olabilir. Orman\u0131n i\u00e7inde bunlar\u0131 takip ederek dola\u015fmalar\u0131 ve sonra ayn\u0131 yere gelmeleri bir \u00e7\u00f6z\u00fcme g\u00f6t\u00fcrmeyecektir. Her \u00e7\u00f6z\u00fcm de bilgisay\u0131m kapsam\u0131nda de\u011ferlendirilemez. Hansel&#8217;in g\u00f6zleri iyi g\u00f6rmeyen cad\u0131y\u0131 kilo almad\u0131\u011f\u0131na inand\u0131rmak i\u00e7in parma\u011f\u0131n\u0131 uzatmak yerine bir kemik par\u00e7as\u0131n\u0131 uzatmas\u0131 zekice ama anl\u0131k bir \u00e7\u00f6z\u00fcmd\u00fcr. Bu \u00e7\u00f6z\u00fcmde sistematik bir yakla\u015f\u0131m yoktur. Hansel&#8217;in geri d\u00f6n\u00fc\u015f takibi i\u00e7in \u00e7ak\u0131l ta\u015flar\u0131n\u0131 kullanmay\u0131 ak\u0131l etmesi de sistematik bir d\u00fc\u015f\u00fcncenin sonucu olmay\u0131p anl\u0131k bir \u00e7\u00f6z\u00fcmd\u00fcr. Hansel&#8217;in daha sonra \u00e7ak\u0131l ta\u015f\u0131 bulamay\u0131nca ekmek par\u00e7alar\u0131n\u0131 kullanmas\u0131 yine anl\u0131k bir \u00e7\u00f6z\u00fcmd\u00fcr. \u00c7ak\u0131l ta\u015flar\u0131n\u0131n takip edilerek eve d\u00f6n\u00fclmesiyle uygulanan \u00e7\u00f6z\u00fcm tekrarlanabilme \u00f6zelli\u011fine sahiptir. Ama Hansel&#8217;in \u00e7\u00f6z\u00fcme yard\u0131mc\u0131 olmak amac\u0131yla \u00e7ak\u0131l ta\u015f\u0131n\u0131 kullanmay\u0131 ak\u0131l etmesi ve daha sonra bunun yerine ekmek par\u00e7alar\u0131n\u0131 kullanmay\u0131 ak\u0131l etmesi tekrarlanamaz; \u00fc\u00e7\u00fcnc\u00fc kere ormana b\u0131rak\u0131lmalar\u0131 gerekseydi Hansel&#8217;in akl\u0131na bir ba\u015fka parlak fikrin gelmesini bekleyecektik.<\/p>\n<p><a href=\"http:\/\/yarimada.gen.tr\/wp-content\/uploads\/2018\/08\/problemCozme.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-576\" src=\"http:\/\/yarimada.gen.tr\/wp-content\/uploads\/2018\/08\/problemCozme-300x219.png\" alt=\"\" width=\"300\" height=\"219\" srcset=\"https:\/\/yarimada.gen.tr\/wp-content\/uploads\/2018\/08\/problemCozme-300x219.png 300w, https:\/\/yarimada.gen.tr\/wp-content\/uploads\/2018\/08\/problemCozme-768x560.png 768w, https:\/\/yarimada.gen.tr\/wp-content\/uploads\/2018\/08\/problemCozme-644x469.png 644w, https:\/\/yarimada.gen.tr\/wp-content\/uploads\/2018\/08\/problemCozme.png 2000w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>Bilgisay\u0131m\u0131n problem \u00e7\u00f6z\u00fcm\u00fc olarak ele al\u0131nmas\u0131 bilgisay\u0131m\u0131 sistematik ve b\u00f6l\u00fcnebilir bir s\u00fcre\u00e7 olarak g\u00f6stermesi a\u00e7\u0131s\u0131ndan \u00f6nemlidir. Ancak bilgisay\u0131m\u0131n nas\u0131l \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 ve neden benzer durumlarda uygulanabilir oldu\u011funu g\u00f6stermekte yetersiz kalmaktad\u0131r.<\/p>\n<p>Hansel ve Gretel, a\u015fa\u011f\u0131daki algoritmay\u0131 uygulamaktad\u0131r:<\/p>\n<ol>\n<li>\u00a0Daha \u00f6nce ziyaret edilmemi\u015f parlak bir \u00e7ak\u0131l ta\u015f\u0131 bul ve ona do\u011fru ilerle.<\/li>\n<li>Eve geri d\u00f6nene kadar bu ad\u0131m\u0131 uygula<\/li>\n<\/ol>\n<p>Algoritmalar\u0131n en b\u00fcy\u00fck \u00f6zelli\u011fi tekrarlanabilirliktir. Hansel ve Gretel, aksi bir ko\u015ful olu\u015fmad\u0131k\u00e7a ayn\u0131 algoritmay\u0131 her seferinde ba\u015far\u0131yla uygulayabilir. Bu nedenle, algoritmalar bilgisay\u0131mda temeldir. Bir algoritman\u0131n bir dilde ifade edilebilmesi, bir s\u0131n\u0131r\u0131n\u0131n olmas\u0131 (sonsuza kadar gitmemesi) ve i\u015fe yarar olmas\u0131 gerekir. Algoritma ayr\u0131nt\u0131land\u0131r\u0131labilir. \u00d6rne\u011fin, Hansel&#8217;in ta\u015flar\u0131 serperken g\u00f6r\u00fc\u015f mesafesini dikkate almas\u0131 gerekir. \u00c7\u00fcnk\u00fc bir ta\u015f\u0131n bulundu\u011fu yerden sonraki ta\u015f\u0131n nerede oldu\u011funu g\u00f6rerek hangi y\u00f6ne gidece\u011fine karar verebilmelidir. Masal da anlat\u0131lmam\u0131\u015f ama ayn\u0131 ta\u015f\u0131 iki kere ziyaret etme gibi bir durum da olabilir. O zaman ne yapmalar\u0131 gerekir? Bu tip sorunlar\u0131n \u00f6n\u00fcne ge\u00e7ebilmek i\u00e7in Hansel ve Gretel \u00f6nlerine \u00e7\u0131kan \u00e7ak\u0131l ta\u015flar\u0131n\u0131 toplamalar\u0131 gerekecektir. Yeni algoritma a\u015fa\u011f\u0131daki gibi olabilir:<\/p>\n<ol>\n<li>\u00a0Daha \u00f6nce ziyaret edilmemi\u015f parlak bir \u00e7ak\u0131l ta\u015f\u0131 bul, bulundu\u011fun yerdeki ta\u015f\u0131 cebine koy ve yeni ta\u015fa do\u011fru ilerle.<\/li>\n<li>Eve geri d\u00f6nene kadar bu ad\u0131m\u0131 uygula<\/li>\n<\/ol>\n<p>Ne yaz\u0131k ki bu yeni algoritma nedeniyle masal\u0131n yeniden yaz\u0131lmas\u0131 gerekecektir. \u00c7\u00fcnk\u00fc eve vard\u0131klar\u0131nda Hansel\u2019in cebinde yine ta\u015flar olaca\u011f\u0131ndan ekmek kullanmak zorunda kalmayacaklar, ku\u015flar yoldaki ekmekleri yemeyecek ve cad\u0131n\u0131n eline d\u00fc\u015fmeyeceklerdir. Ama masalda anlat\u0131lmayan ba\u015fka olas\u0131l\u0131klar da vard\u0131r. Algoritman\u0131n her zaman sonlanabilmesi ve do\u011fru sonucu vermesi gerekmektedir. E\u011fer ormana do\u011fru ilerlerken d\u00fcz bir yol takip etmeyip zikzak \u00e7izdilerse a\u015fa\u011f\u0131daki gibi bir durumla da kar\u015f\u0131la\u015f\u0131labilir:<\/p>\n<p><a href=\"http:\/\/yarimada.gen.tr\/wp-content\/uploads\/2018\/08\/zik_zak.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-578\" src=\"http:\/\/yarimada.gen.tr\/wp-content\/uploads\/2018\/08\/zik_zak-300x68.png\" alt=\"\" width=\"300\" height=\"68\" srcset=\"https:\/\/yarimada.gen.tr\/wp-content\/uploads\/2018\/08\/zik_zak-300x68.png 300w, https:\/\/yarimada.gen.tr\/wp-content\/uploads\/2018\/08\/zik_zak-768x175.png 768w, https:\/\/yarimada.gen.tr\/wp-content\/uploads\/2018\/08\/zik_zak-644x147.png 644w, https:\/\/yarimada.gen.tr\/wp-content\/uploads\/2018\/08\/zik_zak.png 1243w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>D noktas\u0131ndan hem B hem de C g\u00f6r\u00fclebiliyorsa algoritman\u0131n bunu da dikkate almas\u0131, \u00f6rne\u011fin DCBA yolu yerine DBC&#8217;de tak\u0131l\u0131p kald\u0131ysa bir \u00f6nceki konumuna d\u00f6nmesi gerekir. Algoritmalar\u0131n durmas\u0131 da \u00f6nemli bir \u00f6zelliktir. &#8220;Daha \u00f6nce ziyaret edilmemi\u015f&#8221; \u015fart\u0131n\u0131 kald\u0131rd\u0131\u011f\u0131m\u0131zda i\u015fler yine kar\u0131\u015fabilir. Algoritmada sonsuz d\u00f6ng\u00fcye girilebilir.<\/p>\n<p>Erwig (2017) daha sonra &#8220;bilgisay\u0131m algoritman\u0131n uygulanmas\u0131d\u0131r&#8221; g\u00f6r\u00fc\u015f\u00fcne ge\u00e7er ve bilgisay\u0131m\u0131n algoritma uyguland\u0131\u011f\u0131nda ger\u00e7ekle\u015fti\u011fini belirtir. Bilgisayar, bilgisay\u0131m yapan ki\u015fi ya da \u015feydir. Buna g\u00f6re iki tip bilgisayar vard\u0131r. Birincisi, anlayabilece\u011fi dilde tarif edilen herhangi bir algoritmay\u0131 en az\u0131ndan (prensipte) uygulayabilen, insan, diz\u00fcst\u00fc bilgisayar ya da ak\u0131ll\u0131 telefon gibi evrensel bilgisayarlard\u0131r. \u0130kinci tip bilgisayarlarsa tek bir algoritmay\u0131 \u00e7al\u0131\u015ft\u0131rabilirler. Algoritman\u0131n donan\u0131mla b\u00fct\u00fcnle\u015fti\u011fi hesap makineleri bu tip bilgisayarlard\u0131r.<\/p>\n<p>Ayr\u0131ca bilgisayar\u0131n tipi veya bilgisay\u0131m\u0131 yapan\u0131n insan veya makine olmas\u0131 fark etmeksizin bilgisay\u0131m\u0131n bir maliyeti vard\u0131r. Bilgisay\u0131m i\u00e7in bilgisayar\u0131n kaynak kullanmas\u0131 gerekir. Oyun oynarken diz\u00fcst\u00fc bilgisayar\u0131n\u0131z \u0131s\u0131nabilir ya da ak\u0131ll\u0131 telefonda \u00e7ok fazla uygulama \u00e7al\u0131\u015ft\u0131r\u0131rsan\u0131z pili daha h\u0131zl\u0131 bitebilir. Bu nedenle, bir algoritman\u0131n bir problemi \u00e7\u00f6zebilmesinin yan\u0131nda yeterince h\u0131zl\u0131 hesaplama yapabilmek i\u00e7in bilgisay\u0131m kaynaklar\u0131n\u0131 nas\u0131l kulland\u0131\u011f\u0131 de\u011ferlendirilmelidir. \u00d6rne\u011fin, bir s\u0131ralama algoritmas\u0131 100 kayd\u0131 \u00e7ok h\u0131zl\u0131 bi\u00e7imde s\u0131ralayabilir. Ama milyonlarca kayd\u0131n ayn\u0131 algoritmayla istenilen zamanda s\u0131ralan\u0131p s\u0131ralanamayaca\u011f\u0131n\u0131 \u00f6ng\u00f6rebilmek i\u00e7in algoritman\u0131n sonuca nas\u0131l ula\u015ft\u0131\u011f\u0131 bilinmelidir. Kay\u0131t say\u0131s\u0131n\u0131n artmas\u0131 algoritmadaki ad\u0131m say\u0131s\u0131n\u0131 nas\u0131l etkilemektedir? Bir di\u011fer deyi\u015fle, algoritman\u0131n \u00e7al\u0131\u015fma zaman\u0131 karma\u015f\u0131kl\u0131\u011f\u0131 (runtime complexity) nedir?<\/p>\n<p>Hansel ve Gretel&#8217;e d\u00f6nersek&#8230; \u00c7ocuklar\u0131n algoritmas\u0131ndaki &#8220;daha \u00f6nce ziyaret edilmemi\u015f parlak bir \u00e7ak\u0131l ta\u015f\u0131 bul ve ona do\u011fru ilerle&#8221; bir algoritma ad\u0131m\u0131d\u0131r. Hansel ve Gretel\u2019in ad\u0131m b\u00fcy\u00fckl\u00fcklerindeki farkl\u0131l\u0131klar ya da bilgisayarlar\u0131n i\u015flemci modelleri algoritman\u0131n uygulama h\u0131z\u0131nda etkilidir. Ama algoritmalar\u0131n verimlilik analizi ve birbiriyle kar\u015f\u0131la\u015ft\u0131r\u0131labilmesi i\u00e7in ger\u00e7ek ad\u0131mdan farkl\u0131 olan algoritma ad\u0131m\u0131 dikkate al\u0131n\u0131r:<\/p>\n<p><a href=\"http:\/\/yarimada.gen.tr\/wp-content\/uploads\/2018\/08\/algoritma_adim.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-579\" src=\"http:\/\/yarimada.gen.tr\/wp-content\/uploads\/2018\/08\/algoritma_adim.png\" alt=\"\" width=\"290\" height=\"258\" \/><\/a>Algoritmalar\u0131n \u00e7al\u0131\u015fma zaman\u0131 karma\u015f\u0131kl\u0131klar\u0131n\u0131n \u00f6l\u00e7\u00fcm\u00fc daha b\u00fcy\u00fck girdilerin (masal\u0131m\u0131zda daha uzun mesafelerde) \u00e7al\u0131\u015fma zaman\u0131n\u0131 nas\u0131l etkileyece\u011fini g\u00f6stermektedir. Hansel ve Gretel \u00f6rne\u011finde, mesafe (kullan\u0131lan \u00e7ak\u0131l ta\u015f\u0131) art\u0131k\u00e7a algoritma ad\u0131m\u0131 say\u0131s\u0131 da a\u015fa\u011f\u0131daki gibi do\u011frusal olarak artmaktad\u0131r:<\/p>\n<p><a href=\"http:\/\/yarimada.gen.tr\/wp-content\/uploads\/2018\/08\/dogrusal_zaman.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-580\" src=\"http:\/\/yarimada.gen.tr\/wp-content\/uploads\/2018\/08\/dogrusal_zaman.png\" alt=\"\" width=\"274\" height=\"197\" \/><\/a><\/p>\n<p>Her ad\u0131mda bir \u00e7ak\u0131l ta\u015f\u0131 olmak zorundad\u0131r ve algoritman\u0131n problemi \u00e7\u00f6z\u00fcp \u00e7\u00f6zememesi gidilen mesafeye, Hansel&#8217;in cebinin bu kadar \u00e7ak\u0131l ta\u015f\u0131 al\u0131p alamayaca\u011f\u0131na ba\u011fl\u0131d\u0131r. Hansel&#8217;in cebinin b\u00fcy\u00fckl\u00fc\u011f\u00fcn\u00fcn yolu bulmaya etkisi veya bilgisayar bilimi ba\u011flam\u0131nda bilgisayar\u0131n bir algoritmay\u0131 \u00e7al\u0131\u015ft\u0131rabilmesi i\u00e7in gerekli alan, alan karma\u015f\u0131kl\u0131\u011f\u0131 (space complexity) olarak adland\u0131r\u0131l\u0131r. G\u00f6r\u00fcld\u00fc\u011f\u00fc gibi Hansel&#8217;in \u00e7ak\u0131l ta\u015fl\u0131 algoritmas\u0131 i\u015fe yarar gibi g\u00f6z\u00fckmesine ra\u011fmen cebine s\u0131\u011fan \u00e7ak\u0131l ta\u015flar\u0131yla s\u0131n\u0131rl\u0131d\u0131r.<\/p>\n<p>\u015eimdi masal\u0131 de\u011fi\u015ftirelim. Hansel&#8217;in cebi yeterince b\u00fcy\u00fck de\u011fil ve bunun i\u00e7in yola bir \u00e7ak\u0131l ta\u015f\u0131 b\u0131rakt\u0131ktan sonra a\u015fa\u011f\u0131daki gibi eve geri d\u00f6n\u00fcp yeni bir \u00e7ak\u0131l ta\u015f\u0131 almas\u0131 gerekiyor:<\/p>\n<p><a href=\"http:\/\/yarimada.gen.tr\/wp-content\/uploads\/2018\/08\/adim2.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-581\" src=\"http:\/\/yarimada.gen.tr\/wp-content\/uploads\/2018\/08\/adim2-246x300.png\" alt=\"\" width=\"246\" height=\"300\" srcset=\"https:\/\/yarimada.gen.tr\/wp-content\/uploads\/2018\/08\/adim2-246x300.png 246w, https:\/\/yarimada.gen.tr\/wp-content\/uploads\/2018\/08\/adim2.png 293w\" sizes=\"auto, (max-width: 246px) 100vw, 246px\" \/><\/a>Bu durumda bir \u00e7ak\u0131l ta\u015f\u0131 koymak i\u00e7in 1 ad\u0131m atacakt\u0131r. \u0130kinci \u00e7ak\u0131l ta\u015f\u0131 i\u00e7in \u00f6nce eve geri gidecek (1 ad\u0131m), sonra da 2 ad\u0131m ileri atacakt\u0131r. \u00dc\u00e7\u00fcnc\u00fc \u00e7ak\u0131l ta\u015f\u0131 i\u00e7in gidi\u015f geli\u015fte 5 (2 geri, 3 ileri ad\u0131m), d\u00f6rd\u00fcnc\u00fc i\u00e7in 7 ad\u0131m (3 geri, 4 ileri ad\u0131m) atacakt\u0131r. B\u00f6ylece at\u0131lmas\u0131 gereken ad\u0131mlar a\u015fa\u011f\u0131daki gibi olacakt\u0131r:<\/p>\n<p><a href=\"http:\/\/yarimada.gen.tr\/wp-content\/uploads\/2018\/08\/toplam_adim.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-582\" src=\"http:\/\/yarimada.gen.tr\/wp-content\/uploads\/2018\/08\/toplam_adim-300x138.png\" alt=\"\" width=\"300\" height=\"138\" srcset=\"https:\/\/yarimada.gen.tr\/wp-content\/uploads\/2018\/08\/toplam_adim-300x138.png 300w, https:\/\/yarimada.gen.tr\/wp-content\/uploads\/2018\/08\/toplam_adim.png 445w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a>Yukar\u0131daki \u00f6r\u00fcnt\u00fcye g\u00f6re <b>n<\/b> \u00e7ak\u0131l ta\u015fl\u0131k mesafe i\u00e7in <b>n<\/b><span style=\"font-family: Times New Roman, serif;\"><b>\u00b2 <\/b><\/span><span style=\"font-family: Times New Roman, serif;\">tane algoritma ad\u0131m\u0131 gerekmektedir ve \u00e7al\u0131\u015fma zaman\u0131 karma\u015f\u0131kl\u0131\u011f\u0131n\u0131 g\u00f6steren fonksiyonumuz bu sefer do\u011frusal de\u011fil, <\/span><span style=\"font-family: Times New Roman, serif;\">ikinci derece fonksiyondur<\/span><span style=\"font-family: Times New Roman, serif;\">:<\/span><\/p>\n<p><a href=\"http:\/\/yarimada.gen.tr\/wp-content\/uploads\/2018\/08\/2nd_order.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-583\" src=\"http:\/\/yarimada.gen.tr\/wp-content\/uploads\/2018\/08\/2nd_order-300x156.png\" alt=\"\" width=\"300\" height=\"156\" srcset=\"https:\/\/yarimada.gen.tr\/wp-content\/uploads\/2018\/08\/2nd_order-300x156.png 300w, https:\/\/yarimada.gen.tr\/wp-content\/uploads\/2018\/08\/2nd_order.png 372w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>Algoritmalar\u0131n \u00e7al\u0131\u015fma zaman\u0131 karma\u015f\u0131klar\u0131n\u0131n hesaplanmas\u0131 \u00e7e\u015fitli algoritmalar\u0131 kar\u015f\u0131la\u015ft\u0131rma ve problemi istenilen s\u00fcrede \u00e7\u00f6z\u00fcp \u00e7\u00f6zemeyece\u011fini \u00f6ng\u00f6rebilme olana\u011f\u0131 sa\u011flar. \u0130kinci algoritma belki k\u0131sa mesafede uygulanabilir; ama mesafe art\u0131k\u00e7a Hansel\u2019in kondisyonu yetersiz kalacakt\u0131r.<\/p>\n<p>Erwig (2017), Hansel ve Gretel\u2019den yola \u00e7\u0131karak bilgisayar bilimiyle ilgili bir\u00e7ok konuyu tart\u0131\u015fmakta ve a\u00e7\u0131klamaktad\u0131r. Dil Derne\u011fi\u2019nin s\u00f6zl\u00fc\u011f\u00fcnde bilgisayar &#8220;\u00e7ok say\u0131da aritmetiksel ya da mant\u0131ksal i\u015flemlerden olu\u015fan bir i\u015fi, \u00f6nceden verilmi\u015f bir izlenceye g\u00f6re yap\u0131p sonu\u00e7land\u0131ran elektronik ayg\u0131t, elektronik beyin&#8221; olarak tan\u0131mlan\u0131yor. Ama Erwig\u2019in (2017) de vurgulad\u0131\u011f\u0131 gibi bilgisayar, bir insan da olabilir, elektronik ayg\u0131t da. Christian ve Griffiths\u2019in (2017) Hayat\u0131m\u0131zdaki Algoritmalar adl\u0131 kitab\u0131, &#8220;insan&#8221; bilgisayarlar\u0131n bilin\u00e7li veya bilimsiz kararlar\u0131nda algoritmalar\u0131n \u00f6nemli bir yere sahip oldu\u011funu g\u00f6stermektedir. Yaz\u0131n\u0131n devam\u0131nda da g\u00f6r\u00fclece\u011fi gibi bu algoritmalardan yola \u00e7\u0131karak daha ger\u00e7ek\u00e7i ve yararl\u0131 \u00f6neriler i\u00e7eren bir ki\u015fisel geli\u015fim kitab\u0131 bile yaz\u0131labilir.<\/p>\n<h2>En Do\u011fru Yerde Duraklama<\/h2>\n<p>Bo\u015f park yeri bulman\u0131n zor oldu\u011fu bir yere giderken \u00e7o\u011fu zaman teredd\u00fct ederiz: Bo\u015f bir yer g\u00f6rd\u00fc\u011f\u00fcm\u00fczde hemen park etmeli miyiz? Yoksa daha az y\u00fcr\u00fcmek i\u00e7in arabayla biraz daha gidip \u015fans\u0131m\u0131z\u0131 zorlasak m\u0131? Ama ne kadar ilerlemeliyiz?<\/p>\n<p>Seyahat eden bir turistiz. Haritaya bakt\u0131\u011f\u0131m\u0131zda g\u00fczergah\u0131m\u0131zda n tane otel oldu\u011funu g\u00f6rd\u00fck. n. otele kadar gelip daha sonra i\u00e7lerinden en iyi otele geri d\u00f6nmek gibi bir \u015fans\u0131m\u0131z olmad\u0131\u011f\u0131ndan bir yerde durup konaklamam\u0131z gerekiyor. En uygun oteli nas\u0131l se\u00e7ece\u011fiz?<\/p>\n<p>Otuz g\u00fcn i\u00e7inde bir kiral\u0131k ev bulmam\u0131z gerekiyor. \u0130lk g\u00f6rd\u00fc\u011f\u00fcm\u00fcz evi be\u011fendik. Hemen tutmal\u0131 m\u0131y\u0131z? Ama biraz daha ara\u015ft\u0131rma yapsak daha iyi olmaz m\u0131? 29 g\u00fcn boyunca kiral\u0131k evlere baksak, son g\u00fcn de en be\u011fendiklerimizi kar\u015f\u0131la\u015ft\u0131rsak daha iyi olmaz m\u0131? Ama ya be\u011fendi\u011fimiz ev tutulursa?<\/p>\n<p>Ev kiralamaya bir de kar\u015f\u0131 taraftan, ev sahiplerinin g\u00f6z\u00fcnden bakal\u0131m. Kiral\u0131k ilan\u0131 verdikten sonra gelen ilk kirac\u0131 aday\u0131yla anla\u015fal\u0131m m\u0131? Ya daha iyi bir kirac\u0131 gelirse? Biraz daha bekleyebiliriz, ama Dimyat&#8217;a pirince giderken evdeki bulgurdan olmak da var.<\/p>\n<p>Gen\u00e7 k\u0131z\u0131n kap\u0131s\u0131ndan g\u00f6r\u00fcc\u00fc eksik olmuyor. Ne doktorlar, ne m\u00fchendisler evlenmek i\u00e7in kap\u0131s\u0131n\u0131 \u00e7al\u0131yor ama hi\u00e7birine y\u00fcz vermiyor. Daha iyi bir koca aday\u0131 bekliyor. Anne ve baba, k\u0131zlar\u0131 evde kald\u0131 diye endi\u015feleniyor. Gen\u00e7 k\u0131z, daha ne kadar beklemeli?<\/p>\n<p>Bu problemlerin hepsinde zamana kar\u015f\u0131 yar\u0131\u015f\u0131r\u0131z. T\u00fcm se\u00e7enekleri de\u011ferlendirmek istesek de kaynaklar\u0131m\u0131z s\u0131n\u0131rs\u0131z de\u011fildir; bir yerde durmam\u0131z ve karar\u0131m\u0131z\u0131 vermemiz gerekir. Nerede duraca\u011f\u0131z? Ara\u015ft\u0131rmaya ne zaman son vermemiz gereki\u011finin yan\u0131t\u0131n\u0131 arayan bu tip problemler en do\u011fru yerde duraklama (optimal stopping) problemleri olarak adland\u0131r\u0131l\u0131r. Christian ve Griffiths&#8217;in (2017) belirtti\u011fi gibi bu problemlerin en \u00fcnl\u00fclerinden biri de sekreter problemi olarak tan\u0131nmaktad\u0131r. Belirli bir say\u0131da sekreter aday\u0131 vard\u0131r ve i\u015fe al\u0131m, adaylar\u0131n \u00f6zge\u00e7mi\u015fine bakarak de\u011fil de birebir g\u00f6r\u00fc\u015f\u00fclerek yap\u0131lacakt\u0131r. Aday uygunsa i\u015fe kabul edilecek ve g\u00f6r\u00fc\u015fmeler sonland\u0131r\u0131lacakt\u0131r. Yine yukar\u0131dakilere benzer bir sorun vard\u0131r. E\u011fer aceleci davran\u0131l\u0131rsa en iyiyle hi\u00e7 kar\u015f\u0131la\u015fmama, \u00e7ok ge\u00e7 karar verilirse de belki de hi\u00e7 olmayan daha iyiyi bo\u015f yere beklemi\u015f olma ihtimali vard\u0131r. Ama matematik \u00f6nemli bir ipucu sunmaktad\u0131r. Tek bir aday varsa bu aday\u0131n en iyi olma ihtimali %100&#8217;d\u00fcr. \u0130kinci aday varsa onun en iyi olma ihtimali %50, be\u015finci aday\u0131nki %20, y\u00fcz\u00fcnc\u00fc aday\u0131nkiyse %1&#8217;dir. Dolay\u0131s\u0131yla sonraki g\u00f6r\u00fc\u015fmelerde daha iyi bir adayla kar\u015f\u0131la\u015fma ihtimali olabilir ama bu ihtimal giderek azalacakt\u0131r.<\/p>\n<p>\u015eimdi ad\u0131m ad\u0131m ilerleyelim. \u0130ki aday\u0131m\u0131z var. Do\u011frudan birinciyi se\u00e7ebiliriz veya onu g\u00f6z ard\u0131 edip ikinciye ge\u00e7ebiliriz. Her iki durumda da en iyi aday\u0131 se\u00e7me ihtimalimiz %50. \u00dc\u00e7 aday\u0131m\u0131z varsa rastgele bir se\u00e7imle en iyi aday\u0131 se\u00e7ebilme \u015fans\u0131m\u0131z %33. Sonraki iki adayla g\u00f6r\u00fc\u015fmeden ilk aday\u0131 se\u00e7ersek veya ilk iki aday\u0131 eleyip \u00fc\u00e7\u00fcnc\u00fcy\u00fc se\u00e7mek zorunda kal\u0131rsak en iyi aday i\u00e7in \u015fans\u0131m\u0131z sadece %33 olacakt\u0131r. Ama algoritmam\u0131z \u015f\u00f6yle olursa ba\u015far\u0131 \u015fans\u0131m\u0131z %50 olacakt\u0131r:<\/p>\n<ol>\n<li>Birinci adayla g\u00f6r\u00fc\u015f<\/li>\n<li>\u00a0\u0130kinci adayla g\u00f6r\u00fc\u015f\n<ul>\n<li>E\u011fer ilk adaydan daha iyiyse ikinci aday\u0131 se\u00e7<\/li>\n<li>E\u011fer ilk adaydan daha iyi de\u011filse \u00fc\u00e7\u00fcnc\u00fc aday\u0131 se\u00e7<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<p>Deneyelim. \u00dc\u00e7 ki\u015fi i\u00e7in alt\u0131 farkl\u0131 s\u0131ralama yap\u0131labilir: 1-2-3, 1-3-2, 2-1-3, 2-3-1, 3-1-2, 3-2-1. E\u011fer birinci aday en iyi adaysa (1-2-3 ve 1-3-2 durumlar\u0131nda) en iyiyi ararken onu ka\u00e7\u0131r\u0131r\u0131z. E\u011fer ikinci aday en iyi adaysa, ikinci aday\u0131n birinci adaydan g\u00fc\u00e7l\u00fc oldu\u011fu durumlarda (2-1-3 ve 2-3-1 durumlar\u0131nda) ikinci aday se\u00e7ilecektir; zaten en iyi adayd\u0131r. \u0130lk adayla g\u00f6r\u00fc\u015ft\u00fckten sonra ikincinin birinciden daha k\u00f6t\u00fc oldu\u011funu g\u00f6rd\u00fc\u011f\u00fcm\u00fczden (3-1-2 durumu) \u00fc\u00e7\u00fcnc\u00fc adaya ge\u00e7erek yine en iyi aday\u0131 se\u00e7ebiliriz. 3-2-1 durumunda ise ikinci aday birinciden daha iyi diye \u00fc\u00e7\u00fcnc\u00fc aday\u0131 beklemedi\u011fimizden en iyi aday\u0131 se\u00e7me \u015fans\u0131n\u0131 ka\u00e7\u0131r\u0131r\u0131z. %100 do\u011fru se\u00e7im yapamay\u0131z ama \u015fans\u0131m\u0131z\u0131 %33&#8217;ten %50&#8217;ye \u00e7\u0131karm\u0131\u015f oluruz.<\/p>\n<p>Aday say\u0131s\u0131 d\u00f6rt oldu\u011funda ikinci, be\u015f oldu\u011funda da \u00fc\u00e7\u00fcnc\u00fc adaydan sonra se\u00e7me i\u015flemine ba\u015flamam\u0131z \u00f6nerilmektedir. Asl\u0131nda aday say\u0131s\u0131 art\u0131k\u00e7a bu algoritma daha \u00e7ok \u00f6nem kazanmaktad\u0131r. D\u00f6rt adayl\u0131 bir se\u00e7mede ikinciden, be\u015f adayl\u0131da \u00fc\u00e7\u00fcnc\u00fcden sonra se\u00e7me i\u015flemine ba\u015flamam\u0131z rastlant\u0131 de\u011fildir. Burada ge\u00e7erli algoritma \u015f\u00f6yledir:<\/p>\n<ul>\n<li>Hi\u00e7birini se\u00e7meden adaylar\u0131n %37&#8217;sine bak\u0131n<\/li>\n<li>%37&#8217;yi a\u015ft\u0131ktan sonra o ana kadar g\u00f6rd\u00fc\u011f\u00fcn\u00fcz adaylardan en iyi olan\u0131n\u0131 se\u00e7in<\/li>\n<\/ul>\n<p>A\u015fa\u011f\u0131daki tablodan da g\u00f6r\u00fclece\u011fi gibi en iyi aday\u0131 se\u00e7me \u015fans\u0131 yine %37&#8217;ye yakla\u015facakt\u0131r:<\/p>\n<p><a href=\"http:\/\/yarimada.gen.tr\/wp-content\/uploads\/2018\/08\/secme.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-584\" src=\"http:\/\/yarimada.gen.tr\/wp-content\/uploads\/2018\/08\/secme-300x98.png\" alt=\"\" width=\"300\" height=\"98\" srcset=\"https:\/\/yarimada.gen.tr\/wp-content\/uploads\/2018\/08\/secme-300x98.png 300w, https:\/\/yarimada.gen.tr\/wp-content\/uploads\/2018\/08\/secme-768x252.png 768w, https:\/\/yarimada.gen.tr\/wp-content\/uploads\/2018\/08\/secme-644x211.png 644w, https:\/\/yarimada.gen.tr\/wp-content\/uploads\/2018\/08\/secme.png 949w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>Christian ve Griffiths&#8217;in (2017) belirtti\u011fi gibi algoritmalar\u0131n i\u00e7erdi\u011fi temel varsay\u0131mlar \u00f6nemlidir. Yukar\u0131daki sekreter probleminde temel varsay\u0131m adaylar\u0131 ancak birbirleriyle kar\u015f\u0131la\u015ft\u0131rarak hangisinin daha iyi oldu\u011funa karar verebildi\u011fimizdir. Elimizde ikinci aday\u0131n birincisinden ne kadar iyi oldu\u011fu hakk\u0131nda hi\u00e7bir bilgi yoktur. Ama YDS (Yabanc\u0131 Dil Bilgisi Seviye Tespit S\u0131nav\u0131) puan\u0131 gibi bir parametre eklersek en iyi aday\u0131 bulmaya daha \u00e7ok yakla\u015f\u0131r\u0131z. Bu yeni ko\u015fulda, ilk %37&#8217;ye bakarken YDS puan\u0131 95 olan birini do\u011frudan elemeyiz. \u00c7\u00fcnk\u00fc geri kalan adaylar aras\u0131nda 95&#8217;ten yukar\u0131 puana sahip birini bulmak daha d\u00fc\u015f\u00fck olas\u0131l\u0131kt\u0131r. Bu nedenle, en iyi aday\u0131 bulmak i\u00e7in algoritmay\u0131 de\u011fi\u015ftirmek ve iyile\u015ftirmek gerekir.<\/p>\n<p>Benzer bir durum, bir evini kiraya veren ki\u015fi i\u00e7in de ge\u00e7erlidir. Sekreter probleminde oldu\u011fu gibi ev sahibinin baz\u0131 \u00f6n bilgilerle hareket etme \u015fans\u0131 vard\u0131r. Kirac\u0131 adaylar\u0131n\u0131 sadece verdikleri tekliflerle kar\u015f\u0131la\u015ft\u0131rmaz; eve \u00f6denecek en d\u00fc\u015f\u00fck ve en y\u00fcksek miktarlar\u0131 tahmin edebilir ve evin bo\u015f kalma maliyetini dikkate alarak kirac\u0131 adaylar\u0131yla g\u00f6r\u00fc\u015f\u00fcr.<\/p>\n<p>Christian ve Griffiths (2017), ev sat\u0131\u015f\u0131, park yeri, sevgili se\u00e7imi gibi en uygun zamanda durup se\u00e7im yapmay\u0131 gerektiren problemler i\u00e7in uygulanabilecek farkl\u0131 algoritmalar\u0131 tart\u0131\u015fmaktad\u0131r. Bu algoritmalar, her zaman en iyi adaya ula\u015ft\u0131ramasa da rastgele bir se\u00e7imle kar\u015f\u0131la\u015ft\u0131r\u0131ld\u0131\u011f\u0131nda en iyiye ula\u015fabilme olas\u0131l\u0131\u011f\u0131n\u0131 art\u0131rmaktad\u0131r.<\/p>\n<h2>Ara\u015ft\u0131r veya Kullan<\/h2>\n<p>Christian ve Griffiths (2017), ara\u015ft\u0131r\/kullan ikileminde bilgi toplamak ve eldeki bilgiyi kullanma aras\u0131ndaki dengeyi tart\u0131\u015fmaktad\u0131r. Yabanc\u0131 bir \u015fehirde yemek yiyece\u011fiz. Daha \u00f6nce gitti\u011fimiz ve be\u011fendi\u011fimiz bir yere mi gitmeliyiz? Belki daha \u00f6nce hi\u00e7 gitmedi\u011fimiz bir yere giderek yeni tatlar aramal\u0131y\u0131z. Bulundu\u011fumuz \u015fehri birka\u00e7 g\u00fcn sonra terk edeceksek yeni tatlar aramak pek yararl\u0131 olmayacakt\u0131r. \u00c7\u00fcnk\u00fc iyi bir restoran ke\u015ffetsek bile bunun keyfini \u00e7\u0131karma s\u00fcresi az olacakt\u0131r. Ama vaktimiz bolsa yeni \u015feyler denemek ke\u015ffetti\u011fimiz tatlar\u0131n keyfini \u00e7\u0131karma s\u00fcresi verece\u011finden daha iyi bir se\u00e7enek gibi g\u00f6r\u00fcnmektedir.<\/p>\n<p>Christian ve Griffiths (2017) matematik\u00e7ileri y\u0131llard\u0131r me\u015fgul eden bir soru sorar: &#8220;Bir kumarhanede iki kumar makinesi var. Birinde 15 oyun oynay\u0131p 9 kere kazand\u0131n\u0131z ve 6 kere kaybettiniz. Di\u011ferinde ise sadece iki oyun oynad\u0131n\u0131z ve sadece bir oyun kazand\u0131n\u0131z. Sonraki oyununuzu hangisinde oynard\u0131n\u0131z?&#8221; Birincisinde ba\u015far\u0131 oran\u0131 %60, di\u011ferinde %50&#8217;dir. Hemen bir karar vermeden \u00f6nce birincisinde 15 oyun oynarken di\u011ferinde sadece iki oyun oynad\u0131\u011f\u0131m\u0131z\u0131 dikkate almam\u0131z gerekir. Lokanta se\u00e7iminde oldu\u011fu gibi zaman yine \u00f6nemli bir parametredir: Kumarhanede ne kadar kalaca\u011f\u0131z?<\/p>\n<p>Herber Robbins 1952&#8217;de yazd\u0131\u011f\u0131 makalesinde iki kumar makinesi i\u00e7in &#8220;Kazan kal, kaybet de\u011fi\u015ftir&#8221; stratejisinin i\u015fi \u015fansa b\u0131rakmaktan daha iyi bir \u00e7\u00f6z\u00fcm oldu\u011funu savunmaktad\u0131r: Kazand\u0131\u011f\u0131n s\u00fcrece ayn\u0131 makinede kal, kaybedince di\u011fer makineye ge\u00e7. Robbins&#8217;in bu stratejisini tart\u0131\u015fan \u00e7ok say\u0131da \u00e7al\u0131\u015fma vard\u0131r. Bu tip ara\u015ft\u0131rmalardan elde edilen sonu\u00e7lar h\u00fck\u00fcmet ve \u015firket politikalar\u0131n\u0131n olu\u015fturulmas\u0131na yard\u0131mc\u0131 olmaktad\u0131r. Unilever 1970&#8217;lerde John Gittins adl\u0131 matematik\u00e7iden ila\u00e7 denemelerini en iyi \u015fekilde planlamas\u0131n\u0131 ister. \u00c7\u00fcnk\u00fc di\u011fer ila\u00e7 \u015firketleri gibi Unilever de bir yandan yeni ila\u00e7lar bulabilmek i\u00e7in AR-GE yat\u0131r\u0131mlar\u0131 yapmak isterken (ara\u015ft\u0131r) di\u011fer yandan mevcut ila\u00e7lar\u0131ndan kazan\u00e7 sa\u011flamay\u0131 devam ettirmek istemektedir.<\/p>\n<p>Web sitelerinde en uygun tasar\u0131m\u0131 bulmak i\u00e7in kullan\u0131lan A\/B testi de yine bir ara\u015ft\u0131r\/kullan problemidir. A\/B testlerinde web sitelerinin renk, resim, haber ba\u015fl\u0131\u011f\u0131 vb \u00f6zellikleri de\u011fi\u015ftirilerek ziyaret\u00e7iler rastgele ama e\u015fit bir \u015fekilde farkl\u0131 versiyonlara y\u00f6nlendirilir. Sonra &#8220;KATKIDA BULUN&#8221;, &#8220;BA\u011eI\u015e YAP&#8221;, &#8220;SATIN AL&#8221; gibi ba\u011flant\u0131lara ne kadar t\u0131kland\u0131\u011f\u0131 kar\u015f\u0131la\u015ft\u0131r\u0131larak en uygun tasar\u0131ma do\u011fru ilerlenir. \u0130nternet reklamc\u0131l\u0131\u011f\u0131nda ve e-ticarette \u00e7ok s\u0131k kullan\u0131lan bir stratejidir. ABD&#8217;deki son se\u00e7imlere sosyal a\u011flardaki yalan haberler damga vurmu\u015f olsa da Obama&#8217;n\u0131n kazand\u0131\u011f\u0131 se\u00e7imin y\u0131ld\u0131z\u0131 A\/B testleridir.<\/p>\n<h2>\u00d6nbellekleme<\/h2>\n<p>Web taray\u0131c\u0131lar\u0131n \u00f6nbelle\u011fi, daha \u00f6nce ziyaret edilen html sayfalar\u0131, resimler gibi i\u00e7erikleri saklar ve daha sonraki ziyaretlerde bu i\u00e7eri\u011fi web sunucuna gidip almak zorunda kalmad\u0131\u011f\u0131 i\u00e7in \u00f6nbellekteki i\u00e7erik daha h\u0131zl\u0131 y\u00fcklenir. \u00d6nbellekleme, bili\u015fim teknolojilerinde \u00e7ok s\u0131k ba\u015fvurulan bir y\u00f6ntemdir. \u0130\u015flemcilerin, sabit disklerin ve i\u015fletim sistemlerinin \u00f6nbellekleri vard\u0131r. Bu nedenle, haf\u0131za mimarisinde ve i\u015flemci \u00e7iplerinin milimetrik yerle\u015fiminde \u00f6nbellekleme \u00f6nemli parametrelerden biridir. Web sitelerinin h\u0131zl\u0131 a\u00e7\u0131lmas\u0131 i\u00e7in sadece web taray\u0131c\u0131lar\u0131nda de\u011fil sunucu taraf\u0131nda da \u00f6nbelleklemeye ba\u015fvurulur.<\/p>\n<p>K\u0131saca \u00f6nbellekleme, s\u0131kl\u0131kla ba\u015fvurulan i\u00e7eri\u011fin daha h\u0131zl\u0131 eri\u015filebilecek bir yerde saklanmas\u0131d\u0131r. \u00d6nbelleklemeyi g\u00fcndelik ya\u015famda da \u00e7ok s\u0131k kullan\u0131r\u0131z. S\u00fcrekli k\u00fct\u00fcphaneye gitmemek i\u00e7in daha s\u0131k ba\u015fvurulan kitaplar\u0131 k\u00fct\u00fcphaneden \u00f6d\u00fcn\u00e7 almak bir t\u00fcr \u00f6nbelleklemedir. \u00d6nbellek uygulamalar\u0131ndaki en b\u00fcy\u00fck k\u0131s\u0131tlama \u00f6nbelli\u011fin s\u0131n\u0131rl\u0131 kapasitesidir. \u00d6rne\u011fin k\u00fct\u00fcphaneden en fazla be\u015f kitap \u00f6d\u00fcn\u00e7 alabiliriz. Yeni bir kitap almak istedi\u011fimizde elimizdeki be\u015f kitaptan birinden vazge\u00e7memiz gerekir. Burada temel sorun, hangi kitab\u0131 iade edece\u011fimizdir. Farkl\u0131 algoritmalar kullan\u0131labilir. \u00d6rne\u011fin, rastgele bir kitab\u0131 iade edip yenisini alabiliriz. \u0130ade etti\u011fimiz kitaba tekrar ihtiyac\u0131m\u0131z oldu\u011funda ise yine elimizdeki be\u015f kitaptan herhangi birini rastgele se\u00e7ip iade edebiliriz. Baz\u0131 durumlarda basitli\u011fi nedeniyle tercih edilebilecek bir y\u00f6ntemdir. \u0130kinci y\u00f6ntem, FIFO&#8217;dur (First-In, First-Out, \u0130lk Giren \u0130lk \u00c7\u0131kar). Buna g\u00f6re yeni kitab\u0131 \u00f6d\u00fcn\u00e7 alabilmek i\u00e7in ilk ald\u0131\u011f\u0131m\u0131z, yani en uzun s\u00fcredir elimizde bulunan kitap iade edilmelidir. Fakat bu \u00e7\u00f6z\u00fcm her zaman uygun olmayabilir. Belki de FIFO&#8217;da en \u00f6nde yer alan kitab\u0131n en uzun s\u00fcredir elimizde bulunma nedeni ona \u00e7ok ba\u015fvurmam\u0131zd\u0131r. \u00dc\u00e7\u00fcnc\u00fc y\u00f6ntem, son zamanda en az kullan\u0131lan\u0131 \u00e7\u0131kar (Least Recently Used &#8211; LRU), \u00e7o\u011fu zaman en verimli sonucu sa\u011flamaktad\u0131r:<\/p>\n<blockquote><p>LRU bize bir sonrakine ihtiya\u00e7 duyaca\u011f\u0131m\u0131z \u015feyin en son ihtiyac\u0131m\u0131z olan oldu\u011funu, bundan sonra ihtiya\u00e7 duyaca\u011f\u0131m\u0131z\u0131n da muhtemelen en son ikinci kullan\u0131lan \u015fey oldu\u011funu s\u00f6ylemektedir. Ve en son ihtiyac\u0131m\u0131z olacak \u015fey de en uzun zamand\u0131r kullanmad\u0131\u011f\u0131m\u0131zd\u0131r (s. 140).<\/p><\/blockquote>\n<p>G\u00fcndelik hayatta LRU&#8217;ya s\u0131kl\u0131kla ba\u015fvururuz. Bazen de fark\u0131nda olmadan. Da\u011f\u0131n\u0131kl\u0131\u011f\u0131n alt\u0131nda LRU algoritmas\u0131 yat\u0131yor olabilir. Okumakta oldu\u011fu kitaplar\u0131, kitapl\u0131\u011fa geri yerle\u015ftirmek yerine masaya veya koltu\u011fa koyanlar\u0131 ve d\u0131\u015far\u0131dan gelince montu ask\u0131ya asmay\u0131p ortal\u0131kta b\u0131rakanlar\u0131 bir de bu a\u00e7\u0131dan de\u011ferlendirebiliriz.<\/p>\n<p>LRU \u00f6nbellekleme i\u00e7in kullan\u0131lan tek algoritma de\u011fildir. Elde \u00f6nbelle\u011fe konulacak i\u00e7eri\u011fin ne olabilece\u011fi hakk\u0131nda veri oldu\u011funda farkl\u0131 y\u00f6ntemler de kullan\u0131labilmektedir. Amazon, bir b\u00f6lgede pop\u00fcler olan \u00fcr\u00fcnleri o b\u00f6lgedeki alt depolar\u0131na g\u00f6ndererek \u00e7ok daha h\u0131zl\u0131 teslimat yapabilmektedir. Netflix de insanlar\u0131n ya\u015fad\u0131klar\u0131 yerlerle ilgili filmleri daha \u00e7ok seyretmeye e\u011filimli oldu\u011funu fark ettikten sonra filmlerini sunucular\u0131nda buna g\u00f6re depolamaya ba\u015flam\u0131\u015ft\u0131r.<\/p>\n<h2>\u00c7izelgeleme<\/h2>\n<p>G\u00fcndelik hayatta \u00e7ok s\u0131k ba\u015fvurdu\u011fumuz bir ba\u015fka algoritma da \u00f6nceliklerimizi belirledi\u011fimiz ve buna g\u00f6re harekete ge\u00e7ti\u011fimiz \u00e7izelgeleme algoritmalar\u0131d\u0131r. Vaktimiz s\u0131n\u0131rl\u0131 ve yapmam\u0131z gereken i\u015fler vard\u0131r. Cuma g\u00fcn\u00fcnde oldu\u011fumuzu ve \u00f6n\u00fcm\u00fczde dolu dolu bir hafta oldu\u011funu varsayal\u0131m. Pazartesi fizik \u00f6devinin teslimi i\u00e7in son g\u00fcn. \u00c7ar\u015famba matematikten, per\u015fembe geometri ve biyolojiden s\u0131nav var. Cuma g\u00fcn\u00fc de matematik \u00f6devimiz var. Bu arada do\u011falgaz almaya gitmemiz gerekiyor, en fazla be\u015f g\u00fcn yetecek do\u011falgaz kalm\u0131\u015f.<\/p>\n<p>Hayatta bazen i\u015fler y\u0131\u011f\u0131l\u0131r ve her i\u015fi ayn\u0131 anda yapamayaca\u011f\u0131m\u0131za i\u00e7in bunlar\u0131 bir s\u0131raya koymam\u0131z gerekir. S\u0131ralamay\u0131 yaparken farkl\u0131 \u00f6l\u00e7\u00fctler devreye girer. Bazen en yak\u0131n zamanda bitirilmesi gereken i\u015ften bazen de en k\u0131sa s\u00fcrede bitebilecek i\u015ften ba\u015flar\u0131z. Baz\u0131 ki\u015fisel geli\u015fim kitaplar\u0131 k\u0131sa s\u00fcrede tamamlanabilecek bir i\u015fi hemen yap\u0131p listeden \u00e7\u0131karmay\u0131, baz\u0131lar\u0131 \u00f6nce en zordan ba\u015flamay\u0131 \u00f6\u011f\u00fctler.<\/p>\n<p>Matematik\u00e7iler ise olaya daha bilimsel yakla\u015fmaktad\u0131r. RAND&#8217;da \u00e7al\u0131\u015fan Selmer Johnson 1954&#8217;te yay\u0131mlanan bir makalesinde \u015f\u00f6yle bir problem ortaya atar: Biri \u00e7ama\u015f\u0131r\u0131n\u0131z\u0131 y\u0131kayan di\u011feri kurulayan iki makineniz var. \u00c7ama\u015f\u0131rlar\u0131 \u00f6nce y\u0131kay\u0131p, sonra kurutman\u0131z gerekiyor. Ancak baz\u0131 \u00e7ama\u015f\u0131rlar fazla lekeli oldu\u011fu i\u00e7in daha uzun s\u00fcrede y\u0131kanmakta, ama kurulama zaman\u0131 de\u011fi\u015fmemektedir. Ayr\u0131ca \u00e7ama\u015f\u0131r\u0131n fazla olmas\u0131 kurutmay\u0131 olumsuz etkilerken y\u0131kamay\u0131 etkilememektedir. \u00c7ama\u015f\u0131r y\u0131kaman\u0131n ve kurulaman\u0131n en iyi yolu nedir?<\/p>\n<p>Johnson, en k\u0131sa y\u0131kama s\u00fcresini en ba\u015fta, en k\u0131sa kurutma s\u00fcresinin de en sonda olaca\u011f\u0131 bir algoritman\u0131n en iyi \u00e7\u00f6z\u00fcm olaca\u011f\u0131n\u0131 belirtmektedir. Johnson&#8217;un \u00e7izelgelemeyi algoritmik olarak ifade etmesi, optimum \u00e7izelgeleme hakk\u0131nda yap\u0131lan ara\u015ft\u0131rmalar\u0131 da art\u0131r\u0131r. Christian ve Griffiths (2017), Johnson&#8217;un \u00e7al\u0131\u015fmas\u0131n\u0131n iki makinenin \u00e7al\u0131\u015fma s\u00fcrelerini en iyile\u015ftirmek \u00fczere kuruldu\u011funu g\u00fcndelik hayatta g\u00fcnl\u00fck kararlar\u0131m\u0131zda ise tek makine gibi davrand\u0131\u011f\u0131m\u0131z\u0131 hat\u0131rlatmaktad\u0131r. Bir di\u011fer deyi\u015fle, i\u015flerin belirli yap\u0131lma s\u00fcreleri varsa toplam zamanda bir iyile\u015ftirme yapmak s\u00f6z konusu olmayacakt\u0131r. Nas\u0131l bir iyile\u015ftirmenin hedeflendi\u011fi \u00f6nemlidir.<\/p>\n<p>\u0130stenen iyile\u015ftirme, maksimum gecikmeyi azaltmak olabilir. Bunun i\u00e7in teslim tarihi en erken olan i\u015ften ba\u015flama stratejisi uygulanabilir. Hizmet sekt\u00f6r\u00fcndeyseniz, m\u00fc\u015fterinin teslim tarihi, kar\u015f\u0131n\u0131za geldi\u011fi andan itibaren ba\u015flayaca\u011f\u0131 i\u00e7in geli\u015f s\u0131ras\u0131na g\u00f6re bir \u00e7izelgeleme yap\u0131lmas\u0131 gerekecektir. Her hafta pazara gidip taze meyve al\u0131yorsan\u0131z meyvelerin bozulma zaman\u0131, teslim tarihleri olacakt\u0131r. En erken bozulacak meyveden ba\u015flanabilir. Christian ve Griffiths (2017) bunun en lezzetli ve sa\u011fl\u0131kl\u0131 se\u00e7enek olmasa da yiyeceklerin bozulma s\u00fcrelerini en az indirece\u011fini yazmaktad\u0131r.<\/p>\n<p>Teslim tarihinin \u00f6nemli oldu\u011fu i\u015fleri bitirmek i\u00e7inse i\u015flem s\u0131ras\u0131 en k\u0131sa olan i\u015fi bitirmek daha uygun sonu\u00e7 verecektir. \u00d6rne\u011fin, pazartesi g\u00fcn\u00fc ba\u015flaman\u0131z gereken A (d\u00f6rt g\u00fcn s\u00fcrecek) ve B (bir g\u00fcn s\u00fcrecek) i\u015fleri varsa, B&#8217;den ba\u015flamak daha uygun bir \u00e7\u00f6z\u00fcm olacakt\u0131r. B\u00f6ylece B bir g\u00fcn (i\u015f teslimi pazartesi \u00f6\u011fleden sonra), A da be\u015f g\u00fcn (i\u015f teslimi cuma \u00f6\u011fleden sonra) bekleyece\u011finden m\u00fc\u015fterilerin toplam bekleme s\u00fcresi alt\u0131 g\u00fcn olacakt\u0131r. A&#8217;dan ba\u015flan\u0131rsa bu i\u015f per\u015fembe g\u00fcn\u00fc bitece\u011finden A&#8217;n\u0131n bekleme s\u00fcresi d\u00f6rt g\u00fcn, B&#8217;ninki ise be\u015f g\u00fcn olacakt\u0131r. Her iki durumda da i\u015fler toplam be\u015f g\u00fcnde tamamlanacakt\u0131r. Fakat toplam bekleme zaman\u0131 dikkate al\u0131nd\u0131\u011f\u0131nda birinci ve ikinci se\u00e7enek aras\u0131nda \u00fc\u00e7 g\u00fcnl\u00fck bir fark vard\u0131r.<\/p>\n<p>\u00d6nce en k\u0131sa olan i\u015fleri yapmak i\u015fler aras\u0131nda bir \u00f6ncelik s\u0131ralamas\u0131 yoksa i\u015fe yarayacakt\u0131r. B i\u015fine ba\u015flamak i\u00e7in A&#8217;y\u0131 tamamlamak gerekiyorsa problem de\u011fi\u015fecektir ve yeni bir algoritmaya ihtiya\u00e7 vard\u0131r. Christian ve Griffiths&#8217;in (2017) sorunun bununla s\u0131n\u0131rl\u0131 olmad\u0131\u011f\u0131n\u0131 ekler. Hayat dura\u011fan de\u011fildir; A ve B i\u00e7in bir planlama yap\u0131p i\u015fe koyulmu\u015fken C i\u015fi gelmi\u015fse nas\u0131l karar vermemiz gerekir? Hangi durumda yapt\u0131\u011f\u0131m\u0131z i\u015fi yar\u0131m b\u0131rak\u0131p C&#8217;ye ba\u015flamal\u0131y\u0131z yoksa yeni i\u015fi g\u00f6z ard\u0131 m\u0131 etmeliyiz? Farkl\u0131 bir algoritma tasarlamak ve uygulamak gerekecektir; bu durumda benzer sorunlarla kar\u015f\u0131la\u015ft\u0131\u011f\u0131nda &#8220;kullan\u0131c\u0131y\u0131 yava\u015flatmadan ya da gerginlik i\u00e7ine sokmadan m\u00fcmk\u00fcn oldu\u011fu kadar uzun bir s\u00fcre g\u00f6reve devam eden&#8221; i\u015fletim sistemlerinin \u00e7al\u0131\u015fma ilkelerinden yararlan\u0131labilir.<\/p>\n<p style=\"text-align: center;\">***<\/p>\n<p>Christian ve Griffiths\u2019in (2017) kitab\u0131nda yer alan di\u011fer algoritmalar incelendi\u011finde zaten insan denen bilgisayar\u0131n sezgisel olarak s\u0131k s\u0131k bunlara ba\u015fvurdu\u011fu; ama elektronik bilgisayarlar\u0131n \u00e7al\u0131\u015fma ilkelerinden de yeni \u015feyler \u00f6\u011frenilebilece\u011fi ya da g\u00fcnl\u00fck kararlar\u0131n\u0131 bu algoritmalar\u0131 kullanarak iyile\u015ftirilebilece\u011fi g\u00f6r\u00fclmektedir. Christian ve Griffiths\u2019in (2017) algoritma \u00f6rnekleri, ki\u015fisel geli\u015fim kitaplar\u0131ndan \u00e7ok daha yararl\u0131 olabilir!<\/p>\n<p>Algoritmalar\u0131n do\u011fas\u0131 ve \u00e7al\u0131\u015fma mant\u0131\u011f\u0131 kavrand\u0131ktan sonra her bir algoritma kar\u015f\u0131la\u015f\u0131lan soruna g\u00f6re oldu\u011fu gibi uygulanabilir veya yeni ko\u015fullara g\u00f6re geli\u015ftirilebilir. Ancak son y\u0131llarda, h\u00fck\u00fcmetler ve \u015firketlerin hem g\u00fcndelik hayata g\u00f6m\u00fcl\u00fc algoritmalara m\u00fcdahale edebilme hem de yukar\u0131dan yeni algoritmalar dayatabilme g\u00fcc\u00fcne eri\u015fmeye ba\u015flad\u0131\u011f\u0131na da dikkat etmek gerekiyor. Algoritmalara dayal\u0131 d\u00fczenlemeler, ki\u015fisel sa\u011fl\u0131ktan sosyal politikalara kadar her alanda, h\u0131zla ve fazla dikkat \u00e7ekmeden yay\u0131l\u0131yor. Sonraki yaz\u0131larda \u00f6zellikle algoritmaya dayal\u0131 d\u00fczenlemeler \u00fczerinde duraca\u011f\u0131m.<\/p>\n<h2 class=\"western\">Kaynaklar:<\/h2>\n<p>Barbin, E., Borowczyk, J., Chabert, J. L., Guillemot, M., Michel-Pajus, A., Djebbar, A., &amp;<\/p>\n<p>Christian, B., Griffiths, T. (2017). Hayat\u0131m\u0131zdaki Algoritmalar, \u00c7ev. Ali Atav, Buzda\u011f\u0131 Yay\u0131nevi.<\/p>\n<p>Erwig, M. (2017). Once Upon an Algorithm: How Stories Explain Computing. MIT Press.<\/p>\n<p>Martzloff, J. C. (2012). A history of algorithms: from the pebble to the microchip. Springer Science &amp; Business Media.<\/p>\n<p>Rainie, L., Anderson, J., &amp; Page, D. (2017). Code-dependent: Pros and cons of the algorithm age. Pew Research Center, 8.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Son zamanlarda algoritma s\u00f6zc\u00fc\u011f\u00fcne haberlerde daha s\u0131k rastl\u0131yoruz. Haber sitelerinde algoritma kelimesini (bkz https:\/\/www.ntv.com.tr\/ara?q=algoritma) aratt\u0131\u011f\u0131m\u0131zda \u00e7ok say\u0131da g\u00fcncel haber listeleniyor. &#8220;WhatsApp, &#8216;herkesten sil&#8217; \u00f6zelli\u011fini de\u011fi\u015ftirdi&#8221;\u00a0<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[28,3,116,134,27],"tags":[271,272,275,274,273,130,276],"class_list":["post-574","post","type-post","status-publish","format-standard","hentry","category-bilgisayar-bilimi","category-ozgur_yazilim","category-teknoloji-tarihi","category-yazilim-calismalari","category-yazilim-muhendisligi","tag-algoritma","tag-algoritmik-toplum","tag-arastir-ve-kullan","tag-cizelgeleme","tag-duraklama","tag-kodlama","tag-onbellekleme"],"_links":{"self":[{"href":"https:\/\/yarimada.gen.tr\/index.php?rest_route=\/wp\/v2\/posts\/574","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/yarimada.gen.tr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/yarimada.gen.tr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/yarimada.gen.tr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/yarimada.gen.tr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=574"}],"version-history":[{"count":5,"href":"https:\/\/yarimada.gen.tr\/index.php?rest_route=\/wp\/v2\/posts\/574\/revisions"}],"predecessor-version":[{"id":589,"href":"https:\/\/yarimada.gen.tr\/index.php?rest_route=\/wp\/v2\/posts\/574\/revisions\/589"}],"wp:attachment":[{"href":"https:\/\/yarimada.gen.tr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=574"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/yarimada.gen.tr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=574"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/yarimada.gen.tr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=574"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}