Algoritmalar · İsimler

Algoritmalarda Önemli İsimler

Dersin on dört bölümündeki algoritmaların ve fikirlerin arkasındaki 76 isim: Öklid algoritmasından ve Turing makinesinden Dijkstra ile Kruskal'a, KMP'den ve Huffman kodlamadan Cook'un NP-tamlık teoremine, rekabetçi analize, Karatsuba çarpımına ve dal sınır yöntemine kadar.

Her kartta kişinin yaşadığı yıllar, ülkesi ve kurumu, en bilinen katkısı ve kısa bir özet yer alır; bağlantılar bu katkının işlendiği slaytlara gider. Kartlar bölüme göre süzülebilir, aranabilir, katkı yılına ya da soyadına göre sıralanabilir.

Euclid

MÖ y. 300 · Antik Yunan · İskenderiye

OBEB algoritması · Elements

Elements (Elemanlar) adlı yapıtında iki sayının en büyük ortak bölenini art arda çıkarma yoluyla bulmayı anlattı; bugün aynı yöntemi bölme ve kalanla yazıyoruz. gcd(a, b) = gcd(b, a mod b) özdeşliğine dayanan Öklid algoritması (Euclid's algorithm), hâlâ kullanılan en eski algoritmalardan biridir. Büyük sayı her iki adımda en az yarıya indiği için adım sayısı O(log min(a, b)) ile sınırlıdır.

OBEBsonlanmalogaritmik adım sayısı

Al-Khwarizmi

y. 780 – y. 850 · Bağdat · Beytülhikme

Hint-Arap rakamlarıyla hesap · cebir

Bağdat'taki Beytülhikme'de çalışan bir matematikçiydi. Hint-Arap rakamlarıyla hesap yapmayı anlatan kitabı Latince çevirisiyle (Algoritmi de numero Indorum) Avrupa'ya yayıldı. “Algoritma” sözcüğü adının Latinceleşmiş biçiminden, “cebir” sözcüğü ise al-Kitāb al-mukhtaṣar fī ḥisāb al-jabr wa-l-muqābala adlı yapıtının başlığından gelir. Problemleri açık ve tekrarlanabilir adımlarla çözme fikrinin simgesidir.

“algoritma” sözcüğünün kökeniadım adım yöntem

Leonardo Fibonacci

y. 1170 – y. 1250 · İtalyan · Pisa

Liber Abaci · 1202

Liber Abaci (1202) ile Hint-Arap rakamlarını Avrupa'ya tanıttı; kitaptaki tavşan problemi 1, 1, 2, 3, 5, 8, … dizisini üretir. F(n) = F(n − 1) + F(n − 2) bağıntısını düz özyinelemeyle çözmek üstel zaman alır, çünkü aynı alt problemler yeniden ve yeniden hesaplanır. Bu örnek, dinamik programlamanın ve bellekleme (memoization) tekniğinin en bilinen başlangıç noktasıdır.

yineleme bağıntısıörtüşen alt problemler

Pierre de Fermat

ö. 1665 · Fransız · Toulouse

Fermat'nın küçük teoremi · 1640

1640'ta Frénicle de Bessy'ye yazdığı bir mektupta, bugün küçük teoremi diye bilinen sonucu bildirdi: n asal ve 1 < a < n ise aⁿ⁻¹ ≡ 1 (mod n) olur. Teoremin yayımlanan ilk kanıtını 1736'da Euler verdi. Fermat asallık testi bu eşitliği rastgele seçilen tabanlarla dener; eşitlik bozulursa sayı kesinlikle bileşiktir. Tersi ise her zaman doğru değildir: 561 = 3 · 11 · 17 gibi Carmichael sayıları, kendileriyle aralarında asal her tabanda eşitliği sağlar. Robert Carmichael 561'i 1910'da yayımladı. Miller–Rabin testi bu açığı karekök özelliğiyle kapatır.

Fermat testiCarmichael sayılarımodüler aritmetik

Leonhard Euler

1707–1783 · İsviçreli · St. Petersburg, Berlin

Königsberg köprüleri · 1736

1736'da Königsberg'in yedi köprüsünün her birinden tam bir kez geçen bir yürüyüş olmadığını kanıtladı; kara parçalarını düğüm, köprüleri kenar olarak ele alması çizge kuramının başlangıcı sayılır. Böyle bir yürüyüş için tek dereceli düğüm sayısının 0 ya da 2 olması gerektiğini gösterdi. Her kenarı bir kez kullanan Euler turu, Christofides algoritmasının da bir adımıdır.

çizge kuramıEuler turu

Carl Friedrich Gauss

1777–1855 · Alman · Göttingen

Aritmetik seri · 1 + 2 + … + n

Okul yıllarına ait bilinen bir öyküye göre 1'den 100'e kadar olan sayıları, iki uçtan terimleri eşleyerek bir anda topladı ve n(n + 1)/2 sonucuna ulaştı. Bu toplam, iç içe döngüler O(n²) olarak sayıldığında her seferinde karşımıza çıkar. İki karmaşık sayıyı dört yerine üç gerçel çarpmayla çarpma hilesi de ona atfedilir; Karatsuba yöntemi benzer bir fikri büyük sayılara uygular.

aritmetik seridöngü sayma

Gabriel Lamé

1795–1870 · Fransız · Paris

Öklid algoritmasının adım sayısı · 1844

1844'te Öklid algoritmasının yaptığı bölme sayısının, küçük sayının onluk basamak sayısının beş katını geçemeyeceğini kanıtladı. Kanıtta Fibonacci sayılarını kullandı: belli sayıda bölme gerektiren en küçük girdi ardışık iki Fibonacci sayısıdır, çünkü bu girdilerde her bölümün sonucu 1 çıkar ve sayılar en yavaş biçimde küçülür. Teorem, bir algoritmanın en kötü durumunu inceleyen en eski çalışmalardan biri sayılır ve O(log min(a, b)) sınırının kesin biçimidir.

Lamé teoremiÖklid algoritmasıFibonacci sayıları

Arthur Cayley

1821–1895 · İngiliz · Cambridge

Cayley formülü · 1889

1889'da n düğümlü tam çizgenin tam olarak nⁿ⁻² kapsayan ağacı olduğunu gösteren formülü yayımladı; aynı sayıyı Carl Wilhelm Borchardt 1860'ta determinantla bulmuştu. Sayı çok hızlı büyür: 4 düğümde 16, 10 düğümde 100 milyon kapsayan ağaç vardır. Bu yüzden en ucuz kapsayan ağacı bütün ağaçları tek tek deneyerek bulmak pratik değildir; Kruskal ve Prim gibi açgözlü algoritmalar aynı sonuca polinom sürede ulaşır. Cayley matris cebirinin ve soyut grup kavramının da kurucularındandır.

Cayley formülükapsayan ağaç sayısıtam çizge

Otakar Borůvka

1899–1995 · Çek · Brno

İlk MST algoritması · 1926

1926'da Moravya'nın elektrik şebekesini en düşük maliyetle kurmak için ilk minimum kapsayan ağaç (minimum spanning tree, MST) algoritmasını yayımladı. Her turda her bileşen, kendisinden çıkan en hafif kenarı seçer; bileşen sayısı her turda en az yarıya indiği için O(log V) tur yeter. Bir turdaki seçimler birbirinden bağımsız olduğundan yöntem paralel ve dağıtık ortamlara da uygundur.

minimum kapsayan ağaçbileşen

Alan Turing

1912–1954 · İngiliz · Cambridge, Manchester

Turing makinesi · 1936

1936 tarihli “On Computable Numbers” makalesinde algoritma kavramını Turing makinesiyle biçimselleştirdi ve durma problemini (halting problem) hiçbir algoritmanın çözemeyeceğini gösterdi. Alonzo Church'ün aynı yıl lambda hesabıyla elde ettiği sonuçla birlikte bu tanım, “etkin biçimde hesaplanabilir” kavramının anlamı olarak kabul edilir (Church–Turing tezi). P ve NP sınıfları da aynı modelin zamanla sınırlanmış bir biçimiyle tanımlanır.

hesaplanabilirlikdurma problemiChurch–Turing tezi

Ronald A. Fisher ve Frank Yates

1890–1962 · 1902–1994 · İngiliz · Rothamsted

Fisher–Yates karıştırma · 1938

1938'de Statistical Tables for Biological, Agricultural and Medical Research adlı kitapta, bir listenin rastgele permütasyonunu rastgele sayı tablosu yardımıyla kâğıt kalemle üretmenin yolunu anlattılar. Richard Durstenfeld 1964'te yöntemi bilgisayara uyarlayarak O(n) süreli takas sürümünü verdi; bu sürümü Knuth yaygınlaştırdı. Fisher, deney tasarımının ve modern istatistiğin kurucularındandır.

Fisher–Yates karıştırma (Fisher–Yates shuffle)düzgün dağılımlı permütasyon

John von Neumann

1903–1957 · Macar asıllı Amerikalı · Princeton IAS

Birleştirme sıralaması · 1945

1945'te EDVAC için yazdığı programlarda birleştirme sıralamasını (merge sort) anlattı; Knuth bu programı bilgisayar için yazılmış ilk sıralama programları arasında sayar. Böl ve fethet (divide and conquer) yaklaşımının klasik örneği olan yöntem en kötü durumda bile O(n log n) sürede çalışır ve kararlıdır. Stanisław Ulam ile Monte Carlo yönteminin geliştirilmesine katkıda bulundu; bugünkü bilgisayar mimarisi de onun adını taşır.

böl ve fethetkararlı sıralamaMonte Carlo

Stanisław Ulam

1909–1984 · Polonya doğumlu · ABD, Los Alamos

Monte Carlo yöntemi · 1946–1949

1946'da Los Alamos'ta, bir solitaire oyununu kazanma olasılığını rastgele denemelerle kestirme fikrinden yola çıkarak Monte Carlo yöntemini önerdi; von Neumann ile birlikte yöntemi ENIAC üzerinde nötron yayınımı hesaplarına uyguladı. Yöntemin adını taşıyan ilk makale 1949'da Nicholas Metropolis ile yayımlandı. Rastgele noktalarla π sayısını kestirmek, derste kullanılan en yalın örnektir.

Monte Carlorastgele örnekleme

George B. Dantzig

1914–2005 · Amerikalı · RAND, Stanford

Simpleks yöntemi · 1947

1947'de doğrusal programları çözmek için simpleks yöntemini geliştirdi; dal sınır algoritmalarında her düğümdeki sınır çoğunlukla böyle bir LP gevşetmesiyle (LP relaxation) hesaplanır. 1954'te Fulkerson ve Johnson ile birlikte 49 şehirlik bir gezgin satıcı problemini (travelling salesman problem, TSP) kesme düzlemleriyle en iyi biçimde çözdü. Öğrenciyken çözülmemiş iki istatistik problemini ödev sanıp çözdüğü öykü de ünlüdür.

doğrusal programlamasimpleksTSP

Claude Shannon

1916–2001 · Amerikalı · Bell Labs, MIT

Bilgi kuramı · 1948

1948 tarihli “A Mathematical Theory of Communication” makalesiyle bilgi kuramını kurdu ve entropiyi, kayıpsız sıkıştırmada simge başına ortalama bit sayısının alt sınırı olarak tanımladı. Bir Huffman kodunun ortalama uzunluğu entropiyi en çok 1 bit aşar. Boole cebirini anahtarlama devrelerine uyguladığı 1937 tarihli yüksek lisans tezi de sayısal devre tasarımının temellerindendir.

entropisıkıştırma sınırı

Derrick H. Lehmer

1905–1991 · Amerikalı · UC Berkeley

Lehmer üreteci (1949) · “backtrack” terimi

1949'da bugün Lehmer üreteci olarak anılan sözde rastgele sayı (pseudo-random number) yöntemini, yani çarpımsal doğrusal eşlik üretecini x(k+1) = a · x(k) mod m tanıttı. 1950'lerde kısmi bir çözümü genişleten ve çıkmaza girince geri adım atan arama için “backtrack” terimini kullandı; bu yaklaşım bugün geri izleme (backtracking) adıyla bilinir. Sayılar kuramında asallık testleri ve hesap makineleri üzerine de öncü çalışmalar yaptı.

sözde rastgele sayılargeri izleme

Richard Hamming

1915–1998 · Amerikalı · Bell Labs

Hamming uzaklığı · 1950

1950'de Bell System Technical Journal'da yayımladığı “Error Detecting and Error Correcting Codes” makalesinde hata düzelten kodları ve bugün Hamming uzaklığı diye anılan ölçüyü tanıttı. Hamming uzaklığı, eşit uzunluktaki iki dizginin farklı karakter taşıdığı konumların sayısıdır ve tek bir taramayla O(n) sürede hesaplanır; örneğin “karolin” ile “kathrin” arasındaki uzaklık 3'tür. Uzunlukları farklı dizgilerde tanımsızdır; ekleme ve silmeye de izin veren Levenshtein uzaklığı bu durumda kullanılır. 1968'de Turing Ödülü'nü aldı.

Hamming uzaklığıhata düzelten koddizgi benzerliği

Stephen C. Kleene

1909–1994 · Amerikalı · University of Wisconsin

Düzenli ifadeler · 1951

1951'de hazırladığı bir RAND raporunda (yayımlanışı 1956) düzenli ifadeleri (regular expressions) tanımladı ve bunların sonlu otomatların tanıdığı dilleri tam olarak betimlediğini gösterdi (Kleene teoremi). “Sıfır ya da daha çok tekrar” anlamına gelen * işlemi onun adıyla Kleene yıldızı diye anılır. Özyinelemeli fonksiyonlar kuramıyla birlikte hesaplanabilirlik kuramının kurucularındandır.

düzenli ifadeKleene yıldızı

David A. Huffman

1925–1999 · Amerikalı · MIT, UC Santa Cruz

Huffman kodlama · 1952

MIT'de lisansüstü öğrenciyken, Robert Fano'nun dersinde final sınavının yerine geçen dönem ödevi olarak en kısa önek kodunu bulma problemini çözdü ve sonucu 1952'de yayımladı. En az sıklıktaki iki düğümü tekrar tekrar birleştiren açgözlü yöntem, karakter başına beklenen bit sayısını en aza indirir ve hocasının Shannon–Fano yöntemini geride bırakır. Huffman kodlama (Huffman coding) bugün DEFLATE ve JPEG gibi biçimlerin bir aşamasıdır.

Huffman kodlamaönek koduaçgözlü seçim

Hans Peter Luhn

1896–1964 · Alman asıllı Amerikalı · IBM

Anahtarları kovalara dağıtma · 1953

1953'te IBM'de, anahtarları bir fonksiyonla “kovalara” dağıtarak aramayı hızlandırmayı önerdi; bu, hash tablolarının (hash table) ve zincirlemenin (chaining) bilinen en eski örneklerinden biridir. Kredi kartı numaralarını doğrulamakta hâlâ kullanılan Luhn denetim basamağı algoritması ve bağlam içinde anahtar sözcük (KWIC) dizinlemesi de onundur.

hash tablosuzincirleme

Richard Bellman

1920–1984 · Amerikalı · RAND Corporation

Dinamik programlama · 1950'ler

1950'lerde RAND Corporation'da çok aşamalı karar problemleri için “dinamik programlama” (dynamic programming) adını ve optimallik ilkesini ortaya koydu: optimal bir çözümün her parçası, kendi alt problemi için de optimaldir. 1958'de negatif kenar ağırlıklarına izin veren tek kaynaklı en kısa yol yöntemini yayımladı (Bellman-Ford). “Boyutluluk laneti” (curse of dimensionality) deyimi de ona aittir.

dinamik programlamaoptimal alt yapıBellman-Ford

Gene Amdahl

1922–2015 · Amerikalı · IBM

Doğrusal yoklama (1954) · Amdahl yasası (1967)

1954'te Elaine McGraw ve Arthur Samuel ile birlikte IBM 701 için yazılan bir çeviricide, çakışma olunca bir sonraki boş hücreye geçen doğrusal yoklamayı (linear probing) kullandı. IBM System/360'ın baş mimarlarından biriydi. 1967'deki bir konferans konuşmasında, programın sıralı kısmının paralel hızlanmayı sınırladığını savundu; bu gözlem Amdahl yasası (Amdahl's law) olarak bilinir.

doğrusal yoklamahızlanmaAmdahl yasası

L. R. Ford Jr. ve D. R. Fulkerson

1927–2017 · 1924–1976 · Amerikalı · RAND Corporation

Maksimum akış · 1956

1956'da RAND Corporation'da, artık ağda (residual network) artış yolu (augmenting path) kalmayana kadar akışı artıran Ford-Fulkerson yöntemini ve maksimum akış minimum kesim teoremini yayımladılar. Ford aynı yıllarda kenarları tekrar tekrar gevşeten en kısa yol yöntemini de verdi; algoritmanın Bellman-Ford diye anılması bundandır. 1962 tarihli Flows in Networks kitapları ağ akışını ayrı bir alan hâline getirdi.

Ford-Fulkersonartış yoluminimum kesim

Joseph Kruskal

1928–2010 · Amerikalı · Princeton, Bell Labs

Kruskal algoritması · 1956

1956 tarihli kısa bir makalede kenarları ağırlık sırasıyla inceleyip döngü oluşturmayanları ekleyen MST algoritmasını verdi; aynı makale ters silme (reverse-delete) yöntemini de anlatır. Bugün döngü denetimi union-find yapısıyla yapılır ve algoritma O(E log E) sürede çalışır. Çok boyutlu ölçekleme gibi katkılarıyla istatistikte de önemli bir yeri vardır.

Kruskal algoritmasıunion-findters silme

Edward F. Moore

1925–2003 · Amerikalı · Bell Labs

Labirentte en kısa yol (BFS) · 1957

Bell Labs'ta labirentteki en kısa yolu bulmak için genişlik öncelikli aramayı (breadth-first search, BFS) anlattı (“The Shortest Path Through a Maze”, sunuluşu 1957, yayımlanışı 1959). Çalışma, ağırlıksız çizgelerde en kısa yolların katman katman bulunabileceğini gösterir; ağırlıklı durum için verdiği yöntem yüzünden Bellman-Ford kimi zaman “Bellman–Ford–Moore” diye anılır. Sonlu durum makinelerinin Moore makinesi türü de onun adını taşır.

BFSMoore makinesi

Robert C. Prim

1921–2021 · Amerikalı · Bell Labs

Prim algoritması · 1957

1957'de Bell Labs'ta, bir düğümden başlayıp ağacı her adımda dışarı çıkan en hafif kenarla büyüten minimum kapsayan ağaç algoritmasını yayımladı. Aynı yöntemi Vojtěch Jarník 1930'da bulmuş, Dijkstra da 1959'da yeniden keşfetmişti; bu yüzden Jarník–Prim algoritması diye de anılır. Öncelikli kuyrukla O(E log V) sürede çalışır ve yapısı Dijkstra algoritmasına çok benzer.

Prim algoritmasıkesim özelliği

Donald L. Shell

1924–2015 · Amerikalı · General Electric

Shell sıralaması · 1959

1959'da yayımladığı yöntemde öğeler önce geniş aralıklarla, sonra giderek daralan aralıklarla eklemeli sıralamadan geçirilir. Böylece uzak ters çiftler (inversion) erkenden düzelir ve eklemeli sıralamanın O(n²) davranışı uygulamada büyük ölçüde iyileşir. Karmaşıklık aralık dizisine bağlıdır ve kimi diziler için hâlâ açık bir sorudur.

Shell sıralaması (Shell sort)ters çift

Edsger W. Dijkstra

1930–2002 · Hollandalı · Amsterdam, Eindhoven; Austin, ABD

En kısa yollar · 1959

Kendi anlatımına göre en kısa yol algoritmasını 1956'da Amsterdam'da yirmi dakika kadar içinde tasarladı ve 1959'da yayımladı; aynı makale minimum kapsayan ağaç için Prim yöntemini de bağımsız olarak verir. Geçici uzaklığı en küçük olan düğümü kesinleştirip kenarlarını gevşetmek (relaxation) negatif olmayan ağırlıklarda doğru sonuç verir ve öncelikli kuyrukla (priority queue) O((V + E) log V) sürer. Yapısal programlama ve semaforlarla da tanınır; 1972'de Turing Ödülü'nü aldı.

Dijkstra algoritmasıgevşetmeöncelikli kuyruk

Michael O. Rabin

d. 1931 · İsrailli · Kudüs İbrani Üniversitesi; Harvard

Miller–Rabin (1980) · Rabin-Karp (1987)

1959'da Dana Scott ile deterministik olmayan sonlu otomatları tanımladı; bu çalışma 1976 Turing Ödülü'nü getirdi. 1980'de Gary Miller'ın asallık testini (1976) koşulsuz bir olasılıksal teste dönüştürdü: Miller–Rabin testinde bileşik bir sayı bir turu en çok 1/4 olasılıkla geçer. Karp ile kayan hash (rolling hash) kullanan Rabin-Karp dizgi eşleştirme algoritmasını 1987'de yayımladı; rastgeleliği algoritma tasarımında bilinçli olarak kullanmanın öncülerindendir.

asallık testikayan hashsonlu otomat

C. A. R. (Tony) Hoare

1934–2026 · İngiliz · Oxford

Hızlı sıralama · 1959–1961

Hızlı sıralamayı (quicksort) 1959–1960'ta Moskova Devlet Üniversitesi'nde konuk öğrenciyken tasarladı; algoritma 1961'de yayımlandı. Bir pivot çevresinde bölümleyip iki yanı özyinelemeyle sıralamak ortalamada O(n log n), kötü pivotlarla O(n²) sürer. Aynı yıl k. en küçük öğe için Find yöntemini (bugünkü QuickSelect) yayımladı; program doğruluğu için Hoare mantığını kurdu ve 1980'de Turing Ödülü'nü aldı.

hızlı sıralamabölümlemeQuickSelect

Edward Fredkin

1934–2023 · Amerikalı · MIT, Carnegie Mellon

Trie · 1960

1960'ta dizgileri ortak önekleri paylaşan bir ağaçta saklama fikrini yayımladı ve yapıya “retrieval” sözcüğünün ortasından “trie” adını verdi; René de la Briandais aynı yapıyı bir yıl önce (1959) anlatmıştı. Fredkin tersinir hesaplama ve Fredkin kapısıyla da tanınır; MIT'deki Project MAC'i yönetti.

trieönek sorgusu

Anatoly Karatsuba

1937–2008 · Sovyet · Moskova

Karatsuba çarpımı · 1960/1962

1960'ta Kolmogorov'un seminerinde iki n basamaklı sayıyı çarpmanın Ω(n²) işlem gerektirdiği sanısı tartışılırken, bir hafta içinde üç alt çarpımla O(n^1.585) sürede çalışan yöntemi buldu; o sırada 23 yaşındaydı. Kolmogorov sonucu 1962'de Karatsuba ve Ofman adlarıyla yayımlattı. Böl ve fethet yaklaşımının varsayılan bir alt sınırı aşabildiğini gösteren ilk örneklerden biridir.

Karatsuba çarpımıböl ve fethet

Ailsa Land ve Alison Doig

1927–2021 · d. 1929 · İngiliz · London School of Economics

Dal sınır · 1960

London School of Economics'te yazdıkları 1960 tarihli Econometrica makalesinde tam sayılı doğrusal programları çözmek için dal sınır (branch and bound) yöntemini önerdiler: çözüm uzayı dallara ayrılır ve her dal için LP gevşetmesiyle bir sınır hesaplanır. Sınırı bilinen en iyi çözümden kötü olan dallar budanır. Bu fikir bugünkü tam sayılı programlama çözücülerinin hâlâ çekirdeğindedir; Doig daha sonra Alison Harcourt adıyla University of Melbourne'de çalıştı.

dal sınırLP gevşetmesi

Robert W. Floyd

1936–2001 · Amerikalı · Carnegie Mellon, Stanford

Floyd-Warshall · 1962

1962'de tüm çiftler arasındaki en kısa yolları (all-pairs shortest paths) O(V³) sürede bulan algoritmayı yayımladı; ara düğümleri birer birer ekleyen bu dinamik program bugün Floyd-Warshall diye bilinir. 1964'te heap'i O(n) sürede kuran yöntemi verdi; listelerde döngü bulmak için “kaplumbağa ve tavşan” yöntemi de ona atfedilir. Program doğrulama alanındaki öncü çalışmaları için 1978'de Turing Ödülü'nü aldı.

tüm çiftler arası en kısa yollarheap kurma

Stephen Warshall

1935–2006 · Amerikalı

Geçişli kapanış · 1962

1962 tarihli “A Theorem on Boolean Matrices” makalesinde bir bağıntının geçişli kapanışını (transitive closure) Boole matrisi üzerinde O(V³) sürede hesaplayan yöntemi yayımladı: i'den k'ye ve k'den j'ye yol varsa i'den j'ye de yol vardır. Floyd'un aynı yılki en kısa yol algoritması aynı üçlü döngüyü kullandığı için ikisi birlikte anılır. Bernard Roy benzer bir sonucu 1959'da yayımlamıştı.

geçişli kapanışkomşuluk matrisi

Arthur B. Kahn

Communications of the ACM 5(11), 1962

Topolojik sıralama · 1962

1962 tarihli “Topological Sorting of Large Networks” makalesinde, yönlü ve döngüsüz bir çizgenin topolojik sırasını giriş derecesi sıfır olan düğümleri art arda çıkararak bulan algoritmayı verdi. Giriş derecesi 0 olan düğümler kuyruğa konur; kuyruktan çıkan düğüm sıraya yazılır ve ardıllarının giriş derecesi bir azaltılır, derecesi sıfıra inen düğüm kuyruğa katılır. Algoritma O(V + E) sürede çalışır. Bütün düğümler çıkarılamıyorsa çizgede döngü vardır; böylece aynı yöntem döngü denetimi de yapar.

topolojik sıralamagiriş derecesiDAG

Michael Held ve Richard M. Karp

Karp: d. 1935 · Journal of the SIAM, 1962

Gezgin satıcı için dinamik programlama · 1962

1962 tarihli “A Dynamic Programming Approach to Sequencing Problems” makalesinde gezgin satıcı problemini dinamik programlamayla çözdüler. Durum bir küme ile bir düğümden oluşur: dp[S][i], başlangıçtan çıkıp S kümesindeki şehirlerin hepsine uğrayan ve i'de biten en kısa yoldur. Algoritma O(n² · 2ⁿ) sürede ve O(n · 2ⁿ) bellekle çalışır; n! turu tek tek denemekten çok hızlıdır ama yine üsteldir. Richard Bellman aynı yöntemi aynı yıl bağımsız olarak yayımladı.

Held–Karpgezgin satıcıalt küme DP

John D. C. Little, Katta G. Murty, Dura W. Sweeney ve Caroline Karel

Little: 1928–2024 · Amerikalı · MIT

Gezgin satıcı için dal sınır · 1963

1963'te Operations Research dergisinde yayımladıkları “An Algorithm for the Traveling Salesman Problem” makalesinde gezgin satıcı problemi için bir dal sınır algoritması verdiler; “dal sınır” (branch and bound) adı ilk kez bu makalede geçer. Alt sınır indirgenmiş maliyet matrisiyle bulunur: her satırdan ve her sütundan en küçük öğe çıkarılır, çıkarılan değerlerin toplamı her turun maliyetine bir alt sınırdır. Yöntem simetri gerektirmez, d[i][j] ≠ d[j][i] olan asimetrik problemlerde de çalışır. Little, kuyruk kuramındaki Little yasasıyla (1961) da tanınır.

dal sınırindirgenmiş maliyet matrisigezgin satıcı

J. W. J. Williams

1930–2012 · İngiliz-Kanadalı

Heap sort · 1964

1964'te heap sort algoritmasını ve onun dayandığı ikili heap yapısını Communications of the ACM'de “Algorithm 232: Heapsort” başlığıyla yayımladı. Diziyi max-heap'e dönüştürüp kökü tekrar tekrar sona taşımak, en kötü durumda O(n log n) süre ve O(1) ek bellek gerektirir. Aynı yıl Robert Floyd heap'i O(n) sürede kuran iyileştirmeyi verdi.

heapyerinde sıralama

Jack Edmonds

d. 1934 · Amerika doğumlu · Kanada, Waterloo

Çiçek algoritması (1965) · Edmonds-Karp (1972)

1965 tarihli “Paths, Trees, and Flowers” makalesinde genel çizgelerde maksimum eşleştirmeyi polinom zamanda bulan çiçek (blossom) algoritmasını verdi ve “verimli algoritma” ifadesinin polinom zamanlı algoritma anlamına gelmesi gerektiğini savundu. 1972'de Karp ile, artış yolları BFS ile seçildiğinde Ford-Fulkerson yönteminin O(V·E²) sürede çalıştığını gösterdi. 1971'de açgözlü algoritmanın tam olarak matroidler üzerinde optimal olduğunu gösterdi.

Edmonds-Karppolinom zamanmatroid

Vladimir Levenshtein

1935–2017 · Sovyet-Rus · Keldysh Uygulamalı Matematik Enstitüsü

Levenshtein uzaklığı · 1965

1965'te bir dizgiyi diğerine dönüştürmek için gereken en az ekleme, silme ve değiştirme sayısını tanımladı; bu ölçü onun adını taşır. Amacı hata düzelten kodlardı; ölçü bugün yazım denetiminde, DNA dizilerini karşılaştırmada ve yaklaşık aramada kullanılır. Uzaklığı dinamik programlamayla O(m·n) sürede hesaplamak (Wagner–Fischer, 1974), derste kullanılan tablo yöntemidir.

düzenleme uzaklığı (edit distance)DP tablosu

Solomon W. Golomb

1932–2016 · Amerikalı · University of Southern California

Backtrack Programming · 1965

Leonard Baumert ile yazdığı 1965 tarihli Journal of the ACM makalesi “Backtrack Programming”, geri izlemeyi genel bir arama yöntemi olarak sistemli biçimde anlatan ilk çalışmalardandır; budamanın (pruning) arama ağacını nasıl küçülttüğünü örneklerle gösterir. 1953'te poliominoları tanımlaması, bulmaca ve döşeme problemlerinin bilgisayarla aranmasına esin kaynağı oldu. Golomb kodlaması da onun katkısıdır.

geri izlemebudama

Ronald Graham

1935–2020 · Amerikalı · Bell Labs, UC San Diego

Liste çizelgeleme (1966) · Graham taraması (1972)

1966'da her işi ilk boşalan makineye veren liste çizelgelemenin (list scheduling) en büyük yükünün (makespan) en iyi değerin en çok (2 − 1/m) katı olduğunu kanıtladı; bu, yaklaşım oranının (approximation ratio) ilk örneklerindendir. 1969'da işleri uzundan kısaya sıralayan LPT kuralının oranının 4/3 − 1/(3m) olduğunu gösterdi. 1972'de düzlemdeki noktaların dışbükey örtüsünü (convex hull) O(n log n) sürede bulan Graham taramasını yayımladı.

liste çizelgelemeyaklaşım oranıdışbükey örtü

László Bélády

1928–2021 · Macaristan doğumlu · ABD, IBM

OPT (MIN) · Belady anomalisi

1966'da IBM'de, gelecekte en geç kullanılacak sayfayı çıkaran ve en az sayfa hatası veren çevrim dışı algoritmayı (MIN, bugün OPT) tanımladı; çevrim içi politikalar bu ideal ile karşılaştırılır. Nelson ve Shedler ile, FIFO kullanıldığında çerçeve sayısı artınca sayfa hatası sayısının da artabileceğini gösterdi (Belady anomalisi). 1961'de ABD'ye göç etmişti.

sayfalamaçıkarma politikası

Michael J. Flynn

1934–2025 · Amerikalı · Stanford

Flynn sınıflandırması · 1966

1966'da Proceedings of the IEEE'de yayımlanan “Very High-Speed Computing Systems” makalesinde bilgisayarları aynı anda işledikleri komut ve veri akışlarının sayısına göre dört sınıfa ayırdı: SISD (tek komut, tek veri), SIMD (tek komut, çok veri), MISD (çok komut, tek veri) ve MIMD (çok komut, çok veri). Klasik tek çekirdekli işlemci SISD, vektör birimleri SIMD, çok çekirdekli işlemciler ve kümeler MIMD sınıfındadır. Sınıflandırma paralel makineleri anlatmanın ortak dili oldu.

SIMDMIMDparalel mimari

Andrew Viterbi

d. 1935 · İtalya doğumlu · ABD, UCLA, Qualcomm

Viterbi algoritması · 1967

1967'de evrişimli kodları çözmek için her adımda her duruma ulaşan en iyi yolu saklayan bir dinamik programlama algoritması önerdi. Gizli Markov modellerinde en olası durum dizisini bulan bu yöntem mobil ve uydu iletişiminde, konuşma tanımada ve biyoinformatikte kullanılır. 1985'te Irwin Jacobs ile Qualcomm'u kurdu.

dinamik programlamaen olası yol

Donald E. Knuth

d. 1938 · Amerikalı · Stanford

The Art of Computer Programming · 1968–

Çok ciltli The Art of Computer Programming (Bilgisayar Programlama Sanatı) ile algoritma analizini bir disipline dönüştürdü; işlem sayılarını tam olarak hesaplamayı ve ortalama durum analizini yaygınlaştırdı. 1976'da O, Ω ve Θ gösterimlerinin bugünkü anlamlarını önerdi. Morris ve Pratt ile KMP dizgi eşleştirme algoritmasını yayımladı (1977), TeX dizgi sistemini geliştirdi ve 1974'te Turing Ödülü'nü aldı.

algoritma analiziasimptotik gösterimKMP

Peter Hart, Nils Nilsson ve Bertram Raphael

Nilsson: 1933–2019 · Amerikalı · Stanford Research Institute (SRI)

A* algoritması · 1968

SRI'da Shakey robotunun yol planlaması için A* algoritmasını 1968'de yayımladılar. Nilsson'un sezgisel aramasına o ana kadarki maliyeti eklemeyi Raphael önerdi; kabul edilebilir (admissible) ve tutarlı sezgisel kavramlarını Hart getirdi. f = g + h değerine göre ilerleyen A*, kabul edilebilir bir sezgiselle en kısa yolu bulur ve çoğu zaman Dijkstra algoritmasından çok daha az düğüm açar.

A* algoritmasıkabul edilebilir sezgisel

Volker Strassen

d. 1936 · Alman · Zürih, Konstanz

Strassen algoritması · 1969

1969 tarihli “Gaussian Elimination is not Optimal” makalesinde matrisleri dört bloğa ayırıp sekiz yerine yedi blok çarpımıyla çarptı ve O(n^2.81) süreli matris çarpımını elde etti; matrislerin n³'ten hızlı çarpılabildiğini gösteren ilk sonuç buydu. 1971'de Schönhage ile çok büyük tam sayıların hızlı çarpımını, 1977'de Solovay ile olasılıksal bir asallık testini geliştirdi.

Strassen algoritmasımatris çarpımı

Yefim Dinitz

günümüz · Sovyet-İsrailli · Ben-Gurion Üniversitesi

Dinic algoritması · 1970

1969'da Moskova'da, düzey çizgesinde (level graph) engelleyici akışlar (blocking flow) bularak ilerleyen maksimum akış algoritmasını tasarladı ve 1970'te yayımladı. Batı'da Shimon Even'ın sunumu aracılığıyla “Dinic algoritması” adıyla tanındı. Algoritma O(V²·E) sürede çalışır; birim kapasiteli ağlarda ve iki parçalı eşleştirmede çok daha hızlıdır.

düzey çizgesiengelleyici akış

James H. Morris ve Vaughan Pratt

d. 1941 · d. 1944 · Amerikalı · Berkeley, Stanford (Pratt Avustralya doğumlu)

Knuth-Morris-Pratt · 1970/1977

Morris 1970'te örüntünün kendi öneklerinden yararlanarak metinde hiç geri gitmeyen bir eşleştirme yöntemi buldu ve bunu Pratt ile bir teknik raporda yayımladı; birkaç hafta sonra Knuth aynı algoritmaya otomatlar kuramından bağımsız olarak ulaştı. Üçü “Fast Pattern Matching in Strings” makalesini 1977'de birlikte yayımladı. LPS tablosu sayesinde metin göstergesi hiç geri gitmez ve arama O(n + m) sürer.

KMPLPS tablosuönek

Stephen Cook

d. 1939 · Amerikalı-Kanadalı · University of Toronto

Cook teoremi · 1971

1971 tarihli “The Complexity of Theorem-Proving Procedures” makalesinde NP'deki her problemin polinom zamanda SAT'a indirgendiğini, yani SAT'ın NP-tam (NP-complete) olduğunu gösterdi. Bu sonuç P = NP sorusunu biçimsel olarak ortaya koydu ve NP-tamlık kuramını başlattı. 1982'de Turing Ödülü'nü aldı.

NP-tamSATP = NP?

Robert E. Tarjan

d. 1948 · Amerikalı · Princeton

Güçlü bağlantılı bileşenler · 1972

1972'de yönlü bir çizgenin güçlü bağlantılı bileşenlerini (strongly connected components) tek bir DFS ile doğrusal sürede bulan algoritmayı yayımladı. 1975'te yol kısaltma (path compression) ve rütbeye göre birleştirme (union by rank) kullanan union-find yapısının amortize olarak neredeyse sabit süre aldığını kanıtladı ve amortize analizi (amortized analysis) sistemli hâle getirdi. Sleator ile splay ağaçlarını ve çevrim içi liste güncelleme analizini (1985), Goldberg ile itme–yeniden etiketleme (push–relabel) yöntemini (1988) geliştirdi; 1986 Turing Ödülü'nü Hopcroft ile paylaştı.

DFSunion-findamortize analiz

Richard M. Karp

d. 1935 · Amerikalı · Berkeley

21 NP-tam problem · 1972

1972'de SAT'tan başlayarak klik, düğüm kapsama (vertex cover), Hamilton döngüsü ve sırt çantası gibi 21 problemin NP-tam olduğunu polinom zamanlı indirgemelerle (reduction) gösterdi ve NP-tamlığın ne kadar yaygın olduğunu ortaya koydu. Edmonds ile Edmonds-Karp algoritmasını (1972), Hopcroft ile iki parçalı eşleştirme algoritmasını (1973), Rabin ile Rabin-Karp dizgi eşleştirme algoritmasını (1987) geliştirdi. 1985'te Turing Ödülü'nü aldı.

NP-tamindirgemeRabin-Karp

John Hopcroft

d. 1939 · Amerikalı · Cornell

Hopcroft–Karp eşleştirmesi · 1973

Tarjan ile birlikte derinlik öncelikli aramanın (depth-first search, DFS) çizge algoritmalarında ne kadar güçlü olduğunu gösterdi; düzlemsellik testini birlikte doğrusal sürede çözdüler. Karp ile 1973'te iki parçalı bir çizgede maksimum eşleştirmeyi O(E√V) sürede bulan algoritmayı yayımladı. Ullman ile yazdığı otomatlar ve biçimsel diller kitabı uzun yıllar temel kaynak oldu; 1986 Turing Ödülü'nü Tarjan ile paylaştı.

DFSiki parçalı eşleştirme

Leonid Levin

d. 1948 · Sovyet-Amerikalı · Boston University

Cook–Levin teoremi · 1973

SSCB'de, Cook'tan bağımsız olarak arama problemleri için “evrensel problemler” kavramını geliştirdi ve 1973'te yayımladı; teoremin Cook–Levin teoremi diye anılması bundandır. Bu problemler için neredeyse optimal bir “evrensel arama” algoritması da verdi. Daha sonra ABD'ye göç etti ve 1980'den beri Boston University'de çalışıyor.

NP-tamindirgeme

Richard P. Brent

d. 1946 · Avustralyalı · Avustralya Ulusal Üniversitesi

Brent teoremi · 1974

1974'te Journal of the ACM'de yayımladığı “The Parallel Evaluation of General Arithmetic Expressions” makalesinde, çok işlemci için yazılmış bir hesabın daha az işlemciyle ne kadar sürede yapılabileceğini sınırladı. İş–derinlik diliyle sonuç Tₚ ≤ W/p + D biçimindedir: W toplam iş, D derinlik, p işlemci sayısıdır. Tₚ ≥ W/p ve Tₚ ≥ D alt sınırlarıyla birlikte okunduğunda, p işlemcili süre en iyinin iki katını geçmez. Brent sayısal kök bulmadaki Brent yöntemiyle (1973) de tanınır.

Brent teoremiişderinlik

Alfred V. Aho ve Margaret J. Corasick

Aho: d. 1941 · Bell Labs

Aho–Corasick algoritması · 1975

1975'te Communications of the ACM'de yayımladıkları “Efficient String Matching: An Aid to Bibliographic Search” makalesinde birçok örüntüyü metinde tek geçişte arayan algoritmayı verdiler. Örüntüler bir trie'ye yerleştirilir; her düğüme, eşleşme bozulduğunda geçilecek en uzun uygun soneki gösteren hata bağlantısı (failure link) eklenir. Arama süresi metin uzunluğu, örüntülerin toplam uzunluğu ve bulunan eşleşme sayısıyla doğrusaldır. Algoritma Unix'in fgrep komutunun temelidir. Aho, AWK dilinin ve “Dragon Book” diye anılan derleyici kitaplarının da yazarlarındandır; 2020 Turing Ödülü'nü Jeffrey Ullman ile paylaştı.

çoklu örüntü aramahata bağlantısıtrie

Nicos Christofides

1942–2019 · Kıbrıslı-İngiliz · Imperial College London

Christofides algoritması · 1976

1976'da üçgen eşitsizliğini sağlayan TSP (metrik TSP) için en iyi turun en çok 3/2 katı uzunlukta bir tur bulan algoritmayı verdi: bir MST kurulur, tek dereceli düğümler üzerine minimum mükemmel eşleştirme eklenir ve Euler turunda kısayollarla gezinilir. Bu oran 2020'ye kadar metrik TSP için bilinen en iyi garantiydi. Anatoliy Serdyukov aynı sonuca SSCB'de hemen hemen aynı zamanda ulaştı.

gezgin satıcı problemiyaklaşım oranı

Robert S. Boyer ve J Strother Moore

Boyer: d. 1946 · Amerikalı · University of Texas at Austin

Boyer-Moore · 1977

1977'de örüntüyü sağdan sola karşılaştıran ve kötü karakter (bad character) ile iyi sonek (good suffix) kurallarıyla metinde büyük sıçramalar yapan algoritmayı yayımladılar; uzun örüntülerde metin karakterlerinin çoğuna hiç bakılmaz. Horspool 1980'de yalnız kötü karakter kuralını kullanan daha basit bir sürüm verdi. İkili ayrıca Boyer–Moore teorem kanıtlayıcısını (ACL2'nin atası) ve çoğunluk oyu algoritmasını geliştirdi.

kötü karakter kuralıiyi sonek kuralı

Abraham Lempel ve Jacob Ziv

1936–2023 · 1931–2023 · İsrailli · Technion

LZ77 · LZ78

Technion'da 1977'de kayan bir pencere içindeki önceki tekrarlara geri başvuran LZ77'yi, 1978'de görülen öbekleri bir sözlükte toplayan LZ78'i yayımladılar. Terry Welch 1984'te LZ78'i sadeleştirerek LZW'yi elde etti; GIF biçimi LZW'yi kullanır, ZIP ve PNG'nin kullandığı DEFLATE ise LZ77'yi Huffman kodlamayla birleştirir. Bu yöntemler, önceden olasılık tablosu gerektirmeyen “evrensel” sıkıştırmanın temelidir.

sözlük tabanlı sıkıştırmaLZW

Joseph B. (Jay) Kadane

d. 1941 · Amerikalı · Carnegie Mellon

En büyük toplamlı alt dizi · 1977

Ulf Grenander'ın 1977'de görüntü analizi için ortaya koyduğu en büyük toplamlı alt dizi problemini Michael Shamos, Carnegie Mellon'daki bir seminerde anlattı. Seminerdeki istatistikçi Kadane, problemi tek taramada çözen O(n) süreli algoritmayı buldu: V(i) = max(a[i], V(i−1) + a[i]) değeri i'de biten en iyi alt dizinin toplamıdır, cevap bu değerlerin en büyüğüdür. Öykü ve algoritma Jon Bentley'in 1984'teki Programming Pearls yazısıyla yaygınlaştı. Kadane Bayesçi istatistik alanındaki çalışmalarıyla tanınır.

Kadane algoritmasıen büyük toplamlı alt diziO(n)

S. Rao Kosaraju

günümüz · Hint asıllı Amerikalı · Johns Hopkins

Kosaraju algoritması · 1978

1978'de yönlü bir çizgenin güçlü bağlantılı bileşenlerini iki DFS ile bulan yöntemi önerdi, ama yayımlamadı; Micha Sharir aynı algoritmayı bağımsız olarak bulup 1981'de yayımladı. Birinci DFS düğümlerin bitiş sırasını çıkarır. İkinci DFS kenarları ters çevrilmiş çizgede, düğümleri bitiş zamanı azalan sırayla başlatır; bu DFS'in her ağacı bir güçlü bağlantılı bileşendir. Komşuluk listesiyle süre O(V + E)'dir. Tarjan'ın tek DFS'li yönteminden daha kolay anlaşılır, ama çizgeyi iki kez gezer.

güçlü bağlantılı bileşenleriki DFSters çizge

Michael Garey ve David S. Johnson

d. 1945 · 1945–2016 · Amerikalı · Bell Labs

Computers and Intractability · 1979

Bell Labs'ta yazdıkları Computers and Intractability: A Guide to the Theory of NP-Completeness (1979), yüzlerce NP-tam problemi listeleyen ve indirgeme tekniklerini öğreten temel başvuru kitabı oldu. Johnson 1974'te kutulama ve küme örtüsü gibi problemler için yaklaşım algoritmalarının ilk sistemli analizlerinden birini yaptı. Bir problemin NP-tam olduğunu kanıtlamanın yaklaşım algoritmalarına (approximation algorithm) ya da sezgisel aramaya yönelmeyi haklı çıkardığı görüşü bu çalışmalarla yerleşti.

NP-tamlıkyaklaşım algoritması

Leslie Valiant

d. 1949 · Macaristan doğumlu · Birleşik Krallık; ABD, Harvard

#P · PAC · BSP · 2010 Turing Ödülü

1979'da sayma problemleri için #P sınıfını tanımladı ve permanent hesabının #P-tam olduğunu gösterdi. Makine öğrenmesinin kuramsal temellerinden PAC öğrenme modelini 1984'te, paralel hesaplama için toplu eşzamanlı paralel (bulk synchronous parallel, BSP) köprü modelini 1990'da önerdi. Vazirani ile rastgele indirgemeler üzerinde çalıştı ve 2010'da Turing Ödülü'nü aldı.

#Pparalel modelrastgele indirgeme

Jon Bentley

d. 1953 · Amerikalı · Carnegie Mellon, Bell Labs

Böl ve fethet bağıntıları · 1980

Haken ve Saxe ile 1980'de T(n) = aT(n/b) + f(n) biçimindeki böl ve fethet bağıntılarını çözmek için genel bir yöntem yayımladı; ana teorem (master theorem) bu çalışmayla yaygınlaştı. Yao ile 1976'da sınırsız arama için neredeyse optimal bir yöntem verdi; bu yöntem üstel aramanın (exponential search) temelidir. 1975'te k-d ağacını tanıttı, Programming Pearls yazılarıyla verimli programlamayı geniş bir kitleye ulaştırdı.

ana teoremüstel arama

Daniel Sleator

d. 1953 · Amerikalı · Carnegie Mellon

Rekabetçi analiz · 1985

Tarjan ile yazdığı 1985 tarihli “Amortized Efficiency of List Update and Paging Rules” makalesinde bir çevrim içi algoritmayı (online algorithm) geleceği bilen en iyi çevrim dışı algoritmayla karşılaştırmayı önerdi; öne taşı (move-to-front, MTF) kuralının 2-rekabetçi, LRU'nun k-rekabetçi olduğunu gösterdiler. “Rekabetçi analiz” (competitive analysis) adı Karlin, Manasse, Rudolph ve Sleator'ın 1988 tarihli makalesinde kondu. Tarjan ile splay ağaçlarını ve link-cut ağaçlarını da geliştirdi.

rekabetçi analizöne taşısayfalama

Jeffrey S. Vitter

d. 1955 · Amerikalı · Brown University

Rezervuar örnekleme · 1985

1985 tarihli “Random Sampling with a Reservoir” makalesinde, uzunluğu bilinmeyen bir veri akışından (data stream) tek geçişte k öğelik düzgün rastgele örnek tutan yöntemleri analiz etti; temel yönteme Algorithm R adını verdi ve daha hızlı Algorithm Z'yi geliştirdi. Doktorasını Knuth'un yanında yaptı; dış bellek algoritmalarının ve veri sıkıştırmanın da öncülerindendir.

rezervuar örnekleme (reservoir sampling)veri akışı

W. Daniel Hillis ve Guy L. Steele Jr.

d. 1956 · d. 1954 · Amerikalı · Thinking Machines

Paralel önek toplamı · 1986

1986'da Communications of the ACM'de yayımladıkları “Data Parallel Algorithms” makalesinde, binlerce işlemcili Connection Machine için veri paralel algoritmalar anlattılar. Önek toplamında d = 1, 2, 4, … için her i ≥ d konumu aynı anda x[i] ← x[i − d] + x[i] işlemini yapar ve hesap ⌈log n⌉ turda biter. Toplam iş O(n log n) olduğu için yöntem iş-verimli değildir; Blelloch'un yöntemi O(log n) derinlikte O(n) iş yapar. Hillis Connection Machine'i tasarladı; Steele, Scheme dilinin tasarımcılarından ve Java dil belirtiminin yazarlarındandır.

önek toplamıveri paralelliğiiş-verimlilik

John L. Gustafson

d. 1955 · Amerikalı · Communications of the ACM 31(5), 1988

Gustafson yasası · 1988

1988'de Edwin Barsis ile yazdığı “Reevaluating Amdahl's Law” yazısında Amdahl yasasının varsayımını sorguladı. Amdahl problem boyutunu sabit tutar, bu yüzden sıralı kısım hızlanmayı 1/(1 − f) ile sınırlar. Gerçekte işlemci sayısı arttıkça çoğu zaman daha büyük problemler çözülür; problem p ile büyürse ölçeklenmiş hızlanma S = (1 − f) + f · p olur ve işlemci sayısıyla neredeyse doğrusal artar. Aynı yıl ilk Gordon Bell Ödülü'nü aldı.

Gustafson yasasıölçeklenmiş hızlanmaAmdahl yasası

Udi Manber ve Gene Myers

günümüz · d. 1953 · Amerikalı · University of Arizona

Sonek dizisi · 1990

1990'da (dergi sürümü 1993) sonek ağacından çok daha az bellek kullanan sonek dizisini (suffix array) tanıttılar ve önek uzunluğunu her turda ikiye katlayarak sonekleri O(n log n) sürede sıralayan yöntemi verdiler. Myers daha sonra BLAST'ın geliştirilmesine ve insan genomunun dizilenmesine katkıda bulundu; Manber Yahoo!, Amazon ve Google'da arama teknolojileri üzerinde çalıştı.

sonek dizisiönek ikiye katlama

Charles E. Leiserson

d. 1953 · Amerikalı · MIT

Cilk · iş çalma · CLRS

Cormen, Rivest ve Stein ile yazdığı Introduction to Algorithms (ilk baskı 1990), dünyada en çok kullanılan algoritma ders kitaplarından biri ve bu dersin ana kaynaklarındandır. MIT'de geliştirdiği Cilk dili, boşta kalan işlemcinin başka bir işlemcinin kuyruğundan iş aldığı, verimliliği kanıtlanmış bir iş çalma (work stealing) zamanlayıcısı kullanır; Java'nın fork/join çatısı da aynı fikre dayanır. İş/derinlik (work/span) analizinin yaygınlaşmasında da büyük payı vardır.

iş çalmaiş / derinlik

Guy Blelloch

günümüz · Amerikalı · Carnegie Mellon

Önek toplamı (scan) · NESL

1990 tarihli “Prefix Sums and Their Applications” çalışmasında önek toplamını (prefix sum, scan) paralel algoritmaların temel yapı taşı olarak ele aldı; O(n) iş ve O(log n) derinlikle çalışan yukarı tarama/aşağı tarama yöntemi onun adıyla anılır. İş–derinlik maliyet modeline dayanan paralel programlama dili NESL'i geliştirdi. Carnegie Mellon'da paralel çizge işleme kütüphaneleri üzerinde çalışıyor.

önek toplamıiş / derinlik

David Karger

d. 1967 · Amerikalı · Stanford, MIT

Rastgele minimum kesim · 1993

Stanford'da doktora öğrencisiyken, rastgele seçilen kenarları iki düğüm kalana kadar büzen minimum kesim algoritmasını 1993'te yayımladı. Tek bir çalıştırma minimum kesimi en az 2/(n(n − 1)) olasılıkla bulur; yeterince tekrarla hata olasılığı istenildiği kadar küçülür. Stein ile geliştirdiği Karger–Stein sürümü yöntemi çok daha hızlı hâle getirdi.

minimum kesimMonte Carlo algoritması

Michael Burrows ve David Wheeler

d. 1963 · 1927–2004 · İngiliz · Cambridge; DEC SRC, ABD

Burrows–Wheeler dönüşümü · 1994

Wheeler'ın 1983'te bulduğu dönüşümü Burrows ve Wheeler 1994'te DEC Systems Research Center'ın 124 numaralı araştırma raporu olarak yayımladı. Bir dizginin sıralanmış dönüşümlerinin son sütunu benzer karakterleri bir araya toplar ve geri çevrilebilir; bzip2 sıkıştırıcısı ve FM-index tabanlı DNA hizalama araçları bu dönüşüme dayanır. Wheeler daha önce Cambridge'de EDSAC için alt program çağrısının ilk biçimlerinden birini geliştirmişti.

BWTsıkıştırma

Vijay V. Vazirani

günümüz · Hindistan doğumlu · ABD, Georgia Tech, UC Irvine

Approximation Algorithms · 2001

Approximation Algorithms (2001) kitabı, yaklaşım algoritmalarını LP gevşetmesi ve primal–dual şeması gibi ortak tekniklerle anlatan temel ders kitabıdır. Micali ile genel çizgelerde maksimum eşleştirme için bilinen en hızlı algoritmalardan birini verdi (1980). Valiant ile 1986'da tek çözümlü SAT'ın da rastgele indirgemeler altında zor olduğunu gösterdi (Valiant–Vazirani teoremi).

yaklaşım algoritmasıLP gevşetmesi

Yıllar ve katkılar özgün yayınlara ve ansiklopedik kaynaklara dayanır. “Günümüz” ibaresi, doğum yılı yayımlanmış kaynaklarda verilmeyen yaşayan kişileri gösterir. Fermat'nın doğum yılı kaynaklarda tartışmalı olduğu için yalnız ölüm yılı verilmiştir; yaşam yılları güvenilir kaynaklarda bulunamayan kişilerde ise yalnız katkının yılı ve yayımlandığı dergi verilmiştir.