Die Mathe-Redaktion - 18.06.2019 23:22 - Registrieren/Login
Auswahl
ListenpunktHome
ListenpunktAktuell und Interessant ai
ListenpunktArtikelübersicht/-suche
ListenpunktAlle Links / Mathe-Links
ListenpunktFach- & Sachbücher
ListenpunktMitglieder / Karte / Top 15
ListenpunktRegistrieren/Login
ListenpunktArbeitsgruppen
Listenpunkt? im neuen Schwätz
ListenpunktWerde Mathe-Millionär!
ListenpunktAnmeldung MPCT Sept.
ListenpunktFormeleditor fedgeo
Schwarzes Brett
Aktion im Forum
Suche
Stichwortsuche in Artikeln und Links von Matheplanet
Suchen im Forum
Suchtipps

Bücher
Englische Bücher
Software
Suchbegriffe:
Mathematik bei amazon
Naturwissenschaft & Technik
In Partnerschaft mit Amazon.de
Kontakt
Mail an Matroid
[Keine Übungsaufgaben!]
Impressum

Bitte beachten Sie unsere Nutzungsbedingungen, die Distanzierung, unsere Datenschutzerklärung und
die Forumregeln.

Sie können Mitglied werden. Mitglieder können den Matheplanet-Newsletter bestellen, der etwa alle 2 Monate erscheint.

Der Newsletter Okt. 2017

Für Mitglieder
Mathematisch für Anfänger
Wer ist Online
Aktuell sind 496 Gäste und 25 Mitglieder online.

Sie können Mitglied werden:
Klick hier.

Über Matheplanet
 
Zum letzten Themenfilter: Themenfilter:
Matroids Matheplanet Forum Index
Moderiert von matroid
Informatik » Algorithmen / Datenstrukturen » Optimale Bedingung das ein Matrixprodukt nicht null ist
Druckversion
Druckversion
Antworten
Antworten
Autor
Universität/Hochschule Optimale Bedingung das ein Matrixprodukt nicht null ist
Ta1sty
Junior Letzter Besuch: im letzten Monat
Dabei seit: 07.03.2019
Mitteilungen: 12
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Themenstart: 2019-05-20


moinsen,
in einer Übungsaufgabe benutzt ein vorgegebens programm eine Matrixmultiplikation, an sich ist das kein Problem damit wäre die aufgabe schon erledigt, aber ehrgeizig wie ich bin möchte ich die laufzeit optimieren.
Das Programm benutzt unter anderem 1246x1246 Matrizen
Deshalb kann eine abschnitt des Programmes wo die Matrizenmultiplikation benutzt wird schon mal 3,5 - 4 Minuten dauern. Dabei verwende ich den Standard Algorithmus.
Mein jetziges ziel ist die implementierung des Strassen Algorithmus.

So jetzt das problem: da ich mit arrays arbeite ist jeder rekursive schritt mit einer menge kopieraufwand verbunden, diesen möchte ich verringern in dem ich im vorhinein feststellen kann ob ich diesen schritt überspringen kann in dem ich eine bedinung erfülle die mir sagt ob ein matrixprodukt null ist, so muss ich den algorithmus nicht bis zur 1x1 matrix ausführen sondern kann direkt eine 0 Matrix zurückgeben.
Jetzt bin ich auf der suche nach einer Bedingung die sich eignet und eine bessere laufzeit als O(n^3) besitzt

So jetzt noch ein paar daten:
Für (2^x)x(2^x) eingabematrizen A,B muss ich jeweils 4 gleich große blockmatrizen erstellen, also n^2 kopierungen, dann muss ich für strassen diese matrizen addieren (insgesamt 6 Additionen und 4 subtraktionen) dann wäre ich schon bei 11*n^2 operationen und zu guter letzt noch die 7 Multiplikationen(strassen laufzeit + den kopieraufwand)

Jemand ne gute Idee?
Bisher habe ich nur den ansatzt das das produkt von A*B != 0 ist wenn es einen Eintrag a_rc(reihe,zeile) != 0 existiert und für diesen ein b in der zeile c (bestimmt durch a) welches != 0 ist, im worst case wenn die matrix a keine einträge = 0 hat und b die nullmatrix ist wäre die laufzeit n^3
Ich glaub es macht tatsächlich sinn nur zu überfprüfen ob eine der matrizen die 0 matrix ist(laufzeit 2n^2)



  Profil  Quote  Link auf diesen Beitrag Link
Ta1sty wird per Mail über neue Antworten informiert.
Neues Thema [Neues Thema] Antworten [Antworten]    Druckversion [Druckversion]

 


Wechsel in ein anderes Forum:
 Suchen    
 
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 2001-2019 by Matroids Matheplanet
This web site was made with PHP-Nuke, a web portal system written in PHP. PHP-Nuke is Free Software released under the GNU/GPL license.
Ich distanziere mich von rechtswidrigen oder anstößigen Inhalten, die sich trotz aufmerksamer Prüfung hinter hier verwendeten Links verbergen mögen.
Lesen Sie die Nutzungsbedingungen, die Distanzierung, die Datenschutzerklärung und das Impressum.
[Seitenanfang]