• Bağış
  • 2008 October

    İkillik Prensibi (Duality Principle)

    Yazan : Şadi Evren ŞEKER Din ve felsefede benzer anlamlara gelmesine karşılık bu yazının amacı bilgisayar bilimleri için önemli olan matematikteki ikilik prensibini açıklamaktır. Bir matematikçi bu kavramı basitçe şöyle açıklayabilir “boyalı elimle bir cama ellesem ve elimin izi camda çıksa, camın her iki yönünden gördüğüm görüntü birbirinin ikilidir (dual)”. Bu açıklama aslında kavramın ne [...]

    Şadi Evren ŞEKER tarafından, 31/10/2008 tarihinde yazıldı. | Bilgisayar Matematiği, Mantık Devreleri (Logic Circuits), bilgisayar felsefesi | A yorum var

    Laplas Filitresi (Laplace Filter)

    Yazan : Şadi Evren ŞEKER Laplas filitresi bastiçe bir resimdeki kenar hatlarını belirlemek için kullanılır. Burada kenar ile kastedilen objeleri genelde arka plandan ayıran keskin renk ayrılıklarıdır. Keskinleştirme Filitresi (Sharpening Filter) ismi ile de anılan laplas filitresi çalışırken bir pencere kullanır. Örneğim aşağıda bu işlem sırasında kullanılabilecek 3×3 (3*3) boyutlarında bir pencere ve her hücresinde [...]

    Şadi Evren ŞEKER tarafından, 29/10/2008 tarihinde yazıldı. | Resim İşleme (Image Processing) | A yorum var

    Kutu Filitresi (Box Filtering)

    Yazan : Şadi Evren ŞEKER Resim işlemede kullanılan bir pencere filitreleme yöntemidir. Bu yönteme göre resim üzerinde kayan bir pencere, bu pencere içerisinde kalan sayılar üzerinde işlem yaparak pencerenin ortasındaki imgeciği (pixel) güncellemektedir. Basitçe aşağıdaki şekilde gösterilen 3×3 ‘lük (3*3) bir pencere içersinde kalan sayılar toplanmakta ve ortalama değeri pencerenin ortasında kalan pikselin yeni değeri [...]

    Şadi Evren ŞEKER tarafından, 28/10/2008 tarihinde yazıldı. | Bilgisayar Matematiği, Resim İşleme (Image Processing) | A yorum var

    DEV CPP ile OpenGL Derleme

    Yazan : Şadi Evren ŞEKER DEV-CPP geliştirme ortamında gelen OpenGL kütüphanesi ne yazık ki standart OpenGL ve GLUT fonksiyonlarını desteklememektedir. Bu fonksiyonların yüklenmesi için ilave glut kütüphanesinin kurulması gerekir. Bu işlem için öncelikle aşağıda bulunan bağlantıdan bu kütüphaneyi indiriniz. www.sadievrenseker.com/graf/glut-MingW-DEV-C++.zip Ardından dosyanın içinden çıkan glut.h – C:\Dev-Cpp\include\GL altına glut32.def – C:\Dev-Cpp\lib altına glut32.dll – C:\WINDOWS\system32 [...]

    Şadi Evren ŞEKER tarafından, tarihinde yazıldı. | Bilgisayar Grafiği (Computer Graphics) | A yorum var

    Delta Kuralı (Delta Rule)

    Yazan : Şadi Evren ŞEKER Yapay sinir ağlarında kullanılan ve sistemin hata miktarının belirlenmesinde Hebb kuralı ile birlikte ismi en çok geçen kuraldır. Bu kural arka planda en küçük ortalamalı kareler (least mean square) hesaplaması kullanmaktadır. Sistemin çalışmasını basitçe beklenen değer ile gerçekleşen değer arasındaki farkın birbirine yaklaştırılması olarak düşünebiliriz. En küçük ortalamalı kareler (LMS) [...]

    Şadi Evren ŞEKER tarafından, 27/10/2008 tarihinde yazıldı. | Bilgisayar Matematiği, Yapay Sinir Ağları (Artificial Neural Networks) | 2 yorum var

    En Küçük Ortalamalı Kareler (Least Mean Squares)

    Yazan : Şadi Evren ŞEKER Uyarlanabilir Filitreler (Adaptive Filters) alanında sıkça kullanılan bir hesaplama yöntemidir. Kısaca uyarlanabilir sistemler, biyolojik sistemlerin birer kopyasıdır. Biyolojik organizmalar nasıl kendilerini değişen koşullara uyarlayabiliyorsa, suni olarak üretilen sistemlerin de kendilerini uyarlaması mümkün olabilir. Buna göre sistem çevreden topladığı verileri kendisini uyarlamak (adapte etmek ) için kullanarak kendi kendisini değiştirebilir. Basitçe [...]

    Şadi Evren ŞEKER tarafından, tarihinde yazıldı. | Bilgisayar Matematiği | A yorum var

    Hebb Kuralı (Hebb’s Rule)

    Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerindeki yapay sinir ağlarının eğitimi sırasında kullanılan bir kuraldır. Hebbian kuramı (Hebbian theory), hebbian kuralı (hebbian rule) isimleri ile de anılmaktadır. Bu kuralı basitçe “Birlikte ateşlenenleri birlikte bağla” şeklinde özetleyebiliriz. Buna göre iki sinir hücresinin birlikte ateşlenmeleri ile ayrı ayrı ateşlenmeleri arasında sistemin eğitimi açısından fark olmaktadır. Basitçe aynı [...]

    Şadi Evren ŞEKER tarafından, tarihinde yazıldı. | Yapay Sinir Ağları (Artificial Neural Networks) | A yorum var

    Hata Hesabı (Error Calculation)

    Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde pek çok farklı alanda pekçok farklı hata olmasına karşılık bu yazının amacı yapay sinir ağlarının eğitimi sırasında hatanın nasıl hesaplandığını anlatmayı hedeflemektedir: Gözetimli eğitim sırasında bir hata hesabı yapılırken iki farklı boyut düşünülmelidir. Bunlardan birincisi her sinir hücresini (nöron) bağlayan sinapsis için hesaplanan hata, diğeri ise sistemin tamamının [...]

    Şadi Evren ŞEKER tarafından, tarihinde yazıldı. | Bilgisayar Matematiği, Yapay Sinir Ağları (Artificial Neural Networks) | A yorum var

    Kare Ortalamalarının Karekökü (Root Mean Square)

    Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde çeşitli istatistik ve hesaplama alanlarında kullanılan bir formüldür. Basitçe üç aşamadan oluşur: Değerlerin karelerini al (square) Kareleri alınan bu değerlerin ortalamasını al (mean) Bu ortalama değerinin kare kökünü al  (root) Örneğin aşağıdaki sayılar için bu işlemi deneyelim: -2, 5, -8, 9, -4 kareleri: 4, 25, 64, 81, 16 [...]

    Şadi Evren ŞEKER tarafından, tarihinde yazıldı. | Bilgisayar Matematiği | 2 yorum var

    Gözetimli Öğrenme (Supervised Learning)

    Yazan : Şadi Evren ŞEKER Yapay sinir ağları başta olmaküzere bilgisayar bilimlerinin alt dalı olan yapay zekanın çeşitli alanlarında kullanılan öğrenme çeşididir. Diğer alternatifi olan gözetimsiz öğrenme (unsupervised learning)’e göre daha kısa süremesinin en büyük sebebi hata miktarlarının sisteme öğrenme olarak giriyor olmasıdır. Buna göre sistem yaptığı hatalardan ders çıkararak bu hataları öğrenmek için kullanır. [...]

    Şadi Evren ŞEKER tarafından, tarihinde yazıldı. | Yapay Sinir Ağları (Artificial Neural Networks) | A yorum var

    Gözetimsiz Öğrenme (Unsupervised Learning)

    Yazan : Şadi Evren ŞEKER Yapay sinir ağları başta olmaküzere bilgisayar bilimlerinin alt dalı olan yapay zekanın çeşitli alanlarında kullanılan öğrenme çeşididir. Diğer alternatifi olan gözetimli öğrenme (supervised learning)’e göre daha uzun süremesinin en büyük sebebi ilk değerlerinin hedeflenen değerden çok uzak olma ihtimalidir. Aşağıda basit bir akış diyagramı ile gözetimsiz eğitimin nasıl yapılabileceği gösterilmiştir: [...]

    Şadi Evren ŞEKER tarafından, tarihinde yazıldı. | Yapay Sinir Ağları (Artificial Neural Networks) | A yorum var

    Brent Yöntemi (Brent’s Method)

    Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde dosya yönetiminde özetleme (hashing) için kullanılan bir yöntemdir. Bu yönteme göre ekleme sırasında bazı değişiklikler ile yerleştirilen kayıtların arama hızını arttırmak ön plandadır. Özet tabloya (hash table) yerleştirilen bir kayıdın çeşitli durumlarda yeri değiştirilerek okuma zamanının arttırılması hedeflenir. İki ayrı zincir tutmaktadır. Birincil sonda zincirinde (primary probe chain) [...]

    Şadi Evren ŞEKER tarafından, 25/10/2008 tarihinde yazıldı. | Dosya Organizasyonu (File Organisation), algoritma analizi (teory of algorithms), veri yapıları | 1 yorum var

    Ara Değer Araması (Interpolation Search)

    Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde sıralı bir veri kümesi üzerinde arama yapmak için kullanılan yöntemlerden birisidir. Buna göre arama sırasında aşağıdaki formül kullanılarak orta nokta bulunur: orta = sol + ((x-a[sol]) * (sag – sol) ) / ( a[sag] – a[sol]) Yukarıdaki sol ve sag ile ifade edilen değerler arama yapılan alandaki aralığın [...]

    Şadi Evren ŞEKER tarafından, tarihinde yazıldı. | algoritma analizi (teory of algorithms), veri yapıları | 1 yorum var

    Dış Yol Uzunluğu (External Path Length)

    Yazan : Şadi Evren ŞEKER Bir ağacın dış düğümlerine ayrı ayrı ulaşılması için geçilmesi gereken yol miktarıdır. Örneğin aşağıdaki ağaç için bu değeri hesaplayalım: yukarıdaki ağaçta kırmızı renkli düğümler iç düğümdür. Siyah renk ile gösterilen düğümleri ise dış düğümlerdir. Buna göre kökten başlandığında ağacın sol tarafında 1 adet dış düğüm vardır ve erişim 1 yolla [...]

    İç Yol Uzunluğu (Internal Path Length)

    Yazan : Şadi Evren ŞEKER Bir ağacın iç düğümlerinin ayrı ayrı ulaşılması için geçilmesi gereken yol miktarıdır. Örneğin aşağıdaki ağaç için bu değeri hesaplayalım: yukarıdaki ağaçta kırmızı renkli düğümler iç düğümdür. Buna göre kökten başlandığında ağacın sol tarafında iç düğüm olmadığı için buraya giden yolların maliyeti 0 olur. Ağacın sağında 2 adet iç düğüm vardır. [...]

    Şadi Evren ŞEKER tarafından, tarihinde yazıldı. | algoritma analizi (teory of algorithms), veri yapıları | 1 yorum var

    İç düğüm (Internal Nodes)

    Yazan: Şadi Evren ŞEKER Bir ağacın, uçlarında olmayan düğümleridir. Örneğin aşağıdaki grafikte iç düğümler kırmızı, dış düğümler ise siyah renk ile gösterilmiştir:

    Şadi Evren ŞEKER tarafından, tarihinde yazıldı. | Bilgisayar Kavramları, algoritma analizi (teory of algorithms), veri yapıları | A yorum var

    B Ağacı (B-Tree)

    Yazan : Şadi Evren ŞEKER İçerik 1. B-Ağacının Tanımı 2. Örnek B-Ağacı 3. B-Ağacında Arama 4. B-Ağacına Ekleme 5. B-Ağacından Silme İsminin nereden geldiği (B harfinin) tartışmalı olduğu bu ağaç yapısındaki amaç arama zamanını kısaltmaktır. Buna göre ağacın her düğümünde belirli sayıda anahtar veya kayıt tutularak arama işleminin hızlandırılması öngörülmüştür. Arama hızının artmasına karşılık silme [...]

    C ile Dosya İşlemleri

    Yazan : Şadi Evren ŞEKER Bu yazının amacı C dilinde dosya işlemlerinin nasıl yapıldığını anlatmaktır. C dilindeki dosya işlemlerinden önce bu dilde yazılan programın çalışacağı işletim sisteminin dosya yapısının iyi bilinmesi gerekmektedir. Bu yazının konusu dışında olan işletim sistemlerinin kullandığı dosya sistemlerini lütfen okuyunuz. C dilinde dosya işlemleri için file.h dosyasının içerilmesi (include) gerekir. #include [...]

    Şadi Evren ŞEKER tarafından, 22/10/2008 tarihinde yazıldı. | C/C++ | 9 yorum var

    Çokgenler ve OpenGL

    Yazan : Şadi Evren ŞEKER Bu yazının amacı bilgisayar grafiklerinin en temel konularından birisi olan çokgenlerin OpenGL ile nasıl çizilebildiklerini açıklamaktır. Öncelikle OpenGL kütüphanesindeki fonksiyon isimlerini hatırlayalım: glRect*(x1, y1, x2, y2); i (integer) s (short) f (float) d (double) v (vector) Yukarıdaki fonksiyonda * ile gösterilen yere aşağıdaki değerler gelebilmektedir.  Örneğin glRectiv şeklinde bir kullanımın [...]

    Şadi Evren ŞEKER tarafından, 21/10/2008 tarihinde yazıldı. | Bilgisayar Grafiği (Computer Graphics) | A yorum var

    Taşırma Algoritması (Flood Filling Algorithm)

    Yazan : Şadi Evren ŞEKER Bilgisayar grafiklerinde kullanılan ve çokgenlerin içlerinin doldurulması için kullanılan algoritmadır. Basitçe bir çokgenin (polygon) içinin belirli bir renge boyanacağını düşünelim. Bu durumda çokgenin içerisinin belirlenmesi ve belirlenen bu alanın daha önceden seçilmiş renk ile doldurulması gerekir. void floodFill4 (int x, int y, int fillColor, int interiorColor) { int color; /* [...]

    Şadi Evren ŞEKER tarafından, tarihinde yazıldı. | Bilgisayar Grafiği (Computer Graphics) | A yorum var

    Sınır Doldurma Algoritması (Boundary Filling Algorithm)

    Yazan : Şadi Evren ŞEKER Bilgisayar grafiklerinde kullanılan ve çokgenlerin içlerinin doldurulması için kullanılan algoritmadır. Basitçe bir çokgenin (polygon) içinin belirli bir renge boyanacağını düşünelim. Bu durumda çokgenin içerisinin belirlenmesi ve belirlenen bu alanın daha önceden seçilmiş renk ile doldurulması gerekir. Örneğin yukarıda verilen çokgenin bir alanına bu algoritma uygulanmıştır. Bu algoritmanın kodu aşağıdaki şekildedir: [...]

    Şadi Evren ŞEKER tarafından, tarihinde yazıldı. | Bilgisayar Grafiği (Computer Graphics) | A yorum var

    Çokgenlerin Doldurulması (Filling Polygons)

    Yazan : Şadi Evren ŞEKER Bu yazının amacı bilgisayar grafiklerinde kullanılan çokgenlerin sınırları içerisinde kalınarak nasıl doldurulduğunu açıklamaktır. Bir çokgeni doldurmak en basit anlamda çokgenlerin boyanması sırasında kullanılabilir. Boyama işleminden önce bir poligonun alt poligonlardan oluşması ve basitleştirilmesi durumunu inceleyelim. Örneğin aşağıdaki çokgende birden fazla iç alan bulunmaktadır ve bu alanların farklı renk veya dolgular [...]

    Şadi Evren ŞEKER tarafından, tarihinde yazıldı. | Bilgisayar Grafiği (Computer Graphics) | A yorum var

    Çokgenlerin Üçgene Çevrimi (Splitting Polygons to Triangles)

    Yazan : Şadi Evren ŞEKER Bilgisayar grafiklerinde 2 boyutlu şekilleri tasvir etmek için kullanılan çokgenler (polygon) aslında bir grup üçgen ile ifade edilebilebilir. Bu konuyu aslında 2 farklı başlık altında inceleyebiliriz. Basitçe çokgenler içbükey (mütekavvis) ve dışbükey (konkav) olarak iki grupta incelenebilir. Aşağıda bir içbükey (mütekavvis) çokgenin basit bir adımla nasıl bir üçgen ve bir [...]

    Şadi Evren ŞEKER tarafından, tarihinde yazıldı. | Bilgisayar Grafiği (Computer Graphics) | A yorum var

    Ağırlık Matrisleri (Weight Matrices)

    Yazan : Şadi Evren ŞEKER Yapay sinir ağlarında, nöronlar arasındaki bağlantıların (sinapsis) ağırlıklarını göstermek amacıyla kullanılırlar. örneğin 4 nöronlu bir hopfield ağını ele alalım. Bu ağın eğitim öncesi bütün sinapsislerinin değerinin 0 olması beklenir. Yani basitçe 4 nöronu bulunan hopfield ağında her nöronun diğerlerine bağlı olması durumunda toplam 16 (4 x 4) sinapsis bağlantısından söz [...]

    Şadi Evren ŞEKER tarafından, 19/10/2008 tarihinde yazıldı. | Bilgisayar Matematiği, Yapay Sinir Ağları (Artificial Neural Networks) | A yorum var

    Hopfield Ağlarının Sayısallaşması

    Yazan: Şadi Evren ŞEKER Aşağıda örnek bir hopfield ağı verilmiştir. Yukarıdaki bu ağda 4 nöron ve 12 adet bağlantı görülmektedir. Bu ağın üzerindeki bağlantılar aşağıdaki tablo ile gösterilebilir. Neuron 1 (N1) Neuron 2 (N2) Neuron 3 (N3) Neuron 4 (N4) Neuron 1 (N1) (N/A) N2->N1 N3->N1 N4->N1 Neuron 2 (N2) N1->N2 (N/A) N3->N2 N4->N2 Neuron [...]

    Şadi Evren ŞEKER tarafından, tarihinde yazıldı. | Yapay Sinir Ağları (Artificial Neural Networks) | A yorum var