KIV/PRO Cvičení 8 10. 11. 2014. Násobení matic Najděte nejúčinnější způsob, jak vynásobit matice M 1, M 2,...,M n, kde matice M i má r i-1 řádek a r i.

Slides:



Advertisements
Podobné prezentace
MOCNINY s přirozeným exponentem
Advertisements

Sčítání a odčítání výrazů
Název školyIntegrovaná střední škola technická, Vysoké Mýto, Mládežnická 380 Číslo a název projektuCZ.1.07/1.5.00/ Inovace vzdělávacích metod EU.
TENTO PROJEKT JE SPOLUFINANCOVÁN EVROPSKÝM SOCIÁLNÍM FONDEM
Dostupné z Metodického portálu ISSN: , financovaného z ESF a státního rozpočtu ČR. Provozováno Výzkumným ústavem pedagogickým v Praze.
Mgr. Andrea Cahelová Gymnázium J. Kainara, Hlučín
Algoritmy I Cvičení č. 5.
TENTO PROJEKT JE SPOLUFINANCOVÁN EVROPSKÝM SOCIÁLNÍM FONDEM
Mnohočleny a algebraické výrazy
NÁZEV ŠKOLY: Základní škola Nový Jičín, Komenského 66, p. o
( část 2 – vektory,matice)
Vektorové a maticové operace, soustava lineárních rovnic
Příklady z Matlabu (5) Jednoduché scripty.
Lineární algebra.
TENTO PROJEKT JE SPOLUFINANCOVÁN EVROPSKÝM SOCIÁLNÍM FONDEM
Násobení desetinného čísla desetinným číslem
Matice D.: Matice je systém m .n čísel, uspořádaný do m řádků a n sloupců. Je to jenom symbol, nemá to žádnou číselnou hodnotu! Označení: řádek, řádkový.
Prezentace produktu Microsoft Excel. ČAS Vrátí číslo, které představuje určitý čas. Toto číslo vrácené funkcí ČAS je desetinné číslo v rozmezí od 0 do.
Číselné obory Podmínky používání prezentace © RNDr. Jiří Kocourek 2013
Jemný úvod do MATLABu © Leonard Walletzký, ESF MU, 2000.
Fakulta životního prostředí Katedra informatiky a geoinformatiky
Matice.
Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti
ZIHB – MS Word dodatek 1 Petr Kratochvíl, KIV ZČU, © 2008.
MOCNINY s přirozeným exponentem
Formální modely výpočtu Tomáš Vaníček Katedra inženýrské informatiky Stavební fakulta ČVUT Thákurova 7, Praha 6 Dejvice, b407
Nerovnice v podílovém tvaru
Základní operace s maticemi
* Násobení mnohočlenů Matematika – 8. ročník *
Násobení lomených výrazů
Průměr Maximum Minimum
Základní operace s maticemi
Nové modulové výukové a inovativní programy - zvýšení kvality ve vzdělávání Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem.
Násobení desetinných čísel
Dostupné z Metodického portálu ISSN: , financovaného z ESF a státního rozpočtu ČR. Provozováno Výzkumným ústavem pedagogickým v Praze.
doc. RNDr. Zdeněk Botek, CSc.
Matematika pro 8. ročník Postup při úpravě výrazu na součin vytýkáním „mínus jedničky“ před závorku.
Vícerozměrná pole (1) Jazyk C povoluje, aby pole mělo více rozměrů (dimenzí) než jeden Z vícerozměrných polí bývá nejčastěji použí-váno pole dvourozměrné.
Sčítání desetinných čísel
Vlastnosti násobení a dělení
Číselné výrazy s proměnnou
NÁZEV ŠKOLY: Masarykova základní škola a mateřská škola Melč, okres Opava, příspěvková organizace ČÍSLO PROJEKTU:CZ.1.07/1.4.00/ AUTOR:Mgr. Vladimír.
MNOŽINY RNDr. Jiří Kocourek. Množina: skupina (souhrn, soubor) nějakých objektů.
Vícerozměrná pole (1) Jazyk C povoluje, aby pole mělo více rozměrů (dimenzí) než jeden Z vícerozměrných polí bývá nejčastěji použí-váno pole dvourozměrné.
Číselné soustavy a kódy
1. Najdi násobky čísel 4 a Elektronická učebnice - Základní škola Děčín VI, Na Stráni 879/2, příspěvková organizace Elektronické.
Elektronické učební materiály – II. stupeň Matematika 7 1. ???
KIV/ZD cvičení 7 Tomáš Potužák.
IV. Násobení lomených výrazů
NÁZEV ŠKOLY: Masarykova základní škola a mateřská škola Melč, okres Opava, příspěvková organizace ČÍSLO PROJEKTU: CZ.1.07/1.4.00/ AUTOR: Mgr. Vladimír.
* Násobení zlomků Matematika – 7. ročník *
Vzdělávací oblast: MATEMATIKA A JEJÍ APLIKACE
Matematika pro ekonomy Jaro 2012 Ivana Vaculová
TENTO PROJEKT JE SPOLUFINANCOVÁN EVROPSKÝM SOCIÁLNÍM FONDEM
Početní výkony s celými čísly: násobení
zpracovaný v rámci projektu
Název projektu: Učíme obrazem Šablona: III/2
TENTO PROJEKT JE SPOLUFINANCOVÁN EVROPSKÝM SOCIÁLNÍM FONDEM
TENTO PROJEKT JE SPOLUFINANCOVÁN EVROPSKÝM SOCIÁLNÍM FONDEM
TENTO PROJEKT JE SPOLUFINANCOVÁN EVROPSKÝM SOCIÁLNÍM FONDEM
EU peníze školám Reg. číslo projektu: CZ.1.07/1.4.00/ Autor
Výpočetní složitost algoritmů
Základní operace s maticemi
MNOŽINY RNDr. Jiří Kocourek.
Najdete na Skupina A – obr. č. 1 Najdete na
KMT/DIZ2 CELÁ ČÍSLA (možnosti jejich zavedení, významy znaménka "-", porovnávání celých čísel, operace s celými čísly ) konstrukce množiny celých čísel.
Početní výkony s celými čísly: dělení
VY_32_INOVACE_
NÁSOBENÍ A DĚLENÍ CELÝCH ČÍSEL
Početní výkony s celými čísly: násobení
Transkript prezentace:

KIV/PRO Cvičení

Násobení matic Najděte nejúčinnější způsob, jak vynásobit matice M 1, M 2,...,M n, kde matice M i má r i-1 řádek a r i sloupců Poznámky: – Měnit pořadí nelze, není komutativní – Sdružovat lze, je asociativní  Vhodné pro DP – Výsledné počty operací se mohou dramaticky lišit podle užitých závorek

Příklad Vynásobte M = M 1 x M 2 x M 3 x M 4, kde M 1 (10,20), M 2 (20,50), M 3 (50,1), M 4 (1,100) Násobení M=M 1 x(M 2 xM 3 xM 4 ) operací M=(M 1 x(M 2 xM 3 ))xM operací Exponenciální počet řazení, nutno napřed všechny n-1 násobení, pak n-2, až (n-1)! řazení Lze pomocí DP v O (n 3 )

Řešení přes DP Nechť m i,j = min.cena výpočtu M i x... x M j – m i,j = min i≤k<j (m i,k + m k+1,j + r i-1 r k r j ); i < j rozdělit na násobení i..k a k+1..j, tohle jsou ceny těchto násobení tohle je cena násobení těch dvou „kusů“ dohromady = počet řádků matice i x počet sloupců matice k (a zároveň počet řádků k+1) x počet sloupců matice j

Matrix multiplication (n, r, m) for i := 1 to n do m[i,i] := 0; for length := 1 to n-1 do for i := 1 to n-length do begin j := i + length; m[i,j] := min i≤k<j (m [i,k] +m[k+1,j] + r[i-1]*r[k] *r[j]) end počet matic.násobení (tj.součiny kolika matic zkoumáme) tohle je těžké (i, j jsou od sebe na vzdálenost length a tu měníme odspoda)

K našemu příkladu... Napřed zjistíme, co stojí násobení 2 matic M 1 xM 2, M 2 xM 3, M 3 xM 4 m 1,2 = min(m 1,1 + m 2,2 + r 0 r 1 r 2 ) m 2,3 = min(m 2,2 + m 3,3 + r 1 r 2 r 3 ) m 3,4 = min(m 3,3 + m 4,4 + r 2 r 3 r 4 ) lengthijk

K našemu příkladu... Pak zjistíme, co stojí násobení 3 matic M 1 xM 2 xM 3, M 2 xM 3 xM 4 M 1 xM 2 xM 3 : je lepší cesta přes M 1 x(M 2 xM 3 ) nebo (M 1 xM 2 )xM 3 )? – m 1,3 = min(m 1,1 + m 2,3 + r 0 r 1 r 3, m 1,2 + m 3,3 + r 0 r 2 r 3 ) – m 1,3 = min(1200, 10500) = 1200 lengthijk 2131, , x

K našemu příkladu... Pak zjistíme, co stojí násobení 3 matic M 1 xM 2 xM 3, M 2 xM 3 xM 4 M 2 xM 3 xM 4 : je lepší cesta přes M 2 x(M 3 xM 4 ) nebo (M 2 xM 3 )xM 4 )? – m 2,4 = min(m 2,2 + m 3,4 + r 1 r 2 r 4, m 2,3 + m 4,4 + r 1 r 3 r 4 ) – m 2,4 = min( x10 3, x10 3 ) = = 3x10 3 lengthijk 2131, , x

K našemu příkladu... Nakonec zjistíme cenu násobení 4 matic (už víme, jak nejlépe vynásobit dvojice a trojice) – m 1,4 = min (m 1,1 + m 2,4 + r 0 r 1 r 4, m 1,2 + m 3,4 + r 0 r 2 r 4, m 1,3 + m 4,4 + r 0 r 3 r 4 ) – m 1,4 = min (3x x10 3, x x10 4, ) = 2200 lengthijk 3141, 2, x x

K našemu příkladu... Nejmenší cena 2200, pokud použiju m 1,3 a pro získání m 1,3 použiju m 2,3 Nejvhodnější násobení tedy: (M 1 x (M 2 x M 3 )) x M 4 Kontrola: M(10,20) x M(20,50) x M(50,1) x x M(1,100) = M(10,20) x M(20,1) x x M(1,100) = M(10,1) x M(1,100) = M(10,100) = 2200 operací x x