Ifi6057w3: erinevus redaktsioonide vahel

Allikas: Lambda
Mine navigeerimisribale Mine otsikasti
PriitJ (arutelu | kaastöö)
PriitJ (arutelu | kaastöö)
8. rida: 8. rida:


== Harjutustund ==
== Harjutustund ==
Lahenda 4x4 sudoku kasutades <code>search.Problem</code> klassi ja <code>search</code> mooduli otsingualgoritme.
Olek tuleb kodeerida 16-kohaliseks tupleks järgmiselt:
[[Image:Ifi6057_sudoku1.png|sudoku]]
  (2, 1, 0, 0,
  0, 3, 2, 0,
  0, 0, 0, 4,
  1, 0, 0, 0)
Ja üks tegevus (''action'') tuleb edasi anda tuplena (number, x-koordinaat, y-koordinaat), mis tähendab et number kirjutatakse antud koordinaatidega ruutu. Koordinaadid on 0-st 3-ni.
  (2, 3, 3)
Tähendab, et number "2" kirjutatakse alumisse ritta viimasesse veergu.
Veel algolekuid testimiseks:
  (1, 0, 3, 4, 0, 3, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1)
  (4, 2, 0, 0, 1, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 3)
  (0, 0, 0, 3, 4, 0, 0, 0, 0, 1, 3, 0, 3, 0, 2, 0)
<!--


   def test(initial, searchfunc):
   def test(initial, searchfunc):
     p = EightPuzzle(initial, GOAL)
     p = search.EightPuzzle(initial, GOAL)
     ip = search.InstrumentedProblem(p)
     ip = search.InstrumentedProblem(p)
     n=searchfunc(ip)
     n=searchfunc(ip)
     # expanded/goal tests/leaves/(solution)
     # expanded/goal tests/leaves/(solution)
     print (ip)
     print (ip)
     if hasattr(n, "path"):
     if hasattr(n, "solution"):
         print (n.path())
         print (n.solution())
     else:
     else:
         print (n)
         print (n)


-->


<!--2016 [[Ifi6057strategies|Otsingustrateegiad harjutustunniks]]-->
<!--2016 [[Ifi6057strategies|Otsingustrateegiad harjutustunniks]]-->

Redaktsioon: 17. september 2017, kell 15:34

3. Nädal

Ülesannete lahendamine otsinguga; AIMA chapter 3.3-3.4, TI 14-15.

Lühendatud slaidid PDF

Videoloeng: BFS ja DFS

Harjutustund

Lahenda 4x4 sudoku kasutades search.Problem klassi ja search mooduli otsingualgoritme.

Olek tuleb kodeerida 16-kohaliseks tupleks järgmiselt:

sudoku

 (2, 1, 0, 0,
  0, 3, 2, 0,
  0, 0, 0, 4,
  1, 0, 0, 0)

Ja üks tegevus (action) tuleb edasi anda tuplena (number, x-koordinaat, y-koordinaat), mis tähendab et number kirjutatakse antud koordinaatidega ruutu. Koordinaadid on 0-st 3-ni.

 (2, 3, 3)

Tähendab, et number "2" kirjutatakse alumisse ritta viimasesse veergu.

Veel algolekuid testimiseks:

 (1, 0, 3, 4, 0, 3, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1)
 (4, 2, 0, 0, 1, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 3)
 (0, 0, 0, 3, 4, 0, 0, 0, 0, 1, 3, 0, 3, 0, 2, 0)