Inhaltsverzeichnis
2.2. Zerlegen in Assur-Gruppen
Die Eigentlichkeit eines MTs lässt sich nach Abschnitt 2.1.2. an seiner Zusammensetzung aus AGn erkennen, daher kann auf dem Algorithmus aus dem vorigen Abschnitt aufgebaut werden. Allerdings ist eine Erweiterung notwendig, denn dieser findet in seiner bisherigen Form ja nur eine der zuletzt angefügten AGn. Entscheidend für die Eigentlichkeit ist aber, ob noch mindestens eine zweite solche existiert.
Zunächst lässt sich die bekannte Schleife verwenden, um alle Teilstrukturen zu finden, die die numerischen Eigenschaften einer AG besitzen:
für alle Teilmengen S von M\{Antrieb,Gestell} mit geradem 0<|S|<|M|-2 n' := |M\S| k' := Anzahl der inneren Gelenke von M\S falls 3(n'-1)-2k' = 1 dann S markieren |
Statt - wie bei der AGn-Zerlegung - einfach die Kleinste der gefundenen Teilstrukturen als sichere AG zu wählen, müssen diese hier auf ihre Beziehung hin untersucht werden. Auch bei einem eigentlichen MT sind es ja im Allgemeinen mehrere, denn nicht bei jeder handelt es sich um eine AG. Eigentlich ist der MT genau dann nicht, wenn zwei der markierten Teilmengen kein einziges Glied gemeinsam haben.
Doch selbst, wenn für diese Problem eine effiziente Lösung gefunden werden könnte, bliebe der Nachteil, dass alle 2**|M| Schleifendurchläufe absolviert werden müssen. Nach den Erkenntnissen aus dem letzten Abschnitt dürfte das im Durchschnitt mehr Zeit in Anspruch nehmen als eine komplette AGn-Zerlegung mittels des dort entwickelten Algorithmus in seiner letzten Form, der deshalb letztendlich doch vorzuziehen ist. Mit anderen Worten: Der Mehraufwand, der durch das Finden aller AGn statt nur der zuletzt angefügten entsteht, verschwindet im Vergleich zum Vorteil der schnellen Reduktion auf einen weniger komplexen Restmechanismus.
Um diesen Vorteil nutzen zu können, sind aber zusätzliche Informationen erforderlich, die während der Analyse gespeichert werden müssen. Sind alle AGn bekannt, an die andere AGn angehangen sind, so lässt sich die Eigentlichkeit des MTs einfach daran erkennen, dass darunter mehr als nur eine AG fehlt. Am einfachsten lässt sich diese Information gewinnen, wenn während der AGn-Zerlegung alle Glieder markiert werden, an die AGn angehangen sind - die zugehörigen AGn sind nach Abschluss der Zerlegung ja bekannt. Dazu müssen die AGn durchnumeriert werden. Am Ende wird die Menge der zuletzt anfügbaren Assur-Gruppen (im Folgenden mLetzteAssur genannt) bestimmt - enthält sie nur ein Element, ist der MT eigentlich.
nAssur := 0 MRest := M wiederhole gefundene AG A := keine für alle Teilmengen S von MRest\{Antrieb,Gestell} mit geradem 0<|S|<|MRest|-2 n' := |MRest\S| k' := Anzahl der inneren Gelenke von MRest\S falls 3(n'-1)-2k' = 1 und |S|<|A| dann A := S MRest := MRest\A für alle Glieder X aus A GliedAssurIndex[X] := nAssur für alle mit X verbundenen Glieder Y aus MRest markiere Glied Y nAssur := nAssur+1 bis |MRest| = 2 mLetzteAssur := {0..nAssur-1} für alle markierten Glieder X mLetzteAssur := mLetzteAssur\{GliedAssurIndex[X]} Eigentlichkeit := (|mLetzteAssur| = 1) |
2.4. Ausnutzen der Eigenschaften gemeinsamer kinematischer Ketten