<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Erreichbarkeitsgraph</id>
	<title>Erreichbarkeitsgraph - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Erreichbarkeitsgraph"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Erreichbarkeitsgraph&amp;action=history"/>
	<updated>2026-06-08T19:43:09Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Erreichbarkeitsgraph&amp;diff=889675&amp;oldid=prev</id>
		<title>imported&gt;DeWikiMan: /* Grenzen bei der Erzeugung von Erreichbarkeitsgraphen */ + siehe auch</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Erreichbarkeitsgraph&amp;diff=889675&amp;oldid=prev"/>
		<updated>2024-09-01T17:39:12Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Grenzen bei der Erzeugung von Erreichbarkeitsgraphen: &lt;/span&gt; + siehe auch&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Ein &amp;#039;&amp;#039;&amp;#039;Erreichbarkeitsgraph&amp;#039;&amp;#039;&amp;#039; (auch &amp;#039;&amp;#039;Markierungsgraph&amp;#039;&amp;#039; genannt) ist ein [[gerichteter Graph]], der aus einem [[Petri-Netz]] und einer Anfangsmarkierung gewonnen werden kann. Er wird dadurch erzeugt, dass, mit der Anfangsmarkierung beginnend, die Menge der in der Markierung aktivierten Transitionen ermittelt und jeweils die Folgemarkierung berechnet wird. Die Markierungen werden durch Knoten im Erreichbarkeitsgraphen dargestellt und der Übergang einer Markierung zu ihrer Folgemarkierung wird als Kante im Graphen vermerkt. Für jede Folgemarkierung wird dieser Vorgang wiederholt.&lt;br /&gt;
&lt;br /&gt;
== Formale Definition ==&lt;br /&gt;
Der Erreichbarkeitsgraph eines Netzes &amp;lt;math&amp;gt;\mathcal{N}&amp;lt;/math&amp;gt; ist als &amp;lt;math&amp;gt;RG(\mathcal{N}) = (M(V), E)&amp;lt;/math&amp;gt; definiert, wobei &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; die Menge der Knoten, &amp;lt;math&amp;gt;M(V)&amp;lt;/math&amp;gt; die Menge der Markierungen der Knoten und &amp;lt;math&amp;gt;E&amp;lt;/math&amp;gt; die Menge der gerichteten Kanten des Graphen ist. &lt;br /&gt;
&lt;br /&gt;
E besteht aus Tripeln &amp;lt;math&amp;gt;(m, t, m&amp;#039;)&amp;lt;/math&amp;gt;, wobei m eine von der Anfangsmarkierung aus erreichbare Markierung ist, von der durch Schalten der Transition t nach m&amp;#039; gelangt werden kann.&lt;br /&gt;
Jeder Knoten des Erreichbarkeitsgraphen ist eine Markierung M&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt; der Knotenmenge V des Netzes. Ein Pfad des Markierungsgraphen entsteht durch die Änderung der Markierung, also eine Umbelegung der Marken an V. Der komplette Graph zeigt die Übergänge von jedem M&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt; zu M&amp;lt;sub&amp;gt;i+1&amp;lt;/sub&amp;gt; durch E(M&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt;,t,M&amp;lt;sub&amp;gt;i+1&amp;lt;/sub&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== Algorithmus zur Erzeugung des Erreichbarkeitsgraphen ==&lt;br /&gt;
Der folgende Algorithmus in [[Pseudocode]] erzeugt den Erreichbarkeitsgraphen eines Netzes &amp;lt;math&amp;gt;\mathcal{N}&amp;lt;/math&amp;gt; und der Anfangsmarkierung &amp;lt;math&amp;gt;m_0&amp;lt;/math&amp;gt;&lt;br /&gt;
  &amp;#039;&amp;#039;&amp;#039;function create_reachability_graph(N, m0)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
    V := {}&lt;br /&gt;
    E := {}&lt;br /&gt;
    pending = {m0}&lt;br /&gt;
    &amp;#039;&amp;#039;&amp;#039;while&amp;#039;&amp;#039;&amp;#039; pending &amp;#039;&amp;#039;&amp;#039;is not empty&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
      &amp;#039;&amp;#039;&amp;#039;choose&amp;#039;&amp;#039;&amp;#039; m &amp;#039;&amp;#039;&amp;#039;from&amp;#039;&amp;#039;&amp;#039; pending&lt;br /&gt;
      pending := pending \ {m}&lt;br /&gt;
      &amp;#039;&amp;#039;&amp;#039;if&amp;#039;&amp;#039;&amp;#039; m &amp;#039;&amp;#039;&amp;#039;not in&amp;#039;&amp;#039;&amp;#039; V&lt;br /&gt;
        V := V &amp;lt;math&amp;gt;\cup&amp;lt;/math&amp;gt; {m}&lt;br /&gt;
        &amp;#039;&amp;#039;&amp;#039;foreach&amp;#039;&amp;#039;&amp;#039; transition t &amp;#039;&amp;#039;&amp;#039;activated in&amp;#039;&amp;#039;&amp;#039; m &amp;#039;&amp;#039;&amp;#039;do&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
          &amp;#039;&amp;#039;&amp;#039;calculate&amp;#039;&amp;#039;&amp;#039; m&amp;#039; &amp;#039;&amp;#039;&amp;#039;such that&amp;#039;&amp;#039;&amp;#039; &amp;lt;math&amp;gt;m \xrightarrow{t} m&amp;#039;&amp;lt;/math&amp;gt;&lt;br /&gt;
          E := E &amp;lt;math&amp;gt;\cup&amp;lt;/math&amp;gt; {(m, t, m&amp;#039;)}&lt;br /&gt;
          pending := pending &amp;lt;math&amp;gt;\cup&amp;lt;/math&amp;gt; {m&amp;#039;}&lt;br /&gt;
&lt;br /&gt;
== Analyse von Erreichbarkeitsgraphen ==&lt;br /&gt;
Mit Hilfe von Erreichbarkeitsgraphen lassen sich Petri-Netze analysieren. Beispielsweise lässt sich anhand des Erreichbarkeitsgraphen erkennen, ob ein Netz mit einer gegebenen Anfangsmarkierung &amp;#039;&amp;#039;lebendig&amp;#039;&amp;#039; ist. Ebenfalls lässt sich die Reversibilität des Netzes nachweisen oder widerlegen.&lt;br /&gt;
&lt;br /&gt;
== Beispiel ==&lt;br /&gt;
Betrachtet sei das folgende ungefärbte Petri-Netz PN mit der Anfangsmarkierung 2p1 + p2.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Rg-sample-wpd.png|Petri-Netz mit den Markierungen p1, p2, p3 und den Transitionen t1, t2 und t3]]&lt;br /&gt;
&lt;br /&gt;
In der Anfangsmarkierung sind die Transitionen t1, t2 und t3 aktiviert.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Erreichbarkeitsgraph-beispiel.jpg|mini|Erreichbarkeitsgraph zu Petrinetz PN]]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;1. Iteration&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
V = {2p1+p2, p1+2p2, 2p1+p3}&lt;br /&gt;
&lt;br /&gt;
E = {(2p1+p2, t1, p1+2p2), (2p1+p2, t2, 2p1+p3), (2p1+p2, t3, 2p1+p3)}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;2. Iteration&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
V = {2p1+p2, p1+2p2, 2p1+p3, 3p2, p1+p2+p3}&lt;br /&gt;
&lt;br /&gt;
E = {(2p1+p2, t1, p1+2p2), (2p1+p2, t2, 2p1+p3), (2p1+p2, t3, 2p1+p3), (p1+2p2, t1, 3p2), (p1+2p2, t2, p1+p2+p3), (p1+2p2, t3, p1+p2+p3), (2p1+p3, t1, p1+p2+p3)}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;3. Iteration&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
V = {2p1+p2, p1+2p2, 2p1+p3, 3p2, p1+p2+p3, 2p2+p3, p1+2p3}&lt;br /&gt;
&lt;br /&gt;
E = {(2p1+p2, t1, p1+2p2), (2p1+p2, t2, 2p1+p3), (2p1+p2, t3, 2p1+p3), (p1+2p2, t1, 3p2), (p1+2p2, t2, p1+p2+p3), (p1+2p2, t3, p1+p2+p3), (2p1+p3, t1, p1+p2+p3), (3p2, t2, 2p2+p3), (3p2, t3, 2p2+p3), (p1+p2+p3, t1, 2p2+p3), (p1+p2+p3, t2, p1+2p3), (p1+p2+p3, t3, p1+2p3)}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;4. Iteration&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
V = {2p1+p2, p1+2p2, 2p1+p3, 3p2, p1+p2+p3, 2p2+p3, p1+2p3, p2+2p3}&lt;br /&gt;
&lt;br /&gt;
E = {(2p1+p2, t1, p1+2p2), (2p1+p2, t2, 2p1+p3), (2p1+p2, t3, 2p1+p3), (p1+2p2, t1, 3p2), (p1+2p2, t2, p1+p2+p3), (p1+2p2, t3, p1+p2+p3), (2p1+p3, t1, p1+p2+p3), (3p2, t2, 2p2+p3), (3p2, t3, 2p2+p3), (p1+p2+p3, t1, 2p2+p3), (p1+p2+p3, t2, p1+2p3), (p1+p2+p3, t3, p1+2p3), (2p2+p3, t2, p2+2p3), (2p2+p3, t3, p2+2p3), (p1+2p3, t1, p2+2p3)}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;5. Iteration&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
V = {2p1+p2, p1+2p2, 2p1+p3, 3p2, p1+p2+p3, 2p2+p3, p1+2p3, p2+2p3, 3p3}&lt;br /&gt;
&lt;br /&gt;
E = {(2p1+p2, t1, p1+2p2), (2p1+p2, t2, 2p1+p3), (2p1+p2, t3, 2p1+p3), (p1+2p2, t1, 3p2), (p1+2p2, t2, p1+p2+p3), (p1+2p2, t3, p1+p2+p3), (2p1+p3, t1, p1+p2+p3), (3p2, t2, 2p2+p3), (3p2, t3, 2p2+p3), (p1+p2+p3, t1, 2p2+p3), (p1+p2+p3, t2, p1+2p3), (p1+p2+p3, t3, p1+2p3), (2p2+p3, t2, p2+2p3), (2p2+p3, t3, p2+2p3), (p1+2p3, t1, p2+2p3), (p2+2p3, t2 3p3), (p2+2p3, t3, 3p3)}&lt;br /&gt;
&lt;br /&gt;
In der letzten Markierung 3p3 ist keine Transition mehr aktiviert.&lt;br /&gt;
&lt;br /&gt;
== Grenzen bei der Erzeugung von Erreichbarkeitsgraphen ==&lt;br /&gt;
Erreichbarkeitsgraphen lassen sich nur für beschränkte Netze vollständig berechnen. Für unbeschränkte Netze würde der Erreichbarkeitsgraph unendlich groß werden. In solchen Fällen werden häufig [[Überdeckungsgraph|Überdeckungsgraphen]] konstruiert. Zwar lassen Überdeckungsgraphen in vielen Fällen keine Aussagen über die Reversibilität des Netzes zu, aber mit ihnen lassen sich andere Aspekte, wie zum Beispiel die Unbeschränktheit von Stellen, formal betrachten.&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
* [[Erreichbarkeitsproblem in Graphen]]&lt;br /&gt;
&lt;br /&gt;
{{Normdaten|TYP=s|GND=4139305-3}}&lt;br /&gt;
[[Kategorie:Gerichteter Graph]]&lt;br /&gt;
[[Kategorie:Parallelverarbeitung]]&lt;/div&gt;</summary>
		<author><name>imported&gt;DeWikiMan</name></author>
	</entry>
</feed>