Tüm hikâyeler

Herkes İçin Yazılım

Konu 3

Algoritma nedir? Kışlık tarhana tarifinde saklı.

7’den 70’e herkes için. Önceden hiçbir şey bilmen gerekmiyor.

Merhaba, ben Oğuz. Bu sefer mutfaktayım. Hiç tarhana yapmadım. Sen de yapmadıysan birlikte öğrenelim.

Kaydır, sayfa çevrilsin

Arkadaşlarımın leğeni

Geçen ay arkadaşlarım tarhana yaptı. Ben de kamerayı alıp yanlarına gittim.

Mutfakta kocaman bir leğen duruyordu, içinde turuncu bir hamur. “Bu daha başı,” dediler. “Bitmesi günler sürer.”

Günler mi? Ben tarhanayı hep çorbasından bilirdim. Tozunu suya katarsın, olur. O tozun bir leğenden çıktığını hiç düşünmemiştim.

Bugün hâlâ evinde tarhana yapan insanlar var. Bu sayfaları onların leğeni sayesinde yazıyorum.

Tarif mi, algoritma mı?

Tarifi bilen biri şöyle anlatır: “Sebzeyi pişirirsin, yoğurdu katarsın, unu alabildiği kadar. Sonra bırakırsın, ekşisin.”

Sen anlarsın. Bilgisayar anlamaz.

Ona her adımı tek tek, sırasıyla, hiçbirini atlamadan yazman gerekir. Elinde ne olduğunu ve sonunda ne çıkacağını da söylersin. Böyle bir adım listesine algoritma diyoruz.

Algoritma bilgisayardan çok daha eski. Tarhana tarifi de bir algoritma. Yalnızca çoğu evde kâğıda yazılmamış, elden ele öğrenilmiş.

Bilgisayar mutfağı görmüyor, duvardaki listeyi görüyor.
Girdi 1, girdi 2, girdi 3… Bir kase eksik.

Önce girdiler

Bir işe başlamadan önce ilk soru şu: Elimde ne var?

Tezgâha bak. Un, yoğurt, domates, kırmızı biber, soğan, nane ve tuz. Bazı evler sarımsak katar, bazıları bir tutam maya.

Algoritmanın başında elinde duran her şeye girdi diyoruz. Girdi eksikse iş ya durur ya da başka bir şeye dönüşür.

Mesela yoğurdu unut. Çıkan şey tarhana olmaz.

Sıra değişirse yemek değişir

İlk gün sırası şöyle.

  1. Sebzeleri doğrarsın.
  2. Su eklemeden, kendi suyunda yumuşayana kadar pişirirsin.
  3. Ezip pürüzsüz yaparsın.
  4. Bazı evler burada soğumasını bekler.
  5. Yoğurdu ve tuzu katarsın.
  6. Unu azar azar ekleyip yoğurursun.

Peki aynı malzemeleri başka sırayla kullansan?

Mutfağı bilenler uyarıyor: unu sıcak sebzenin üstüne dökersen topak olurmuş. Yoğurdu kaynayan tencereye katarsan kesilirmiş.

Malzemeler aynı, adımlar aynı. Sıra farklı, yemek farklı.

Tamam, ekşimiş.

Ekşiyene kadar, her gün yoğur

Hamurun üstünü bir bezle örtüyoruz. Leğeni serin, güneş görmeyen bir köşeye koyuyoruz. Sonra bekliyoruz.

Ama yalnızca beklemiyoruz.

Her gün hamurun başına gidip onu yoğuruyoruz. Bazı evlerde günde iki üç kez. Ne zamana kadar? Hamur yeterince ekşiyene kadar.

Bilgisayarcılar bu kalıba döngü der. Bir işi tekrar edersin ve her seferinde “durayım mı?” diye sorarsın. O sorunun adı durma koşulu.

Durma koşulunu unutursan döngü hiç bitmez. Leğenin başında sonsuza kadar yoğurursun.

Hamurun içinde kim çalışıyor?

Bu günler boyunca hamuru asıl değiştiren sen değilsin.

Hamurun içinde gözle göremediğin canlılar çoğalıyor: bakteriler ve mayalar. Bir kısmı yoğurttan geliyor. Hamuru ekşiten onlar. Kabaca söylersek, hamurdaki şekeri ekşi bir tada çeviriyorlar.

Araştırmacılar bir hamuru 7 gün boyunca ölçmüş. Ekşiliği gösteren pH sayısı ilk gün 5,2 çıkmış, yedinci gün 4,1. Bu sayı küçüldükçe hamur ekşir. Hamurdaki su da aynı sürede yüzde 70’ten yüzde 26’ya inmiş.

Sen durma koşulunu burnunla ölçüyorsun. Laboratuvar aynı şeyi bir sayıyla ölçüyor.

1. günpH 5,2su %70

7. günpH 4,1su %26

Temsili çizim, sayılar bir araştırmadan.
3 gün 10 gün trahanas
Temsili harita. Gün sayıları örnek, bir yöreye ait değil.

Aynı adımlar, farklı sayılar

Arkadaşıma kaç gün beklediğini sordum. “Hava sıcaksa az, soğuksa çok,” dedi.

Bilim insanları bir ile yedi gün arası yazıyor. Ev tariflerinde bir haftadan iki haftaya kadar çıkıyor. Anlatılanlara göre bazı yörelerde sebzeyi pişirmeden rendeliyorlar, bazı yerlerde de unun bir kısmının yerine yarma ya da bulgur giriyor.

Bunlar farklı tarifler mi? Değil.

İskelet aynı. Değişen ayarlar: kaç gün, ne kadar un, hangi sebze, güneş mi gölge mi. Kimi evler mayalanmayı bir avuç ezilmiş nohutla başlatır, kimi kavanoza defne yaprağı atar. Algoritmanın bu ayarlanabilir yerlerine parametre diyoruz.

Tarhananın denizin öbür yakasında da yakın bir akrabası var. Yunanistan’da ve Kıbrıs’ta adı trahanas.

Sermek: her parça için aynı hareket

Hamur ekşidi. Temiz bir sofra bezi seriyoruz. Kimi evde damın üstüne, güneşe. Kimi tarifte gölgeye, rüzgâr alan bir yere.

Hamurdan mandalina büyüklüğünde bir parça koparıyoruz. Beze koyuyoruz. Sonraki parçaya geçiyoruz. Yüzlerce kez. Ertesi gün dışları kuruyunca her birini daha küçük parçalara bölüyoruz.

Bu da bir döngü. Ama bu sefer günleri değil, parçaları sayıyor: “Hamurdaki her parça için kopar, koy.” Ertesi gün aynı döngü bir kez daha dönüyor: “Her parça için böl.”

Bilgisayar bir fotoğraftaki pikselleri de böyle gezer. Hepsini birer birer, hiçbirini atlamadan.

parça 1… 2… 3… 412…
Temsili sayı. Çizimdeki ev güneşte kurutuyor; gölgede kurutan da çok.
Elekte iri parça kaldı mı? Her avuç için: ovala.

Ovala, ele, iriyi geri gönder

Yarı kuruyan parçaları avucumuzda ovalayıp ufalıyoruz. Sonra elekten geçiriyoruz.

Elekten geçen ince toz bir kenara. Ya elekte kalanlar?

Bazı evlerde onlar yeniden kurumaya gidiyor. Biraz daha kuruyor, yeniden ovalanıyor, yeniden eleniyor. İri parça kalmayınca iş bitiyor.

Burada iki döngü iç içe. Dıştaki soruyor: “Elekte iri parça kaldı mı?” İçteki her avuç için aynı hareketi yapıyor: ovala.

Çıktı: kavanozdaki kış

Algoritmanın sonunda elinde kuru, ekşi, turuncu bir toz var. Bu, işin çıktısı.

Bitmiş tarhananın içinde suyun payı yüzde 3 ile 9 arası. Bu kadar kuru ve ekşi bir tozda bozan mikroplar çoğalamıyor. Toz bu yüzden aylarca dayanıyor.

Anlatılanlara göre en iyi yeri bez torba ya da kavanoz, serin ve kuru bir köşe. Kışın bir kaşığını sıcak suya karıştırıyoruz.

Haftaların emeği. Bir kaşık çorba.

Algoritma nerede yanılıyor?

Bilgisayar ona söyleneni yapar. Tam da söyleneni. Fazlasını değil.

Hatalar da buradan çıkıyor. Bilgisayarcılar bu hatalara “bug”, yani böcek diyor.

Burada tarhana ile bilgisayar ayrılıyor. Arkadaşlarım her yıl tarifi biraz değiştiriyor, havaya ve hamurun kokusuna bakıyor. Bilgisayar bakmaz. Ona bakmasını sen söylemedikçe.

Sıra sende

Evinde hiç kâğıda yazılmamış bir tarif var mı?

Annenin, babaannenin ya da senin kafandaki bir tarif. Onu bilgisayarın anlayacağı kadar açık, numaralı adımlarla yazmayı dene.

“Biraz”, “göz kararı”, “kıvamında” gibi bir kelimeye geldin mi? Bir algoritmanın en zor yerini buldun.

Mutfak sahneleri Oğuz’un arkadaşlarının tarhana gününden, onların izniyle. Hamurdaki pH ve su sayıları, tarhana mayalanmasını ölçen bilimsel bir çalışmadan. Tarifin adımları bölgeden bölgeye değişir. Burada anlattığımız, birçok evde ortak olan iskelet.

Başa dön