Yazılımbilim - 1. Bölüm

0
malkocoglu
Teorik yazılımbilim, günümüzdeki bilgisayarların soyut temelini oluştuyor. Bu alanda isimleri tanıdık gelen Turing, Church gibi kimseler olduğu gibi, diğer alanlardan bilim adamları mevcuttur, mesela Kurt Gödel. Tarihçesi belki de ünlü matematikçi Hilbert'in 1900 yılında bir beyan ettiği "açık problemler"'den 10'cusuna kadar giden yazılımbilim, bir problemin çözülebilirliğini ispat etmek için algoritmanın ne olduğundan başlayarak, bazı algoritmaların çözülemeyeceğini bulmak ile devam etti, ve nihai olarak günümuz donanımının altyapısını hazırlayarak önemli bir alan olarak kendini ispat etti.
Yazılımbilim'in alt bölümü olan hesapsal yük teorisi (computational complexity) altında algoritmaların üzerindeki yükü, ne kadar hızlı işleyeceklerini ölçmeye ve bu bağlamda onları kategorileştirmeye uğraşmaktadır.

Ekteki yazılar, hesapsal yük teorisine devam etmek üzere yapılan bir giriştir. İlk önce Turing makinalarını tanımla başlamıştık, fakat bunun sayılar kuramına girmeden yapılmayacağını farkettik, ve ekteki yazılar çıktı. NP-tam'lığa geleceğiz! Seyretmeye devam edin.

Hesapsal Yük Teorisi

Sonsuza Giden İkili Sayıların Kümesi

Sonsuzluklar Arasındaki Farklar

Durmayan Turing Makinalar? Var mıdır?

Görüşler

0
sametc
helal olsun super makaleler yazılmıs ve cevrilmiş:)
0
malkocoglu
tesekkurler!
0
FZ
Wilde mı yoksa Shaw mu demişti hatırlamıyorum, klasik eserler için şöyle bir laf vardı: Herkesin bildiği ama hiç kimsenin okumadığı kitaplar. :) Doğruluk payı yok değil ;-)

Bu güzel bilgisayar bilimleri ve matematik makaleleri için teşekkürler. Bazı kavramlar gerçekten zordur. Sonsuzluk türleri, yakınsaklık vs. gibi kavramlar başlangıçta basit gibi görünmekle birlikte insan beynini alışılmış kalıpların dışına çıkmaya zorladıkları için garip ruh hallerine yol açabilirler. Cantor ve Gödel gibi aşırı yoğun ve derinlemesine düşünüp, genç yaşta çok acayip eserler veren adamların hayatı incelendiğinde bu durum daha iyi anlaşılabilir.

Bu makaleler bana yazımın başındaki sözü hatırlattı. Yani matematik ve bilgisayar bölümü öğrencileri bunları öğrenirler sonra bunların %99´u gider (en azından Türkiye´deki durum böyle :) programcı olur, genellikle de web programcısı (ITU kitaplığında son birkaç yıl içinde gerçekleştirilen kütüphane kitap alım istatistiklerine göre, mühendislik öğrencileri kendi dersleri ile ilgili kitaplardan ziyade deliler gibi PHP, MySQL ve Apache kitabı almaktadırlar, insanların kafasında olan net düşünce görüldüğü gibi veritabanına bağlı, bir miktar kullanıcı güncelleme izni olan ve hemen hepsi öyle ya da böyle birbirine benzeyen binlerce web sitesi yapmaktır, evet insanlarımız gerçekten de yaratıcıdır :). Ve o beyinler acayip rutin olan kod yazma ve saç ağartan bir iş olan hata ayıklama sürecinde büyük bir değirmende öğütülen buğday taneleri gibi öğütülür. Binlerce sayfalık dokümantasyon sürekli okunur, parametreler ezberlenmeye, API çağrıları netleştirilmeye çalışılır. Artık kimsenin Turing´di, Gödel´di, Cantor´du, vs. düşünecek hali yoktur. Özellikle de banka ortamında yazılım geliştiriyorsanız sizden kafayı gömmenizi ve çek, senet, hesap, SQL, ORACLE, gene SQL, Java, sınıflar, binlerce sınıf, metod, özellik, gene SQL, hadi deadline geldi, aaa kodda hata çıkmış, bu nasıl programcı, evet daha çok çalışmalıyız, sistemler daha ucuza gelmeli, her zaman beklenenden daha çabuk bitirilmeli, evet yeni versiyon çıkmış yeni dokümantasyon beyne kazınmalı... Bu delirtici döngü böyle sürer gider.

Belki de Programlamanın Tao´sunda dendiği gibi ( http://www.fazlamesai.net/modules.php?name=News&file=article&sid=976 ) C ile çekirdek kodlayan programcıların işi bu bakımdan daha kolaydır :)

Neyse, ben susayım artık :)
0
malkocoglu
Vallahi bizim de doktora planlari olmasa herhalde bu konulara pek ilgimiz olmayacakti; uzun zamandir biz de bilgi islemde Java siniflari, SQL kodlari ile ugrasmaktayiz, herhalde bir sure de ugrasmaya devam edecegiz. Aslinda, bilgi islem sektorune sahsima ilk altin bilezigi sagladigi icin mutesekkirim. Proje idaresi, teknik liderlik, vs. konularinda cok sey ogrenmemize vesile oldu. Hatalar, dokumantasyon gibi cok hammaliyesi oldugu dogru ama! Aah su yazilim muhendisligi bir matematiksel tabana oturtulsa. Hangi tasarimin daha iyi olacagini karar vermek icin Mortal Kombat yapmaya gerek kalmamali. Sektor su anda agirlikli tecrube (heuristics) temelli gitmektedir. Bu yuzden tecubelerin paylasilmasi hayati onem tasiyor. Sizin de sitenizden, bizim de yapmaya calistigimiz bu zaten...


Görüş belirtmek için giriş yapın...

İlgili Yazılar

Kod Kitabı: Eski Mısır'dan Kuantum Kriptolojisine Gizlilik Bilimi

SHiBuMi

"The Code Book: The Secret History of Codes and Code-Breaking" ya da Türkçe bulabileceğiniz ismiyle "Kod Kitabı: Eski Mısır'dan Kuantum Kriptolojisine Gizlilik Bilimi", bir bulmaca ve zeka oyunları yaratıcısı / yayıncısı olan ablam tarafından yaklaşık bir ay önce masama bırakıldığında, okunmak için bende fazla bir istek uyandırmamıştı. Tümü şifreleme ile ilgili 400 küsür sayfalık bir kitabın sıkıcı olmadan sonuna kadar okunabilirliğinin çok düşük olacağını düşünüyordum ama yanılmışım.

Zemberek Nasıl Çalışır? 1. Bölüm: Sözlük ve Kök Ağacı

FZ

Zemberek bir kelimenin Türkçe olup olmadığına nasıl karar veriyor? Bu basit sorunun cevabı "verilen bir kelimeyi Türkçe kök ve eklerine ayırabilirseniz Türkçedir, ayıramıyorsanız değildir". Kısacası bir kelimenin Türkçe olup olmamasını anlamak için morfolojik analiz yapabilmelisiniz. Türkçe yazım denetimi yapabilmek için önceleri en sık kullanılan kelimelerin bir dosyaya konulup gelen kelimelerin o dosyadan kontrol edilmesi gibi ilk bakışta mantıklı görünen ama biraz inceleyince pratik olmadığı anlaşılan yöntemler de düşünülmüştü. Bu tür yöntemlerin yetersiz olan %98-99 doğrulukla çalışması için bile milyonlarca kelimeyi içermesi gerekir.

Makalenin devamı: http://zembereknlp.blogspot.com/2007/02/zemberek-nasl-alr-1szlk-ve-kk-aac.html

Emacs ile Oracle Sql*Plus ve sql-mode

zekzekus

İş yerinde yoğun olarak Oracle veritabanı ile çalışıyorum. Sorun tespit etmek için sorgular yazıyorum, PL/SQL ifadeleri çalıştırıyorum. Bu işlemleri en rahat yaptığım araç Oracle tarafından sağlanan Sql*Plus. Rahat dediğime bakmayın sade ve son derece hafif olan bu istemcinin insanı deli eden “özellikleri” var. En basitinden yazdığınız uzun bir SQL cümlesinin başında küçük bir hata yaptıysanız, imleci geri götüremiyorsunuz (henüz enter tuşuna basmamış olsanız da). Daha önce yazdığınız komutları listeleyen ve çabuk bir şekilde kullanmanıza olanak veren bir tarihçe (history) özelliği de yok. Emacs editörü (editör demek bir nevi haksızlık oluyor artık) her zaman olduğu gibi bu konuda da devreye giriyor.

Emacs ve sql-mode ile ilgili bilgi veren yazının devamı burada...

Türkçe Döküman portalı BELGE-TR

conan

BELGE-TR Galatasaray Üniversitesi Linux Kullanıcıları Grubunun yürütmekte olduğu bir türkçe döküman portalı projesi.

Linux için türkçe döküman arayıp bulabilmek için bence iyi bir başlangıç yeri. Portal`da Belge`ler, FTP Adresleri, Dernekler, Haberler, Kişisel Sayfalar, Kullanıcı Grupları, Projeler, Ticari Linux, Yansılar, Yazılım gibi alt başlıklarda kayıtlı 100`den fazla link var.

Kendi linklerinizi de eklemeniz mümkün olduğundan portal gelişime açik gözüküyor.

Greg Wilder ile müzik, yaratıcılık ve GNU/Linux üstüne

FZ

Bilgisayarla müzik besteleme ve düzenleme konusunda önemli çalışmaları olan Greg Wilder ile müzik, bilgisayarlar, işletim sistemleri, yaratıcılık, yapay zekâ ve doğaçlama üstüne bir röportaj gerçekleştirdik.

Wilder onca iş güç arasında bizi kırmayarak sorulara epey detaylı cevaplar verdi ve Türkçe konuşan bilgisayar ve müzik dünyası ile iletişim kurabilmiş olmaktan ötürü memnuniyetini belirtti. Bu röportaj şerefine daha önce yayınlamamış olduğu iki parçayı MP3 olarak röportajın sonundaki bağlantılardan edinip dinleyebilirsiniz.

3... 2... 1... Yayındayız!