Simplex-menetelm. S ysteemianalyysin. 3. luento: Suuret LP-tehtävät sekä operaatiot harvoilla vektoreilla ja matriiseilla
|
|
- Markku Mattila
- 7 vuotta sitten
- Katselukertoja:
Transkriptio
1 Simplex-menetelm menetelmän laskennalliset tekniikat 3. luento: Suuret LP-tehtävät sekä operaatiot harvoilla vektoreilla ja matriiseilla Matemaattisten algoritmien ohjelmointi Kevät 28 / 1 Suuret LP-teht tehtävät sekä operaatiot harvoilla vektoreilla ja matriiseilla Suuret LP-tehtävät Harvat vektorit Harvat matriisit Linkitetty lista Matemaattisten algoritmien ohjelmointi Kevät 28 / 2 1
2 Suuret LP-teht tehtävät Realistiset ongelmat helposti suuria Suuri muuttunut ajan kuluessa: Nykyään > 1 rajoitetta 196-luvulla muutama sata rajoitetta 195-luvulla suuri TSP 49 kaupunkia Algoritmisuunnittelun haaste: luotettavuus ja tehokkuus Suuret LP-tehtävät ajaneet ratkaisumenetelmien kehitystä eteenpäin Matemaattisten algoritmien ohjelmointi Kevät 28 / 3 LP-teht tehtävän n muistintarve LP-tehtävän koko matriisin A mukaan: mn Tyypillisesti matriisin alkiot tallennetaan 8 tavun (64 bitin) liukulukuina Matriisin A tallentamiseen tarvitaan 8mn tavua Jos A:ssa 1 riviä ja 2 saraketta, muistia tarvitaan 1.6 GB! Matemaattisten algoritmien ohjelmointi Kevät 28 / 4 2
3 Harvuus Tyypillisesti vain muutamia nollasta poikkeavia alkioita (keskimäärin 5-1 saraketta kohden) Merkitään: ν = nollasta poikkeavien alkioiden lukumäärä Matriisin (vektorin) tiheys: ( A) ν A ρ = mn 1 rajoitetta => tiheys <.1% Super harvuus: nollasta poikkeavilla alkioilla ainoastaan muutamia arvoja, esim. ±1 Matemaattisten algoritmien ohjelmointi Kevät 28 / 5 Adlittle.mps (56 riviä,, 97 saraketta) Nonzero pattern of Adlittle (56 rows, 97 columns) Column Row Matemaattisten algoritmien ohjelmointi Kevät 28 / 6 3
4 Greenpea.mps (2392 riviä,, 545 saraketta) Nonzero pattern of Greenbea (2392 rows, 545 columns) Column Row Matemaattisten algoritmien ohjelmointi Kevät 28 / 7 Kannan kääk äänteismatriisin päivittp ivittäminen Kannan vaihdon yhteydessä matriisi A kerrotaan matriisilla E (Elementary Transformation Matrix) Suurissa tehtävissä harvat matriisit, mutta näillä on taipumus täyttyä 1 O 1 η M p η M m η O a M a M a 1 p m 1 a 1 + a pη M = p a pη M m am + a pη Matemaattisten algoritmien ohjelmointi Kevät 28 / 8 4
5 Täyttyminen p x = η a Matemaattisten algoritmien ohjelmointi Kevät 28 / 9 Numeeriset ongelmat Liukulukujen tarkkuudesta voi seurata numeerisia ongelmia: pyöristysvirheet virheet matriisin/vektorin alkioiden kumoutumisessa Seurauksia: Epätarkka ratkaisu Väärä optimaalinen kanta Väärä vastaus koko tehtävään Singulaarinen kanta Käyvästä ratkaisusta epäkäypään Matemaattisten algoritmien ohjelmointi Kevät 28 / 1 5
6 Numeeristen ongelmien ratkaisuja Kannan käänteismatriisi lasketaan ajoittain uudestaan Kannan käänteismatriisin esitys: tulomuodossa (PFI) LU-hajotelmana Kaikki suuret LP-tehtävät eivät ole numeerisesti ongelmallisia! Matemaattisten algoritmien ohjelmointi Kevät 28 / 11 Simplexin tietorakenteet Harvojen vektorien ja matriisien tallennus ja käyttö ratkaisee Simplex-toteutuksen onnistumisen Staattiset tietorakenteet: Tarvittava muistin määrä tiedetään etukäteen Tieto ei muutu Esim. matriisi A Dynaamiset tietorakenteet: Koko ja tiedot muuttuvat jatkuvasti Muistin määrää ei voi ennustaa Esim. kannan kääntäminen tai hajottaminen Matemaattisten algoritmien ohjelmointi Kevät 28 / 12 6
7 Harvojen vektorien tallentaminen Voidaan tallentaa täysimittaisina vektoreina Pakattu muoto: tallennetaan ainoastaan nollasta poikkeavat alkiot (indeksi, arvo)-pareina: ( i, vi ), i Ζ Erilliset kokonaisluku- ja liukulukutaulukot T Esim. v = [ 1,,, 3,1 ] Ζ = { 1,4,5 }, Ζ = 3 Length 3 Index Value 1, -3, 1, Tietorakenne voi olla järjestetty tai järjestämätön Matemaattisten algoritmien ohjelmointi Kevät 28 / 13 Perusoperaatiot harvoilla vektoreilla Kokoaminen (gather): täysimittainen (eksplisiittinen) vektori kootaan pakattuun muotoon Hajottaminen (scatter): pakattu vektori puretaan eksplisiittiseen muotoon Yleensä yksi harva vektori hajautetaan väliaikaiseen työtaulukkoon w w:n alkiot alustetaan nolliksi vain kerran w:n nollasta poikkeavat alkiot palautetaan operaation suorittamisen jälkeen nolliksi Siis: vältetään suurten työtaulukoiden alustamista! Matemaattisten algoritmien ohjelmointi Kevät 28 / 14 7
8 Harvan vektorin kerryttäminen Tyypillinen operaatio Simplex-menetelmässä: m u : = u + λv, u, v R Operaatio voitaisiin suorittaa suoraan järjestämättömillä pakatuilla vektoreilla Tehokkaampaa on hajottaa toinen vektori työtaulukkoon w Oletetaan täysimittainen työtaulukko alustettuna nollaksi m w R w:n alkioita muutetaan operaation aikana, mutta lopuksi se palautetaan nollaksi Matemaattisten algoritmien ohjelmointi Kevät 28 / 15 Harvojen vektorien kerryttäminen: menetelmä 1 1. Hajota vektori v työtaulukkoon w. 2. Jokaiselle u:n nollasta poikkeavalle u i :lle, tarkista vastaava w i. Jos wi poikkeaa nollasta, päivitä u i := u i + λw i. Aseta w i =. 3. Jokaiselle v:n nollasta poikkeavalle v i :lle, tarkista vastaava w i. Jos w i poikkeaa nollasta, u i := λv i. Lisää uusi alkio u:n tietorakenteeseen. Aseta w i =. Matemaattisten algoritmien ohjelmointi Kevät 28 / 16 8
9 Harvojen vektorien kerryttäminen: menetelmä 2 1. Hajota vektori u työtaulukkoon w. 2. Jokaiselle v:n nollasta poikkeavalle v i :lle, tarkista w i. Jos w i poikkeaa nollasta, päivitä w i := w i + λv i, muuten aseta w i := λv i. Lisää i u:n tietorakenteeseen. 3. Käy läpi muuttunut u:n tietorakenne ja aseta u i := w i. Aseta w i =. Matemaattisten algoritmien ohjelmointi Kevät 28 / 17 Menetelmien vertailua Jos vektorit ovat järjestetyssä tietorakenteessa, näiden skannaus voidaan tehdä ilman hajotusta Tällöin uuden alkion lisääminen vektoriin u voi tuhota järjestyksen Menetelmä 1 on tehokkaampi kuin menetelmä 2, jos vektoriin u lisätään vain yksi vektori Menetelmä 2 on tehokkaampi, jos vektoriin u lisätään useita vektoreita Operaatioiden lukumäärä riippuu vain nollasta poikkeavien alkioiden lukumäärästä, ei vektoreiden todellisesta koosta (m)! Matemaattisten algoritmien ohjelmointi Kevät 28 / 18 9
10 Pistetulo harvoilla vektoreilla Kahden vektorin u ja v pistetulo: u Oletetaan jälleen nollaksi alustettu työtaulukko w Alustetaan tulos dotprod := 1. Hajota vektori u työtaulukkoon w. 2. Jokaiselle vektorin v nollasta poikkeavalle alkiolle v i, päivitä dotprod := dotprod + v i w i. 3. Jokaiselle vektorin u nollasta poikkeavalle alkiolle u i, aseta w i =. T v = m i= 1 u v i i Matemaattisten algoritmien ohjelmointi Kevät 28 / 19 Harvojen matriisien tallentaminen Helppo tapa: kokoelma harvoja pysty- (tai vaaka-) vektoreita Sarakkeiden nollasta poikkeavat alkiot tallennetaan samaan taulukkoon peräkkäin Jokaisen sarakkeen alkukohta tallennetaan erikseen Jos sarakkeita ei tallenneta peräkkäin, pitää jokaisen sarakkeen pituus tallentaa erikseen Staattinen tietorakenne, pääasiallinen käyttökohde matriisin A tallentaminen (vain rakenteelliset muuttujat!) Matemaattisten algoritmien ohjelmointi Kevät 28 / 2 1
11 Esimerkki harvan matriisin tallentamisesta 1 A = Index Column begin Column length Row index Value 1, -1, -1, -1, 4, 2, -3, 2, -1, 1, Matemaattisten algoritmien ohjelmointi Kevät 28 / 21 Linkitetty lista Dynaaminen tietorakenne Tarkoituksena välttää turhat etsimisoperaatiot Jokaiseen listan alkioon liitetään linkki (tai osoitin) seuraavaan alkioon Listan viimeisestä alkiosta lähtevä linkki on väärä Linkki listan alkuun (header) tallennetaan erikseen Matriisi voidaan tallentaa harvojen linkitettyjen pystyvektorien kokoelmana Matemaattisten algoritmien ohjelmointi Kevät 28 / 22 11
12 Esimerkki linkitetystä listasta 1 A = Index Column header Row index Value -1, 2, -3, 4, 1, -1, 2, 1, -1, -1, Row link Matemaattisten algoritmien ohjelmointi Kevät 28 / 23 Alkion lisää ääminen linkitettyyn listaan Vektori v = [3,,, 7,, 4, 2,, ] T, muutetaan v 9 = 3 Index Header 1 Row index Value 7, 4, 3, 2, Row link Index Header 6 Row index * 9 Value 7, 4, 3, 2, * 3, Row link * 1 Matemaattisten algoritmien ohjelmointi Kevät 28 / 24 12
13 Alkion poistaminen linkitetystä listasta Vektori v = [3,,, 7,, 4, 2,, 3] T, muutetaan v 1 = Index Header 6 Row index * 9 Value 7, 4, 3, 2, * 3, Row link * 1 Index Header 6 Row index 4 6 * 7 * 9 Value 7, 4, * 2, * 3, Row link 2 4 * * 1 Matemaattisten algoritmien ohjelmointi Kevät 28 / 25 Kahteen suuntaan linkitetty lista 1 A = Index CF header CB header Row index Value -1, 2, -3, 4, 1, -1, 2, 1, -1, -1, RF link RB link Matemaattisten algoritmien ohjelmointi Kevät 28 / 26 13
14 Kun pystyvektorit eivät t riitä Esim. kannan kääntämisessä pitää tietää vaakavektorit, joissa on yhtä monta nollasta poikkeavaa alkiota Kannan kääntäminen hidastuu, jos joudutaan tutkimaan koko matriisi Tarvitaan siis tietorakenne, joka linkittää matriisin A vaakavektorit sopivasti toisiinsa Matemaattisten algoritmien ohjelmointi Kevät 28 / 27 Vaakavektoreiden joukot Muodostetaan joukot vaakavektoreista, joilla sama määrä nollasta poikkeavia alkioita Jokaiselle joukolle muodostetaan oma linkitetty lista Vaakavektoreiden linkitettyjen listojen kokonaispituus voi olla enintään m Kaikki linkitetyt listat samaan taulukkoon Osoittimet erottelevat listat toisistaan Matemaattisten algoritmien ohjelmointi Kevät 28 / 28 14
15 Eteen- ja taaksepäin linkitetty lista Olkoon n nollasta poikkeavien alkioiden maksimimäärä riviä kohden Matriisissa on m riviä, jotka täytyy jakaa listoihin Muodostetaan kaksi taulukkoa kooltaan m+n, sekä eteen- että taaksepäin linkeille Ensimmäiset m paikkaa taulukossa on varattu vaakavektoreiden linkeille Paikat m+1 n ovat vaakavektorilistojen alkuosat Listaan m+i linkitetään kaikki vaakavektorit, joissa i kpl nollasta poikkeavia alkioita, m+1 m+i m+ n Matemaattisten algoritmien ohjelmointi Kevät 28 / 29 Listan alustus Kaikkien listojen alkuosat osoittavat itseensä Tyhjät rivit on poistettu flink blink Matemaattisten algoritmien ohjelmointi Kevät 28 / 3 15
16 Alkion lisäys listaan Aluksi vaakavektori 7 lisätään listaan 5, eli vaakavektorissa 7 on 5 nollasta poikkeavaa alkiota flink blink Matemaattisten algoritmien ohjelmointi Kevät 28 / 31 Toisen alkion lisäys listaan Vaaka vektori 1 lisätään listaan 5 flink blink Matemaattisten algoritmien ohjelmointi Kevät 28 / 32 16
17 Alkion poistaminen listasta Poistetaan vaakavektori 7 flink blink Matemaattisten algoritmien ohjelmointi Kevät 28 / 33 Paluu alkutilaan Poistetaan vaakavektori 1 Nyt kaikkien listojen alkuosat osoittavat itseensä flink blink Matemaattisten algoritmien ohjelmointi Kevät 28 / 34 17
18 Yhteenveto Tietorakenteiden suunnittelussa joskus kannattaa säästää muistia ja joskus tuhlata Minkä tahansa algoritmin tärkein ominaisuus harvoilla matriiseilla ja vektoreilla: laskentaoperaatioiden lukumäärä ei riipu matriisin tai vektorin todellisesta koosta vaan nollasta poikkeavien alkioiden lukumäärästä. Linkitettyä listaa voidaan käyttää useisiin eri tarkoituksiin Simplexissä: Matriisin/vektorin tallennus staattisesti/dynaamisesti Nollasta poikkeavien alkioiden määrä rivillä nopeasti Matemaattisten algoritmien ohjelmointi Kevät 28 / 35 Kirjallisuutta Adler, I. et al (1989). Data Structures and Programming Techniques for the Implementation of Karmarkar s Algorithm. ORSA Journal on Computing 1, Duff, I. et al (1986). Direct Methods for Sparse Matrices. Oxford Science Publications. Clarendon Press, Oxford. Gay, D. (1985). Electronic mail distribution of linear programming test problems. COAL Newsletter 13, Matemaattisten algoritmien ohjelmointi Kevät 28 / 36 18
19 Kirjallisuutta George, A. and Liu, W.-H. (1981). Computing Solution of Large Sparse Positive Definite Systems. Prentice-Hall, Englewood Cliffs, N.J. Greenberg, H., editor (1978). Design and Implementation of Optimization Software, NATO ASI. Sijthoff and Nordhoff. Gustavson, F. (1972). Some basic techniques for solving sparse systems of linear equations, in Sparse Matrices and Their Applications, Plenum Press. Kalan, J. (1971). Aspects of Large-Scale In-Core Linear Programming, in Proceedings of the 1971 annual conference of the ACM, pp ACM. Matemaattisten algoritmien ohjelmointi Kevät 28 / 37 19
1.1. Määritelmiä ja nimityksiä
1.1. Määritelmiä ja nimityksiä Luku joko reaali- tai kompleksiluku. R = {reaaliluvut}, C = {kompleksiluvut} R n = {(x 1, x 2,..., x n ) x 1, x 2,..., x n R} C n = {(x 1, x 2,..., x n ) x 1, x 2,..., x
Osittaistuenta Gaussin algoritmissa: Etsitään 1. sarakkeen itseisarvoltaan suurin alkio ja vaihdetaan tämä tukialkioiksi (eli ko. rivi 1. riviksi).
Liukuluvut Tietokonelaskuissa käytetään liukulukuja: mikä esittää lukua ± α α α M β k ± ( M α i β i )β k, i= β on järjestelmän kantaluku, α α M liukuluvun mantissa, α,, α M lukuja,,,, β, siten että α Esimerkki
Numeeriset menetelmät
Numeeriset menetelmät Luento 5 Ti 20.9.2011 Timo Männikkö Numeeriset menetelmät Syksy 2011 Luento 5 Ti 20.9.2011 p. 1/40 p. 1/40 Choleskyn menetelmä Positiivisesti definiiteillä matriiseilla kolmiohajotelma
Tieto- ja tallennusrakenteet
Tieto- ja tallennusrakenteet Sisältö Tyyppi, abstrakti tietotyyppi, abstraktin tietotyypin toteutus Tallennusrakenteet Taulukko Linkitetty rakenne Abstraktit tietotyypit Lista (Puu) (Viimeisellä viikolla)
Johdatus tekoälyn taustalla olevaan matematiikkaan
Johdatus tekoälyn taustalla olevaan matematiikkaan Informaatioteknologian tiedekunta Jyväskylän yliopisto 5. luento.2.27 Lineaarialgebraa - Miksi? Neuroverkon parametreihin liittyvät kaavat annetaan monesti
Algoritmit 1. Luento 4 Ke Timo Männikkö
Algoritmit 1 Luento 4 Ke 18.1.2017 Timo Männikkö Luento 4 Tietorakenteet Pino Pinon toteutus Jono Jonon toteutus Lista Listaoperaatiot Algoritmit 1 Kevät 2017 Luento 4 Ke 18.1.2017 2/29 Pino Pino, stack,
Algoritmit 2. Luento 2 To Timo Männikkö
Algoritmit 2 Luento 2 To 14.3.2019 Timo Männikkö Luento 2 Tietorakenteet Lineaarinen lista, binääripuu Prioriteettijono Kekorakenne Keko-operaatiot Keon toteutus taulukolla Algoritmit 2 Kevät 2019 Luento
Käänteismatriisin ominaisuuksia
Käänteismatriisin ominaisuuksia Lause 1.4. Jos A ja B ovat säännöllisiä ja luku λ 0, niin 1) (A 1 ) 1 = A 2) (λa) 1 = 1 λ A 1 3) (AB) 1 = B 1 A 1 4) (A T ) 1 = (A 1 ) T. Tod.... Ortogonaaliset matriisit
811312A Tietorakenteet ja algoritmit II Perustietorakenteet
811312A Tietorakenteet ja algoritmit 2017-2018 II Perustietorakenteet Sisältö 1. Johdanto 2. Pino 3. Jono 4. Lista 811312A TRA, Perustietorakenteet 2 II.1. Johdanto Tietorakenne on tapa, jolla algoritmi
Matriisit ovat matlabin perustietotyyppejä. Yksinkertaisimmillaan voimme esitellä ja tallentaa 1x1 vektorin seuraavasti: >> a = 9.81 a = 9.
Python linkit: Python tutoriaali: http://docs.python.org/2/tutorial/ Numpy&Scipy ohjeet: http://docs.scipy.org/doc/ Matlabin alkeet (Pääasiassa Deni Seitzin tekstiä) Matriisit ovat matlabin perustietotyyppejä.
Algoritmit 1. Luento 9 Ti Timo Männikkö
Algoritmit 1 Luento 9 Ti 7.2.2017 Timo Männikkö Luento 9 Graafit ja verkot Kaaritaulukko, bittimatriisi, pituusmatriisi Verkon lyhimmät polut Floydin menetelmä Lähtevien ja tulevien kaarien listat Forward
2.8. Kannanvaihto R n :ssä
28 Kannanvaihto R n :ssä Seuraavassa kantavektoreiden { x, x 2,, x n } järjestystä ei saa vaihtaa Vektorit ovat pystyvektoreita ( x x 2 x n ) on vektoreiden x, x 2,, x n muodostama matriisi, missä vektorit
Algoritmit 2. Luento 3 Ti Timo Männikkö
Algoritmit 2 Luento 3 Ti 21.3.2017 Timo Männikkö Luento 3 Järjestäminen eli lajittelu Kekorakenne Kekolajittelu Hajautus Yhteentörmäysten käsittely Ketjutus Algoritmit 2 Kevät 2017 Luento 3 Ti 21.3.2017
3 Lineaariset yhtälöryhmät ja Gaussin eliminointimenetelmä
3 Lineaariset yhtälöryhmät ja Gaussin eliminointimenetelmä Lineaarinen m:n yhtälön yhtälöryhmä, jossa on n tuntematonta x 1,, x n on joukko yhtälöitä, jotka ovat muotoa a 11 x 1 + + a 1n x n = b 1 a 21
815338A Ohjelmointikielten periaatteet Harjoitus 3 vastaukset
815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 3 vastaukset Harjoituksen aiheena ovat imperatiivisten kielten muuttujiin liittyvät kysymykset. Tehtävä 1. Määritä muuttujien max_num, lista,
Algoritmit 1. Luento 5 Ti Timo Männikkö
Algoritmit 1 Luento 5 Ti 24.1.2017 Timo Männikkö Luento 5 Järjestetty lista Järjestetyn listan operaatiot Listan toteutus taulukolla Binäärihaku Binäärihaun vaativuus Algoritmit 1 Kevät 2017 Luento 5 Ti
Algoritmit 2. Luento 3 Ti Timo Männikkö
Algoritmit 2 Luento 3 Ti 20.3.2018 Timo Männikkö Luento 3 Järjestäminen eli lajittelu Kekorakenne Kekolajittelu Hajautus Yhteentörmäysten käsittely Ketjutus Algoritmit 2 Kevät 2018 Luento 3 Ti 20.3.2018
Numeeriset menetelmät
Numeeriset menetelmät Luento 3 Ti 13.9.2011 Timo Männikkö Numeeriset menetelmät Syksy 2011 Luento 3 Ti 13.9.2011 p. 1/37 p. 1/37 Epälineaariset yhtälöt Newtonin menetelmä: x n+1 = x n f(x n) f (x n ) Sekanttimenetelmä:
Algoritmit 2. Luento 4 Ke Timo Männikkö
Algoritmit 2 Luento 4 Ke 22.3.2017 Timo Männikkö Luento 4 Hajautus Yhteentörmäysten käsittely Avoin osoitteenmuodostus Hajautusfunktiot Puurakenteet Solmujen läpikäynti Algoritmit 2 Kevät 2017 Luento 4
Matriisilaskenta (TFM) MS-A0001 Hakula/Vuojamo Ratkaisut, Viikko 47, 2017
Matriisilaskenta (TFM) MS-A1 Hakula/Vuojamo Ratkaisut, Viikko 47, 17 R Alkuviikko TEHTÄVÄ J1 Mitkä matriisit E 1 ja E 31 nollaavat sijainnit (, 1) ja (3, 1) matriiseissa E 1 A ja E 31 A kun 1 A = 1. 8
4.5 Kaksivaiheinen menetelmä simplex algoritmin alustukseen
4.5 Kaksivaiheinen menetelmä simplex algoritmin alustukseen Käypä kantaratkaisu löytyy helposti, esimerkiksi tapauksessa Ax b, b 0 x 0 jolloin sen määräävät puutemuuttujat. Tällöin simplex-menetelmän alustus
Algoritmit 2. Luento 2 Ke Timo Männikkö
Algoritmit 2 Luento 2 Ke 15.3.2017 Timo Männikkö Luento 2 Tietorakenteet Lineaarinen lista, binääripuu Prioriteettijono Kekorakenne Keko-operaatiot Keon toteutus taulukolla Algoritmit 2 Kevät 2017 Luento
Algoritmit 2. Luento 6 To Timo Männikkö
Algoritmit 2 Luento 6 To 28.3.2019 Timo Männikkö Luento 6 B-puun operaatiot Nelipuu Trie-rakenteet Standarditrie Pakattu trie Algoritmit 2 Kevät 2019 Luento 6 To 28.3.2019 2/30 B-puu 40 60 80 130 90 100
Mat Lineaarinen ohjelmointi
Mat-2.34 Lineaarinen ohjelmointi..27 Luento 5 Simplexin implementaatioita (kirja 3.2-3.5) Lineaarinen ohjelmointi - Syksy 27 / Luentorunko (/2) Simplexin implementaatiot Naiivi Revised Full tableau Syklisyys
3 Lineaariset yhtälöryhmät ja Gaussin eliminointimenetelmä
1 3 Lineaariset yhtälöryhmät ja Gaussin eliminointimenetelmä Lineaarinen m:n yhtälön yhtälöryhmä, jossa on n tuntematonta x 1,, x n on joukko yhtälöitä, jotka ovat muotoa a 11 x 1 + + a 1n x n = b 1 a
Algoritmit 1. Luento 6 Ke Timo Männikkö
Algoritmit 1 Luento 6 Ke 25.1.2017 Timo Männikkö Luento 6 Järjestetty lista Listan toteutus dynaamisesti Linkitetyn listan operaatiot Vaihtoehtoisia listarakenteita Puurakenteet Binääripuu Järjestetty
Rakenteiset tietotyypit Moniulotteiset taulukot
C! Rakenteiset tietotyypit Moniulotteiset taulukot 22.2.2018 Agenda Rakenteiset tietotyypit Vilkaisu 6. kierroksen tehtäviin Moniulotteiset taulukot Esimerkki Seuraava luento to 8.3. Ilmoittautuminen ohjelmointikokeeseen
2.5. Matriisin avaruudet ja tunnusluvut
2.5. Matriisin avaruudet ja tunnusluvut m n-matriisi A Lineaarikuvaus A : V Z, missä V ja Z ovat sopivasti valittuja, dim V = n, dim Z = m (yleensä V = R n tai C n ja Z = R m tai C m ) Kuva-avaruus ja
Numeeriset menetelmät
Numeeriset menetelmät Luento 4 To 15.9.2011 Timo Männikkö Numeeriset menetelmät Syksy 2011 Luento 4 To 15.9.2011 p. 1/38 p. 1/38 Lineaarinen yhtälöryhmä Lineaarinen yhtälöryhmä matriisimuodossa Ax = b
Ville Turunen: Mat Matematiikan peruskurssi P1 1. välikokeen alueen teoriatiivistelmä 2007
Ville Turunen: Mat-1.1410 Matematiikan peruskurssi P1 1. välikokeen alueen teoriatiivistelmä 2007 Materiaali: kirjat [Adams R. A. Adams: Calculus, a complete course (6th edition), [Lay D. C. Lay: Linear
12. luento: Simplexin implementointi Mallinnusjärjestelmät. Simplexin implementointiin liittyviä asioita
Simplex-menetelm menetelmän laskennalliset tekniikat 12. luento: Simplexin implementointi Mallinnusjärjestelmät Matemaattisten algoritmien ohjelmointi Kevät 2008 / 1 Simplexin implementointiin liittyviä
Algoritmit 2. Luento 7 Ti Timo Männikkö
Algoritmit 2 Luento 7 Ti 4.4.2017 Timo Männikkö Luento 7 Joukot Joukko-operaatioita Joukkojen esitystapoja Alkiovieraat osajoukot Toteutus puurakenteena Algoritmit 2 Kevät 2017 Luento 7 Ti 4.4.2017 2/26
1 Kannat ja kannanvaihto
1 Kannat ja kannanvaihto 1.1 Koordinaattivektori Oletetaan, että V on K-vektoriavaruus, jolla on kanta S = (v 1, v 2,..., v n ). Avaruuden V vektori v voidaan kirjoittaa kannan vektorien lineaarikombinaationa:
Matriisilaskenta Luento 8: LU-hajotelma
Matriisilaskenta Luento 8: LU-hajotelma Antti Rasila 2016 Matriisihajotelmat 1/2 Usein matriisiyhtälön Ax = y ratkaiseminen on epäkäytännöllistä ja hidasta. Siksi numeerisessa matriisilaskennassa usein
A274101 TIETORAKENTEET JA ALGORITMIT
A274101 TIETORAKENTEET JA ALGORITMIT PERUSTIETORAKENTEET LISTA, PINO, JONO, PAKKA ABSTRAKTI TIETOTYYPPI Tietotyyppi on abstrakti, kun se on määritelty (esim. matemaattisesti) ottamatta kantaa varsinaiseen
Algoritmit 2. Luento 4 To Timo Männikkö
Algoritmit 2 Luento 4 To 21.3.2019 Timo Männikkö Luento 4 Hajautus Yhteentörmäysten käsittely Avoin osoitteenmuodostus Hajautusfunktiot Puurakenteet Solmujen läpikäynti Algoritmit 2 Kevät 2019 Luento 4
Algoritmit 1. Luento 1 Ti Timo Männikkö
Algoritmit 1 Luento 1 Ti 10.1.2017 Timo Männikkö Luento 1 Algoritmi Algoritmin toteutus Ongelman ratkaiseminen Algoritmin tehokkuus Algoritmin suoritusaika Algoritmin analysointi Algoritmit 1 Kevät 2017
BM20A0700, Matematiikka KoTiB2
BM20A0700, Matematiikka KoTiB2 Luennot: Matti Alatalo, Harjoitukset: Oppikirja: Kreyszig, E.: Advanced Engineering Mathematics, 8th Edition, John Wiley & Sons, 1999, luku 7. 1 Kurssin sisältö Matriiseihin
Talousmatematiikan perusteet
kevät 219 / orms.13 Talousmatematiikan perusteet 9. harjoitus, viikko 12 (18.3. 22.3.219) L Ma 1 12 A22 R5 Ti 14 16 F453 R1 Ma 12 14 F453 L To 8 1 A22 R2 Ma 16 18 F453 R6 Pe 12 14 F14 R3 Ti 8 1 F425 R7
Insinöörimatematiikka D
Insinöörimatematiikka D M Hirvensalo mikhirve@utufi V Junnila viljun@utufi Matematiikan ja tilastotieteen laitos Turun yliopisto 2015 M Hirvensalo mikhirve@utufi V Junnila viljun@utufi Luentokalvot 5 1
Algoritmit 1. Luento 10 Ke Timo Männikkö
Algoritmit 1 Luento 10 Ke 14.2.2018 Timo Männikkö Luento 10 Algoritminen ongelmanratkaisu Suunnittelumenetelmät Raaka voima Järjestäminen eli lajittelu Kuplalajittelu Lisäyslajittelu Valintalajittelu Permutaatiot
Talousmatematiikan perusteet: Luento 11. Lineaarikuvaus Matriisin aste Käänteismatriisi
Talousmatematiikan perusteet: Luento 11 Lineaarikuvaus Matriisin aste Käänteismatriisi Viime luennolla Käsittelimme matriisien peruskäsitteitä ja laskutoimituksia Vakiolla kertominen, yhteenlasku ja vähennyslasku
Algoritmit 1. Luento 12 Ti Timo Männikkö
Algoritmit 1 Luento 12 Ti 19.2.2019 Timo Männikkö Luento 12 Osittamisen tasapainoisuus Pikalajittelun vaativuus Lajittelumenetelmien vaativuus Laskentalajittelu Lokerolajittelu Kantalukulajittelu Algoritmit
Sisältö. 22. Taulukot. Yleistä. Yleistä
Sisältö 22. Taulukot Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko metodin parametrina. Taulukko ja HelloWorld-ohjelma. Taulukko paluuarvona. 22.1 22.2 Yleistä
Harjoitus 1: Matlab. Harjoitus 1: Matlab. Mat Sovelletun matematiikan tietokonetyöt 1. Syksy 2006
Harjoitus 1: Matlab Mat-2.2107 Sovelletun matematiikan tietokonetyöt Syksy 2006 Mat-2.2107 Sovelletun matematiikan tietokonetyöt 1 Harjoituksen aiheita Tutustuminen Matlab-ohjelmistoon Laskutoimitusten
Insinöörimatematiikka D
Insinöörimatematiikka D M. Hirvensalo mikhirve@utu.fi V. Junnila viljun@utu.fi Matematiikan ja tilastotieteen laitos Turun yliopisto 2015 M. Hirvensalo mikhirve@utu.fi V. Junnila viljun@utu.fi Luentokalvot
Insinöörimatematiikka D
Insinöörimatematiikka D Mika Hirvensalo mikhirve@utu.fi Matematiikan ja tilastotieteen laitos Turun yliopisto 2014 Mika Hirvensalo mikhirve@utu.fi Luentokalvot 3 1 of 16 Kertausta Lineaarinen riippuvuus
1 Matriisit ja lineaariset yhtälöryhmät
1 Matriisit ja lineaariset yhtälöryhmät 11 Yhtälöryhmä matriisimuodossa m n-matriisi sisältää mn kpl reaali- tai kompleksilukuja, jotka on asetetettu suorakaiteen muotoiseksi kaavioksi: a 11 a 12 a 1n
Käänteismatriisi 1 / 14
1 / 14 Jokaisella nollasta eroavalla reaaliluvulla on käänteisluku, jolla kerrottaessa tuloksena on 1. Seuraavaksi tarkastellaan vastaavaa ominaisuutta matriiseille ja määritellään käänteismatriisi. Jokaisella
Inversio-ongelmien laskennallinen peruskurssi Luento 3
Inversio-ongelmien laskennallinen peruskurssi Luento 3 Kevät 2011 1 Singulaariarvohajotelma (Singular Value Decomposition, SVD) Olkoon A R m n matriisi 1. Tällöin A voidaan esittää muodossa A = UΣV T,
4.6 Matriisin kääntäminen rivioperaatioilla
Vaasan liopiston julkaisuja 9 kuva.plot(,n, k-o,,n, k-s,,n3, k-d ); kuva.set_label( kausi ); kuva.set_label( lkm ); kuva.ais([,,,8]); kuva = fig.add_subplot(); kuva.plot(,tulo, k-o ); kuva.set_label( kausi
1 Ominaisarvot ja ominaisvektorit
1 Ominaisarvot ja ominaisvektorit Olkoon A = [a jk ] n n matriisi. Tarkastellaan vektoriyhtälöä Ax = λx, (1) 1 missä λ on luku. Sellaista λ:n arvoa, jolla yhtälöllä on ratkaisu x 0, kutsutaan matriisin
Algoritmit 2. Luento 6 Ke Timo Männikkö
Algoritmit 2 Luento 6 Ke 29.3.2017 Timo Männikkö Luento 6 B-puun operaatiot B-puun muunnelmia Nelipuu Trie-rakenteet Standarditrie Pakattu trie Algoritmit 2 Kevät 2017 Luento 6 Ke 29.3.2017 2/31 B-puu
Numeeriset menetelmät TIEA381. Luento 4. Kirsi Valjus. Jyväskylän yliopisto. Luento 4 () Numeeriset menetelmät / 44
Numeeriset menetelmät TIEA381 Luento 4 Kirsi Valjus Jyväskylän yliopisto Luento 4 () Numeeriset menetelmät 21.3.2013 1 / 44 Luennon 4 sisältö Lineaarisen yhtälöryhmän ratkaisemisesta: Choleskyn menetelmä
MS-A0004/A0006 Matriisilaskenta
4. MS-A4/A6 Matriisilaskenta 4. Nuutti Hyvönen, c Riikka Kangaslampi Matematiikan ja systeemianalyysin laitos Aalto-yliopisto..25 Tarkastellaan neliömatriiseja. Kun matriisilla kerrotaan vektoria, vektorin
1 + b t (i, j). Olkoon b t (i, j) todennäköisyys, että B t (i, j) = 1. Siis operaation access(j) odotusarvoinen kustannus ajanhetkellä t olisi.
Algoritmien DP ja MF vertaileminen tapahtuu suoraviivaisesti kirjoittamalla kummankin leskimääräinen kustannus eksplisiittisesti todennäköisyyksien avulla. Lause T MF ave = 1 + 2 1 i
Matriisilaskenta. Harjoitusten 3 ratkaisut (Kevät 2019) 1. Olkoot AB = ja 2. Osoitetaan, että matriisi B on matriisin A käänteismatriisi.
Matriisilaskenta Harjoitusten ratkaisut (Kevät 9). Olkoot ja A = B = 5. Osoitetaan, että matriisi B on matriisin A käänteismatriisi. Tapa Käänteismatriisin määritelmän nojalla riittää osoittaa, että AB
(p j b (i, j) + p i b (j, i)) (p j b (i, j) + p i (1 b (i, j)) p i. tähän. Palaamme sanakirjaongelmaan vielä tasoitetun analyysin yhteydessä.
Loppu seuraa suoralla laskulla: n n Tave TR = p j (1 + b (i, j)) j=1 = 1 + 1 i
Algoritmit 2. Luento 9 Ti Timo Männikkö
Algoritmit 2 Luento 9 Ti 17.4.2018 Timo Männikkö Luento 9 Merkkitiedon tiivistäminen Huffmanin koodi LZW-menetelmä Taulukointi Editointietäisyys Algoritmit 2 Kevät 2018 Luento 9 Ti 17.4.2018 2/29 Merkkitiedon
Matematiikka B2 - Avoin yliopisto
6. elokuuta 2012 Opetusjärjestelyt Luennot 9:15-11:30 Harjoitukset 12:30-15:00 Tentti Kurssin sisältö (1/2) Matriisit Laskutoimitukset Lineaariset yhtälöryhmät Gaussin eliminointi Lineaarinen riippumattomuus
Lineaarialgebra ja matriisilaskenta I
Lineaarialgebra ja matriisilaskenta I 30.5.2013 HY / Avoin yliopisto Jokke Häsä, 1/19 Käytännön asioita Kurssi on suunnilleen puolessa välissä. Kannattaa tarkistaa tavoitetaulukosta, mitä on oppinut ja
Determinantti 1 / 30
1 / 30 on reaaliluku, joka on määritelty neliömatriiseille Determinantin avulla voidaan esimerkiksi selvittää, onko matriisi kääntyvä a voidaan käyttää käänteismatriisin määräämisessä ja siten lineaarisen
Ennakkotehtävän ratkaisu
Ennakkotehtävän ratkaisu Ratkaisu [ ] [ ] 1 3 4 3 A = ja B =. 1 4 1 1 [ ] [ ] 4 3 12 12 1 0 a) BA = =. 1 + 1 3 + 4 0 1 [ ] [ ] [ ] 1 0 x1 x1 b) (BA)x = =. 0 1 x 2 x [ ] [ ] [ 2 ] [ ] 4 3 1 4 9 5 c) Bb
Algoritmit 1. Luento 10 Ke 11.2.2015. Timo Männikkö
Algoritmit 1 Luento 10 Ke 11.2.2015 Timo Männikkö Luento 10 Algoritminen ongelman ratkaisu Suunnittelumenetelmät Raaka voima Järjestäminen eli lajittelu Kuplalajittelu Väliinsijoituslajittelu Valintalajittelu
Matriisi-vektori-kertolasku, lineaariset yhtälöryhmät
Matematiikan peruskurssi K3/P3, syksy 25 Kenrick Bingham 825 Toisen välikokeen alueen ydinasioita Alla on lueteltu joitakin koealueen ydinkäsitteitä, joiden on hyvä olla ensiksi selvillä kokeeseen valmistauduttaessa
Lineaariset kongruenssiyhtälöryhmät
Lineaariset kongruenssiyhtälöryhmät LuK-tutkielma Jesse Salo 2309369 Matemaattisten tieteiden laitos Oulun yliopisto Sisältö Johdanto 2 1 Kongruensseista 3 1.1 Kongruenssin ominaisuuksia...................
Algoritmit 1. Luento 12 Ke Timo Männikkö
Algoritmit 1 Luento 12 Ke 15.2.2017 Timo Männikkö Luento 12 Pikalajittelu Pikalajittelun vaativuus Osittamisen tasapainoisuus Lajittelumenetelmien vaativuus Laskentalajittelu Lokerolajittelu Kantalukulajittelu
A ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä.
Esimerkki otteluvoiton todennäköisyys A ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä. Yksittäisessä pelissä A voittaa todennäköisyydellä p ja B todennäköisyydellä q =
LU-hajotelma. Esimerkki 1 Matriisi on yläkolmiomatriisi ja matriisi. on alakolmiomatriisi. 3 / 24
LU-hajotelma 1 / 24 LU-hajotelma Seuravassa tarkastellaan kuinka neliömatriisi voidaan esittää kahden kolmiomatriisin tulona. Käytämme alkeismatriiseja tälläisen esityksen löytämiseen. Edellä mainittua
Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari Korhonen
Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari 1 1. JOHDANTO 1.1 Määritelmiä 1.2 Tietorakenteen ja algoritmin valinta 1.3 Algoritmit ja tiedon määrä 1.4 Tietorakenteet ja toiminnot 1.5 Esimerkki:
Algoritmit 1. Luento 3 Ti Timo Männikkö
Algoritmit 1 Luento 3 Ti 17.1.2017 Timo Männikkö Luento 3 Algoritmin analysointi Rekursio Lomituslajittelu Aikavaativuus Tietorakenteet Pino Algoritmit 1 Kevät 2017 Luento 3 Ti 17.1.2017 2/27 Algoritmien
Algoritmit 1. Luento 8 Ke Timo Männikkö
Algoritmit 1 Luento 8 Ke 1.2.2017 Timo Männikkö Luento 8 Järjestetty binääripuu Solmujen läpikäynti Binääripuun korkeus Binääripuun tasapainottaminen Graafit ja verkot Verkon lyhimmät polut Fordin ja Fulkersonin
Ellipsoidimenetelmä. Samuli Leppänen Kokonaislukuoptimointi. S ysteemianalyysin Laboratorio
Ellipsoidimenetelmä Kokonaislukuoptimointi Sovelletun matematiikan lisensiaattiseminaari Kevät 2008 / 1 Sisällys Ellipsoidimenetelmän geometrinen perusta ja menetelmän idea Formaali ellipsoidimenetelmä
Algoritmit 1. Luento 7 Ti Timo Männikkö
Algoritmit 1 Luento 7 Ti 31.1.2017 Timo Männikkö Luento 7 Järjestetty binääripuu Binääripuiden termejä Binääripuiden operaatiot Solmun haku, lisäys, poisto Algoritmit 1 Kevät 2017 Luento 7 Ti 31.1.2017
Algoritmit 2. Luento 5 Ti Timo Männikkö
Algoritmit 2 Luento 5 Ti 26.3.2019 Timo Männikkö Luento 5 Puurakenteet B-puu B-puun korkeus B-puun operaatiot B-puun muunnelmia Algoritmit 2 Kevät 2019 Luento 5 Ti 26.3.2019 2/34 B-puu B-puut ovat tasapainoisia
Numeeriset menetelmät TIEA381. Luento 3. Kirsi Valjus. Jyväskylän yliopisto. Luento 3 () Numeeriset menetelmät / 45
Numeeriset menetelmät TIEA381 Luento 3 Kirsi Valjus Jyväskylän yliopisto Luento 3 () Numeeriset menetelmät 20.3.2013 1 / 45 Luennon 3 sisältö Luku 2: Epälineaarisen yhtälön ratkaiseminen Polynomin reaaliset
Kokonaislukuoptiomointi Leikkaustasomenetelmät
Kokonaislukuoptiomointi Leikkaustasomenetelmät Systeemianalyysin Laboratorio 19.3.2008 Sisällys Leikkaustasomenetelmät yleisesti Leikkaustasomenetelmät generoivilla kokonaislukujoukoilla Gomoryn leikkaavat
Yleistä. Nyt käsitellään vain taulukko (array), joka on saman tyyppisten muuttujien eli alkioiden (element) kokoelma.
2. Taulukot 2.1 Sisältö Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko operaation parametrina. Taulukko ja HelloWorld-ohjelma. Taulukko paluuarvona. 2.2 Yleistä
Muita rekisteriallokaatiomenetelmiä
TIE448 Kääntäjätekniikka, syksy 2009 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 23. marraskuuta 2009 Sisällys Sisällys Seuraava deadline Vaihe E tiistai 1.12. klo 10 koodigenerointi (ilman rekisteriallokaatiota)
Esimerkki: Tietoliikennekytkin
Esimerkki: Tietoliikennekytkin Tämä Mathematica - notebook sisältää luennolla 2A (2..26) käsitellyn esimerkin laskut. Esimerkin kuvailu Tarkastellaan yksinkertaista mallia tietoliikennekytkimelle. Kytkimeen
Algoritmit 1. Luento 2 Ke Timo Männikkö
Algoritmit 1 Luento 2 Ke 11.1.2017 Timo Männikkö Luento 2 Algoritmin esitys Algoritmien analysointi Suoritusaika Asymptoottinen kertaluokka Peruskertaluokkia NP-täydelliset ongelmat Algoritmit 1 Kevät
s = 11 7 t = = 2 7 Sijoittamalla keskimmäiseen yhtälöön saadaan: k ( 2) = 0 2k = 8 k = 4
BM0A5800 Funktiot, lineaarialgebra ja vektorit Harjoitus 5, Syksy 05. (a) i. Jotta vektori c sijaitsisi a:n ja b:n virittämällä tasolla, c on voitava esittää a:n ja b:n lineaarikombinaationa. c ta + sb
Tietorakenteet ja algoritmit - syksy 2015 1
Tietorakenteet ja algoritmit - syksy 2015 1 Tietorakenteet ja algoritmit - syksy 2015 2 Tietorakenteet ja algoritmit Johdanto Ari Korhonen Tietorakenteet ja algoritmit - syksy 2015 1. JOHDANTO 1.1 Määritelmiä
ACKERMANNIN ALGORITMI. Olkoon järjestelmä. x(k+1) = Ax(k) + Bu(k)
ACKERMANNIN ALGORITMI Olkoon järjestelmä x(k+1) = Ax( + Bu( jossa x( = tilavektori (n x 1) u( = ohjaus (skalaari) A (n x n matriisi) B (n x 1 matriisi) Oletetaan, että ohjaus u( = Kx( on rajoittamaton.
18. Abstraktit tietotyypit 18.1
18. Abstraktit tietotyypit 18.1 Sisällys Johdanto abstrakteihin tietotyyppeihin. Pino ja jono. Linkitetty lista. Pino linkitetyllä listalla toteutettuna. 18.2 Johdanto Javan omat tietotyypit ovat jo tuttuja:
811312A Tietorakenteet ja algoritmit, 2014-2015, Harjoitus 7, ratkaisu
832A Tietorakenteet ja algoritmit, 204-205, Harjoitus 7, ratkaisu Hajota ja hallitse-menetelmä: Tehtävä 7.. Muodosta hajota ja hallitse-menetelmää käyttäen algoritmi TULOSTA_PUU_LASKEVA, joka tulostaa
MS-C1340 Lineaarialgebra ja differentiaaliyhtälöt
MS-C1340 Lineaarialgebra ja differentiaaliyhtälöt Matriisinormi, häiriöalttius Riikka Kangaslampi Matematiikan ja systeemianalyysin laitos Aalto-yliopisto 2015 1 / 14 R. Kangaslampi matriisiteoriaa Matriisinormi
S: siirtää listan ensimmäisen luvun viimeiseksi V: vaihtaa keskenään listan kaksi ensimmäistä lukua
A Lista Sinulle on annettu lista, joka sisältää kokonaisluvut 1, 2,, n jossakin järjestyksessä. Tehtäväsi on järjestää luvut pienimmästä suurimpaan käyttäen seuraavia operaatioita: S: siirtää listan ensimmäisen
7.4 Sormenjälkitekniikka
7.4 Sormenjälkitekniikka Tarkastellaan ensimmäisenä esimerkkinä pitkien merkkijonojen vertailua. Ongelma: Ajatellaan, että kaksi n-bittistä (n 1) tiedostoa x ja y sijaitsee eri tietokoneilla. Halutaan
Matematiikka B2 - TUDI
Matematiikka B2 - TUDI Miika Tolonen 3. syyskuuta 2012 Miika Tolonen Matematiikka B2 - TUDI 1 Kurssin sisältö (1/2) Matriisit Laskutoimitukset Lineaariset yhtälöryhmät Gaussin eliminointi Lineaarinen riippumattomuus
Department of Mathematics, Hypermedia Laboratory Tampere University of Technology. Roolit Verkostoissa: HITS. Idea.
Roolit Tommi Perälä Department of Mathematics, Hypermedia Laboratory Tampere University of Technology 25.3.2011 J. Kleinberg kehitti -algoritmin (Hypertext Induced Topic Search) hakukoneen osaksi. n taustalla
C-kielessä taulukko on joukko peräkkäisiä muistipaikkoja, jotka kaikki pystyvät tallettamaan samaa tyyppiä olevaa tietoa.
Taulukot C-kielessä taulukko on joukko peräkkäisiä muistipaikkoja, jotka kaikki pystyvät tallettamaan samaa tyyppiä olevaa tietoa. Taulukon muuttujilla (muistipaikoilla) on yhteinen nimi. Jokaiseen yksittäiseen
Johdatus verkkoteoriaan luento Netspace
Johdatus verkkoteoriaan luento 3.4.18 Netspace Matriisioperaatio suunnatuissa verkoissa Taustoitusta verkkoteorian ulkopuolelta ennen kuljetusalgoritmia LP-ongelma yleisesti LP = linear programming =
Luento 5: Suurten lineaaristen yhtälöryhmien ratkaiseminen iteratiivisilla menetelmillä
Luento 5: Suurten lineaaristen yhtälöryhmien ratkaiseminen iteratiivisilla menetelmillä Matriisit voivat olla kooltaan niin suuria, että LU-hajotelman laskeminen ei ole järkevä tapa ratkaista lineaarista
lähtokohta: kahden O(h) korkuisen keon yhdistäminen uudella juurella vie O(h) operaatiota vrt. RemoveMinElem() keossa
Kekolajittelu Prioriteettijonolla toteutettu keko InsertItem ja RemoveMinElem: O(log(n)) Lajittelu prioriteettijonolla: PriorityQueueSort(lajiteltava sekvenssi S) alusta prioriteettijono P while S.IsEmpty()
Mat Lineaarinen ohjelmointi
Mat-.4 Lineaarinen ohjelmointi..7 Luento 7 Duaalisimple ja herkkyysanalyysi (kirja 4.5, 5., 5.5-5.6) Lineaarinen ohjelmointi - Syksy 7 / Duaalisimple Herkkyysanalyysi Luentorunko Parametrinen ohjelmointi
2. Perustietorakenteet
2. Perustietorakenteet Tässä osassa käsitellään erilaisia perustietorakenteita, joita algoritmit käyttävät toimintansa perustana. Aluksi käydään läpi tietorakenteen abstrakti määritelmä. Tämän jälkeen
Numeropelissä 3x3-ruudukko sisältää luvut 1, 2,, 9. Tehtäväsi on järjestää ruudukko näin:
A Numeropeli Numeropelissä 3x3-ruudukko sisältää luvut 1, 2,, 9. Tehtäväsi on järjestää ruudukko näin: 1 2 3 4 5 6 7 8 9 Voit jokaisella siirrolla vaihtaa keskenään kaksi vierekkäistä lukua vaaka- tai
Sisältö. 2. Taulukot. Yleistä. Yleistä
Sisältö 2. Taulukot Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko operaation parametrina. Taulukko ja HelloWorld-ohjelma. Taulukko paluuarvona. 2.1 2.2 Yleistä
Sisällys. 18. Abstraktit tietotyypit. Johdanto. Johdanto
Sisällys 18. bstraktit tietotyypit Johdanto abstrakteihin tietotyyppeihin. Pino ja jono. Linkitetty lista. Pino linkitetyllä listalla toteutettuna. 18.1 18.2 Johdanto Javan omat tietotyypit ovat jo tuttuja: