# Hesaplama
Hesaplama, iyi tanımlanmış herhangi bir aritmetik veya aritmetik olmayan işlemi ifade eder. Yaygın hesaplama örnekleri arasında matematiksel denklemleri çözme ve bilgisayar algoritmalarının yürütülmesi yer alır. Mekanik veya elektronik cihazlar tarafından gerçekleştirilen hesaplamalar, bu işlemleri yapan sistemlere "bilgisayar" denilmesine yol açmıştır.
Bilgisayar bilimi, hesaplama kavramını inceleyen akademik bir disiplindir.


## Giriş.
Matematiksel ifadelerin "iyi tanımlanmış" olması gerektiği fikri, en az 1600'lerden beri matematikçiler arasında tartışılan bir konuydu. Ancak, bu kavramın uygun bir tanımında uzlaşmak uzun süre mümkün olmadı. 1930’larda, birkaç matematikçi bağımsız olarak bir aday tanım önerdi.
Bu tanımlardan en bilineni, matematikçi Alan Turing tarafından geliştirilmiştir. Turing, iyi tanımlanmış bir ifadeyi veya hesaplamayı, bir "Turing makinesinin" başlangıç parametreleri cinsinden ifade edilebilen herhangi bir ifade olarak tanımlamıştır. Matematiksel olarak eşdeğer diğer tanımlar arasında Alonzo Church’ün "lambda tanımlanabilirliği", Herbrand-Gödel-Kleene’nin "genel öznitelik" ve Emil Post’un "tanımlanabilirliği" yer alır.
Günümüzde, bu özelliği taşıyan herhangi bir resmi ifade veya hesaplama "hesaplanabilir" olarak adlandırılır ve bu tür işlemler "hesaplama" terimiyle tanımlanır.
Turing’in tanımı, iyi tanımlanmış kavramını çok geniş bir matematiksel ifade sınıfına uygulamıştır. Bu tanım, tüm düzgün biçimlendirilmiş cebirsel ifadeleri ve modern programlama dillerinde yazılmış tüm ifadeleri kapsamaktadır.
Bu tanımın geniş kabul görmesine rağmen, bazı matematiksel kavramlar hala bu tanıma göre iyi tanımlanmış değildir. Örneğin, "durdurma problemi" gibi problemler bu kapsamın dışında kalmaktadır. Hem hesaplanabilir hem de "hesaplanamaz" ifadeleri kapsayan daha güçlü bir iyi tanımının olup olmadığı ise halen açık bir sorudur.


### Matematiksel İfadeler (Hesaplanabilir).
Aşağıdaki ifadeler hesaplanabilir:
  - C++, Python ve Java gibi modern programlama dillerinde tanımlanan tüm ifadeler.
  - Elektronik bilgisayarlar, hesap makineleri veya abaküsler tarafından yapılan tüm hesaplamalar.
  - "Analitik makine" üzerinde gerçekleştirilen tüm hesaplamalar.
  - Bir "Turing makinesi" üzerinde yürütülebilen tüm hesaplamalar.
  - Matematik ders kitaplarında verilen hesaplama ifadelerin büyük çoğunluğu.


### Matematiksel İfadeler (Hesaplanamayan).
Aşağıdaki ifadeler hesaplanamaz:
  - "İyi tanımlanmamış" ve bu nedenle bir Turing makinesine açık bir şekilde kodlanamayan ifadeler (""Eren beni Cihan'dan iki kat daha fazla seviyor" gibi").
  - "İyi tanımlanmış gibi görünen" ancak herhangi bir Turing makinesiyle çözülemeyeceği kanıtlanmış problemler ("durdurma problemi gibi").


### Hesaplamanın Fiziksel Süreci.
Hesaplama, "bilgisayar" adı verilen kapalı bir fiziksel sistem içinde gerçekleşen tamamen fiziksel bir süreç olarak görülebilir. Turing’in 1937 tarihli "On Computable Numbers, with an Application to the Entscheidungsproblem" adlı çalışması, hesaplanabilir ifadeler ile belirli fiziksel sistemler arasında resmi bir eşdeğerlik olduğunu göstermiştir.


## Alternatif Hesaplama Yaklaşımları.
### Haritalama Yaklaşımı.
Hilary Putnam ve diğer filozofların çalışmalarında yer alan alternatif bir hesaplama anlayışı, "haritalama yaklaşımı" olarak adlandırılır. Peter Godfrey-Smith tarafından "basit haritalama yaklaşımı" olarak adlandırılan bu model, Gualtiero Piccinini tarafından şöyle özetlenmiştir: Bir fiziksel sistemin belirli bir hesaplamayı gerçekleştirdiği söylenebilir, eğer bu sistemin durumu ile hesaplama arasında bir eşleme varsa. Bu eşleme, sistemin mikro-fiziksel durumlarının, hesaplama durumları arasındaki geçişleri yansıtacak şekilde olması gerektiğini belirtir.


### Anlamsal Yaklaşım.
Jerry Fodor gibi filozoflar, hesaplamanın ancak "anlamsal içerik" taşıması durumunda gerçekleşebileceğini öne süren farklı açıklamalar sunmuşlardır. Bu yaklaşıma göre, hesaplama yapan bir sistemi rastgele bir fiziksel sistemden ayıran temel özellik, hesaplama süreçlerinde kullanılan "işlenenlerin" belirli bir şeyi temsil etmesidir.
Bu anlayış, fiziksel sistemlerde hesaplama ("pancomputationalism") olarak bilinen ve her şeyin aslında her şeyi hesapladığı fikrini içeren aşırı soyutlamayı engellemeye çalışır.


### Mekanik Yaklaşım.
Gualtiero Piccinini, hesaplamayı "mekanik felsefe" temelinde açıklayan bir model önermektedir. Bu modele göre, fiziksel hesaplama sistemleri, belirli bir tasarıma sahip "mekanizmalar" olarak kabul edilir. Bu mekanizmalar, belirli kurallara göre "ortamdan bağımsız" bilgi taşıyıcılarını manipüle ederek fiziksel hesaplama gerçekleştirirler.
  - "Ortamdan bağımsızlık:" Bir hesaplama sisteminin fiziksel ortamdan bağımsız olarak farklı türde "gerçekleştiriciler" tarafından uygulanabilir olması anlamına gelir.
  - "Kural": Fiziksel hesaplama sisteminin girdileri, çıktıları ve iç durumları arasındaki eşlemeyi tanımlar.
Bu yaklaşım, geleneksel dijital bilgisayarlarda olduğu gibi yalnızca voltaj değişimlerine dayanan hesaplamaların ötesine geçerek, beyinin hesaplama süreçleri veya kuantum bilgisayarlar gibi farklı hesaplama biçimlerini de içerebilecek bir model sunar.


## Matematiksel Modeller.
Hesaplama teorisinde, bir dizi matematiksel hesaplama modeli geliştirilmiştir.
Tipik matematiksel bilgisayar modelleri şunlardır:
  - Durum modelleri, Turing makinesi, yığıt otomatonu, sonlu durumlu otomaton ve PRAM (Fonksiyonel modeller)
  - Lambda kalkülüsü (Mantıksal modeller)
  - Mantık programlama (Eşzamanlı modeller)
  - Aktör modeli ve süreç hesaplamaları
Giunti, hesaplama teorisinin incelediği modelleri hesaplama sistemleri olarak adlandırır ve bunların hepsinin ayrık zaman ve ayrık durum uzayına sahip matematiksel dinamik sistemler olduğunu savunur. Bir hesaplama sisteminin üç bölümden oluşan karmaşık bir nesne olduğunu iddia eder. Birincisi, ayrık zaman ve ayrık durum uzayına sahip bir matematiksel dinamik sistem DS ikincisi, bir teorik parça F ve bir gerçek parça B_F'den oluşan bir hesaplama düzeni I_DS,H üçüncüsü, dinamik sistemi DS ile düzeni H birbirine bağlayan bir yorum H=(F, B_F)'dır.