<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Diskrete Strukturen Archive - Maximilian Krieg</title>
	<atom:link href="https://maximiliankrieg.de/category/studium/master-of-science/1-semester-m-sc/diskrete-strukturen/feed/" rel="self" type="application/rss+xml" />
	<link>https://maximiliankrieg.de/category/studium/master-of-science/1-semester-m-sc/diskrete-strukturen/</link>
	<description>Wissen, Technik &#38; Erfahrungen</description>
	<lastBuildDate>Sat, 30 May 2026 20:09:32 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://maximiliankrieg.de/wp-content/uploads/2026/05/cropped-20260524_logo_2_512-2-32x32.png</url>
	<title>Diskrete Strukturen Archive - Maximilian Krieg</title>
	<link>https://maximiliankrieg.de/category/studium/master-of-science/1-semester-m-sc/diskrete-strukturen/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Diskrete Strukturen (Abschlussbericht)</title>
		<link>https://maximiliankrieg.de/2015/07/diskrete-strukturen-abschlussbericht/</link>
					<comments>https://maximiliankrieg.de/2015/07/diskrete-strukturen-abschlussbericht/#respond</comments>
		
		<dc:creator><![CDATA[Maximilian]]></dc:creator>
		<pubDate>Wed, 08 Jul 2015 06:11:00 +0000</pubDate>
				<category><![CDATA[Diskrete Strukturen]]></category>
		<guid isPermaLink="false">https://maximiliankrieg.de/?p=1557</guid>

					<description><![CDATA[<p>Heute haben wir die Klausur in Diskrete Strukturen geschrieben. Ich möchte daher einen kleinen Rückblick über die Praktika und die Klausur geben. Wie in meinen&#8230;</p>
<p>Der Beitrag <a href="https://maximiliankrieg.de/2015/07/diskrete-strukturen-abschlussbericht/">Diskrete Strukturen (Abschlussbericht)</a> erschien zuerst auf <a href="https://maximiliankrieg.de">Maximilian Krieg</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Heute haben wir die Klausur in Diskrete Strukturen geschrieben. Ich möchte daher einen kleinen Rückblick über die Praktika und die Klausur geben. Wie in meinen anderen Abschlussberichten gebe ich natürlich noch ein Gesamtfazit bezüglich des Dozenten und des Moduls.</p>



<h3 class="wp-block-heading">Prüfungsvorleistungen</h3>



<p class="wp-block-paragraph">Vergleichbar zu Modulen aus dem Bachelor-Studium, gibt es in Diskrete Strukturen ein normales Praktikum mit mehreren Terminen und Aufgaben. Die Besonderheit liegt jedoch darin, dass es nur drei Praktika gibt, die zu einem beliebigen Zeitpunkt vor der Prüfung abgegeben werden können. Aufgrund der vielen Hausarbeiten und Präsentationen in diesem Semester hat sich diese Freiheit als äußerst nützlich erwiesen. Die Aufgaben haben einen starken Bezug zur Vorlesung und helfen durch die Bearbeitung beim weiterführenden Verständnis. Im Rahmen des Praktikums werden die Ergebnisse als Präsentation vorgestellt und mit dem Dozenten diskutiert.</p>



<h3 class="wp-block-heading">Prüfung</h3>



<p class="wp-block-paragraph">In der Klausur werden alle Themengebiete des Skripts angeschnitten. Die Aufgaben beziehen sich auf (Unter-)Gruppen, Gruppenoperationen, k-Teilmengen, Permutationen, Graphen sowie Transversale und Bahnen. Viele Aufgaben sind bereits im Skript aufgeführt oder in der Beispielklausur vorhanden. Es ist auf jeden Fall sinnvoll&nbsp;sich das Skript, den Fragenkatalog und die Beispielklausur im Detail anzusehen und zu bearbeiten, um eine gute Basis für die eigentliche Klausur zu haben. Die Durchfallquote belegt dies ebenfalls. Trotz guter Vorbereitung ist der Schwierigkeitsgrad der Klausur relativ anspruchsvoll. Vermutlich liegt dies auch daran, dass es sich um ein Theoriefach handelt.</p>



<h3 class="wp-block-heading">Gesamtfazit</h3>



<p class="wp-block-paragraph">Professor Braun gibt sich alle Mühe mit diesem Fach und der Vermittlung der teilweise sehr abstrakten Inhalte. Er verzichtet auf einen Foliensatz und schreibt alle Inhalte an die Tafel, was sich größtenteils mit dem Skript deckt. Bei seinen Rückfragen gibt es oftmals nur sehr zögerliches Feedback, da die Studierenden noch am Grübeln und Nachvollziehen sind, wenn er mal wieder einen komplexen Beweis einfach aus dem Kopf an die Tafel geschrieben hat. Die regelmäßigen Wiederholungen zu Unterrichtsbeginn, die vertiefenden Praktika und die Tatsache, dass man einige Wochen vor der letzten Vorlesungen mit dem Stoff bereits durch ist, helfen jedoch massiv und sorgen dafür, dass dieses Theoriefach zu bewältigen ist. Rückblickend hat es mir viel Spaß gemacht über die Sachverhalte zu Knobeln und ist auch mit einer dem Aufwand gerechten Note honoriert worden.</p>
<p>Der Beitrag <a href="https://maximiliankrieg.de/2015/07/diskrete-strukturen-abschlussbericht/">Diskrete Strukturen (Abschlussbericht)</a> erschien zuerst auf <a href="https://maximiliankrieg.de">Maximilian Krieg</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://maximiliankrieg.de/2015/07/diskrete-strukturen-abschlussbericht/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Diskrete Strukturen (Klausurvorbereitung)</title>
		<link>https://maximiliankrieg.de/2015/06/diskrete-strukturen-klausurvorbereitung-2/</link>
					<comments>https://maximiliankrieg.de/2015/06/diskrete-strukturen-klausurvorbereitung-2/#respond</comments>
		
		<dc:creator><![CDATA[Maximilian]]></dc:creator>
		<pubDate>Mon, 29 Jun 2015 18:57:00 +0000</pubDate>
				<category><![CDATA[Diskrete Strukturen]]></category>
		<guid isPermaLink="false">https://maximiliankrieg.de/?p=1997</guid>

					<description><![CDATA[<p>Am heutigen Termin werden organisatorische&#160;Fragen zur Klausur beantwortet. Skript-Anfang Skript &#8211; Seite 1 Skript-Ende Skript &#8211; Seite 84 Klausur Wie sind die organisatorischen Rahmenbedingungen?</p>
<p>Der Beitrag <a href="https://maximiliankrieg.de/2015/06/diskrete-strukturen-klausurvorbereitung-2/">Diskrete Strukturen (Klausurvorbereitung)</a> erschien zuerst auf <a href="https://maximiliankrieg.de">Maximilian Krieg</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Am heutigen Termin werden organisatorische&nbsp;Fragen zur Klausur beantwortet.</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><tbody><tr><th>Skript-Anfang</th><td>Skript &#8211; Seite 1</td></tr><tr><th>Skript-Ende</th><td>Skript &#8211; Seite 84</td></tr></tbody></table></figure>



<h3 class="wp-block-heading">Klausur</h3>



<p class="wp-block-paragraph">Wie sind die organisatorischen Rahmenbedingungen?</p>



<ul class="wp-block-list">
<li>Es wird 5 Aufgaben mit jeweils 10 Punkten geben, davon müssen 50% zum Bestehen erreicht werden</li>



<li>Es sind keinerlei Notizen und Hilfsmittel erlaubt</li>



<li>Da Multiple Choice-Aufgaben in den vorherigen Klausuren aufgrund von zahlreichen Falschantworten keine Punkte erbracht haben, wird es keine mehr geben</li>
</ul>
<p>Der Beitrag <a href="https://maximiliankrieg.de/2015/06/diskrete-strukturen-klausurvorbereitung-2/">Diskrete Strukturen (Klausurvorbereitung)</a> erschien zuerst auf <a href="https://maximiliankrieg.de">Maximilian Krieg</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://maximiliankrieg.de/2015/06/diskrete-strukturen-klausurvorbereitung-2/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Diskrete Strukturen (Praktikum 3)</title>
		<link>https://maximiliankrieg.de/2015/06/diskrete-strukturen-praktikum-3/</link>
					<comments>https://maximiliankrieg.de/2015/06/diskrete-strukturen-praktikum-3/#respond</comments>
		
		<dc:creator><![CDATA[Maximilian]]></dc:creator>
		<pubDate>Mon, 29 Jun 2015 10:03:00 +0000</pubDate>
				<category><![CDATA[Diskrete Strukturen]]></category>
		<guid isPermaLink="false">https://maximiliankrieg.de/?p=2007</guid>

					<description><![CDATA[<p>Das dritte Praktikum baut auf den Erkenntnissen des zweiten Praktikums auf und behandelt nun die Erzeugung von Bahnen. Zur Validierung der Korrektheit gibt es in&#8230;</p>
<p>Der Beitrag <a href="https://maximiliankrieg.de/2015/06/diskrete-strukturen-praktikum-3/">Diskrete Strukturen (Praktikum 3)</a> erschien zuerst auf <a href="https://maximiliankrieg.de">Maximilian Krieg</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Das dritte Praktikum baut auf den Erkenntnissen des zweiten Praktikums auf und behandelt nun die Erzeugung von Bahnen. Zur Validierung der Korrektheit gibt es in der zweiten Aufgabe Testparameter, die erreicht werden müssen. Der hier beschriebene Quellcode stellt nur den für die Abgabe präsentierten Code dar. Weitere Resultate und Funktionen sind im Original-Code zu finden.</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><tbody><tr><th>Skript-Anfang</th><td>Praktikum 3 &#8211; Seite 1</td></tr><tr><th>Skript-Ende</th><td>Praktikum 3 &#8211; Seite 2</td></tr></tbody></table></figure>



<h3 class="wp-block-heading">Erzeugung von Bahnen und Transversale</h3>



<p class="wp-block-paragraph">Schreiben Sie ein Programm, welches bei Eingabe einer Permutationsgruppe (über die Erzeuger) \(G=\left \langle \gamma_0,\cdots ,\gamma_{l-1} \right \rangle \leq S_n\) die Bahnen G\\X auf der Menge X der k-Teilmengen der n elementigen Menge {0, &#8230; , n &#8211; 1} berechnet. Das Programm soll für jede Bahn einen Repräsentanten angeben.</p>



<h4 class="wp-block-heading">Includes und Deklarationen</h4>



<pre class="wp-block-code"><code>#include &lt;iostream&gt;
#include &lt;vector&gt;
#include &lt;string&gt;
#include &lt;sstream&gt;
#include &lt;math.h&gt;
#include &lt;assert.h&gt;
#include &lt;algorithm&gt;
using namespace std;
 
void multiply_subset_permutation(vector&lt;unsigned int&gt;&amp; vSubset, vector&lt;unsigned int&gt;&amp; vPermutation, vector&lt;unsigned int&gt;&amp; vResult);
bool inResult(vector&lt;unsigned int&gt;&amp; v1, vector&lt;unsigned int&gt;&amp; v2);
int binkoeff(int n, int k);
int kSubsetRevDoorRank(vector&lt;unsigned int&gt;&amp; vVec, int k);
vector&lt;unsigned int&gt; kSubsetRevDoorUnrank(int r, int k, int n);
void generate_orbits_new(vector&lt;vector&lt;unsigned int&gt; &gt;&amp; vErzeuger, int n, int k);
vector&lt;unsigned int&gt; bit_to_list(vector&lt;unsigned int&gt;&amp; vBitlist);
string output_list(vector&lt;unsigned int&gt;&amp; vVector, int iOffset);</code></pre>



<h4 class="wp-block-heading">Main()</h4>



<pre class="wp-block-code"><code>int main() {

     // Set 1
     vector&lt;vector&lt;unsigned int&gt; &gt; vErzeuger;
     static const int arr1&#91;] = { 0, 3, 4, 1, 2, 5 };
     static const int arr2&#91;] = { 3, 4, 0, 5, 1, 2 };
     vector&lt;unsigned int&gt; vTmp1(arr1, arr1 + sizeof(arr1) / sizeof(arr1&#91;0]));
     vector&lt;unsigned int&gt; vTmp2(arr2, arr2 + sizeof(arr2) / sizeof(arr2&#91;0]));
     vErzeuger.push_back(vTmp1);
     vErzeuger.push_back(vTmp2);
     generate_orbits_new(vErzeuger, 6, 3);

     // Set 2
     vector&lt;vector&lt;unsigned int&gt; &gt; vErzeuger;
     static const int arr1&#91;] = { 5, 4, 3, 2, 1, 0, 7, 6 };
     static const int arr2&#91;] = { 1, 0, 7, 6, 5, 4, 3, 2 };
     vector&lt;unsigned int&gt; vTmp1(arr1, arr1 + sizeof(arr1) / sizeof(arr1&#91;0]));
     vector&lt;unsigned int&gt; vTmp2(arr2, arr2 + sizeof(arr2) / sizeof(arr2&#91;0]));
     vErzeuger.push_back(vTmp1);
     vErzeuger.push_back(vTmp2);
     generate_orbits_new(vErzeuger, 8, 4); 
 
     // Set 3
     vector&lt;vector&lt;unsigned int&gt; &gt; vErzeuger;
     static const int arr1&#91;] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 0 };
     static const int arr2&#91;] = { 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 };
     vector&lt;unsigned int&gt; vTmp1(arr1, arr1 + sizeof(arr1) / sizeof(arr1&#91;0]));
     vector&lt;unsigned int&gt; vTmp2(arr2, arr2 + sizeof(arr2) / sizeof(arr2&#91;0]));
     vErzeuger.push_back(vTmp1);
     vErzeuger.push_back(vTmp2);
     generate_orbits_new(vErzeuger, 14, 5);

    // Set 4
    vector&lt;vector&lt;unsigned int&gt; &gt; vErzeuger;
    static const int arr1&#91;] = { 19, 0, 20, 1, 21, 2, 22, 3, 15, 4, 16, 5, 17, 6, 18, 7, 27, 8, 28, 9, 29, 10, 30, 11, 23, 12, 24, 13, 25, 14, 26, 31 };
    static const int arr2&#91;] = { 21, 9, 27, 0, 22, 10, 28, 3, 17, 13, 23, 4, 18, 14, 24, 15, 5, 25, 11, 16, 6, 26, 12, 19, 1, 29, 7, 20, 2, 30, 8, 31 };
    vector&lt;unsigned int&gt; vTmp1(arr1, arr1 + sizeof(arr1) / sizeof(arr1&#91;0]));
    vector&lt;unsigned int&gt; vTmp2(arr2, arr2 + sizeof(arr2) / sizeof(arr2&#91;0]));
    vErzeuger.push_back(vTmp1);
    vErzeuger.push_back(vTmp2);
    generate_orbits_new(vErzeuger, 31, 5);
   
    return 0;
}</code></pre>



<h4 class="wp-block-heading">Bahnerzeugung</h4>



<pre class="wp-block-code"><code>void generate_orbits_new(vector&lt;vector&lt;unsigned int&gt; &gt;&amp; vErzeuger, int n, int k) {
    vector&lt;vector&lt;vector&lt;unsigned int&gt; &gt; &gt; vOrbits;
 
    // Erzeugung der Menge
    cout &lt;&lt; "n: " &lt;&lt; n &lt;&lt; endl;
    cout &lt;&lt; "k: " &lt;&lt; k &lt;&lt; endl;
    cout &lt;&lt; "Subset size: " &lt;&lt; binkoeff(n, k) &lt;&lt; endl;
 
    // Erzeugung des Vergleichsarrays
    int iElements = binkoeff(n, k);
    vector&lt;bool&gt; isUsed(iElements, false);
 
    for (int i = 0; i &lt; iElements; i++) {
        // Ist die Teilmenge bereits genutzt?
        if (isUsed.at(i) == true)
            continue;
 
        // Noch nicht genutzt
        isUsed.at(i) == true;
 
        // Neue Bahn anlegen
        vector&lt;vector&lt;unsigned int&gt; &gt; vResult;
        vOrbits.push_back(vResult);
 
        // Schlange erzeugen
        vector&lt;vector&lt;unsigned int&gt; &gt; vSchlange;
        vector&lt;unsigned int&gt; vNoName = kSubsetRevDoorUnrank(i, n, k);
        vNoName = bit_to_list(vNoName);
        vSchlange.push_back(vNoName);

        // Laufe solange noch Elemente in der Schlange sind
        while (vSchlange.size() &gt; 0) {
 
            // Durchlaufe alle Erzeuger
            for (unsigned int j = 0; j &lt; vErzeuger.size(); j++) {
 
                // Temporärer Vektor
                vector&lt;unsigned int&gt; vTmp;
 
                multiply_subset_permutation(vSchlange.at(0), vErzeuger.at(j), vTmp);
                sort(vTmp.begin(), vTmp.end());
 
                // Neues Element?
                bool bNew = true;
 
                // Element schon in irgendeiner Bahn?
                for (unsigned int l = 0;
                        l &lt; vOrbits.at(vOrbits.size() - 1).size(); l++) {
                    if (inResult(vTmp, vOrbits.at(vOrbits.size() - 1).at(l))) { // Bereits bekannte Permutation?
                        bNew = false;
                        break;
                    }
                }
 
                if (bNew == true) { 
                    // Nicht bekannt -&gt; Hinzufuegen
                    vSchlange.push_back(vTmp);
                    vOrbits.at(vOrbits.size() - 1).push_back(vTmp);
                    
                    // "Benutzt" setzen --&gt; rank holen
                    int iPos = kSubsetRevDoorRank(vTmp, k);
                    isUsed.at(iPos) = true;
                }
 
            } // for
            vSchlange.erase(vSchlange.begin());
        } // while
    } // for
    
    // Ausgabe
    for (unsigned int m = 0; m &lt; vOrbits.size(); m++) {
        cout &lt;&lt; "Bahn " &lt;&lt; m + 1 &lt;&lt; ": " &lt;&lt; vOrbits.at(m).size() 
                &lt;&lt; " Elemente, Repraesentant: "
                &lt;&lt; output_list(vOrbits.at(m).at(0), 0) &lt;&lt; endl;
    }
}

int kSubsetRevDoorRank(vector&lt;unsigned int&gt;&amp; vVec, int k) {
    int i, r, s;
    r = 0;
    if ((k % 2) == 1)
        r = r - 1;
    s = 1;
    for (i = k; i &gt;= 1; i = i - 1) {
        //cout &lt;&lt; "i= " &lt;&lt; i &lt;&lt; endl;
        r = r +binkoeff(vVec.at(i - 1) + 1, i) * s;
        s = -s;
    }
    return (r);
}
 
vector&lt;unsigned int&gt; kSubsetRevDoorUnrank(int r, int n, int k)
{
    vector&lt;unsigned int&gt; vResult(n);
    //cout &lt;&lt; "Size: " &lt;&lt; vResult.size() &lt;&lt; endl;
    int x, i, y;
    x = n;
    for (i = k; i &gt;= 1; i = i - 1) {
        y = binkoeff(x, i);
        while (y &gt; r) {
            x = x - 1;
            y = binkoeff(x, i);
        }
        vResult.at(x) = 1;
        r = binkoeff(x + 1, i) - r - 1;
    }
    return vResult;
}</code></pre>



<h4 class="wp-block-heading">Hilfsfunktionen</h4>



<pre class="wp-block-code"><code>int binkoeff(int n, int r) {
    int i, b;
    if ((r &lt; 0) || (n &lt; r))
        return (0);
    if ((2 * r) &gt; n)
        r = n - r;
    b = 1;
    if (r &gt; 0)
        for (i = 0; i &lt;= (r - 1); i = i + 1)
            b = (b * (n - i)) / (i + 1);
    return (b);
}
 
bool inResult(vector&lt;unsigned int&gt;&amp; v1, vector&lt;unsigned int&gt;&amp; v2) {
    if (v1.size() != v2.size())
        return false;
 
    for (unsigned int i = 0; i &lt; v1.size(); i++) {
        if (v1.at(i) != v2.at(i))
            return false;
    }
    return true;
}

vector&lt;unsigned int&gt; bit_to_list(vector&lt;unsigned int&gt;&amp; vBitlist) {
    vector&lt;unsigned int&gt; vList;
    for (unsigned int i = 0; i &lt; vBitlist.size(); i++) {
        if (vBitlist.at(i) == 1) {
            vList.push_back(i);
        }
    }
 
    return vList;
}
 
void multiply_subset_permutation(vector&lt;unsigned int&gt;&amp; vSubset,
        vector&lt;unsigned int&gt;&amp; vPermutation, vector&lt;unsigned int&gt;&amp; vResult) {
    for (unsigned int i = 0; i &lt; vSubset.size(); i++) {
        vResult.push_back(vPermutation&#91;vSubset&#91;i]]);
    }
}

bool isId(vector&lt;unsigned int&gt;&amp; vTmp) {
    for (unsigned int i = 0; i &lt; vTmp.size(); i++) {
        if (i != vTmp&#91;i]) {
            return false;
        }
    }
    return true;
}
 
string output_list(vector&lt;unsigned int&gt;&amp; vVector, int iOffset) {
    stringstream ss;
 
    if (isId(vVector) == true) {
        ss &lt;&lt; "id" &lt;&lt; vVector.size();
    } else {
        ss &lt;&lt; "&#91;";
        for (unsigned int i = 0; i &lt; vVector.size(); i++) {
            ss &lt;&lt; vVector&#91;i] + iOffset;
            if (i &lt; vVector.size() - 1) {
                ss &lt;&lt; ",";
            }
        }
        ss &lt;&lt; "]";
    }
    return ss.str();
}</code></pre>



<h3 class="wp-block-heading">Eingabe von Testparametern</h3>



<p class="wp-block-paragraph">Testen Sie das Programm für folgende Parameter.</p>



<p class="wp-block-paragraph">Set 1</p>



<p class="wp-block-paragraph">n=6</p>



<p class="wp-block-paragraph">k=3</p>



<p class="wp-block-paragraph">γ<sub>0</sub>&nbsp;= (1, 3)(2, 4)</p>



<p class="wp-block-paragraph">γ<sub>1</sub>&nbsp;= (0, 3, 5, 2)(1, 4)</p>



<pre class="wp-block-code"><code>n: 6 
k: 3 
Subset size: 20  
Bahn 1: 4 Elemente, Repraesentant: &#91;0,3,4] 
Bahn 2: 12 Elemente, Repraesentant: &#91;0,1,4]  
Bahn 3: 4 Elemente, Repraesentant: &#91;0,1,3]</code></pre>



<p class="wp-block-paragraph">Set 2</p>



<p class="wp-block-paragraph">n=8</p>



<p class="wp-block-paragraph">k=4</p>



<p class="wp-block-paragraph">γ<sub>0</sub>&nbsp;= (0, 5)(1, 4)(2, 3)(7, 6)</p>



<p class="wp-block-paragraph">γ<sub>1</sub>&nbsp;= (0, 1)(2, 7)(3, 6)(4, 5)</p>



<pre class="wp-block-code"><code>n: 8  
k: 4  
Subset size: 70 
Bahn 1: 4 Elemente, Repraesentant: &#91;2,3,4,5]  
Bahn 2: 4 Elemente, Repraesentant: &#91;1,2,4,5]  
Bahn 3: 2 Elemente, Repraesentant: &#91;1,2,3,4]  
Bahn 4: 4 Elemente, Repraesentant: &#91;1,2,3,5]  
Bahn 5: 4 Elemente, Repraesentant: &#91;1,3,4,5]  
Bahn 6: 1 Elemente, Repraesentant: &#91;0,1,4,5]  
Bahn 7: 4 Elemente, Repraesentant: &#91;0,1,3,5]  
Bahn 8: 4 Elemente, Repraesentant: &#91;0,1,2,5]  
Bahn 9: 2 Elemente, Repraesentant: &#91;0,2,3,5]  
Bahn 10: 2 Elemente, Repraesentant: &#91;0,3,4,7] 
Bahn 11: 4 Elemente, Repraesentant: &#91;0,3,5,7] 
Bahn 12: 4 Elemente, Repraesentant: &#91;0,2,3,7] 
Bahn 13: 4 Elemente, Repraesentant: &#91;0,2,4,7] 
Bahn 14: 4 Elemente, Repraesentant: &#91;0,2,5,7] 
Bahn 15: 2 Elemente, Repraesentant: &#91;0,1,2,7] 
Bahn 16: 4 Elemente, Repraesentant: &#91;0,1,3,7] 
Bahn 17: 2 Elemente, Repraesentant: &#91;1,3,5,7] 
Bahn 18: 4 Elemente, Repraesentant: &#91;1,2,3,7] 
Bahn 19: 2 Elemente, Repraesentant: &#91;2,4,5,7] 
Bahn 20: 4 Elemente, Repraesentant: &#91;2,3,4,7] 
Bahn 21: 4 Elemente, Repraesentant: &#91;2,3,5,7]
Bahn 22: 1 Elemente, Repraesentant: &#91;2,3,6,7]</code></pre>



<p class="wp-block-paragraph">Set 3</p>



<p class="wp-block-paragraph">n=14</p>



<p class="wp-block-paragraph">k=5</p>



<p class="wp-block-paragraph">γ<sub>0</sub>&nbsp;= (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)</p>



<p class="wp-block-paragraph">γ<sub>1</sub>&nbsp;= (0, 13)(1, 12)(2, 11)(3, 10)(4, 9)(5, 8)(6, 7)</p>



<pre class="wp-block-code"><code>n: 14 
k: 5  
Subset size: 2002 
Bahn 1: 14 Elemente, Repraesentant: &#91;1,2,3,4,5] 
Bahn 2: 28 Elemente, Repraesentant: &#91;1,2,3,5,6] 
Bahn 3: 28 Elemente, Repraesentant: &#91;1,3,4,5,6] 
Bahn 4: 28 Elemente, Repraesentant: &#91;1,2,3,6,7] 
Bahn 5: 28 Elemente, Repraesentant: &#91;1,3,4,6,7] 
Bahn 6: 14 Elemente, Repraesentant: &#91;1,2,4,6,7] 
Bahn 7: 28 Elemente, Repraesentant: &#91;1,4,5,6,7] 
Bahn 8: 28 Elemente, Repraesentant: &#91;1,3,5,6,7] 
Bahn 9: 14 Elemente, Repraesentant: &#91;1,3,4,5,7] 
Bahn 10: 28 Elemente, Repraesentant: &#91;1,2,3,7,8] 
Bahn 11: 28 Elemente, Repraesentant: &#91;1,3,4,7,8]  
Bahn 12: 28 Elemente, Repraesentant: &#91;1,2,4,7,8]  
Bahn 13: 28 Elemente, Repraesentant: &#91;1,4,5,7,8]  
Bahn 14: 28 Elemente, Repraesentant: &#91;1,3,5,7,8]  
Bahn 15: 28 Elemente, Repraesentant: &#91;1,5,6,7,8]  
Bahn 16: 28 Elemente, Repraesentant: &#91;1,4,6,7,8]  
Bahn 17: 28 Elemente, Repraesentant: &#91;1,3,6,7,8]  
Bahn 18: 28 Elemente, Repraesentant: &#91;1,3,4,6,8]  
Bahn 19: 28 Elemente, Repraesentant: &#91;1,4,5,6,8]  
Bahn 20: 28 Elemente, Repraesentant: &#91;1,2,3,8,9]  
Bahn 21: 28 Elemente, Repraesentant: &#91;1,3,4,8,9]  
Bahn 22: 28 Elemente, Repraesentant: &#91;1,2,4,8,9]  
Bahn 23: 28 Elemente, Repraesentant: &#91;1,4,5,8,9]  
Bahn 24: 28 Elemente, Repraesentant: &#91;1,3,5,8,9]  
Bahn 25: 14 Elemente, Repraesentant: &#91;1,2,5,8,9] 
Bahn 26: 28 Elemente, Repraesentant: &#91;1,5,6,8,9]  
Bahn 27: 28 Elemente, Repraesentant: &#91;1,4,6,8,9]  
Bahn 28: 28 Elemente, Repraesentant: &#91;1,3,6,8,9]  
Bahn 29: 28 Elemente, Repraesentant: &#91;1,6,7,8,9]  
Bahn 30: 28 Elemente, Repraesentant: &#91;1,5,7,8,9]  
Bahn 31: 28 Elemente, Repraesentant: &#91;1,4,7,8,9]  
Bahn 32: 28 Elemente, Repraesentant: &#91;1,3,7,8,9]  
Bahn 33: 28 Elemente, Repraesentant: &#91;1,3,4,7,9]  
Bahn 34: 28 Elemente, Repraesentant: &#91;1,4,5,7,9]  
Bahn 35: 14 Elemente, Repraesentant: &#91;1,3,5,7,9]  
Bahn 36: 28 Elemente, Repraesentant: &#91;1,5,6,7,9]  
Bahn 37: 28 Elemente, Repraesentant: &#91;1,4,6,7,9]  
Bahn 38: 14 Elemente, Repraesentant: &#91;1,4,5,6,9]  
Bahn 39: 28 Elemente, Repraesentant: &#91;1,3,4,9,10] 
Bahn 40: 28 Elemente, Repraesentant: &#91;1,4,5,9,10] 
Bahn 41: 28 Elemente, Repraesentant: &#91;1,3,5,9,10] 
Bahn 42: 28 Elemente, Repraesentant: &#91;1,2,5,9,10] 
Bahn 43: 28 Elemente, Repraesentant: &#91;1,5,6,9,10] 
Bahn 44: 28 Elemente, Repraesentant: &#91;1,4,6,9,10] 
Bahn 45: 28 Elemente, Repraesentant: &#91;1,3,6,9,10] 
Bahn 46: 14 Elemente, Repraesentant: &#91;1,6,7,9,10] 
Bahn 47: 28 Elemente, Repraesentant: &#91;1,5,7,9,10] 
Bahn 48: 28 Elemente, Repraesentant: &#91;1,4,7,9,10] 
Bahn 49: 28 Elemente, Repraesentant: &#91;1,3,7,9,10] 
Bahn 50: 28 Elemente, Repraesentant: &#91;1,6,8,9,10] 
Bahn 51: 28 Elemente, Repraesentant: &#91;1,5,8,9,10] 
Bahn 52: 28 Elemente, Repraesentant: &#91;1,4,8,9,10] 
Bahn 53: 14 Elemente, Repraesentant: &#91;1,3,8,9,10] 
Bahn 54: 28 Elemente, Repraesentant: &#91;1,3,4,8,10] 
Bahn 55: 28 Elemente, Repraesentant: &#91;1,4,5,8,10] 
Bahn 56: 28 Elemente, Repraesentant: &#91;1,3,5,8,10] 
Bahn 57: 28 Elemente, Repraesentant: &#91;1,5,6,8,10] 
Bahn 58: 28 Elemente, Repraesentant: &#91;1,4,6,8,10] 
Bahn 59: 28 Elemente, Repraesentant: &#91;1,5,7,8,10] 
Bahn 60: 28 Elemente, Repraesentant: &#91;1,4,7,8,10] 
Bahn 61: 28 Elemente, Repraesentant: &#91;1,4,5,7,10] 
Bahn 62: 28 Elemente, Repraesentant: &#91;1,5,6,7,10] 
Bahn 63: 14 Elemente, Repraesentant: &#91;1,5,6,10,11]  
Bahn 64: 28 Elemente, Repraesentant: &#91;1,4,6,10,11]  
Bahn 65: 28 Elemente, Repraesentant: &#91;1,5,7,10,11]  
Bahn 66: 28 Elemente, Repraesentant: &#91;1,4,7,10,11]  
Bahn 67: 28 Elemente, Repraesentant: &#91;1,3,7,10,11]  
Bahn 68: 28 Elemente, Repraesentant: &#91;1,5,8,10,11]  
Bahn 69: 28 Elemente, Repraesentant: &#91;1,4,8,10,11]
Bahn 70: 14 Elemente, Repraesentant: &#91;1,5,9,10,11]  
Bahn 71: 14 Elemente, Repraesentant: &#91;1,3,5,9,11] 
Bahn 72: 28 Elemente, Repraesentant: &#91;1,4,6,9,11] 
Bahn 73: 14 Elemente, Repraesentant: &#91;1,3,6,9,11] 
Bahn 74: 14 Elemente, Repraesentant: &#91;1,5,7,9,11] 
Bahn 75: 28 Elemente, Repraesentant: &#91;1,4,7,9,11] 
Bahn 76: 28 Elemente, Repraesentant: &#91;1,5,8,9,11] 
Bahn 77: 28 Elemente, Repraesentant: &#91;1,4,5,8,11] 
Bahn 78: 14 Elemente, Repraesentant: &#91;1,4,6,8,11] 
Bahn 79: 14 Elemente, Repraesentant: &#91;1,4,7,10,12]  
</code></pre>



<p class="wp-block-paragraph">Set 4</p>



<p class="wp-block-paragraph">n=31</p>



<p class="wp-block-paragraph">k=5</p>



<p class="wp-block-paragraph">γ<sub>0</sub>&nbsp;= (0, 19, 9, 4, 21, 10, 16, 27, 13, 6, 22, 30, 26, 24, 23, 11, 5, 2, 20, 29, 14, 18, 28, 25, 12, 17, 8, 15, 7, 3, 1)</p>



<p class="wp-block-paragraph">γ<sub>1</sub>&nbsp;= (0, 21, 26, 7, 3)(1, 9, 13, 14, 24)(2, 27, 20, 6, 28)(4, 22, 12, 18, 11)(5, 10, 23, 19, 16)(8, 17, 25, 29, 30)</p>



<pre class="wp-block-code"><code>n: 31
k: 5
Subset size: 169911  
Bahn 1: 155 Elemente, Repraesentant: &#91;0,1,19,20,21]
Bahn 2: 155 Elemente, Repraesentant: &#91;0,2,19,20,21]

...

Bahn 1098: 155 Elemente, Repraesentant: &#91;1,4,7,8,20]
Bahn 1099: 155 Elemente, Repraesentant: &#91;6,7,8,20,22]
Bahn 1100: 155 Elemente, Repraesentant: &#91;2,6,8,20,22]
Bahn 1101: 31 Elemente, Repraesentant: &#91;0,5,8,15,20] </code></pre>
<p>Der Beitrag <a href="https://maximiliankrieg.de/2015/06/diskrete-strukturen-praktikum-3/">Diskrete Strukturen (Praktikum 3)</a> erschien zuerst auf <a href="https://maximiliankrieg.de">Maximilian Krieg</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://maximiliankrieg.de/2015/06/diskrete-strukturen-praktikum-3/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Diskrete Strukturen (Klausurvorbereitung)</title>
		<link>https://maximiliankrieg.de/2015/06/diskrete-strukturen-klausurvorbereitung/</link>
					<comments>https://maximiliankrieg.de/2015/06/diskrete-strukturen-klausurvorbereitung/#respond</comments>
		
		<dc:creator><![CDATA[Maximilian]]></dc:creator>
		<pubDate>Tue, 23 Jun 2015 18:57:00 +0000</pubDate>
				<category><![CDATA[Diskrete Strukturen]]></category>
		<guid isPermaLink="false">https://maximiliankrieg.de/?p=1995</guid>

					<description><![CDATA[<p>Am heutigen Termin besprechen wir nochmals kurz alle bearbeiteten Teilgebiete des letzten halben Jahres. Alle hier aufgeführten Themen sind klausurrelevant und müssen ohne Zuhilfenahme von&#8230;</p>
<p>Der Beitrag <a href="https://maximiliankrieg.de/2015/06/diskrete-strukturen-klausurvorbereitung/">Diskrete Strukturen (Klausurvorbereitung)</a> erschien zuerst auf <a href="https://maximiliankrieg.de">Maximilian Krieg</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Am heutigen Termin besprechen wir nochmals kurz alle bearbeiteten Teilgebiete des letzten halben Jahres. Alle hier aufgeführten Themen sind klausurrelevant und müssen ohne Zuhilfenahme von Notizen beschrieben werden können. Dies beinhaltet auch formale Definitionen und Formeln, die wir auswendig beherrschen müssen. Dieser Artikel fasst daher nochmals alle genannten Lernfelder und Inhalte auf.</p>



<h3 class="wp-block-heading">Rückblick</h3>



<p class="wp-block-paragraph">Teilmengen</p>



<ul class="wp-block-list">
<li>Konzept und Definition von <em>minimal change</em>-Sequenzen</li>



<li><em>rank</em>, <em>unrank</em>, <em>successor</em> und <em>predecessor</em>-Funktionen</li>



<li>Darstellungen von n-Teilmengen <em>(Bit-Arrays und charakteristischer Vektor)</em></li>



<li>Darstellungen von k-Teilmengen einer n-Teilmenge</li>



<li>Rekursive Erzeugung aller Teilmengen <em>(Gray-Code)</em></li>



<li>Anzahl der n-Teilmengen und k-Teilmengen bestimmen</li>



<li>Binomialkoeffizient und Pascalsches Dreieck</li>
</ul>



<p class="wp-block-paragraph">Permutationen</p>



<ul class="wp-block-list">
<li>Definition einer Permutation auf n Punkten <em>(kanonischer Start mit 0)</em></li>



<li>Anzahl von Permutationen <em>(n!)</em></li>



<li>Darstellungen von Permutationen als Liste <em>(einfacher zu speichern)</em> und in Zykelnotation <em>(lesbarer für Menschen)</em></li>



<li>Definition der Identität id<sub>n</sub></li>



<li>Multiplikation und Inversion von Permutationen <em>(Aufwand O(n))</em></li>



<li>Definitionen und Transformation von Zykeltyp und <em>(Zahl-)</em>Partitionen</li>



<li>Anzahl von Permutationen mit gleichem Zykeltyp bestimmen: \(\frac{n!}{\prod_{k=1}^{n}(a_k!*k^{a_k})}\) </li>



<li>Erzeugung aller Permutationen auf n Punkten <em>(Johnson-Trotter)</em></li>
</ul>



<p class="wp-block-paragraph">Gruppen</p>



<ul class="wp-block-list">
<li>Definitionen und Axiome <em>(multiplikative und additive Gruppen)</em></li>



<li>Beispiele von Gruppen, Inversen und neutralen Elementen</li>



<li>Endliche Gruppen</li>



<li>Ordnung einer Gruppe bestimmen <em>(Anzahl der Elemente in einer Gruppe)</em></li>



<li>Definition einer Untergruppe <em>(Teilmenge einer endlichen Gruppe ist dann eine Gruppe, wenn sie Abgeschlossenheit erfüllt)</em></li>



<li>Erzeugnis von Gruppenelementen</li>



<li>Zyklische Gruppe <em>(Gruppe wird von exakt einem Element erzeugt)</em></li>



<li>Symmetrische Gruppe S<sub>n</sub></li>



<li>Untergruppen von Drehgruppen und geometrischen Objekten</li>



<li>Satz von Lagrange <em>(Untergruppenordnung teilt Gruppenordnung)</em></li>



<li>Definition von Nebenklassen</li>



<li>Berechnung von Transversalen</li>
</ul>



<p class="wp-block-paragraph">Gruppenoperationen</p>



<ul class="wp-block-list">
<li>Definitionen von Gruppenoperationen, Bahn und Stabilisator</li>



<li>Permutationsgruppen auf Graphen und k-Teilmengen anwenden</li>



<li>Bahnenalgorithmus</li>



<li>Berechnung des Stabilisators <em>(nach Schreier)</em></li>



<li>Anzahl von Fixpunktmengen, Bahnen sowie von nicht-isomorphen Graohen und Halsketten bestimmen</li>
</ul>
<p>Der Beitrag <a href="https://maximiliankrieg.de/2015/06/diskrete-strukturen-klausurvorbereitung/">Diskrete Strukturen (Klausurvorbereitung)</a> erschien zuerst auf <a href="https://maximiliankrieg.de">Maximilian Krieg</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://maximiliankrieg.de/2015/06/diskrete-strukturen-klausurvorbereitung/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Diskrete Strukturen (Vorlesung 15)</title>
		<link>https://maximiliankrieg.de/2015/06/diskrete-strukturen-vorlesung-15/</link>
					<comments>https://maximiliankrieg.de/2015/06/diskrete-strukturen-vorlesung-15/#respond</comments>
		
		<dc:creator><![CDATA[Maximilian]]></dc:creator>
		<pubDate>Mon, 22 Jun 2015 20:03:00 +0000</pubDate>
				<category><![CDATA[Diskrete Strukturen]]></category>
		<guid isPermaLink="false">https://maximiliankrieg.de/?p=2537</guid>

					<description><![CDATA[<p>Heute besprechen wir das Zählen von Bahnen anhand von Mengen und Ketten. Die hierfür verwendeten Algorithmen sind wichtig für die Klausur. Skript-Anfang manuscript &#8211; Seite&#8230;</p>
<p>Der Beitrag <a href="https://maximiliankrieg.de/2015/06/diskrete-strukturen-vorlesung-15/">Diskrete Strukturen (Vorlesung 15)</a> erschien zuerst auf <a href="https://maximiliankrieg.de">Maximilian Krieg</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Heute besprechen wir das Zählen von Bahnen anhand von Mengen und Ketten. Die hierfür verwendeten Algorithmen sind wichtig für die Klausur.</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><tbody><tr><th>Skript-Anfang</th><td>manuscript &#8211; Seite 75</td></tr><tr><th>Skript-Ende</th><td>manuscript &#8211; Seite 79</td></tr></tbody></table></figure>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6a48d2ad5ec59&quot;}" data-wp-interactive="core/image" data-wp-key="6a48d2ad5ec59" class="wp-block-image size-full wp-lightbox-container"><img fetchpriority="high" decoding="async" width="1024" height="503" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://maximiliankrieg.de/wp-content/uploads/2026/05/20150622-dist-1.png" alt="" class="wp-image-2538" title="Seite 1 der Mitschrift" srcset="https://maximiliankrieg.de/wp-content/uploads/2026/05/20150622-dist-1.png 1024w, https://maximiliankrieg.de/wp-content/uploads/2026/05/20150622-dist-1-300x147.png 300w, https://maximiliankrieg.de/wp-content/uploads/2026/05/20150622-dist-1-768x377.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6a48d2ad5f01a&quot;}" data-wp-interactive="core/image" data-wp-key="6a48d2ad5f01a" class="wp-block-image size-full wp-lightbox-container"><img decoding="async" width="715" height="890" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://maximiliankrieg.de/wp-content/uploads/2026/05/20150622-dist-2.png" alt="" class="wp-image-2539" title="Seite 2 der Mitschrift" srcset="https://maximiliankrieg.de/wp-content/uploads/2026/05/20150622-dist-2.png 715w, https://maximiliankrieg.de/wp-content/uploads/2026/05/20150622-dist-2-241x300.png 241w" sizes="(max-width: 715px) 100vw, 715px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6a48d2ad5f31b&quot;}" data-wp-interactive="core/image" data-wp-key="6a48d2ad5f31b" class="wp-block-image size-full wp-lightbox-container"><img decoding="async" width="755" height="653" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://maximiliankrieg.de/wp-content/uploads/2026/05/20150622-dist-3.png" alt="" class="wp-image-2540" title="Seite 3 der Mitschrift" srcset="https://maximiliankrieg.de/wp-content/uploads/2026/05/20150622-dist-3.png 755w, https://maximiliankrieg.de/wp-content/uploads/2026/05/20150622-dist-3-300x259.png 300w" sizes="(max-width: 755px) 100vw, 755px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6a48d2ad5f62c&quot;}" data-wp-interactive="core/image" data-wp-key="6a48d2ad5f62c" class="wp-block-image size-full wp-lightbox-container"><img loading="lazy" decoding="async" width="638" height="953" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://maximiliankrieg.de/wp-content/uploads/2026/05/20150622-dist-4.png" alt="" class="wp-image-2541" title="Seite 4 der Mitschrift" srcset="https://maximiliankrieg.de/wp-content/uploads/2026/05/20150622-dist-4.png 638w, https://maximiliankrieg.de/wp-content/uploads/2026/05/20150622-dist-4-201x300.png 201w" sizes="auto, (max-width: 638px) 100vw, 638px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>
<p>Der Beitrag <a href="https://maximiliankrieg.de/2015/06/diskrete-strukturen-vorlesung-15/">Diskrete Strukturen (Vorlesung 15)</a> erschien zuerst auf <a href="https://maximiliankrieg.de">Maximilian Krieg</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://maximiliankrieg.de/2015/06/diskrete-strukturen-vorlesung-15/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Diskrete Strukturen (Vorlesung 14)</title>
		<link>https://maximiliankrieg.de/2015/06/diskrete-strukturen-vorlesung-14/</link>
					<comments>https://maximiliankrieg.de/2015/06/diskrete-strukturen-vorlesung-14/#respond</comments>
		
		<dc:creator><![CDATA[Maximilian]]></dc:creator>
		<pubDate>Mon, 15 Jun 2015 19:02:00 +0000</pubDate>
				<category><![CDATA[Diskrete Strukturen]]></category>
		<guid isPermaLink="false">https://maximiliankrieg.de/?p=2005</guid>

					<description><![CDATA[<p>Wegen der Anwesenheitspflicht zu den Seminarpräsentationen im Modul Biometric Systems, erfolgt heute keine Teilnahme und Mitschrift von Diskrete Strukturen.</p>
<p>Der Beitrag <a href="https://maximiliankrieg.de/2015/06/diskrete-strukturen-vorlesung-14/">Diskrete Strukturen (Vorlesung 14)</a> erschien zuerst auf <a href="https://maximiliankrieg.de">Maximilian Krieg</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Wegen der Anwesenheitspflicht zu den Seminarpräsentationen im Modul <em>Biometric Systems</em>, erfolgt heute keine Teilnahme und Mitschrift von <em>Diskrete Strukturen</em>.</p>
<p>Der Beitrag <a href="https://maximiliankrieg.de/2015/06/diskrete-strukturen-vorlesung-14/">Diskrete Strukturen (Vorlesung 14)</a> erschien zuerst auf <a href="https://maximiliankrieg.de">Maximilian Krieg</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://maximiliankrieg.de/2015/06/diskrete-strukturen-vorlesung-14/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Diskrete Strukturen (Vorlesung 13)</title>
		<link>https://maximiliankrieg.de/2015/06/diskrete-strukturen-vorlesung-13/</link>
					<comments>https://maximiliankrieg.de/2015/06/diskrete-strukturen-vorlesung-13/#respond</comments>
		
		<dc:creator><![CDATA[Maximilian]]></dc:creator>
		<pubDate>Tue, 09 Jun 2015 19:02:00 +0000</pubDate>
				<category><![CDATA[Diskrete Strukturen]]></category>
		<guid isPermaLink="false">https://maximiliankrieg.de/?p=2003</guid>

					<description><![CDATA[<p>Heute wurden meinerseits keine Notizen angefertigt.</p>
<p>Der Beitrag <a href="https://maximiliankrieg.de/2015/06/diskrete-strukturen-vorlesung-13/">Diskrete Strukturen (Vorlesung 13)</a> erschien zuerst auf <a href="https://maximiliankrieg.de">Maximilian Krieg</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Heute wurden meinerseits keine Notizen angefertigt.</p>
<p>Der Beitrag <a href="https://maximiliankrieg.de/2015/06/diskrete-strukturen-vorlesung-13/">Diskrete Strukturen (Vorlesung 13)</a> erschien zuerst auf <a href="https://maximiliankrieg.de">Maximilian Krieg</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://maximiliankrieg.de/2015/06/diskrete-strukturen-vorlesung-13/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Diskrete Strukturen (Vorlesung 12)</title>
		<link>https://maximiliankrieg.de/2015/06/diskrete-strukturen-vorlesung-12/</link>
					<comments>https://maximiliankrieg.de/2015/06/diskrete-strukturen-vorlesung-12/#respond</comments>
		
		<dc:creator><![CDATA[Maximilian]]></dc:creator>
		<pubDate>Mon, 08 Jun 2015 19:01:00 +0000</pubDate>
				<category><![CDATA[Diskrete Strukturen]]></category>
		<guid isPermaLink="false">https://maximiliankrieg.de/?p=2001</guid>

					<description><![CDATA[<p>Wegen der Anwesenheitspflicht zu den Seminarpräsentationen im Modul Biometric Systems, erfolgt heute keine Teilnahme und Mitschrift von Diskrete Strukturen.</p>
<p>Der Beitrag <a href="https://maximiliankrieg.de/2015/06/diskrete-strukturen-vorlesung-12/">Diskrete Strukturen (Vorlesung 12)</a> erschien zuerst auf <a href="https://maximiliankrieg.de">Maximilian Krieg</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Wegen der Anwesenheitspflicht zu den Seminarpräsentationen im Modul <em>Biometric Systems</em>, erfolgt heute keine Teilnahme und Mitschrift von <em>Diskrete Strukturen</em>.</p>
<p>Der Beitrag <a href="https://maximiliankrieg.de/2015/06/diskrete-strukturen-vorlesung-12/">Diskrete Strukturen (Vorlesung 12)</a> erschien zuerst auf <a href="https://maximiliankrieg.de">Maximilian Krieg</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://maximiliankrieg.de/2015/06/diskrete-strukturen-vorlesung-12/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Diskrete Strukturen (Vorlesung 11)</title>
		<link>https://maximiliankrieg.de/2015/06/diskrete-strukturen-vorlesung-11/</link>
					<comments>https://maximiliankrieg.de/2015/06/diskrete-strukturen-vorlesung-11/#respond</comments>
		
		<dc:creator><![CDATA[Maximilian]]></dc:creator>
		<pubDate>Mon, 01 Jun 2015 20:07:00 +0000</pubDate>
				<category><![CDATA[Diskrete Strukturen]]></category>
		<guid isPermaLink="false">https://maximiliankrieg.de/?p=2543</guid>

					<description><![CDATA[<p>Heute behandeln wir einen Algorithmus, der uns in die Lage versetzt vollständige Bahnen zu erzeugen. Mithilfe einer Warteschlange werden Erzeuger auf sich und die resultierenden&#8230;</p>
<p>Der Beitrag <a href="https://maximiliankrieg.de/2015/06/diskrete-strukturen-vorlesung-11/">Diskrete Strukturen (Vorlesung 11)</a> erschien zuerst auf <a href="https://maximiliankrieg.de">Maximilian Krieg</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Heute behandeln wir einen Algorithmus, der uns in die Lage versetzt vollständige Bahnen zu erzeugen. Mithilfe einer Warteschlange werden Erzeuger auf sich und die resultierenden Gruppenelemente angewandt, bis keine neuen Elemente mehr hinzukommen.</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><tbody><tr><th>Skript-Anfang</th><td>manuscript &#8211; Seite 69</td></tr><tr><th>Skript-Ende</th><td>manuscript &#8211; Seite 74</td></tr></tbody></table></figure>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6a48d2ad6153c&quot;}" data-wp-interactive="core/image" data-wp-key="6a48d2ad6153c" class="wp-block-image size-full is-resized wp-lightbox-container"><img loading="lazy" decoding="async" width="1004" height="1435" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://maximiliankrieg.de/wp-content/uploads/2026/05/20150601-dist-1.jpg" alt="" class="wp-image-2544" style="width:716px;height:auto" srcset="https://maximiliankrieg.de/wp-content/uploads/2026/05/20150601-dist-1.jpg 1004w, https://maximiliankrieg.de/wp-content/uploads/2026/05/20150601-dist-1-210x300.jpg 210w, https://maximiliankrieg.de/wp-content/uploads/2026/05/20150601-dist-1-716x1024.jpg 716w, https://maximiliankrieg.de/wp-content/uploads/2026/05/20150601-dist-1-768x1098.jpg 768w" sizes="auto, (max-width: 1004px) 100vw, 1004px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6a48d2ad618b7&quot;}" data-wp-interactive="core/image" data-wp-key="6a48d2ad618b7" class="wp-block-image size-full wp-lightbox-container"><img loading="lazy" decoding="async" width="1024" height="1713" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://maximiliankrieg.de/wp-content/uploads/2026/05/20150601-dist-2.jpg" alt="" class="wp-image-2545" srcset="https://maximiliankrieg.de/wp-content/uploads/2026/05/20150601-dist-2.jpg 1024w, https://maximiliankrieg.de/wp-content/uploads/2026/05/20150601-dist-2-179x300.jpg 179w, https://maximiliankrieg.de/wp-content/uploads/2026/05/20150601-dist-2-612x1024.jpg 612w, https://maximiliankrieg.de/wp-content/uploads/2026/05/20150601-dist-2-768x1285.jpg 768w, https://maximiliankrieg.de/wp-content/uploads/2026/05/20150601-dist-2-918x1536.jpg 918w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>
<p>Der Beitrag <a href="https://maximiliankrieg.de/2015/06/diskrete-strukturen-vorlesung-11/">Diskrete Strukturen (Vorlesung 11)</a> erschien zuerst auf <a href="https://maximiliankrieg.de">Maximilian Krieg</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://maximiliankrieg.de/2015/06/diskrete-strukturen-vorlesung-11/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Diskrete Strukturen (Praktikum 2)</title>
		<link>https://maximiliankrieg.de/2015/05/diskrete-strukturen-praktikum-2/</link>
					<comments>https://maximiliankrieg.de/2015/05/diskrete-strukturen-praktikum-2/#respond</comments>
		
		<dc:creator><![CDATA[Maximilian]]></dc:creator>
		<pubDate>Fri, 29 May 2015 19:09:00 +0000</pubDate>
				<category><![CDATA[Diskrete Strukturen]]></category>
		<guid isPermaLink="false">https://maximiliankrieg.de/?p=2010</guid>

					<description><![CDATA[<p>Das zweite Praktikum beschäftigt sich mit Operationen und Darstellungen von Permutationen sowie der Erzeugung von Gruppenelementen. Weiterhin sollen Erzeuger und Gruppenordnungen für geometrische Objekte definiert&#8230;</p>
<p>Der Beitrag <a href="https://maximiliankrieg.de/2015/05/diskrete-strukturen-praktikum-2/">Diskrete Strukturen (Praktikum 2)</a> erschien zuerst auf <a href="https://maximiliankrieg.de">Maximilian Krieg</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Das zweite Praktikum beschäftigt sich mit Operationen und Darstellungen von Permutationen sowie der Erzeugung von Gruppenelementen. Weiterhin sollen Erzeuger und Gruppenordnungen für geometrische Objekte definiert werden.</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><tbody><tr><th>Skript-Anfang</th><td>Praktikum 2 &#8211; Seite 1</td></tr><tr><th>Skript-Ende</th><td>Praktikum 2 &#8211; Seite 2</td></tr></tbody></table></figure>



<h3 class="wp-block-heading">Operationen und Darstellungen von Permutationen</h3>



<p class="wp-block-paragraph">Implementieren Sie die Multiplikation und die Inversion von Permutationen in S<sub>n</sub>. Verwenden Sie die Listennotation als Darstellung im Rechner und beachten Sie die Laufzeit von O(n) für beide Routinen. Implementieren Sie die Zyklennotation als Ausgabe von Permutationen. Beachten Sie dabei die drei Konventionen: Sortieren nach dem kleinsten Element innerhalb eines Zykels, Weglassen von Einerzyklen und die gesonderte Darstellung der Identität.</p>



<p class="wp-block-paragraph">Konsolenausgabe des folgenden Quellcodes</p>



<pre class="wp-block-code"><code>Ausgaben Zykel (Offset 1):
vA &#91;5,4,3,2,1] = (1,5)(2,4) 
vB &#91;2,4,1,3,5] = (1,2,4,3) 
vC &#91;2,5,4,3,1] = (1,2,5)(3,4) 
vD &#91;3,2,6,9,5,7,1,8,4] = (1,3,6,7)(4,9) 
id &#91;1,2,3,4,5] = id5

Multiplikation von: 
(1,5)(2,4) * (1,2,4,3) -&gt; (1,4,3,5)

Inversion:
(1,2,5)(3,4) -&gt; (1,5,2)(3,4)</code></pre>



<h4 class="wp-block-heading">Includes und Deklarationen</h4>



<pre class="wp-block-code"><code>#include &lt;iostream&gt;
#include &lt;vector&gt;
#include &lt;string&gt;
#include &lt;sstream&gt;
#include &lt;math.h&gt;
#include &lt;assert.h&gt;
#include &lt;algorithm&gt;
using namespace std;
  
string list_to_cycle(vector&lt;unsigned int&gt;&amp; vVector, int iOffset);
string output_list(vector&lt;unsigned int&gt;&amp; vVector, int iOffset);
bool isId(vector&lt;unsigned int&gt;&amp; vTmp);
vector&lt;unsigned int&gt; invertieren(vector&lt;unsigned int&gt;&amp; vVector);
vector&lt;unsigned int&gt; multiplizieren(vector&lt;unsigned int&gt;&amp; vLinks, vector&lt;unsigned int&gt;&amp; vRechts);</code></pre>



<h4 class="wp-block-heading">Main()</h4>



<pre class="wp-block-code"><code>int main() {
    int iTmp&#91;] = {0,1,2,3,4};
    vector&lt;unsigned int&gt; vID(iTmp, iTmp + sizeof iTmp / sizeof iTmp&#91;0]);
     
    int iTmp2&#91;] = {4,3,2,1,0};
    vector&lt;unsigned int&gt; vA(iTmp2, iTmp2 + sizeof iTmp2 / sizeof iTmp2&#91;0]);

    int iTmp3&#91;] = {1,3,0,2,4};
    vector&lt;unsigned int&gt; vB(iTmp3, iTmp3 + sizeof iTmp3 / sizeof iTmp3&#91;0]);
     
    int iTmp4&#91;] = {1,4,3,2,0};
    vector&lt;unsigned int&gt; vC(iTmp4, iTmp4 + sizeof iTmp4 / sizeof iTmp4&#91;0]);
     
    // 3,2,6,9,5,7,1,8,4 //  http://cims.nyu.edu/~kiryl/teaching/aa/les100103.pdf (1367)(49)
    int iTmp5&#91;] = {2,1,5,8,4,6,0,7,3};
    vector&lt;unsigned int&gt; vD(iTmp5, iTmp5 + sizeof iTmp5 / sizeof iTmp5&#91;0]);
     
    // Umwandlung in Zykelnotation (Offset 1)
    cout &lt;&lt; "Ausgaben Zykel (Offset 1):\n";
    cout &lt;&lt; "vA &#91;5,4,3,2,1] = " &lt;&lt; list_to_cycle(vA,1) &lt;&lt; "\n";
    cout &lt;&lt; "vB &#91;2,4,1,3,5] = " &lt;&lt; list_to_cycle(vB,1) &lt;&lt; "\n";
    cout &lt;&lt; "vC &#91;2,5,4,3,1] = " &lt;&lt; list_to_cycle(vC,1) &lt;&lt; "\n";
    cout &lt;&lt; "vD &#91;3,2,6,9,5,7,1,8,4] = " &lt;&lt; list_to_cycle(vD,1) &lt;&lt; "\n";
    cout &lt;&lt; "id &#91;1,2,3,4,5] = " &lt;&lt; list_to_cycle(vID,1)&lt;&lt; "\n\n";  
     
    //Multiplizieren (Offset 1)
    vector&lt;unsigned int&gt; vTmp=multiplizieren(vA,vB);
    cout    &lt;&lt; "Multiplikation von: \n"
            &lt;&lt; list_to_cycle(vA,1)
            &lt;&lt; " * "
            &lt;&lt; list_to_cycle(vB,1)
            &lt;&lt; " -&gt; "
            &lt;&lt; list_to_cycle(vTmp,1)
            &lt;&lt; "\n\n";
   
    // Invertieren (Offset 1)
    vTmp = invertieren(vC);
    cout &lt;&lt; "Inversion: \n";
    cout &lt;&lt; list_to_cycle(vC,1) &lt;&lt; " -&gt; " &lt;&lt; list_to_cycle(vTmp,1);
    cout &lt;&lt; "\n\n";
}</code></pre>



<h4 class="wp-block-heading">Multiplikation</h4>



<pre class="wp-block-code"><code>vector&lt;unsigned int&gt; multiplizieren(vector&lt;unsigned int&gt;&amp; vLinks, vector&lt;unsigned int&gt;&amp; vRechts)
{   
    vector&lt;unsigned int&gt; tmp(vRechts.size(),0);
    for (unsigned int i=0;i&lt;vRechts.size();i++)
    {
        tmp&#91;i]=vLinks&#91;vRechts&#91;i]];
    }
    return tmp;
}</code></pre>



<h4 class="wp-block-heading">Inversion</h4>



<pre class="wp-block-code"><code>vector&lt;unsigned int&gt; invertieren(vector&lt;unsigned int&gt;&amp; vVector)
{
    vector&lt;unsigned int&gt; tmp(vVector.size(),0);
    for (unsigned int i=0;i&lt;vVector.size();i++)
    {
        tmp&#91;vVector&#91;i]]=i;
    }
    return tmp;
}</code></pre>



<h4 class="wp-block-heading">Ausgabe in Zykelnotation</h4>



<pre class="wp-block-code"><code>string list_to_cycle(vector&lt;unsigned int&gt;&amp; vVector, int iOffset) {
    stringstream ss;
    if (isId(vVector)) {
        ss &lt;&lt; "id" &lt;&lt; vVector.size();
    } else {
        bool bAktiv&#91;vVector.size()];
        for (unsigned int i = 0; i &lt; vVector.size(); i++) {
            bAktiv&#91;i] = true;
        }
 
        for (unsigned int i = 0; i &lt; vVector.size(); i++) {
            if (bAktiv&#91;i]) {
                if (i == vVector&#91;i]) {
                    bAktiv&#91;i] = false;
                    continue;
                } else {
                    ss &lt;&lt; "(";
                    ss &lt;&lt; i + iOffset;
                    bAktiv&#91;i] = false;
                    int j = i;
 
                    while (bAktiv&#91;vVector&#91;j]]) {
                        j = vVector&#91;j];
                        ss &lt;&lt; "," &lt;&lt; j + iOffset;
                        bAktiv&#91;j] = false;
                    }
                    ss &lt;&lt; ")";
                }
            }
        }
    }
    return ss.str();
}</code></pre>



<h4 class="wp-block-heading">Hilfsfunktionen</h4>



<pre class="wp-block-code"><code>bool isId(vector&lt;unsigned int&gt;&amp; vTmp) {
    for (unsigned int i = 0; i &lt; vTmp.size(); i++) {
        if (i != vTmp&#91;i]) {
            return false;
        }
    }
    return true;
}

string output_list(vector&lt;unsigned int&gt;&amp; vVector, int iOffset)
{
    stringstream ss;
 
    if (isId(vVector)==true)
    {
        ss &lt;&lt; "id" &lt;&lt; vVector.size();
    }
    else
    {
        ss &lt;&lt; "&#91;";
        for (unsigned int i=0;i&lt;vVector.size();i++)
        {
            ss &lt;&lt; vVector&#91;i]+ iOffset;
            if (i&lt;vVector.size()-1)
            {
                ss &lt;&lt; ",";
            }
        }
        ss &lt;&lt; "]";
    }
    return ss.str();
}</code></pre>



<h3 class="wp-block-heading">Erzeugung von Gruppenelementen</h3>



<p class="wp-block-paragraph">Entwerfen und implementieren Sie einen Algorithmus, welche bei Eingabe einer Liste von Permutationen \(\pi_0, \cdots, \pi_{l-1} \in S_n\) alle Gruppenelemente der von diesen Permutationen erzeugten Gruppe \( G=\left \langle \pi_0 ,\cdots, \pi_{l-1} \right \rangle \) generiert. Dokumentieren und erläutern Sie alle Schritte nachvollziehbar.</p>



<p class="wp-block-paragraph">Konsolenausgabe des folgenden Quellcodes</p>



<pre class="wp-block-code"><code>Aufgabe 2:

Erzeuger:
(0,1,2,3)
(0,1)(2,3)

Gruppenelemente:
&#91;1,2,3,0] | (0,1,2,3)
&#91;1,0,3,2] | (0,1)(2,3)
&#91;2,3,0,1] | (0,2)(1,3)
&#91;0,3,2,1] | (1,3)
&#91;2,1,0,3] | (0,2)
id4 | id4
&#91;3,0,1,2] | (0,3,2,1)
&#91;3,2,1,0] | (0,3)(1,2)</code></pre>



<h4 class="wp-block-heading">Includes und Deklarationen</h4>



<p class="wp-block-paragraph">Für diese Aufgabe benötigen wir die Invertierung nicht mehr. Stattdessen deklarieren wir nun eine Funktion zur Überprüfung der Gleichheit von zwei Vektoren sowie die Funktion zur Erzeugung aller&nbsp;Gruppenelemente.</p>



<pre class="wp-block-code"><code>#include &lt;iostream&gt;
#include &lt;vector&gt;
#include &lt;string&gt;
#include &lt;sstream&gt;
#include &lt;math.h&gt;
#include &lt;assert.h&gt;
#include &lt;algorithm&gt;
using namespace std;
  
string list_to_cycle(vector&lt;unsigned int&gt;&amp; vVector, int iOffset);
string output_list(vector&lt;unsigned int&gt;&amp; vVector, int iOffset);
bool isId(vector&lt;unsigned int&gt;&amp; vTmp);
vector&lt;unsigned int&gt; multiplizieren(vector&lt;unsigned int&gt;&amp; vLinks, vector&lt;unsigned int&gt;&amp; vRechts);<br>void create_group(vector&lt; vector&lt;unsigned int&gt; &gt;&amp; vErzeuger);
bool areEqual(vector&lt;unsigned int&gt;&amp; vA, vector&lt;unsigned int&gt;&amp; vB);</code></pre>



<h4 class="wp-block-heading">Main()</h4>



<pre class="wp-block-code"><code>int main() {
    cout &lt;&lt; "Aufgabe 2:\n\n";
    vector&lt; vector&lt;unsigned int&gt; &gt; vErzeuger;   
 
    vector&lt;unsigned int&gt; vErzeuger1;
    vErzeuger1.push_back(1);
    vErzeuger1.push_back(2);
    vErzeuger1.push_back(3);
    vErzeuger1.push_back(0);
 
    vector&lt;unsigned int&gt; vErzeuger2;
    vErzeuger2.push_back(1);
    vErzeuger2.push_back(0);
    vErzeuger2.push_back(3);
    vErzeuger2.push_back(2);    
    
    vErzeuger.push_back(vErzeuger1);
    vErzeuger.push_back(vErzeuger2);
    
    create_group(vErzeuger);
}</code></pre>



<h4 class="wp-block-heading">Erzeugung aller Gruppenelemente</h4>



<pre class="wp-block-code"><code>void create_group(vector&lt; vector&lt;unsigned int&gt; &gt;&amp; vErzeuger)
 {     
    vector&lt; vector&lt;unsigned int&gt; &gt; vSchlange;
    vector&lt; vector&lt;unsigned int&gt; &gt; vAblage;
    vector&lt;unsigned int&gt; tmp;
    
     cout &lt;&lt; "Erzeuger:\n";
    for (unsigned int i=0;i&lt;vErzeuger.size();i++)
    {
        vAblage.push_back(vErzeuger.at(i));
        vSchlange.push_back(vErzeuger.at(i));
       cout &lt;&lt; list_to_cycle(vErzeuger.at(i),0) &lt;&lt; "\n";
    }
    cout &lt;&lt; "\n";
    
    // Läuft solange die Qu nicht leer ist
    while (vSchlange.size()&gt;0)
    {
        // Laufe alle Erzeuger ab und wende sie auf das erste Element in Q an
        for (unsigned int j=0;j&lt;vErzeuger.size();j++)
        {
            // Erzeuge Element
            vector&lt;unsigned int&gt; vT = multiplizieren(vErzeuger.at(j),vSchlange.at(0));
         
            bool unknown=true;
         
            // Prüfe ob Element bekannt ist
            for (unsigned int x=0;x&lt;vAblage.size();x++)
            {
                tmp=vAblage.at(x);
             
                if (areEqual(vT, tmp)==true)
                {
                    unknown=false;
                    break;
                }
            }
         
            //wenn unbekannt, kommt es auf die Q
            if (unknown==true)
            {
                vSchlange.push_back(vT);
                vAblage.push_back(vT);
            }
        }
     
        // entferne erstes Element aus Q nachdem alle Erzeuger drόber sind
        tmp=vSchlange.at(0);
        vSchlange.erase(vSchlange.begin()); 
    }
 
    // Ausgabe der Ablage
    cout &lt;&lt; "Gruppenelemente:\n";
    for (unsigned int i=0;i&lt;vAblage.size();i++)
    {
        cout &lt;&lt; output_list(vAblage.at(i),0) &lt;&lt; " | " &lt;&lt; list_to_cycle(vAblage.at(i),0) &lt;&lt; "\n";
    }
}</code></pre>



<h4 class="wp-block-heading">Hilfsfunktionen</h4>



<p class="wp-block-paragraph">Hier ist die Vergleichsfunktion zweier Integer-Vektoren zu finden. Eine wesentlich effizientere Vergleichsmethode wäre es den Rang beider Vektoren zu bestimmen und diesen zu vergleichen. Für dieses Praktikum ist diese Lösung jedoch ausreichend.</p>



<pre class="wp-block-code"><code>bool areEqual(vector&lt;unsigned int&gt;&amp; vA, vector&lt;unsigned int&gt;&amp; vB)
{
    // Größe weicht ab / vermeidet Fehler
    if (vA.size()!=vB.size())
    {
        // Groessenabweichung
        return false;
    }
 
    // Vergleiche Stellenweise
    for (unsigned int i=0;i&lt;vA.size();i++)
    {
        if (vA&#91;i]!=vB&#91;i])
        {
            // Stellenweise Abweichung
            return false;
        }
    }
    // Sie sind gleich
    return true;
}</code></pre>



<h3 class="wp-block-heading">Erzeuger von geometrischen Objekten</h3>



<p class="wp-block-paragraph">Definieren Sie für folgende Gruppen Erzeuger und generieren Sie alle Gruppenelemente mit der Routine aus Aufgabe 2. Wie sind die Gruppenordnungen?</p>



<p class="wp-block-paragraph">Symmetriegruppe D<sub>3</sub>&nbsp;des regulären Dreiecks</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6a48d2ad6379f&quot;}" data-wp-interactive="core/image" data-wp-key="6a48d2ad6379f" class="wp-block-image size-full wp-lightbox-container"><img loading="lazy" decoding="async" width="400" height="362" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://maximiliankrieg.de/wp-content/uploads/2026/04/20150709-dist-dreieck.png" alt="" class="wp-image-2011" title="Dreieck" srcset="https://maximiliankrieg.de/wp-content/uploads/2026/04/20150709-dist-dreieck.png 400w, https://maximiliankrieg.de/wp-content/uploads/2026/04/20150709-dist-dreieck-300x272.png 300w" sizes="auto, (max-width: 400px) 100vw, 400px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Dreieck</figcaption></figure>



<pre class="wp-block-code"><code>Erzeuger:
(0,1,2)
(0,1)

Gruppenelemente:
&#91;1,2,0] | (0,1,2)
&#91;1,0,2] | (0,1)
&#91;2,0,1] | (0,2,1)
&#91;0,2,1] | (1,2)
&#91;2,1,0] | (0,2)
id3 | id3</code></pre>



<p class="wp-block-paragraph">Die Ordnung der Gruppe beträgt 6.</p>



<p class="wp-block-paragraph">Symmetriegruppe V<sub>4</sub>&nbsp;eines Rechtecks mit unterschiedlicher Seitenlänge</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6a48d2ad63b53&quot;}" data-wp-interactive="core/image" data-wp-key="6a48d2ad63b53" class="wp-block-image size-full wp-lightbox-container"><img loading="lazy" decoding="async" width="400" height="273" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://maximiliankrieg.de/wp-content/uploads/2026/04/20150709-dist-rechteck.png" alt="" class="wp-image-2012" title="Rechteck" srcset="https://maximiliankrieg.de/wp-content/uploads/2026/04/20150709-dist-rechteck.png 400w, https://maximiliankrieg.de/wp-content/uploads/2026/04/20150709-dist-rechteck-300x205.png 300w" sizes="auto, (max-width: 400px) 100vw, 400px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Rechteck</figcaption></figure>



<pre class="wp-block-code"><code>Erzeuger:
(0,1)(2,3)
(0,2)(1,3)

Gruppenelemente:
&#91;1,0,3,2] | (0,1)(2,3)
&#91;2,3,0,1] | (0,2)(1,3)
id4 | id4
&#91;3,2,1,0] | (0,3)(1,2)</code></pre>



<p class="wp-block-paragraph">Die Ordnung der Gruppe beträgt 4.</p>



<p class="wp-block-paragraph">Symmetriegruppe T des Tetraeders</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6a48d2ad63ed8&quot;}" data-wp-interactive="core/image" data-wp-key="6a48d2ad63ed8" class="wp-block-image size-full wp-lightbox-container"><img loading="lazy" decoding="async" width="400" height="337" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://maximiliankrieg.de/wp-content/uploads/2026/04/20150709-dist-tetraeder.png" alt="" class="wp-image-2013" title="Tetraeder" srcset="https://maximiliankrieg.de/wp-content/uploads/2026/04/20150709-dist-tetraeder.png 400w, https://maximiliankrieg.de/wp-content/uploads/2026/04/20150709-dist-tetraeder-300x253.png 300w" sizes="auto, (max-width: 400px) 100vw, 400px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Tetraeder</figcaption></figure>



<pre class="wp-block-code"><code>Erzeuger:
(0,1,2)
(0,3)(1,2)

Gruppenelemente:
&#91;1,2,0,3] | (0,1,2)
&#91;3,2,1,0] | (0,3)(1,2)
&#91;2,0,1,3] | (0,2,1)
&#91;2,1,3,0] | (0,2,3)
&#91;3,0,2,1] | (0,3,1)
id4 | id4
&#91;1,3,2,0] | (0,1,3)
&#91;0,2,3,1] | (1,2,3)
&#91;3,1,0,2] | (0,3,2)
&#91;0,3,1,2] | (1,3,2)
&#91;2,3,0,1] | (0,2)(1,3)
&#91;1,0,3,2] | (0,1)(2,3)</code></pre>



<p class="wp-block-paragraph">Die Gruppenordnung beträgt 12.</p>



<p class="wp-block-paragraph">Symmetriegruppe Q des Würfels</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6a48d2ad6428c&quot;}" data-wp-interactive="core/image" data-wp-key="6a48d2ad6428c" class="wp-block-image size-full wp-lightbox-container"><img loading="lazy" decoding="async" width="400" height="398" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://maximiliankrieg.de/wp-content/uploads/2026/04/20150709-dist-wuerfel.png" alt="" class="wp-image-2014" title="Würfel" srcset="https://maximiliankrieg.de/wp-content/uploads/2026/04/20150709-dist-wuerfel.png 400w, https://maximiliankrieg.de/wp-content/uploads/2026/04/20150709-dist-wuerfel-300x300.png 300w, https://maximiliankrieg.de/wp-content/uploads/2026/04/20150709-dist-wuerfel-150x150.png 150w" sizes="auto, (max-width: 400px) 100vw, 400px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Würfel</figcaption></figure>



<pre class="wp-block-code"><code>Erzeuger:
(0,1,2,3)(4,5,6,7)
(0,3,7,4)(1,2,6,5)

Gruppenelemente:
&#91;1,2,3,0,5,6,7,4] | (0,1,2,3)(4,5,6,7)
&#91;3,2,6,7,0,1,5,4] | (0,3,7,4)(1,2,6,5)
&#91;2,3,0,1,6,7,4,5] | (0,2)(1,3)(4,6)(5,7)
&#91;2,6,7,3,1,5,4,0] | (0,2,7)(1,6,4)
&#91;0,3,7,4,1,2,6,5] | (1,3,4)(2,7,5)
&#91;7,6,5,4,3,2,1,0] | (0,7)(1,6)(2,5)(3,4)
&#91;3,0,1,2,7,4,5,6] | (0,3,2,1)(4,7,6,5)
&#91;6,7,3,2,5,4,0,1] | (0,6)(1,7)(2,3)(4,5)
&#91;3,7,4,0,2,6,5,1] | (0,3)(1,7)(2,4)(5,6)
&#91;6,5,4,7,2,1,0,3] | (0,6)(1,5)(2,4)(3,7)
&#91;1,0,4,5,2,3,7,6] | (0,1)(2,4)(3,5)(6,7)
&#91;4,7,6,5,0,3,2,1] | (0,4)(1,7)(2,6)(3,5)
&#91;4,5,1,0,7,6,2,3] | (0,4,7,3)(1,5,6,2)
id8 | id8
&#91;7,3,2,6,4,0,1,5] | (0,7,5)(1,3,6)
&#91;7,4,0,3,6,5,1,2] | (0,7,2)(1,4,6)
&#91;5,4,7,6,1,0,3,2] | (0,5)(1,4)(2,7)(3,6)
&#91;0,4,5,1,3,7,6,2] | (1,4,3)(2,5,7)
&#91;5,1,0,4,6,2,3,7] | (0,5,2)(3,4,6)
&#91;2,1,5,6,3,0,4,7] | (0,2,5)(3,6,4)
&#91;5,6,2,1,4,7,3,0] | (0,5,7)(1,6,3)
&#91;4,0,3,7,5,1,2,6] | (0,4,5,1)(2,3,7,6)
&#91;1,5,6,2,0,4,7,3] | (0,1,5,4)(2,6,7,3)
&#91;6,2,1,5,7,3,0,4] | (0,6)(1,2)(3,5)(4,7)</code></pre>



<p class="wp-block-paragraph">Die Gruppenordnung beträgt 24.</p>



<p class="wp-block-paragraph">Symmetriegruppe I des Ikosaeders</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6a48d2ad6461f&quot;}" data-wp-interactive="core/image" data-wp-key="6a48d2ad6461f" class="wp-block-image size-full wp-lightbox-container"><img loading="lazy" decoding="async" width="400" height="424" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://maximiliankrieg.de/wp-content/uploads/2026/04/20150709-dist-ikosaeder.png" alt="" class="wp-image-2015" title="Ikosaeder" srcset="https://maximiliankrieg.de/wp-content/uploads/2026/04/20150709-dist-ikosaeder.png 400w, https://maximiliankrieg.de/wp-content/uploads/2026/04/20150709-dist-ikosaeder-283x300.png 283w" sizes="auto, (max-width: 400px) 100vw, 400px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Ikosaeder</figcaption></figure>



<pre class="wp-block-code"><code>Erzeuger:
(1,2,3,4,5)(6,7,8,9,10)
(0,3,10,9,1)(4,6,11,8,5)

Gruppenelemente:
&#91;0,2,3,4,5,1,7,8,9,10,6,11] | (1,2,3,4,5)(6,7,8,9,10)
&#91;3,0,2,10,6,4,11,7,5,1,9,8] | (0,3,10,9,1)(4,6,11,8,5)
&#91;0,3,4,5,1,2,8,9,10,6,7,11] | (1,3,5,2,4)(6,8,10,7,9)
&#91;3,2,10,6,4,0,7,5,1,9,11,8] | (0,3,6,7,5)(1,2,10,11,8)
&#91;4,0,3,6,7,5,11,8,1,2,10,9] | (0,4,7,8,1)(2,3,6,11,9)
&#91;10,3,2,9,11,6,8,7,4,0,1,5] | (0,10,1,3,9)(4,11,5,6,8)
&#91;0,4,5,1,2,3,9,10,6,7,8,11] | (1,4,2,5,3)(6,9,7,10,8)
&#91;3,10,6,4,0,2,5,1,9,11,7,8] | (0,3,4)(1,10,7)(2,6,5)(8,9,11)
&#91;4,3,6,7,5,0,8,1,2,10,11,9] | (0,4,5)(1,3,7)(2,6,8)(9,10,11)
&#91;10,2,9,11,6,3,7,4,0,1,8,5] | (0,10,8)(1,2,9)(3,11,5)(4,6,7)
&#91;5,0,4,7,8,1,11,9,2,3,6,10] | (0,5,1)(2,4,8)(3,7,9)(6,11,10)
&#91;6,3,10,11,7,4,8,5,0,2,9,1] | (0,6,8)(1,3,11)(2,10,9)(4,7,5)
&#91;6,4,3,10,11,7,9,8,5,0,2,1] | (0,6,9)(1,4,11)(2,3,10)(5,7,8)
&#91;9,10,2,1,8,11,5,7,6,3,0,4] | (0,9,3,1,10)(4,8,6,5,11)
&#91;0,5,1,2,3,4,10,6,7,8,9,11] | (1,5,4,3,2)(6,10,9,8,7)
&#91;3,6,4,0,2,10,1,9,11,7,5,8] | (0,3)(1,6)(2,4)(5,10)(7,9)(8,11)
&#91;4,6,7,5,0,3,1,2,10,11,8,9] | (0,4)(1,6)(2,7)(3,5)(8,10)(9,11)
&#91;10,9,11,6,3,2,4,0,1,8,7,5] | (0,10,7)(1,9,8)(2,11,5)(3,6,4)
&#91;5,4,7,8,1,0,9,2,3,6,11,10] | (0,5)(1,4)(2,7)(3,8)(6,9)(10,11)
&#91;6,10,11,7,4,3,5,0,2,9,8,1] | (0,6,5,3,7)(1,10,8,2,11)
&#91;9,2,1,8,11,10,7,6,3,0,5,4] | (0,9)(1,2)(3,8)(4,11)(5,10)(6,7)
&#91;1,0,5,8,9,2,11,10,3,4,7,6] | (0,1)(2,5)(3,8)(4,9)(6,11)(7,10)
&#91;7,4,6,11,8,5,9,1,0,3,10,2] | (0,7,1,4,8)(2,6,9,3,11)
&#91;11,10,9,8,7,6,5,4,3,2,1,0] | (0,11)(1,10)(2,9)(3,8)(4,7)(5,6)
&#91;7,5,4,6,11,8,10,9,1,0,3,2] | (0,7,9)(1,5,8)(2,4,11)(3,6,10)
&#91;11,6,10,9,8,7,1,5,4,3,2,0] | (0,11)(1,6)(2,10)(3,9)(4,8)(5,7)
&#91;10,6,3,2,9,11,1,8,7,4,0,5] | (0,10)(1,6)(2,3)(4,9)(5,11)(7,8)
&#91;1,9,2,0,5,8,4,7,11,10,3,6] | (0,1,9,10,3)(4,5,8,11,6)
id12 | id12
&#91;3,4,0,2,10,6,9,11,7,5,1,8] | (0,3,2)(1,4,10)(5,6,9)(7,11,8)
&#91;4,7,5,0,3,6,2,10,11,8,1,9] | (0,4,3)(1,7,10)(2,5,6)(8,11,9)
&#91;10,11,6,3,2,9,0,1,8,7,4,5] | (0,10,4,2,6)(1,11,5,9,7)
&#91;5,7,8,1,0,4,2,3,6,11,9,10] | (0,5,4)(1,7,3)(2,8,6)(9,11,10)
&#91;6,11,7,4,3,10,0,2,9,8,5,1] | (0,6)(1,11)(2,7)(3,4)(5,10)(8,9)
&#91;9,1,8,11,10,2,6,3,0,5,7,4] | (0,9,5,2,8)(3,11,4,10,7)
&#91;1,5,8,9,2,0,10,3,4,7,11,6] | (0,1,5)(2,8,4)(3,9,7)(6,10,11)
&#91;7,6,11,8,5,4,1,0,3,10,9,2] | (0,7)(1,6)(2,11)(3,8)(4,5)(9,10)
&#91;11,9,8,7,6,10,4,3,2,1,5,0] | (0,11)(1,9)(2,8)(3,7)(4,6)(5,10)
&#91;1,2,0,5,8,9,7,11,10,3,4,6] | (0,1,2)(3,5,9)(4,8,10)(6,7,11)
&#91;2,0,1,9,10,3,11,6,4,5,8,7] | (0,2,1)(3,9,5)(4,10,8)(6,11,7)
&#91;8,5,7,11,9,1,10,2,0,4,6,3] | (0,8)(1,5)(2,7)(3,11)(4,9)(6,10)
&#91;8,9,1,5,7,11,4,6,10,2,0,3] | (0,8,10)(1,9,2)(3,5,11)(4,7,6)
&#91;8,1,5,7,11,9,6,10,2,0,4,3] | (0,8,2,5,9)(3,7,10,4,11)
&#91;11,7,6,10,9,8,2,1,5,4,3,0] | (0,11)(1,7)(2,6)(3,10)(4,9)(5,8)
&#91;8,11,9,1,5,7,0,4,6,10,2,3] | (0,8,6)(1,11,3)(2,9,10)(4,5,7)
&#91;6,7,4,3,10,11,2,9,8,5,0,1] | (0,6,2,4,10)(1,7,9,5,11)
&#91;9,11,10,2,1,8,0,5,7,6,3,4] | (0,9,6)(1,11,4)(2,10,3)(5,8,7)
&#91;2,10,3,0,1,9,5,8,11,6,4,7] | (0,2,3)(1,10,4)(5,9,6)(7,8,11)
&#91;4,5,0,3,6,7,10,11,8,1,2,9] | (0,4,6,10,2)(1,5,7,11,9)
&#91;5,8,1,0,4,7,3,6,11,9,2,10] | (0,5,7,6,3)(1,8,11,10,2)
&#91;9,8,11,10,2,1,3,0,5,7,6,4] | (0,9,7)(1,8,5)(2,11,4)(3,10,6)
&#91;1,8,9,2,0,5,3,4,7,11,10,6] | (0,1,8,7,4)(2,9,11,6,3)
&#91;7,11,8,5,4,6,0,3,10,9,1,2] | (0,7,3,5,6)(1,11,2,8,10)
&#91;11,8,7,6,10,9,3,2,1,5,4,0] | (0,11)(1,8)(2,7)(3,6)(4,10)(5,9)
&#91;2,1,9,10,3,0,6,4,5,8,11,7] | (0,2,9,8,5)(3,10,11,7,4)
&#91;8,7,11,9,1,5,2,0,4,6,10,3] | (0,8,4,1,7)(2,11,3,9,6)
&#91;2,3,0,1,9,10,8,11,6,4,5,7] | (0,2)(1,3)(4,9)(5,10)(6,8)(7,11)
&#91;5,1,0,4,7,8,6,11,9,2,3,10] | (0,5,8,9,2)(3,4,7,11,10)
&#91;7,8,5,4,6,11,3,10,9,1,0,2] | (0,7,10)(1,8,9)(2,5,11)(3,4,6)
&#91;2,9,10,3,0,1,4,5,8,11,6,7] | (0,2,10,6,4)(1,9,11,7,5)</code></pre>



<p class="wp-block-paragraph">Die Gruppenordnung beträgt 60. Es gilt verallgemeinert: \(|\text{Gruppenelemente}|=|\text{Knoten}|*|\text{Kanten pro Knoten}|\).</p>
<p>Der Beitrag <a href="https://maximiliankrieg.de/2015/05/diskrete-strukturen-praktikum-2/">Diskrete Strukturen (Praktikum 2)</a> erschien zuerst auf <a href="https://maximiliankrieg.de">Maximilian Krieg</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://maximiliankrieg.de/2015/05/diskrete-strukturen-praktikum-2/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
