Pienin tutkintoalgoritmi - Minimum degree algorithm
On numeerinen analyysi vähäinenkin algoritmi on algoritmi , jota käytetään permute rivit ja sarakkeet symmetrinen harva matriisi ennen soveltamista Cholesky-hajotelma , vähentää ei-nollia Cholesky-tekijä. Tämä vähentää varastointivaatimuksia ja tarkoittaa, että Cholesky-kerrointa voidaan käyttää vähemmän aritmeettisilla operaatioilla. (Joskus se voi liittyä myös epätäydelliseen Cholesky-tekijään, jota käytetään ennakkoehdottimena, esimerkiksi ennakkoedellytyksessä konjugaattigradienttialgoritmissa.)
Pienimmän asteen algoritmeja käytetään usein äärellisen elementin menetelmässä, jossa solmujen uudelleenjärjestäminen voidaan suorittaa vain verkon topologian mukaan osittaisen differentiaaliyhtälön kertoimien sijasta, mikä johtaa tehokkuussäästöihin, kun samaa verkkoa käytetään erilaisia kerroinarvoja.
Annetaan lineaarinen järjestelmä
missä A on todellinen symmetrinen harva neliömatriisi. Cholesky-tekijä L kärsii tyypillisesti "täyttymisestä", eli siinä on enemmän nollia kuin A: n yläkolmiossa . Etsimme permutaatiomatriisia P , jotta matriisilla , joka on myös symmetrinen, on mahdollisimman pieni täyttö Cholesky-tekijä. Ratkaisemme järjestetyn järjestelmän
Parhaan tilauksen löytämisongelma on NP-täydellinen ongelma, joten se on vaikea ratkaista, joten sen sijaan käytetään heuristisia menetelmiä. Minimiasteen algoritmi on johdettu menetelmästä, jonka Markowitz ehdotti ensimmäisen kerran vuonna 1959 ei-symmetrisille lineaarisille ohjelmointiongelmille , jota kuvataan löyhästi seuraavasti. Kussakin vaiheessa Gaussin eliminointiriviä ja sarakkeita permutaatiot suoritetaan minimoimaan poikittaislävistäjien nollien lukumäärä kääntörivillä ja sarakkeessa. Tinney ja Walker kuvasivat symmetrisen version Markowitz-menetelmästä vuonna 1967, ja Rose johti myöhemmin algoritmin graafisen teoreettisen version, jossa factoring on vain simuloitu, ja tämä nimettiin minimiasteen algoritmiksi. Viitattu kaavio on graafi, jossa on n kärkeä , ja pisteet i ja j on liitetty reunalla, kun ja aste on pisteiden aste. Keskeinen näkökohta tällaisissa algoritmeissa on tie break -strategia, kun on mahdollista valita sama numeroinen uudelleennumerointi.
Versio minimiasteen algoritmista toteutettiin MATLAB- funktiossa symmmd (missä MMD tarkoittaa monta minimiastetta), mutta nyt se on korvattu symmetrisellä likimääräisellä moninkertaisella minimiasteen funktion symamdilla , joka on nopeampi. Tämä on vahvistettu teoreettisen analyysin, joka osoittaa, että graafien n pisteiden ja m reunat, MMD on tiukka yläraja on sen ajoaika, kun taas AMD tiukka sidottu ja omistaa.
Viitteet
- Markowitz, HM (1957). "Käänteisen eliminointimuoto ja sen soveltaminen lineaariseen ohjelmointiin" . Johtamistiede . 3 (3): 255–269. doi : 10.1287 / mnsc.3.3.255 . JSTOR 2627454 .
- George, Alan; Liu, Joseph (1989). "Minimiasteen tilausalgoritmin kehitys". SIAM-arvostelu . 31 (1): 1–19. doi : 10.1137 / 1031001 . JSTOR 2030845 .
- Tinney, WF; Walker, JW (1967). "Harvojen verkkoyhtälöiden suora ratkaisu optimaalisesti järjestetyllä kolmiokertoimella". Proc. IEEE . 55 (11): 1801–1809. doi : 10.1109 / PROC.1967.6011 .
- Rose, DJ (1972). "Graafiteoreettinen tutkimus harvojen positiivisten määrättyjen lineaaristen yhtälöjärjestelmien numeerisesta ratkaisusta". Julkaisussa Read, RC (toim.). Graafiteoria ja laskenta . New York: Academic Press. s. 183–217. ISBN 0-12-583850-6.
- Heggernes, P .; Eisenstat, SC; Kumfert, G .; Pothen, A. (joulukuu 2001), Minimitutkintoalgoritmin laskennallinen monimutkaisuus (PDF) (tekninen raportti), Tieteen ja tekniikan tietotekniikan instituutti