144 1 7MB
Turkish Pages 489 Year 2017
Yayın Numarası: 1707 1. Baskı: Eylül 2017
ISBN 978-605-66858-9-7 G enel Yayın Yönetmeni Fatih ÖZD EMİR Çevirmen AliATAV
Sertifika Numarası: 30821
Buzdağı Yayınevi Altay Mahallesi 2668. Cadde Fırat Life Style Rezidans 1 F/61 Eryaman/ANKARA
t: +90 o 312 219 77 98 f: +90 o 312 219 55 43 [email protected]
Editör
www. buzdagiyayinevi .cam
Fatih GÜDÜK Copyright © 2016
Son Okuma
by Brian Christian, Tam Griffiths
Ahmet Okan ŞEKER ©Türkçe yayın hakları
Kapak Uygulama
Buzdağı Yayınevi'ne aittir.
Halil İbrahim DAGKILIÇ Bu kitabın hiçbir bölümü, yazarın
Baskı Ankamat Matbaacılık 13256
ve yayınevinin izni alınmadan basılı ya da dijital olarak çoğaltılamaz, yayınlanamaz.
hayatımızdaki algoritmalar
günlük kararların bilgisayar bilimi Brian Christian Tam Griffiths �
~
İçindekiler
Giriş 111 Hayatımızdaki Algoritmalar
1.
Optimal Duraklama (Optimal Stopping) 121 Araştırmaya ne zaman son vermeli?
2.
Araştır/Kullan (Explore/Exploit) l 51 En yeni mi, En iyi mi?
3.
Sıralama (Sorting) 193 Düzenlemek
4.
Önbellekleme (Caching) 1131 Unut Gitsin
5.
Çizelgeleme (Scheduling) l 161 İlk Önce Öncelikler
6.
Bayes Kuralı 1195 Geleceği Tahmin Etmek
7. 8.
Fazla Uyum Sağlama (Overfitting) 1225
Ne Zaman Daha Az Düşünmeli
Rahatlama 1253 Bırak Gitsin
9.
Rastlantısallık (Randomness) 1271 Ne Zaman Şansa Bırakmalı?
1 O. İletişim Ağı Yönetimi (Networking) Nasıl Bağlanırız?
1 1. Oyun Teorisi ( Game Theory) Başkalarının Akılları Nasıl Çalışır?
Sonuç 1374 Bilişimsel Nezaket
Notlar J 383 Bibliyografya 1 466 Teşekkür 1 486
1337
l 303
Giriş Hayatımızdaki Algoritmalar
Ev bulmanın tartışmasız en ürkütücü olduğu Amerikan şehri San Francisco'da bir ev aradığınızı düşünün. Bu şehrin patlama yaşayan teknoloji sektörü yüzünden, yeni inşaatları sınırlayan sıkı imar yasalarının şehri New York kadar pahalı olduğu ve hatta birçok alanda onu geçtiği söylenmektedir. Emlakçılarda ev ilanları sürekli asılmakta, asıldığı gibi indirilmekte ve bu evlerin anahtarları depozitoyu ilk verenin elinde kalmaktadır. Böylesine vahşi bir pazar, teorik olarak rasyonel tüketici (rational consumer) eylemleri olan araştırma ve incelemeye çok az şans tanımaktadır. Karar vermeden önce seçenekleri karşı laştırabilen bir A VM yatırımcısı ya da internette alışveriş yapan birinin aksine San Fransisco'da kiralık ev arayan bir kişi, iki hareket tarzından birini derhal seçmek zorundadır: O anda bak makta olduğu apartman dairesini diğer tüm seçeneklerden vaz geçerek tutacaktır ya da bir daha arkasına bakmamak üzere vazgeçip gidecektir. Durumu biraz basite indirgeyelim ve bir anlığına uygun olan evler içerisinden en iyisini tutma şansınızı maksimize etmeye çalıştığınızı varsayalım. Tuttuğunuz ev ile bakmadıklarınızın "toplam pişmanlıklarını" minimumda tutmayı amaçlamaktası-
H ayatı mızdaki Al go ritmal ar
12
nız. Peki, bir evin en iyi olduğunu, buna hüküm verecek bir da yanağınız olmadan nasıl anlarsınız? Ve bu karar tabanını oluştu ran esasları bir dizi apartman dairesine bakmadan (ve elden ka çırmadan) nası l tesis edebilirsiniz? Ne kadar fazla bilgi toplarsa nız, bunun farkına o kadar iyi varırsınız ama geçen süre zarfında muhtemelen o fırsatı kaçırmış olursunuz. O zaman ne yapacaksınız? Bilgiye dayalı bir kararı , bilgi
edinmek kararın sonucunu tehlikeye atarken nasıl verirsiniz? Paradoksa yol açmaya çok yakın acımasız bir durumla karşı kar şıya kalırsınız. Birçok insan bu tür bir sorunla karşılaştığında araştırma ile ilk gördüğüne atlama arasında bir denge kurduğunu söyleyecek tir. Bir standart oluşturmak adına yeteri kadar eve bakmalısınız ve daha sonra da koyduğunuz standardı karşılayan birini tutmalı sınız. Bu denge söylemi asl ında tam olarak doğrudur. Söylenme
yen şey ise bu dengenin nasıl kurulduğudur. Neyse ki bu sorunun bir cevabı var. Yüzde 37 Eğer en iyi evi tutmaya dair en iyi olasıl ıkları elde etmek isti yorsanız ev arayacağınız sürenin yüzde 3 7'sini (örneğin bir ayı nız varsa bunun 11 gününü) tarafsız olarak seçeneklere bakarak geçirin. Kontrol çizelgenizi evde bırakın, sadece bakmaya gitti ğinizi düşünün . Bir noktadan sonra en iyiyi gördüğünüz anda taahhüt altına girmeye hazır olun : Hem depozito hetn de kiranın tamamı için. Bu sadece seçeneklere bakma ile ilk gördüğünüze atlama arasındaki içgüdüsel bir uzlaşma değildir. İspat edilebilen optimal bir çözümdür. Bu çözümü "optimal duraklama ( optimal stopping)" olarak bilinen bir matematik problemi sınıfına girdiği için bil iyoruz. Yüzde 3 7 Kuralı, bu problemleri çözmek için bilgisayar mühen dislerinin "algoritma" dedikleri bir dizi basit adımlar serisin i kullanmaktadır. Ve ev aramak, optimal duraklamanın günlük
Giriş
13
yaşantımıza bumunu soktuğu alanlardan sadece biridir. B ir dizi seçeneği kabul etmek ya da vazgeçmek yaşamımızda devaml ı olarak birbirinden biraz farklı şekilde ortaya çıkan b i r durumdur. B ir park yerine aracınızı bırakmadan önce bütün bloğun etrafın da kaç kere dönersiniz? Riskli bir işe yatırdığınız parayı ne kadar bekletirsiniz? Evinizi ya da arabanızı satarken daha iyi bir teklif için ne kadar beklersiniz? Aynı sorun çok daha rahatsız edici bir durumda da ortaya çıkmaktadır: Randevulaşma. Optimal duraklama, aynı zamanda evlilik (serial monogamy) bilimidir. Basit algoritmalar sadece ev bulmak için değil aynı zamanda optimal d.uraklama problemiyle karş ılaştığımız, yaşamdaki tüm sorunlar için çözümler sunmaktadır. İ nsanlar her gün benzer so runlarla -elbette ki şairler park sorunundan daha çok aşk üzerine mürekkep harcamışlardır- boğuşmaktadır ve bazı d urum larda bu, acı verici bir deneyim haline dönüşebilir. Aslında burada katlanı lan acı gereksizdir. En azından matematiksel olarak bunlar çö zümlü problemlerdir. Etrafınızda gördüğünüz eziyet çeken kiracılar, sürücüler ya da evlenmek isteyen kiş iler as lında Amerika 'yı yeniden keşfet mektedir. Bir terapiste değil bir algoritmaya ihtiyaçları vardır. Terapist onlara detayl ı düşünme ile acele karar verme arasındaki uygun dengeyi bulmalarını söyleyecektir. Algoritm a ise onlara dengen in yüzde 3 7 ' de o lduğunu söyle yecektir. Tüm insanların karşılaştığı birtakım prob lemler vard ır: Yaşamla rımızın sonsuz bir uzay ve zaman içinde devam ediyor olmasının doğrudan bir sonucu o lan problem ler. B ir gün ya da on yı l içeri sinde neleri yapmalıyız ve neleri yapmamalıyız? H ayatımızdaki düzensizliğin kabul derecesi nedir ya da yaşantım ızdaki düzenin
H ayatı mı zdaki Algoritmalar
14
ne kadarı bize fazla gelebilir? En tatmin edici yaşam için yeni ile
tercih edilen tecrübeler aras ındaki denge nasıl olmalıdır? Bunlar sadece insanlara has sorunlar gibi görünebi lir ancak değillerdir. Yarım asırdan daha uzun b ir süredir b i lgisayar mü hendisleri her gün karşımıza çıkan bu açmazlarla boğuşmakta ve çoğunu çözmektedir. B ir işlemci minimum yük ve en kısa sürede kullanıcısının
kendisi nden
istediğini
yapmak
için
"perfor
mansını" nasıl kul lanmalıdır? Farklı görevler arasında ne zaman geçiş yapmalı ve ilk olarak kaç adet görev üstlenmelidir? Sınırlı hafıza kaynaklarını kullanmanın en iyi yolu nedir? Daha fazla veri toplamalı mıdır yoksa elindeki mevcut veriye göre mi hare ket etmelidir? Anın tadını çıkarmak insanlar için zor olabilir ama etrafımızdaki b i lgisayarlar her bir milisaniyen in tadını kolaylıkla çıkarmaktadır. Ve bu başarılarından öğreneceğimiz çok şey var dır. İ nsan yaşamı için algoritmalardan bahsetmek garip görünebi lir. Birçok kişi için "algoritma" kelimesi büyük verinin (big OJJ
o"' �
40
1: �
30
...
§� ;ı==
= c l /2( 1 -p)2 >=c şeklinde sadeleştirilebilir ve bunun p için çözümü de bize 3 8 'nci sayfadaki tabloda yer alan p>= 1 - (2c) 1 12 değerini verir. 39 " İ lk gelen teklif şahaneydi. . . " : Laura Albert McLay, röportaj, 1 6 Ekim 20 1 4 . 3 9 insanların nasıl i ş aramaları gerektiğini m odellemek İ ş aramayı bir optimal duraklama problemi olarak düşünme konusuyla Stigler "The Economics of Information" ve "Information in the Labor Market" isimli çalışmalarında çalışm ıştır. McCall 'un "Economics of Informa tion and Job Search" çalışmas ı ev satma prob lemine çok benzer bir model önerdi ve Lippman ve McCall "The Economics of Job S earch" isimli çalışmalarında bu modelin çeşitli uzanım larını ele almışlardır. Tıpkı sekreter probleminin birçok türev prob leme esin kaynağı olmas ı gib i burada d a ekonomistler, b u basit modeli daha gerçekçi olacak şekilde geliştirmiş lerdir: Aynı gün içerisinde b irden çok teklifin gel mesine izin verecek şekilde modele izin vermek, satıcı için maliyetler ile oynanmasına izin vermek ve araştırma sıras ındaki ekonomik dal galanmanın probleme dahil edilmesini sağlamak. İş arama konusun daki optimal duraklama prob lemlerinin iyi b ir incelemesi Rogerson, Shimer ve Wright ' ın "Search : Theoretic Models of the Labor Market" isimli çalışmada bulunabilir. 3 9 Eğer daha önce eşik değerinizin üzerinde değilse, şimdi de olmaya caktır: İş arama üzerine b ir araştırmada da belirtildiği gibi, "Daha önce geri çevrilmiş olan tekliflere geri dönülemeyeceğini varsayın; bu durum aslında prob lem durağan olduğu için b ir kısıt teşkil etmese
396
Notlar bile. Bu nedenle bugün kabul edilemez olan bir teklif, yarın da kabul edi lemez olacaktır (a.g.e.)."
40 a kadem isyen personel için de otom obil park yeri : C lark Kerr, "Education: View from the Bridge," Time, 1 7 Kasım 1 95 8 . 4 0 sanırım beklenen trafiğe göre d e planlama yapmalısınız : Donald Shoup ile kiş isel yazışmalar, Haziran 20 1 3 . 42 San Francisco şehir m erkezinde yürürlüktedir : SFMTA tarafından geliştirilen SFpark sistem ine ve Shoup 'tan esinlenen dinamik park sistemine dair daha fazla bilgi http ://stpark. org/how -it-works/pricing/ adresinde bu lunab ilir. (Bu sayfada S houp danışmandır). Bu program 20 1 1 ' de uygulamaya konuldu ve dünyada kendi türünün ilki olan bir projedir. Programın etkilerine yönelik yakın zamanda yapılmış bir analiz için bakınız Mil lard-Ball, Weinberger ve Hampshire, "Is the Curb 80% Full or 20% Empty?" 42 doluluk oranı yüzde 90'dan yüzde 95'e yüks eldiğinde: Donald S houp, kişisel yazışmalar, 7 Haziran 20 1 3 . Daha kesin olmak gerekir se, doluluk oranında yüzde 9 0 ' dan yüzde 9 5 ' e doğru olan bir artış aslında yüzde 5 , 5 5 5 5 5 . . . ' lik bir artışı göstermektedir. 42 Park yerlerinin düzgün bir şekilde dağılmış olduğu sonsuz uzun lukta bir yolda olduğunuzu : Temel park yeri problemi, burada da
belirtildiği gibi DeGroot ' un "Optimal Statistical Decisions" isimli çalışmas ında bir problem olarak belirtilmiştir. Ç özüm, varış noktasın dan -log2/log( l -p) önceki noktadan daha erken olan boş bir yere aracı park etmektir. Burada p herhangi bir park yerinin boş olma ihtimalini göstermektedir.
43 ciddi bir şekilde yer aramak zorunda kalm azsınız : Shoup ' un The H igh Cost of Free Parking eserinin l 7 ' nci bölümü, blok başına ortala ma bir boş yer yarattığı durumda optimal sokak üzeri park etme stra tej isini ele almaktadır ve Shoup "problem açgözlülük ile üşengeçlik arasındaki çatışmaya dayanır" demektedir (kişisel yazışmalar). Ucuz sokak üstü park yerleri için arabayla gezinmek ya da özel park yerleri için ücret ödemek sorusu Shoup ' un çalışmas ının 1 3 ' üncü bölümünde dir. 43
bu
tem el
senaryo
üzerinde
çeşitli
değişiklikler: Tamaki'nin
"Adaptive Approach to Some Stopping Problems" çalışmas ı bir nok tanın boş olma olas ılığının konumuna bağlı olduğunu öne sürmüş ve bu olasılıkların hareket hal inde nasıl hesap lanab ileceğini ele almıştır.
N otlar
397
Taınaki' nin "Optiınal Stopp ing i n the Parking Problem with U -Tum" çalışmas ı ise U dönüşü olas ıl ıklarını prob leme eklemiştir. Tamaki ' nin "An Optimal Parking Prob lem" DeGroot ' un modeline park imkanları nın ayrık b ir nokta kümesi olarak ele alınmadığı bir uzantı olarak ele alm ıştır. Sakaguchi ile Tamaki 'nin "On the Optimal Parking Prob lem in Which Spaces Appear Randomly" çalışması bu sürekli formülü kullanmış ve varış noktasının bilinmemesi durumunu mümkün kıl mıştır. Mac-Queen ve Miller' ın "Optimal Persistence Policies" çal ış ması bunlardan ayrı olarak araçların b loğun etrafında dolaşmasına imkan tanıyarak problemi sürekli bir halde incelem iştir. 44 "Bisiklet kullanıyorum " : Donald Shoup, kişisel görüşme, 7 Haziran 201 3 .
44 Forbes dergisi Boris Berezovsky 'yi üç m ilya r dolar civarı varlığıyla : Forbes, "World ' s Bill ionaires'', 28 Temmuz 1 997, sf. 1 74. 44 Yeni bir oliga rşi sınıfının üyesi olarak: Paul Klebnikov, "The Rise of an Oligarch", Forbes, 9 Eylül 2000.
45 Devletin bir sopası vardır; sadece bir kez kullanır ve tam kafaya vurur: Vlad imir Putin, Frans ız gazetesi Le Figaro ile olan röportaj ın dan, 26 Ekim 2000.
45 kitabı tamamen sekreter p roblem i üzerineydi: Berezovsky ve Gne din, "Problems of Best Choice".
45 çeşitli isim ve şekiller altında çalışmalar yapılm ıştır: Önde olduğu nuzda bırakma prob lemine yaklaşmanın çeşitli yolları mevcuttur. Bunlardan ilki kazanma dizisinin uzunluğunu maksimize etmektir. D iyelim ki yazı gelme ihtimali p olan b ir atış yap ıyorsunuz. Her bir atış için c dolar ödüyorsunuz ve yazı geldiği her seferinde bir dolar al ıyor, tura geldiğinde ise tüm kazanım toplamınızı kaybediyorsunuz. Bu para atışını ne zaman bırakmalıs ınız? Bu sorunun cevab ı, Norman Starr tarafından 1 972 ' de gösteri ldiği gibi, r defa yazı geldikten sonra bırakmaktır. r burada p r+ ı (f(n)) [çalışma zamanı hem O(f(n)) hem de O(f(n) ) ' e eşit ise] mevcuttur.
1 02 "Kab arcık sırala m a dediğinde beni kazandı": Bu mühend is daha önce 2 ' nci bölümde karş ılaştığımız Dan S iroker 'dır. Bkz. "The AIB
41 3
Notlar
Test: inside the Technology at' s Changing the Rules of Business", Wired, Mayıs 20 1 2 . 1 0 5 bilgi işlem e 1 9 ' uncu yüzyılda ABD nüfus sayımlarında : Daha fazla sı için bkz. Knuth, "The Art o f C omputer Programm ing'', § 5 . 5 . 1 06 saklı yazılım bilgisayarlarının gücünü göstermek için : B i lgisayar testi EDVAC makines iydi ve o zamanlar von Neumann ' ın program ı çok gizli askeri istihbarat olarak sınıflandırılmıştı. B kz. Knuth, "Yon Neuınann ' s First Coınputer Program''. 1 06 "B irleştirmeli Sırala m a sıralama tarihinde, sıralam anın bilgisayar tarihindeki önem i kadar önem lidir. " : Katajainen ve Tra, "A Meti
culous Analys is ofMergesort Programs". 1 06 B üyük ölçekli endüstriyel sıralama problem leri için bir metot : Mevcut kayıtlara, http ://sortbenchmark. org/ adresinden ulaş ılabilir. 20 1 4 senesi itibariyle Samsung ' dan bir grup, bir dakika içinde en fazla veriyi sıralama rekorunu elinde bulundurmaktadır: 3 , 7 Terabayt lık veri. Zdenek Bradac ' ın kırdığı insan rekoruyla karşılaştırmasını yapacak olursak bunun karşılığı, 3 7 m ilyar adet oyun kağıdıdır ve 500 Boeing 747 ' yi doldurmaya yeter.
1 07 da kikada 1 67 : Gönderim bölümü şefi Tony Miranda şöyle demekte dir: "Sanırım en yüksek performansımız saatte 2 5 0 sepettir. Ortalama mız ise saatte 1 80 sepet. Her sepetin içinde 40'tan fazla kitap olduğu nu da unutmayın ." "KCLS AMH Tour'', 6 Kasım 2007, https:// www . youtube.com/watch?v=4fq3CWsyde4. 1 07 -günde 85.000- kitabı geçirir: "Reducing operating costs", American Libraries Magazine, 3 1 Ağustos 2 0 1 O , http ://www . americanlibraries magazine.org/aldirect/al-direct-september- 1 -20 1 O.
1 09 "boş versene" : B kz. Matthew Taub, "Brooklyn & Manhattan Beat Washington State in 4th Annual ' Battle of the Book Sorters "', Bro oklyn Brief, 29 Eylül 20 1 4, http://brooklynbrief.com/4th-annua l battle-book-sorters-pits-brooklyn-washington-state/ . 1 09 u m abileceğimiz en iyi zaman aralığıdır : n sayıda nesnenin tam ola rak sahip olab ileceği b irbirinden farklı s ıralanma sayısı n!'dir. B u nedenle b i r dizi tam olarak log n! b it veri üretir ve bu d a yaklaş ık olarak n log n bite eş ittir. n ! ' in nx(n- 1 )x(n-2)x . . . . 2x 1 olduğunu dü şündüğümüzde, n ' in en büyü k olduğu n kadar sayının çarp ıma eşit olduğunu biliriz. Sonuç olarak n!< nn, bu nedenle de log n! < log nn olur ve bu da b ize log n.'