<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Algoritmalar &#8211; Erkan Çömez</title>
	<atom:link href="https://erkancomez.com.tr/category/algoritmalar/feed/" rel="self" type="application/rss+xml" />
	<link>https://erkancomez.com.tr</link>
	<description></description>
	<lastBuildDate>Sun, 13 Feb 2022 15:36:14 +0000</lastBuildDate>
	<language>tr</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.7.1</generator>

<image>
	<url>https://erkancomez.com.tr/wp-content/uploads/2018/10/cropped-1266207-200-32x32.png</url>
	<title>Algoritmalar &#8211; Erkan Çömez</title>
	<link>https://erkancomez.com.tr</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>A* Algoritması</title>
		<link>https://erkancomez.com.tr/a-algoritmasi/</link>
					<comments>https://erkancomez.com.tr/a-algoritmasi/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Fri, 29 Oct 2021 09:04:36 +0000</pubDate>
				<category><![CDATA[Algoritmalar]]></category>
		<category><![CDATA[A Star]]></category>
		<category><![CDATA[A*]]></category>
		<category><![CDATA[A* Algoritması]]></category>
		<category><![CDATA[Algoritma]]></category>
		<guid isPermaLink="false">https://erkancomez.com.tr/?p=861</guid>

					<description><![CDATA[A* algoritması en iyi ilk sırada olan çözümü bulan,verilen noktalar arası en kısa maliyetli yolu üreten algoritma olarak bilinir.]]></description>
										<content:encoded><![CDATA[
<p>A* algoritması; ilk olarak 1968 yılında Peter Hart,Nils Nilsson ve Bertram Raphael tarafından teorik olarak geliştirilen A search algoritmasının daha sonra geliştirilmesiyle elde edilmiştir. Bilgisayar ortamında, A* algoritması en iyi ilk sırada olan çözümü bulan,verilen noktalar arası en kısa maliyetli yolu üreten algoritma olarak bilinir. Bu algoritma ağaç yapısı üzerindeki noktaları tanımlarken her bir node için&nbsp; mesafe sezgisel fonksiyon dan oluşan bir f(n) fonksiyonu oluşturur.Bu f(n) fonksiyonu g(n) ve h(n) fonksiyonunun toplamıdır: f(n)=g(n)+h(n).</p>



<p>Noktalar arası gerçek mesafeyi (yol maliyetini) g(n) fonksiyonu, sezgisel tahmin fonksiyonunu h fonksiyonu belirtmektedir. h(n) fonksiyonu sezgisel tahmini fonksiyon&nbsp; olduğundan mutlaka başlangıçtan belirttiğimiz hedefe olan mesafeden küçük bir değer olmalıdır. Bu yüzden yol bulma veya yol planlaması problemlerinde h(n) değeri,noktalar arası&nbsp; fiziksel olarak mevcut olan yoldan daha kısa yol olan kuşbakışı mesafe değeri ölçümüyle elde edilir. A* search algoritması rota üzerindeki bütün noktaları başlangıçtan hedef noktaya varıncaya kadar en kısa mesafeli çözümü elde edinceye kadar araştırır. Bu araştırmayı yaparken&nbsp; OPENLIST ve CLOSELIST yapılarını oluşturur ve hedef nokta oluşunca bu yapılar yardımıyla bir rota belirlenir.</p>



<p>A* algoritmasının adım adım işleyişi aşağıdaki gibidir:</p>



<ol class="wp-block-list" type="1"><li>Başlangıç node unu OPENLIST e al ve maliyet f(n) fonksiyonunu hesapla.</li><li>En küçük f(n) maliyet fonksiyonlu node u seç ve OPENLIST ten kaldırıp CLOSELIST e ekle.</li><li>Hedef noktasına ulaşılıp ulaşımadığını kontrol et,eğer hedefe ulaşılmış ise algoritmayı sonlandır.Aksi halde algoritmaya devam et.</li><li>Hedef noktaya ulaşılıncaya kadar CLOSELIST’e atılmamış bütün successor lar için maliyet fonksiyonlarını hesapla.</li><li>Bunları listelere alınmamış successor maliyetleri ile karşılaştır ve OPENLIST’e al</li><li>OPENLIST’e sonradan tekrar atılabilecek aynı eleman için f(n) değerlerini karşılaştır ve küçük f(n) değeri olanı seç</li><li>&nbsp;Adım 2 ye git</li></ol>
]]></content:encoded>
					
					<wfw:commentRss>https://erkancomez.com.tr/a-algoritmasi/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Dijkstra Algoritması</title>
		<link>https://erkancomez.com.tr/dijkstra-algoritmasi/</link>
					<comments>https://erkancomez.com.tr/dijkstra-algoritmasi/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Fri, 29 Oct 2021 09:01:11 +0000</pubDate>
				<category><![CDATA[Algoritmalar]]></category>
		<category><![CDATA[Algoritma]]></category>
		<category><![CDATA[Dijkstra]]></category>
		<category><![CDATA[Edsger Dijkstra]]></category>
		<guid isPermaLink="false">https://erkancomez.com.tr/?p=858</guid>

					<description><![CDATA[Grafiğin her kenarında negatif olmayan bir değer içermesi şartıyla, grafik o yönde devam edebilir veya etmeyebilir. Bu algoritmaya “Dijkstra Algoritması” adı verilmiştir.]]></description>
										<content:encoded><![CDATA[
<p>Dijktra Algoritmasının temeli Hollandalı bilgisayar bilimcisi olan Edsger Dijkstra’ya dayanmaktadır. &nbsp;Edsger Dijkstra&nbsp;,&nbsp;1959&#8217;da ağırlıklı bir grafiğe uygulanabilecek bir algoritma önerdi.&nbsp;Grafiğin her kenarında negatif olmayan bir değer içermesi şartıyla, grafik o yönde devam edebilir veya etmeyebilir.&nbsp;Bu algoritmaya “Dijkstra Algoritması” adını verdi.&nbsp;Dijkstra Algoritması, seçtiğiniz bir düğüm ile bir grafikteki diğer tüm düğümler arasındaki&nbsp;en&nbsp;kısa&nbsp;yolun&nbsp;hesaplanmasına olanak tanır.</p>



<p>Nasıl çalıştığı bir örnekle gösterilebilir. Bir kullanıcı A noktasından B noktasına gitmek istediğinde algoritma tüm rotaları tanımlamaya başlar. A düğümünden H düğümüne en kısa yoldan nasıl gidebiliriz inceleyelim.</p>



<div class="wp-block-image"><figure class="aligncenter size-full is-resized"><img fetchpriority="high" decoding="async" src="https://erkancomez.com.tr/wp-content/uploads/2021/10/dijkstra.jpg" alt="" class="wp-image-859" width="374" height="201" srcset="https://erkancomez.com.tr/wp-content/uploads/2021/10/dijkstra.jpg 750w, https://erkancomez.com.tr/wp-content/uploads/2021/10/dijkstra-300x161.jpg 300w, https://erkancomez.com.tr/wp-content/uploads/2021/10/dijkstra-744x400.jpg 744w, https://erkancomez.com.tr/wp-content/uploads/2021/10/dijkstra-455x244.jpg 455w, https://erkancomez.com.tr/wp-content/uploads/2021/10/dijkstra-267x143.jpg 267w" sizes="(max-width: 374px) 100vw, 374px" /><figcaption>Dijkstra Algorithm</figcaption></figure></div>



<ul class="wp-block-list" type="1"><li>1. Aşama</li></ul>



<p>Başlangıç düğümü olarak A düğümünü seçelim.Başlangıçta diğer düğümlerin erişim imkanı olmadıgı için uzaklık değerlerine sonsuz değerini atarız. Durum aşağıdaki gibi olur.</p>



<figure class="wp-block-table"><table><tbody><tr><td>Durum</td><td>A</td><td>B</td><td>C</td><td>D</td><td>E</td><td>F</td><td>H</td></tr><tr><td>Başlangıç</td><td>0</td><td>∞</td><td>∞</td><td>∞</td><td>∞</td><td>∞</td><td>∞</td></tr></tbody></table></figure>



<ul class="wp-block-list"><li>2. Aşama</li></ul>



<p>Başlangıç düğümünden başlayarak komşu olan düğümlerine olan uzaklıklarını durum tablomuzda gösteriyoruz ve en kısa olan yolun düğümünü seçerek bir sonraki düğüme geçiyoruz. Şeklimizde A düğümünün 3 düğüme komşuluğu bulunmaktadır ve en az maliyetli olan E düğümü seçiyoruz.</p>



<figure class="wp-block-table"><table><tbody><tr><td>Durum</td><td>A</td><td>B</td><td>C</td><td>D</td><td>E</td><td>F</td><td>H</td></tr><tr><td>Başlangıç</td><td>0</td><td>∞</td><td>∞</td><td>∞</td><td>∞</td><td>∞</td><td>∞</td></tr><tr><td>A</td><td></td><td>5</td><td>6</td><td>∞</td><td>1</td><td>∞</td><td>∞</td></tr></tbody></table></figure>



<ul class="wp-block-list"><li>3. Aşama&nbsp;</li></ul>



<p>E düğümünün C düğümüne komşuluğu bulunmakta. C düğümünün yeni değeri 1+2=3 oldu.C değerine E üzerinden gitmek daha az maliyetli olduğu için C değeri üzerinde güncelleme yaptık. Bir sonraki düğüme geçmek için en küçük değere sahip ve daha önceden ziyaret edilmemiş olan C’den devam edelim.</p>



<figure class="wp-block-table"><table><tbody><tr><td>Durum</td><td>A</td><td>B</td><td>C</td><td>D</td><td>E</td><td>F</td><td>H</td></tr><tr><td>Başlangıç</td><td>0</td><td>∞</td><td>∞</td><td>∞</td><td>∞</td><td>∞</td><td>∞</td></tr><tr><td>A</td><td></td><td>5</td><td>6</td><td>∞</td><td>1</td><td>∞</td><td>∞</td></tr><tr><td>E(1)</td><td>&nbsp;</td><td>5</td><td>3</td><td>∞</td><td>&nbsp;</td><td>∞</td><td>∞</td></tr></tbody></table></figure>



<ul class="wp-block-list"><li>4. Aşama&nbsp;</li></ul>



<p>C’den B ve D düğümlerine komşuluk bulunmakta. B nin yeni değeri 3+1=4&lt;5 olduğu için B düğümün değerini güncelliyoruz. D’nin yeni degeri 3+4=7 oldu. Durum tablosunda B düğümünün degeri en düşük olduğu için B düğümünden devam ediyoruz.</p>



<figure class="wp-block-table"><table><tbody><tr><td>Durum</td><td>A</td><td>B</td><td>C</td><td>D</td><td>E</td><td>F</td><td>H</td></tr><tr><td>Başlangıç</td><td>0</td><td>∞</td><td>∞</td><td>∞</td><td>∞</td><td>∞</td><td>∞</td></tr><tr><td>A</td><td></td><td>5</td><td>6</td><td>∞</td><td>1</td><td>∞</td><td>∞</td></tr><tr><td>E(1)</td><td>&nbsp;</td><td>5</td><td>3</td><td>∞</td><td>&nbsp;</td><td>∞</td><td>∞</td></tr><tr><td>C(3)</td><td>&nbsp;</td><td>4</td><td>&nbsp;</td><td>7</td><td>&nbsp;</td><td>∞</td><td>∞</td></tr></tbody></table></figure>



<ul class="wp-block-list"><li>5. Aşama&nbsp;</li></ul>



<p>B düğümünün F düğümüne komşuluğu bulunmakta ve 4+1=5 den F nin yeni değerini güncelliyoruz.</p>



<figure class="wp-block-table"><table><tbody><tr><td>Durum</td><td>A</td><td>B</td><td>C</td><td>D</td><td>E</td><td>F</td><td>H</td></tr><tr><td>Başlangıç</td><td>0</td><td>∞</td><td>∞</td><td>∞</td><td>∞</td><td>∞</td><td>∞</td></tr><tr><td>A</td><td></td><td>5</td><td>6</td><td>∞</td><td>1</td><td>∞</td><td>∞</td></tr><tr><td>E(1)</td><td>&nbsp;</td><td>5</td><td>3</td><td>∞</td><td>&nbsp;</td><td>∞</td><td>∞</td></tr><tr><td>C(3)</td><td>&nbsp;</td><td>4</td><td>&nbsp;</td><td>7</td><td>&nbsp;</td><td>∞</td><td>∞</td></tr><tr><td>B(4)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>1</td><td>∞</td></tr></tbody></table></figure>



<ul class="wp-block-list"><li>6. Aşama&nbsp;</li></ul>



<p>F düğümü D ve H düğümüne komşuluğu bulunmakta. H düğümünün değeri 5+2=7 oldu. D düğümünün degeri 7 iken&nbsp; 5+3=8 olması gerekmekteydi ama 8&gt;7 olduğundan mevcut değerini korudu.</p>



<figure class="wp-block-table"><table><tbody><tr><td>Durum</td><td>A</td><td>B</td><td>C</td><td>D</td><td>E</td><td>F</td><td>H</td></tr><tr><td>Başlangıç</td><td>0</td><td>∞</td><td>∞</td><td>∞</td><td>∞</td><td>∞</td><td>∞</td></tr><tr><td>A</td><td></td><td>5</td><td>6</td><td>∞</td><td>1</td><td>∞</td><td>∞</td></tr><tr><td>E(1)</td><td>&nbsp;</td><td>5</td><td>3</td><td>∞</td><td>&nbsp;</td><td>∞</td><td>∞</td></tr><tr><td>C(3)</td><td>&nbsp;</td><td>4</td><td>&nbsp;</td><td>7</td><td>&nbsp;</td><td>∞</td><td>∞</td></tr><tr><td>B(4)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>1</td><td>∞</td></tr><tr><td>F(5)</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>7</td><td>&nbsp;</td><td>&nbsp;</td><td>7</td></tr></tbody></table></figure>



<p>Sonuç;</p>



<p>Tüm düğümleri gezdiğimize göre A düğümünden H düğümüne en kısa yol A-&gt;E-&gt;C-&gt;B-&gt;F-&gt;H şeklindedir. Maliyeti ise 1+2+1+1+2=7’dir.</p>



<div class="wp-block-image"><figure class="aligncenter size-full is-resized"><img fetchpriority="high" decoding="async" src="https://erkancomez.com.tr/wp-content/uploads/2021/10/dijkstra.jpg" alt="" class="wp-image-859" width="374" height="201" srcset="https://erkancomez.com.tr/wp-content/uploads/2021/10/dijkstra.jpg 750w, https://erkancomez.com.tr/wp-content/uploads/2021/10/dijkstra-300x161.jpg 300w, https://erkancomez.com.tr/wp-content/uploads/2021/10/dijkstra-744x400.jpg 744w, https://erkancomez.com.tr/wp-content/uploads/2021/10/dijkstra-455x244.jpg 455w, https://erkancomez.com.tr/wp-content/uploads/2021/10/dijkstra-267x143.jpg 267w" sizes="(max-width: 374px) 100vw, 374px" /><figcaption>Dijkstra Algorithm</figcaption></figure></div>
]]></content:encoded>
					
					<wfw:commentRss>https://erkancomez.com.tr/dijkstra-algoritmasi/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Google Maps ve Yandex Hangi Algoritmaları Kullanıyor?</title>
		<link>https://erkancomez.com.tr/google-maps-ve-yandex-hangi-algoritmalari-kullaniyor/</link>
					<comments>https://erkancomez.com.tr/google-maps-ve-yandex-hangi-algoritmalari-kullaniyor/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Fri, 29 Oct 2021 08:45:35 +0000</pubDate>
				<category><![CDATA[Algoritmalar]]></category>
		<category><![CDATA[Algoritma]]></category>
		<category><![CDATA[Google Maps]]></category>
		<category><![CDATA[Haritalar]]></category>
		<category><![CDATA[Yandex Maps]]></category>
		<guid isPermaLink="false">https://erkancomez.com.tr/?p=853</guid>

					<description><![CDATA[Google haritaları, kaynaktan (A noktası) hedefe (B noktası) giden en kısa yolun hesaplanması için Grafik veri yapılarını kullanır. Grafik veri yapısı, çeşitli düğümlerden ve bu düğümleri birbirine bağlayan çoklu kenarlardan oluşur. Dijkstra algoritması, Edsger Dijkstra tarafından belirli bir hedefe ulaşmak için en kısa mesafeyi ve yolu seyretmek için önerilen etkili ve yetkin bir algoritmadır. ğını açıklamıştır.]]></description>
										<content:encoded><![CDATA[
<h1 class="wp-block-heading" id="1-google-maps-ve-yandex-maps">1.&nbsp;&nbsp; Google Maps ve Yandex Maps</h1>



<p>Google Haritalar ve Yandex Haritalar, harita sunucusu olarak tanımlayabileceğimiz bir teknolojiye dayanmaktadır. Harita sunucuları coğrafi veriler içeren bir veritabanı ile birleştirilebilir (Resim 1). Bir harita görüntüleme istemcisi ve coğrafi veritabanının birleşmesi Coğrafi Bilgi Sistemi(Geographical Information System)&nbsp;(GIS)&nbsp;olarak adlandırılır. Coğrafi bilgi sistemi (CBS), her türlü veriyi oluşturan, yöneten, analiz eden ve haritalandıran bir sistemdir.&nbsp;CBS, konum verilerini (nesnelerin olduğu yer) her tür açıklayıcı bilgiyle bütünleştirerek verileri bir haritaya bağlar.&nbsp;Bu, bilimde ve hemen hemen her endüstride kullanılan haritalama ve analiz için bir temel sağlar.&nbsp;CBS, kullanıcıların kalıpları, ilişkileri ve coğrafi bağlamı anlamalarına yardımcı olur.&nbsp;</p>



<figure class="wp-block-image size-full"><img decoding="async" width="1024" height="308" src="https://erkancomez.com.tr/wp-content/uploads/2021/10/grafik.png" alt="" class="wp-image-854" srcset="https://erkancomez.com.tr/wp-content/uploads/2021/10/grafik.png 1024w, https://erkancomez.com.tr/wp-content/uploads/2021/10/grafik-300x90.png 300w, https://erkancomez.com.tr/wp-content/uploads/2021/10/grafik-768x231.png 768w, https://erkancomez.com.tr/wp-content/uploads/2021/10/grafik-940x283.png 940w, https://erkancomez.com.tr/wp-content/uploads/2021/10/grafik-455x137.png 455w, https://erkancomez.com.tr/wp-content/uploads/2021/10/grafik-267x80.png 267w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption>Coğrafi Veri Destekli Harita &#8211; Resim 1</figcaption></figure>



<p>Coğrafi veritabanında veriler vektörel olarak saklanır. Vektörel veri modelinde, nokta, çizgi ve poligonlar (x,y) koordinat değerleriyle kodlanarak depolanırlar. Nokta özelliği gösteren bir elektrik direği tek bir (x,y) koordinatı ile tanımlanırken, çizgi özelliği gösteren bir yol veya akarsu şeklindeki coğrafik varlık birbirini izleyen bir dizi (x,y) koordinat serisi şeklinde saklanır. Poligon özelliğine sahip coğrafik varlıklar, örneğin imar adası, bina, orman alanı, parsel veya göl, kapalı şekiller olarak, başlangıç ve bitişinde aynı koordinat olan (x,y) dizi koordinatlar ile depolanır. Vektörel model coğrafik varlıkların kesin konumlarını tanımlamada son derece yararlı bir modeldir.</p>



<h2 class="wp-block-heading" id="2-haritalar-hangi-algoritmalari-kullaniyor">2. Haritalar Hangi Algoritmaları Kullanıyor?</h2>



<h3 class="wp-block-heading" id="2-1-google">2.1. Google</h3>



<p>Google haritaları, kaynaktan (A noktası) hedefe (B noktası) giden en kısa yolun hesaplanması için Grafik veri yapılarını kullanır[1]. Grafik veri yapısı, çeşitli düğümlerden ve bu düğümleri birbirine bağlayan çoklu kenarlardan oluşur. <a href="https://erkancomez.com.tr/dijkstra-algoritmasi/" data-type="URL" data-id="https://erkancomez.com.tr/dijkstra-algoritmasi/" target="_blank" rel="noreferrer noopener">Dijkstra algoritması</a>, Edsger Dijkstra tarafından belirli bir hedefe ulaşmak için en kısa mesafeyi ve yolu seyretmek için önerilen etkili ve yetkin bir algoritmadır. Grafiğin düğümleri, oraya ulaşmak için geçilmesi gereken mesafeyi temsil eden ağırlıklı kenarlarla birbirine bağlanır. Lakin Google haritaları devasa bir veriyle ilgilenir, bu nedenle grafikteki düğüm sayısı sayısızdır. Bu nedenle, Dijkstra algoritması gibi grafik algoritmaları, artan zaman ve uzay karmaşıklığı nedeniyle başarısız olabilir. Grafiğin boyutundaki büyük artış, algoritmanın verimliliğini sınırlar. A* algoritması gibi buluşsal algoritmaların uygulanabilir olduğu kanıtlanmıştır.</p>



<p><a href="https://erkancomez.com.tr/a-algoritmasi/" data-type="URL" data-id="https://erkancomez.com.tr/a-algoritmasi/" target="_blank" rel="noreferrer noopener">A* Algoritması</a>, daha iyi ve daha verimli bir yolda gezinmek için buluşsal bir işlev kullanan Dijkstra algoritmasına benzer. A* algoritması diğerlerinden daha iyi olduğu varsayılan düğümlere (zaman gereksinimi, mesafe ve diğer parametreler gibi) diğerlerinden daha yüksek öncelik verir, Dijkstra ise tüm düğümleri araştırır. Bu nedenle, Dijkstra algoritmasından daha hızlı olması amaçlanmıştır. Düğüm başına bellek gereksinimi ve işlemler daha fazladır, çünkü çok daha az düğümü araştırır ve kazanç her durumda iyidir. [2]</p>



<h3 class="wp-block-heading" id="2-2-yandex">2.2. Yandex</h3>



<p>Yandex Maps &nbsp;rota hesaplarken <a href="https://erkancomez.com.tr/dijkstra-algoritmasi/" data-type="URL" data-id="https://erkancomez.com.tr/dijkstra-algoritmasi/" target="_blank" rel="noreferrer noopener">Dijkstra Algoritması</a>nı kullandığını açıklamıştır [3]. &nbsp;Rotalar&nbsp;nasıl oluşturulur?&nbsp;Rotalar Dijkstra Algoritmasına göre oluşturulur.&nbsp;Onun yardımıyla sistem, her bölümün uzunluğuna ve bu kısımdaki hareket hızına bağlı olarak en hızlı rotayı hesaplar.&nbsp;Bir kullanıcı trafik sıkışıklığını hesaba katmadan bir rota oluşturmayı seçerse, algoritma her segmentteki ortalama hızı kullanır.&nbsp;Kullanıcı trafik durumunu dikkate alarak bir yere en hızlı nasıl ulaşacağını bilmek isterse, algoritma mevcut trafik koşullarıyla ilgili verileri kullanır. Ayrıca yol durumunda ki değişiklik, yolun kapalı olması gibi durumlarda Yandex kendi algoritmasını kullanır. Bu sistem, bir aracın hareketinin (otomatik olarak sürücüler tarafından sağlanan bilgiler) yol ağı bilgileriyle eşleşmediği durumlarda olayları kaydeder.&nbsp;Bir sürücünün yol kenarına düzensiz bir şekilde durduğu veya beklenmeyen bir dönüş yaptığı tek seferlik bir durum değilse, trafik düzeni değişmiş olabilir.&nbsp;Tüm bu durumlar analiz edilir ve ardından yol grafiğinde değişiklikler yapılır.</p>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-1 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:100%">
<div class="wp-block-group"><div class="wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow">
<div class="wp-block-group"><div class="wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow">
<pre class="wp-block-verse"><strong>REFERANSLAR</strong></pre>



<div class="wp-block-group"><div class="wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow">
<ul class="wp-block-list"><li>[1] Mehta, Heeket &amp; Kanani, Pratik &amp; Lande, Priya. (2019). Google Maps. International Journal of Computer Applications. 178. 41-46. 10.5120/ijca2019918791.</li><li>[2] Difference and advantages between Djiksta and A star [Duplicate] (2021, Ağustos 28). Stack Overflow. https://stackoverflow.com/questions/13031462/difference-and-advantages-between-dijkstra-a-star</li><li>[3] Route graph: How it works on Yandex.Maps (2021, Ağustos 28). Yandex Company Blog. https://yandex.com/blog/yacompany-com/44</li></ul>
</div></div>
</div></div>
</div></div>
</div>
</div>
]]></content:encoded>
					
					<wfw:commentRss>https://erkancomez.com.tr/google-maps-ve-yandex-hangi-algoritmalari-kullaniyor/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Yapay Arı Kolonisi Algoritması</title>
		<link>https://erkancomez.com.tr/yapay-ari-kolonisi-algoritmasi/</link>
					<comments>https://erkancomez.com.tr/yapay-ari-kolonisi-algoritmasi/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Sun, 24 Nov 2019 20:59:06 +0000</pubDate>
				<category><![CDATA[Algoritmalar]]></category>
		<category><![CDATA[algoritması]]></category>
		<category><![CDATA[arı]]></category>
		<category><![CDATA[derviş]]></category>
		<category><![CDATA[karaboğa]]></category>
		<category><![CDATA[kolonisi]]></category>
		<category><![CDATA[yapay]]></category>
		<guid isPermaLink="false">https://www.erkancomez.com.tr/?p=608</guid>

					<description><![CDATA[Zamandan büyük ölçüde tasarruf sağlayan YAKA literature 2005 yılında kazandırılmıştır. Prof. Dr. Derviş KARABOĞA tarafından geliştirilen  YAKA sürü tabanlı bir algoritmadır. Algoritmanın isminden de anlaşılacağı üzere algoritmanın ilham kaynağı arılardır. ]]></description>
										<content:encoded><![CDATA[
<p><strong>1. Yapay Arı Kolonisi Algoritması </strong></p>



<p>Prof. Dr. Derviş KARABOĞA tarafından geliştirilen YAKA
literature 2005 yılında girmiştir[1]. Arıların besin arama davranışların
YAKA’nın geliştirilmesini sağlamıştır.&nbsp; YAKA’da
görevli arı, kaşif arı ve gözcü arı olmak üzere üç tip arı bulunmaktadır. YAKA’da
arıların tüm davranışlarından etkilenilmediği gibi bazı varsayımlarda da
bulunulmuştur. Bu varsayımlardan en göze çarpanı her bir besin kaynağının
sadece bir görevli arı tarafından kullanılmasıdır. Besin kaynağı ve çalışan
görevli arı sayısı birbirine eşittir. Bir diğer varsayım ise gözcü arı ve
çalışan arı sayısının birbirine eşit olmasıdır. Böyle bir varsayımda
bulunulmasına rağmen aslında bir nektara gidip gelen arının görevli olduğu
besin kaynağı tükendiğinde bu arının kâşif arı olması da söz konusudur. Kaşif
arılar görevli arıların işleri bitince ortaya çıkarlar. Yeni besin kaynaklarını
ön bilgi olmadan rasgele olarak bulduğundan algoritmanın daha önceden
keşfedemediği zengin besin kaynaklarını yani yüksek uygunluktaki olası çözümler
kümesini bulabilir.</p>



<p>YAKA besin kaynaklarının yani olası çözüm değerlerini
arama sürecinde 4 farklı seleksiyon yöntemi kullanmaktadır[2]. </p>



<p>Küresel Seleksiyon İşlemi: Gözcü arıların gidecekleri
besin kaynağının seçiminde kullanılan olasılık değerlerinin hesaplanması </p>



<ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-6469737244690290" data-ad-slot="2204615499" data-ad-format="auto" data-full-width-responsive="true"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>



<p>Bölgesel Olasılık Tabanlı Seleksiyon İşlemi: Besin
kaynağının komşuluğunun hesaplanması </p>



<p>Aç Gözlü Seleksiyon İşlemi: Uygunluk değerlerinin
kıyaslanması</p>



<p>Rasgele Seleksiyon İşlemi: Kaşif arıların yeni besin kaynağı
seçimi</p>



<p>Besin kaynağı keşfinde bulunan kâşif arı bulduğu besin
kaynağından kovana nektar taşımaya başlar. Kovana gelen arı nektarı
boşalttıktan sonra üç olasılık söz konusudur. Bunlar; dans alanına giderek
besin kaynağı ile ilgili bilgiyi diğer arılarla paylaşmak, hiç bilgi vermeden
doğrudan besin kaynağına yönelmek ya da bulduğu besin kaynağını terk ederek
yeniden kâşif arı olmaya devam etmektir. </p>



<p><strong>1.1. YAKA’nın Adımları</strong></p>



<p>YAKA
ile ilgili adımları sırası ile aşağıda yer almaktadır.</p>



<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <strong>Adım
1</strong>: Rastgele besin kaynakları oluşturulur. Bu besin
kaynaklarına sadık kalınarak işçi arı sayısı ve gözcü arı sayısı belirlenir.
Ayrıca limit değeri de tespit edilir ve kontrol amaçlı sayaç değişkeni
oluşturulur.</p>



<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <strong>Adım 2</strong>: Oluşturulan besin kaynaklarının her bir çözüm değerleri amaç fonksiyonuna göre hesaplanır.&nbsp; </p>



<ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-6469737244690290" data-ad-slot="2204615499" data-ad-format="auto" data-full-width-responsive="true"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>



<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <strong>Adım 3</strong>: Bu adımda döngü başlamaktadır.
Maksimum dögü sayısı belirlenerek işçi arılar besin kaynaklarına gönderilir.
İşçi arılar besin kaynağından rastgele bir besine yönelerek işlemeye başlarlar.
Arılar besini işler ve kalitesini ölçerler. Elde edilen çözüm değeri(kalite)
bir önceki çözüm değerinden daha iyiyse bu besin ve besinle ilgili değerler
hafızaya alınır ve limit değeri sıfırlanır. Tersi durumda ise limit değeri 1
artırılır. Limit değeri için belirli bir üst değer belirlemek algoritmanın
çalıştırılması esnasında sonsuz döngüye girmeye engel olacaktır.</p>



<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <strong>Adım 4</strong>: Görevli arılardan sonra besin
kaynaklarına gözcü arılar yönlendirilir. Besinlerin uygunluk değerine göre bir
besin kaynağı seçilir. Gözcü arı gittiği kaynağın kalitesini ölçer ve çözüm
değerlerini hesaplar. Bu değerler içinde en iyi olan önceki çözüm değeriyle
kıyaslanır. Önceki çözüm değerinden daha iyi ise bu besin ve besinle ilgili
bilgiler hafızaya alınırlar ve limit değeri sıfırlanır. Tersi durumda limit
değeri bir arttırılır. Limit değeri üst değeri aşıp aşmadığı kontrol edilir.</p>



<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <strong>Adım 5</strong>: Görevli arı ve gözcü arı
adımlarından sonra kaşif arı aşamasına geçilir. Kaşif arılar diğer besin
kaynaklarından sonra tamamen yeni besin kaynakları belirler. Kâşif arı
safhasının esas nedeni algoritmanın yerel minimum ya da maksimumda takılmasına
engel olmaktır. Yeni besin &nbsp;</p>



<p>kaynaklarının
çözüm değerleri hesaplanır ve bir önceki çözümle kıyaslanır. Eğer yeni çözüm
değeri, bir öncekinden iyi ise en iyi çözüm olarak hafızada tutulur ve limit
değeri sıfırlanır. Tersi durumda limit değeri bir
arttırılır. Limit değeri üst değeri aşıp aşmadığı kontrol edilir.</p>



<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <strong>Adım 6: </strong>Maksimum değerde ki döngü
sayısına ulaşana kadar görevli arı, kaşif arı ve gözcü arı adımları tekrar
edilir. Durdurma kriteri sağlanınca algoritma sonlandırılır. </p>



<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Yukarıda yer alan YAKA’nın adımlarından da anlaşıldığı üzere YAKA’yı dörde ayırmak mükündür. Bunlar sırasıyla başlangıç besin kaynaklarının belirlenmesi, Görevli arıların besin kaynaklarına gönderilmesi, gözcü arıların uygunluk değerine göre besin kaynağı seçmesi ve en son olarak da tükenen besin kaynaklarının terk edilmesi ve kaşif arıların yeni besin kaynakları üretmeleridir.</p>



<ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-6469737244690290" data-ad-slot="2204615499" data-ad-format="auto" data-full-width-responsive="true"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>



<p><strong>2. Yapay Arı Kolonisi Algoritması ile İlgili Yapılan Çalışmalar </strong></p>



<p>YAKA,
2005 yılında Kayseri’de bulunan Erciyes Üniversitesi Öğretim üyesi olan Derviş
Karaboğa tarafından teknik bir rapor olarak literatüre kazandırılmıştır[4].Bu raporda doğada bulunan gerçek arılar hakkında kısa bir bilgi
verildikten sonra arıların besin arama davranışları üzerinden elde edilmiş olan
model ve parametreler tanıtılmıştır. </p>



<p>2006
yılında YAKA ile ilgili ilk konferans Bahriye Baştürk ile Derviş Karaboğa
tarafından yapılmıştır[5]. Yayımlanan ilk makale ise 2007 yılında aynı yazarlar
tarafından yazılmıştır[6]. Bu makalede YAKA’nın aktif ve güçlülüğü gösterilmiş,
ayrıca diğer algoritmalar ile karşılaştırmaları yapılmıştır.</p>



<p>2007
yılında yayınlanan makalede YAKA’nın kısıtlı optimizasyon problemlerinde de
çözüm sunan kullanılabilirliği yüksek bir algoritma olduğu gösterilmiştir[7].2009 yılında yayınlanan bir makalede ise YAKA’nın performansının
değerlendirilmesi ele alınmıştır[8]. </p>



<p>Ayrıca
çeşitli programlama dilleri ile yazılmış olan YAKA, Erciyes Üniversitesi’nin
oluşturduğu bir web sitesinde<sup>*</sup> tüm bilgilere erişilebilecek şekilde
yayımlanmıştır[9]. </p>



<ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-6469737244690290" data-ad-slot="2204615499" data-ad-format="auto" data-full-width-responsive="true"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>



<p><strong>2.1. Yapay Arı Kolonisi Algoritması ile İlgili Örnekler</strong></p>



<p><strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </strong>2009 yılından sonra basit ve kolay uygulanabilir bir algoritma olması YAKA’nın kullanım oranını artırmıştır.&nbsp; YAKA’nın bir çok alanda uygulamarına rastlamak mümkündür. Genel olarak yapay sinir ağlarının eğitilmesi, veri madenciliği, kablosuz sensör ağları, resim işleme gibi ayrık ve kombinatoryal optimizasyon problemlerinde kullanılmıştır.</p>



<p><strong>3. Sonuç</strong></p>



<p>Yapay Arı Kolonisi algoritması basit ve esnek bir algoritmadır. Arıların gerçek yiyecek arama davranışlarına yakın olarak tasarlanmıştır. Sürü zekasına dayalıdır. Başlangıçta nümerik problemler için tasarlanmış ancak ilerleyen süreçte gerçek tasarım problemleri içinde kullanılmıştır.</p>



<p><strong>Kaynakça</strong></p>



<p>[1] Derviş Karaboğa, An Idea Based On Honey Bee Swarm For Numerical
Optimization, TR-06, Erciyes University, Engineering Faculty, Computer
Engineering Department, 2005. </p>



<p>[2] Bahriye Baştürk ve Derviş Karaboğa, “An artificial bee colony
(abc) algorithm for numeric function optimization”, In: IEEE swarm intelligence
symposium Indianapolis,IN,USA, , 2006 s. 49-53.&nbsp;
</p>



<p>[3] Derviş Karaboğa, <a href="javascript:void(0)">A modified
artificial bee colony (ABC) algorithm for constrained optimization problems</a>,
2011, s213</p>



<p>[4] Dervis
Karaboga, <a href="https://scholar.google.com.tr/scholar?oi=bibs&amp;cluster=6861627125256997013&amp;btnI=1&amp;hl=tr">An
idea based on honey bee swarm for numerical optimization</a>, 2005</p>



<p>[5] Bahriye
Baştürk ve Derviş Karaboğa, “An artificial bee colony (abc) algorithm for </p>



<p>numeric function
optimization”, <strong>In: IEEE swarm intelligence symposium </strong>Indianapolis,IN,USA,
, 2006 s. 49-53.&nbsp; </p>



<p>[6] Derviş
Karaboğa ve Bahriye Baştürk, “A Powerful and Efficent Algorithm for Numerical
Function Optimization: Artificial Bee Colony (ABC) Algorithm”, <strong>J. Glob.
Optim</strong>., 39, 459-471, 2007a.&nbsp; </p>



<p>[7] Derviş Karaboğa ve Bahriye Baştürk, “Artificial Bee Colony (ABC)
Optimization Algorithm for Solving Constrained Optimization Problems”,
Proceedings of the 12th International Fuzzy Systems Association World Congress
on Foundations of Fuzzy Logic and Soft computing, Springer, Berlin, 789–798,
2007b.&nbsp; </p>



<p>[8] Derviş
Karaboğa ve Bahriye Baştürk, “On the Performance of Artificial Bee Colony (ABC)
Algorithm”, <strong>Applied Soft Computing</strong>, 8, 687-697, 2008.</p>



<p>[9] <sup>* </sup>http://mf.erciyes.edu.tr/abc/&nbsp; Erciyes Üniversitesi İnternet sitesi. 2019</p>



<ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-6469737244690290" data-ad-slot="2204615499" data-ad-format="auto" data-full-width-responsive="true"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
]]></content:encoded>
					
					<wfw:commentRss>https://erkancomez.com.tr/yapay-ari-kolonisi-algoritmasi/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
