Etiket arşivi: hesaplanabilirlik

Turing Bütünlüğü(Turing Completeness)

Turing Bütünlüğü(Tamlığı) bilgisayar bilimlerinde çok önemli bir notasyondur. Bir programlama dili Turing Bütünlüğünü sağladığını söylüyorsa Turing Makinası ile tasarlanabilen tüm hesaplama işlemlerini yapabilir demektir.  Zaten Turing Makinasının kendisi herhangi bir şeyin “hesaplanabilir” olup olmadığı gösterebilmek için icat edildi. Makina, çeşitli emirleri okuma, yazma,  bellekte saklama gibi ilkel işleri yapar.  Zaman içinde bir çok çalışma Turing makinasının gerçek dünya hesaplamaları için hemen hemen aynı modeller ortaya koydu. İlk yaklaşıma göre, eğer hesaplamanın Turing makinası ile yapılamayacağı kanıtlanırsa hiçbir hesaplama cihazının bu işlemi yapamayacağını varsayabiliriz. Diğer taraftan sistem basit Turing makinası emirleri ile tanımlanabiliyorsa bu işlem “Turing Bütünlüğü” içeriyor deriz ve bilgisayarlar ile bu hesaplamayı yapabiliriz.

Turing Tamlığına sahip diller:

Genel olarak tüm programlama dilleri:

Prosedürel programlama dilleri; CPascal.
Object-oriented diller; JavaSmalltalk veya C#.
Çok Paradigmalı diller; AdaC++Common LispObject PascalPythonR.
Fonksiyonel diller; Lisp ve Haskell.
Deklaratif diller;  XSLT
Mantıksal programlama dilleri;Prolog.

Turing Tamlığına sahip oyunlar:

Bonus:

Turing Tamlığına sahip kripto parabirimi:

Kaynak: wikipedia,  stackoverflow

Loading

Facebooktwitterredditpinterestlinkedinmail

ENIAC ve Bilgisayarların Doğuşu

ENIAC 1946 yılında tamamlandı. İçinde 18000 vakum tüpü bulunduran bu devasa makine geniş bir odayı tamamen kaplıyordu.

ENIAC( Electronic Numerical Integrator and Computer) J.Presper Eckert ve John Mauchly tarafından Penisilvanya Üniversitesi’nde tasarlandı. Transistörler henüz icat edilmediğinden aynı görevi gören ancak büyük yer kaplayan 18000 vakum tüpünden dolayı ENIAC devasa yer kaplıyordu. Tüpler çok çabuk ısınıyor ve yanıyordu. Gönüllü birisi elinde alışveriş sepetiyle bu tüpleri geziyor ve elverişsiz olanları yenisiyle değiştiriyordu. Bilgisayar kabloların panellere takılmasıyla programlanıyordu. Her kablolama şekli bilgisayarın belli bir problemi çözmesi için gerekli altyapıyı oluşturuyordu. Eğer bilgisayara başka bi iş yaptırmak gerekirse kabloların sökülerek yeniden bağlanması gerekliydi.

eniac

ENIAC çalışması, merminin gidiş yolunun rüzgarın hızına, yönüne, atmosfere göre hesaplanabilir kılmasından dolayı Amerikan Donanması tarafından destekleniyordu. Merminin gidiş yolunu hesaplamak için diferansiyel
denklemlerin çözülmesi gerekiyordu ki bundan dolayı adı “Numerical Integrator”. ENIAC geliştirilmeden önce bu işi insanlar yapıyordu. ENIAC bunun dışında Amerikan nüfus sayımı gibi daha barışçıl amaçlar için de kullanıldı.

Loading

Facebooktwitterredditpinterestlinkedinmail