Minimální kostry a nejkratší cesty AG1

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Jaký je časový komplexita pro nalezení nejkratší cesty v acyklickém orientovaném grafu pomocí topologického uspořádání?

  • O(n^2)
  • O(m)
  • O(n + m) (correct)
  • O(n)

Jaký je správný způsob, jak se zbavit záporných hran v grafu?

  • Zrušit záporné hrany a nechat jen kladné.
  • Přičíst k záporným hranám velkou konstantu K.
  • Použít algoritmus Bellmanova-Forda. (correct)
  • Odměnit hrany, které jsou záporné.

Jak je možné implementovat Dijkstrova algoritmu na situaci, kdy zahrnujeme křižovatky s čekacím časem?

  • Zkrátit hrany mezi křižovatkami.
  • Zahrnout křižovatky do grafu jako hrany bez vah.
  • Vytvořit dva vrcholy pro každou křižovatku a přidat váhu na hranu. (correct)
  • Optimalizovat graf pomocí BFS.

Proč algoritmus vrátí nejkratší cestu v DAGu vždy správně?

<p>Každý vrchol se zpracovává pouze jednou. (A)</p> Signup and view all the answers

Jaký by byl efekt přičtení velké konstanty K k záporným hranám?

<p>Penalizace levných cest přes více hran. (C)</p> Signup and view all the answers

Jaký je hlavní rozdíl mezi váhami vrcholů a váhami hran v grafu?

<p>Váhy hran reprezentují čas jízdy, váhy vrcholů čekací dobu. (C)</p> Signup and view all the answers

Jaký problém může nastat, pokud by algoritmus vrátil nadřazenou cestu v DAGu?

<p>Existence cyklu v grafu. (C)</p> Signup and view all the answers

Jaké podmínky musí být splněny, aby bylo možné použít Dijkstrova algoritmu?

<p>Všechny váhy hran musí být kladné. (D)</p> Signup and view all the answers

Který algoritmus se používá k nalezení minimální kostry grafu?

<p>Kruskalův algoritmus (B), Primův algoritmus (C)</p> Signup and view all the answers

Jaký je hlavní princip Jarníkova algoritmu?

<p>Vybere nejkratší hranu připojující nový vrchol k existující kostře (B)</p> Signup and view all the answers

Co se stane s minimální kostrou grafu při zvýšení váhy jedné hrany?

<p>Může dojít k její změně (C)</p> Signup and view all the answers

Jaká je složitost algoritmu Prim pro graf se $V$ vrcholy a $E$ hranami?

<p>$O(E + V imes ext{log} V)$ (C)</p> Signup and view all the answers

Která z následujících metod NEpatří mezi způsoby, jak nalézt minimální kostru?

<p>Dijkstrův algoritmus (B)</p> Signup and view all the answers

Jaký je výstup Jarníkova algoritmu?

<p>Minimální kostra grafu (A)</p> Signup and view all the answers

Které z uvedených tvrzení o Kruskalově algoritmu je pravdivé?

<p>Začíná s prázdnou kostrou (B)</p> Signup and view all the answers

Jak se nazývá metoda pro zjištění cyklů v minimální kostře?

<p>Union-Find (D)</p> Signup and view all the answers

Jaké jsou výstupy Kruskalova algoritmu?

<p>Minimální kostra (C)</p> Signup and view all the answers

Jaká je filozofie metody Greedy, která se používá v Kruskalově a Primově algoritmu?

<p>Vybírat nejlepší volbu v každém kroku (B)</p> Signup and view all the answers

Co je cílem algoritmu pro minimální kostru?

<p>Propojit všechny vrcholy minimální hmotností (C)</p> Signup and view all the answers

Jaký typ grafu by měl Jarníkův algoritmus používat?

<p>Graf s kladnými váhami (A)</p> Signup and view all the answers

Kdy je Kruskalův algoritmus zvlášť efektivní?

<p>Když je graf řídký (A)</p> Signup and view all the answers

Který z následujících algoritmů neslouží k hledání nejkratších cest v grafu?

<p>Primův algoritmus (C)</p> Signup and view all the answers

Co se stane, když zvýšíme váhu hrany, která není v kostře?

<p>Kostra se nezmění. (B)</p> Signup and view all the answers

Jaký proces je využit při hledání kružnice v grafu?

<p>DFS (Prohledávání do hloubky) (B)</p> Signup and view all the answers

Jak se zbavíte záporných hran v grafu?

<p>Přičtením velkého čísla K k záporným hranám. (B)</p> Signup and view all the answers

Jaký je důsledek zvýšení váhy hrany, která je v kostře?

<p>Hrana bude odstraněna z kostře. (C)</p> Signup and view all the answers

Jaký algoritmus se používá k určení komponent v kostře?

<p>Union-Find (D)</p> Signup and view all the answers

Jak se upravuje váha původní kostry po přičtení K?

<p>Odečtením $(|V|-1) * K$. (C)</p> Signup and view all the answers

Jaký je klíčový aspekt Jarníkova a Kruskalova algoritmu v přítomnosti záporných hran?

<p>Relativní pořadí vah zůstává zachováno. (C)</p> Signup and view all the answers

Jaký je přístup Bombardových algoritmů k záporným hranám?

<p>Přidávají velké konstanty. (B)</p> Signup and view all the answers

Jak se dá řešit problém s 2Ω(n) nejkratšími cestami mezi dvěma vrcholy?

<p>Nalezením specifického grafu o n vrcholech. (A)</p> Signup and view all the answers

Jaký dopad má odstranění nejdražší hrany z nalezené kružnice?

<p>Optimalizuje náklady na spojení. (B)</p> Signup and view all the answers

Jak je možné vizualizovat výsledky Dijkstrův algoritmus?

<p>Jako stromy. (B)</p> Signup and view all the answers

Jaký je výsledný efekt předchozích operací na graf?

<p>Zlepšení efektivity hledání nejkratších cest. (D)</p> Signup and view all the answers

Co je potřeba udělat při aplikaci Kruskalova algoritmu?

<p>Udržovat všechny hrany v seřazeném stavu. (D)</p> Signup and view all the answers

Jak ovlivňují záporné hrany celkový výkon algoritmů pro hledání kostry?

<p>Zvyšují složitost algoritmů. (B)</p> Signup and view all the answers

Flashcards

Kruskalův algoritmus

Algoritmus, který nalezne minimální kostru grafu. V každém kroku se vybere hrana s nejmenší vahou, která ne vytváří cyklus. Algoritmus pokračuje, dokud není nalezeno všech n-1 hran pro graf s n vrcholy.

Nejkratší cesta

Nejkratší cesta mezi dvěma vrcholy v grafu je cesta s minimální celkovou vahou hran.

Minimální kostra

Strom, který spojuje všechny vrcholy grafu s minimálním součtem vah všech hran.

Jarníkův algoritmus

Algoritmus, který nalezne minimální kostru grafu. V každém kroku se vybírá hrana s nejmenší vahou, která je incidentní s vrcholem v již vytvořeném stromu.

Signup and view all the flashcards

Váha grafu

V grafu je to součet vah všech hran.

Signup and view all the flashcards

Strom

Strom v grafu je acyklický graf, který spojuje všechny vrcholy.

Signup and view all the flashcards

Stupeň vrcholu

Počet hran incidentních s daným vrcholem.

Signup and view all the flashcards

Acyklický graf

Propojený graf, ve kterém není žádná cyklická cesta.

Signup and view all the flashcards

Graf

Sada vrcholů, které jsou propojeny hranami.

Signup and view all the flashcards

Cyklická cesta

Cesta, která začíná a končí ve stejném vrcholu.

Signup and view all the flashcards

Hrana

Hrana, která spojuje dva vrcholy.

Signup and view all the flashcards

Vrchol

Bod v grafu, kde se stýká několik hran.

Signup and view all the flashcards

Změna váhy hrany

Kdyby se změnila váha jedné hrany, minimální kostra by se mohla, ale nemusí změnit.

Signup and view all the flashcards

Algoritmus pro hledání nejkratší cesty v DAGu

Topologické uspořádání vrcholů DAGu a procházení vrcholy v tomto pořadí. Při procházení vrcholů se relaxují hrany do vrcholů s menší momentální hodnotou.

Signup and view all the flashcards

Korektnost algoritmu pro hledání nejkratší cesty v DAGu

Algoritmus vrátí nejkratší cestu, protože jednou zpracovaný vrchol nemůže již svou cestu změnit. Pokud by existovala kratší cesta, museli bychom se do nějakého vrcholu vracet, což by znamenalo existenci cyklu v DAGu.

Signup and view all the flashcards

Můžeme se zbavit záporných hran v grafu aditivní konstantou?

Nelze jednoduše přičíst velkou konstantu k záporným hranám, protože to by penalizovalo levné cesty přes více hran a zneplatnilo by to celou optimalizaci.

Signup and view all the flashcards

Podrozdělení vrcholů v Dijkstrově algoritmu pro řešení s čekáním

Rozdělení každého vrcholu na dva nové vrcholy. Z vrcholu 1 povede hrana do vrcholu 2 s váhou daného vrcholu. Hrany do původního vrcholu povedou do vrcholu 1 a hrany z původního vrcholu povedou z vrcholu 2.

Signup and view all the flashcards

Vliv podrozdělení vrcholů na složitost algoritmu

Po přidání n nových vrcholů a n hran se složitost algoritmu asymptoticky nezmění, protože je stále lineární v počtu vrcholů a hran.

Signup and view all the flashcards

Změna ne-MST hrany

Je-li váha hrany, která není součástí MST, zvýšena, nemá to na MST žádný vliv. Pokud je váha snížena, je hrana přidána do MST a pomocí DFS se najde cyklus, z něhož je odstraněna nejdražší hrana.

Signup and view all the flashcards

Změna MST hrany

Zvýšení váhy hrany v MST vede k jejímu odstranění z MST. Pomocí BFS se určí, do kterých komponent se MST rozpadla. Následně se do MST přidá levnější hrana, která spojuje tyto komponenty.

Signup and view all the flashcards

Záporné hrany v MST algoritmech

Jarníkův a Kruskalův algoritmus je možné použít k nalezení MST i v případě grafu se zápornými hranami.

Signup and view all the flashcards

Přidání k záporným hranám

K záporným hranám lze přičíst konstantní číslo K, aby se staly nezápornými. MST se pak nalezne a od váhy se odečte (|V|-1) * K pro získání váhy původní MST.

Signup and view all the flashcards

UnionFind v Kruskalově algoritmu

UnionFind s „keříky“ je struktura používaná v Kruskalově algoritmu k efektivnímu spojování vrcholů a ověřování, zda tvoří cyklus.

Signup and view all the flashcards

Dijkstrův algoritmus

Dijkstrův algoritmus je algoritmus pro nalezení nejkratších cest v grafu, který využívá heuristiku pro nalezení vždy nejlevnějšího vrcholu

Signup and view all the flashcards

Bellman-Fordův algoritmus

Bellman-Fordův algoritmus je algoritmus pro nalezení nejkratších cest v grafu, který dokáže zpracovat i grafy se zápornými cykly.

Signup and view all the flashcards

Simple Bellman-Ford

Simple Bellman-Ford je varianta Bellman-Fordova algoritmu, která opakovaně prochází všechny hrany a aktualizuje vzdálenosti do vrcholů.

Signup and view all the flashcards

Exponenciální počet nejkratších cest

Je požadováno najít takový graf o n vrcholech, ve kterém existují 2Ω(𝑛) nejkratších cest mezi dvěma danými vrcholy.

Signup and view all the flashcards

Příklad exponenciálního počtu nejkratších cest

Graf s exponenciálním počtem nejkratších cest mezi dvěma vrcholy může mít formu sítě o n vrcholech, kde je každá vrchol připojena k ostatním pomocí hran o stejných váhách, čímž se vytvoří mnoho stejných nejkratších cest.

Signup and view all the flashcards

Záporné hrany a MST

MST algoritmy, jako jsou Jarníkův a Kruskalův, se dají použít i na grafy se zápornými hranami, protože srovnávají pouze relativní pořadí vah. Přidání konstanty K k záporným hranám tento princip nezmění, ale je potřeba upravit výslednou váhu MST o (|V|-1) * K.

Signup and view all the flashcards

UnionFind v Kruskalově algoritmu

UnionFind s „keříky“ je datová struktura efektivní jak pro zjišťování, zda patří dva vrcholy do stejné množiny (komponenty), tak pro rychlé spojování těchto množin. Používá se v Kruskalově algoritmu k vyloučení tvorby cyklů v MST.

Signup and view all the flashcards

Dijkstrův algoritmus - nenasytnost

Dijkstrův algoritmus je nenasytný algoritmus, protože vždy vybírá vrchol s nejmenší vzdáleností od zdroje. Tento algoritmus využívá heuristiku, která často vede k efektivnímu nalezení nejkratších cest, ale ne vždy zaručuje optimální řešení.

Signup and view all the flashcards

Simple Bellman-Fordův algoritmus - iterativní kontrola

Simple Bellman-Fordův algoritmus provádí iterace přes všechny hrany a pro každou kontroluje, zda by aktualizace vzdálenosti do cílového vrcholu vedla k dosažení kratší cesty. V případě detekce záporného cyklu algoritmus tento cyklus v detekuje.

Signup and view all the flashcards

Exponenciální počet nejkratších cest - příklad

Exponenciální počet nejkratších cest mezi dvěma vrcholy je možný v grafech, které obsahují mnoho vrcholů s relativně podobnými vzdálenostmi od zdroje. Například síť o n vrcholech, kde je každá vrchol spojena s ostatními hranami o stejné váze, má exponenciální počet stejných nejkratších cest.

Signup and view all the flashcards

Study Notes

Minimální kostry a nejkratší cesty

  • Minimální kostry a nejkratší cesty jsou algoritmy pro hledání optimálních cest v grafech.
  • Předmětem je cvičení AG1.
  • Ukázány jsou algoritmy Jarníkův a Kruskalův.
  • Zmíněno je řešení pro změnu váhy hrany v minimální kostře.
  • Probrány záporné hrany a jejich vliv na algoritmy.
  • Rozdíly v návrhu algoritmů.

Jarníkův algoritmus

  • Algoritmus pro určení minimální kostry váženého grafu.
  • Ukázán graficky s čísly vah hran.
  • Postup řešení algoritmu prezentován v obrázcích (pořadí kroků).

Kruskalův algoritmus

  • Dalším algoritmem pro minimální kostru.
  • Znázorněn obrázky kroků algoritmu.
  • Postup řešení algoritmu prezentován v obrázcích (pořadí kroků).

Změna váhy hrany

  • Předpokládaný vliv změny váhy hrany na minimální kostru popsaný.
  • Objasněno, co se stane, pokud se změní váha hrany v minimální kostře (i mimo minimální kostru).
  • Používány jsou metody DFS (hloubkový průchod grafu) a BFS (šířkový průchod).

Záporné hrany

  • Otázka, zda je možné použít Jarníkova a Kruskalova algoritmu na grafy se zápornými hranami.
  • Možným řešením je přičtení konstanty k záporným hranám.
  • Předpokládaný rozsah vlivu konstanty K.

Union-Find

  • Používán v Kruskalově algoritmu, popis funkce v Kruskalově algoritmu.
  • Postup řešení algoritmu prezentován názorně v grafech.

Dijkstrův algoritmus

  • Algoritmus pro nalezení nejkratších cest v grafu.
  • Používán pro vážené grafy, ale s podmínkou, že neobsahuje záporné cykly.
  • Ilustrace grafu s váhami hran a ukázka postupu algoritmu.

Simple Bellmann-Ford

  • Algoritmus pro nalezení nejkratších cest i v grafech se zápornými hranami.
  • Ukázán algoritmus a jeho postup řešení v obrázcích.

Nejkratší cesty v DAGu

  • Postup řešení pro nalezení nejkratších cest v acyklickém orientovaném grafu (DAG).
  • Optimalizace algoritmu pro acyklický graf.

Seznam otázek a odpovědí

  • Otázky a odpovědi k předchozím oddílům, shrnující důležité body a specifikace algoritmů.
  • Detailní vysvětlení algoritmů, důvody použití určitých metod a postupů.
  • Opakování algoritmů a jejich specifikace v grafech.

Poslední příklad a řešení

  • Příklad z praxe (mapa města s cestováním a čekáním).
  • Podrobné pokyny k řešení a doporučené postupy pro řešení zadaného problému.

Souhrn

  • Souhrn informací a klíčových bodů o minimálních kostrách, nejkratších cestách a algoritmech pro jejich nalezení.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

AG1cv11 PDF

More Like This

Use Quizgecko on...
Browser
Browser