Bilgisayar programlamanın üç temel mantık yapısından biridir. Diğer ikisi ise Seçilim(Selection) ve Döngü(Loop, Iteration)dür.

Benzer belgeler
Algoritmalar. Sıralama Problemi ve Analizi. Bahar 2017 Doç. Dr. Suat Özdemir 1

Algoritmalar. Doğrusal Zamanda Sıralama. Bahar 2017 Doç. Dr. Suat Özdemir 1

ELN1002 BİLGİSAYAR PROGRAMLAMA 2

Yrd. Doç. Dr. Ümit ATİLA

BLM-112 PROGRAMLAMA DİLLERİ II. Ders-7 Sıralama Algoritmaları

Merge Sort Bireşen Sıralama

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

F(A, N, K) // A dizi; N, K integer if N<0 then return K; if A[N]>K then K = A[N]; return F(A, N-1, K);

b) Algoritmanızın en kötü durumda işlem zamanını asimptotik olarak bulunuz

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

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

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

Alıştırma 1: Yineleme

Veri Yapıları. for(i=1;i<n;i++) { ekle=d[i]; for (k=i 1; k>=0 && ekle<=d[k] ;k ) D[k+1]=D[k]; /* Geriye kaydırılıyor*/

PROGRAMLAMAYA GİRİŞ. Öğr. Gör. Ayhan KOÇ. Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay.

HACETTEPE ÜNİVERSİTESİ BAHAR DÖNEMİ

Olimpiyat Soruları. sonuçları tekrar fonksiyonda yerine koyup çıkan tüm sonuçları toplayan program (iterasyon sayısı girilecek)

BİLGİSAYAR PROGRAMLAMA Araş. Gör. Ahmet ARDAHANLI. Kafkas Üniversitesi Mühendislik Fakültesi

DENİZ HARP OKULU BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

VERİ YAPILARI DATA STRUCTURE GİRİŞ

VERİ YAPILARI DERS NOTLARI BÖLÜM 1 GİRİŞ. Yard. Doç. Dr. Deniz KILINÇ

YZM 2116 Veri Yapıları

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

Algoritmalar. Heap Sort. Bahar 2017 Doç. Dr. Suat Özdemir 1

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

METASEZGİSEL YÖNTEMLER. Genetik Algoritmalar

BMT207 VERİ YAPILARI DATA STRUCTURE

Gezgin Satıcı Probleminin İkili Kodlanmış Genetik Algoritmalarla Çözümünde Yeni Bir Yaklaşım. Mehmet Ali Aytekin Tahir Emre Kalaycı

BİL-341 ALGORİTMALAR BÜYÜK O NOTASYONU AHMET ATAKAN atakanahmet@hotmail.com KIRGIZİSTAN-TÜRKİYE MANAS ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI

HACETTEPE ÜNİVERSİTESİ BAHAR DÖNEMİ

Veri Yapıları. Yrd. Doç. Dr. Şadi Evren ŞEKER

5.Hafta Alt Sınırları Sıralama Doğrusal-Zaman (linear time) Sıralaması (devam)

YZM VERİ YAPILARI DERS#9: HASH FONKSİYONLARI

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

Yrd. Doç. Dr. A. Burak İNNER Bilgisayar Mühendisliği

ALGORİTMA VE PROGRAMLAMA I

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

2.1 Bir Sınıfı Örneklerinden Öğrenme Vapnik-Chervonenkis (VC) Boyutu Olası Yaklaşık Doğru Öğrenme... 21

YZM 2116 Veri Yapıları

3.Hafta Master Teorem ve Böl-Fethet Metodu

Kümeler arası. Küme içi. uzaklıklar. maksimize edilir. minimize edilir

BMB204. Veri Yapıları Ders 9. B+ Ağacı, Hash, Heap. Erdinç Uzun NKÜ Çorlu Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü

Veri Yapıları. Öğr.Gör.Günay TEMÜR Düzce Üniversitesi Teknolojis Fakültesi

Algoritma ve Akış Diyagramları

( ) (, ) Kombinasyon. Tanım: r n olmak üzere n elemanlı bir kümenin r elemanlı her alt kümesine bu n elemanın r li kombinasyonu denir.

GENETİK ALGORİTMALAR BÜŞRA GÜRACAR

İ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

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say

Ara Sınav 1. Algoritmalara Giriş 14 Ekim 2005 Massachusetts Institute of Technology Profesörler Erik D. Demaine ve Charles E. Leiserson Kitapçık 14

ALP OĞUZ ANADOLU LİSESİ EĞİTİM ÖĞRETİM YILI BİLGİSAYAR BİLİMİ DERSİ 2.DÖNEM 2.SINAV ÖNCESİ ÇALIŞMA SORULARI VE YANITLARI

İnternet Programcılığı Öğr. Gör. Serkan AKSU PHP de Dizi-Değişkenler, Nesneler. Dizi Oluşturma. Tek Boyutlu Diziler

Web Madenciliği (Web Mining)

I Java Veri Yapıları 1

YZM YAPAY ZEKA DERS#6: REKABET ORTAMINDA ARAMA

Binary Search. (Yarılama) Bölüm Dizide Bir Öğe Arama

ESKİŞEHİR OSMANGAZİ ÜNİVERSİTESİ

OYAK ADANA - BALIKESİR - BATMAN - BOLU - DÜZCE HATAY - KAHRAMANMARAŞ - MARDİN - ORDU RİZE - SAKARYA - SİVAS - TEKİRDAĞ - ZONGULDAK 7 NİSAN 2012

İşletim Sistemlerine Giriş

C PROGRAMLAMA D İ L İ

PERMÜTASYON, KOMBİNASYON. Örnek: Örnek: Örnek:

Algoritmalar. DERS 3 Böl ve Fethet(Divide and Conquer) İkili arama Sayı üstelleri Fibonacci sayıları Matriks çarpımı Strassen in algoritması

C++ Dersi: Nesne Tabanlı Programlama 2. Baskı

Şartlı Olasılık. Pr[A A ] Pr A A Pr[A ] Bir olayın (A 1 ) olma olsılığı, başka bir olayın (A 2 ) gerçekleştiğinin bilinmesine bağlıysa;

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

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

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

AVRASYA UNIVERSITY. Dersin Verildiği Düzey Ön Lisans (X ) Lisans ( ) Yüksek Lisans( ) Doktora( )

Aktivite 8. Saati Yen Sıralama ağları

Esnek Hesaplamaya Giriş

Dr. Fatih AY Tel: fatihay@fatihay.net

ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

10.Hafta Minimum kapsayan ağaçlar Minimum spanning trees (MST)

Algoritmalar ve Karmaşıklık

Programlama Giriş. 17 Ekim 2015 Cumartesi Yrd. Doç. Dr. Mustafa YANARTAŞ 1

EM-554 İleri Bilgisayar Programlama Teknikleri Algoritma ve Akış Diyagramları

Karar Ağaçları. Karar Ağaçları. Arş. Gör. Melike ERDOĞAN

Google Maps ve Genetik Algoritmalarla GSP Çözümü İçin Öneri

VERİ YAPILARI VE PROGRAMLAMA (BTP104)

Abstract: Özet: 1. Giriş

SIRALAMA SORTING. Yrd. Doç. Dr. Aybars UĞUR

YZM 2116 Veri Yapıları

YZM 2116 Veri Yapıları

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

f(x) ve g(x) reel sayılarda tanımlı iki fonksiyon olmak üzere, x > k olacak şekilde bir k vardır öyle ki,

Algoritmaların Karşılaştırılması. Doç. Dr. Aybars UĞUR

Önsöz. İçindekiler Algoritma Algoritma Nasıl Hazırlanır? Yazılımda Algoritma Mantığı Nedir? 1.2. Algoritma Örnekleri ve Sorular

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Ş

BİLGİSAYAR PROGRAMLAMA. Algoritma ve Akış Şemaları

Dağıtık Ortak Hafızalı Çoklu Mikroişlemcilere Sahip Optik Tabanlı Mimari Üzerinde Dizin Protokollerinin Başarım Çözümlemesi

İşlem Yönetimi (Process Management)

YZM 2116 Veri Yapıları

YZM ALGORİTMA ANALİZİ VE TASARIM DERS#2: ALGORİTMA ANALİZİ

VERİ YAPILARI VE PROGRAMLAMA

Fonksiyon Optimizasyonunda Genetik Algoritmalar

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-10 Diziler. Yrd. Doç. Dr. Ümit ATİLA

Quick Sort Algoritması (Hızlı Sıralama Algoritması)

Algoritma ve Akış Diyagramları

Transkript:

SEQUENCE ALGORİTMASI Bilgisayar programlamanın üç temel mantık yapısından biridir. Diğer ikisi ise Seçilim(Selection) ve Döngü(Loop, Iteration)dür. Bir dizi yapısı içinde, bir eylem ya da bir olay, geçmiş bir komut içinde sonraki komuta yol açar. Dizi, herhangi bir sayıda eylem içerebilir ama hiçbir eylem dizi içinde atlanamaz. Program çalıştığı zaman komuttaki her eylemin, bir eylem kaçırma veya başka bir eyleme dallanma olasılığı olmadan gerçekleşmesi gerekir. Hesaplama ihtiyacı ne kadar karışıksa yapıların kombinasyonu da o kadar karışıktır. SEQUENCING(SIRALAMA) Örneğin, basit bir diş fırçalama algoritması şu adımlardan oluşur; Diş macununu diş fırçası üstüne koymak, Diş fırçalamak için diş fırçasını kullanmak, Diş fırçasını temizlemek, Ağzı temizlemek. i. Her adım yerine getirilmiş bir komut. ii. Sequencing(Sıralama) tüm adımların gerçekleştiği bir komut düzenidir. SIRALAMA(SEQUENCING) NEDEN ÖNEMLİ? Algoritmadaki adımların doğru düzende uygulanması çok önemli. Öteki türlü algoritma düzgün çalışmayacaktır. Diş fırçalama algoritmasındaki adımların aşağıdaki gibi olduğunu varsayalım; i. Diş fırçalamak için diş fırçasını kullanmak, ii. Diş macununu diş fırçası üstüne koymak, iii. Ağzı temizlemek, iv. Diş fırçasını temizlemek. SEQUENCE(DİZİ) ALGORİTMASI Dizi Algoritması (Sequence Algorithm) Karşılaştırma Merkezli (Comparison Based) Kanıt Merkezli (Index Based) Teyit Merkezli (Predicate Based) Dizi algoritması, bir ya da birden çok doğrusal dizi isteyen bir algoritmadır.

Index Based Sequence Algorithm (Kayıt Merkezli Dizi Algoritması) Sequence Algorithm (Dizi Algoritması) Index Based (Kanıt Merkezli) Sequence Rotation (Dönüşüm Dizisi) Sequence Reversal (Dönüştürme Dizisi) Sadece dizi içindeki pozisyonları işleten dizi algoritmasıdır. Predicate Based Sequence Algorithm (Teyit Merkezli Dizi Algoritması) Dizi içindeki değerlere verilen teyit uygulama sonuçlarına bağlı hesaplanan bir dizi algoritmasıdır.

Comparison Based Sequence Algorithm (Karşılaştırma Merkezli Dizi Algoritması) Karşılaştırma merkezli dizi algoritması, dizi içindeki çift değerler arasında karşılaştırmaya bağlı olan dizi algoritmasıdır. Karşılaştırma işlemcisine bağlı olan bir algoritma, ya önceden tanımlanmış ya da algoritmaya geçmiş olandır. Bir diğer durumda karşılaştırma işlemcisi, dizinin değer türleri içinde kesin sıralamayı hesaplamalı. Sequence Sorting Algorithm (Dizi Sıralama Algoritması) Heap Sort(Yığınlama Sıralaması) Özel ağaç yapısı ile eleman kümesindeki değerlerin kümeleme işlemi yapılmasıyla ortaya çıkan sıralama algoritmasıdır. Türkçeleştirildiğinde 'yığınlama sıralaması', 'kümeleme sıralama', 'öbek sıralama' gibi isimlerle karşımıza çıkmaktadır.

Merge Sort (Birleştirme Sıralaması) Diziyi ardışık olarak en küçük alt dizilerine kadar yarılayan sonra da onları sıraya koyarak bireştiren özyinemeli bir algoritmadır. Yarılama işlemi en büyük alt dizi en çok iki öğeli olana kadar sürer. Quick Sort (Hızlı Sıralama) Quick sort algoritması, sıralanacak bir diziyi daha küçük iki parçaya ayırıp oluşan bu küçük parçaların kendi içinde sıralanması mantığıyla çalışır. Algoritma adımları şu şekilde özetlenebilir: Diziden herhangi bir elemanı pivot(kilit) eleman olarak seçer.

Sequence Selection Algorithm (Dizi Genetik Algoritması) Gelecek nesilleri üretmek için kullanılacak genomların seçildiği genetik algoritma aşamasıdır. Seçilim süreci genel olarak aşağıdaki gibi gerçekleşebilir: Genetik algoritması, oluşturulacak bir sonraki nesil için çaprazlanacak bireylerin belirlenmesinde kullanılır. Seçilecek bireyler ve uygunlukları aşağıdaki tabloda gösterilmiştir:

RULET TEKERİ SEÇİM YÖNTEMİ Bu seçim yönteminde bireylerin seçilme olasılıkları uygunluk fonksiyonlarıyla orantılıdır. Örnek olarak verilen bireylerin seçilme olasılıkları bu seçilim yöntemi uyarınca aşağıdaki gibi olacaktır: RÜTBE SEÇİM YÖNTEMİ Bu seçilim yönteminde bireylerin seçilme olasılıkları uygunluk derecelerinin sıralamasıyla orantılıdır. Örnek olarak verilen bireylerin bu seçilim yöntemine göre seçilme olasılıkları aşağıdaki gibi olacaktır: