<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="https://yagizaydinli.github.io/feed.xml" rel="self" type="application/atom+xml" /><link href="https://yagizaydinli.github.io/" rel="alternate" type="text/html" /><updated>2026-08-09T19:43:32+00:00</updated><id>https://yagizaydinli.github.io/feed.xml</id><title type="html">Yağız Aydınlı</title><subtitle>Full Stack Developer</subtitle><entry><title type="html">Backward Oracle Dizgi Eşleme Algoritması</title><link href="https://yagizaydinli.github.io/Backward-oracle/" rel="alternate" type="text/html" title="Backward Oracle Dizgi Eşleme Algoritması" /><published>2018-03-18T00:00:00+00:00</published><updated>2018-03-18T00:00:00+00:00</updated><id>https://yagizaydinli.github.io/Backward-oracle</id><content type="html" xml:base="https://yagizaydinli.github.io/Backward-oracle/"><![CDATA[<p>Bu yazıda Backward Oracle dizgi eşleme algoritmasını anlatmaya çalıştım. Anlattığım örnek klasik DNA dizilim örneği üzerinden olacak. Herhangi bir metin üzerinde arama yapmak baya uzun sürüyor.
<a href="http://www-igm.univ-mlv.fr/~lecroq/string/bom.html"> Lecroq’un linki</a></p>

<p>Arama yapacağımız dizilim: G C A T C G C A G A G A G T A T A C A G T A C G
Arayacağımız dizilim: G C A G A G A G</p>

<p>Arayacağımız dizilim üzerinde bir ön işlem yapmamız gerekiyor. Bu ön işlemde dizilimin sonlarına ulaşmamız gerekiyor.</p>

<p><img src="/images/b1.jpg" alt="_config.yml" /></p>

<p>Başlangıcımız ve bitişimiz G karakteri ile olduğu için 0,7 ve 8 iki çerçeveli olarak belirtilmiş. Başlangıcımız 8 oluyor. 8den 7ye gidip bitme durumundan dolayı 7de iki çerçeveli olarak belirtiliyor.
Daha sonra sona ulaşma durumlarının hepsi düşünülerek aşağıdaki şekil oluşturulmuş.</p>

<p><img src="/images/bom.png" alt="_config.yml" /></p>

<p>Eşleme yapacağımız dizilimin sonlarını oluşturduktan sonra eşleme yapma işlemine geçiyoruz.</p>

<p><img src="/images/b2.jpg" alt="_config.yml" /></p>

<p>Birinci adımda arama yaptığımız dizilimin ilk 8 karakteri:GCATCGCA (Aradığımız dizilim de 8 karakter olduğu için)  sondan başlayarak ön işlemde arayacağımız dizilime uyguladığımız sonlara uygun olup olmadığı kontrol ediliyor. Burada görüldüğü gibi A-C-G arayacağımız dizilimde bir sonu gösteriyor(Yani aradığımızın başlangıcı olabilir). Eşleşme olmadı fakat o üç karakter çıkartılarak 8-3 = 5 karakter kaydırılarak devam edilir.</p>

<p><img src="/images/b3.jpg" alt="_config.yml" /></p>

<p>Burada ise önceki işlem tekrarlanır. Başlangıçtan sona  aradığımız dizilimin bu olduğu anlaşılır. Daha sonra aynı dizilim üzerinde aramaya devam eder bunun için 8-1 = 7 kaydırma yapılır(Başlangıç ve son aynı olduğu için).</p>

<p><img src="/images/b4.jpg" alt="_config.yml" /></p>]]></content><author><name></name></author><summary type="html"><![CDATA[Bu yazıda Backward Oracle dizgi eşleme algoritmasını anlatmaya çalıştım. Anlattığım örnek klasik DNA dizilim örneği üzerinden olacak. Herhangi bir metin üzerinde arama yapmak baya uzun sürüyor. Lecroq’un linki]]></summary></entry></feed>