Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung |
markow:settheory [2019/02/23 19:35] – Tscherter, Vincent | markow:settheory [2024/03/03 22:36] (aktuell) – Tscherter, Vincent |
---|
| ====== Mengenlehre ====== |
| {{gem/mgr}}{{gem/pageinfo}} |
| |
| Für alle Elemente ''x'' gilt ''x ∈ U = {A,B,C,D,...,Z}'' und somit ''|U| = 26''. Siehe auch [[wpde>Mengenlehre]] |
| |
| ===== -#1 Vereinigung ===== |
| |
| {{ http://upload.wikimedia.org/wikipedia/commons/thumb/3/30/Venn0111.svg/330px-Venn0111.svg.png?150}} |
| ; in |
| : <code>{B,X,C,D} ∪ {A,B,C}</code> |
| ; out |
| : <code>{B,X,C,D,A}</code> |
| |
| {{gem/plain#df4788fa7e4c8b81}} |
| |
| ++++ Lösung | <code> |
| /[^A-Z,]/,/g Alles ausser [A-Z,] entfernen |
| /([A-Z])(.*)\1/12/ Mehrfachelemente entfernen |
| /,,+/,/g Formatierung bereinigen |
| /^,(.*?),?/{1}/! Finalisierung</code> |
| |
| Testing: Leere Mengen sind ok++++ |
| |
| ===== - Schnittmenge ===== |
| |
| {{ http://upload.wikimedia.org/wikipedia/commons/thumb/9/99/Venn0001.svg/330px-Venn0001.svg.png?150}} |
| ; in |
| : <code>{B,X,C,D} ∩ {A,B,C}</code> |
| ; out |
| : <code>{C,B}</code> |
| |
| {{gem/plain#fc034d8954b628a8}} |
| |
| ++++ Lösung | <code> |
| /([A-Z])(.*∩.*)\1(.*)=/23=,$1/ Gemeinsame extrahieren |
| /.*=,?(.*)/{$1}/! Finalisieren |
| /$/=/ Intitialisierung: = Anfügen</code> |
| |
| Testing: Leere Mengen sind auch ok++++ |
| |
| ===== - Relatives Komplement ===== |
| |
| {{ http://upload.wikimedia.org/wikipedia/commons/thumb/e/e6/Venn0100.svg/330px-Venn0100.svg.png?150}} |
| ; in |
| : <code>{A,B,C,D} \ {B,D}</code> |
| ; out |
| : <code>{A,C}</code> |
| |
| {{gem/plain#f55a201fc22b630f}} |
| |
| ++++ Lösung | <code> |
| /[^A-Z,]/,/g Alles ausser [A-Z,] entfernen |
| /([A-Z])(.*)\1/$2/ Gemeinsame Elemente entfernen |
| /,,+/,/g Formatierung bereinigen |
| /^,(.*?),?/{1}/! Finalisierung</code> |
| |
| Testing: Leere Mengen sind ok. Bei ''X \ Y'' muss ''Y'' eine Teilmenge von ''X'' sein!++++ |
| |
| ===== - Absolutes Komplement ===== |
| |
| ; in |
| : <code>U \ {A,B,C,D,X,Y,Z}</code> |
| ; out |
| : <code>{E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W}</code> |
| |
| {{gem/plain#15af0aef9de637af}} |
| |
| ++++ Lösung | <code> |
| /^U\s*\\\s*\{/{A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z}/ |
| /[^A-Z,]/,/g Alles ausser [A-Z,] entfernen |
| /([A-Z])(.*)\1/$2/ Gemeinsame Elemente entfernen |
| /,,+/,/g Formatierung bereinigen |
| /^,(.*?),?/{1}/! Finalisierung</code> |
| |
| Testing: ''U\U = {}'' ist ok++++ |
| |
| ===== - Symmetrische Differenz ===== |
| |
| {{ http://upload.wikimedia.org/wikipedia/commons/thumb/4/46/Venn0110.svg/330px-Venn0110.svg.png?150}} |
| ; in |
| : <code>{D,A,B} △ {C,A,B}</code> |
| ; Out |
| : <code>{D,C}</code> |
| |
| {{gem/plain#d54a6e24ce1bcd04}} |
| |
| ++++ Lösung | <code>/\s//g |
| /([A-Z])(.*)△(.*)\1/2△3/ |
| /,,+/,/ |
| /\}△\{/,/ |
| /,\}/}/ |
| /\{,/{/</code> |
| |
| Testing: Geht auch mit leeren Mengen++++ |
| |
| ===== - Karthesisches Produkt ===== |
| |
| ; in |
| : <code>{A,B,C} × {E,F}</code> |
| ; out |
| : <code>{(CF),(CE),(BF),(BE),(AF),(AE)}</code> |
| |
| {{gem/plain#63722fa0ebab5d43}} |
| |
| ++++ Lösung | |
| |
| <code> |
| /\{([A-Z])(.*)\{([A-Z])(.*)=/{123{4=,(13)/ Paaren (1) |
| /\{[A-Z](.*)×(.*)\{\}/{1×{2}/ Paaren (2) |
| /{}.*=,?/{/! Finalisieren |
| /[^A-Z{}×]//g Überflüssiges entfernen |
| /$/=}/ =} hinten anfügen</code> |
| Testing: Leere Mengen ok++++ |
| |
| ===== - Potenzmenge ===== |
| |
| ; in |
| : <code>ℙ({A,B,C})</code> |
| ; out |
| : <code>{{A,B,C},{A,B},{A,C},{A},{B,C},{B},{C},{}}</code> |
| |
| {{gem/plain#d232678cd153c25c}} |
| |
| ++++ Lösung| |
| |
| <code> |
| /ℙ{}/{}/ ! |
| /β(.*)0./β$1/ |
| /β(.*)1(.)/β1,2/ |
| /\{,/{/g |
| /\{β,(.*)/{{$1}/! |
| /^((1.)*)=,/{β$1},/ |
| /1(.)α0/α0$10/ |
| /0(.)α0/1$10/ |
| /(.*)1(.)=/1α02=,{112}/ |
| /(.*)0(.)=/112=,{$1}/ |
| /ℙ??{?(\b[A−Z]),?}??/0$1/g |
| /$/=/ |
| </code> |
| |
| Idee: Eine Binärzahl mit sovielen Stellen wie Elemente in der Menge von 0 bis 2<sup>n+1</sup>-1 iteriren. |
| <code>{A,B,C} -> 111,110,101,100,011,010,001,000 |
| |
| /^(1*)=,/$1,/! |
| /1α0/α00/ |
| /0α0/10/ |
| /(.*)1=/1α0=,11/ |
| /(.*)0=/11=,10/ |
| /\{?\b([A-Z]),?\}?/0/g |
| /$/=/ |
| </code> |
| |
| Entsprechende Buchstaben filtern. |
| <code> |
| {A,B,C} -> 1A1B1C,1A1B0C,1A0B1C,1A0B0C,0A1B1C,0A1B0C,0A0B1C,0A0B0C |
| |
| /^((1.)*)=,/$1,/! |
| /1(.)α0/α0$10/ |
| /0(.)α0/1$10/ |
| /(.*)1(.)=/1α02=,112/ |
| /(.*)0(.)=/112=,102/ |
| /\{?\b([A-Z]),?\}?/0$1/g |
| /$/=/ |
| </code>++++ |
| |
| ===== - Unäre Kardinalität===== |
| |
| ; in |
| : <code>|{A,B,C}|</code> |
| ; out |
| : <code>111</code> |
| |
| {{gem/plain#7a852e12c1ec48eb}} |
| |
| ++++ Lösung| |
| <code>/[A-Z]/1/g |
| /[^1]//g! |
| </code>++++ |
| |
| ===== - Binäre Kardinalität===== |
| |
| ; in |
| : <code>|{A,B,C,D,E}|</code> |
| ; out |
| : <code>101</code> |
| |
| {{gem/plain#ca194ce6eebbb297}} |
| |
| ++++ Lösung| |
| <code>/[A-Z]/1/g |
| /[^10α]//g |
| /^(1+)\1(α|)/1α0/ |
| /^1(1+)\1(α|)/1α1/ |
| /^1α/1/! |
| /^$/0/! |
| </code>++++ |