TU Wien:Algebra und Diskrete Mathematik VU (diverse)/Übungen 2023W/Beispiel 187

Aus VoWi
Zur Navigation springen Zur Suche springen

Wieviele verschiedene Variablennamen kann man in einer fiktiven Programmiersprache verwenden, wenn diese Namen aus mindestens einem, höchstens aber vier (nicht notwendig verschieden) Buchstaben {A,...,Z} bestehen müssen, und die Befehle AND, OR, IF, THEN und GOTO nicht als Teilwörter enthalten sein dürfen.

Dieses Beispiel hat einen unbekannten Lösungsstatus. Bitte editiere diese Seite und schreibe den dir bekannten Status ins Beispiel. Die möglichen Werte sind hier: Vorlage:Beispiel dokumentiert. Führe folgende Änderung durch:
{{Beispiel|1=
Angabetext
}}

oder

{{Beispiel|
Angabetext
}}

zu (im Falle einer korrekten, unverifizierten Lösung "solved". Auch möglich "unsolved", "wrong", "verified_by_tutor". Alle möglichen Werte sind hier: Vorlage:Beispiel dokumentiert.)

{{Beispiel|status=solved|1=
Angabetext
}}


Lösungsvorschlag von W wallner[Bearbeiten | Quelltext bearbeiten]

Das Beispiel kann mit dem Inklusions-Exklusions-Prinzip gelöst werden.

Gesucht ist die Menge M der Wörter mit Länge 1 bis 4 ohne die reservierten Teilwörter.

Wir betrachten das Universum E der Wörter mit einer Länge von 1 bis 4. E besteht aus den Mengen der Wörter mit Länge k, . Jede Menge enthält alle Variationen mit Wiederholung von k Buchstaben mit jeweils 26 Möglichkeiten, also gilt:





Die Gesamtgröße unseres Universums ist also:


Davon müssen wir jetzt die Vereinigung der Mengen mit den reservierten Teilwörter abziehen. Dabei müssen wir berücksichtigen, dass es Wörter gibt, die mehrere Teilwöter enthalten, und deshalb fälschlicherweise öfters abgezogen werden (z.B.: Das Wort IFOR enthält die beiden Teilwörter IF und OR, darf aber nur einmal abgezogen werden.)

Wir berechnen deshalb die Beträge der reservierten Teilmengen, sowie die Beträge der Vereinigungen mehrerer Teilmengen. Dabei bezeichnet z.B. xOR die Menge aller Wörter, die als erstes einen beliebigen Buchstaben, und als zweiten und dritten die Buchstaben OR enthalten ({AOR, BOR, COR, DOR, ..., ZOR)

Beträge der einzelnen Mengen[Bearbeiten | Quelltext bearbeiten]














 







Beträge der Vereinigungen[Bearbeiten | Quelltext bearbeiten]

Es gibt bei unsere Angabe nur 4 mögliche Wörter, die mehr als ein Teilwort enthalten können. Beim Test sollte man aber vorsichtig sein, falls z.B. in der Angabe die Teilwörter (GOTO, GO, TO), (FOR, OR), (TO, OR) oder ähnliches genannt werden (siehe Angabe und Lösung weiter unten von mnemetz).





Alle anderen Vereinigungen von zwei oder mehr Teilmengen sind leer.

Anmerkung mick:

Ist hier nicht geschnitten gemeint?

Anwenden des Inklusions-Exklusions-Prinzips[Bearbeiten | Quelltext bearbeiten]

Einsetzen in die Formel des Inklusions-Exklusions-Prinzip bringt uns zu:


Einsetzen der uns bereits bekannten Werte bringt uns zu:


Zusammenfassen und ausrechnen ergibt:


mfg, --W wallner

PS: Wolfgang, beim Zusammenfassen hast du 2*26 vergessen, habs schon ausgebessert :) --p.paulweber

Lösungsvorschlag von mnemetz (etwas komplexere u. andere Angabe!)[Bearbeiten | Quelltext bearbeiten]

Wieviele verschiedene Variablennamen kann man in einer fiktiven Programmiersprache verwenden, wenn diese Namen aus mindestens einem, höchstens aber vier (nicht notwendig verschieden) Buchstaben {A,...,Z} bestehen müssen, und die Befehle AND, OR, OF, THEN, GO, TO und FOR nicht als Teilwörter enthalten sein dürfen.

Wie sehen, dass in allen Variablennamen, in denen FOR vorkommt, OR schon enthalten ist. Die Einschränkung, dass FOR nicht vorkommen darf, koennen wir uns also sparen!


Wir zählen:

Es gibt 26 Variablennamen der Form mit .


Es gibt Namen der Form mit . Von diesen ziehen wir 4 (nämlich OR, OF, GO und TO) wieder ab. Es gibt also Variablennamen der Länge 2.


Es gibt Namen der Form mit . Davon ziehen wir wieder ab (nämlich alle der Form , , , , , , , für , und natürlich AND). Weil das aber zu einfach wäre, müssen wir 4 wieder hinzuaddieren (nämlich GOR, GOF, TOR und TOF), die wir sonst doppelt subtrahiert hätten. Es gibt also Variablennamen der Länge 3.


Und jetzt wird es noch komplizierter ... :-/

Es gibt Namen der Form mit Von diesen ziehen wir wieder ab (nämlich alle der Form , , , , , , , , , , , , , , und natürlich THEN).

Nun müssen wir wieder addieren, die wir sonst doppelt subtrahiert hätten (nämlich , , , , , , , , und OROR, OROF, ORGO, ORTO, OFOR, OFOF, OFGO, OFTO, GOOR, GOOF, GOGO, GOTO, TOOR, TOOF, TOGO, TOTO). Es gibt also Variablennamen der Länge 4.


Insgesamt haben wir nun: Es gibt Variablennamen der Länge höchstens 4. (Das sind: 467104)