Cvičenie - Vypočítateľnosť algoritmov.

Ciele
  1. Oboznámiť sa s organizáciou predmetu Algoritmy a zložitosť.
  2. Zvládnuť základné definície z oblasti výpočtovej zložitosti.
  3. Naučiť sa vyhľadávať zdroje, oboznámiť sa so štruktúrou algoritmov a používať kurzový materiál pri softvérovej implementácii aplikačných úloh. % . %
  4. Rozlíšiť typy zložitosti algoritmov.
Úvod
  1. Predmet Algoritmy a zložitosť je predmetom zameraným na výpočtovú zložitosť algoritmov, triedy P, NP, NPC, heuristiky a pseudopolynomiálne algoritmy.
  2. Oboznámte sa s organizáciou predmetu % Algoritmy a zložitosť a podmienkami udelenia zápočtu. V prípade nejasností sa opýtajte cvičiaceho.
  3. Na každom cvičení musí byť študent schopný prezentovať aktuálne zadanie. Bez aktuálnych zdrojových textov je jeho účasť na cvičení zbytočná. Hlavný dôraz je na cvičeniach kladený na prezentáciu zadania a konzultáciu s cvičiacim.
  4. Študijné materiály sú v systéme Moodle - predmet % Algoritmy a zložitosť . Prihlasovací kľúč
  5. Študent si môže zvoliť režim práce "Samostatné zadanie", pričom voľbu zadania prekonzultuje s cvičiacim, ktorý určí jeho vhodnosť. Body za zadanie môže cvičiaci prideľovať aj postupne podľa vlastného uváženia s ohľadom na aktivitu študenta. Režim priebežných kontrol napredovania študenta pri vypracovávaní zadania je preferovaný.
Postup
  1. Príklad: Koľko operácií je potrebných na výpočet súčinu dvoch štvorcových \(n\times n\) matíc \(A=(a_{ij}), B=(b_{ij})\)?
    Zobraziť riešenie
  2. Príklad: Koľko operácií je potrebných na výpočet mocniny \(A^p\) štvorcovej \(n\times n\) matice \(A=(a_{ij})\) pre \(p\in N\)?
    Zobraziť riešenie
  3. Príklad: Koľko operácií je potrebných na výpočet metrickej matice \[\Gamma(A)=A\oplus A^2\oplus\dots\oplus A^n,\] kde \(A=(a_{ij})\) je \(n\times n\) matica a operácia \(\oplus\) reprezentuje maximum a operácia \(\otimes\) reprezentuje \(+\)?
    Zobraziť riešenie
  4. Príklad: Problém obchodného cestujúceho (Traveling Salesman Problem -- TSP) V individuálnej úlohe TSP je dané prirodzené číslo \( n>0 \) a matica vzdialeností medzi každou dvojicou \( n \) miest vo forme \( n\times n \) matice \( (d_{ij}) \), \( d_{ij}\in Z^+ \) (\( Z^+ \) je označenie pre kladné celé čísla). Problém: Nájsť uzavretú cestu, ktorá prechádza každým mestom práve raz, a pritom zo všetkých takýchto ciest má minimálny súčet ohodnotení hrán.
    Zobraziť riešenie
  5. Úloha: Oboznámte sa s ďalšími algoritmami pre TSP problém.
  6. Úloha: Aký je rozdiel medzi nimi?
Zdroje
  1. Algoritmy a zložitosť
Doplňujúce úlohy
    Úloha: Popíšte aspoň jeden efektívny algoritmus na riešenie sústavy lineárnych rovníc.
    Úloha: Popíšte aspoň jeden neefektívny algoritmus na riešenie sústavy lineárnych rovníc.
    Úloha: Popíšte aspoň jeden efektívny algoritmus na výpočet determinantu matice.
    Úloha: Popíšte aspoň jeden neefektívny algoritmus na výpočet determinantu matice.
    Úloha: Navrhnite efektívny algoritmus na usporiadanie \( n \) čísel podľa veľkosti.
    Úloha: Navrhnite efektívny algoritmus na testovanie súvislosti grafu.
    Úloha: Navrhnite aspoň jeden algoritmus na nájdenie aspoň jednej kostry grafu.
    Úloha: Navrhnite algoritmus na hľadanie všetkých kostier grafu.
    Úloha: Formulujte nasledujúci optimalizačný problém ako inštanciu, pričom je treba definovať množinu prípustných riešení \( F \) a cenovú funkciu \( c \).\\ Nájdite najkratšiu cestu medzi dvoma vrcholmi ohodnoteného grafu.
    Úloha: Popíšte metódu na odčítanie decimálnych prirodzených čísel ako algoritmus.
    Úloha: Zostrojte algoritmus pre nasledujúci problém: Fixujte reprezentáciu vstupu a popíšte zložitosť navrhnutého algoritmu.\\ Je daný graf \( G=(V,E) \). Existuje v \( G \) cyklus \( (u,v,w,z,u) \) taký, že \( (v,z),\ (u,w)\not\in E \), pričom\\ (i) \( u,v,w,z \) sú ľubovoľné vrcholy\\ (ii) \(u,v,w,z \) sú pevne dané?
    Úloha: Zostrojte algoritmus pre nasledujúci problém: Fixujte reprezentáciu vstupu a popíšte zložitosť navrhnutého algoritmu.\\ Pre dané \( p\in N \) rozhodnite, či \( p \) je prvočíslo.
    Úloha: Zostrojte algoritmus pre nasledujúci problém: Fixujte reprezentáciu vstupu a popíšte zložitosť navrhnutého algoritmu.\\ Pre dané \( x,y,z \in N \) rozhodnite, či existuje \( n>0,\ n\in N \) také, že platí: \( x^n+y^n=z^n. \)
    Úloha: Zostrojte algoritmus pre nasledujúci problém: Fixujte reprezentáciu vstupu a popíšte zložitosť navrhnutého algoritmu. Daný je graf \( G=(V,E) \) a \( s,t\in V \). Existuje v \(G \) cesta z vrchola \( s \) do vrchola \( t \)?
comments powered by Disqus