The Archive

Home

❯

02. Semestr

❯

20 KUI

❯

Zkouška

Zkouška

14. 9. 20266 min čtení

Seznam

1. Prohledávání stavového prostoru (Search)

  • Krokování algoritmů: Umět ručně projít a zapsat pořadí expanze uzlů.
    • BFS (Prohledávání do šířky) - FIFO fronta
    • DFS (Prohledávání do hloubky) - Zásobník (LIFO)
    • UCS (Uniform Cost Search) - Nejmenší cena g(n)
    • Greedy (Hladové) - Nejmenší heuristika h(n)
    • A* (A-star) - Nejmenší f(n)=g(n)+h(n)
  • Vlastnosti algoritmů: Znát úplnost, optimalitu, a časovou/prostorovou složitost (zejména rozdíl v paměti mezi DFS a BFS/A*).
  • Tree Search vs. Graph Search: Chápat rozdíl (využití “closed list / explored set” u hledání v grafu).
  • Chytáky a vlastnosti algoritmů (Typické Testové Otázky):
    • BFS najde nejkratší cestu počtem hran, ale nemusí to být nejlevnější cesta (pokud mají hrany různou cenu).
    • UCS je vylepšené BFS (nikoliv DFS) pro ohodnocené grafy. Najde optimální řešení, pokud jsou ceny hran ≥0.
    • DFS může kvůli omezení hloubky nenajít řešení.
    • BFS a DFS nenajdou vždy stejné řešení (BFS jde po vrstvách, DFS vezme první větev do hloubky).
  • Vlastnosti heuristiky: Umět matematicky ověřit na zadaném grafu:
    • Přípustnost (Admissibility): h(n)≤h∗(n) (nikdy nenadceňuje)
    • Konzistence (Monotónnost): h(A)≤c(A,C)+h(C) (trojúhelníková nerovnost)

2. Adversariální prohledávání (Hry pro dva hráče)

  • Minimax: Umět vyhodnotit herní strom (hráč MAX bere maximum, MIN bere minimum).
  • Alfa-beta prořezávání: (Absolutní priorita - počítá se vždy!)
    • Krok za krokem projít strom zleva doprava a aktualizovat intervaly (α,β).
    • Aplikovat podmínku pro řez: Odříznout větve, jakmile α≥β.
  • Heuristické ohodnocení: Pochopit ukončení prohledávání v určité hloubce a vyhodnocení stavu (evaluační funkce).

3. Hry s neurčitostí (Expectimax)

  • Expectimax algoritmus: Vyhodnocení stromů s náhodnými (chance) uzly.
  • Výpočet: Očekávaná hodnota (vážený průměr) náhodného uzlu: E=∑(pi​⋅hi​).
  • Základy pravděpodobnosti: Podmíněná pravděpodobnost, sjednocení a průnik nezávislých jevů.

4. Markovovy rozhodovací procesy (MDP)

  • Definice prostředí: Stavy S, akce A, odměna R(s), diskontní faktor γ, přechodový model P(s′∣s,a).
  • Bellmanovy rovnice: Value Iteration (Iterace hodnot) - ruční výpočet V(s) ve 2-3 krocích na bludišti.
    • Vzorec: V(s)=R(s)+γ⋅maxa​∑P(s′∣s,a)V(s′)
  • Extrakce strategie: Výpočet Q-hodnot Q(s,a) ze zadaných V(s) a určení optimální akce.
  • Nekonečné řady: Výpočet hodnoty stavu při cyklení se nebo setrvání na místě: V=1−γR​.
  • Interpretace chování agenta (Testové otázky):
    • Co udělá agent při extrémně záporné živoucí odměně (např. -10)? (Páchá sebevraždu skokem do nejbližší pasti, aby ukončil penalizaci).
    • Co se stane, když γ→0? (Agent ignoruje budoucnost a jde jen po okamžité odměně).

5. Učení posilováním (Reinforcement Learning - RL)

  • Monte Carlo metody: Odhad hodnot z epizod (First-visit vs. Every-visit).
    • Rozdíl a výpočet pomocí metod First-visit vs. Every-visit.
  • Q-learning (Off-policy): Aktualizační pravidlo z jednoho kroku agenta.
    • Vzorec: Q(s,a)←Q(s,a)+α[R+γmaxa′​Q(s′,a′)−Q(s,a)]
  • Rozdíl Q-learning vs. SARSA (Testový chyták):
    • Q-learning updatuje podle teoreticky nejlepší budoucí akce (maxa′​).
    • SARSA (On-policy) updatuje podle akce, kterou agent v dalším kroku skutečně provede (včetně případných náhodných kroků z ϵ-greedy strategie).
  • Průzkum vs. Využití (Exploration vs. Exploitation): Výpočet pravděpodobností chování s využitím ϵ-greedy strategie.

6. Bayesovské rozhodování (Zaručeno v testu!)

  • Definice úlohy: Správně určit množinu skrytých stavů (S), pozorování (X) a rozhodnutí (D).
  • Bayesova věta: Výpočet aposteriorní pravděpodobnosti P(s∣x)=P(x)P(x∣s)P(s)​.
  • Matice ztrát/odměn & Strategie:
    • Sestavit matici a spočítat podmíněné riziko.
    • Najít strategii, která riziko minimalizuje.
  • Změna strategie: Chápat úvahu, co se stane s rozhodnutím, když extrémně zdražíme falešně negativní případ (např. přehlédnutí nemoci → budeme diagnostikovat jako nemocné skoro všechny).
  • Rozhodovací strategie:
    • Výpočet podmíněného rizika.
    • Hledání optimální strategie minimalizující riziko nebo maximalizující očekávaný zisk.
    • MAP (Maximum A Posteriori) a ML (Maximum Likelihood) hypotézy.

7. Strojové učení a klasifikátory (Machine Learning)

  • k-Nejbližší sousedé (k-NN):
    • Klasifikace bodu na základě hlasování k sousedů.
    • Výpočty vzdáleností (zejména Manhattanská L1​ a Euklidovská L2​).
  • Lineární klasifikátory:
    • Dosazení bodu do lineární funkce a odvození rovnice rozhodovací hranice (nadroviny).
    • Dosazení bodu do lineární diskriminační funkce g(x)=w0​+w1​x1​+…
    • Výpočet rovnice rozhodovací hranice (nadroviny).
  • Vyhodnocení klasifikátoru (Confusion Matrix):
    • Zkonstruovat matici záměn (TP, TN, FP, FN).
    • Umět z hlavy vzorce pro: Accuracy, Precision a Recall.
  • Interpretace metrik (Otevřená otázka za hodně bodů):
    • Vysoký Recall, Nižší Precision: Vhodné pro Medicínu (nechci minout nemocného, falešný poplach tolik nevadí). Nevhodné pro vojenské systémy.
    • Vysoká Precision, Nižší Recall: Vhodné pro Spam filter (když už něco smažu, musím si být jistý). Nevhodné pro detekci kritických hrozeb.
  • Naivní Bayesův klasifikátor: Predikce třídy (a nutnost znát Laplaceovo vyhlazování pro řešení nulových pravděpodobností).
  • Vyhodnocení klasifikátoru (Evaluace):
    • Sestavení matice záměn (Confusion Matrix: TP, TN, FP, FN).
    • Výpočet metrik: Accuracy, Precision, Recall (Sensitivity), Specificity.
    • Pochopení ROC křivky.

1. Prohledávání

Vlastnosti prohledávacích algoritmů

AlgoritmusZkratkaÚplnost (Najde řešení?)Optimalita (Nejlevnější?)Časová složitostPaměťová (Prostorová) složitost
Prohledávání do šířkyBFS✅ Ano*✅ Ano* (jen pokud mají všechny hrany stejnou cenu)O(bd)O(bd) 🔴 (Velmi špatná, pamatuje si celou vrstvu)
Prohledávání do hloubkyDFS❌ Ne (může uvíznout v nekonečné větvi)❌ NeO(bm)O(b⋅m) 🟢 (Skvělá! Pamatuje si jen 1 větev)
Iterativní prohlubováníID-DFS✅ Ano✅ Ano* (jako BFS)O(bd)O(b⋅d) 🟢 (Spojuje výhody BFS a DFS)
Hledání uniformních cenUCS✅ Ano*✅ AnoO(b1+⌊C∗/ϵ⌋)O(b1+⌊C∗/ϵ⌋) 🔴 (Pamatuje si celou frontu)
Hladové prohledáváníGreedy❌ Ne❌ NeO(bm) (v nejhorším případě)O(bm) (v nejhorším případě)
Algoritmus A*A*✅ Ano*✅ Ano (musí mít přípustnou heuristikou)Exponenciální (závisí na kvalitě heuristiky)Exponenciální 🔴 (Ukládá všechny prozkoumané uzly)

🔑 Vysvětlivky proměnných (Zkouškový slovníček):

  • b (branching factor): Faktor větvení – kolik má jeden uzel průměrně dětí (sousedů).
  • d (depth): Hloubka, ve které se nachází nejmělčí cíl (nejkratší cesta).
  • m (maximum depth): Maximální hloubka celého stavového prostoru (může být nekonečná).
  • C∗: Skutečná cena optimálního řešení.
  • ϵ: Nejmenší možná cena jednoho kroku (aby se algoritmus nezacyklil na hranách s nulovou cenou).

Typické chytáky do testu (True/False):

  1. Proč se vůbec používá DFS, když není optimální ani úplné?
    • Protože má lineární paměťovou složitost O(b⋅m). Zkrátka nezaplní RAMku počítače, na rozdíl od BFS nebo A*, kterým paměť při velkých grafech okamžitě dojde.
  2. Kdy je BFS optimální?
    • BFS nehledá nejlevnější cestu, ale cestu s nejmenším počtem hran (kroků). Pokud by měly hrany různou cenu (např. 1, 5, 10), BFS optimální není.
  3. *Kdy selže úplnost algoritmů (to jsou ty hvězdičky )?
    • UCS a A* nenajdou řešení, pokud v grafu existují cesty se zápornou cenou, nebo s cenou menší než nějaké velmi malé číslo ϵ (algoritmus by mohl dělat nekonečně mnoho mikrokroků a nedojít do cíle).

todo tabulku z těchto témat

BFS

Úplnost

Optimalita

Časová náročnost

Paměťová náročnost

DFS

ID-DFS

UCS

Greedy

A∗

konec tabulky

Přípustnost

Konzistence

2. Adversariální prohledávání

MiniMax

Alfa-beta

Heuristicé ohodnocení

3. Hry s neurčitostí

4. MDP


Graf

  • Seznam
  • 1. Prohledávání stavového prostoru (Search)
  • 2. Adversariální prohledávání (Hry pro dva hráče)
  • 3. Hry s neurčitostí (Expectimax)
  • 4. Markovovy rozhodovací procesy (MDP)
  • 5. Učení posilováním (Reinforcement Learning - RL)
  • 6. Bayesovské rozhodování (Zaručeno v testu!)
  • 7. Strojové učení a klasifikátory (Machine Learning)
  • 1. Prohledávání
  • Vlastnosti prohledávacích algoritmů
  • 🔑 Vysvětlivky proměnných (Zkouškový slovníček):
  • Typické chytáky do testu (True/False):
  • BFS
  • Úplnost
  • Optimalita
  • Časová náročnost
  • Paměťová náročnost
  • DFS
  • ID-DFS
  • UCS
  • Greedy
  • A^*
  • Přípustnost
  • Konzistence
  • 2. Adversariální prohledávání
  • MiniMax
  • Alfa-beta
  • Heuristicé ohodnocení
  • 3. Hry s neurčitostí
  • 4. MDP