Bilgisayar Kavramlarıwww.bilgisayarkavramlari.com |
Yazan : Şadi Evren ŞEKER Bu yazının amacı, bilgisayar bilimlerinde, özellikle de mantıksal sistemlerin ispatında kullanılan ileri zincirleme ve geri zincirleme yöntemlerini açıklamaktır. Yöntemin çalışması oldukça basittir. Öncelikle problem, mantık düzleminde modellenir. Buradaki mantık sistemi sonlu ispatı olan herhangi bir system olabilir. Örneğin birinci dereceden mantık (first order logic) veya daha özel olarak boole cebiri [...]
Yazan : Şadi Evren ŞEKER Bu yazının amacı, PROLOG diline giriş yapmak ve basit bazı yapay zeka problemlerinin PROLOG dilinde nasıl kodlanarak çözüldüğünü göstermektir. Kurulum ve çalıştırma: Bu yazı kapsamında SWI-PROLOG programı kullanılacaktır. Programı, www.swi-prolog.com adresinden temin etmek mümkündür. Yazı kapsamında MAC OSX üzerinde örnekler çalıştırılarak gösterilecektir ancak kurulum ve sonrasında başarılı bir çalıştırma yapılabiliyorsa [...]
Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde, özellikle metin işlemenin yoğun olduğu, arama motoru gibi uygulamalarda dosyaların veya web sitelerinin birbirine olan benzerliğini bulmak için kullanılan bir algoritmadır. Algoritmaya alternatif olarak klasik hash fonksiyonları kullanılabilir. Yani, örneğin iki sayfasnın ayrı ayrı hash değerleri alınıp bu değerleri karşılaştırmak mümkündür. Ancak simhash algoritması, bu yönteme göre daha [...]
Yazan : Şadi Evren ŞEKER Bu yazının amacı, sezgisel algoritmalar (heuristic algorithms) tarafından kullanılan sezgisel fonksiyon (heuristic function) kavramını açıklamak ve bazı zaviyelerden tasnif etmektir. 1. Baskınlık Özelliği (Dominance) 2. Tutarlılık Özelliği (Consistent, Monotone) 3. Makbul Özelliği (Admissible) Sezgisel algoritma, en basit anlamda, bir sezgisel algoritmanın, problem bağımlı olarak bazı tahminlerde bulunmasıdır. Örneğin daha önce [...]
Yazan :Şadi Evren ŞEKER Bilgisayar bilimlerinin çeşitli alanlarında (örneğin yapay zeka, veri yapıları veya şekil kuramı (graph theory) gibi) kullanılan arama algoritmalarından birsidir. Algoritma, derin öncelikli drama (depth first search) üzerine kurulu olduğu için, literatürde “iterative deepening depth first search (yinelemeli derinleşen, derin öncelikli arama)” olarak da geçmektedir. Algoritma basitçe derinlik değerini bir [...]
Yazan : Şadi Evren ŞEKER Bu yazının amacı, geri izleme algoritmasının (backtracking algorithm) bir uygulaması olarak, basit bir labirentte yol bulma kodunu JAVA dilinde kodlamaktır. Bu uygulamada herhangi bir yapay zeka yönetmi uygulanmayacaktır. Basitçe kör arama (blind search) yapan ve ihtimalleri sırayla deneyen bir robot uygulaması geliştirilecektir. Örneğin labirent bilgisinin bir dosyada bulunduğunu ve bizim [...]
Yazan: Şadi Evren ŞEKER Bu yazının amacı, özellikle yapay zeka çalışmaları altında yer alan sezgisel arama algoritmalarının (heuristic search algorithms) bir çeşidi olan ışın araması konusunu anlatmaktır. Işın arması “en iyi ilk arama” (best first search) tipi arama algoritmalarındandır ve amacı hafıza ihtiyacını azaltmaktır. En iyi ilk arama yaklaşımını kullanan arama algoritmaları, arama yaptıkları şekil [...]
Yazan : Şadi Evren ŞEKER Bu yazının amacı, site üzerinde gelen bir soru üzerine, WEKA programı üzerinde, destekçi vektör makinesinin (SVM) gerçekleştirilmesi ile ilgili bir uygulama anlatmaktır. WEKA üzerinde genel olarka bir işlem yapmak için aşağıdaki adımlar izlenebilir: Yukarıdaki adımlara göre, öncelikle, işlenmek için hazır bir veri kümemiz bulunması gerekiyor. Yazımızdaki amacımız, konuyu öğrenmek olduğu [...]
Yazan : Şadi Evren ŞEKER Veri madenciliğinde kullanılan ve veri kümeleri veya veriler arasındaki ilişkiyi çıkarmak için geliştirilmiş algoritmanın ismidir. Ayrıca pek çok akademik konuda geçen ve temelini felsefeden (ve daha özel olarak mantıktan) alan a priori konusu için bu bağlantıyı tıklayabilirsiniz. Apriori algoritması, özellikle çok büyük ölçekli veri tabanları (VLDB, very large databases) üzerindeki [...]
Yazan : Şadi Evren ŞEKER Bu yazının amacı, hırsız oyunu (game of nim) isimli oyun üzerinden asgari-azami ağaçları (minimax trees) açıklamaktır. Öncelikle oyunu kısaca anlatalım. Oyun iki kişi tarafından karşılıklı olarak sırayla oynanmaktadır. Oyun sayılabilir varlıklar üzerinden oynanır. Örneğin boncuk, çubuk, kalem gibi sayılabilir varlıklar oyun için kullanışlıdır. Bu yazı boyunca çubuk kullanıldığını düşünerek konuyu [...]
Yazan : Şadi Evren ŞEKER Literatürde tam arama veya etraflı arama olarak geçmektedir. İngilizcede “exhaustive search” terimi kullanılır. Genel olarak, arama algoritmalarının performansını arttırmak için kullanılan bir yöntemdir. Bir arama algoritmasının tam arama (exhaustive search) olabilmesi için aşağıdaki şartları sağlaması gerekir: Bir değerin bulunmadığını söylemeden önce bütün değerlere bakmış veya bütün ihtimalleri değerlendirmiş olmalıdır. Arama [...]
Yazan : Şadi Evren ŞEKER Türkçe kaynaklarda, Memetik Algoritma olarak da geçmektedir. Sanırım isimlendirme konusundaki tartışmalar hiç bitmeyecek ama ben Taklitçi algoritmalar demeyi tercih ediyorum. Bunun sebebi İngilizce Memetic kelimesinin kökünün “meme” kelimesi ve “meme” kelimesinin etimolojik kökünün de “mimic” kelimesi olmasıdır. Mimic kelimesi ise buradaki kullanımı anlamıyla taklit kelimesi ile karşılanabilir. Aslında meme kelimesi [...]
Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde, yapay zekanın bir alt dalı olarak kabul edilebilecek genetik algoritmalarda (genetic algorithms) kullanılan temel işlemlerden (operators) birisidir. Basitçe iki geni alıp bu iki gen üzerindeki kromozomların bir kısmını birinci gen, diğer bir kısmını ise ikinci genden alıp yeni bir gen dizilimi elde etme işlemidir. Genetik algoritma geliştirilirken farklı [...]
Yazan : Şadi Evren ŞEKER Evrimsel Algoritmalar (Evolutionary Algorithms), bilgisayar bilimlerinde, yapay zeka çalışmalarının altında geçen bir konudur. Kabaca, doğadaki değişimin bilgisayar algoritmalarına uygulanması olarak düşünülebilir. Evrim kavramı, insanın gözlem yeteneğine dayanarak doğayı ve doğadaki değişimi algılama sürecidir. Buna göre evrimin dayandığı pek çok temel, insan bakış açısında göre şekillenir. Örneğin doğada rast gelelik bulunup [...]
Yazanlar : İnci Elif SAĞLAM , Songül ÖZDEMİR , Yüsra GEDİK “Bu değerli raporlarını, sitede yayınlanmak üzere bana ulaştıran ve bu sayede konu üzerinde çalışan ve Türkçe kaynak ihtiyacı olan araştırmacılara yardımcı olan bu arkadaşları yürekten kutluyorum. – Şadi Evren ŞEKER” İçindekiler ÖZET 1. AKILLI AJANLAR ( ZEKİ VEKİLLER – ETMENLER) 1.1 Zekâ 1.1.1 Zeki [...]
Yazan: Şadi Evren ŞEKER Bilgisayar bilimlerinde kullanılan bir üst sezgisel algoritmadır (meta heuristic algorithm). Algoritmanın ismi, algoritmanın inşa edilmesinde model alınan ateş böceklerinden gelmektedir. Ateş böceklerinin tek cins olması (unisex) ve birbirilerini çekmeleri algoritmanın temelini oluşturur. Buna göre bir ateş böceği aşağıdaki özelliklerdedir. Bütün ateş böcekleri tek cinstir (unisex), dolayısıyla erkek ve dişi ayrımı olmadığı [...]
Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde sıkça kullanılan sonlu durum makinelerinin (finite state machine, FSM veya Finite State Automaton , FSA) gösteriminde kullanılan iki farklı yöntemdir. Genelde literatürde bir FSM’in gösteriminde en çok moore makinesi kullanılır. Bu iki yöntem (mealy ve moore makinaları) sonuçta bir gösterim farkı olduğu için bütün mealy gösterimlerinin moore ve [...]
Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinin özellikle yapay zeka konusu altında yer alan ve zamansal modelleme / problem çözümü konularında kullanılan bir yapıdır. Bu yazıyı, zamansal mantıklar (temporal logic) üzerinde çalışan bir etki alanı sınıflandırması olarak düşünmek mümkündür. Yukarıdaki şekilde, bu seviyelendirme 3 katmanda gösterilmiştir. Buna göre bir zamansal mantığın (temporal logic) seviyesi, üzerine [...]
Yazan : Şadi Evren ŞEKER Zeki vekiller (etmenler, ajanlar) kavram olarak, bilgisayar bilimlerine, felsefe, biyoloji ve ekonomi alanındaki çalışmalardan sonra girmiştir. Bu alanlardaki anlamı ve kullanımı, genellikle herhangi bir işin farklı bir vekil tarafından yürütülmesi olarak anlaşılabilir. Bilgisayar bilimlerin açısından zeki kelimesi, bir vekilin herhangi bir işlemi belirli inisiyatifler kullanarak yerine getirmesidir. Örneğin zeki olmayan [...]
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 hesaplama alanında kullanılan algoritmalardan birisidir. İsmini demir tavlamak veya demiri ısıtmak anlamına gelen annealing (tavlama) kelimesinden almıştır. Algoritmanın amacı, herhangi bir problem için genel iyileştirme (global optimization) elde etmektir. Diğer bir deyişle, herhangi bir fonksiyonun ya da ölçümün genel minimum veya maksimum (global minimum) elde etmek olarak [...]
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 Evrimsel diller temel olarak bir doğal dilin (natural language) geçirmiş olduğu evrimi ve bu evrimin dilde yaptığı değişiklikleri inceler. Evrimsel dil çalışmalarının bilgisayar bilimlerindeki yeri, dilbilim ve doğal dil işleme ile ilgilenen insanların dillerdeki bu değişimleri bilgisayar dünyasına uygulama merakıyla başlamıştır. Bu anlamda bilgisayar bilimleri için evrimsel diller literatürde, yapay [...]