İkili Arama Algoritması (Binary Search Algorithm)

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ığı […]

Devam

Arılar Algoritması (Bees Algorithm)

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 […]

Devam

Yansıma(Reflexivity)

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 […]

Devam

Internal Path Reduction Trees ( İç Yol İndirgeme Ağaçları)

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ı […]

Devam

Sürahi Problemi (Water Jug Problem)

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 […]

Devam

Sınırlı Derin Öncelikli Arama (Depth-Limited Search)

  Sınırlı Derin Öncelikli Arama (Depth-Limited Search) 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 […]

Devam

DFA Metin Arama Algoritması (DFA Text Search)

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 […]

Devam

Kaba Kuvvet Metin Arama Algoritması (Bruteforce Text Search Algorithm)

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 […]

Devam

Arama Algoritmaları (Search Algorithms)

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 […]

Devam

Alfa Beta Budaması (Alpha Beta Prunning)

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 […]

Devam