Příklady uvedené na této stránce slouží aktuálně jako doplnění k souboru příkladů z přednášky v jazyce Prolog. Ke každému prologovskému příkladu je uvedena jeho odpovídající varianta v Pythonu. Vynechány jsou pouze příklady, které jsou specifické pro Prolog (rozdílové seznamy, definite-clause grammars, ...). U některých příkladů jsou uvedeny 2 varianty - přímý převod do čistého Pythonu a implementace s využitím pythonovských datových struktur (viz příklady označené *-lifo.py, *-fifo.py, *-priority-queue.py). Přehled obou variant příkladů je v této tabulce.
Python příklady jsou dostupné zde (i jako ZIP) v rámci stránek přednášky.
Příklady byly testovány v interpretru Pythonu 2.7.13 a 3.5.3 na Debianu 9 s Linuxovým jádrem.
Příklady lze spustit příkazem INTERPRETR NÁZEV_PŘÍKLADU, kde INTERPRETR je
název interpretru Pythonu (typicky python, python2 nebo python2.7 pro
interpretr Pythonu 2.7.X a python3 pro interpretr Pythonu 3.X.Y). Výsledný
příkaz může tedy být např.
python 1.1_13.pyVětšina příkladů vyžaduje, aby byl ve stejné složce stažený i modul
linked_lists.py,
který definuje třídu představující spojový seznam ve stylu Lispu.
Jména zdrojových souborů jsou ve tvaru PŘEDNÁŠKA.PŘÍKLAD_SLIDE.py.
1.1_13.py – jednoduchá DB rodinných vztahů1.2_16.py – vypsání seznamu1.3.1_18.py – Fibonacciho čísla1.3.2_19.py – Fibonacciho čísla, efektivnější varianta2.1.3_3.py – member III (varianty member I a II jsou
  specifické pro jazyk s unifikací, jako je Prolog)2.2_4.py – del a del1 - výmaz prvku ze seznamu; insert a
  insert1 - vkládání prvku do seznamu2.3_5.py – perm1, 2 a 3 - permutace seznamu2.4.1_6.py – append, spojení seznamů2.5.1_10.py – QuickSort - třídění seznamů2.6_13.py – addleaf, show - přidávání do binárního stromu,
  výpis binárního stromu2.7_15.py – delleaf - odebírání z binárního stromu2.8_17.py – vícesměrný algoritmus pro vkládání a odebírání2.9.1_21.py – cesta v grafu2.9.2_22.py – cesta v grafu II2.10_23.py – kostra grafu, vypisuje několikrát stejná
  řešení3.1_3.py – problém osmi dam I3.2_4.py – problém osmi dam II - omezení stavového prostoru3.3_5.py – problém osmi dam III - seznamy volných pozic3.4_13.py – prohledávání do hloubky (DFS)3.4_13-lifo.py – prohledávání do hloubky,
  alternativní implementace pomocí zásobníku3.5_15.py – prohledávání do hloubky s limitem3.5_15-lifo.py – prohledávání do hloubky s limitem,
  alternativní implementace pomocí zásobníku3.6_17.py – prohledávání do šířky (BFS)3.6_17-fifo.py – prohledávání do šířky, alternativní
  implementace pomocí fronty4.1_9.py – algoritmus A*, pro spuštění je třeba stáhnout i
  modul romanian_cities.py.4.1_9-priority-queue.py – algoritmus A*,
  alternativní implementace pomocí prioritní fronty, pro spuštění je třeba
  stáhnout i modul romanian_cities.py.4.1_9-posunovacka.py – 8-posunovačka,
  heuristiky h1 a h2, pro spuštění je třeba stáhnout i modul
  best_search.py.4.2_17.py – rozvrh práce procesorů, pro spuštění je třeba
  stáhnout i modul best_search.py.5.1_5.py – hanoiské věže5.2_11.py – obecné prohledávání AND/OR grafů5.3_15.py – heuristické AND/OR prohledávání5.3_15-priority-queue.py – heuristické
  AND/OR prohledávání, alternativní implementace pomocí prioritní fronty5.3_15-cesta_mezi_mesty.py – příklad
  cesta mezi městy, pro spuštění je třeba stáhnout i modul
  and_or_best_search.py.python-constraint.
8.2_20.py – inference kontrolou modelů11.1_16.py – algoritmus IDT