• Bağış
  • algoritma analizi (teory of algorithms)

    NL (Non-deterministic Logarithmic)

    Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde de sıkça kullanılan ve matematiğin bir parçası olan karmaşıklı teorisi (complexity theory) içerisinde tanımlı olan bir karmaşıklık sınıfıdır (kümesidir, set) Bu kümenin özelliği, bu kümenin üyesi olan, fonksiyon, denklem veya algoritmaların logaritmik zamanda veya logaritmik hafıza ihtiyacı ile çalışıp çalışamayacağının veya çözülüp çözülemeyeceğinin belirlenememesidir. Bu kümenin tanım itibariyle [...]

    Şadi Evren ŞEKER tarafından, 03/07/2010 tarihinde yazıldı. | Bilgisayar Matematiği, algoritma analizi (teory of algorithms) | A yorum var

    Bool Tatmin Problemi

    Yazan : Şadi Evren ŞEKER Litartürde, Boolean Satisfiability Problem olarak geçen ve boole cebirindeki denklemlerin doğruluğunun sağlanması olarak özetlenebilecek olan problemdir. Ayrıca çeşitli kaynaklarda bu probleme, problemin İngilizce tanımında geçen Satisfiability kelimesinin kısaltması olan SAT kelimesi olarak da rastlanabilir. Bu problemi, bilgisayar bilimleri açısından ilginç kılan yanı ise, problemin yapısal olarak bir NP-Tam (NP-Complete) sınıfı [...]

    Şadi Evren ŞEKER tarafından, tarihinde yazıldı. | algoritma analizi (teory of algorithms) | A yorum var
    Tags: , , , ,

    Ve/Veya bağlacı normal şeklleri (Conjunction / Disjunction Normal Form)

    Yazan : Şadi Evren ŞEKER Bu gösterim, bool cebirinde (boolean algebra) kullanılan ve kaziyeleri (önerme, proposition) ve (and) bağlacı ile bağlamanın özel bir şeklidir. Kısaca CNF (conjuction normal form) olarak ifade edilir. Diğer bir normal şekil olan Chomsky Normal Form (CNF) ile ilgili bilgi arıyorsanız buradan ulaşabilirsiniz. Bu özel şeklin taşıdığı kuralları aşağıdaki şekilde sıralayabiliriz: [...]

    Karmaşıklık Sınıfları (Complexity Classes)

    Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerine matematikten miras kalan karmaşıklık teorisi (complexity theory) konularından birisidir. Aslında problem veya algoritmaların çözüme ulaşmadaki karmaşıklığını ölçmek için kullanılır. Bu tanımın ardında, her problem veya algoritmanın bir fonksiyon gibi düşünülebilmesi, ve matematikteki fonksiyonların karmaşıklığını sınıflandırmak için kullanılan karmaşıklık sınıflarının (complexity classes) , algoritmalar için uygulanması yatmaktadır. Bilgisayar bilimlerinde [...]

    Bellman Ford Algoritması

    UAYRI!: Bu yazıda hatalar bulunmaktadır (Uğur Bey’e teşekkürler). Bu yazıda anlatılan algoritma verilen örnekteki özel olarak sıralanmış kenarlar için doğru çalışmakta ancak farklı durumlarda hata yapabilmektedir. Bellman-Ford algoritmasının tam ve doğru anlatımı için http://www.bilgisayarkavramlari.com/2010/08/05/bellman-ford-algoritmasi-2/ adresindeki yazıyı okuyabilirsiniz. Yazan : Şadi Evren ŞEKER Bu algoritmanın amacı, bir şekil (graph) üzerindeki, bir kaynaktan (source) bir hedefe(target veya [...]

    Edmonds Karp Algoritması

    Yazan : Şadi Evren ŞEKER Bu algoritmanın amacı, literatürde azami akış ( maximum flow ) olarak geçen ve düğümler (nodes) arasında akış kapasiteleri belirli bir şekildeki (graph) bir başlangıçtan bir hedefe en fazla akışın sağlandığı problemleri çözmektir. Azami akış (maximum flow) problemini örneğin şehirler arasında bağlı boru hattına veya tedarik zincirine benzetebiliriz. Örneğin aşağıdaki şekli [...]

    Dijkstra Algoritması

    Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde kullanılan ve algoritmayı literatüre kazandıran kişinin ismini taşıyan dijkstra algoritması, verilen bir şekilde (graph) en kısa yolu bulmak için kullanılır. Bu algoritmanın çalışmasını örnek bir şekil( graph ) üzerinden göstermeye çalışalım. Bu gösterimin ardından Dijkstra algoritmasının başarısını ve zafiyetlerini tartışabiliriz. Get the Flash Player to see this content. [...]

    Cardinality (Sayısallık)

    Yazan : Şadi Evren ŞEKER 1. Rasyonel / Tamsayı ilişkisi 2. Sayılabilirlik (Countability) 3. Reel / Tamsayı ilişkisi Şayet aynı isme sayıp ERD (Entity relationship diagram) üzerindeki sayısallık konusu ile ilgili yazıyı arıyorsanız bu bağlantıdan erişebilirsiniz. Algoritma analizi (algorithm analysis) ve hesaplama teorisinde (theory of computation) sıkça kullanılan anlamıyla bir kümenin eleman sayısını belirtir. Ayrıca [...]

    Kırmızı-Siyah Ağaçları (Red Black Trees)

    Yazan : Şadi Evren ŞEKER Lütfen dikkat: Özellikle 147 adet yazımı kopyalayan ve hiçbir mailime cevap vermeyen is34.net sitesi yöneticisi başta olmak üzere, yazılarımı kopyalayan site yöneticileri. Emek ve vakit harcayarak ürettiğim yazılarımı lütfen kopyalamayınız. Şayet bu tip yazıları üreten insanların emeğini basit bir iki tıklama ile kopyalayarak web yayıncılığı yaptığınızı düşünüyorsanız, ve telif hakları [...]

    Şadi Evren ŞEKER tarafından, 27/12/2009 tarihinde yazıldı. | algoritma analizi (teory of algorithms), graf teorisi (graph theory, çizge kuramı), veri yapıları | A yorum var

    Serseri sıralaması (Stooge Sort)

    Yazan : Şadi Evren ŞEKER Lütfen dikkat: Özellikle 147 adet yazımı kopyalayan ve hiçbir mailime cevap vermeyen is34.net sitesi yöneticisi başta olmak üzere, yazılarımı kopyalayan site yöneticileri. Emek ve vakit harcayarak ürettiğim yazılarımı lütfen kopyalamayınız. Şayet bu tip yazıları üreten insanların emeğini basit bir iki tıklama ile kopyalayarak web yayıncılığı yaptığınızı düşünüyorsanız, ve telif hakları [...]

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

    İkili Arama Algoritması (Binary Search Algorithm)

    Yazan : Şadi Evren ŞEKER Lütfen dikkat: Özellikle 147 adet yazımı kopyalayan ve hiçbir mailime cevap vermeyen is34.net sitesi yöneticisi başta olmak üzere, yazılarımı kopyalayan site yöneticileri. Emek ve vakit harcayarak ürettiğim yazılarımı lütfen kopyalamayınız. Şayet bu tip yazıları üreten insanların emeğini basit bir iki tıklama ile kopyalayarak web yayıncılığı yaptığınızı düşünüyorsanız, ve telif hakları [...]

    Şadi Evren ŞEKER tarafından, 21/12/2009 tarihinde yazıldı. | C/C++, algoritma analizi (teory of algorithms), veri yapıları | 6 yorum var

    Güvercin Yuvası Kaidesi (Pigeonhole Principle)

    Yazan : Şadi Evren ŞEKER Bilgisayar bilimleri de dahil olmak üzere pek çok matematik temelli bilim ve mühendislik alanında kullanılan oldukça basit bir umdedir. İsmini güvercin yuvalarından alan bu kaideye göre yuva sayısından fazla güvercin varsa, ve bütün güvercinler bir yuvaya girecekse, en az bir yuvaya birden fazla güvercin girmek zorundadır. Bu durumu sembollerle göstermemiz [...]

    Şadi Evren ŞEKER tarafından, 10/12/2009 tarihinde yazıldı. | Bilgisayar Matematiği, algoritma analizi (teory of algorithms), bilgisayar felsefesi | A yorum var

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

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

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

    Şadi Evren ŞEKER tarafından, 03/12/2009 tarihinde yazıldı. | algoritma analizi (teory of algorithms), graf teorisi (graph theory, çizge kuramı), veri yapıları | A yorum var

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

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

    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 tanım itibariyle bir ağaç özelliği göstermektedir. Yani [...]

    Şadi Evren ŞEKER tarafından, 02/12/2009 tarihinde yazıldı. | C/C++, algoritma analizi (teory of algorithms), graf teorisi (graph theory, çizge kuramı), veri yapıları | A yorum var

    Tepe Tırmanma Algoritması (Hill Climbing Algorithm)

    Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde kullanılan arama algoritmalarından birisidir. Arama işleminin yapıldığı grafikteki tepelerden ismini alır. Basitçe bir grafikte bulunan en düşük noktanın aranması sırasında grafikte yapılan hareketin aslında tepe tırmanmaya benzemesinden ismini almaktadır. Örneğin yukarıdaki şekilde gösterilen ok temsili bir tepe tırmanma işlemidir. Burada arama yapan algoritma aslında bir çukur bulmuş ancak [...]

    Şadi Evren ŞEKER tarafından, tarihinde yazıldı. | Bilgisayar Kavramları, C/C++, algoritma analizi (teory of algorithms) | 1 yorum var

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

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

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

    Şanslı Sıralama (Lucky Sort)

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

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

    Bogo Sıralama (Bogosort)

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

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

    Push Down Automata

    Yazan : Şadi Evren ŞEKER Aşağı sürüklemeli otomatlar (push down automaton) yapı olarak birer otomat makineleridir. Normal bir sonlu otomattan farkı, belirli (deterministic) olması ve ilave bir yığın (stack) bulundurmasıdır. Yani makinemiz basitçe her adımda ne yapacağından tam olarak emindir (belirli ,deterministict) ve veri depolamak için hafızada bulunan bir yığından (stack) istifade edebilir. Düzeltme (Tarık [...]

    Şadi Evren ŞEKER tarafından, 15/09/2009 tarihinde yazıldı. | Automata (otomatlar, özdevinirler), algoritma analizi (teory of algorithms) | 3 yorum var

    Program doğruluğu ( Program correctness)

    Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde bir programın istenen özellikleri yerine getirip getirememesine verilen isimdir. Buna göre şayet bir program, beklenen özellikleri tam ve eksiksiz yerine getiriyor, istenmeyen sonuçlar ortaya çıkmıyor ve program başladıktan sonra her durumda başarılı bir şekilde bitiyorsa bu programa tam doğru ( total correctness) ismi verilir. Durma probeleminden (halting problem) [...]

    Rastgele Sayılar (Random Numbers)

    Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde çeşitli amaçlarla rastgele sayılara ihtiyaç duyulur. Örneğin şifreleme algoritmalarında önemli bir role sahip olan rastgele sayılar şifreleme işleminin gizliliği ve güvenilirlik açısından önemlidir. Benzer şekilde bir oyun programlanırken veya bir simülasyon sırasında rastgele cereyan eden olaylar modellenirken rastgele sayılara (random numbers) ihtiyaç duyulur ve bu sayıların gerçekten rastgele [...]