Bilgisayar Kavramlarıwww.bilgisayarkavramlari.com |
Yazan : Şadi Evren ŞEKER Özellikle özetleme fonksiyonlarının (hashing functions) bilgileri sınıflandırması sırasında kullanılan formülün ikinci dereceden olması durumudur. Özetleme fonksiyonlarında, sık kullanılan doğrusal sondalama (linear probing) yönteminin tersine, bir bilgiyi tasnif ederken, ardışık olarak veriler üzerinde hareket etmez, bunun yerine her defasında baktığı uzaklığı ikinci dereceden bir denklem ile arttırır. Konuyu anlamaya öncelikle doğrusal [...]
Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde, veriyi ağaçta (tree) tutarken, ağacın dengeli (balanced) olmasını sağlayan bir algoritmadır. Algoritma, veriyi tutuş şekli sayesinde, arama, ekleme veya silme gibi temel işlemlerin en kötü durum analizi (worst case analysis) O(logn)’dir, yani algoritma n elman için bu işlemleri en kötü O(logn) zamanda yapmaktadır. Kırmızı-siyah ağaçlar (red-black trees) tanım [...]
Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde kullanılan ve tek boyutlu bir veri yapısı üzerinde (örneğin dizi (array) ) sıralama yapmaya yarayan bir algoritmadır. Algoritmanın çalışması birleştirme sıralaması (merge sort) veya hızlı sıralama (quick sort) algoritmalarına benzetilebilir. Bunun sebebi algoritmanın, sıralamak istenen sayıları 2/3 oranında iki parçaya bölmesi ve kalan sayıları kendi aralarında sıralamasıdır. Algoritmanın [...]
Yazan: Şadi Evren ŞEKER Bilgisayar bilimlerinde, yönlü dairesel olmayan şekiller (directed acyclic graphs) üzerinde çalışan bir sıralama algoritmasıdır (sorting algorithm). Algoritma tanımı itibariyle tek köklü ve çok köklü ağaçlar (tree) üzerinde çalışmak için tasarlanmıştır denilebilir. Örneğin aşağıdaki ağacı ve sıralama algoritmasının çalışması sonucunda elde edilen neticeyi inceleyerek konuyu anlamaya başlayalım: Yukarıdaki şeklin, yerleşim sıralaması aşağıdakilerin [...]
Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde bir bilgi kaynağı veya veri yapısı üzerinde problemi her adımda iki parçaya bölerek yapılan arama algoritmasının ismidir. Bu anlamda bazı kaynaklarda bölerek arama olarak da geçmektedir. Arama algoritması, yapı olarak parçala fethet (divide and conquere) yaklaşımının bir uygulamasıdır. Bu yazı kapsamında diziler üzerinde ikili arama işleminin nasıl yapıldığı [...]
Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde kullanılan arama algoritmalarından (search algorithms) birisinin ismidir. Bu algoritmada amaç belirli bir en iyi noktasını (optimum point) bulmaktır. Bu arama işlemi sırasında arıların bal yapmak için kullandıkları arama metodu modellenmiştir. Algoritmanın farklı çeşitleri bulunmasına karşılık en basit haliyle bir komşu arama algoritmasına benzetilebilir. Algoritmanın açıklaması Algoritmanın çalışması sırasında [...]
Yazan : Şadi Evren ŞEKER Yansıma, bilgisayar bilimlerinin de içerisinde bulunduğu bir grup bilim ve mühendislik alanında kullanılan mantıksa gösterimler ve muntazam diller (Formal languages) ve ayrıca bu dillerin dayandığı matematik ve mantıksal gösterimler sırasında kullanılan temel özelliktir. Yansıma özelliği bir bağıntı (relation), matris ya da şekilde (graph) üzerinde bir işlemin geri gelebilmesi, yansıyabilmesi veya [...]
Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde kullanılan veri saklama ve veriye kolay ulaşma yöntemlerinden birisi de ağaçlardır. Çok farklı şekillerde ağaçların kodlanması ve modellenmesi mümkündür. Bu özel ağaçlardan birisi de iç yol indirgeme ağaçlarıdır (internal path reduction tree, IPR Tree). Bir ipr ağacı kısaca bir ikili ağaçtır (binary tree). Ayrıca IPR ağaçlarının dengeli olması [...]
Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde klasik olarak kaynaklarda geçen ve problem çözümünü belirli bir alanda bulmayı hedefleyen problemlerden birisidir. Problemi tanımlayacak olursak: 5 litrelik tamamen dolu ve 2 litrelik boş bir bidon ile başlanarak, 2 litrelik bidonda 1 litre elde edilmesi için gereken adımları bulunuz. Problemin çözüm adımlarını aşağıdaki şekilde bir karar ağacına [...]
Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde kullanılan arama algoritmalarından birisidir. Bu algoritma esas olarak derin öncelikli arama (depth first search DFS) ile aynı çalışmaktadır ancak tek farkı arama işlemi sırasında özellikle dairelere (cycles) takılma ihtimaline karşı sınır önlemi alınmış olmasıdır. Örneğin aşağıdaki şekli ele alalım: Yukarıdaki şekil tanım itibariyle bir ağaç özelliği göstermektedir. Yani [...]
Yazan : Şadi Evren ŞEKER 1. Otomatın İnşası 2. Algoritmanın arama aşaması 3. Algoritmanın çalışması 4. Algoritmanın kodlanması Bilgisayar bilimlerinde, bir metnin içerisinde farklı bir metnin veya bir kelimenin aranması sırasında kullanılan algoritmalardan birisidir. Algoritma, aranan kelime için bir otomat (automaton) oluşturur ve hedef metin içerisinde bu otomata göre arama işlemi yapar. Oluşturulana otomatın DFA [...]
Yazan: Şadi Evren ŞEKER 1. Algoritmanın başarısı 2. Algoritmanın çalışması ve bir örnek 3. Algoritmanın kodlanması Bilgisayar bilimlerinde bir metnin içerisinde başka bir metnin aranması için kullanılan en ilkel ve dolayısıyla en düşük performanslı arama algoritmasıdır (search algorithm). Algoritma hedef metinde, aranan metni harf harf bulmaya çalışır. Bu yapısından dolayı diziler üzerinde kullanılan doğrusal arama [...]
Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde, çeşitli veri yapılarının (data structures) üzerinde bir bilginin aranması sırasına kullanılan algoritmaların genel ismidir. Örneğin bir dosyada bir kelimenin aranması, bir ağaç yapısında (tree) bir düğümün (node) aranması veya bir dizi (array) üzerinde bir verinin aranması gibi durumlar bu algoritmaların çalışma alanlarına girer. Yapısal olarak arama algoritmalarını iki [...]
Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde özellikle yapay zeka ve karar mekanizmalarının uygulanmasında çok kullanılan bir ağaç dolaşma algoritmasıdır. İsmindeki budama da bu ağaç üzerindeki bazı dalları kesmesinden gelmektedir. Yazının konusu olan alfa beta budaması (alpha beta prunning) minimax ağaçlarında (minimax trees) kullanılır. Bu ağaçları anlattığımız yazıdan aşağıdaki şekli alıp hatırlayacak olursak: Şekildeki ağacın [...]
Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde arama algoritmaları için kullanılan bir terimdir. Algoritma ağırlıklı graflar (weighted graphs) üzerinde çalışmaktadır. Ağaçlar da bir graf örneği olduğu için algoritmanın ağaçlar üzerinde çalışması da mümkündür. Algoritma basitçe aşağıdaki şekilde tanımlanabilir: Kök düğümden başla (root node) En düşük maliyetli komşuya git Şayet aranan düğüm bulunduysa bit, bulunmadıysa 2. [...]
Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde bir değerin aranması veya bir hedefe ulaşmak için kullanılan algoritmanın ismidir. Burada bir amaç bulunmalı ve amaca ulaşan çeşitli yollar arasından bir doğru seçim aranıyor olmalıdır. Örneğin bulmacalarda sorulan klasik iki boyutlu labirentler geri izleme algoritmaları (back tracking algorithms) biçilmiş kaftandır. Bu tip örneklerde labirentin bir ucundan başlanır [...]
Yazan : Şadi Evren ŞEKER Sadece teorik olarak literatürde geçen bir sıralama algoritmasıdır (sorting algorithm). Buna göre sıralanacak olan dizi şanslı bir şekilde zaten sıralı verilmiştir. Dolayısıyla dizinin sıralanmasına gerek yoktur. Hatta bu kabulü yaptığımız için dizinin sıralı olup olmadığını kontrol etmemize de gerek yoktur (ne de olsa şanslıyız J ) dolayısıyla giriş dizisi her [...]
Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde özellikle eğitim amacıyla kullanılan bir sıralama algoritmasıdır. Algoritmanın çalışması oldukça basittir, bogosort, verilen bir diziyi sıralamak için rast gele bir dizilim üretir ve sıralı olup olmadığına bakar, şayet sıralıysa algoritma sona erer, şayet sıralı değilse rastgele olarak yeni bir dizilim elde eder, ta ki sayılar sıralanana kadar sayıları [...]
Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinin özellikle veri yapıları (data structures) konusunda sıkça kullanılan bir veri yapısının ismidir. Basitçe klasik bir sıranın (queue) üzerine öncelik değerinin eklenmesi ile elde edilir. Bilindiği üzere normalde sıralar (queue) ilk giren ilk çıkar (FIFO , first in first out) mantığı ile çalışırlar. Yani bir bilet sırasında olduğu gibi [...]
Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinin önemli bir kısmını oluşturan otomatlar (Automata) ve Algoritma Analizi (Algorithm analysis) çalıştırmalarının altındaki dil bilimin en temel taşlarından birisidir.1936 yılında Alan Turing tarafından ortaya atılan makine tasarımı günümüzde pekçok teori ve standardın belirlenmesinde önemli rol oynar. Turing Makinesinin Tanımı Basitçe bir kafadan (head) ve bir de teyp bandından [...]
Yazan : Şadi Evren ŞEKER İki şeklin birbirinden farklı ancak denk olması durumudur. Bilgisayar bilimleri de dahil olmak üzere pek çok bilim ve mühendislik alanında kullanılan graf teorisine (graph theory) göre iki şekil birbirinden farklı çizilmiş ancak işlev ve değer olarak aynı olabilir. Tanım ve örnek Örneğin aşağıdaki iki şekli ele alalım: Yukarıda verilen graftaki [...]
Yazan : Şadi Evren ŞEKER Bilgisayar mühendisliği de dahil olmak üzere pekçok bilim ve mühendislik alanında kullanılan graf teorisindeki özel bir yol (path) şeklidir. Bu yolun özelliği her kenardan (edge) bir kere (en az ve en çok) geçen yolu bulmaktır. İçerik Teorinin tarihi çıkışı Teorinin tanımı Öyler yollarının özellikleri Bir graftaki farklı öyler yollarının sayısı [...]
Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde veri modellemede kullanılan graf teorisinde (graph theory) kullanılan bir yol (path) biçimidir. Tanımı oldukça basittir. Buna göre bir yolun (path) Hamilton yolu olabilmesi için bir kere geçilen kenardan (edge) tekrar geçilmemesi gerekir ve ayrıca yolun bütün düğümleri (nodes) birer kere ziyaret etmesi gerekir. Bir hamilton yolu başladığı yerde [...]
Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde kullanılan bir veri yapısı türüdür. Bu yapıda ağacın her elemanı binom dağılımındaki sayılar kadar çocuk düğüm (node) sahibi olur. Daha basit bir tabirle her eklenen yeni düğüm ağacın o ana kadar olan bir kopyasıdır. Yukarıdaki şekilde 5 farklı binom ağacı gösterilmiştir. İlk ağaçtan (B0) tek bir düğüm bulunmaktadır. [...]
Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde çeşitli amaçlar için kullanılan eşleştirme problemlerinin genel ismidir. Genellikle bir arz ile bir talebin eşleştirilmesi şeklinde olur. Örneğin bilgisayarın kaynaklarının, bu kaynakları talep eden işlemler ile eşleştirilmesi gibi. Ya da gerçek hayattan bir çalışanın uygun iş ile eşleştirilmesi veya evlilik problemleri veya iş akış diyagramları (işin doğru kaynak [...]