LEX

Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde programlama dillerinin tasarımı ve geliştirilmesi sırasında kullanılan ve dildeki kelimelerin analizine (lexical analysis) yarayan kod üretme programıdır. Yani lex için hazırlanmış bir dosyayı lex programından geçirdikten sonra size C dilinde bir kod çıkar. Bu kodu C dilinde derledikten (compile) sonra çalışan bir programınız olur. Veya tercihen bu çıktıyı […]

Devam

Parçalama Ağacı (Parse Tree)

Yazan : Şadi Evren ŞEKER Parçalam işlemi  (parsing) bilgisayar bilimlerinde çeşitli amaçlar için kullanılmaktadır. Özellikle de dil ile ilgili işlemlerin hemen hepsinde ihtiyaç duyulan bir işlemdir. Örneğin bir programlama dilinde yazılan komutların algılanması için öncelikle kelimeleirn parçalanması (parse) gerekir. Benzer şekilde dopal dil işleme (natural language processing) işlemlerinde de doğal dilde bulunan kelimelerin algılanması bir […]

Devam

Backus Normal Form (BNF)

Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerilnde genellikle bir dil tanımlamada ve bu dilin gramerini (Dil bilgisini) belirlemekte kullanılan gösterim biçimidir. Basitçe dil bir dil tanımında başlayarak Terminal (sonuncu) ve Non-Terminal (Devamlı) terimler kullanarak tanılmanmaktadır. Örneğin aşağıda basit bir örneği verilmiştir: <dil> ::= <harf>|<imla> <harf> ::= a|b|…|z <imla> ::= .| |,|? Yukarıda bir dil tanımı […]

Devam

NFA'den DFA'e çevirim (Converting NFA to DFA)

Yazan : Şadi Evren ŞEKER Bu yazıda belirsiz sonlu otomattan(NFA) Belirli sonlu otomata (gerekirci sonlu otomat, nedensel sonlu otomat, deterministic finite automata) dönüştürmenin nasıl yapıldığı anlatılmaktadır. Basitçe bir iki adımlık işlemler izlenerek bu dönüşüm gerçekleştirilebilir: Öncelikle gerekircilik (determinism) açısından birbiri ile özdeş olan kümler çıkarılmalıdır (subset construction) Bu kümelerin diğer kümler ile olan ilişkisi çıkarılmalıdır. […]

Devam

Belirsiz Sonlu Otomat (Nondeterministic Finite Automat, NFA)

Yazan : Şadi Evren ŞEKER DFA (deterministic finite automat) belirli sonlu otomatların (özdevinirlerin) tersine her durumdan gidişin karışık olduğu ve her durum için bir sonraki kelimede nereye gidileceğinin belirli olmadığı otomatlardır. Basitçe DFA kurallarına uymayan bütün otomatlar NFA olarak adlandırılabilir. Aşağıda bir örnek üzerinde durumu incleyelim: yukarıdaki örnekte belirsiz durumlar bulunmaktadır. Örneğin b durumunda iken […]

Devam

Belirli Sonlu Otomat (Deterministic Finite Automat, DFA)

Yazan : Şadi Evren ŞEKER Sonlu otomatların özel bir halidir. Bu özel hal aşağıdaki 3 durumu içermelidir: Her durumdan (State) gidilecek koşulun tek bir durum göstermesi. Yani bir durumda başka duruma geçerken bir kelime ile sadece bir duruma gidilebilmesi Herhangi bir girdi için, tek bitiş durumunun (final state) kabul edilmesi (birden fazla bitiş durumunun aynı […]

Devam

Kuantum İşleme (Quantum Computing)

Yazan : Şadi Evren ŞEKER Bu yazının amacı kuantum bilgisayarları ve kuantum işleme (Quantum Computing) konusunda fikir vermek ve yapılan çalışmaların arkasındaki felsefeyi aktarmaktır. Kuantum bilgisayarları basitçe veriyi işlemek için çok küçük parçacıklar kullanır. Örneğin her gün yolda görebileceğimiz basit bir çakıl taşı aslında bir kuantun işlemi olarak kabul edilebilir. Temelde çakıl taşının yaptığı iş […]

Devam

Nöbetçi (Sentinel)

Yazan : Şadi Evren ŞEKER Veri işlenmesi sırasında çeşitli durumlarda işlemin istenmeyen yerlere gitmesini engelleyen veri tipidir. Örneğin boyutu bilinmeyen bir dizi işlenirken dizinin sonuna gelindiğini anlamak için dizinin sonunda programın algılamasını sağlayan ve dizideki sayılardan ayırt edilen bir değer girmek gibi. Mesela sadece pozitif tam sayılardan oluşan bir dizide bitişi belirtmek için -1 yazılması […]

Devam

Sonlu Ototmatlar (Finite Automaton)

Yazan: Şadi Evren ŞEKER Bir sonlu durum makinesinin formal şekilde gösterilmiş halidir. Buna göre bir otomat’ı oluşturan 5 farklı unsur bulunur. Bunlar o otomatta  bulunan durumlar (states) o otomatın durumları arası geçişlerin alabileceği semboller kümesi olan alfabe, o otomattaki durumlar ve alfabeler arasındaki geçişi gösteren fonksiyon (transition function) ve son olarak otomattaki bitiş durumlarını gösteren […]

Devam

Bağımsız düğümler (Anti Clique, Independent Set)

Yazan: Şadi Evren ŞEKER Klik yapısının tersi olarak düşünülebilir. Basitçe bir grafta birbiri ile doğrudan bağlantısı olmayan düğümlerin oluşturduğu alt graftır. Yukarıdaki tasvirde iki adet graf verilmiştir. Üstte bütün graf görülmekte altta ise bu grafın bir alt grafı görülmketedir. Dikkat edilirse sadece altta bulunan {A,E,F} düğümleri alındığında aşağıdaki graf elde edilir ve bu grafta bulunan […]

Devam