FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ

Slides:



Advertisements
Benzer bir sunumlar
Yığınlama Sıralaması (Heap Sort)
Advertisements

FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ
FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ
MIT503 Veri Yapıları ve algoritmalar
Bilkent Üniversitesi Sınıf Geçme Sistemi.
FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ
FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ
Bilgisayar Programlama I
IT503 Veri Yapıları ve algoritmalar
FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ
FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ
FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ
Enerji Sistemlerinde Yöneylem Araştırması EBT Bahar Yarıyılı
FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ
FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ
FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ
FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ
DERS YÜKÜ Ders Yükü: Bir dönemde alınabilecek derslerin sayısı,
FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ KONTROL : Prof. Dr. Asaf VAROL
FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ
BPR151 ALGORİTMA VE PROGRAMLAMA - I
FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ
BBY Bilgi Teknolojisi ve Yönetimi
Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi
HATAY İL MİLLİ EĞİTİM MÜDÜRLÜĞÜ
Nesneye Dayalı Programlama
FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ DERLEYENLER: Ahmet Can ÇAKIL Ali Murat GARİPCAN Özgür AYDIN Şahin KARA KONTROL : Prof. Dr. Asaf VAROL KONU : KAPSÜLLEME.
FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ DERLEYENLER: Ahmet Can ÇAKIL Ali Murat GARİPCAN Özgür AYDIN Şahin KARA KONTROL : Prof. Dr. Asaf VAROL KONU : LİSTELERE.
Algoritmalar (Algoritms)
FMEA Failure Mode and Effects Analysis-Hata Türü ve Etkileri Analizi
GAZİ OSMANPAŞA ÜNİVERSİTESİ BİLGİSAYAR PROGRAMCILIĞI
Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi
CİN ALİ İNTERNETTE ALIŞVERİŞ YAPIYOR
Algoritmalar (Algoritms)
Yrd. Doç. Dr. Emre SÜMER Aralık-2011
Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi
Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi
Diziler Dizi, bellekte aynı isim altında toplanmış değişkenler kümesidir. Eğer ki aynı türden veriler grubunu bellekte tutmak gerekirse diziler kullanılır.
FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ
FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ
WEB TABANLI ÖĞRENME ORTAMLARINDA ETKİLEŞİM
SONLU ELEMANLAR YÖNTEMİ
KARAR ALICI OLARAK YÖNETİCİ.
Tamsayılı Programlama
Bilgisayar Programlama. Tek bir değişken tanımlamak için aşağıdaki gibi bir yazım yeterlidir. int i; Hatırlanacağı gibi bu tarz bir tanımlamada.
Bilgisayar Bilimlerinin Kuramsal Temelleri
Lineer Cebir Prof.Dr.Şaban EREN
ÇOCUĞUNUZ BİR HATA YAPTIĞINDA UYGULAMANIZ GEREKEN 8 ŞEY.
Ölçme Sonuçları Üzerinde İstatiksel İşlemler
DynEd İngilizce Dil Eğitimi Sistemi.  DYNED, Dynamic ve Education (Dinamik ve Eğitim) kelimelerinin bir araya getirilerek yazılmasından oluşmakta ve.
Şahin BAYZAN Kocaeli Üniversitesi Teknik Eğitim Fakültesi
ANTALYA İL MİLLİ EĞİTİM MÜDÜRLÜĞÜ
Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi
Diferansiyel Denklemler
Learning to learn network for low skilled senior learners ÖĞRENCİ Mİ? EVET, O BENİM! Learning to Learn Training Hafıza performansınızı geliştirmek Developed.
Kayıt Yenileme Tarihleri Öğretim yılı güz Dönemi ders kayıtları (ders seçimi) süreleri Üniversitemiz Senatosunca Eylül olarak belirlenmiştir.
Bilgisayar Mühendisliği Bölümü
Algoritmalar II Ders 6 Açgözlü Algoritmalar.
Algoritmalar II Ders 2 Dinamik Programlama Yöntemi.
Bilgisayar ile Çeviri Sistemleri
ANKARA ÜNİVERSİTESİ SAĞLIK BİLİMLERİ FAKÜLTESİ SOSYAL HİZMET BÖLÜMÜ
Algoritmalar II Ders 4 Dinamik Programlama Yöntemi.
Problem Çözme ve Algoritmalar
SONLU ELEMANLAR YÖNTEMİ
PROBLEM ÇÖZME VE ALGORİTMALAR
Problem Çözme ve Algoritmalar
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
Hata ayıklama da denilen programlama hatalarını bulma ve düzelme işlemine ne denir? a) Veri b) Yazılım c) Bug d) Debugging e) Donanım.
Algoritmalar II Ders 2 Dinamik Programlama Yöntemi.
Sunum transkripti:

FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ KONU : HATA AYIKLAMA HAKKINDA BİLGİ, KNAPSACK PROBLEMİ, DİNAMİK PROGRAMLAMAYA GİRİŞ DERLEYENLER: Ahmet Can ÇAKIL Ali Murat GARİPCAN Özgür AYDIN Şahin KARA KONTROL : Prof. Dr. Asaf VAROL

Konu Başlıkları Hata Ayıklama Knapsack Problemi Dinamik Programlamaya Giriş Kaynaklar

Hata Ayıklama Programlama karmaşık bir süreçtir, ve insanlar tarafından yapıldığı için hatalara yol açabilir. Garip nedenlerden dolayı, programlama hatalarına bug adı verilmektedir, ve bu hataları belirleme ve düzeltme işlemine debugging adı verilmektedir. ( Bug böcek anlamına gelir. Eski dönemlerde odayı kaplayan bilgisayarlarda böcek görülmesi üzerine kullanıldığına dair iddialar var. Türkçe'de hata ayıklama ifadesini kullanacağımız için aslında bu açıklamanın sadece ingilizce için geçerli olduğunu belirtmek gerekiyor).

Hata Ayıklama Bir programda üç tür hata oluşabilir : Sözdizimsel hatalar Çalışma zamanı hataları Anlambilimsel hatalar. Bu hataları daha hızlı belirleyebilmek için ayırt edici özelliklerinin anlatılması önemlidir.

Sözdizimsel Hatalar Python bir programı eğer sözdizimsel olarak doğruysa çalıştırabilir; aksi halde,işlem başarısız olur ve bir hata mesajı döndürür. Sözdizimi programın yapısını kasteder ve bu yapı hakkındaki kuralları tanımlar.

Çalışma Zamanı Hataları İkinci tür hatalar, çalışma zamanı hatalarıdır, bu ismin verilmesinin nedeni program çalıştırılana kadar bu hataların ortaya çıkmamasıdır. Bu hatalara ayrıca istisna (exception) adı da verilmektedir, çünkü istisnai (ve kötü) bir durumun ortaya çıktığını belirtirler.

Anlambilimsel Hatalar Üçüncü hata tipi anlambilimsel hatalardır. Programda bir anlambilimsel hata varsa, başarılı bir şekilde çalışmayacaktır, bundan kastedilen bilgisayarın herhangi bir hata mesajı üretmeyeceği, ancak doğru şeyi yapmayacağıdır. Beklenilenden farklı bir şey yapacaktır. Bilgisayarlar siz ona ne derseniz, onu yapan aygıtlardır.

Sırt Çantası Problemi (Knapsack Problem) Sırt çantası problemi ( Knapsack Problem- SÇP) tam sayılı programlamada en çok uğraşılan problemlerden birisidir. 1950 yılından beri bu türde problemlerin artması sonucu bilgisayar teknolojisi ile çözüm aranan ve çözüm sürelerinin iyileştirmeye çalışılan problemdir. Bilgisayar kullanımı ile birlikte karşılaşılan problemlerin bir çoğu çözüme ulaşmıştır. Bu tip problemleri incelersek en önemlisinin çözüm sürelerinde görülen uzamalardır.

Torba Problemi Bu durumda her eşyanın ; Pahası; pi Ağırlığı; ai Torba problemi basitçe bir torbanın içerisine en fazla eşyanın yerleştirilmesini hedefler. Problem hırsız örneğinden daha iyi anlaşılabilir. Buna göre bir hırsız çantasına ağırlıkça en az, pahaca en çok eşyayı doldurmak ister. Bu durumda her eşyanın ; Pahası; pi Ağırlığı; ai Çantanın taşıyabileceği azamî kapasite; ci olarak tanımlansın.

0-1 Torba problemi Bu problem tipinde eşyalar ya tamamen alınır ya da tamamen bırakılır. Alınacak olan eşyanın bir kısmını almak mümkün değildir. Dolayısıyla bir eşyanın alınıp alınmamasını xi ile gösterecek olursak problem aşağıdaki şekilde modellenebilir: Bu modelde görüldüğü üzere, xi değeri, 0 veya 1 olabilmektedir. 0 olması durumunda i elemanından alınmıyor, 1 olduğunda ise i elemanının tamamı alınıyor demektir.

Sınırlı Torba Problemi (Bounded Knapsack Problem) Bu problem tipinde ise her eşyadan alınabilecek miktarda sınır vardır. Bu problemin modeli aşağıda verilmiştir: bi=Üründen alınabilecek maksimum miktar

Dinamik Programlama Bir problem tahlil ve çözüm yöntemi olan dinamik programlama yapı olarak parçala fethet yöntemine benzer. Tek farkı problemi parçalara böldükten sonra aynı problemin tekrarı olan parçaları bir kerede çözüp her tekrar için ayrı bir çözüm yapmamasıdır. Dinamik programlama bir başka açıdan bakıldığında ise bir optimizasyon tekniğidir. Özyinemeli(rekürsif) çözüme sahip problemlerde dinamik programlama problem çözüm yolumuzun verimini olağanüstü bir biçimde artırmaktadır.

Dinamik Programlama Dinamik programlama uygulamalarımızda temel olarak; çözümü aynı olan alt-problemler, büyük bir problemi küçük parçalara bölmek ve bu küçük parçaları kullanarak baştaki büyük problemimizin sonucuna ulaşmak, çözdüğümüz her alt-problemin sonucunu bir yere not almak ve gerektiğinde bu sonucu kullanarak aynı problemi tekrar tekrar çözmeyi engellemek, gibi üç ayrı teknikten faydalanılmaktadır.

KAYNAKLAR http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-00-introduction-to-computer-science-and-programming-fall-2008/lecture-videos/ http://e-bergi.com/2008/Mart/Dinamik-Programlama http://yzgrafik.ege.edu.tr/~tekrei/dersler/bbgd_p/ch06.xhtml http://www.cyber-warrior.org/FORum/display_topic_threads.asp?ForumID=124&TopicID=394638&light=1&ThreadPage=1