beim CTL-Modelchecking interessierten uns nicht triviale Finale, Terminale auch genannt.
Strenge Zusammenhangskomponenten. Und da sieht man, dieser große Block,
da waren eine ganze Menge Zustände drin, das ist also nicht trivial.
Und es ist eine Terminale, strenge Zusammenhangskomponente,
da komme ich nicht mehr raus. Genau siehe unten,
das ist auch eine Terminale, strenge Zusammenhangskomponente, wo man mal guckt,
dieser Block in der Mitte, das ist auch eine strenge Zusammenhangskomponente,
ist aber nur ein Zustand drin und keine Selbstschleife.
Wenn strenge Zusammenhangskomponenten nur einen einzigen Knoten enthalten, einen Zustand,
nochmal hier reingucken, dann sieht man eben ohne Schleife daran,
ist das eben als trivial zu bezeichnen.
Ganz unten rechts ist dann eben auch ein Triviale, aber Terminale.
Die ist beides, sowohl trivial als auch Terminal. Gut,
das kann man jetzt noch nachziehen an dieser Stelle,
ist aber eigentlich nur in die Wiederholung.
Wir wissen ja schon, was strenge Zusammenhangskomponenten sind.
Wir wissen auch, wann sie trivial sind. Trivial,
wenn sie nur aus einem Knoten und ohne Selbstschleife bestehen.
Und nun interessieren uns jetzt die terminalen Strengen Zusammenhangskomponenten.
Das Glückliche an der Sache ist, die kann man
relativ effizient berechnen
Nämlich in der Zeitkomplexität, die linear wächst, mit der Anzahl
der Knotenanzahl erkannten. Weil ich im Wesentlichen alles einmal anfasse,
was in diesem Graphen passiert, also nicht einmal,
sondern eine endliche Anzahl oft. Das heißt,
wenn ich den Graphen erstmal aufgebaut habe im Speicher,
dann habe ich ja schon mal alle Knoten und Kanten einmal hingeschrieben,
da habe ich also schon mal O von Betrag von V plus Betrag von E viel Zeit und Speicherplatz gerade benutzt.
Wenn ich mir also die strengen Zusammenhangskomponenten jetzt berechne,
brauche ich genauso viel nochmal Zeit,
also genauso viel im Sinne der U-Notation, wenn ich die Konstanten nicht betrachte.
Das heißt, insgesamt beide Schritte zusammenbrauchen, wiederofern,
V plus E, viel Zeit im Platz.
In der U-Notation wird man sagen, das berechnet streng Zusammenhangskomponenten kostet also gar nichts.
Das kann ich mir nicht mehr sehen, verschwindet in der konstanten,
die ich in der O-Notation verberge. So,
das ist das Gute, das ist das Glückliche,
wenn ich schon so viel Zeit investiert habe,
dass ich den Grafen habe, dann ist das Berechnen der strengen Zusammenhangskomponenten auch nicht mehr schlimm. Gut,
den reduzierten Graf kennen wir im Prinzip auch, ein Graf,
den bekomme ich aus dem Erreichbarkeitsgrafen,
in dem ich jetzt als Knotenmenge die Menge aller Strengen Zusammenhangskomponenten C1 bis CR nehme und als Kanten nämlich das,
was sie eben angedeutet hatte in der Skizze,
ich sage von einer strengen Zusammenhangskomponente CI komme ich mit Tee zu der strengen Zusammenhangskomponente CJ,
genau dann, wenn es eine Kante vorher gab von MIT nach MJ,
Strich,
und das MI liegt eben in CI und das MJ Strich
liegt eben in CJ und das sind jetzt verschiedene Stränge Zusammenhangskomponenten
Dadurch, dass ich fordere, dass CI-Ungleich CJ ist,
ist der reduzierte Grab auf jeden Fall schleifenfrei.
Hat also nur noch gerichtete Kanten, keine Schleifen. So,
und die erste Feststellung, die wir treffen können, ist,
dass die Knotenmengen verschiedener Strengen Zusammenhangskomponenten ja des jungt sind.
Das heißt, das führt dazu, dass wir eindeutige Knotenmengen
an dieser Stelle haben. Gut, das ist klar,
werden sie nicht es jungt, hätte ich zwei Zusammenhangskomponenten,
die sich mindestens an einem Knoten überschneiden.
Das hieße ja, ich komme ja von diesem Knoten
zu jedem anderen
Aber auch zu jedem anderen in anderen strengen Zusammenhangsbereich.
Da bin ich aber wunderbar die Möglichkeit,
in beiden jeweils jeden zu erreichen, nämlich da durchlaufe.
Das heißt, eigentlich wären dann die Vereinigung dieser beiden strengen Zusammenhangskomponenten ein.
Das kann aber nicht sein. Da hätte ich sie ja
echt größer gemacht. Gut,
also weiß ich schon mal, die sind desjung,
das habe ich hier implizit in diese Definition hineingenommen,
dass mein Graf komplett zerfällt, in strenge Zusammenhangskomponenten.
Alle strenge Zusammenhangskomponenten sind es jung und zusammengenommen
ergeben sie alle Knoten,
die ich vorher hatte
Und das Nächste nicht ganz so triviale ist,
was ich da bekomme als Graf, dieser reduzierte Graf,
RGC von N, ist eine Art zyklische Struktur.
Ja, nicht unbedingt ein Baum, dann haben wir eben ein Beispiel gehabt,
das war kein Baum, aber es gibt keine Zyklen.
Dann gäbe es einen Zyklus irgendwie drin, durch strenge Zusammenhangskomponenten,
dann könnte ich alle diese strengen Zusammenhangskomponenten zu einer größeren zusammenfassen.
Und das kann ja auch nicht sein,
wenn ich schon starke habe. Also was da rauskommt,
das weiß ich, das hat keine Schleifen der Länge
eins oder größer
Sowas mache ich damit, jetzt formuliere ich einen Algorithmus,
um die im Varianzeigenschaft zu entscheiden.
Und es ist relativ ähnlich zum Algorithmus, der die EG-Eigenschaft,
also es gibt einen Pfad, auf dem immer gilt, entscheidet.
Wir nehmen an, wir haben den Erreichbarkeitsgrafen RG von N und M.0
schon gegeben und eine Lebendigkeitsinn-Varianzeigenschaft. Und wir wollen Schuh zurückgeben,
falls die Eigenschaft Pia erfüllt ist und Falls andernfalls.
Und im ersten Schritt berechnen wir die strengen Zusammenhangskomponenten C1 bis CR,
berechnen dann den reduzierten Grafen, in dem wir Die strengen
Zusammenhangskomponenten als Knoten nehmen und wie oben definiert die Kantenmenge definieren.
Und jetzt überprüfe ich einfach noch,
ob in diesem reduzierten Graphen Kanten rausgehen aus einem Knoten.
Das heißt, ich frage mich, gibt es Kanten,
die aus einer strengen Zusammenhangskomponente rausführen?
Wenn da Kanten rausführen, ist sie nicht terminal,
wenn keine Kanten mehr rausführen, ist es eine terminale,
strenge Zusammenhangskomponente.
Das frage ich mich jetzt für jede strenge Zusammenhangskomponente
genau einmal und sammle alle Terminalen in der Menge
Das mache ich folgendes, ich betrachte jetzt nur noch
die strengen Zusammenhangskomponenten, CI, die Terminal sind.
Und für jede strenge Zusammenhangskomponente überprüfe ich, unabhängig,
ob es da drin eine Markierung im Strich gibt,
die die Eigenschaft PI erfüllt.
Wenn es keine solche Markierung gibt, dann sage ich,
falls, ansonsten markiere ich diese CI als erledigt und fahre mit den anderen fort.
Das heißt, ich komme zur letzten Zeile 5,
wo ich wahr zurückgebe, genau dann,
wenn in allen Terminalen strengen Zusammenhangskomponenten immer eine Markierung im Strich
war,
die die Eigenschaft PI erfüllt
Ich teste also die Eigenschaft in Pi in allen Terminal in strengen Zusammenhangskomponenten.
Warum ist das sinnvoll, dass nur in den Terminalen zu machen?
Ja, ich frage mich ja immer für alle erreichbaren Markierungen.
Gibt es eine erreichbare? Für alle M existiert ein M-Strich
. So sieht die Eigenschaft Pi aus. Bin ich jetzt
das überprüfen möchte? Ja, was kann das heißen?
Eine erreichbare Markierung kann entweder in einer Terminalen strengen Zusammenhangskomponente sein,
dann weiß ich schon, da komme ich nicht wieder raus.
So, das heißt, wenn die Eigenschaft gelten soll,
und ich komme ja immer in allen Terminalen da irgendwie rein,
dann muss auch die Eigenschaft dort irgendwie gelten.
Da kann ich lokal gucken, da ich da eh nicht mehr rauskomme,
woanders kann es nicht mehr erfüllt werden für mich.
Es muss also schon in der Terminalen gelten.
Und damit verschenke ich auch nicht viel,
denn wenn ich eine andere erreichbare Markierung nehme und in allen Terminalen gilt das,
naja,
von jeder anderen Markierung komme ich auf jeden Fall
in die Terminal
Und wenn ich eine Nicht-Terminale streng Zusammenhangskomponente habe und ich habe einen arzyklischen Grafen,
dann bleibt mir wohl nichts anderes übrig, als in irgendeine Terminale zu wandern.
Und da gilt die Eigenschaft. Es schadet nicht,
wenn sie Eigenschaft woanders auch noch gilt.
Aber mehr als in allen Terminalen brauche ich nicht.
Und das ist auch das Minimum, was ich haben muss.
Ich brauche das, das ist in allen Terminalen gilt.
So, das ist also eine notwendige und hinreichende Bedingung.
Gültigkeit in den Terminal. Wenn wir uns das an dem Beispiel anschauen,
hier ist dieser dieses unübersichtliche Meditationsnetz mit seinem Erreichbarkeitsgrafen,
da sehen wir, das ist gerade so gestrickt,
es ist nicht reversibel, die Initialmarkierung ist nämlich nicht erreichbar,
sondern das ist ein großer Knoten links,
großer Knoten rechts und die Anfangsmarkierung bildet ihre eigene Strenge Zusammenhangskomponente.
Das ist auch die einzige Nicht-Terminale, die anderen beiden Großen
sind Terminal, C2 und C3 sind also die Terminalen.
Und jetzt wollen wir überprüfen, gilt für alle M,
so jetzt, meinetwegen auch für alle Tee,
dass jetzt immer eine Markierung MT existiert,
sodass die Transition teaktiviert ist
Dass für alle kann ich davor schieben,
dann müsste ich den Algorithmus für jede Transition Tee einmal anwerfen.
Gut. Wenn ich eine feste Transition rauspicke,
dann ist das sehr einfach, dann muss die Aktivierungsbedingung,
es muss eine Markierung geben, Tee, die genügend Marken hat,
um Tee zu aktivieren.
Das ist in diesem Fall sehr einfach zu sehen,
dann gibst du mich auch eine Kante im Erreichbarkeitsgrafen.
Wenn genügend Marken da sind, dann kann sie schalten im Erreichbarkeitsgraf,
sieht man dann irgendwo eine ausgehende Kante,
die mit Tee beschriftet ist
Und wenn man jetzt nicht diese beiden terminalen strengen Zusammenhangskomponenten anschaut,
nochmal einmal ein bisschen größer, damit man feststellen durch braves Durchprobieren,
in der Linken kommen alle Transitionen T1,
bis T8 vor und in der Rechten auch.
Da könnt ihr jetzt nachprüfen oder mir glauben, also in Beinen
Komponenten kommen sie alle vor. Das bedeutet, im Umkehrschluss
alle Transitionen sind lebendig. Das kann man sich nochmal klar machen,
wenn ich irgendwie eine erreichbare Markierung habe, Naja,
dann ist es entweder die Startmarkierung.
Und da ist jetzt meine Aufgabe, irgendeine Transition zum Schalten zu bringen.
Da kann ich nicht so viel falsch machen.
Ich gehe mal in eine Terminale, meinetwegen in die Linke.
Und in der Linken habe ich immer die Chance,
eine beliebige Transition zum Schalten zu bringen.
Super. Oder ich gehe in die Rechte,
da kann ich auch nichts falsch machen, da sind auch alle da.
Und dann die anderen Möglichkeiten sind,
ich bin in einer der Terminalen, strengen Zusammenhangskomponenten,
meinetwegen, ich bin im C2. Ja,
da muss ich jetzt auch wieder das Ganze zum Schalten,
bring irgendeine Transition Tee
Da das aber eine strenge Zusammenhangskomponente ist, weiß ich,
jeder Knoten kann da jeden anderen erreichen.
Also reicht mir das Wissen, dass es überhaupt eine Kante,
die mit Tee beschriftet ist, in dieser strengen Zusammenhangskomponente vorkommt.
Irgendwie gibst du einen Pfad hin und dann kann ich Tee schalten.
Die gleiche Argumentation gilt auch für die rechte Seite.
Das heißt, intuitiv, was haben wir gerade so ein
bisschen bewiesen, folgendes Lämmer. Wir haben bewiesen,
dass eine Transition Tee eines Netz-Systems genau dann lebendig ist,
wenn Tee als Anschrift in jeder Terminalen strengen Zusammenhangskomponente des reduzierten Grafen,
des Netzes vorkommt.
So, was müssen wir jetzt tun, um das zu beweisen?
Am besten so zwei Implikationen. Wir nehmen mal an,
Tee kommt als Anschrift in jeder Terminalen strengen Zusammenhangskomponente vor.
Wir müssen dann zeigen, dass Tee auch lebendig ist.
Gut, was ist die erste Feststellung? Wir nehmen erst
mal an, wir haben einen beliebigen, erreichbaren Zustand.
Wir wissen, von diesem komme ich stets in irgendeine Terminale
strengen Zusammenhangskomponente.
Kann gar nicht
anders sein
Denn entweder bin ich schon drin oder nach Definition bin ich
in einer Nicht-Terminal und da komme ich dann irgendwie raus.
Aus Nicht-Terminalen komme ich raus, aus Terminalen nicht, das heißt,
ich komme immer zu Terminalen. So da ich jetzt aber weiß,
Tee kommt als Anschrift da drin vor, weiß ich,
ich kann Tee auch aktivieren. Es gibt jetzt eine Schaltfolge,
wenn ich in dieser strengen Zusammenkunft Komponente bin,
kann ich irgendwo hinkommen, wo diese Kante ist,
die mit Tee beschriftet ist,
die hängt einer Markierung dran,
zu der kann ich kommen und das ist dann
die Markierung am Strich,
die teaktiviert
Und da ich angenommen habe, dass M ein beliebiger Zustand ist,
habe ich jetzt immer im Plizit gesagt,
naja, dann kann ich Tee zum Schalten bringen.
Also weiß ich jetzt, Tee ist lebendig. Gut,
das war die eine Richtung. Die Umkehrung ist,
Ventil lebendig ist, muss ich zeigen,
dass dann dieses Tee in jeder strengen Zusammenhangskomponente vorkommt.
Gut, wir wissen, Tee ist lebendig.
Dann machen wir was Folgendes, wir nehmen an von M0,
da kommen wir in eine strenge Zusammenhangskomponente C,
in Terminale auch.
Da wollen wir mal hin
Und jetzt weiß ich, keine Schaltfolge, die in C beginnt,
kommt jemals aus C raus. Da ich aber weiß,
dass Tee lebendig ist, ich aber nicht rauskomme,
muss es ja eine Markierung M in dieser strengen Zusammenhangskomponente C geben,
die Tee aktiviert.
Markierung außerhalb kann ich nicht mehr erreichen,
also muss sie innerhalb eine Markierung M geben, die teaktiviert.
Weil ich ja schon weiß, dass Tee lebendig ist,
das war die Voraussetzung. Gut,
da die Eigenschaft jetzt aber für jede terminale strengen Zusammenhangskomponente gilt,
weiß ich,
sie gilt für alle Termine
Denn von M0 habe ich die Möglichkeit, alle Terminalen zu erreichen.
Damit weiß ich jetzt, aha,
in allen terminalen Strängen Zusammenhangskomponenten kommt T als Anschrift vor.
Fertig. Wenn man sich das hier nochmal anschaut,
wir nehmen mal an, wir interessieren uns für die Transition Tee,
dann sieht man, aha, in der oberen Terminalen
Zusammenhangskomponente kommt Tee jetzt vor, anerkannten Anschrift.
Ziemlich weit rechts. In der strengen Zusammenhangskomponente,
die den Initialknoten enthält, kommt es nicht vor,
das macht aber auch nichts,
das ist ja nicht terminal
Der mittlere Knoten, etwas größeren Head-Tee, nützt aber nichts.
Denn die ganz unten, die Stränge, Zusammenhangskomponente,
die ist Terminal enthält, aber Tee nicht mehr als Anschrift.
Wenn wir uns jetzt also fragen, ist Tee lebendig,
dann sehen sofort an der Stelle da unten haben wir das Problem.
Da in der letzten terminalen, strengen Zusammenhangskomponente, da können wir hinkommen.
Das ist eine erweichbare Markierung. Wenn wir erstmal bei einer
von diesen drei Markierungen da ganz unten angelangt sind,
dann haben wir nie wieder die Chance,
die Transition zu aktivieren
Besser wäre das, wenn da unten die Transition Tee zum Beispiel
dran stünde, in irgendeiner der Kanten, das wird reichen.
Wenn das vorkäme an dieser Stelle, da hatte ich die Eigenschaft,
das in allen Terminalen strengen Zusammenhangskomponenten,
jetzt das Tee vorkommt und dann wüsste ich, aha,
diese Transition Tee ist lebendig.
Könnte ich sogar das mittlere Tee wegstreichen, das brauche ich gar nicht.
Das ist zwar okay, dass es da ist,
stört nicht, aber muss nicht sein.
Gut, das kann ich alles machen,
wenn ich ein beschränktes Netz habe,
dann kann ich diese beiden Typen von
Markierungs- und Lebendigkeitshund-Varianzeigenschaften überprüfen
Die nächste Frage ist jetzt, was ist, wenn ich ein beliebiges Netz habe,
das nicht beschränkt ist oder ich noch nicht mal weiß,
ist es beschränkt oder nicht.
Ja, also ich gehe mal davon aus, irgendein Netz,
komm rein, ich weiß nicht, ist es beschränkt oder nicht.
Der Algorithmus, den wir haben, der ist schon wenigstens so nett,
wenn er den Erreichbarkeitsgrafen aufbaut, sobald er merkt,
es ist unbeschränkt und er merkt das immer, dann bricht er ab.
Das ist ja schon mal ganz nett zur Termination,
aber wir wüssten eigentlich jetzt ganz gerne,
da haben wir ja nur ein Anfangsstück, des Erreichbarkeitsgrafen.
So, wenn ich diese zwei Markierungen habe und die Schaltfolge Sigma führt dazu,
dass ich eine echt größere Markierung mit M2 erreicht habe,
dann weiß ich, ich kann diese Schaltfolge Sigma immer und immer wieder schalten.
Hatten uns klargemacht, wenn ich das immer und immer wieder tue,
dann habe ich mindestens einen Platz, der echt anwächst.
Und ich kann auf diesem Platz mir also beliebig viele Marken anhäufen.
So, und jetzt ist es folgendes, wenn ich weiß,
ich kann da beliebig viele Marken anhäufen. Also unbeschränkt,
dann spielen wir jetzt mal, wünsch dir was und wünsch dir,
was heißt, Wenn ich solche Situationen stattfinde, dann sagt der Algorithmus,
ab jetzt interessiert mich gar nicht mehr, wie viele Marken da liegen.
Ich gehe mal davon aus, da liegen jetzt so viele
Marken, wie ich mir gewünscht habe.
Wie viele möchte ich mir gar nicht mehr merken? Also wenn ich hier hochgehe,
M im Strich im 2, M3 Strich, die Plätze,
wo das immer weiter wächst, da sage ich jetzt,
naja, angenommen, ich brauchte eine Million Marken auf diesem Platz.
Na gut, es dauert lange, dann schalte ich eine Million Mal Sigma,
dann habe ich da auf jeden Fall genug mal.
Und da ich da so viele, wie ich mir wünsche,
im Prinzip hinlegen kann, sagt man jetzt,
Wir schreiben da, so viel ich haben will hin.
So viel ich haben will, dafür haben wir jetzt ein
neues Symbol, Omega. Sollte man nicht ganz als unendlich lesen,
Omega ist ja auch ein Zeichen von endlich viele.
Das heißt nur, ich kann mir beliebig viele Marken da drauf generieren.
Also wenn man es als beliebig viel spricht,
das ist ganz okay, wenn auf einem Platz MP Omega viele Marken liegen,
dann ich weiß ja nur, an dieser Stelle,
wenn die aufgetreten ist, das kann ich alles wunderbar hochschrauben über jede Hürde.
Natürlich kann ich nicht unendlich viele Marken darauf legen
Wir rechnen jetzt aber so, als wäre das unendlich.
Wir nehmen jetzt die natürlichen Zahlen Index Omega,
als natürliche Zahlen, vereinigt mit diesem neuen Element Omega.
Ja, und haben jetzt folgende Rechenregeln in Zukunft.
Omega ist größer als jede natürliche Zahl.
Und wenn wir zu einer beliebig großen Zahl oder unendlich
etwas dazu addieren oder etwas subtrahieren, was endlich ist,
dann ändert das nichts.
Also Omega plus N oder Omega
Verändert das nicht. Kommt Omega raus. Also sprich,
wenn ich schon beliebig viele Marken habe und davon jetzt welche wegnehme,
dann tun wir so, als wären dann noch eigentlich genauso viele.
Also immer noch beliebig viele. Da steckt so ein bisschen das Problem dahinter.
Deswegen klappt das nicht so hundertprozentig, genau mit dieser Intuition.
Natürlich kann ich von beliebig, aber endlich vielen Marken,
nur endlich lange, endlich viel was wegnehmen.
Aber für jede denkbare Zahl von Sachen, die ich wegnehmen will,
kann ich Vorsorge treffen, um das beliebig hochschrauben.
Also das Zweite davor ist da
Natürlich ist Vater, dass der Paniker geworden ist.
Oder der lohnt uns. Omega, mit uns, Omega
, der Komiker. Ja, das sollte man besser nicht
so machen. Also wir werden es Arnie brauchen.
Wir können auch in der zweiten Zeile nur natürliche Zahlen haben.
Und endlich plus unendlich, ist unendlich, unendlich minus und endlich,
A, wir werden es nicht brauchen.
Und zweitens, naja, was da rauskommt,
kann ich mir mehr oder weniger erstmal frei definieren.
Das ist ja eine Definition. So,
was machen wir denn noch hin und wieder multiplizieren wir das?
Ein paar Mal Omega, ist immer noch Omega,
null mal Omegas, null aber. Ja, müssen wir
auch definieren. Null mal etwas beliebig Großes ist null.
Für beliebig große Zahlen macht das Sinn. Man hat null
mal beliebig groß, ist immer noch null. So,
und jetzt kann ich für Vektoren das ganze Komponentenweise machen und
ich kann das auch für Vektoren über einen Omega,
kann ich das auch machen.
Brauchen wir nicht
Ja, aber das Einzige, was wir machen wollen,
wir wollen ja schalten. Wir wollen schalten. Schalten bedeutet,
paar Marken dazu, paar Marken weg. Und zwar immer
nur endlich viele. Wir machen damit nicht lineare Algebra,
sondern in jeder Komponente ein bisschen was rauf oder was runter.
Von daher könnte man jetzt drüber nachdenken,
will ich gerade nicht, weil ich es nicht muss.
Wenn ich das gemacht habe, dann sage ich jetzt,
ich habe eine Pseudomarkierung, die liegt auf jeden Platz,
entweder eine endliche Anzahl von Marken sowie gehabt oder dieses Omega
Und da ich ja Größenvergleich für Omega definiert habe,
kann ich auch die Schaltregel für diese Pseudomarkierung definieren.
Muss ich gar nichts ändern. Ich musste nur das syntaktisch übernehmen und sagen,
wenn da auf der aktuellen Markierung mindestens so viele Marken liegen,
wie ich brauche für das Kantengewicht.
Naja, das ist für Omega nicht so schwer.
Omega ist größer als jede natürliche Zahl. Das heißt größer
als jedes Kantengewicht. Wenn es mir also um die Aktivierungsbedingungen geht,
dann muss ich die Plätze, auf denen Omega draufliegt,
gar nicht mehr berücksichtigen. Interessant sind also nur Markierungen,
die endlich markiert sind, also mit einer richtigen natürlichen Zahl.
Die Omega-Plätze enthalten ja ebelig viele Marken, die könnte ich also ignorieren.
Die können mir also Aktivierungsbedingungen schon mal nicht mehr kaputt machen.
Eine Transition, bei der alle Plätze im Vorbereich Omega
als Markierung haben, die ist auf jeden Fall aktiviert.
Wenn das Netz irgendwann auf allen Plätzen Omega hat, ist alles aktiv.
Naja, und dann kann ich noch mal gucken,
Das Gleiche kann ich auch mit Vektoren machen.
Also wenn ich weiß, jede natürliche Zahl ist kleiner als Omega,
dann kann sich das auch auf Markierung erweitern,
indem ich das komponentenweise definiere.
Also zwei Pseudomarkierungen, M1M2 sind komponentenweise kleiner,
also M1 von P ist kleiner gleich M2 von P,
der nennt nicht diese beiden Pseudomarkierungen kleiner gleich.
Formal hat sich da gar nichts geändert,
sieht genauso aus wie vorher. Das liegt nur daran,
dass wir jetzt beim Kleiner gleich vorher was gedreht hatten.
M1 von P oder M2 von P,
beide könnten Omega sein,
aber für die ist eben kleiner und kleiner
gleich auch definiert
Und die strikte Ordnung M1, kleiner M2,
also ich schreibe das lieber als M1,
kleiner, und dann ein durchgestrichenes Gleichheitszeichen darunter, M2.
Das steht halt dafür, dass M1,
kleiner gleich M2 ist, aber sie nicht identisch sind.
Und wenn man das so macht,
dann sieht man eben, hier sind zwei Pseudomarkierungen angegeben,
die Linke ist sogar eine echte Markierung,
0201. Und das ist kleiner gleich, sogar echt kleiner als 0 Omega
2. Denn Omega ist echt größer als
So ein Tick anders haben wir hier, noch ein bisschen,
das Gleich darf ich auch deswegen streichen,
weil ich mindestens eine Position gefunden habe,
in diesem Fall sogar zwei, wo Gleichheit eben nicht gibt.
So was machen wir jetzt? Wir haben diese Idee,
wir wollen jetzt das Kriterium, das zum Abbruch beim Erreichbarkeitsgafen führt,
nämlich das Auffinden einer echt größeren Markierung.
Das wollen wir jetzt systematisch betreiben. Wir brechen jetzt nicht
ab, sondern sagen, aha,
das ist interessant
Wir machen jetzt folgende Situation. Wir stellen uns vor,
wir sind gerade bis zu diesem M gekommen.
Das ist eine Pseudomarkierung im Zweifelsfall. Oder erstmal eine normale Markierung. Und stellen jetzt fest,
wir schalten zu einem M-Strich und das M-Strich,
ganz unten ist es angegeben als 1, 2,
1, 3. Und jetzt gucken wir mal rückwärts,
welche Markierungen sind davor,
die die Eigenschaft haben,
echt kleiner zu sein
Und da haben wir so ein paar überlaufen, die es eben nicht sind.
Und jetzt sind es Exemplare drei Stück herausgegriffen, M1,
zwei Strich, im Zwei-Doppelstrich und im Drei-Doppelstrich.
Das sind alles drei Markierungen, die die Eigenschaft haben.
Sie sind kleiner als im Strich. Ja,
0,01,3. Ist in den ersten beiden Komponenten echt kleiner und bei
den Komponenten drei und vier ist es gleich.
1,1,1,3, also M1-Doppelstrich, ist auch echt kleiner.
Denn in der zweiten Komponente steht eine 1,
das ist echt kleiner als zwei
Und dennoch M3-Doppelstrich, da sind die ersten beiden Komponenten,
nee, die ersten drei Komponenten gleich,
aber eins ist eben kleiner als drei in der letzten.
So, die packe ich jetzt alle zusammen. Ich sage jetzt,
alle Markierungen M2-Strich, die genau diese Eigenschaft haben,
sie sind kleiner, war ungleiches, sollte es sein,
als im Strich, und ich komme von diesem M2-Strich zu M.
Das heißt, alle Vorgänger M2-Strich, die kleiner sind,
die interessieren mich jetzt gerade, und x von M-Strich
bezeichnet jetzt die Menge aller dieser Markierung, die kleinern wird.
Was mache ich jetzt mit diesen kleineren Vorgängern? Ich gucke jetzt
nach, in welchen Komponenten sind die kleiner? Denn ich sage,
naja, wenn ich ein paar Vorgänge habe,
dann ist es doch sinnvoll, in allen Komponenten,
wo ich eine echte Vergrößerung habe, da jetzt mal zu sagen,
naja, das kann ich beliebig häufig wiederholen,
dann zum Beispiel,
wenn ich von der ersten Komponente mal gucke,
warum ist die Omega
Das liegt schlichtweg daran, dass es mit dieser Markierung M2-Doppelstrich
die Möglichkeit gibt, das immer und wieder zu schalten.
Also die Schaltfolge, die mich von M2-Doppelstrich zu M-Strich führt,
die kann ich wiederholen, wiederholen, wiederholen.
Und auf der ersten Komponente, da wächst die Markenanzahl beliebig groß an.
Und deswegen schreibe ich an diese Stelle in Omega.
Und die zweite Komponente, da schreibe ich in Omega hin,
weil der gleiche Vektor eben auch an dieser Stelle echt kleiner ist.
Bei denen weiß ich also, a,
beide werden
Liebe ich groß, wenn ich diese Schaltfolge erhöhe. Das heißt,
diese Schaltfolge von M2-Doppelstrich zu einem Strich führt dazu,
dass die beiden sogar simultan bei dem durchlaufen wachsen.
Und dann habe ich hier noch einen zweiten,
der wird das auch. Also ich würde sogar sehen,
beim Durchlaufen muss das also an verschiedenen Stellen größer werden.
Das schadet aber nicht. Und die letzte Komponente sehe ich
eben daran, dass M3-Doppelstrich in der Komponente kleine ist
Das heißt, ich könnte auch alternativ von einem Strich ja
die Schaltfolge nicht ganz rechts gehen kann, wiederholen.
Oder ich mache folgendes, ich wiederhole einfach hintereinander alle Schaltfolgen,
die da so da sind. Also erst Sigma 2,
dann Sigma 1, dann Sigma 3 und dann immer wieder.
Und diese Schaltfolge liegt alle repetieren kann,
weil alle Markierungen sind ja größer geworden.
Zumindest nicht kleiner in allen Komponenten. Dadurch kann ich simultan
diese drei markierten Komponenten auf jeden beliebigen Wert bringen
Oder über jede beliebige Schranke heben. Aber wachsen manche schneller,
weil das ein größerer Anwachs ist, zum Beispiel,
wenn ich das vergleiche,
M3-Doppelstrich hat da ein Eins und am Strich halt eine Drei,
da kriege ich auf diesem Pfad ganz rechts immer einen Gewinn von zwei.
Auf dem anderen Pfad kriege ich für einen anderen Platz vielleicht
nur einen Gewinn von eins. Ist mir aber egal,
denn egal welche Schranke ich mir so vorstelle,
also wenn ich sage, ich habe die Schranke X,
dann weiß ich, naja,
spätestens nachdem ich alle Transitionen jeweils x-mal geschaltet habe,
sind alle diese Plätze über die Schranken gehoben worden.
Dann hat jeder
mindestens den Wert
So kann ich mir also das Omega vorstellen. Für jede natürliche Zahl,
die ich mir denken kann, kann ich Schaltfolgen finden,
die die Omega-Komponenten auf einen Wert größer als dieses X setzen.
Wir haben also jetzt alle mal, in der Markierung
alle Plätze vorgehoben, deren Markenzahl wir beliebig hochpumpen können.
Und diese Idee des Rückwärtssuchen,
packen wir jetzt rein in die Konstruktion des sogenannten Überdeckungsgrafen.
Das funktioniert eigentlich genauso wie der Erreichbarkeitsgraf
Nur mit dieser kleinen Modifikation, dass ich solche Omega-Komponenten hinzufüge.
Die Markierung des Überdeckungsgrafs sind also keine Markierung mehr,
sondern da ich damit jetzt weiterarbeiten werde mit diesem Omega-Omega-1-Omega,
da lasse ich Pseudomarkierung umschalten.
Das heißt, der Überdeckungsgraf hat als Knoten Pseudomarkierung.
Wie konstruiere ich mich? Ich habe ein PT-Netz als Eingabe
und gebe einen Grafen zurück mit Knotenmenge Frau und Kantmenge
Und wieder fange ich so an, dass ich sage,
am Anfang ist der einzige Knoten, den ich kenne,
der initiale Knoten, Kanten habe ich noch gar nicht.
Nur M0 ist da. Der nächste Schritt ist M0,
den betrachte ich als ungefärbten Knoten und jetzt wiederhole ich
die Prozedur im folgenden, für alle ungefärbten Knoten.
Zwischendurch generiere ich mal im Zweifelsfall ein paar neue ungefärbte,
die ich noch behandeln muss.
Ich nehme einen ungefärbten Knoten und färbe ihn.
Und in diesem Knoten betrachte ich jetzt alle aktivierten Transitionen.
Das heißt, in den ersten Schritten M0 habe ich noch
normale Markierungen
Aber im ersten Durchgang sind da ja nur endliche Werte drin.
Und jetzt passiert Folgendes, ich nehme jetzt das M-Strich,
das berechne ich als Nachfolge, Markierung von M bezüglich Tee.
Und dann berechne ich wie eben die Menge X von M-Strich.
Und jetzt modifiziere ich die Markierung M-Strich,
indem ich erstmal schaue, gibt es Markierung,
die echt kleiner sind
als mein M-Strich
Wenn es da welche gibt, wenn diese Menge,
also nicht die leere Menge ist, dann mache ich folgendes.
Ich picke mir jetzt alle Plätze P heraus,
für die ist eine Markierung M2-Strich in dieser Menge X gibt,
sodass M2-Strich von P echt kleiner ist als M-Strich von P. Das heißt,
wenn dieser Fall eingetreten ist, das ist ein Platz,
auf dem wächst das, dann sage ich, okay,
da kann ich beliebig hochpumpen, deswegen setze ich da mal einen Omega.
Wenn es keine Markierung M2-Strich gibt, die die Eigenschaft hat,
dass da was wächst, dann sage ich,
na gut, denn es sind eins von P,
Das alte Endstrich von P. Das heißt,
unser neues M1 von P ist fast wie im Strich,
nur an einigen Stellen habe ich jetzt Omegas hingeschrieben.
Nämlich an den Komponenten, an denen ich weiß,
ich kann da beliebig hochpumpen. Und jetzt schaue ich nach,
wie gehabt, jetzt bin ich aus dem roten Kasten raus.
Ist denn ein Strich schon ein Knoten, den ich kenne?
Aber da muss ich da nichts Neues tun.
Das einzige, was ich noch machen muss, ist,
ich muss die Kante einfügen.
Also ich muss jetzt sagen, von M komme ich
mit T
zu M1 Strich
Wenn ich den Knoten vorher noch nicht hatte,
dann packe ich M1 eben zur Knotenmenge GroßV hinzu und sage,
du bist noch ein ungefärbter Knoten.
Du musst also noch bearbeitet werden. Und was da rauskommt,
ist, nach endlicher Zeit, dieser Algorithmus terminiert nämlich immer,
da kommt dann der Überdeckungsgraf raus.
Wobei man da vorsichtig sein muss mit der Bezeichnung der Überdeckungsgraf,
dieser Algorithmus arbeitet nicht deterministisch. Und Er ist nicht deterministisch,
indem er einfach sagt, pick dir irgendeinen ungefährbten Knoten raus.
Und wähle irgendeine Transition Tee. Dieses nicht deterministische Rauspicken kann man zeigen,
wir glauben das erst mal, bis wir uns ein Beispiel angucken. Bedeutet,
da kann das zu unterschiedlichen Zeiten auftreten, je nachdem,
ob ich schon einige Markierungen mir angesehen habe vorher,
kann die Menge X von M-Strich mal leer sein oder
da sind schon tatsächlich Knoten mal erzeugt worden,
die davor liegen und
echt kleiner sind
Manche sind vielleicht noch gar nicht erzeugt. Es hängt also
von der Bearbeitungsstrategie ab, tatsächlich, welcher Graf da rauskommt.
Der Gag an der Sache ist, aber egal,
wie ich das mache, wenn ich jetzt hinterher gucke,
wo sind denn überall Omegas,
in welchen Komponenten kommen dann welche vor?
Das wird bei jedem Überdeckungsgrafen gleich sein. Also wenn ich feststelle,
aha, in diesem Überdeckungsgrafen gibt es einen Knoten,
da ist auf jeden Fall schon mal der dritte Platz mit einem Omega versehen.
Dann wird das in jedem Überdeckungsgraf,
den ich überhaupt konstruieren kann,
so sein
Und wenn es einem keinem vorkommt, also ich habe einen Überdeckungsgraf,
der hat nirgends einen Omega für diesen Platz P3,
dann wird es auch keinen anderen Überdeckungsgrafen geben,
der da einen Omega reinschreiben würde.
Die sind sich also, alle Überdeckungsgrafen sind sich einig,
welche Plätze irgendwann ganz schlussendlich mal mit Omega markiert werden sollen oder in welche nicht.
Und das ist ja hauptsächlich das, was uns interessiert.
Gucken wir mal, wie dieser Algorithmus arbeitet für ein sehr kleines Netz.
Was macht das? Wir haben auf P1 eine Marke und C,
kann Weil das P1 als Nebenbedingungen hat,
da beliebig oft schalten und pumpen mir jetzt Marken auf den Platz P3 drauf.
Ja, und wenn ich da eine Marke habe und
eine Marke von durch A auf P2 geschoben habe,
dann kann ich sie auf P1 zurückschieben.
Das heißt B sorgt in Zusammenarbeit mit A dafür, dass die Marken wieder zurückkommen.
Aber wir sehen schon, P3 ist ein unbeschränkter Platz.
Das sollte also rauskommen. Wenn wir jetzt mit dieser Initialmarkierung starten,
das ist der Vektor 100, Dann sieht man,
ich habe da zwei Varianten, entweder, schaltet C,
klar, oder A, kann schalten,
B ist nicht aktiviert, auf P3 liegt ja nichts.
Dann kann man nachvollziehen, klar, ich nehme einfach den Aktivierungsbedingungen von A.
Was brauche ich da? Nee, das ist der Effekt
. Von A 1.00 minus 1 plus 1,
das heißt P1 wird um einen kleiner,
A nimmt er eins weg bezüglich P2, naja,
da kommt eine Marke drauf und bezüglich P3 passiert gar nichts.
Das heißt, die Nachfolgemarkierung ist, wenn ich das brav durchrechne,
0-1-0. Und jetzt frage ich mich,
ist das irgendwie größer geworden?
Gibt es echt kleinere Markierungen? Kann ich da was pumpen?
Bis jetzt ist noch nicht viel da. Die einzige Markierung,
mit der ich das vergleichen kann,
ist 1-0-0. Aber 1-0-
0 und 0-1-0 sind unvergleichliche Vektoren.
Die sind weder kleiner gleich, noch größer gleich.
Okay, also gibt es
gar keinen
Vergleichbaren Vektor. Ich muss also nichts tun. Ja,
und dann lasse ich die Markierung einfach so. So,
was passiert jetzt bei C? Wenn ich C schalte,
naja, das einzige, was C macht,
ist eine Marke auf P3 hinzuzufügen.
Das heißt, die Nachfolgemarkierung ist 101. Wenn ich mich da jetzt frage,
Omegas, kommen da welche hinzu, dann stelle ich fest,
ja, es gibt eine Vorgängermarkierung.
Ja, denn die Markierung 010 links daneben ist keine Vorgängermarkierung,
die kann ich nicht rückwärts erreichen.
Die einzige Markierung,
die ich rückwärts erreichen kann,
Diese Markierung hat jetzt die Eigenschaft in der ersten Komponente gleich
zu sein, in der zweiten Komponente gleich zu sein,
in der dritten sogar echt kleiner zu sein.
Ja, also kleiner gleich trifft zu und sogar echt kleiner.
Und deswegen verändere ich das so, indem ich das auf 1
-0 Omega wette. Habe das also festgestellt. Gut,
und jetzt würde ich da weiterrechnen, jetzt müsste ich gucken,
was kann ich mit 0-1-0 machen,
was kann ich mit 1-0 Omega machen,
mit 1-0 Omega kann ich auf jeden Fall eins,
kann ich A und C wieder schalten,
aber das geht dann immer
so weiter
Wenn ich an dieser Stelle was mache,
dann stelle ich fest, wenn ich A schalte,
einmal A schalten, führt ja dazu,
dass ich jetzt auf P2 eine Marke bekomme und bei Asi abgezogen.
Das ist jetzt aber, wenn ich rückwärts gucke, nicht anders als vorher.
Also jetzt habe ich zwei Vorgänger, 1-0 Omega.
Die sind aber unvergleichlich. Da vorne steht 1-
0 und 0-1 in den Vektoren.
Das ist nicht kleiner gleich angeordnet. Und der andere Vektor 1-0,
0-0 und 0-1 Omega ist auch wieder
nicht angeordnet.
Das heißt,
da tut sich nichts
Endliche Veränderung, sagt man da, Omega plus 1 ist eben Omega.
Beliebig viele Marken plus 1 sind immer noch beliebig viele Marken.
Was passiert, wird es, wenn ich C schalte,
da verändert sich auf A, auf P1 nichts, das bleibt noch eins,
auf P2 auch nichts und auf P3 kommt eine Marke hinzu.
Eigentlich komme ich ja dann zu 10 Omega plus 1.
Das wäre eigentlich ein anderer Zustand. Jetzt stellt man aber fest,
Obwohl ich diesen Effekt habe,
dass das Schalten von C auf dem Platz P3 eine Marke mehr macht,
ja, habe ich von 1-0 Omega das Ganze zu 1-0 Omega geschaltet.
Das heißt, was ich jetzt mache,
ist, das ist genau der Trick,
warum dieser Überdeckungsgraf endlich sein wird, der sagt,
naja, beliebig viel plus 1 ist immer noch beliebig viel,
dass du jetzt plus 1 gemacht hast, das vergessen wir.
Wir streichen das und sagen, ab hier wird es eine Schleife.
In dem normalen Erreichbarkeitsgrafen wird das jetzt immer weiter nach rechts
gehen, wenn ich mit C schalte
Weil ich das immer noch mal, noch mal mal machen kann.
Und dann hätte ich da eben in der dritten Komponente 0-1,
2, 3,
der Überdeckungskraft sagt 0-1 und 1 setzen wir auf Omega
und wir kürzen jetzt das ab und haben nur noch die Informationen von Omega,
komme ich zu Omega.
Das heißt, das Ganze ist kleiner. So,
jetzt hier noch mal Big, da komme ich da wieder zurück.
Ja, und das ist eben ein Unterschied zu dem,
was ich im Erreichbarkeitsgraf machen kann.
Da kann ich ja beliebig häufig mit C nach rechts gehen.
Also wenn ich die Transition C, E mal schalte,
dann habe ich auf dem Platz auf dem dritten Platz ja i plus 1 Marken.
Das vergesse ich jetzt aber komplett. Solche Eigenschaften mache ich
. Nicht mehr, das wird einfach zusammengepresst.
Das ist genau das Vergessen, was sie bei Deckungsgrafen angelegt ist,
dass sie hier jetzt diese Sachen, dass ich das zurückschalten kann.
Auch das ist eine Eigenschaft. Wir hatten ja gesehen,
die Transition A und B zusammen,
die schieben die Marken jetzt wieder runter von dem letzten Platz.
Das ist eine Eigenschaft, die ich überhaupt nicht mehr sehen
kann über Deckungsgrafen. Im Erreichbarkeitsgrafen sehe ich das noch,
wenn ich i plus 1 marken, erst mal erzeugt habe,
dann scheide ich A rüber und B. Nettobilanz, eine Marke weniger auf P3.
Das kann ich jetzt bei iPlus 1-Marken,
also iPlus 1 mal machen, dann ist das wieder leer.
Eine solche Aktion zum Lehren gibt es wie mir bei Deckungsgrafen
nicht mehr. Schlichtweg, weil ich mal definiert habe,
dass Omega minus endlich viele Marken Omega ist.
Genau diese Eigenschaft verliere ich jetzt. Also ich kann also
nicht mehr im Überdeckungsgrafen exakt die Scheidfolgen sehen.
Denn was passiert, was ich als einzige Informationen habe,
ist ja, dass ich von dem Knoten 1 0 Omega
Da kann ich zwar A, B ausführen.
Aber hier sieht es so aus, da kann ich
diesen Zyklus A, B, beliebig lange gehen.
Unbeschränkt lange. Was ja auch konsequent ist, ich habe ja gerade so getan,
als hätte ich unbeschränkt viele Marken auf P3. Wenn ich aber weiß,
naja, es sind aber, eigentlich ist es unbeschränkt,
aber eine feste Zahl,
wenn die Zahl wie in dem Graphen Links iPlus 1 ist,
dann ist da durch Zufall,
durch die Netzstruktur ist eben kein Zufall, ist doch die Anzahl,
wie oft ich diese A,
B-Aktion durchführen kann,
auch durch iPlus 1
beschränkt ist
Diese Informationen, wie oft ich also jetzt Zyklen durchlaufen kann,
die fehlt mir komplett in dieser grafischen Darstellung des Überdeckungsgrafen.
So, langer Rede, kurzen Sinn. Wenn wir einen
Überdeckungsgrafen haben, ist die gute Nachricht, er ist endlich.
Die schlechte Nachricht ist, wir haben dabei eine Menge vergessen müssen.
Informationen über welche Schaltfolgen sind möglich und welche erreichbaren Markierungen sind konkret erreichbar. So,
wenn man sich das Beispiel also nochmal anschaut,
da hat man eben nochmal hier ein Gefühl bekommen dafür,
für den roten Kasten, nämlich das Betrachten der Vorgänger,
Knoten, die die Eigenschaft haben, Nicht zu sein,
gefolgt von der Aktion, dass ich M-Strich zu M1 verändere,
nämlich Omminger-Komponenten hinzufüge.
Und da eben noch als Anmerkung, das Ergebnis, welcher Überdeckungsgraf rauskommt,
ist abhängig von der Auswahlstrategie für die ungefärbten Knoten im Schritt
2.1. So, lassen wir uns mal eines Beispieles klarmachen,
wir haben so ein einfaches Netz, da ist eine Marke gerade auf GroßA.
Jetzt kann ich entweder Kleinauder, Klein B schalten,
nachdem komme ich da irgendwo in den Wechselwirkungskreislauf rein.
Wenn ich unten lang gehe, dann kann ich halt
den Kreislauf mit D beginnen. Wenn ich oben reinkomme,
dann kann ich den Kreislauf mit C beginnen.
Und man sieht, wenn ich oben zuerst reingehe,
dann wird diese Transition C als erstes gefeuert und diese Transition
C ist natürlich der Ausgangspunkt von unbeschränkten Marken.
Denn die Transition C hat ja ein Nettogewinn auf dem Platz Groß C. Das heißt,
wir sehen da ziemlich schnell,
wenn das irgendwie unbeschränkt ist,
dann liegt das daran,
dass sich die Transition C
immer wieder schalten kann
Kann ich ja machen, einmal kleinen Arsch schalten.
Danach kann ich dann zäh beliebig häufig schalten,
kann beliebig viele Marken auf groß. C, äh,
auf Client C erreichen. Wenn ich unten lang gehe,
dann gehe ich hier rum. Und dann passiert das Unvermeidliche,
da kommen dann halt beliebig viele Marken rein.
Und jetzt habe ich zwei Möglichkeiten. Ich kann zwar Überdeckungsgrafen konstruieren,
die sie in relativ ähnlich ausstarten, nämlich ähnlich.
Und hier sieht man, an den Kanten steht,
wann welche Kante exploriert wurde,
zu welchem Zeitpunkt
Wir fangen in beiden Fällen ja mit der Markierung 1.00 an.
Denn auf A liegt eine Marke auf B und C liegen keine Marken.
Und im oberen Grafen nehme ich zuerst die Aktion A.
Das führt dazu, dass ich die Nachfolgemarkierung 0.1.0 bekomme.
Und dann sieht man, jetzt wird die mögliche Kante B relativ lange liegen gelassen.
Die kommt erst an siebter Stelle. Das heißt, wir
nehmen uns erstmal zäh vor. Wenn ich C schalte,
dann merke ich, aha, 0.1. Omega kommt da raus,
weil jetzt durch das Schalten von C,
der Algorithmus gemerkt hat,
dass der dritte Platz unbeschränkt ist
Wenn ich jetzt See schalte, verändert sich aber nichts mehr.
So, wenn ich jetzt noch einmal D schalte,
dann stelle ich fest, Mensch,
wenn du unbeschränkt viele Marken hattest auf deinem Platz groß C,
die kannst du ja beliebig rüberschaufeln jetzt auf den Platz B.
Das heißt, auch da wirst du keine Schranke erzeugen.
Da kommst du auch über alles, was ist.
Und deswegen sagt er sich im vierten Schritt, das Ganze ist unbeschränkt.
Dann habe ich also die Feststellung, ich komme zu den,
zum Knot null Omega Omega und mir egal, was ich jetzt mache,
C oder D, das verändert das nicht mehr.
Wenn ich auf beiden Plätzen, die Sie in diesem rechten Kreis relevant sind,
egal was ich da wegnehme oder hinlege,
sind eh schon Omega viele da, da verändert sich nichts mehr.
Ja, und an dieser Stelle ist eben,
wir haben die Markierung, sobald wir eins und zwei bearbeitet haben,
haben wir 0-1-1 gehabt.
Festgestellt, Mensch, das ist echt größer als diese Markierung,
die ich davor hatte direkt, also 0-1-0,
deswegen schreibe ich in die dritte Komponente etwas.
Das ist der direkte Vorgänger und das führt zu dem Omega
Da hätte ich eigentlich null zwei Omega gehabt und da stelle ich fest,
das ist auch direkt größer als der Vorgänger hier.
Setz das Omega da. Und der untere Graf, der
kürzt das ein bisschen ab. Und er kann das abkürzen,
weil er erst unten lang gegangen ist,
hat erst B geschaltet und dann D, ist dann zum gleichen Knoten 010 gekommen.
Aber wenn ich jetzt C schalte und in die Markierung wieder 011 komme,
dann habe ich jetzt eine andere Menge von Vorgängerknoten.
Denn jetzt Habe ich hier zwei mögliche Vorgängerknoten, die kleiner gleich geworden sind?
Die Startmarkierung ist da nicht relevant, die ist mir nicht
kleiner gleich. Diese beiden Markierungen sind jetzt kleiner gleich,
nämlich die obere ist in der zweiten Komponente,
gleich aber in der dritten, ist sie echt kleiner.
Und bei der unteren ist es genau umgekehrt. Also stelle ich dort fest,
aha, bei beiden zusammengenommen, habe ich also die Möglichkeit,
wenn ich jetzt die Markierung X Omega Strich berechne,
gleiche sofort beide Komponenten auf einmal auf Omega zu setzen.
Man sieht also die Auswahlstrategie der Kanten oder der Knoten spielt eine Rolle.
Wenn ich mich frage, welchen Erreichbarkeitsgrafen bekomme ich?
Dass die nicht strukturgleich sind, sieht man sofort.
Und eine eine hat 1, 2, 3,
4, 5 und eine andere hat 4 Knoten.
Schon mal eine ganz andere Knotenanzahl. Da muss ich mich
um die Kanten gar nicht mehr kümmern. Was man aber auch sieht,
ist, obwohl sie unterschiedlich sind,
wenn ich jetzt das Spiel betreibe, zähle die Omegas,
dann stelle ich fest, sie sind sich schon mal einig darüber,
dass der zweite und der dritte Platz einen Omega kriegen
soll irgendwann mal
Der obere Überdeckungsgraf ist da ein bisschen zögerlich,
der macht das nach und nach. Er verpasst erst der
dritten Komponente in Omega und dann der zweiten hinterher.
Der untere Graf gibt beiden auf einmal ein Omega. Aber ganz zum Schluss,
wenn ich das über den ganzen Graf betrachte,
nachdem das terminiert ist, weiß ich,
die beiden Plätze sind Omegas und der erste Platz hat kein Omega.
Da stehen nur Zahlen. Und jetzt ist die Frage,
okay, jetzt haben wir das Ding.
Was kann man damit anfangen? Erstmal ist es
nur eine Spielerei
Macht man aber nur, wenn man da irgendwie was mitmachen kann.
Ansonsten haben wir irgendwie einen Grafen der Informationen wegschmeißt.
Toll. Was man damit machen kann, ist jetzt,
an diesem Grafen sehe ich zum einen mal,
welche Plätze überhaupt beschränkt sind und welche unbeschränkt sind.
Es gilt nämlich die Eigenschaft,
wenn ich ein Netz habe und seinen Überdeckungsgrafen gehe von N,
dann ist ein Platz P genau dann beschränkt,
wenn es um Überdeckungsgrafen keinen Knoten gibt,
der an der P-Komponente ein Omega stehen hat.
Oder andersrum formuliert, Wenn an Index P in allen Markierungen
eine endliche Zahl steht, dann ist dieses Netz für diesen Platz beschränkt.
Und sobald einmal ein Omega vorkommt, ist dieser Platz unbeschränkt.
Das heißt, du überdeckst Graf, sagt mir nicht nur,
ob ein Netz beschränkt ist oder unbeschränkt.
Das konnte der alte Erreichbarkeitsgraf schon. Er hat gesagt,
huch, eine echt größere Markierung breche ich mal ab,
weil das Netz unbeschränkt ist.
Dieser Graf sagt, ich sage dir sogar,
welche Plätze beschränkt sind und welche unbeschränkt sind.
Falls sich das interessiert, lieber Nutzer, weißt du jetzt,
im Beispiel eben haben wir gesehen, der erste Platz ist beschränkt.
Der zweite und der dritte,
die sind beide unbeschränkt
Manchmal will man ja wissen, vielleicht ist ja Unbeschränktheit irgendwie
eine Fehlerquelle. Von daher ist es gut zu wissen,
wenn irgendwas schiefgelaufen sein könnte und Unbeschränktheit deutet mir das an,
dann möchte ich ja wissen, wo hakt das?
Also es ist die Menge der unbeschränkten Plätze, ganz interessant.
Und es gibt noch was Wichtiges? Es gibt mich eine nette Eigenschaft,
die man ausnutzen kann, wie sie mich folgende.
Es gilt eine Implikationsbeziehung. Wenn ich im Netz
eine Schaltfolge habe von M0 zu M,
da kann ich
weh schalten
Dann kann ich das im Prinzip im Überdeckungsgrafen auch machen.
Das heißt im Prinzip, ich kann jetzt im Überdeckungsgrafen sicher sein,
wenn ich da mit M0 starte,
dann gibt es eine Kantenfolge, die mit W beschriftet ist.
Also deswegen schreiben wir das wie immer unterm Fall.
Und ich komme in eine Markierung M1. Und diese Markierung M1
wird im Zweifelsfall nicht die gleiche Markierung sein wie M.
Warum wird sie nicht gleich sein? Naja,
wenn das Netz unbeschränkt ist, habe ich im Zweifelsfall Park
Omegas hinzugepackt
Die Markierung wird nie kleiner sein. Der einzige Unterschied,
den die Markierung anders machen kann, war die Schalterregel ja gleich geblieben ist.
Es sind Omegas hinzugekommen. Das heißt, M1 wird die
Eigenschaft haben, größer gleich m zu sein. Ja,
gleich, dann habe ich eben gar keine Omegas hinzugepackt.
Und wenn es echt größer ist,
dann ist es aber nur deswegen echt größer,
weil es in einigen Komponenten ein Omega steht.
Was nie der Fall sein wird, das kann nicht auftreten,
ist, dass M1 deswegen größer als ein M ist,
weil in einer Zahl 15 steht und in einer anderen zwei.
Das wäre zwar auch echt größer,
wird aber nie vorkommen, weil die Schaltregel ja im Überdeckungsgrafen
eingehalten wird
Das heißt, die einzige Möglichkeit für echt größer ist in diesem Algorithmus
dadurch gegeben, dass er da paar Omigas hinzugepackt hat.
Sonst bei endlichen Zahlen ist die Bilanz total korrekt.
Wenn die Schaltfolge W, also gar keine Omigas hinzufügt,
ist die Bilanz auch im Überdeckungsgraf komplett zu erhalten.
Nur wenn Omigas hinzugefügt werden, verändert sich da was.
In unserem Beispiel von eben sieht man eben die Schaltfolge,
die ich im Netz habe. Also ich sehe im Erreichbarkeitsgraf,
kann ich ja CI plus 1 mal schalten,
indem ich nach rechts
unten gehe
Und dann kann ich A, B,
I plus 1 mal schalten. Und da sieht man,
diese Schaltfolge, die kann ich auch rechts machen.
Also ich kann da gucken, wie sieht das da aus?
Ja, da gibt es eine korrespondierende Markierung. Und wenn ich möchte,
kann ich auch bei diesem Knoten einmal zäh schalten,
dann kann ich ihm mal die Schleife gehen.
Und wenn ich dann möchte, kann ich auch A,
B mit der zweiten Doppelschleife auch i plus 1 malieren.
Das heißt, dieser Graf erlaubt das,
dass ich so eine Schaltfolge auch ablaufen kann
Was man sofort sieht, ist, diese Eigenschaft gilt nur in eine Richtung.
Hier ist ein Beispiel für einen Grafen gegeben, der einem sofort zeigt,
dass wann immer ich einen Pfad im Überdeckungsgrafen habe,
dass das nicht unbedingt eine Schaltfolge sein muss.
Denn beispielsweise kann ich ja im Überdeckungsgrafen einmal C laufen und dann hundertmal AB.
Diese Schaltfolge ist eine Überdeckungsgrafen auf der rechten Seite möglich,
aber man sieht sofort im Erreichbarkeitsgrafen komme ich mit einem C zu 101.
Da kann ich einmal A-B-Schalten, das war's dann,
aber nicht hundertmal. Sondern dass die Information,
das ist genau dieser Informationsverlust, von dem mich gesprochen hat,
der deutet sich eben daran an,
dass diese Eigenschaft nur eine Wenn-Dann-Beziehung ist, aber nicht eine genau-Dann-Man-Beziehung.
Kann ich im Netz schalten, wenn das gilt,
dann kann ich auch um Überdeckungsgrafen was tun.
Umgekehrt nicht, mal allgemein. Was ich schon behauptet hatte,
was er eigentlich noch mal festgehalten werden muss,
ist die Eigenschaft, dass das Ganze terminiert.
Das ist klar, wenn der Erreichbarkeitsgraf endlich ist,
dann wird der Überdeckungsgraf ihn produzieren.
Bei beschränkten Netzen ist insbesondere der Überdeckungsgraf identisch mit dem Erreichbarkeitsgrafen.
Und da komme ich nie an eine Situation, wo ich ein Omega hinzufüge.
Und deswegen passiert da nichts. Weil das Ganze terminiert,
weiß ich, nein, in endlich vielen Schritten erzeuge ich
mir nur endlich viele Knoten und Kanten.
Also ist der Überdeckungsgraf auch ein endlicher.
Und woran liegt das? Nehmen wir mal an,
der Algorithmus würde nicht terminieren
Man kann das nur liegen, dann muss die Knotenmenge faulen endlich groß sein.
Das liegt daran, dass in jedem Schleifendurchlauf ein Knoten genau einmal angefasst wird.
Eine Endlosschleife kann also nur dadurch entstehen, dass sich unendlich viele Knoten haben.
Was passiert jetzt als nächstes? Wir wissen,
wenn ich diesen Überdeckungsgrafen mir als Baum denken würde,
dann hätte ich B von N,
da sage ich einfach nicht, ich mache nicht diesen Kurzschluss,
sondern ich würde das als Baum betrachten,
so wie bei CTL-Berechnungsbäumen betrachtet haben, dann weiß ich,
dieser Baum ist ja Verzweigungsendlich,
weil es nur endlich viele Transitionen gibt,
die jeden Knoten verlassen können
Also der maximale Verzweigungsgrad ist Anzahl der Transition. Betrag von Tee.
Nun weiß man aber, wenn ich einen Baum habe,
der endlich verzweigend ist, aber unendlich viele Knoten besitzt,
dann muss es Lämmer oder Satz von König, sehr alt,
mindestens einen unendlichen Pfad in diesem Grafen gehen.
Wenn ich mich in endlich verzweigenden hätte und nur endliche Pfade,
da kriege ich nur endlich viele Knoten mit zustande.
Damit das unendlich wird, muss es also mindestens einen
unendlichen Pfad in 0 M1 M2 in diesem Grafen geben
Und dieser muss dann die Eigenschaft haben, kein Knoten kommt zweimal davor.
Sowas ist dann aber? Wir brauchen das nächste Lämmer,
Satz von Dixon noch älter. Das sagt,
wenn ich jetzt diese Schaltfolge hätte, in dem Erreichbarkeitsbaum,
da gucke ich sie mir an, da sind ja alles Markierungen,
die normale, natürliche Zahlen enthalten.
Noch keine Pseudomarkierung. Und jetzt weiß man,
wenn ich ein Vektor habe, NOP, also ein endlicher Vektor,
unendlich viele davon habe ich in diesem einen Pfad,
dann kann es nicht vorkommen, dass alle paarweise unvergleichlich sind.
Oder andersrum formuliert, ich weiß, es gibt mindestens zwei
an einer Stelle, die angeordnet sind. Ja gut,
wenn ich weiß, dass das nach dem endlichen Anfangsstück so ist,
dann kann ich ab dauernd das Argument wiederholen.
Bleibt ja noch unendlich viel übrig. Also gibt es auch
da wieder welche, die angeordnet sind. Also größer als
das Größe von den beiden. Und immer so weiter. Also sprich,
wenn ich immer so weitergehe und hinreichend viele Knoten wegstreiche,
dann kommt das dazu, dass ich eine Teilfolge bekomme,
da, um auszudrücken, dass es eine Tai-Folge ist,
davon muss ich mit indizierten Indizes arbeiten, also ME1,
ME2, ME3,
das soll jetzt eine aufsteigende Teilfolge sein.
Ich habe ein paar Elemente zwischendurch weggestrichen, heißt das auf Deutsch?
Und die haben die Eigenschaft, dass das Ganze streng monoton
aufsteigend ist. Diese Teilfolge muss existieren und ich habe jetzt
unendlich viele Knoten als Teil dieses unendlichen Pfades im Baum,
die alle immer echt größer werden entlang des Pfades.
Was kann ich
damit argumentieren
Wir wissen ja jetzt, dass, wenn wir den Schritt
machen zu MIJ plus 1, dann kommt mindestens eine Omega-Komponente hinzu.
Denn wenn ein echt größer gilt, dann macht der Überdeckungsgraf
in diesem Konstruktionsschritt mindestens ein Omega hinzu. Und da ich weiß,
dass ich alle diese Schritte von MIJ zu MIJ plus 1,
die ich im Erreichbarkeitsbaum machen kann, auch genauso im Überdeckungsgrafen machen kann,
das hatten wir uns eben als Satz vor Augen geführt,
alles, was im Netz geht, geht auch im Überdeckungsgraf,
weiß ich
Dass ich unendlich für oft Omega-Komponenten hinzufüge. Unendlich oft wird was größer,
also fügt dieser Algorithmus und endlich oft Omega-Komponenten hinzu.
So, das kann ich aber nicht machen,
denn ich habe nur unendlich viele Plätze,
mit endlich vielen Plätzen kann ich endlich oft ein Omega hinzufügen.
Also habe ich einen Widerspruch zu der Annahme,
dass das möglich ist, dass ich unendlich viele Knoten erzeuge.
Und damit weiß ich sofort, dass die Konstruktion terminieren muss.
Gut, das ist die erste wichtige Eigenschaft,
das Ganze terminiert ist,
also praktisch zu gebrauchen
Und die zweite Eigenschaft ist, ich kann ablesen,
welche Plätze beschränkt sind und welche nicht.
Was jetzt ganz hilfreich ist, ist die Aussage,
dass ein, der Erreichbarkeitsgras genau dann endlich ist,
wenn ich gar keine Omega-Komponenten habe.
Er hat streng genommen, es ist sogar,
man kann zeigen, der Erreichbarkeitsgraf ist dann identisch mit den Überdeckungsgraffen.
Und dann hat er natürlich keine Omega-Komponenten.
Und das beweisen wir in zwei Schritten
Also wir haben die Annahme, es gibt keinen Omega.
Dann müssen wir zeigen, dass der Erreichbarkeitskraft endlich ist. So,
wenn überhaupt nirgendwo ein Omega vorkommt,
dann ist dieser schöne einfache Fall,
dass der identisch ist, wenn man Erreichbarkeitsgrafen,
was daran liegt, wenn ich nirgendwo ein Omega hinzupacke,
dann ist der Algorithmus in seinen Schritten identisch mit dem Erzeugen des Erreichbarkeitsgrafen.
Pick dir einen Knoten raus, der ungefärbt ist,
erzeuge die Nachfolgemarkierung. Und der Schritt, wo Omegas hinzugefügt
werden, fällt aus.
Also kommt da
der Erreichbarkeitsgraf raus
Und weil das Ganze so terminiert, ich mache das
nur endlich lange, gibt es da keinen Unterschied.
Bleibt also der etwas komplexe Gefall? Wenn es ein Omega gibt,
dass dann der Erreichbarkeitsgraf unendlich ist. Eigentlich müsste ich jetzt sagen,
wenn der Erreichbarkeitsgraf endlich ist, dann kein Omega.
Aber das habe ich jetzt logisch umgedreht und gesagt, naja, beides negiert.
Also wenn ein Omega vorkommt, dann ist der Erreichbarkeitsgraf unendlich.
Und da stelle ich fest, angenommen, ich habe solche Markierungen,
M2 und M2 kommt an irgendeiner Stelle,
es sei ein Omega vor. Denn weiß ich doch,
ich komme von M0 mit irgendeiner Schaltfolge zu irgendeinem M3,
es wird ein Better, komme ich dann zu MS.
Und dann mit einem T-CM1 ist und Gamma und immer so weiter.
Also es gibt so eine Schaltfolge, Tee,
da habe ich das eingefügt, das Omega.
Und was wir wissen, ist eben vor allem 3S und M1S.
Das sind eben genau die Schaltfolgen. Dieses Better Tee,
wo der Überdeckungskraft das jetzt feststellt. Also diese Schaltfolge,
wenn ich die betrachte,
ich habe also gerade die Markierung MS am Wickel in der Mitte,
Will jetzt Tee schalten, da wird eigentlich ein 1S rauskommen.
Und jetzt stelle ich fest, M3 ist es ein Vorgänger davon.
Und diese Situation muss eintreten, da da ja ein Omega eingefügt wird.
Das heißt, in M3S muss irgendwie dieser Platz S kleiner gewesen sein.
Das heißt, wir rekonstruieren gerade den Moment,
an dem der Überdeckungsgraf die Omega-Komponente einfügt.
Dann ist mein M-Strich das M1S und das wird dann modifiziert
Durch Omega-Komponenten und M3 ist es die Markierung,
die beweist, dass es echt kleiner ist.
So, was haben wir jetzt? Jetzt können wir betrachten,
das Wort, das ich von M0 habe bis zu dem M3 ist.
Und danach MS weiter, also Alphabette. Und ich weiß ja,
dass es dann, wenn ich da gucke,
es gibt eine Schaltfolge, die ich auch im Netz haben kann,
die muss es ja auch gegeben haben, denn bei Überdeckungskraft,
der nimmt sich erstmal eine Schaltfolge da vorne.
Das heißt, ich kann auch Alphabetter Tee machen.
Und dann ein Gammer
Und jetzt weiß ich, diese Schaltfolge,
die ich mache, ist das gleiche Argument von vorher,
die kann ich ja immer und immer wieder machen.
Das heißt, was ich mir erzeuge,
ist eine aufsteigende Folge, M3, M1, M4S,
bei dem auf diesem Platz immer mehr anwächst.
So, also weiß ich, der Platz S selbst ist
unbeschränkt und deswegen kann der Erreichbarkeitsgraf nicht endlich sein.
Also in Kurzform, wenn der Überdeckungsgraf die Situation feststellt,
wo ein Omega hinzugefügt wird, dann habe ich die Möglichkeit,
die Schaltfolge zu iterieren im Netz,
sodass ich merke,
aha,
dieser Platz ist unbeschränkt
Und dieser Satz gilt unabhängig von der Auswahlstrategie. Also es
ist jetzt egal, welche Art von Überdeckungsgraf ich habe.
Jetzt wissen wir also, wir können damit was machen.
Jetzt können wir mal gucken, was können wir nicht damit machen.
Also wo sind die Grenzen des ganzen Verfahrens?
Und da stellen wir mal fest, es gibt drei Dinge,
die ich nicht feststellen kann.
Mithilfe von Überdeckungsgrafen kann man prinzipiell nicht feststellen,
ob eine Transition lebendig ist.
Also Lebendigkeit,
dafür schmeiße ich offensichtlich zu viel Informationen weg
Ich kann auch nicht feststellen, ob ein Netz lebendig ist.
Und was ja auch noch sehr spannend gewesen wäre,
ich kann nicht feststellen, ob eine Markierung erreichbar ist.
Wir wissen zwar, das Erreichbarkeitsproblem,
also genau die Frage 3, die ist entscheidbar.
Aber offensichtlich nicht mit Hilfe des Überdeckungsgrafen.
So wie beweist man das? Das beweist man folgendermaßen.
Wir geben jetzt für alle drei Eigenschaften zwei Netze an.
Und hier sieht man fürs Erste
das linke Netz,
da ist T-3 lebendig
Woran liegt das? Naja, ich kann mir mit T1
beliebig viele Marken auf P2 schalten. Das führt dazu,
dass ich zumindest einmal T2 schalten kann. Und dann liegt
auf P3 eine Marke und die kommt da nicht weg.
Das heißt, egal was ich geschaltet habe,
T2 kann immer schalten und danach ist T3 auf jeden Fall immer aktiv.
Beim rechten Netz füge ich nur eine Kante hinzu,
nämlich eine Kante, die sagt, naja,
T3 braucht nicht nur die Marke auf P3,
sondern auch Marken auf
Deswegen wird es nicht lebendig sein und es könnte ja passieren,
dass ich zuerst eins schalten muss, sonst kann hier gar nichts passieren.
Da habe ich eine Marke auf P2. Gut,
das kann noch ein paar Mal machen,
dann liegt eine endliche Anzahl von Marken auf P2.
Das heißt, danach kann ich einmal rüberschalten,
dann liegt da eine Marke weniger auf P2 und eine Marke auf P3.
Und jetzt habe ich die dumme Situation,
da die Marke von P1 weg ist,
kann ich nie wieder T1 schalten,
ich kann also nie wieder Marken frisch neu auf P2 erzeugen
Das heißt, wann immer jetzt T3 schaltet,
nimmt sie eine Marke weg und niemand kann mehr dafür sorgen,
dass da neue Marken hinkommen.
Das heißt, nach endlich vielen Schritten hat T3 den ganzen
Vorrat auf P2 aufgebraucht und dann geht gar nichts mehr.
Dieses Netz ist also tot. Erst recht nicht lebendig.
Und was wir feststellen ist, beide Netze haben den gleichen Überdeckungsgraphen.
Kann man da unten einmal aufmalen, sieht dann so aus.
Ich starte in der Startmarkierung,
stelle sofort fest nach dem Schalten von T1. Mensch,
dass ihr auf P2 eine Marke hinzugekommt,
das stelle ich im Linken wie im Rechten fest
So, dann habe ich aber beliebig viele Marken auf P2.
Und beim linken Netz ist das okay. T3,
wenn ich das nachher schalten will, nachdem ich T2 geschaltet habe,
die Marke ist drüben, dann sind da beliebig viele Marken.
Und T3 verändert das Schalten gar nicht. Diese Zahl,
das verändert nichts. Das rechte Netz nimmt aber in eine Marke
runter. Da aber Omega minus eins wieder Omega ist,
führt das dazu, dass der Überdeckungskraft das gar nicht mitbekommt,
dass das rechte Netz nur endlich auf das machen kann.
Gut, also an diesem einen Beispiel sehen wir sofort,
Wir können das Problem auf eine Transition lebendig ist, nicht entscheiden.
Dann könnten wir das entscheiden, dann müsste ja der Algorithmus,
der den Überdeckungsgrafen bekommt, ja oder nein antworten.
Und ein Algorithmus, beispielsweise der diesen Überdeckungsgrafen bekommt und sagt,
sag mir mal, ob T3 lebendig ist.
Wenn der mit Ja antwortet, dann macht das falsch.
Denn es hätte ja das rechte Netz sein können, dass das erzeugt.
Und wenn er mit Nein antwortet, das ist wieder falsch.
Ja, denn ich hätte ja das linke Netz nehmen können,
um diesen Überdeckungsgrafen zu erzeugen. Das ist egal,
was da Algorithmus sagt, Es ist immer die falsche Antwort.
Er hat einfach zu wenig Informationen, um ja oder nein
sagen zu können, anhand des Überdeckungsgrafen. Jetzt könnte man sagen,
okay, wenn ich das für eine Transition nicht kann,
vielleicht kann ich ja insgesamt sagen, ob das Netz lebendig ist,
vielleicht was Schwächeres.
Vielleicht kann ich wenigstens konsistent nein sagen oder sowas.
Aber das linke Netz ist lebendig. Das ist eine leichte
Modifikation. Nämlich eine, die T4 hinzufügt bei beiden.
Und T4 hat die Eigenschaft am linken Netz
Dass ich mal wieder anfange, eine Marke von P3 wegnehme,
sie wieder auf P1 liege und dann kann das ganze Spiel sinngemäß von vorne anfangen.
Das heißt, dann kann wieder T1 und T2 schalten.
Das heißt, da habe ich gar kein Problem.
So, und jetzt mache ich, wenn ich das auf
der rechten Seite mache, wäre das noch nicht genug.
Dann würde ich ja wieder von vorne anfangen können,
dann wäre das gar nicht schlimm.
Jetzt sage ich, T4 braucht aber auch eine Marke von P2.
Wir wüssten ja von der Argumentation eben,
das rechte Netz kann auf P2 nur endlich viel draufschaufeln.
Und dann kann, nachdem ich T2 immer gestaltet habe,
T3 nur endlich oft
das Ganze machen
Da denke ich mir, Mensch, schaltest du rechtzeitig mal rüber?
Um dann auf P einzuschalten, ja. Kann aber
zu spät sein. T3 hat vielleicht schon alles abgeräumt.
Wenn T3 P2 leer gemacht hat, kann ich T4 nicht mehr schalten.
Das heißt, für das rechte Netz habe ich eine echte
Chance zu verklemmen. Ein Deadlock ist da drin vorgesehen.
Beide Grafen, also beide Netze haben den gleichen Überdeckungsgrafen.
Also wieder kann ich nicht Ja oder Nein sagen.
Und die dritte Eigenschaft ist noch viel einfacher.
Ich habe hier fast das gleiche Netz, links und rechts.
Der einzige Unterschied ist, das rechte Netz,
Hatten Kantengewicht 2. Das heißt, das linke Netz ist in der Lage,
beliebig viele Marken auf P2 zu erzeugen.
Jede natürliche Zahl ist da erreichbar. Das rechte Netz erreicht
alle Markierungen, wo auf P2 eine gerade Zahl liegt.
Also eine echte Teilmenge. So, wenn ich mich jetzt frage,
ist eine ungerade Markierung erreichbar auf P2,
also die Markierung 1-1 zum Beispiel,
ist dem linken erreichbar.
Einmal T-1 schalten. Im Rechten ist sie aber nie mehr erreichbar,
denn sobald ich einmal T-1 geschaltet habe,
wird die Markenzahl auf P2
ja nicht mehr kleiner als zwei sein
Beide haben aber diesen sehr simplen Überdeckungsgrafen, der nach einem
Schalten von DE1 feststellt, dass er P2 beliebig füllen kann.
Das heißt, diese beiden haben keine Chance irgendwie per Überdeckungsgraf auseinandergehalten zu werden.
Gut, damit so, was kann ich mir über Deckungsgrafen machen?
Beim nächsten Mal schauen wir mal an, wie groß,
schlimm, komplex ist denn so ein Überdeckungsgraf?
Wie groß kann der da