Skip to content
Snippets Groups Projects
Commit 46bcd914 authored by Dočekal, Jan's avatar Dočekal, Jan
Browse files

typo, arguments specification

parent 3aa34b91
Branches main
No related tags found
No related merge requests found
......@@ -4,7 +4,7 @@ Zadání semestrální práce je vytvořit program řešící problém nalezení
Pro tento problém je nejlepším algoritmem **Floyd-Warshallův algoritmus**. Tento je implementován jak v sériové verzi, tak v paralelní verzi.
Floy-Warshallův algoritmus používá princip dynamického programování, kdy iterativně zlepšuje možné cesty mezi všemi dvojicemi vrcholů přes jiný vrchol k. K tomu používá 2D matici o velikosti NxN, kde N je počet vrcholů grafu a je inicializovaná jako takzvaná matice sousednosti. To znamená, že na příslušných indexech i,j je cena hrany z vrcholu i do vrcholu j. Pokud taková hrana neexistuje, určíme cenu jako nekonečno.
Floyd-Warshallův algoritmus používá princip dynamického programování, kdy iterativně zlepšuje možné cesty mezi všemi dvojicemi vrcholů přes jiný vrchol k. K tomu používá 2D matici o velikosti NxN, kde N je počet vrcholů grafu a je inicializovaná jako takzvaná matice sousednosti. To znamená, že na příslušných indexech i,j je cena hrany z vrcholu i do vrcholu j. Pokud taková hrana neexistuje, určíme cenu jako nekonečno.
Paralelní verze používá C++ knihovnu pro práci s vlákny spolu s dalšími standardními knihovnami, které jsou použity i v sériové (jednovláknové) implementaci. Paralelní verze je implementována pomocí takzvané bariéry. Aby byla vlákna správně synchronizována, je nutné aby v kritické sekci kódu na sebe počkala. Poté může algoritmu pokračovat další iterací. Tento přístup přesně splňuje bariéra, kdy všechna vlákna čekají, dokud i poslední z nich není hotové s výpočtem.
......@@ -13,7 +13,7 @@ Po zkompilování pomocí přiloženého *CMakeLists.txt* souboru lze program pu
```
./sem <INPUT_FILE> <OUTPUT_FILE>
```
Tento spustí sériovou verzi pro výpočet nejkratších cest grafu načteného se vstupního souboru (INPUT\_FILE) a vypíše výsledek do výstupního souboru (OUTPUT\_FILE).
Tento spustí sériovou verzi pro výpočet nejkratších cest grafu načteného se vstupního souboru (INPUT\_FILE) a vypíše výsledek do výstupního souboru (OUTPUT\_FILE). Argument OUTPUT_FILE je volitelný, pokud jej vynecháme, výsledek se vypíše na standardní výstup.
Paralelní verzi lze pustit přidáním přepínače `--parallel`. Konkrétní popis spouštění lze vypsat pomocí
```
./sem --help
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment