Matroids Matheplanet Forum Index
Moderiert von matroid
Kombinatorik & Graphentheorie » Graphentheorie » Iteration über Graphen
Druckversion
Druckversion
Antworten
Antworten
Autor
Kein bestimmter Bereich Iteration über Graphen
georgeboy
Junior Letzter Besuch: im letzten Quartal
Dabei seit: 28.01.2021
Mitteilungen: 5
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Themenstart: 2021-01-28


Hallo zusammen, ich habe einen gerichteten Graphen mit mehr als
106 Knoten, jeder Knoten ist mit einer Ganzzahl >= 0 versehen, und jeder Knoten hat ca 15 Kanten. Am Anfang haben alle Knoten den Wert 0, nur einer den Wert 1. Nun möchte ich folgenden Schritt mehrfach ausführen, etwa 100 Mal: Berechne den neuen Wert für alle Knoten, aus der Summe der Werte seiner Nachbarn. Da dies sehr ineffizient ist, suche ich nach einer Verbesserung. Vielleicht kann mir jemand helfen ...



Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
georgeboy
Junior Letzter Besuch: im letzten Quartal
Dabei seit: 28.01.2021
Mitteilungen: 5
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.1, vom Themenstarter, eingetragen 2021-01-28


Ich nochmals, nicht 106, sondern 1000000 Knoten !



Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
StrgAltEntf
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 19.01.2013
Mitteilungen: 6673
Herkunft: Milchstraße
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.2, eingetragen 2021-01-28


Hallo georgeboy,

in welcher Form ist denn der Graph gegeben? Als Adjazenzmatrix, als Adjazenzliste oder anders?

Wenn du sagst, dass es ineffizient und zu verbessern ist, wie hast du es denn bisher gemacht?



Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
georgeboy
Junior Letzter Besuch: im letzten Quartal
Dabei seit: 28.01.2021
Mitteilungen: 5
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.3, vom Themenstarter, eingetragen 2021-01-28


Das Vorhaben habe ich noch nicht realisiert, aufgrund der kleinen Anzahl von Kanten, eher als Adjazenz-Liste.



Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
georgeboy
Junior Letzter Besuch: im letzten Quartal
Dabei seit: 28.01.2021
Mitteilungen: 5
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.4, vom Themenstarter, eingetragen 2021-01-28


Bisher habe ich es als Brut-Force Methode gedacht: Alle Knoten und Kanten durchlaufen und die Summe bilden.



Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
StrgAltEntf
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 19.01.2013
Mitteilungen: 6673
Herkunft: Milchstraße
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.5, eingetragen 2021-01-28


2021-01-28 13:50 - georgeboy in Beitrag No. 4 schreibt:
Bisher habe ich es als Brut-Force Methode gedacht: Alle Knoten und Kanten durchlaufen und die Summe bilden.

So würde ich es ja auch machen. 100 Mal 15 Mio Additionen sollten doch möglich sein. Ich wüsste nicht, wie man das großartig abkürzen könnte, solange man nicht eine bestimmte Struktur des Graphen ausnutzen kann.



Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
georgeboy
Junior Letzter Besuch: im letzten Quartal
Dabei seit: 28.01.2021
Mitteilungen: 5
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.6, vom Themenstarter, eingetragen 2021-01-28


100 * 15 Mio sind 1.5 Mrd. In einer Sekunde macht ein PC 300 Mio Maschinenbefehle. Das braucht viel Zeit. Es kommt wohl auf die Besonderheiten der Grapherstellung an. Einen allgemeinen effizienten Algorithmus gibt es dafür wohl nicht. Trotzdem Danke !



Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
Folgende Antworten hat der Fragesteller vermutlich noch nicht gesehen.
Er/sie war noch nicht wieder auf dem Matheplaneten
StrgAltEntf
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 19.01.2013
Mitteilungen: 6673
Herkunft: Milchstraße
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.7, eingetragen 2021-01-28


2021-01-28 16:03 - georgeboy in Beitrag No. 6 schreibt:
100 * 15 Mio sind 1.5 Mrd. In einer Sekunde macht ein PC 300 Mio Maschinenbefehle. Das braucht viel Zeit. Es kommt wohl auf die Besonderheiten der Grapherstellung an. Einen allgemeinen effizienten Algorithmus gibt es dafür wohl nicht. Trotzdem Danke !

Kommt drauf an, was du unter effizient verstehst. Hier ist die Laufzeit wohl weniger als eine Minute.

Bei Brute-Force denke ich immer an exponentielle Laufzeit. Hier ist die Laufzeit aber linear.



Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
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-2021 by Matroids Matheplanet
This web site was originally made with PHP-Nuke, a former web portal system written in PHP that seems no longer to be maintained nor supported. 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]