Table of Contents

Cvičení 5: 2D pole

náplň cvičení

Úkol 1-2 Opakování

Dvourozměrné pole

pole=[]
f=open('pole.txt','r')
for line in f:
    pole.append(list(map(int, line.split())))

Matice

Úkol 3 Výpis matice

Úkol 4 Násobení vektoru a matice

m=[[0,0,1],[0,1,0],[1,0,0]]
v=[2, 4, 6]

Domácí příprava

Implementujte následující úlohy:

Domácí úkol

Lehká varianta

Příklady:

python3 bestMatch.py velka.txt mala.txt

Testovat můžete na jednoduchých příkladech, kde se matice $W$ celá nachází v matici $A$ (a minimální hodnota metriky je 0), například

'velka.txt'

1 2 1 2 3 8
1 2 1 2 3 8
1 2 4 5 6 8
1 2 7 8 9 8
'mala.txt'
1 2 3
4 5 6
7 8 9

Výsledek je souřadnice číslice 5, tj.

2 3

Pokud soubory 'velka.txt' a 'mala.txt' obsahují:

'velka.txt'

0.658824 0.603922 0.639216 0.462745 0.376471 0.380392 0.345098
0.607843 0.545098 0.572549 0.521569 0.376471 0.345098 0.333333
0.576471 0.47451 0.501961 0.490196 0.384314 0.286275 0.333333
0.52549 0.529412 0.443137 0.384314 0.423529 0.247059 0.286275

'mala.txt'

0.576471 0.47451 0.501961
0.52549 0.529412 0.443137
0.52549 0.541176 0.419608

Výsledek:

2 1


'velka.txt'

0.709804 0.698039 0.666667 0.670588 0.627451 0.635294 0.686275 0.639216 0.596078 0.737255 0.772549 0.745098 0.623529 0.52549 0.541176 0.419608
0.756863 0.74902 0.737255 0.745098 0.745098 0.658824 0.639216 0.701961 0.733333 0.682353 0.67451 0.635294 0.698039 0.607843 0.427451 0.392157
0.733333 0.694118 0.717647 0.729412 0.729412 0.764706 0.756863 0.705882 0.705882 0.721569 0.701961 0.678431 0.647059 0.603922 0.462745 0.4
0.705882 0.701961 0.690196 0.611765 0.6 0.596078 0.588235 0.615686 0.584314 0.6 0.537255 0.576471 0.588235 0.619608 0.588235 0.482353
0.705882 0.54902 0.494118 0.462745 0.45098 0.443137 0.454902 0.505882 0.513726 0.47451 0.415686 0.443137 0.427451 0.482353 0.509804 0.458824
0.509804 0.403922 0.45098 0.517647 0.533333 0.533333 0.486275 0.47451 0.556863 0.623529 0.521569 0.447059 0.384314 0.329412 0.333333 0.337255

'mala.txt'

0.509804 0.403922 0.45098
0.411765 0.470588 0.458824
0.419608 0.407843 0.447059

Výsledek je:

4 11

Praktická motivace: hledáním nejlepšího překryvu matice lze (velmi zjednodušeně) hledat např. obrázek v obrázku. Data pro domácí úlohu jsou generována z tohoto obrázku:

Těžká varianta

figura bílý černý
král 1 -1
dáma 2 -2
věž 3 -3
střelec 4 -4
jezdec 5 -5
pěšec 6 -6
volné pole 0 0

Vstup obsah souboru, zdaného jako vstupní argument:

-3  0 -4 -2  0 -1 -5 -3
-6 -6 -6  0  0  0 -6 -6
 0  0 -5  4  0  0  0  0
 0  0  0 -6  0  0  0  2
 0  0  0  6  0  0  0  0
 0  0  5  0  0  0  0  0
 6  6  6  0  0  0  6  6
 3  0  0  0  0  3  1  0

Výstup:

MAT