Ana içeriğe atla

Modern Matematik · 19. yüzyıl

Ada Lovelace, Analitik Makine ve Bernoulli sayıları için yazılan algoritma

1843'te Ada Lovelace, Charles Babbage'ın hiç inşa edilmemiş Analitik Makinesi için Bernoulli sayılarını hesaplayan adım adım bir yöntem yayımladı. Makinenin yapısı, algoritmanın matematiği ve 'ilk programcı' tartışması.

Yazan: matematikce editörlüğü 5 dk okuma

Solda birbirine bağlı üç delikli kart, ortada dişli bir işlem çarkı, sağda sayı saklayan disklerden oluşan dört dikey sütun; kartlardaki komutların işlem birimi aracılığıyla hafızaya yazıldığı bir makine şeması.

Telefonunuzdaki bir uygulama, arka planda binlerce komutu sırayla yerine getirir. Bu komutların listesine algoritma, onları bir makinenin anlayacağı biçimde yazmaya programlama diyoruz. Peki bir makine için yazılmış ilk ayrıntılı algoritmalardan biri, elektrik bile kullanmayan, üstelik hiç inşa edilmemiş bir makine için yazılmış olabilir mi?

1843’te Ada Lovelace, İngiliz matematikçi Charles Babbage’ın tasarladığı Analitik Makine için, Bernoulli sayıları adı verilen bir sayı dizisini hesaplamanın adım adım yöntemini yayımladı. Bu çalışma bugün sıkça “ilk bilgisayar programı” diye anılır. Bu yazıda makinenin nasıl çalışacağını, Bernoulli sayılarının ne olduğunu kendi hesaplarımızla görecek ve “ilk programcı” nitelemesinin neden tartışmalı olduğunu dürüstçe konuşacağız.

Bir şairin kızı, bir matematik tutkusu

Augusta Ada Byron 1815’te Londra’da doğdu. Babası ünlü şair Lord Byron, annesi Annabella Milbanke’ydi. Annesi, Ada’nın küçük yaşta matematik ve bilim eğitimi almasını özellikle destekledi. Ada daha sonra evlilik yoluyla Lovelace Kontesi unvanını aldı ve bugün bu adla tanınıyor.

1833’te, 17 yaşındayken Charles Babbage ile bir davette tanıştı. Babbage ona, tasarladığı hesap makinesinin çalışan küçük bir parçasını gösterdi. Bu karşılaşma, uzun süren bir dostluk ve yazışmanın başlangıcı oldu.

Analitik Makine: Buharla çalışacak bir bilgisayar

Babbage önce Fark Makinesi adını verdiği, belirli türde tabloları otomatik hesaplayacak bir makine üzerinde çalıştı. 1830’ların ortasında ise çok daha iddialı bir fikre yöneldi: Analitik Makine.

Bu makine, yalnızca tek bir işlem türüne değil, verilen komutlara göre farklı hesaplara yönlendirilebilecekti. Tasarımın ana parçaları bugünkü bilgisayarlara şaşırtıcı biçimde benziyordu:

  • Hafıza (Babbage’ın deyişiyle “depo”): Sayılar, üst üste dizilmiş dişli disklerden oluşan sütunlarda saklanacaktı.
  • İşlem birimi (“değirmen”): Dört işlem burada yapılacaktı.
  • Delikli kartlar: Komutlar ve veriler, dokuma tezgâhlarında desen belirlemek için kullanılan Jacquard kartlarına benzer delikli kartlarla verilecekti.

Makine buhar gücüyle çalışacak ve çok büyük olacaktı. Ancak hiçbir zaman tamamlanmadı; bugün yalnızca çizimleri, notları ve bazı parçaları biliniyor.

Bir çeviri ve çeviriden uzun notlar

1840’ta Babbage, makinesini İtalya’nın Torino kentinde tanıttı. Orada bulunan genç mühendis Luigi Menabrea bu anlatımları temel alan bir makaleyi 1842’de Fransızca yayımladı.

Lovelace bu makaleyi İngilizceye çevirdi ve Babbage’ın önerisiyle çeviriye kendi açıklamalarını ekledi. A’dan G’ye harflendirilmiş bu notlar, çevrilen makalenin kendisinden daha uzun oldu. Çalışma 1843’te yayımlandı. En ünlü bölüm, son not olan Not G’dir. Burada Lovelace, makinenin Bernoulli sayılarını nasıl hesaplayacağını, hangi değişkenin hangi adımda nasıl değişeceğini gösteren ayrıntılı bir işlem tablosuyla anlattı.

Bernoulli sayıları nedir?

Bernoulli sayıları, adını 17. yüzyıl matematikçisi Jakob Bernoulli’den alan bir sayı dizisidir. Kuvvet toplamlarını hesaplarken ortaya çıkarlar. Kendi örneklerimizle bakalım:

  • 1 + 2 + 3 + … + n = n²/2 + n/2
  • 1² + 2² + … + n² = n³/3 + n²/2 + n/6
  • 1³ + 2³ + … + n³ = n⁴/4 + n³/2 + n²/4

İkinci formülü n = 4 için sınayalım: 1 + 4 + 9 + 16 = 30. Formülden: 64/3 + 16/2 + 4/6 = 21,33… + 8 + 0,66… = 30. Doğru.

Bu formüllerdeki katsayıların ardında bir düzen vardır ve bu düzen Bernoulli sayılarıyla yazılır. İlk birkaçı şöyledir (yaygın bir gösterimle):

B₀ = 1, B₁ = −1/2, B₂ = 1/6, B₃ = 0, B₄ = −1/30, B₅ = 0, B₆ = 1/42, B₇ = 0, B₈ = −1/30

İkinci formüldeki 1/6 katsayısı, B₂’nin kendisidir.

Her sayı öncekilerden

Bernoulli sayılarının güzel bir özelliği, her birinin kendisinden öncekilerden hesaplanabilmesidir. Kullanılan bağıntılardan biri, m ≥ 1 için şöyledir: Pascal üçgeninin m + 1. satırındaki katsayılarla B₀’dan Bₘ’ye kadar sayıları çarpıp toplarsak sonuç 0 olur.

  1. m = 1: 1 × B₀ + 2 × B₁ = 0 → 1 + 2B₁ = 0 → B₁ = −1/2
  2. m = 2: 1 × B₀ + 3 × B₁ + 3 × B₂ = 0 → 1 − 3/2 + 3B₂ = 0 → B₂ = 1/6
  3. m = 3: 1 + 4 × (−1/2) + 6 × (1/6) + 4B₃ = 0 → 1 − 2 + 1 + 4B₃ = 0 → B₃ = 0
  4. m = 4: 1 + 5 × (−1/2) + 10 × (1/6) + 10 × 0 + 5B₄ = 0 → 1/6 + 5B₄ = 0 → B₄ = −1/30

Bu hesaplar bir makine için idealdir: Aynı işlem kalıbı her adımda tekrarlanır, yalnızca katsayılar ve önceki sonuçlar değişir. Önceki sonuçları hafızada saklamak, sırayla çarpıp toplamak ve yeni sonucu yine hafızaya yazmak gerekir. Not G’deki yöntem farklı bir bağıntı kullanır, ama temel fikir aynıdır: Önceki Bernoulli sayılarını kullanarak bir sonrakini bulmak. Lovelace’ın tablosu, kendi numaralandırmasıyla “B₇” dediği ve bugünkü yaygın gösterimde B₈ = −1/30’a karşılık gelen sayının hesabını adım adım gösterir.

“İlk programcı” mı?

Lovelace’ı “dünyanın ilk bilgisayar programcısı” olarak tanıtan cümlelerle sık karşılaşırız. Bu niteleme tarihçiler arasında tartışmalıdır ve tartışmanın birkaç tarafı vardır.

Nitelemeyi zorlaştıran noktalar:

  • Babbage, 1837-1840 yılları arasında Analitik Makine için kendi notlarında çok sayıda hesap planı hazırlamıştı. Bunlar yayımlanmadı, ama Lovelace’ın notlarından öncedir.
  • Notlar, Babbage ile Lovelace’ın yoğun yazışmasıyla hazırlandı. Bernoulli hesabının hangi kısmına kimin ne kadar katkı verdiği konusunda tarihçiler farklı yorumlar yapar.
  • Makine hiç inşa edilmediği için bu yöntem bir makinede çalıştırılmadı. “Program” sözcüğünü bugünkü anlamıyla kullanmak da geriye dönük bir yorumdur.

Lovelace’ın katkısını öne çıkaran noktalar:

  • Not G, bir makine için ayrıntılı bir algoritmanın yayımlanmış ilk örnekleri arasında sayılır.
  • Notlar, makinenin işleyişini soyut düzeyde açık ve sistemli biçimde anlatır. Lovelace’ın yazışmaları, konuya derin bir matematik ilgisiyle yaklaştığını gösterir.
  • Belki de en özgün katkısı bir fikirdir: Lovelace, böyle bir makinenin yalnızca sayılarla değil, kurallarla ifade edilebilen başka şeylerle de, örneğin müzikteki ses ilişkileriyle, işlem yapabileceğini öne sürdü. Bu, makineyi bir hesap aracından sembolleri işleyen genel bir araca dönüştüren bir bakıştı.

Dengeli bir özet şöyle olabilir: Babbage ile Lovelace’ın katkıları birbirini dışlamaz. Makineyi ve ilk hesap planlarını Babbage tasarladı. Lovelace ise bu tasarımın ne anlama geldiğini açıkça anlatan, ayrıntılı bir algoritma içeren ve makinenin gelecekteki olanaklarını hayal eden metni yazdı. “İlk programcı” etiketi bu zengin hikâyeyi fazla sadeleştirir.

Lovelace 1852’de, 36 yaşında hastalık nedeniyle öldü.

Bugün nerede karşımıza çıkar?

  • Bilgisayarların yapısı: Hafıza, işlem birimi ve dışarıdan verilen komutlar ayrımı, bugünkü bilgisayar mimarisinin temel fikirleri arasındadır. Hesaplamanın matematiksel sınırlarının sonradan nasıl tanımlandığını Turing makinesi yazımızda okuyabilirsiniz.
  • Semboller ve mantık: Makinelerin sayılar dışında sembollerle çalışabileceği fikri, 19. yüzyılda mantığın cebirleştirilmesiyle güçlendi. Bu hikâyenin devamı George Boole ve mantığın cebiri yazımızda.
  • Algoritmik düşünme: Bir problemi tekrarlanan küçük adımlara ayırmak, bugün programlamadan yapay zekânın matematiğine kadar her yerde kullanılır.
  • Lise matematiği: Diziler, özyinelemeli tanımlar, toplam sembolü Σ ve Pascal üçgeni, bu yazıdaki hesapların doğrudan araçlarıdır.

Kapanış

Ada Lovelace’ın hikâyesi, bir makinenin daha inşa edilmeden ne yapabileceğini hayal etmenin ve bunu matematiksel kesinlikle yazmanın hikâyesidir. Bir sayı dizisini hesaplamak için hazırlanan bir işlem tablosu, makinelerin sembollerle düşünebileceği fikrinin erken bir izine dönüştü. Tartışmalı bir unvandan çok, bu fikrin kendisi hatırlanmaya değer.

Kaynak: Anonim

  • Ada Lovelace
  • Bilgisayar bilimi
  • Diziler
  • Sayılar
  • Teknoloji

Bu yazıda bir hata mı gördün? Düzeltme bildir; inceleyip düzeltelim.