BilgisayarlarProgramlama

Dinamik programlama, temel ilkeler

programlama görevleri bazen kişisel bir bilgisayarın belleğini yükler veri kombinasyonları büyük miktarda sıralamak için gerekli olan performans sergilediğini zaman en uygun çözümü seçin. Bu tür yöntemler, örneğin, "böl ve kuralı" programlama yöntemi, içerir. Bu durumda algoritma ayrı küçük alt görevler halinde ayrılma problemi içerir. Bu yöntem yalnızca küçük alt görevler karşılıklı bağımsızdır durumlarda uygulanabilir. birbirine bağlı alt görevlere Gereksiz işlemi gerçekleştirmeden önlemek için, 50'li yıllarda Amerikan R.Bellmanom önerilen dinamik programlama yöntemini kullanır.

yöntem

Dinamik programlama onu n ayrı aşamaları paylaşan en iyi çözümü n boyutlu problemi belirlemektir. Her biri değişkene göre bir alt görevdir.

Bu yaklaşımın en önemli avantajı tek boyutlu optimizasyon sorunda taraf geliştiriciler yerine n boyutlu problemin alt görevler ve bizim temel amacı "aşağıdan yukarıya" edeceğini kabul edilebilir.

Yani alt görevler birbiriyle durumlarda, dinamik programlama uygulamak için tavsiye edilir ortak modüllerini paylaşır. Algoritma kez alt görevler her bir karar verir ve tasarruf tepkileri özel bir tablo içinde gerçekleştirilir. Bu aynı alt görev ile tekrar karşılaştığımızda bir cevap hesaplamak için değil mümkün kılar.

Dinamik programlama görev sorunu çözer optimizasyon. Bu yöntemin yazar R. Bellman optimumu prensibi ile formüle edildi: adımları ve bu adımda tanımlanan çözeltinin her birinin ilk durum ne olursa olsun, her aşamanın sonunda sistemi alır duruma, göre, optimal seçmek için aşağıdaki.

yöntem varyantları, ve yineleme vasıtasıyla çözülür görevlerin performansını artırır.

Bina görev algoritması

Dinamik programlama algoritması böylece onun çözümü için iki veya daha fazla alt görevler ayrılmıştır görev tüm alt görevlerine optimal çözümün oluşmaktadır tür görevlerin yapılmasını gerektirirken, bu içerir. Bundan başka, bir yineleme ilişkisi bilgileri, ve bir bütün olarak görev için optimal bir parametre değerlerinin hesaplanması gereklidir.

Bazen 3 adımda her görevin ilerleme hakkında bazı ek arka plan bilgileri ezberlemek etmektir. Bu dönüş inme denir.

Uygulama yöntemi

İki karakteristik özellikler vardır Dinamik programlama uygulanır:

  • alt görevler için uygun;
  • altproblemleri örtüşen problem varlığı.

Dinamik programlama ile optimizasyon probleminin çözümü, öncelikle çözümün yapısını açıklamak gerekir. Görev çözüm kendi alt görevler en iyi kararlardan oluşur eğer optimum olmak zorundadır. Bu durumda, dinamik programlama kullanılması tavsiye edilir.

Bu yöntemde temel sorunun ikinci özelliği, - alt görevlerin az sayıda. Aynı örtüşen alt düzeyde sorun kullanılarak sorun Yinelemeli çözeltisi sayısı ilk bilgi büyüklüğüne bağlıdır. Cevap özel bir tabloda saklanır, program bu verileri kullanarak zaman kazandırır.

Özellikle etkili bir görev esasen aşamalarında kararlar için gereken dinamik programlama kullanılmasıdır. Örneğin, değiştirme ve ekipmanın onarım sorunun basit bir örnek düşünün. iki farklı formlarda lastiği üretmek aynı anda lastiklerin üretimi için döküm makinesi fabrikaya diyelim. biçimlerinden biri başarısız olması durumunda, makine sökülmesi gereklidir. Bazen daha karlı değiştirip durumda makineyi sökmek için ikinci bir formu ve bu formun bir sonraki aşamada işlemez olacaktır etmek anlaşılabilir. Özellikle onlar başarısız başlamadan önce her iki çalışma şeklini değiştirmek için daha kolay olduğundan. Devam sömürü biçimlerinin, makine kesintiler, atılan lastikler ve daha maliyeti kaybı faydaları: Dinamik programlama metodu dikkate bütün faktörleri dikkate alarak bu formların değiştirilmesi konusunda en iyi stratejiyi belirler.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 tr.delachieve.com. Theme powered by WordPress.