Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
courses:b3b33kui:cviceni:program_po_tydnech:tyden_01 [2024/02/21 11:11]
xposik [Prohledávácí rozcvička - nepovinná úloha 01-easy_search]
courses:b3b33kui:cviceni:program_po_tydnech:tyden_01 [2024/02/21 14:50]
xposik [Prohledávácí rozcvička - nepovinná úloha 01-easy_search]
Line 74: Line 74:
  
 ===== Prohledávácí rozcvička - nepovinná úloha 01-easy_search ===== ===== Prohledávácí rozcvička - nepovinná úloha 01-easy_search =====
-Ačkoli mnozí ​jste již netrpěliví ​skočit ​na implementaci algoritmu A*, zkuste napřed ​hledání cesty v jednoduchém ​bludišti. Je to menší problém, bude se vám snáz krokovat a debugovat, ověříte si správné zacházení s prostředím ​na jednodušším ​problémuZákladní komunikační rozhraní je stejnétedy+Ačkoli ​jste mnozí již netrpěliví ​se rovnou vrhnout ​na implementaci algoritmu A*, zkuste napřed ​jednodušší algoritmy (BFS, UCS) a jednoduchá ​bludiš. Je to menší problém, bude se vám snáz krokovat a debugovat, ověříte si správné zacházení s prostředím
 + 
 +Rozmyslete si trochu nad papírem datové struktury, které budete potřebovat. Zkuste implementovat různé strategie/​algoritmy. Pokud je implementujete dostatečně obecným způsobem, většina vašeho kódu půjde použít i pro algoritmus A* (což je první povinná úloha). 
 + 
 +Zkuste svůj algoritmus v modulu ''​agent.py''​ odevzdat do [[https://​cw.felk.cvut.cz/​brute/​|BRUTE]] a prozkoumejte,​ jakou zpětnou vazbu vám hodnoticí skript poskytl.  
 + 
 +===== 1. povinná úloha: Hledání cesty v bludišty algoritmem A* ===== 
 +V [[..:​..:​semestralni_ulohy:​1_prohledavani_stavoveho_prostoru:​start|první povinné úloze]] je vaším úkolem naimplementovat algoritmus A*, který vám bude představen nejpozději na druhé přednášcePokud jste ale "​Prohledávací rozcvičku" zvládli rychle a nedělá vám potíže programovat v Pythonumůžete začít pracovat na první povinné úloze. 
 + 
 +Nezapomeňte,​ že cena za přechod z jednoho stavu do druhého nemusí být stále stejná.
  
-Odevzdávat budete také modul ''​agent.py'',​ přesně podle [[courses:​b3b33kui:​semestralni_ulohy:​1_prohledavani_stavoveho_prostoru:​specifikace|specifikace]]. 
-Vyzkoušejte různé strategie prohledávání. Pokud napíšete dostatečně obecně, stejný kód bude fungovat i pro případ algoritmu A*. Odevzdávat budete do [[https://​cw.felk.cvut.cz/​upload/​|Upload systému]]. ​ 
  
-Rozmyslete si trochu nad papírem datové struktury, které budete potřebovat. ​ 
  
  
-===== programování hledání ===== 
-  * Python [[https://​docs.python.org/​3/​library/​queue.html|queue]] nebo [[https://​docs.python.org/​3.6/​library/​heapq.html|heapq]] vám mohou pomoci při ukládání uzlů prohledávacího stromu. 
  
  
 ===== různé ===== ===== různé =====
   * [[http://​tristanpenman.com/​demos/​n-puzzle/​|visualizace]] různých prohledávacích algoritmů demonstrována na problému n-1 puzzle   * [[http://​tristanpenman.com/​demos/​n-puzzle/​|visualizace]] různých prohledávacích algoritmů demonstrována na problému n-1 puzzle
courses/b3b33kui/cviceni/program_po_tydnech/tyden_01.txt · Last modified: 2024/02/21 14:50 by xposik