Erinevus lehekülje "ITI0140:Ülesanne 15" redaktsioonide vahel

Allikas: Kursused
Mine navigeerimisribale Mine otsikasti
(Uus lehekülg: '= Miinikits Miina tagasitulek = Teie ustav kits Miina on läinud kaduma. Kuulete häälte järgi, et ta on kadunud maa-alusesse labürinti. Kuna Miina aitas teid enne miini lei...')
 
 
(ei näidata ühe teise kasutaja üht vahepealset redaktsiooni)
3. rida: 3. rida:
 
Teie ustav kits Miina on läinud kaduma. Kuulete häälte järgi, et ta on kadunud maa-alusesse labürinti. Kuna Miina aitas teid enne miini leidmisega, on aeg teil teda aidata. Peate koostama networkx-i graafi ala ASCII pildist ja leidma networkx-i abil lühima tee läbi selle graafi.
 
Teie ustav kits Miina on läinud kaduma. Kuulete häälte järgi, et ta on kadunud maa-alusesse labürinti. Kuna Miina aitas teid enne miini leidmisega, on aeg teil teda aidata. Peate koostama networkx-i graafi ala ASCII pildist ja leidma networkx-i abil lühima tee läbi selle graafi.
 
   
 
   
ASCII pildist tuleb lugeda välja koordinaadid nii, et iga sõlm koosneb suurest tähest ja numbrist. Täht tuleneb Rea numbrist, ja number tuleneb veeru numbrist, e. siis:
+
ASCII pildist tuleb graaf koostada nii, et iga ristumine on tipp, sisseppäs on lähtetipp ja väljappäs on lõpptipp. Tippude nimed on kodeeritud vastavate koordinaatidega.
  
 
<pre>
 
<pre>
10. rida: 10. rida:
 
B  ['X', 'X', ' '],
 
B  ['X', 'X', ' '],
 
C  ['X', 'X', ' ']]
 
C  ['X', 'X', ' ']]
 +
 
</pre>
 
</pre>
 
 
Peate realiseerima kaks funktsiooni:
 
Peate realiseerima kaks funktsiooni:
  
 
<pre>
 
<pre>
 
def create_graph(labyrinth):
 
def create_graph(labyrinth):
 +
</pre>
  
Andes sisse ascii kaardi, nagu näiteks
+
Create_graph peaks tegema antud ascii laburündist reeglite kohase networkx graafi.
 
+
(Reegleid soovitan vaadata loengu slaididelt, tegemist on kaalutud graafiga.)
[[' ', ' ', ' '],
 
['X', 'X', ' '],
 
['X', 'X', ' ']]
 
  
 +
<pre>
 +
def find_shortest_path(graph):
 
</pre>
 
</pre>
  
, kus 'X' on sein ja ' ' (tühik) on tühimik, mida mööda saab liikuda, ülesandeks on koostada sellisest maatriksist networkx-i graafi, e. see funktsioon peaks tagastama vastava networkx-i graafi.
+
See funktsioon võtab sisse ascii labürindi ja tagastab tee sissepäästust kõige all paremapoolsele väljapääsule. Tee koosneb kaartest ja kaaludest Ehk eelmise näite järgi, peaks tagastama [("A0", "C2", {"weight": 4})], kuna ühtegi hargnemist ei ole.
 
teiseks tuleb realiseerida järgnev:
 
  
 +
Järgneva maatriksi puhul
 
<pre>
 
<pre>
def find_shortest_path(graph):
+
    0    1    2    3    4
 +
A [[' ', ' ', ' ', ' ', ' '],
 +
B  [' ', 'X', ' ', 'X', ' '],
 +
C  [' ', ' ', ' ', 'X', ' ']]
 +
</pre>
 +
ootame vastust
 +
<pre>
 +
[("A0", "A2", {"weight": 2}), ("A2", "C4", {"weight": 4})]
 +
</pre>
 +
On garanteeritud, et koridorid on maksimaalselt ühe ühiku laiused.
  
See funktsioon peaks võtma sisse networkx-i graafi, ja tagastama tee A0-ist kõige all paremapoolsele sõlmele.
+
Võtsime ülesandel testid ära, implementatsiooni vaatame kaitsmisel.
Ehk eelmise näite järgi, peaks tagastama ['A0', 'A1', 'A2', 'B2', 'C2']. (Võib kasutada networkx-i lahendusi sellele)
 
</pre>
 
On garanteeritud, et koridorid on maksimaalselt ühe ühiku laiused, ja et find_shortest_path-i testites antakse ette alati leitav tee.
 

Viimane redaktsioon: 26. november 2015, kell 09:00

Miinikits Miina tagasitulek

Teie ustav kits Miina on läinud kaduma. Kuulete häälte järgi, et ta on kadunud maa-alusesse labürinti. Kuna Miina aitas teid enne miini leidmisega, on aeg teil teda aidata. Peate koostama networkx-i graafi ala ASCII pildist ja leidma networkx-i abil lühima tee läbi selle graafi.

ASCII pildist tuleb graaf koostada nii, et iga ristumine on tipp, sisseppäs on lähtetipp ja väljappäs on lõpptipp. Tippude nimed on kodeeritud vastavate koordinaatidega.

     0    1    2
A [[' ', ' ', ' '],
B  ['X', 'X', ' '],
C  ['X', 'X', ' ']]

Peate realiseerima kaks funktsiooni:

def create_graph(labyrinth):

Create_graph peaks tegema antud ascii laburündist reeglite kohase networkx graafi. (Reegleid soovitan vaadata loengu slaididelt, tegemist on kaalutud graafiga.)

def find_shortest_path(graph):

See funktsioon võtab sisse ascii labürindi ja tagastab tee sissepäästust kõige all paremapoolsele väljapääsule. Tee koosneb kaartest ja kaaludest Ehk eelmise näite järgi, peaks tagastama [("A0", "C2", {"weight": 4})], kuna ühtegi hargnemist ei ole.

Järgneva maatriksi puhul

     0    1    2    3    4
A [[' ', ' ', ' ', ' ', ' '],
B  [' ', 'X', ' ', 'X', ' '],
C  [' ', ' ', ' ', 'X', ' ']]

ootame vastust

[("A0", "A2", {"weight": 2}), ("A2", "C4", {"weight": 4})]

On garanteeritud, et koridorid on maksimaalselt ühe ühiku laiused.

Võtsime ülesandel testid ära, implementatsiooni vaatame kaitsmisel.