Úvod do gramatického algoritmu

Strategie použitá k řešení problémů. Greedy Algorithm je považován za jeden z přístupů používaných k řešení problémů. Tento heretik řešící problém jde s výběrem, který se v tu chvíli zdá nejlepší. Tento přístup se nejlépe používá k řešení problémů s optimalizací. Problémy s optimalizací lze definovat jako problémy, které vyžadují minimální nebo maximální výsledky. Algoritmus Greedy je nejjednodušší a nejjednodušší přístup, který lze použít k dosažení optimálního řešení.

Co je to Greedy Algorithm?

Greedy Algorithm je algoritmická strategie používaná k výběru nejlepší volitelné volby ve velmi malém stádiu a nakonec k výstupu globálně optimálního řešení. Tento algoritmus vybere nejlepší možné řešení v daném okamžiku bez ohledu na důsledky. Greedyova metoda říká, že problém by měl být vyřešen ve stádiích, kdy je každý jeden vstup považován za daný, že tento vstup je proveditelný. Protože se tento přístup zaměřuje pouze na okamžitý výsledek bez ohledu na větší obraz, je považován za chamtivý.

Definování základní koncepce

Doposud víme, co je chamtivý algoritmus a proč se tomu říká. Níže uvedené ukazatele vám pomohou lépe chápat chamtivý algoritmus. Nyní bylo zcela jasné, že chamtivý algoritmus funguje pouze v případě problému; tento přístup je nicméně použitelný, pouze pokud k tomuto problému máme podmínku nebo omezení.

Typy problémů

  1. Problém s minimalizací: Získání řešení problému je snadné vzhledem k tomu, že jsou splněny všechny podmínky. Pokud však tento problém vyžaduje minimální výsledek, nazývá se to problém minimalizace.
  2. Problém maximalizace: Problém, který vyžaduje maximální výsledek, se nazývá problém maximalizace.
  3. Problém s optimalizací: Problém se nazývá problém s optimalizací, pokud vyžaduje minimální nebo maximální výsledky.

Druhy řešení

  1. Realizovatelné řešení: Nyní, když se objeví problém, máme mnoho možných řešení tohoto problému. Přesto, vezmeme-li v úvahu podmínku stanovenou pro tento problém, volíme řešení, která danému stavu vyhovují. Taková řešení, která nám pomáhají dosahovat výsledků splňujících danou podmínku, se nazývají proveditelné řešení .
  2. Optimální řešení: Řešení se nazývá optimální, pokud je již proveditelné a dosahuje cíle problému; nejlepší výsledek. Tímto cílem by mohl být buď minimální nebo maximální výsledek. Zde je třeba poznamenat, že jakýkoli problém bude mít pouze jedno optimální řešení.

Následující příklad vám pomůže snadno pochopit chamtivou metodu. Řekněme, že si člověk chce koupit nejlepší auto dostupné na trhu. Jednou z metod, jak si vybrat toto auto, je analýza všech automobilů na trhu. Nyní, protože je to časově náročné, aby bylo snadné vybírat auto z těch konkrétních značek, do kterých mají zájem investovat. Při další kategorizaci by si opět vybrali požadované modely a podívali se na jeho vlastnosti. Proto je zde použitý přístup chamtivý, protože toto řešení bylo pro vás optimálním řešením, přičemž všechny faktory byly pro vás příznivé.

Základní komponenty chamtivého algoritmu

Nyní, když lépe porozumíme tomuto mechanismu, pojďme prozkoumat základní komponenty chamtivého algoritmu, který jej odlišuje od ostatních procesů:

  • Kandidátská sada: Z této sady je vytvořena odpověď.
  • Funkce výběru: Vybere nejlepšího uchazeče, který bude zahrnut do řešení.
  • Funkce proveditelnosti: V této části se vypočítá, zda může být kandidát použit k přispění k řešení.
  • Objektivní funkce: Přiřadí hodnotu úplnému nebo částečnému řešení.
  • Funkce řešení: Slouží k označení, zda bylo splněno správné řešení.

Kde funguje Greedy Algorithm nejlépe?

Greedy Algorithm lze aplikovat na níže uvedené problémy.

  • Greedyho přístup lze použít k nalezení minimálního překlenovacího stromového grafu pomocí Primova nebo Kruskalova algoritmu
  • Nalezení nejkratší cesty mezi dvěma vrcholy je dalším problémem, který lze vyřešit pomocí chamtivého algoritmu. Použití algoritmu Dijkstra spolu s chamtivým algoritmem vám poskytne optimální řešení.
  • Huffman Coding

Výhody

Největší výhodou, kterou má Greedy algoritmus oproti ostatním, je to, že je snadno implementovatelné a ve většině případů velmi efektivní.

Nevýhody

Greedy Algorithm v zásadě sestavuje řešení po částech a volí další část takovým způsobem, že okamžitě poskytne nejlepší řešení současného problému. V důsledku toho nevznikají žádné obavy ani obavy z důsledků současného přijatého rozhodnutí. Greedy Algorithm nikdy nepřemýšlí o dříve provedených volbách a nedokáže vytvořit optimální řešení, i když poskytuje téměř optimální řešení . Knapsack Problem a Traveling Salesman Problem jsou příklady problémů, kdy Greedy Algorithm nedokáže vytvořit optimální řešení.

  • Problém s batohem : Nejčastěji známý problém s batohem na jméno je každodenní problém, kterému čelí mnoho lidí. Řekněme, že máme sadu položek a každá z nich má jinou váhu a hodnotu (zisk), než aby byla naplněna do kontejneru, nebo by měla být shromažďována tak, aby celková hmotnost byla menší nebo rovna hmotnosti kontejneru, zatímco celkový zisk je maximalizován .

Závěr

Greedy Algorithm je nejlépe použitelný, když člověk potřebuje řešení v reálném čase a přibližné odpovědi jsou „dost dobré“. Je zřejmé, že chamtivý algoritmus minimalizuje čas a přitom zajišťuje, že je vytvořeno optimální řešení, a proto je vhodnější použít ho v situaci, kdy je zapotřebí méně času. Po přečtení tohoto článku by člověk mohl mít spravedlivou představu o chamtivých algoritmech. Kromě toho tento příspěvek vysvětluje, proč je považován za nejlepší rámec, který odpovídá téměř na všechny problémy s programováním, a pomáhá vám při rozhodování o nejoptimálnějším řešení v daném okamžiku.

Z hrubého hlediska je však pro aplikaci teorie chamtivého algoritmu obtížnější znát správné problémy. I když je to vědecký koncept, který má logiku, má také podstatu tvořivosti.

Doporučené články

Toto byl průvodce Co je chamtivý algoritmus. Zde jsme diskutovali základní koncept, komponenty, výhodu a nevýhodu Greedy Algorithm. Další informace naleznete také v dalších navrhovaných článcích -

  1. Algoritmus v programování
  2. Co je Perl?
  3. Úvod do algoritmu
  4. Co je Agilní Sprint?

Kategorie: