METİN VERİLERDE DİZGİ EŞLEME VE SIKIŞTIRILMIŞ DİZGİ EŞLEME İŞLEMLERİ ARASINDAKİ PERFORMANS FARKLARININ İNCELENMESİ*

Ebat: px
Şu sayfadan göstermeyi başlat:

Download "METİN VERİLERDE DİZGİ EŞLEME VE SIKIŞTIRILMIŞ DİZGİ EŞLEME İŞLEMLERİ ARASINDAKİ PERFORMANS FARKLARININ İNCELENMESİ*"

Transkript

1 METİN VERİLERDE DİZGİ EŞLEME VE SIKIŞTIRILMIŞ DİZGİ EŞLEME İŞLEMLERİ ARASINDAKİ PERFORMANS FARKLARININ İNCELENMESİ* H. Nusret BULUŞ 1, Cihat ERDOĞAN 2, Banu DİRİ 3 ÖZET Bu çalışmada metin veriler üzerinde yapılmakta olan dizgi eşleme işlemi istatistikleri ile aynı veriler üzerinde gerçekleştirilen sıkıştırılmış dizgi eşleme işlemi istatistikleri karşılaştırılmıştır. Bu kıyaslamayı yapmak daha önce geliştirdiğimiz bir uygulama* iyileştirilmiştir ve test sonuçları bu uygulama sayesinde elde edilmiştir. Çalışmanın amacına uygun olarak literatürde mevcut dizgi eşleme algoritmalarının üzerinde herhangi bir değişiklik yapılmadan, sıkıştırılmış dizgi eşlemede de kullanılabilmesini sağlayan bir sıkıştırma yöntemi de sunulmuştur. Yapılan testlerde ikili ve üçlü kodlamaya dayanan sıkıştırma algoritması %30-%35 arası bir sıkıştırma faktörü sunarken, elde edilen sıkıştırılmış dizgi eşleme süresi, sıkıştırılmamış metin üzerinde yapılan dizgi eşleme süresinden daha düşük olarak bulunmuştur. Ayrıca, dizgi eşleme yaparken gerçekleştirilen karakter karşılaştırma sayılarının sıkıştırılmış metinde, sıkıştırılmamış metne göre daha az olduğu saptanmıştır. Dolayısıyla geliştirilen algoritmanın amacı yüksek sıkıştırma oranı sağlamak yerine, sıkıştırılmış dosya ile sıkıştırılmamış dosya arasındaki metin işleme süreleri farklarına dikkat çekmek ve başka uygulamalar bir fikir oluşturmaktır. Ayrıca, üretilen algoritma üzerinde bazı değişiklikler yapılarak sıkıştırma oranlarının %5 gibi iyileşmesi sağlanmış ve algoritmanın yeni hali çalışmada verilmiştir. Anahtar Kelimeler: Veri sıkıştırma, Dizgi eşleştirme, Sıkıştırılmış dizgi eşleştirme, Dizgi değiştirme EVALUATION OF THE PATTERN MATCHING PERFORMANCE OF COMPRESSED AND UNCOMPRESSED TEXTS* ABSTRACT In this study, statistics of the pattern matching on an un/compressed form of the same text data are compared. In order to achieve this goal, a previously developed* application was improved. This modified application provided the test results of this study. The purpose of the study is presenting a compression method that can be used in compressed pattern matching without any changes on pattern matching algorithms which are previously studied in the literature. During the tests, the digram and trigram encoding based compression algorithm has provided a compression factor between 30-35%, and the as-obtained compressed pattern matching duration on the compressed text is calculated less than the one on the uncompressed text. In addition, it is confirmed that the total number of character comparisons on the compressed text matching is less than the one on the uncompressed texts. Therefore, the purpose of the as-developed algorithm is to draw attention to the pattern matching process time difference between the compressed and uncompressed text, instead of providing a high compression ratio. Besides, the aim of the study is to lead prospective pattern matching applications based on the points captured in this work. In addition, the changes made to the algorithm have increased the compression ratio by 5% and the new version of the algorithm is also explained in this study. Keywords: Data compression, Pattern matching, Compressed pattern matching, Pattern substitution * Bu çalışmanın yapılmasında Analyzing The Performance Differences Between Pattern Matching and Compressed Pattern Matching on Texts adlı bildiriden yararlanılmıştır. 1 Yrd.Doç.Dr., Namık Kemal Üniversitesi, nbulus@nku.edu.tr 2 Arş.Gör., Namık Kemal Üniversitesi, cerdogan@nku.edu.tr 3 Doç.Dr., Yıldız Teknik Üniversitesi, banu@ce.yildiz.edu.tr 60

2 Giriş Metin sıkıştırma işlemi genellikle depolama alanını azaltmak veya iletişim maliyetini ve süresini düşürmek kullanılmaktadır. Yapılan bu çalışmada bunlara ek olarak, fazlalıklardan kurtulan ve daha az yer kaplayan, veri üzerinde dizgi eşleme yaparken elde edilen kazançlar tablolar halinde sunulmaktadır. Veri sıkıştırma kavramı ilk olarak Claude E. Shannon tarafından A Mathematical Theory of Communication adlı çalışmasında ortaya atılmıştır (Shannon, 1948). Bilgisayar bilimlerinde ya da bilgi teorisi kavramı içerisinde, veri sıkıştırma ya da kaynak kodlama bilginin daha az bit kullanılarak yeniden kodlanması anlamına gelmektedir. Dizgi eşleme algoritmaları, metin işlemenin yaygın olarak kullanıldığı alanlarda çok önemli bir yere sahiptir. Dahası, sistem ve yazılım tasarımı gibi diğer bilgisayar bilimleri alanlarında kullanılan programlama yöntemlerinde de sıkça kullanılmaktadır (Crochemore ve Rytter, 2002). Önceleri sıkıştırılmış metin verileri üzerinde dizgi eşleme işlemi, metni açarak doğrudan dizgi eşleme algoritmalarını kullanmak suretiyle yapılırken, 1990 lardan itibaren bu işlem sıkıştırılmış metni açmadan, dizgi eşleme algoritmalarını adapte ederek sıkıştırılmış metinler üzerinde gerçekleştirilmeye başlanmıştır. Bu şekilde veri sıkıştırma alanına uygulanmış olan dizgi eşleme tekniklerine sıkıştırılmış dizgi eşleme teknikleri adı verilmiştir. Sıkıştırılmış metni açmadan dizgi eşleme yapma yaklaşımı olan sıkıştırılmış dizgi eşleme yaklaşımı ilk olarak Amir ve Benson (1992) ın çalışmasında sunulmuştur. σ=s 1 s u, ={a 1,,a q} alfabesi elemanlarından oluşmuş u uzunluklu bir metin katarı ve σ.c=t 1 t n de σ nin n u şartını sağlayan sıkıştırılmış formu olsun. GİRDİ: Sıkıştırılmış metin σ.c=t 1 t n ve dizgi P=p 1 p m ÇIKTI: Metnin i konumu. s i konumunda dizgi geçmektedir ve s i+j-1=p j, j=1,,m dir. Verilen bir T metnine karşılık gelen sıkıştırılmış metin Z ve dizgi de P ise, sıkıştırılmış dizgi eşleme problemi P nin T içerisindeki tüm varoluşlarının sadece Z ve P kullanılarak bulunması işlemi sıkıştırılmış dizgi eşlemenin tanımı olarak verilmiştir. Daha önceki algoritmalar Z metnini açarak, standart dizgi eşleme işlemini gerçekleştirirlerdi. Bu işlem u= T ve m= P olduğu durumda O(u+m) zaman almaktaydı. Ancak kabul edilebilir bir algoritma n= Z olduğu durumda en kötü O(n+m) zaman almalıdır (Amihood Amir ve diğ., 1996). Sıkıştırılmış metin verilerde dizgi eşleme birçok yazar tarafından çalışılmıştır. Alanın önemli ve ilk çalışmalardan olan Amihood Amir ve diğ. nin (1996) yaptığı çalışma UNIX-Z sıkıştırma algoritması üzerine uygulanmıştır. Gasieniec ve Rytter (1999) yaptıkları çalışmada LZW sıkıştırma algoritması üzerinde sıkıştırılmış dizgi eşleme gerçekleştirmiştir. Farach ve Thorup (1998) LZ1 olarak da adlandırılan Lempel-Ziv algoritmasında sıkıştırılmış dizgi eşlemeyi uygulamıştır. Kärkkäinen ve diğ. (2003) Lempel-Ziv sıkıştırma algoritması ailesi, özellikle de LZ78 ve LZW algoritmaları üzerine yaklaşık dizgi eşleme gerçekleştirmiştir. Kida ve diğ. (1999) LZW sıkıştırma algoritması üzerinde sıkıştırılmış dizgi eşleme yapmak Shift-Or yaklaşımını geliştirmiştir. Moura ve diğ. (1998) yarı statik kelime tabanlı modelleme ve bit yerine bayt kodlamaya dayanan Huffman Kodlamayı bir arada kullanan bir sıkıştırma algoritması sunmuş ve sundukları bu algoritma üzerinde sıkıştırılmış dizgi eşlemeyi gerçekleştirmiştir. Navarro ve Raffinot (1999) yaptıkları çalışmada LZW sıkıştırma algoritması ile sıkıştırılmış metni bloklara ayırarak sıkıştırılmış dizgi eşleme geçekleştirmiştir. Shibata ve diğ. (2000) bu çalışmadakine benzer bir şekilde ikili yer değiştirmeye dayanan Byte-Pair Encoding (BPE) üzerinde çeşitli arama algoritmalarının performanslarını incelemişlerdir. Manber (1997) yine bu çalışmadakine benzer bir şekilde kullanılan ikili yer değiştirmedeki önemli problemlerden olan üst üste binme (overlapping) problemine bir çözüm getirerek sıkıştırılmış dizgi eşleme gerçekleştirmiştir. Klein ve Shapira (2002) LZ ailesinden bir sıkıştırma algoritması olan LZSS algoritması üzerinde bir takım değişiklikler yaparak sıkıştırılmış dizgi eşlemeyi yaptıkları çalışmada gerçekleştirmiştir. Bu çalışmada geliştirilen sıkıştırma algoritması Moura ve diğ. (1998) de ki gibi yarı statik ve kelime tabanlı bir model kullanmakta, ancak Moura ve diğ. (1998) den farklı olarak bayt tabanlı Huffman Kodlama yerine Manber (1997) gibi ikili yer değiştirme kodlaması yapmaktadır. Geliştirilen algoritmada ikili yer değiştirmeye ilave olarak üçlü yer değiştirme de kullanılmıştır. Bu çalışmada, bu özellikler göz önüne alınarak hızlı, basit ve byte kodlamaya dayanan, ayrıca sıkıştırılacak metin üzerinde iki geçiş yaparak metne özgü sözlük oluşturan bir sıkıştırma algoritması tasarlanmıştır. Tasarlanan 61

3 bu algoritma sıkıştırma oranı temel alındığında yeterli seviyede değilse de, sıkıştırılmış dizgi eşleme ile normal dizgi eşleme arasındaki oransal farkları bize tam olarak verebilmektedir. Sıkıştırma Algoritması bölümünde tasarlanan algoritma anlatılmış ve kullanılan dizgi eşleme algoritmalarından kısaca bahsedilmiştir. Geliştirilen Uygulama bölümünde çalışmada yapılan tüm işlemler kullanılan uygulama görselleriyle anlatılmıştır. Deneysel sonuçlar bölümünde geliştirilen algoritma ile kullanılan dizgi eşleme algoritmalarının normal ve sıkıştırılmış dizgi eşleme performansları nümerik sonuçlar ile karşılaştırılmıştır. Temel Algoritma (v1) Sıkıştırma Algoritması Sıkıştırmanın temeli birçok araştırmacı tarafından değerlendirilmiş çok basit bir dizge değiştirme (patternsubstitution) yöntemidir. Amaç yaygın olarak kullanılan karakter gruplarını (ikili ve üçlü) tek bir karakter ile yani 1 bayt ile ifade etmektir. 1 bayt 256 farklı koda izin verirken, normal bir metin dosyasında bu kodların çoğu kullanılmaz. ASCII kodlaması 128 kodu kullanırken, geri kalan 128 kod standart metin dosyalarında kullanılmayan karakterlere ayrılmıştır. Sıkıştırma işlemi bu yaygın olarak kullanılan karakter çiftlerinin ve üçlülerinin 128 ile 255 arasındaki kodlara karşılık gelecek şekilde ilişkilendirilmesiyle oluşturulan tablo kullanılarak yapılır. Burada 128 ile 191 arası kodlar metin içerisinde en çok kullanılan üçlüler, 192 ile 255 arası kodlar ise metin içerisinde en çok geçen ikililer kullanılmıştır. Açma (decompression) bu işlemin tam tersi yönde gerçekleştirilmesiyle yapılmaktadır. Sıkıştırma algoritması hızlı bir algoritmadır ancak, LZ ailesi gibi etkin sıkıştırma oranlarına sahip değildir. Geliştirilen sıkıştırma algoritması iki geçişli bir sıkıştırma algoritmasıdır. Birinci geçişte modelleyici sıkıştırılacak metne özgü istatistikler tutarak bir sözlük oluşturur. İkinci geçişte ise oluşturulan bu sözlük yardımıyla sıkıştırma işlemi gerçekleştirilir. Sıkıştırma işlemine geçmeden önce metinde geçen ikililerin ve üçlülerin sıklıkları bulunur. Bunlardan en fazla sıklığa sahip 64 üçlü ve 64 ikili seçilir. Seçilen bu üçüler 128 ile 191 aralığına ait, ikililer de 192 ile 255 aralığına ait ASCII kodlarıyla kodlanarak bir tablo oluşturulur. Sıkıştırma işlemi sözlük oluşturma aşaması olan birinci geçiş istatistikleri ve sıralamaları ikililer ve üçlüler üzerinde yapıldığı oldukça az zaman harcamaktadır. Sözlük oluşturma işleminin gerçekleştirildiği birinci aşamada dikkat edilmesi gereken bazı önemli noktalar mevcuttur. Bunlardan ilki üst üste gelme durumu, ikincisi ise bu üst üste gelme durumundan kaynaklanmakta olan bir katarın sıkıştırılmış metin içerisinde birden fazla sıkıştırılmış formda olabilmesidir. Tablo 1 de farklı kodlama problemi açıklanmaya çalışılmıştır. Metin içerisinde birkaç farklı yerde compression kelimesi geçiyor ise, bu kelime farklı şekillerde kodlanabilmektedir. Tablo 1: İkili ve üçlülerden oluşan sözlüğün bir kısmı Sözlük İndeks İkili/Üçlü 132 th 142 ss 156 om 195 com 203 pre 215 ion 225 e_c olarak; Yukarıdaki sözlük yapısına göre compression kelimesi, kendisinden önce gelen harf gruplarına da bağlı 62

4 th e_c om pre ss ion 132, 225, 156, 203, 142, 215 com pre ss ion 195, 203, 142, 215 kodlanabilecektir. Bu durum da sıkıştırılmış dizgi eşlemeyi çok ağır bir işlem haline getirecektir. Bu problemin çözümü bu çalışmada geliştirilmiş olan algoritma kelime tabanlı olarak tasarlanmıştır. Bu sayede sözlük oluşturma aşamasında üst üste gelme problemine direkt olarak bir çözüm sunulmasa da, sıkıştırma aşamasında bir kelime içerisinde sıkıştırma kelimenin başından başladığı herhangi bir üst üste gelme problemi veya farklı kodlama problemi oluşmamaktadır. Ayrıca, farklı kodlama problemi ortadan kalktığı, sıkıştırılmış dizgi eşleme yapmak da mümkün olacaktır. Sözlük oluşturma aşamasında kelimeler baz alındığından üçlülerin birinci ve ikinci karakterlerinin, ikililerin de ilk karakterinin ayraç karakterlerden biri olması mümkün değildir. Bu durumda e_n üçlüleri sözlükte yer alamayacak ve yukarıdaki örnekte yer alan the_compression katarındaki compression kelimesinin kodlaması önündeki karakter grubundan bağımsız olarak standart hale gelecektir. the_com pre ss ion 132, 195, 203, 142, 215 halini alacaktır. Bu çözümün getirmiş olduğu bazı dezavantajlar da mevcuttur. Bunlardan birincisi sıkıştırılmış dizgi eşlemenin kelime tabanlı olarak sınırlandırılmış olması, ikincisi de kelime sonlarında yer alan ve orijinal metinde oldukça fazla yer kaplayan ayraç karakterlerin dâhil edilememesi ve bununla ortaya çıkan sıkıştırma oranının azlığıdır. 63

5 Başla Sıkıştırılacak dosyanın başına gel index = 0 Digram boş sözlük oluştur Trigram boş sözlük oluştur tri_gram = index ten başlayıp 3 karakter oku di_gram = index ten başlayıp 2 karakter oku Sıkıştırılacak dosya boyutu - 3 > index Hayır tri_gram içerisinde ayraç var mı? Hayır index = index + 1 tri_gram Trigram sözlüğü de var mı? tri_gram ın Trigram sözlüğündeki frekansını 1 arttır Hayır tri_gram ı Trigram sözlüğüne ekle ve frekansını 1 e eşitle di_gram içerisinde ayraç var mı? Hayır di_gram Digram sözlüğü de var mı? Hayır di_gram ı Digram sözlüğüne ekle ve frekansını 1 e eşitle di_gram ın Digram sözlüğündeki frekansını 1 arttır Bitiş Son işlemleri yap Şekil 1: Sözlük oluşturma safhası akış diyagramı Sözlük kelimeler baz alınarak oluşturulduğundan, sözlükte yer alan ikililer ve üçlüler de herhangi bir ayraç karakter içermemektedir. Dolayısıyla ikinci geçişte direkt olarak orijinal metin dosyasından okunan karakter grubu sözlükte aranır ve varsa karşılığı kodlanır. Şekil 1 de sıkıştırma algoritmasının birinci, Şekil 2 de de ikinci geçişinin akış şemaları mevcuttur. Sıkıştırma işleminde bir ayrıntı da metin içerisinde ASCII kodu 127 den büyük karakterler varsa bu karakter önlerine kaçış karakteri (boş-null) eklenerek sıkıştırılmış dosyaya kodlanır. 64

6 Başla Sıkıştırılacak dosyanın başına gel index = 0 Boş bir dosya oluştur Kaçış karakteri=boş (NULL) tri_gram = index ten başlayıp 3 karakter oku Sıkıştırılacak dosya boyutu - 3 > index Hayır tri_gram Trigram sözlüğü de var mı? Hayır tri_gram ın tablodaki karşılığını dosyaya ekle, index = index + 3 di_gram = index ten başlayıp 2 karakter oku di_gram Digram sözlüğü de var mı? Hayır 1 karakter oku di_gram ın tablodaki karşılığını dosyaya ekle, index = index + 2 Okunan Karakterin ASCII kodu > 127 Hayır Okunan karakteri dosyaya ekle, index = index + 1 Kaçış karakterini ve okunan karakteri dosyaya ekle, index = index + 1 Bitiş Son işlemleri yap Şekil 2: Sıkıştırma safhası akış diyagramı (Bir önceki adımda oluşturulan Digram ve Trigram sözlükleri kullanılır.) Algoritmada İyileştirme (v2) Geliştirilen sıkıştırma algoritması ile 128 adet ikili/üçlü tanımlanabilmekte ve diğer 128 kod, karaktere karşılık gelen ASCII kod olarak kullanılmaktadır. Yapılan denemelerde doğal dil kullanılarak yazılmış bir metin dosyasında 128 karakterden daha az ( arası) karakter kullanıldığı saptanmıştır. Bu durumda üçlü ve ikililere 128 kod kullanmak yerine ASCII kod tablosunda arasındaki karakterlerden de kullanılmayanları dâhil ederek daha fazla kod kullanılabileceği düşünülmüştür. Kullanılamayan bu karakterler eşit sayıda ikili ve üçlü 65

7 kullanılmaya çalışılmıştır. Ayrıca bu yeni sürümde kaçış karakteri kullanılmadığı ayrı bir kazanım daha oluşmuştur. Bu yeni durumda; σ=s 1 s u, ={a 1,,a q} alfabesi elemanlarından oluşmuş u uzunluklu bir metin katarında, ={a 1,,a q} alfabesi elemanlarının her biri yeni kod atamak gereklidir. Atanacak kodlar q 1 olan q farklı alfabe elemanı [1,q] arasında olacaktır. Dolayısıyla [q+1,255] arası kodlar ise ikililer ve üçlüler kullanılabilecektir. Bu çalışmada geliştirilen uygulamanın yukarıdaki kod değişimini de içeren ikinci bir sürümü de üretilmiştir. Üretilen bu yeni sürüm de tıpkı ilk sürüm gibi sıkıştırılmış dizgi eşlemenin gerçekleştirilmesine izin verirken, aynı zamanda sıkıştırma oranını da %2-%4 gibi oranlarda iyileştirmiştir. Yapılan testlerin detayları Deneysel Sonuçlar bölümünde verilmiştir. Algoritmada İyileştirme (v3) Geliştirilen sıkıştırma algoritmasında sıkıştırma oranını arttırmak en iyi ikililerin ve üçlülerin seçilmesi gerekmektedir. Bu işlemi gerçekleştirmek seçilecek olan en yüksek sıklığa sahip ikili ve üçlülerin adetlerini parametre olarak alan bir fonksiyon geliştirilmiştir. Fonksiyon ilk aşamada seçilen üçlülerin arasındaki seçilen ikilileri bulup bu ikililerin sıklık değerini de geçtiği üçlü sıklığı kadar düşürmektedir. Bu işlemin ardından fonksiyonda ikinci aşamaya geçilerek (1) deki formüle göre skor hesaplaması yapılmış ve en yüksek skora sahip ikili ve üçlüler alınarak sözlük oluşturulmuştur. Bu sözlük ile algoritmanın sıkıştırma oranı %0,3-%1,2 gibi oranlar arasında iyileşme sağlanmıştır. Tablo 2: Sözcükler ve sıklık değerlerinin birinci adımdan önceki, sonraki değerleri ve skorları 1. adımdan önceki sıklık değerleri 1. adımdan sonraki sıklık değerleri Skor değerleri Sözcük Sıklık Sözcük Sıklık Sözcük Skor th 5850 the 3000 the 9000 he 3500 th 2850 her 7800 the 3000 her 2600 th 5700 her 2600 he he T üçlüleri, T i i. üçlüyü, A Ti T i. üçlünün sıklığını, D ikilileri, D i i. ikiliyi, A Di D i. ikilinin sıklığını ve S i i. sözcüğün skor bilgisini temsil etmek üzere, skorlar (1) deki formüle göre hesaplanmıştır. S = sözcük ikili ise: 2 A sözcük üçlü ise: 3 A (1) Tablo 2 de geliştirilen fonksiyonun adımları ve bu adımlar sonucu oluşan değişimler örneklenmiştir. Ayrıca, bu aşamada yapılan bazı kodlama iyileştirmeleriyle sıkıştırma süresi %15-%20 oranında iyileştirilmiştir. Yapılan testlerin detayları Deneysel Sonuçlar bölümünde verilmiştir. Geliştirilen Uygulama Bu çalışmada üretilen uygulama C# programlama dili ile geliştirilmiştir. Uygulama 5 farklı işlevi yerine getirmektedir. Bunlar sırasıyla; 1. Sıkıştırma (Şekil 3): Sıkıştırma Algoritması bölümünde detayları verilmiş olan sıkıştırma algoritması uygulanarak seçilen bir metin dosyasının sıkıştırılması işlemi gerçekleştirilebilmektedir. Sıkıştırma işlemi gerçekleştirildikten sonra, metinle ilgili sıkıştırma oranı (2), sıkıştırma faktörü (3) ve geçen süre milisaniye bazında program çıktısı olarak üretilmektedir (Salomon, 2006). Sıkıştırma Oranı = Sıkıştırma Faktörü = Ç Ç (2) (3) 66

8 Şekil 3: Sıkıştırma safhası 2. Sıkıştırılmış dosyayı açma (Şekil 4): Üretilen uygulama kullanılarak sıkıştırılmış bir metin dosyası yine bu uygulama ile orijinal hale getirilebilmektedir. Bunun sıkıştırma algoritması ters sırada gerçekleştirilir. Bu aşamadan sonra çıktı olarak sadece açma işlemi geçen zaman milisaniye bazında üretilmektedir. Şekil 4: Açma safhası 3. Dizgi eşleme işlemleri (Şekil 5): Dizgi eşleme işlemi sıkıştırılmış metin dosyası üzerinde yapılabilirken, geliştirilen uygulamada hem açık metin dosyası hem de sıkıştırılmış metin dosyası aynı anda seçilerek, sıkıştırma performanslarının tek bir dizgi görüntülenmesi gerçekleştirilmiştir. Ayrıca, dizgi eşleme algoritmalarından da hangisinin kullanılacağının seçimini yapmak mümkün kılınmıştır. Geliştirilen uygulama çıktı olarak (hem açık hem de sıkıştırılmış metin ) dizginin metin içerisinde kaç kere geçtiği, bu geçişler bulunurken kaçar adet karakter eşlemesi yapıldığını ve milisaniye bazında eşleme sırasında geçen süreyi üretmektedir. Şekil 5: Tek dizgi arama safhası 67

9 4. Test işlemleri (Şekil 6): Bu aşamada sıkıştırılmış ve orijinal metin dosyasının yanı sıra aranacak dizgilerin de yer aldığı dosyanın yolu uygulamadan girilerek, dizgi eşleme gerçekleştirilmiştir. Çıktı olarak; normal ve sıkıştırılmış metin dizgi eşleme sayıları ve milisaniye bazında süreleri üretilmiştir. Şekil 6: Çok dizgi arama safhası 5. Dizge bilgisi (Şekil 7): Bu aşama sıkıştırma algoritmasından bağımsız bir aşamadır. Bu aşamada herhangi bir sıkıştırılmamış metin dosyasından, sıkıştırılmış dizgi eşlemede kullanılacak olan arama dosyasının oluşturulması işlemleri yer almaktadır. Orijinal metin dosyasının yolu verildikten sonra, seçilecek dizgilerin karakter bazında boyutu ve kelime sayısı belirlenmektedir. Bu aşamada kullanıcının karşısına üç alternatif çıkar. Bunlar en sık geçen kelimeler, en az geçen kelimeler ya da rastgele seçilmiş kelimeler olabilmektedir. Uygun seçim yapıldıktan sonra seçime uygun kelimeler metinden seçilerek yeni bir dosyaya yazdırılır. Daha sonra bu yeni dosya 4. adımda kullanılabilecektir. Tüm bu aşamalar geliştirilen algoritmanın ikinci sürümü de birebir aynı olarak gerçekleştirilebilmektedir. Şekil 7: Çok dizgi dosyası oluşturma safhası Deneysel Sonuçlar Geliştirilen uygulama kullanılarak yapılan test işlemleri, özellikleri Tablo 3 te verilen bir sistemde gerçekleştirilmiştir. Birim Tablo 3: Sistem Özellikleri Özellik İşlemci Intel(R) Core(TM) i CPU 3.20GHz Bellek (RAM) 8,00 GB Grafikler AMD Radeon HD 6570 Birincil sabit disk 38.9 GB Boş (Toplam 111GB) SSD İşletim Sistemi Windows 10 Pro (64 bit) 68

10 Yapılan testlerde kullanılan metin dosyaları ve alındıkları külliyatlar Tablo 4 te verilmiştir. Tablo 4: Kullanılan veri seti dosyaları ve ait oldukları külliyatlar Dosya Adı Boyut (bayt) Tanım Alındığı Külliyat alphabet.txt İngilizce alfabenin karakteri dolduracak kadar tekrarlanması Canterbury bib UNIX'de ASCII metni "refer" biçiminde bibliyografik referans. Calgary asyoulik.txt Shakespeare oyunu Canterbury alice29.txt Alice'in Harikalar Diyarında Maceraları - Lewis Carroll. Canterbury news ASCII metni - çeşitli konularda USENET toplu iş dosyası. Calgary lcet10.txt Teknik yazı Canterbury plrabn12.txt Şiir Canterbury book UNIX "troff" formatında ASCII metni - Witten: Bilgisayar Konuşma İlkeleri. Calgary book Biçimlendirilmemiş ASCII metni - Thomas Hardy: Far from the Madding Calgary Crowd. pi.txt Pi'nin ilk bir milyon basamağı Canterbury world192.txt CIA Dünyası kitabı Canterbury bible.txt İncil'in King James versiyonu Canterbury E.coli E. coli bakterisinin tüm genomu Canterbury dickens.txt Charles Dickens'ın topladığı eserler Silesia Tablo 5 geliştirilen algoritmanın farklı sürümleriyle ve metnin tamamının değil de değişik yüzdelerinin okunması suretiyle ikili/üçlü kodları elde ederek yapılan sıkıştırma işleminin sıkıştırma oranları arasındaki farkı göstermektedir. Daha fazla ikili ve üçlü kodlamaya imkân veren ikinci sürüm %2-%4 gibi, üçüncü sürüm %0,3-%1,2 gibi bir sıkıştırma oranı iyileştirmesi sağlamaktadır. Ayrıca, ikinci ve üçüncü sürümde metnin sadece %20 si ve %50 si okunarak sonuçlar elde edilmiştir. Tablo 5: Geliştirilen Algoritmanın Farklı Sürümlerinin Sıkıştırma Oranları (output/input) Sıkıştırma Oranları Dosya Adı v1 v2 v2 v3 v3 %50 %20 %50 %20 alphabet.txt 0,335 0,335 0,335 0,335 0,335 bib 0,768 0,745 0,748 0,74 0,74 asyoulik.txt 0,718 0,686 0,687 0,68 0,682 alice29.txt 0,708 0,681 0,684 0,678 0,678 news 0,764 0,741 0,743 0,736 0,738 lcet10.txt 0,692 0,659 0,667 0,653 0,655 plrabn12.txt 0,707 0,676 0,678 0,673 0,672 book2 0,704 0,679 0,681 0,671 0,674 book1 0,691 0,661 0,661 0,653 0,653 pi.txt 0,586 0,466 0,466 0,466 0,466 world192.txt 0,762 0,737 0,736 0,731 0,731 bible.txt 0,672 0,64 0,641 0,633 0,634 E.coli 0,333 0,333 0,333 0,333 0,333 dickens 0,701 0,678 0,678 0,673 0,675 Tablo 5 te de görüldüğü gibi metnin %50 si ve %20 si okunmak suretiyle elde edilen sıkıştırma oranları arasındaki fark oldukça düşüktür. Bu durumda metnin tamamından elde edilecek olan istatistiklerin, çok büyük oranda yaklaşık metnin %20 sinden de elde edilebileceği anlaşılmaktadır. Orijinal metni okuma işlemini %20 oranında sabitleyerek, sözlük elde ederek yapılacak bir sıkıştırma işleminin algoritma hızını oldukça arttıracağı kanısı oluşmaktadır. Buna uygun olarak yapılan testlerde bu fikre paralel sonuçlar elde edilmiştir. Bu sonuçlar Tablo 6 da verilmiştir. 69

11 Tablo 6: Geliştirilen Algoritmanın Farklı Sürümlerinin Sıkıştırma ve Açma Süreleri (ms) Sıkıştırma ve Açma Süreleri Corpus v1 v2 %50 v2 %20 v3 %50 v3 %20 v1 v2 %50 v2 %20 v3 %50 v3 %20 alphabet.txt 79,31 47,73 35,07 39,18 27,07 8,80 5,95 6,76 5,50 5,51 bib 81,60 68,61 54,86 54,26 41,59 11,06 9,28 9,70 7,77 8,69 asyoulik.txt 85,79 72,99 60,24 59,20 45,86 9,57 9,56 10,78 9,31 8,88 alice29.txt 103,87 113,86 95,74 73,64 54,98 14,91 14,99 15,34 10,78 10,79 news 252,57 199,39 160,61 169,26 126,22 26,01 25,97 26,19 21,16 21,88 lcet10.txt 269,61 216,54 165,30 185,74 137,20 23,25 27,84 28,69 22,17 23,10 plrabn12.txt 322,82 239,20 184,91 205,62 155,99 31,00 30,80 30,89 25,38 25,62 book2 349,96 319,31 237,77 260,21 193,57 33,12 38,11 39,29 31,26 32,05 book1 466,35 406,06 302,23 323,51 244,30 46,87 48,04 49,08 37,53 39,24 pi.txt 676,22 452,50 316,21 406,94 289,36 64,68 43,44 44,74 36,16 35,29 world192.txt 1.515, ,61 945, ,24 782,35 130,24 153,48 151,37 121,69 122,36 bible.txt 2.120, , , , ,44 215,78 218,67 221,82 180,91 184,31 E.coli 2.564, , , , ,86 162,09 139,38 138,59 130,99 124,96 dickens 5.328, , , , ,56 560,35 577,66 587,69 462,08 476,08 Yapılan çalışma sonucunda v1 in iyileştirilmesi Algoritmada İyileştirme (v2) de anlatıldığı gibi metinde geçen karakterler yeniden kodlanmıştır ve böylece v2 oluşturulmuştur. Yeni sürümde sıkıştırma oranında %2 ile %4 arasında bir kazanım elde edilmiştir. Bunun yanı sıra sözlük oluşturulurken sıkıştırılacak dosyanın tamamını okumaktansa %20'si veya %50'si okunmuş ve böylece sıkıştırma zamanından kazanılmıştır. Ayrıca Algoritmada İyileştirme (v3) de anlatılan v3 ile sıkıştırma oranında %0,3 ile %1,2 oranında kazanım elde edilmiştir. Bunun yanı sıra bu sürümde yapılan iyileştirilmelerle %15 ile %20 oranında sıkıştırma süresinde kazanımlar elde edilmiştir. Bu kazanımlar Tablo 5 te açıkça görülebilmektedir. Metnin %20 ile %50 gibi oranlarının okunması işleminin tek dezavantajı sıkıştırma oranında %0,1 ile %0,5 arasında oluşan kayıptır. Bu algoritmanın kullanılabileceği ve sıkıştırma hızının sıkıştırma oranından daha önemli olduğu uygulamalarda bu farkın göz ardı edilebilecek bir fark olabileceği kanısı oluşmuştur. Şekil 8 ve Şekil 9 da çeşitli harf uzunluklarına sahip kelimelerin sıkıştırılmış metinde eşlenme hızı ile normal metinde eşlenme hızları arasındaki fark v1 ve v2 yüzde cinsinden verilmiştir. Yapılan çalışmada sıkıştırılmış veri üzerinde gerçekleştirilen arama işleminin normal metin üzerinde gerçekleştirilen arama işlemine göre daha hızlı olduğu görülmüştür. Sayıların pozitif olduğu harf sayıları sıkıştırılmış dizgi eşlemenin daha hızlı olduğunu, negatif olan harf sayılarının ise sıkıştırılmış dizgi eşlemenin daha yavaş olduğunu göstermektedir. 70

12 Kazanç % Harf 5 Harf 6 Harf 7 Harf 8 Harf 9 Harf 10 Harf Harf Sayıları Brute Force (Tam Kelime) BruteForce Knuth-Moris-Pratt (Tam Kelime) Knuth-Moris-Pratt Boyer-Moore Turbo Boyer-Moore Apostolico-Giancarlo Şekil 8: Algoritmalara göre kelime uzunluğunun sıkıştırılmış veri üzerindeki arama kazancına etkisi v1 Aranan kelimenin harf uzunluğu arttıkça arama süresindeki kazanımın da arttığı görülmüştür (Şekil 8 ve Şekil 9). 4 ve 5 harfli kelimelerde yapılan aramalarda Turbo Boyer-Moore algoritmasının normal metne göre daha kötü sonuç verdiği görülmektedir. Bunun sebebi karşılaştırma sayısının doğrusal arama yapan algoritmalara göre daha çok olması ve sıkıştırılmış kelimenin uzunluğunun ortalama 2-3 karakter olmasıdır. Karakter sayısı az olduğu karşılaştırma sonucu atlanacak karakter sayısı da düşmekte ve algoritma daha kötü çalışmaktadır. Bunun yanı sıra 10 harfli kelimelerde v1 de tüm arama algoritmaların makul bir kazanım oranı verdiği görülmekle birlikte v2 de tüm algoritmalar aynı kazanç oranını elde edememişlerdir. Buradan şu söylenebilir ki v1 de aranacak kelimenin karakter sayısı arttıkça algoritmaların kazançları genel olarak artmakla birlikte v2 de bu durum sadece belirli algoritmalarda geçerli olmuştur. 50 Kazanç % Harf 5 Harf 6 Harf 7 Harf 8 Harf 9 Harf 10 Harf Harf Sayıları Brute Force (Tam Kelime) BruteForce Knuth-Moris-Pratt (Tam Kelime) Knuth-Moris-Pratt Boyer-Moore Turbo Boyer-Moore Apostolico-Giancarlo Şekil 9: Algoritmalara göre kelime uzunluğunun sıkıştırılmış veri üzerindeki arama kazancına etkisi v2 Tablo 7 ve Tablo 8 geliştirilen sıkıştırma algoritmasının farklı iki sürümü ile sıkıştırılmış olan ve The Catenbury Corpus ta yer almakta olan bible.txt metin dosyası üzerinde yapılmış olan dizgi eşleme işlemlerinin çeşitli istatistiki bilgilerini göstermektedir. Buna göre yapılan denemeler farklı harf sayılarına göre gruplandırılmış olup, birinci sütunda eşleme yapılacak kelime gruplarının harf sayıları verilmiştir. İkinci sütunda ise, normal ve sıkıştırılmış dizgi eşleme kullanılmış olan bazı önemli dizgi eşleme algoritmalarının isimleri verilmiştir. Burada dikkat edilmesi gereken nokta, Tam Kelime ibaresi ile anlatılmak istenendir. Tam kelime ile sadece ilgili kelimenin arandığı anlamına 71

13 gelmektedir. Bunun sebebi de (Tablo 1) kullanılarak yapılmış olan örnekle paralel olarak bazı kelimelerin, diğer bazı kelimeler içerisinde geçiyor olması durumunda tamamının bulunamaması durumudur. Örneğin, compress kelimesi compression ve decompress gibi diğer kelimelerin içerisinde geçmesine rağmen, farklı şekilde sıkıştırılabilmektedir. Ayrıca, kelimenin sıkıştırılmasına göre farklı sonuçlar üretmeyebilir ve arama yapılabilir. Elde edilen sonuçlardaki farklılıklar bunlardan kaynaklanmaktadır. Gelecekte yapılması planlanan çalışmada bu problemin de üzerine gidilmesi ve optimum sonuca ulaşılması planlanmaktadır. Tablo 7 ve Tablo 8 deki 1, 3, 4 ve 5 inci sütunlar sırasıyla, orijinal metinden belirtilen harf sayısına uygun olarak rastgele seçilen 10 ar tane kelimeden oluşan kelime gruplarını, normal metinde ortalama dizgi eşleme sürelerini, sıkıştırılmış metinde ortalama dizgi eşleme sürelerini ve bu işlemler sonucunda oluşan süre farkının getirdiği kazanımın yüzde olarak ifade edilmiş olan bilgilerini tutmaktadır. Tablo 7 ve Tablo 8 deki 6 ve 7 inci sütunlar sırasıyla normal ve sıkıştırılmış metin üzerinde seçilen kelime grupları dizgi eşleme yapılırken oluşan toplam karakter karşılaştırma sayılarını vermektedir. 6 ve daha fazla karakterden oluşan kelimeler sıkıştırılmış dizgi eşleme yapmanın daha az karşılaştırma yaptığı açıkça görülmekte iken, 6 dan az karakterden oluşan kelimeler böyle kesin bir yargıya varmanın mümkün olmayacağı açıkça görülmektedir. Tablo 7 ve Tablo 8 deki 8 ve 9. sütunlar sırasıyla normal ve sıkıştırılmış metinde bulunan ortalama eşleşme sayılarını vermektedir. Yukarıda da anlatıldığı gibi dizgi eşleme Tam Kelime olarak yapıldığı takdirde, sonuçlar normal metin ve sıkıştırılmış metin birebir olarak örtüşmektedir. 72

14 Tablo 7: Algoritmaların harf sayılarına göre normal ve birinci sürüm (v1) ile sıkıştırılmış metin üzerindeki arama performansları 4 harfliler 5 harfliler 6 harfliler 7 harfliler 8 harfliler 9 harfliler 10 harfliler Arama Algoritması Normal Metin Arama Süresi (ms) Sıkıştırılmış Metin Arama Süresi (ms) Kazanç % Normal Metin Karşılaştırma Sayısı Sıkıştırılmış Metin Karşılaştırma Sayısı Normal Metin Bulunan Eşleşme Sayısı Sıkıştırılmış Metin Bulunan Eşleşme Sayısı Brute Force (Tam Kelime) ,949 29,051 3,453 3,453 BruteForce ,949 29,051 3,588 3,521 Knuth-Moris-Pratt (Tam Kelime) ,400 28,990 3,453 3,453 Knuth-Moris-Pratt ,400 28,990 3,588 3,521 Boyer-Moore ,190,583 1,250,114 3,588 3,521 Turbo Boyer-Moore ,190,327 1,250,114 3,588 3,521 Apostolico-Giancarlo ,190,583 1,250,114 3,588 3,521 Brute Force (Tam Kelime) ,190 25,584 2,122 2,122 BruteForce ,190 25,584 2,359 2,328 Knuth-Moris-Pratt (Tam Kelime) ,285 25,584 2,122 2,122 Knuth-Moris-Pratt ,285 25,584 2,359 2,328 Boyer-Moore ,593 1,018,274 2,359 2,328 Turbo Boyer-Moore ,101 1,018,274 2,359 2,328 Apostolico-Giancarlo ,593 1,018,274 2,359 2,328 Brute Force (Tam Kelime) ,778 19, BruteForce ,778 19, Knuth-Moris-Pratt (Tam Kelime) ,080 19, Knuth-Moris-Pratt ,080 19, Boyer-Moore , , Turbo Boyer-Moore , , Apostolico-Giancarlo , , Brute Force (Tam Kelime) ,710 24, BruteForce ,710 24, Knuth-Moris-Pratt (Tam Kelime) ,287 24, Knuth-Moris-Pratt ,287 24, Boyer-Moore , , Turbo Boyer-Moore , , Apostolico-Giancarlo , , Brute Force (Tam Kelime) ,025 12, BruteForce ,025 12, Knuth-Moris-Pratt (Tam Kelime) ,970 12, Knuth-Moris-Pratt ,970 12, Boyer-Moore , , Turbo Boyer-Moore , , Apostolico-Giancarlo , , Brute Force (Tam Kelime) ,350 20, BruteForce ,350 20, Knuth-Moris-Pratt (Tam Kelime) ,291 20, Knuth-Moris-Pratt ,291 20, Boyer-Moore , , Turbo Boyer-Moore , , Apostolico-Giancarlo , , Brute Force (Tam Kelime) ,238 31, BruteForce ,238 31, Knuth-Moris-Pratt (Tam Kelime) ,155 31, Knuth-Moris-Pratt ,155 31, Boyer-Moore , , Turbo Boyer-Moore , , Apostolico-Giancarlo , ,

15 Tablo 8: Algoritmaların harf sayılarına göre normal ve ikinci sürüm (v2) ile sıkıştırılmış metin üzerindeki arama performansları 4 harfliler 5 harfliler 6 harfliler 7 harfliler 8 harfliler 9 harfliler 10 harfliler Arama Algoritması Normal Metin Arama Süresi (ms) Sıkıştırılmış Metin Arama Süresi (ms) Kazanç % Normal Metin Karşılaştırma Sayısı Sıkıştırılmış Metin Karşılaştırma Sayısı Normal Metin Bulunan Eşleşme Sayısı Sıkıştırılmış Metin Bulunan Eşleşme Sayısı Brute Force (Tam Kelime) ,949 28,094 3,453 3,453 BruteForce ,949 28,094 3,588 3,521 Knuth-Moris-Pratt (Tam Kelime) ,400 28,065 3,453 3,453 Knuth-Moris-Pratt ,400 28,065 3,588 3,521 Boyer-Moore ,190,583 1,188,495 3,588 3,521 Turbo Boyer-Moore ,190,327 1,188,495 3,588 3,521 Apostolico-Giancarlo ,190,583 1,188,495 3,588 3,521 Brute Force (Tam Kelime) ,190 25,040 2,122 2,122 BruteForce ,190 25,040 2,359 2,327 Knuth-Moris-Pratt (Tam Kelime) ,285 25,040 2,122 2,122 Knuth-Moris-Pratt ,285 25,040 2,359 2,327 Boyer-Moore ,593 1,051,164 2,359 2,327 Turbo Boyer-Moore ,101 1,051,164 2,359 2,327 Apostolico-Giancarlo ,593 1,051,164 2,359 2,327 Brute Force (Tam Kelime) ,778 11, BruteForce ,778 11, Knuth-Moris-Pratt (Tam Kelime) ,080 11, Knuth-Moris-Pratt ,080 11, Boyer-Moore , , Turbo Boyer-Moore , , Apostolico-Giancarlo , , Brute Force (Tam Kelime) ,710 14, BruteForce ,710 14, Knuth-Moris-Pratt (Tam Kelime) ,287 14, Knuth-Moris-Pratt ,287 14, Boyer-Moore , , Turbo Boyer-Moore , , Apostolico-Giancarlo , , Brute Force (Tam Kelime) ,025 8, BruteForce ,025 8, Knuth-Moris-Pratt (Tam Kelime) ,970 8, Knuth-Moris-Pratt ,970 8, Boyer-Moore , , Turbo Boyer-Moore , , Apostolico-Giancarlo , , Brute Force (Tam Kelime) ,350 16, BruteForce ,350 16, Knuth-Moris-Pratt (Tam Kelime) ,291 16, Knuth-Moris-Pratt ,291 16, Boyer-Moore , , Turbo Boyer-Moore , , Apostolico-Giancarlo , , Brute Force (Tam Kelime) ,238 25, BruteForce ,238 25, Knuth-Moris-Pratt (Tam Kelime) ,155 25, Knuth-Moris-Pratt ,155 25, Boyer-Moore , , Turbo Boyer-Moore , , Apostolico-Giancarlo , , Sonuçlar Yapılan testler sonucunda elde edilen değerlere göre geliştirilen sıkıştırma algoritmasının ilk sürümü ortalama %30-%35 sıkıştırma faktörü sağlarken, kelime bazlı tam sıkıştırılmış dizgi eşlemeye de izin vermektedir. Benzer şekilde geliştirilen ikinci sürüm birinciye oranla %2-%4 sıkıştırma faktörü iyileştirmesi sunarken, geliştirilen üçüncü sürüm de ikinciye oranla %1-%2 sıkıştırma faktörü iyileşmesi sunmuştur. Yeni geliştirilen her iki sürümde de sıkıştırılmış dizgi eşlemeye izin verilmektedir. Bununla beraber metinde en sık geçen ikili ve üçlüleri bulmak metnin tamamını okumak yerine değişik yüzdelerde bir örnekleme uzayı seçilerek metnin bir kısmı okunmuştur. Elde edilen veriler, gerçekleştirilen sıkıştırma işleminin süresini büyük oranda düşürürken, sıkıştırma oranını da göz ardı edilebilecek bir biçimde %0,1- %0,05 değerinde kötüleştirmektedir. Bunlara ilave olarak bu çalışmanın merkezinde yer alan araştırma fikrine dayanarak, normal metin ve sıkıştırılmış metin üzerinde dizgi eşleme yapılmış ve bazı sonuçlar elde edilmiştir. Bu sonuçlara göre üretilen algoritma ile sıkıştırılmış metin üzerinde çalışmak uzun katarlarda gerek karakter karşılaştırma sayısını azaltması, gerekse de işlem süresini düşürmesi açısından bir avantaj sağlamıştır. Kısa karakter katarlarında ise dizgi eşleme algoritmasına bağlı olarak bazı dizgi eşleme algoritmalarında bu avantajlar korunmuş, bazılarında ise olumsuz sonuçlar elde edilmiştir. 74

16 Ayrıca, yapılan test sonuçlarına göre dizge eşleme algoritmalarından BruteForce, Knuth-Moris-Pratt ve türevlerinin Şekil 8 ve Şekil 9 da görüldüğü üzere harf sayısındaki değişime rağmen kazanç değerlerinde fazla bir değişim yaşanmamıştır. Buna ek olarak sıkıştırılmış metinde yapılan aramalarda bu algoritmalar diğerlerine göre daha başarılı olmuştur. Apostolico-Giancarlo algoritması ise harf sayısı arttıkça kazanç değerini arttırmıştır. Boyer- Moore ve türevleri ise kazanç değerleri baz alındığında diğer algoritmalara göre biraz zayıf kalmıştır. Sonuç olarak yapılan bu çalışmada görülmektedir ki, dizgi eşleme yöntemlerini kullanan çeşitli uygulamaların, normal metin yerine sıkıştırılmış dizgi eşlemeye izin veren sıkıştırma algoritmaları ile oluşturulmuş sıkıştırılmış metin kullanmasının bazı kazanımları olacağı açıktır. Bu çalışmada amaç, bu kazanımların ayrıntılı bir şekilde işlenerek ortaya konmasıdır. Bu sebeple üretilen sıkıştırma algoritması sıkıştırma oranı açısından çok etkin değildir ancak amaçlanan hedefleri istenilen bir şekilde gerçekleştirmektedir. Sonuçlardan da anlaşıldığı üzere daha da etkin bir sıkıştırma algoritması kullanılması durumunda elde edilen karşılaştırma sayıları, sıkıştırma oranı, arama süresi vb. değerler daha da iyi olabilecektir. Ayrıca şunu da belirtmek gerekir ki kelime bazlı sıkıştırılmış dizgi eşleme işleminde BruteForce, Knuth- Moris-Pratt ve türevleri daha fazla kazanç sağlarken Boyer-Moore algoritması da en iyi arama süresini vermiştir. Kaynakça Amir, A., & Benson, C. (1992). Efficient two-dimensional compressed matching. In Data Compression Conference, DCC 92. (pp ). Amir, A., Benson, G., & Farach, M. (1996). Let Sleeping Files Lie: Pattern Matching in Z-Compressed Files. Journal of Computer and System Sciences, 52(23), /jcss Boyer, R. S., & Moore, J. S. (1977). A Fast String Searching Algorithm. Commun. ACM, 20(10), Crochemore, M., & Rytter, W. (2002). Jewels of Stringology: Text Algorithms. Hackensack, NJ, USA: World Scientific. Retrieved from Farach, M., & Thorup, M. (1998). String Matching in Lempel Ziv Compressed Strings. Algorithmica, 20(4), Gasieniec, L., & Rytter, W. (1999). Almost-optimal fully LZW-compressed pattern matching. In Data Compression Conference, Proceedings. DCC 99 (pp ). Kärkkäinen, J., Navarro, G., & Ukkonen, E. (2003). Approximate string matching on Ziv-Lempel compressed text. Journal of Discrete Algorithms, 1(3 4), Kida, T., Takeda, M., Shinohara, A., & Arikawa, S. (1999). Shift-and approach to pattern matching in LZW compressed text. Lecture Notes in Computer Science (Including Subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 1645, Klein, S. T., & Shapira, D. (2002). A new compression method for compressed matching. Data Compression Conference, Proceedings. DCC 2000, Manber, U. (1997). A Text Compression Scheme That Allows Fast Searching Directly in the Compressed File. ACM Trans. Inf. Syst., 15(2), Moura, E. S. De, Navarro, G., Ziviani, N., & Baeza-Yates, R. (1998). Direct pattern matching on compressed text. Proceedings. String Processing and Information Retrieval: A South American Symposium (Cat. No.98EX207). Navarro, G., & Raffinot, M. (1999). A general practical approach to pattern matching over ziv-lempel compressed text. Lecture Notes in Computer Science (Including Subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 1645,

17 Salomon, D. (2006). Data Compression: The Complete Reference. Secaucus, NJ, USA: Springer-Verlag New York, Inc. Shannon, C. E. (1948). A mathematical theory of communication. The Bell System Technical Journal, 27(July 1928), Shibata, Y., Kida, T., Fukamachi, S., Takeda, M., Shinohara, A., Shinohara, T., & Arikawa, S. (2000). Speeding up pattern matching by text compression. Algorithms and Complexity,

DĠZGĠ EġLEME ALGORĠTMALARININ ALFABEYE BAĞLI ETKĠNLĠKLERĠNĠN ARAġTIRILMASI

DĠZGĠ EġLEME ALGORĠTMALARININ ALFABEYE BAĞLI ETKĠNLĠKLERĠNĠN ARAġTIRILMASI DĠZGĠ EġLEME ALGORĠTMALARININ ALFABEYE BAĞLI ETKĠNLĠKLERĠNĠN ARAġTIRILMASI Aydın CARUS 1 Abdul Kadir ERSİN 2 Altan MESUT 3 1,2,3 Trakya Üniversitesi, Mühendislik-Mimarlık Fakültesi, Bilgisayar Mühendisliği

Detaylı

BMB204. Veri Yapıları Ders 12. Dizgi Eşleme (String Matching) Algoritmaları İleri Veri Yapıları

BMB204. Veri Yapıları Ders 12. Dizgi Eşleme (String Matching) Algoritmaları İleri Veri Yapıları BMB204. Veri Yapıları Ders 12. Dizgi Eşleme (String Matching) Algoritmaları İleri Veri Yapıları Erdinç Uzun NKÜ Çorlu Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü Dersin Planı Dizgi Eşleme Algoritmaları

Detaylı

Dosya Sıkıştırma (File Compression) Kütük Organizasyonu 1

Dosya Sıkıştırma (File Compression) Kütük Organizasyonu 1 Dosya Sıkıştırma (File Compression) Kütük Organizasyonu İçerik Dosya sıkıştırma nedir? Dosya sıkıştırma yöntemleri nelerdir? Run-Length Kodlaması Huffman Kodlaması Kütük Organizasyonu 2 Dosya Sıkıştırma

Detaylı

T.C. TRAKYA ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ

T.C. TRAKYA ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ T.C. TRAKYA ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ SIKIŞTIRILMIŞ METİN VERİLER İÇİNDE DİZGİ EŞLEME ALGORİTMALARININ KULLANILMASININ İNCELENMESİ VE YENİ BİR YAKLAŞIMIN GELİŞTİRİLMESİ Halil Nusret BULUŞ Doktora

Detaylı

Dosya Sıkıştırma (File Compression) Kütük Organizasyonu 1

Dosya Sıkıştırma (File Compression) Kütük Organizasyonu 1 Dosya Sıkıştırma (File Compression) Kütük Organizasyonu 1 İçerik Dosya sıkıştırma nedir? Dosya sıkıştırma yöntemleri nelerdir? Run-Length Kodlaması Huffman Kodlaması Kütük Organizasyonu 2 Dosya Sıkıştırma

Detaylı

Belirteç Seçiminin Huffman Kodlaması Üzerine Etkisi

Belirteç Seçiminin Huffman Kodlaması Üzerine Etkisi Belirteç Seçiminin Huffman Kodlaması Üzerine Etkisi Korhan GÜNEL 1, Onur DİNCEL 2 1 Adnan Menderes Üniversitesi, Fen-Edebiyat Fakültesi, Matematik Bölümü, Aydın 2 Adnan Menderes Üniversitesi, Fen Bilimleri

Detaylı

#$% &'#(# Konular. Bits of Information. Binary Özellikler Superimposed Coding Signature Formation Deerlendirme

#$% &'#(# Konular. Bits of Information. Binary Özellikler Superimposed Coding Signature Formation Deerlendirme !" #$% &'#(# Konular Binary Özellikler Deerlendirme Binary Özellikler Bir binary özellik iki deer alabilir (kapalı veya açık; var veya yok gibi) Bir kiiye ait bilgiler binary olarak aaıdaki gibi gösterilebilir

Detaylı

VERİ SIKIŞTIRMA YÖNTEMLERİ

VERİ SIKIŞTIRMA YÖNTEMLERİ Karadeniz Teknik Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü Bilgisayar Sistemleri Laboratuarı 1. Giriş VERİ SIKIŞTIRMA YÖNTEMLERİ Veri sıkıştırma (data compression) gelen verilerin

Detaylı

Fonksiyon Optimizasyonunda Genetik Algoritmalar

Fonksiyon Optimizasyonunda Genetik Algoritmalar 01-12-06 Ümit Akıncı Fonksiyon Optimizasyonunda Genetik Algoritmalar 1 Fonksiyon Optimizasyonu Fonksiyon optimizasyonu fizikte karşımıza sık çıkan bir problemdir. Örneğin incelenen sistemin kararlı durumu

Detaylı

İNSANSIZ HAVA ARACI PERVANELERİNİN TASARIM, ANALİZ VE TEST YETENEKLERİNİN GELİŞTİRİLMESİ

İNSANSIZ HAVA ARACI PERVANELERİNİN TASARIM, ANALİZ VE TEST YETENEKLERİNİN GELİŞTİRİLMESİ IV. ULUSAL HAVACILIK VE UZAY KONFERANSI 12-14 Eylül 212, Hava Harp Okulu, İstanbul İNSANSIZ HAVA ARACI PERVANELERİNİN TASARIM, ANALİZ VE TEST YETENEKLERİNİN GELİŞTİRİLMESİ Oğuz Kaan ONAY *, Javid KHALILOV,

Detaylı

Algoritma Geliştirme ve Veri Yapıları 9 Ağaç Veri Modeli ve Uygulaması. Mustafa Kemal Üniversitesi

Algoritma Geliştirme ve Veri Yapıları 9 Ağaç Veri Modeli ve Uygulaması. Mustafa Kemal Üniversitesi Algoritma Geliştirme ve Veri Yapıları 9 Ağaç Veri Modeli ve Uygulaması Ağaç, verilerin birbirine sanki bir ağaç yapısı oluşturuyormuş gibi sanal olarak bağlanmasıyla elde edilen hiyararşik yapıya sahip

Detaylı

ISSN: El-Cezerî Fen ve Mühendislik Dergisi Cilt: 3, No: 2, 2016 ( )

ISSN: El-Cezerî Fen ve Mühendislik Dergisi Cilt: 3, No: 2, 2016 ( ) www.tubiad.org ISSN:2148-3736 El-Cezerî Fen ve Mühendislik Dergisi Cilt: 3, No: 2, 2016 (287-296) El-Cezerî Journal of Science and Engineering Vol: 3, No: 2, 2016 (287-296) ECJSE Makale / Research Paper

Detaylı

Algoritmalar. Arama Problemi ve Analizi. Bahar 2016 Doç. Dr. Suat Özdemir 1

Algoritmalar. Arama Problemi ve Analizi. Bahar 2016 Doç. Dr. Suat Özdemir 1 Algoritmalar Arama Problemi ve Analizi Bahar 2016 Doç. Dr. Suat Özdemir 1 Arama Problemi Sıralama algoritmaları gibi arama algoritmaları da gerçek hayat bilgisayar mühendisliği problemlerinin çözümünde

Detaylı

Rapor Hazırlama Kuralları

Rapor Hazırlama Kuralları Temel Bilgiler 1. Temel Bilgiler Rapor Hazırlama Kuralları Rapor hazırlamada, bu belge ile birlikte bulunan rapor örneği sitili kullanılabilir. Bu kalıp stil seçildiğinde, sayfa düzeni, paragraf yapıları

Detaylı

YZM 5257 YAPAY ZEKA VE UZMAN SİSTEMLER DERS#6: GENETİK ALGORİTMALAR

YZM 5257 YAPAY ZEKA VE UZMAN SİSTEMLER DERS#6: GENETİK ALGORİTMALAR YZM 5257 YAPAY ZEKA VE UZMAN SİSTEMLER DERS#6: GENETİK ALGORİTMALAR Sınıflandırma Yöntemleri: Karar Ağaçları (Decision Trees) Örnek Tabanlı Yöntemler (Instance Based Methods): k en yakın komşu (k nearest

Detaylı

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi Bil101 Bilgisayar Yazılımı I Bilgisayar Yüksek Mühendisi Kullanıcıdan aldığı veri ya da bilgilerle kullanıcının isteği doğrultusunda işlem ve karşılaştırmalar yapabilen, veri ya da bilgileri sabit disk,

Detaylı

DENEY 3: DTMF İŞARETLERİN ÜRETİLMESİ VE ALGILANMASI

DENEY 3: DTMF İŞARETLERİN ÜRETİLMESİ VE ALGILANMASI DENEY 3: DTMF İŞARETLERİN ÜRETİLMESİ VE ALGILANMASI AMAÇ: DTMF işaretlerin yapısının, üretim ve algılanmasının incelenmesi. MALZEMELER TP5088 ya da KS58015 M8870-01 ya da M8870-02 (diğer eşdeğer entegreler

Detaylı

Rapor Hazırlama Kuralları

Rapor Hazırlama Kuralları Temel Bilgiler 1. Temel Bilgiler Rapor Hazırlama Kuralları Bilgisayar programcılıüı öğrencilerinin hazırlayacakları tüm proje ve bitirme projesiraporlarını bu belgede açıklandığı biçimde hazırlamaları

Detaylı

Algoritma Geliştirme ve Veri Yapıları 3 Veri Yapıları. Mustafa Kemal Üniversitesi

Algoritma Geliştirme ve Veri Yapıları 3 Veri Yapıları. Mustafa Kemal Üniversitesi Algoritma Geliştirme ve Veri Yapıları 3 Veri Yapıları Veri yapısı, bilginin anlamlı sırada bellekte veya disk, çubuk bellek gibi saklama birimlerinde tutulması veya saklanması şeklini gösterir. Bilgisayar

Detaylı

İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BİLGİSAYAR SİSTEMLERİ LABORATUVARI

İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BİLGİSAYAR SİSTEMLERİ LABORATUVARI İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BİLGİSAYAR SİSTEMLERİ LABORATUVARI Veri Sıkıştırma Yöntemleri ve Huffman Kodlama ile Veri Sıkıştırma 1. Deney Amacı Veri sıkıştırma sadece bilgisayar

Detaylı

İMGE İŞLEME Ders-9. İmge Sıkıştırma. Dersin web sayfası: (Yrd. Doç. Dr. M.

İMGE İŞLEME Ders-9. İmge Sıkıştırma. Dersin web sayfası:  (Yrd. Doç. Dr. M. İMGE İŞLEME Ders-9 İmge Sıkıştırma (Yrd. Doç. Dr. M. Kemal GÜLLÜ) Dersin web sayfası: http://mf.kou.edu.tr/elohab/kemalg/imge_web/odev.htm Hazırlayan: M. Kemal GÜLLÜ İmge Sıkıştırma Veri sıkıştırmanın

Detaylı

Java, Python ve Ruby Dillerinin Performans Karşılaştırması

Java, Python ve Ruby Dillerinin Performans Karşılaştırması Java, Python ve Ruby Dillerinin Performans Karşılaştırması Çanakkale Onsekiz Mart Üniversitesi Mustafa ŞAHİN Akademik Bilişim 2007 1 Dillerin seçim nedeni Java, Pyton ve Ruby Programlama dillerinin popülerliği

Detaylı

TEMEL BİLGİSAYAR BİLİMLERİ. Programcılık, problem çözme ve algoritma oluşturma

TEMEL BİLGİSAYAR BİLİMLERİ. Programcılık, problem çözme ve algoritma oluşturma TEMEL BİLGİSAYAR BİLİMLERİ Programcılık, problem çözme ve algoritma oluşturma Programcılık, program çözme ve algoritma Program: Bilgisayara bir işlemi yaptırmak için yazılan komutlar dizisinin bütünü veya

Detaylı

ŞİFRELEME YÖNTEMLERİ

ŞİFRELEME YÖNTEMLERİ ŞİFRELEME YÖNTEMLERİ GİRİŞ Şifreleme bir mesajın gizliliğini sağlamak için kullanılan bir yöntemdir. Şifreleme çeşitlerinden biri olan simetrik şifrelemede ise amaç gönderici ile alıcının ortak bir anahtar

Detaylı

YZM ALGORİTMA ANALİZİ VE TASARIM DERS#1: ALGORİTMA KAVRAMI

YZM ALGORİTMA ANALİZİ VE TASARIM DERS#1: ALGORİTMA KAVRAMI YZM 3207- ALGORİTMA ANALİZİ VE TASARIM DERS#1: ALGORİTMA KAVRAMI Algoritma Nedir? Algoritma Bir problemin çözümü için geliştirilmiş özel metot Girdileri çıktılara dönüştüren sıralı hesaplama adımları Tanımlanmış

Detaylı

Ekle Menüsü İşlevleri ÜNİTE 10. Bu üniteyi çalıştıktan sonra; Ekle Menüsü Tablolar Resimler ve Çizimler Bağlantılar Metin ve Simgeler Media Flash

Ekle Menüsü İşlevleri ÜNİTE 10. Bu üniteyi çalıştıktan sonra; Ekle Menüsü Tablolar Resimler ve Çizimler Bağlantılar Metin ve Simgeler Media Flash Ekle Menüsü İşlevleri ÜNİTE 10 Ekle Menüsü Tablolar Resimler ve Çizimler Bağlantılar Metin ve Simgeler Media Flash Bu üniteyi çalıştıktan sonra; Microsoft Powerpoint temel işlemleri hakkında bilgiler verildikten

Detaylı

AES (Advanced Encryption Standard)

AES (Advanced Encryption Standard) ŞİFRELEME ÇEŞİTLERİ AES (Advanced Encryption Standard) AES (Rijndael) algoritması 128 bit veri bloklarını 128, 192, 256 bit anahtar seçenekleri ile şifreleyen bir algoritmadır. 128 bit anahtar için 10

Detaylı

VERİ YAPILARI VE PROGRAMLAMA

VERİ YAPILARI VE PROGRAMLAMA VERİ YAPILARI VE PROGRAMLAMA (BIP116) Yazar: Doç.Dr.İ.Hakkı.Cedimoğlu SAKARYA ÜNİVERSİTESİ Adapazarı Meslek Yüksekokulu Bu ders içeriğinin basım, yayım ve satış hakları Sakarya Üniversitesi ne aittir.

Detaylı

Bilgisayarların Gelişimi

Bilgisayarların Gelişimi Bilgisayarların Gelişimi Joseph Jacquard (1810) Bilgisayar tabanlı halı dokuma makinesi Delikli Kart (Punch Card) Algoritma ve Programlama 6 Bilgisayar Sistemi 1. Donanım fiziksel aygıtlardır. 2. Yazılım

Detaylı

GENETİK ALGORİTMALAR. Araş. Gör. Nesibe YALÇIN BİLECİK ÜNİVERSİTESİ

GENETİK ALGORİTMALAR. Araş. Gör. Nesibe YALÇIN BİLECİK ÜNİVERSİTESİ GENETİK ALGORİTMALAR Araş. Gör. Nesibe YALÇIN BİLECİK ÜNİVERSİTESİ GENETİK ALGORİTMALAR Genetik algoritmalar, Darwin in doğal seçim ve evrim teorisi ilkelerine dayanan bir arama ve optimizasyon yöntemidir.

Detaylı

İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BİLGİSAYAR SİSTEMLERİ LABORATUVARI LİNEER KRİPTANALİZ

İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BİLGİSAYAR SİSTEMLERİ LABORATUVARI LİNEER KRİPTANALİZ İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BİLGİSAYAR SİSTEMLERİ LABORATUVARI LİNEER KRİPTANALİZ 1. DENEYİN AMACI Bu deney, simetrik şifreleme algoritması kullanılarak şifrelenmiş bir

Detaylı

Anahtar Bağımlı Bir Şifreleme Algoritması (IRON)

Anahtar Bağımlı Bir Şifreleme Algoritması (IRON) Anahtar Bağımlı Bir Şifreleme Algoritması (IRON) Dokuz Eylül Üniversitesi, Bilgisayar Mühendisliği Bölümü, 35160, İzmir ndemir@demir.web.tr, dalkilic@cs.deu.edu.tr Özet: Bu makalede, Feistel yapısı kullanan

Detaylı

DAVİD HUFFMAN ALGORİTMASI Sayısal haberleşme tekniklerinin önemli ölçüde arttığı günümüzde, sayısal verilen iletilmesi ve saklanması bir hayli önem kazanmıştır. Sayısal veriler çeşitli saklayıcılarda saklanırken

Detaylı

DOSYA NEDİR? Verilerin HDD de saklanması. Verilerin HDD de saklanması DOSYA SİSTEMİ NEDİR?

DOSYA NEDİR? Verilerin HDD de saklanması. Verilerin HDD de saklanması DOSYA SİSTEMİ NEDİR? DOSYA NEDİR? Dosya;disk üzerinde depolanmış verilerin bütününe verilen isimlendirmedir. İşletim sistemi tipik olarak iki çeşit dosya içerir. Birincisi; bir sistem görevi yerine getirirken yada bir uygulama

Detaylı

ÜNİT E ÜNİTE GİRİŞ. Algoritma Mantığı. Algoritma Özellikleri PROGRAMLAMA TEMELLERİ ÜNİTE 3 ALGORİTMA

ÜNİT E ÜNİTE GİRİŞ. Algoritma Mantığı. Algoritma Özellikleri PROGRAMLAMA TEMELLERİ ÜNİTE 3 ALGORİTMA PROGRAMLAMA TEMELLERİ ÜNİTE 3 ALGORİTMA GİRİŞ Bilgisayarların önemli bir kullanım amacı, veri ve bilgilerin kullanılarak var olan belirli bir problemin çözülmeye çalışılmasıdır. Bunun için, bilgisayarlar

Detaylı

BIP116-H14-1 BTP104-H014-1

BIP116-H14-1 BTP104-H014-1 VERİ YAPILARI VE PROGRAMLAMA (BIP116) Yazar: Doç.Dr.İ.Hakkı.Cedimoğlu SAKARYA ÜNİVERSİTESİ Adapazarı Meslek Yüksekokulu Bu ders içeriğinin basım, yayım ve satış hakları Sakarya Üniversitesi ne aittir.

Detaylı

3.3. İki Tabanlı Sayı Sisteminde Dört İşlem

3.3. İki Tabanlı Sayı Sisteminde Dört İşlem 3.3. İki Tabanlı Sayı Sisteminde Dört İşlem A + B = 2 0 2 1 (Elde) A * B = Sonuç A B = 2 0 2 1 (Borç) A / B = Sonuç 0 + 0 = 0 0 0 * 0 = 0 0 0 = 0 0 0 / 0 = 0 0 + 1 = 1 0 0 * 1 = 0 0 1 = 1 1 0 / 1 = 0 1

Detaylı

BİR MONTAJ HATTI ÜRETİM SİSTEMİNDE OPTİMAL İŞGÜCÜ DAĞILIMININ ARENA PROCESS ANALYZER (PAN) VE OPTQUEST KULLANILARAK BELİRLENMESİ

BİR MONTAJ HATTI ÜRETİM SİSTEMİNDE OPTİMAL İŞGÜCÜ DAĞILIMININ ARENA PROCESS ANALYZER (PAN) VE OPTQUEST KULLANILARAK BELİRLENMESİ BİR MONTAJ HATTI ÜRETİM SİSTEMİNDE OPTİMAL İŞGÜCÜ DAĞILIMININ ARENA PROCESS ANALYZER (PAN) VE OPTQUEST KULLANILARAK BELİRLENMESİ Özgür ARMANERİ Dokuz Eylül Üniversitesi Özet Bu çalışmada, bir montaj hattı

Detaylı

SİMETRİK ŞİFRELEME. DES (Veri Şifreleme Standardı, Data Encryption Standard)

SİMETRİK ŞİFRELEME. DES (Veri Şifreleme Standardı, Data Encryption Standard) SİMETRİK ŞİFRELEME DES (Veri Şifreleme Standardı, Data Encryption Standard) DES, veri şifrelemek (encryption) ve şifrelenmiş verileri açmak (decryption) için geliştirilmiş bir standarttır. Esas olarak

Detaylı

Yüz Tanımaya Dayalı Uygulamalar. (Özet)

Yüz Tanımaya Dayalı Uygulamalar. (Özet) 4 Yüz Tanımaya Dayalı Uygulamalar (Özet) Günümüzde, teknolojinin gelişmesi ile yüz tanımaya dayalı bir çok yöntem artık uygulama alanı bulabilmekte ve gittikçe de önem kazanmaktadır. Bir çok farklı uygulama

Detaylı

... ROBOTİK VE KODLAMA EĞİTİMİ ÇERÇEVESİNDE ÖĞRETİM YILI BİLİŞİM TEKNOLOJİLERİ DERSİ ÜNİTELENDİRİLMİŞ YILLIK DERS PLANI

... ROBOTİK VE KODLAMA EĞİTİMİ ÇERÇEVESİNDE ÖĞRETİM YILI BİLİŞİM TEKNOLOJİLERİ DERSİ ÜNİTELENDİRİLMİŞ YILLIK DERS PLANI ... ROBOTİK VE KODLAMA EĞİTİMİ ÇERÇEVESİNDE 2018 2019 ÖĞRETİM YILI BİLİŞİM TEKNOLOJİLERİ DERSİ ÜNİTELENDİRİLMİŞ YILLIK DERS PLANI Hazırlayan : Özel Öğretim Kurumları Birliği (ÖZKURBİR) Dersin Adı : Bilişim

Detaylı

Yazılım Mühendisliği 1

Yazılım Mühendisliği 1 Yazılım Mühendisliği 1 HEDEFLER Yazılım, program ve algoritma kavramları anlar. Yazılım ve donanım maliyetlerinin zamansal değişimlerini ve nedenleri hakkında yorum yapar. Yazılım mühendisliği ile Bilgisayar

Detaylı

Ders Notlarının Creative Commons lisansı Feza BUZLUCA ya aittir. Lisans: http://creativecommons.org/licenses/by-nc-nd/3.0/

Ders Notlarının Creative Commons lisansı Feza BUZLUCA ya aittir. Lisans: http://creativecommons.org/licenses/by-nc-nd/3.0/ Eşzamanlı (Senkron) Ardışıl Devrelerin Tasarlanması (Design) Bir ardışıl devrenin tasarlanması, çözülecek olan problemin sözle anlatımıyla (senaryo) başlar. Bundan sonra aşağıda açıklanan aşamalardan geçilerek

Detaylı

UZAKTAN EĞİTİM MERKEZİ

UZAKTAN EĞİTİM MERKEZİ ÜNİTE 2 VERİ TABANI İÇİNDEKİLER Veri Tabanı Veri Tabanı İle İlgili Temel Kavramlar Tablo Alan Sorgu Veri Tabanı Yapısı BAYBURT ÜNİVERSİTESİ UZAKTAN EĞİTİM MERKEZİ BİLGİSAYAR II HEDEFLER Veri tabanı kavramını

Detaylı

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java da Fonksiyon Tanımlamak Java da Döngüler Java da Şart İfadeleri Uygulamalar Java da Fonksiyon Tanımlamak JAVA DA FONKSİYON TANIMLAMAK 4 Fonksiyonlar;

Detaylı

T.C. ERCİYES ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ EĞİTİM ÖĞRETİM YILI DERS KATALOĞU

T.C. ERCİYES ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ EĞİTİM ÖĞRETİM YILI DERS KATALOĞU T.C. ERCİYES ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ - EĞİTİM ÖĞRETİM YILI DERS KATALOĞU Ders Kodu Bim Kodu Ders Adı Türkçe Ders Adı İngilizce Dersin Dönemi T Snf Açıl.Dönem P

Detaylı

Bazı Gömülü Sistemlerde OpenCV ile Performans Analizi

Bazı Gömülü Sistemlerde OpenCV ile Performans Analizi OpenCV ile Performans Analizi S.Ü Bil.Müh. 2. Sınıf Öğrencisi Faruk GÜNER farukguner@outlook.com.tr S.Ü Bil.Müh. 2. Sınıf Öğrencisi Mesut PİŞKİN mesutpiskin@outlook.com S.Ü Öğr. Gör. Dr. Mustafa Nevzat

Detaylı

Sanal Makineler ve Linux Konteynerlerin Performans Karşılaştırması

Sanal Makineler ve Linux Konteynerlerin Performans Karşılaştırması Sanal Makineler ve Linux Konteynerlerin Performans Karşılaştırması Emre Can YILMAZ 1, Recai OKTAŞ 2 1 Ondokuz Mayıs Üniversitesi, Fen Bilimleri Enstitüsü, Bilgisayar Mühendisliği Anabilim Dalı, Samsun

Detaylı

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 10. LINUX OS (Programlama) BİLGİ & İLETİŞİM TEKNOLOJİLERİ GENEL BAKIŞ

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 10. LINUX OS (Programlama) BİLGİ & İLETİŞİM TEKNOLOJİLERİ GENEL BAKIŞ Ders 10 LINUX OS (Programlama) BİLGİ & İLETİŞİM TEKNOLOJİLERİ GENEL BAKIŞ LINUX de Programlama LINUX işletim sistemi zengin bir programlama ortamı sağlar. Kullanıcılara sistemi geliştirme olanağı sağlar.

Detaylı

Temel Mikroişlemci Tabanlı Bir Sisteme Hata Enjekte Etme Yöntemi Geliştirilmesi. Buse Ustaoğlu Berna Örs Yalçın

Temel Mikroişlemci Tabanlı Bir Sisteme Hata Enjekte Etme Yöntemi Geliştirilmesi. Buse Ustaoğlu Berna Örs Yalçın Temel Mikroişlemci Tabanlı Bir Sisteme Hata Enjekte Etme Yöntemi Geliştirilmesi Buse Ustaoğlu Berna Örs Yalçın İçerik Giriş Çalişmanın Amacı Mikroişlemciye Hata Enjekte Etme Adımları Hata Üreteci Devresi

Detaylı

Geçmişten Günümüze Kastamonu Üniversitesi Dergisi: Yayımlanan Çalışmalar Üzerine Bir Araştırma 1

Geçmişten Günümüze Kastamonu Üniversitesi Dergisi: Yayımlanan Çalışmalar Üzerine Bir Araştırma 1 Mart 2017 Cilt:25 No:2 Kastamonu Eğitim Dergisi xii-xxi Geçmişten Günümüze Kastamonu Üniversitesi Dergisi: Yayımlanan Çalışmalar Üzerine Bir Araştırma 1 Lütfi İNCİKABI, Samet KORKMAZ, Perihan AYANOĞLU,

Detaylı

Web Server Sunucu Loglarının K-Komşu Algoritması ile İ ncelenmesi

Web Server Sunucu Loglarının K-Komşu Algoritması ile İ ncelenmesi Web Server Sunucu Loglarının K-Komşu Algoritması ile İ ncelenmesi İçindekiler 1 Özet... 2 2 Giriş... 3 3 Uygulama... 4 4 Sonuçlar... 6 1 1 Özet Web sunucu logları üzerinde veri madenciliği yapmanın temel

Detaylı

UZAYSAL VE DOLU GÖVDELİ AŞIKLARIN ÇELİK ÇATI AĞIRLIĞINA ETKİSİNİN İNCELENMESİ

UZAYSAL VE DOLU GÖVDELİ AŞIKLARIN ÇELİK ÇATI AĞIRLIĞINA ETKİSİNİN İNCELENMESİ UZAYSAL VE DOLU GÖVDELİ AŞIKLARIN ÇELİK ÇATI AĞIRLIĞINA ETKİSİNİN İNCELENMESİ Mutlu SEÇER* ve Özgür BOZDAĞ* *Dokuz Eylül Üniv., Müh. Fak., İnşaat Müh. Böl., İzmir ÖZET Bu çalışmada, ülkemizde çelik hal

Detaylı

Merkezi İşlem. Birimi

Merkezi İşlem. Birimi VERİ: Kullanıcı veya bilgisayar tarafından sağlanırlar. Sayılar, harfler, sözcükler, ses sinyalleri ve komutlardır.. Veriler bilgisayarın giriş birimleri tarafından toplanırlar. Giriş İşlem Çıkış Önbellek

Detaylı

Dış Veri Alma ÜNİTE 6. Bu üniteyi çalıştıktan sonra; Veri Menüsü Dış Veri Al Bağlantılar Sırala ve Filtre Uygula Veri Araçları Anahat

Dış Veri Alma ÜNİTE 6. Bu üniteyi çalıştıktan sonra; Veri Menüsü Dış Veri Al Bağlantılar Sırala ve Filtre Uygula Veri Araçları Anahat Dış Veri Alma ÜNİTE 6 Veri Menüsü Dış Veri Al Bağlantılar Sırala ve Filtre Uygula Veri Araçları Anahat Bu üniteyi çalıştıktan sonra; Microsoft Excel hakkında temel işlemler öğrenildikten sonra veri alma

Detaylı

İşletim Sistemi. BTEP205 - İşletim Sistemleri

İşletim Sistemi. BTEP205 - İşletim Sistemleri İşletim Sistemi 2 İşletim sistemi (Operating System-OS), bilgisayar kullanıcısı ile bilgisayarı oluşturan donanım arasındaki iletişimi sağlayan ve uygulama programlarını çalıştırmaktan sorumlu olan sistem

Detaylı

ARDIŞIL DİYAGRAM YAPI DİYAGRAMI. Sistem Analizi ve Tasarımı Dersi

ARDIŞIL DİYAGRAM YAPI DİYAGRAMI. Sistem Analizi ve Tasarımı Dersi ARDIŞIL DİYAGRAM YAPI DİYAGRAMI Sistem Analizi ve Tasarımı Dersi İçindekiler Ardışıl Diyagram Nedir ve Neden Kullanılır... 3 Ardışıl Diyagram Elemanları... 3 MS Visio ile Ardışıl Diyagram Çizimi... 5 Violet

Detaylı

Fiziksel Tasarım Konuları. Dosya Organizasyon Teknikleri Kayıt Erişim Yöntemleri Veri Yapıları

Fiziksel Tasarım Konuları. Dosya Organizasyon Teknikleri Kayıt Erişim Yöntemleri Veri Yapıları Fiziksel Tasarım Konuları Dosya Organizasyon Teknikleri Kayıt Erişim Yöntemleri Veri Yapıları Fiziksel Tasarım İyi performans için Hızlı cevap zamanı Minimum disk erişimi Disk Yapısı İz(Track) Silindir

Detaylı

Veritabanı Tasarımı. Düzenli İfadeler

Veritabanı Tasarımı. Düzenli İfadeler Veritabanı Tasarımı Düzenli İfadeler Konular Düzenli ifadeleri tanımlama SQL ifadelerinde düzenli ifadeleri arama, eşleme ve yer değiştirme katarlarında kullanma Düzenli ifadeleri ve kontrol kısıtlamalarını

Detaylı

DEÜ MÜHENDİSLİK FAKÜLTESİ FEN BİLİMLERİ DERGİSİ Cilt: 12 Sayı: 3 sh. 77-85 Ekim 2010 BİÇİMBİLİME DAYALI DOKÜMAN SIKIŞTIRMA

DEÜ MÜHENDİSLİK FAKÜLTESİ FEN BİLİMLERİ DERGİSİ Cilt: 12 Sayı: 3 sh. 77-85 Ekim 2010 BİÇİMBİLİME DAYALI DOKÜMAN SIKIŞTIRMA DEÜ MÜHENDİSLİK FAKÜLTESİ FEN BİLİMLERİ DERGİSİ Cilt: 12 Sayı: 3 sh. 77-85 Ekim 2010 BİÇİMBİLİME DAYALI DOKÜMAN SIKIŞTIRMA (MORPHOLOGY BASED TEXT COMPRESSION) Hayriye GÖKSU*, Banu DİRİ** ÖZET/ABSTRACT

Detaylı

Optik Filtrelerde Performans Analizi Performance Analysis of the Optical Filters

Optik Filtrelerde Performans Analizi Performance Analysis of the Optical Filters Optik Filtrelerde Performans Analizi Performance Analysis of the Optical Filters Gizem Pekküçük, İbrahim Uzar, N. Özlem Ünverdi Elektronik ve Haberleşme Mühendisliği Bölümü Yıldız Teknik Üniversitesi gizem.pekkucuk@gmail.com,

Detaylı

Bilgisayar Temel kavramlar - Donanım -Yazılım Ufuk ÇAKIOĞLU

Bilgisayar Temel kavramlar - Donanım -Yazılım Ufuk ÇAKIOĞLU Bilgisayar Temel kavramlar - Donanım -Yazılım Ufuk ÇAKIOĞLU Bilgisayar Nedir? Bilgisayar; Kullanıcıdan aldığı bilgilerle mantıksal ve aritmetiksel işlemler yapabilen, Yaptığı işlemleri saklayabilen, Sakladığı

Detaylı

Ders 1 Minitab da Grafiksel Analiz-I

Ders 1 Minitab da Grafiksel Analiz-I ENM 5210 İSTATİSTİK VE YAZILIMLA UYGULAMALARI Ders 1 Minitab da Grafiksel Analiz-I İstatistik Nedir? İstatistik kelimesi ilk olarak Almanyada devlet anlamına gelen status kelimesine dayanılarak kullanılmaya

Detaylı

ALTIN ORAN ARAMA (GOLDEN SECTION SEARCH) METODU

ALTIN ORAN ARAMA (GOLDEN SECTION SEARCH) METODU ALTIN ORAN ARAMA (GOLDEN SECTION SEARCH) METODU Tek değişkenli bir f(x) fonksiyonunu ele alalım. [Bazı x ler için f (x) bulunamayabilir.] Aşağıdaki DOP modelini çözmek istediğimizi var sayalım. Max f(x)

Detaylı

Excel de Pivot Tablolar Tasarım ve Kullanımı

Excel de Pivot Tablolar Tasarım ve Kullanımı FARUK ÇUBUKÇU EXCEL AKADEMİ Excel de Pivot Tablolar Tasarım ve Kullanımı Pivot tablolar; satışlar, siparişler gibi verileri gruplamayı, alt toplamlarını almayı ve filtreleme işlemleri yapmayı sağlayan

Detaylı

Sistem Programlama. Kesmeler(Interrupts): Kesme mikro işlemcinin üzerinde çalıştığı koda ara vererek başka bir kodu çalıştırması işlemidir.

Sistem Programlama. Kesmeler(Interrupts): Kesme mikro işlemcinin üzerinde çalıştığı koda ara vererek başka bir kodu çalıştırması işlemidir. Kesmeler(Interrupts): Kesme mikro işlemcinin üzerinde çalıştığı koda ara vererek başka bir kodu çalıştırması işlemidir. Kesmeler çağırılma kaynaklarına göre 3 kısma ayrılırlar: Yazılım kesmeleri Donanım

Detaylı

Zeki Optimizasyon Teknikleri

Zeki Optimizasyon Teknikleri Zeki Optimizasyon Teknikleri Ara sınav - 25% Ödev (Haftalık) - 10% Ödev Sunumu (Haftalık) - 5% Final (Proje Sunumu) - 60% - Dönem sonuna kadar bir optimizasyon tekniğiyle uygulama geliştirilecek (Örn:

Detaylı

ALGORİTMA VE PROGRAMLAMA II

ALGORİTMA VE PROGRAMLAMA II ALGORİTMA VE PROGRAMLAMA II Yrd. Doç. Dr. Deniz KILINÇ deniz.kilinc@cbu.edu.tr YZM 1102 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Genel Bakış 2 Veri Hiyerarşisi Dosyalara Giriş

Detaylı

DİSK DEPOLAMA ALANLARI

DİSK DEPOLAMA ALANLARI DİSK DEPOLAMA ALANLARI 1. Giriş İşlemci hızı ve hafıza kapasitesinin disk hızından çok daha hızlı bir gelişim içinde bulunduğu göz önüne alınırsa, disk kullanımında teorik ilgi ve uygulamanın önemliliği

Detaylı

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI İÇİNDEKİLER IX İÇİNDEKİLER 1 GİRİŞ 1 Kitabın Amacı 1 Algoritmanın Önemi 2 Bilgisayarın Doğuşu ve Kullanım Amaçları 3 Programlama Dili Nedir? 3 Entegre Geliştirme Ortamı (IDE) Nedir? 4 2 ALGORİTMA VE AKIŞ

Detaylı

GENETİK ALGORİTMA ÖZNUR CENGİZ HİLAL KOCA

GENETİK ALGORİTMA ÖZNUR CENGİZ HİLAL KOCA GENETİK ALGORİTMA ÖZNUR CENGİZ 201410306014 HİLAL KOCA 150306024 GENETİK ALGORİTMA Genetik Algoritma yaklaşımının ortaya çıkışı 1970 lerin başında olmuştur. 1975 te John Holland ın makine öğrenmesi üzerine

Detaylı

BİL1001 Bilgisayar Bilimlerine Giriş 1

BİL1001 Bilgisayar Bilimlerine Giriş 1 DEÜ Bilgisayar Bilimleri Bölümü BİL1001 Bilgisayar Bilimlerine Giriş 1 Öğr. Gör. Dr. Alper VAHAPLAR 2017 Yaz Okulu Tekrarlı Yapılar Algoritmanın belirli bir kısmının, belirli kere ya da belirli durumlar

Detaylı

YÖNEYLEM ARAŞTIRMASI - III

YÖNEYLEM ARAŞTIRMASI - III YÖNEYLEM ARAŞTIRMASI - III Prof. Dr. Cemalettin KUBAT Yrd. Doç. Dr. Özer UYGUN İçerik Altın Oran (Golden Section Search) Arama Metodu Tek değişkenli bir f(x) fonksiyonunu ele alalım. [Bazı x ler için f

Detaylı

VERİ MADENCİLİĞİ (Karar Ağaçları ile Sınıflandırma) Yrd.Doç.Dr. Kadriye ERGÜN

VERİ MADENCİLİĞİ (Karar Ağaçları ile Sınıflandırma) Yrd.Doç.Dr. Kadriye ERGÜN VERİ MADENCİLİĞİ (Karar Ağaçları ile Sınıflandırma) Yrd.Doç.Dr. Kadriye ERGÜN kergun@balikesir.edu.tr Genel İçerik Veri Madenciliğine Giriş Veri Madenciliğinin Adımları Veri Madenciliği Yöntemleri Sınıflandırma

Detaylı

ALGORİTMA VE PROGRAMLAMA I

ALGORİTMA VE PROGRAMLAMA I ALGORİTMA VE PROGRAMLAMA I Yrd. Doç. Dr. Deniz KILINÇ deniz.kilinc@cbu.edu.tr YZM 1101 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Genel Bakış 2 Diziler Dizi Nedir? Dizilerin Bildirimi

Detaylı

İŞ İSTASYONU SEÇİM REHBERİ

İŞ İSTASYONU SEÇİM REHBERİ İŞ İSTASYONU SEÇİM REHBERİ Tasarım programları yapıları gereği çalışırken kompleks hesaplamalar yaparak ekrana en doğru ve gerçekçi görüntüyü getirmeye çalışır. Bu sebeple bilgisayar seçimi çalışma performansınızı

Detaylı

Türkçe Dokümanlar Ġçin Yazar Tanıma

Türkçe Dokümanlar Ġçin Yazar Tanıma Türkçe Dokümanlar Ġçin Yazar Tanıma Özcan KOLYĠĞĠT, Rıfat AġLIYAN, Korhan GÜNEL Adnan Menderes Üniversitesi, Matematik Bölümü Bölümü, Aydın okolyigit@gmail.com, rasliyan@adu.edu.tr, kgunel@adu.edu.tr Özet:

Detaylı

VERİ MADENCİLİĞİ (Karar Ağaçları ile Sınıflandırma) Yrd.Doç.Dr. Kadriye ERGÜN

VERİ MADENCİLİĞİ (Karar Ağaçları ile Sınıflandırma) Yrd.Doç.Dr. Kadriye ERGÜN VERİ MADENCİLİĞİ (Karar Ağaçları ile Sınıflandırma) Yrd.Doç.Dr. Kadriye ERGÜN kergun@balikesir.edu.tr İçerik Sınıflandırma yöntemleri Karar ağaçları ile sınıflandırma Entropi Kavramı ID3 Algoritması C4.5

Detaylı

İstatistik Nedir? Ders 1 Minitab da Grafiksel Analiz-I ENM 5210 İSTATİSTİK VE YAZILIMLA UYGULAMALARI. İstatistiğin Konusu Olan Olaylar

İstatistik Nedir? Ders 1 Minitab da Grafiksel Analiz-I ENM 5210 İSTATİSTİK VE YAZILIMLA UYGULAMALARI. İstatistiğin Konusu Olan Olaylar ENM 5210 İSTATİSTİK VE YAZILIMLA UYGULAMALARI İstatistik Nedir? İstatistik kelimesi ilk olarak Almanyada devlet anlamına gelen status kelimesine dayanılarak kullanılmaya başlanmıştır. Ders 1 Minitab da

Detaylı

VERİ YAPILARI. Yrd. Doç. Dr. Murat GÖK Bilgisayar Mühendisliği Bölümü YALOVA ÜNİVERSİTESİ HASH TABLOLARI.

VERİ YAPILARI. Yrd. Doç. Dr. Murat GÖK Bilgisayar Mühendisliği Bölümü YALOVA ÜNİVERSİTESİ HASH TABLOLARI. VERİ YAPILARI HASH TABLOLARI Yrd. Doç. Dr. Murat GÖK Bilgisayar Mühendisliği Bölümü YALOVA ÜNİVERSİTESİ muratgok@gmail.com Hash tabloları Hash tablo veri yapısı ile veri arama, ekleme ve silme işlemleri

Detaylı

Web Madenciliği (Web Mining)

Web Madenciliği (Web Mining) Web Madenciliği (Web Mining) Hazırlayan: M. Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Denetimli Öğrenmenin Temelleri Karar Ağaçları Entropi ID3 Algoritması C4.5 Algoritması Twoing

Detaylı

Sıralı Erişimli Dosyalar. Kütük Organizasyonu 1

Sıralı Erişimli Dosyalar. Kütük Organizasyonu 1 Sıralı Erişimli Dosyalar Kütük Organizasyonu 1 Dosya Fiziksel depolama ortamlarında verilerin saklandığı mantıksal yapılara dosya denir. Dosyalar iki şekilde görülebilir. Byte dizisi şeklinde veya Alanlar

Detaylı

Zeki Optimizasyon Teknikleri

Zeki Optimizasyon Teknikleri Zeki Optimizasyon Teknikleri Genetik Algoritma (Genetic Algorithm) Doç.Dr. M. Ali Akcayol Genetik Algoritma 1970 li yıllarda John Holland tarafından geliştirilmiştir. 1989 yılında David E. Goldberg Genetik

Detaylı

Fiziksel Veritabanı Modelleme

Fiziksel Veritabanı Modelleme Fiziksel Veritabanı Modelleme Fiziksel Veritabanı VTYS, verileri yan bellekte tutar. Bu yüzden VTYS lerde sıklıkla READ (yan bellekten okuma) ve WRITE (yan belleğe yazma) işlemi meydana gelir. READ ve

Detaylı

Bilişim Sistemleri. Modelleme, Analiz ve Tasarım. Yrd. Doç. Dr. Alper GÖKSU

Bilişim Sistemleri. Modelleme, Analiz ve Tasarım. Yrd. Doç. Dr. Alper GÖKSU Bilişim Sistemleri Modelleme, Analiz ve Tasarım Yrd. Doç. Dr. Alper GÖKSU Ders Akışı Hafta 5. İhtiyaç Analizi ve Modelleme II Haftanın Amacı Bilişim sistemleri ihtiyaç analizinin modeli oluşturulmasında,

Detaylı

Temel Bilgisayar Programlama

Temel Bilgisayar Programlama BÖLÜM 11: : Birçok programda, bazı verilerin disk üzerinde saklanmasına gerek duyulur. Bütün programlama dillerinde, sabit disk sürücüsü (Hard Disk Drive, HDD) üzerindeki verileri okumak veya diske veri

Detaylı

KİNETİK MODEL PARAMETRELERİNİN BELİRLENMESİNDE KULLANILAN OPTİMİZASYON TEKNİKLERİNİN KIYASLANMASI

KİNETİK MODEL PARAMETRELERİNİN BELİRLENMESİNDE KULLANILAN OPTİMİZASYON TEKNİKLERİNİN KIYASLANMASI KİNETİK MODEL PARAMETRELERİNİN BELİRLENMESİNDE KULLANILAN OPTİMİZASYON TEKNİKLERİNİN KIYASLANMASI Hatice YANIKOĞLU a, Ezgi ÖZKARA a, Mehmet YÜCEER a* İnönü Üniversitesi Mühendislik Fakültesi Kimya Mühendisliği

Detaylı

3. Bölüm Algoritmalar

3. Bölüm Algoritmalar 3. Bölüm Algoritmalar Algoritma ve Programlamaya Giriş Dr. Serkan DİŞLİTAŞ 3.1. Veri ve Bilgi Şekil 3.1 de bilgisayar sistemin temelini oluşturan veri işlem modeli görülmektedir. Hesaplama, saklama gibi

Detaylı

Adım Adım SPSS. 1- Data Girişi ve Düzenlemesi 2- Hızlı Menü. Y. Doç. Dr. İbrahim Turan Nisan 2011

Adım Adım SPSS. 1- Data Girişi ve Düzenlemesi 2- Hızlı Menü. Y. Doç. Dr. İbrahim Turan Nisan 2011 Adım Adım SPSS 1- Data Girişi ve Düzenlemesi 2- Hızlı Menü Y. Doç. Dr. İbrahim Turan Nisan 2011 File (Dosya) Menüsü Excel dosyalarını SPSS e aktarma Variable View (Değişken Görünümü 1- Name (İsim - Kod)

Detaylı

NACA PROFİL AİLE GEOMETRİSİ HESAP PROGRAMI KULLANMA KILAVUZU

NACA PROFİL AİLE GEOMETRİSİ HESAP PROGRAMI KULLANMA KILAVUZU NACA PROFİL AİLE GEOMETRİSİ HESAP PROGRAMI KULLANMA KILAVUZU NACA kesit programı çizim programı Visual Basic V5.0 dilinde yazılmıştır. Programın amacı, kullanıcının istediği NACA kesitinin çizimini çok

Detaylı

ANKARA ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ DÖNEM PROJESİ TAŞINMAZ DEĞERLEMEDE HEDONİK REGRESYON ÇÖZÜMLEMESİ. Duygu ÖZÇALIK

ANKARA ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ DÖNEM PROJESİ TAŞINMAZ DEĞERLEMEDE HEDONİK REGRESYON ÇÖZÜMLEMESİ. Duygu ÖZÇALIK ANKARA ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ DÖNEM PROJESİ TAŞINMAZ DEĞERLEMEDE HEDONİK REGRESYON ÇÖZÜMLEMESİ Duygu ÖZÇALIK GAYRİMENKUL GELİŞTİRME VE YÖNETİMİ ANABİLİM DALI ANKARA 2018 Her hakkı saklıdır

Detaylı

Bilgilerin Uzun Vadeli Saklanması

Bilgilerin Uzun Vadeli Saklanması 8 DOSYA SİSTEMS STEMİ Bilgilerin Uzun Vadeli Saklanması saklanacak veriler çok fazla olabilir veriler proses sonlandıktan sonra da kaybolmamalı bilgiye prosesler ortak olarak ulaşabilmeli 424 Dosya Sistemi

Detaylı

127 - Twoing Algoritması ile Sınıflandırma Kalp Hastalığı Uygulaması MEHMET AKİF ERSOY ÜNİVERSİTESİ İLHAN UYSAL MEHMET BİLEN SAMİ ULUKUŞ

127 - Twoing Algoritması ile Sınıflandırma Kalp Hastalığı Uygulaması MEHMET AKİF ERSOY ÜNİVERSİTESİ İLHAN UYSAL MEHMET BİLEN SAMİ ULUKUŞ 127 - Twoing Algoritması ile Sınıflandırma Kalp Hastalığı Uygulaması MEHMET AKİF ERSOY ÜNİVERSİTESİ İLHAN UYSAL MEHMET BİLEN SAMİ ULUKUŞ Veri Madenciliği : Bir sistemin veri madenciliği sistemi olabilmesi

Detaylı

MESLEK YÜKSEKOKULLARINA SINAVLI VE SINAVSIZ GEÇİŞ SİSTEMİ İLE YERLEŞEN ÖĞRENCİLERİN PERFORMANSLARININ KARŞILAŞTIRILMASI

MESLEK YÜKSEKOKULLARINA SINAVLI VE SINAVSIZ GEÇİŞ SİSTEMİ İLE YERLEŞEN ÖĞRENCİLERİN PERFORMANSLARININ KARŞILAŞTIRILMASI MESLEK YÜKSEKOKULLARINA SINAVLI VE SINAVSIZ GEÇİŞ SİSTEMİ İLE YERLEŞEN ÖĞRENCİLERİN PERFORMANSLARININ KARŞILAŞTIRILMASI PERFORMANCE COMPARASION OF VOCATIONAL SCHOOL STUDENTS ENROLLED VIA ENTRY EXAM AND

Detaylı

Yrd. Doç. Dr. Caner ÖZCAN

Yrd. Doç. Dr. Caner ÖZCAN Yrd. Doç. Dr. Caner ÖZCAN GİRİŞ Değişken ve dizilerde tutulan değerler programın çalışması esnasında değerlerini korurlarken programın çalışması sona erdiğinde veri kaybolur. Dosyalar verinin kalıcı olarak

Detaylı

NESNEYE YÖNELİK PROGRAMLAMA

NESNEYE YÖNELİK PROGRAMLAMA NESNEYE YÖNELİK PROGRAMLAMA Rastgele sayı üretme C#'ta program yazarken (özellikle oyun programlarında) rastgele değerlere ihtiyaç duyabiliriz. Rastgele sayı üretebilmemiz için öncelikle Random sınıfı

Detaylı

ALGORİTMA TASARIMI VE SCRATCH UYGULAMASI

ALGORİTMA TASARIMI VE SCRATCH UYGULAMASI NOT: Çalışma kâğıtları Algoritma Tasarımı ve Excel olmak üzere 2 kısımdan oluşmakta ve sınavda her ikisinin de çalışılması gerekmektedir. ALGORİTMA TASARIMI VE SCRATCH UYGULAMASI Bu çalışma sayfalarında

Detaylı

Background (Arka Plan)

Background (Arka Plan) Bölüm 9: Sanal Bellek Operating System Concepts with Java 8 th Edition 9.1 Silberschatz, Galvin and Gagne 2009 Background (Arka Plan) Sanal Bellek Kullanıcı mantıksal hafızanın, fiziksel hafızadan ayrılması.

Detaylı