![Problém s batohem - Technologie Problém s batohem - Technologie](https://a.continuousdev.com/technology/knapsack-problem.png)
Obsah
- Definice - Co znamená problém Knapsack?
- Úvod do Microsoft Azure a Microsoft Cloud | V této příručce se dozvíte, o čem cloud computing je a jak vám může Microsoft Azure pomoci migrovat a řídit podnikání z cloudu.
- Techopedia vysvětluje problém Knapsack
Definice - Co znamená problém Knapsack?
Problém batohu je problém optimalizace používaný k ilustraci problému i řešení. Název odvozuje ze scénáře, kde je omezen počet položek, které lze umístit do batohu s pevnou velikostí. Vzhledem k množině položek se specifickými hmotnostmi a hodnotami je cílem získat co nejvíce hodnoty do batohu s ohledem na omezení hmotnosti batohu.
Úvod do Microsoft Azure a Microsoft Cloud | V této příručce se dozvíte, o čem cloud computing je a jak vám může Microsoft Azure pomoci migrovat a řídit podnikání z cloudu.
Techopedia vysvětluje problém Knapsack
Problém batohu je příkladem problému kombinační optimalizace, tématem matematiky a informatiky o nalezení optimálního objektu v sadě objektů. Toto je problém, který byl studován více než století a je běžně používaným příkladem problému v kombinatorické optimalizaci, kde je potřeba optimálního objektu nebo konečného řešení, kde není možné vyčerpávající vyhledávání. Problém lze nalézt v reálných scénářích, jako je alokace zdrojů ve finančních omezeních nebo dokonce při výběru investic a portfolií. To lze také nalézt v oborech, jako je aplikovaná matematika, teorie složitosti, kryptografie, kombinatorika a informatika. Je to snadno nejdůležitější problém v logistice.
V problému s batohem mají dané položky minimálně dva atributy - hodnotu položky, která ovlivňuje její důležitost, a hmotnost nebo objem položky, což je její limitující aspekt. Protože vyčerpávající vyhledávání není možné, lze rozdělit problémy na menší dílčí problémy a spustit je rekurzivně. Tomu se říká optimální substruktura. To se týká pouze jedné položky najednou a aktuální hmotnosti, která je v batohu stále k dispozici. Řešitel problému se musí pouze rozhodnout, zda vezme předmět nebo ne na základě váhy, kterou lze stále přijmout. Pokud se však jedná o program, opětovné výpočty nejsou nezávislé a způsobily by problémy. Zde lze použít techniky dynamického programování. Řešení každého dílčího problému jsou uložena tak, aby se výpočet musel uskutečnit pouze jednou.