====== 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 : {B,X,C,D} ∪ {A,B,C} ; out : {B,X,C,D,A} {{gem/plain#df4788fa7e4c8b81}} ++++ Lösung | /[^A-Z,]/,/g Alles ausser [A-Z,] entfernen /([A-Z])(.*)\1/$1$2/ Mehrfachelemente entfernen /,,+/,/g Formatierung bereinigen /^,(.*?),?$/{$1}/! Finalisierung Testing: Leere Mengen sind ok++++ ===== - Schnittmenge ===== {{ http://upload.wikimedia.org/wikipedia/commons/thumb/9/99/Venn0001.svg/330px-Venn0001.svg.png?150}} ; in : {B,X,C,D} ∩ {A,B,C} ; out : {C,B} {{gem/plain#fc034d8954b628a8}} ++++ Lösung | /([A-Z])(.*∩.*)\1(.*)=/$2$3=,$1/ Gemeinsame extrahieren /.*=,?(.*)/{$1}/! Finalisieren /$/=/ Intitialisierung: = Anfügen 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 : {A,B,C,D} \ {B,D} ; out : {A,C} {{gem/plain#f55a201fc22b630f}} ++++ Lösung | /[^A-Z,]/,/g Alles ausser [A-Z,] entfernen /([A-Z])(.*)\1/$2/ Gemeinsame Elemente entfernen /,,+/,/g Formatierung bereinigen /^,(.*?),?$/{$1}/! Finalisierung Testing: Leere Mengen sind ok. Bei ''X \ Y'' muss ''Y'' eine Teilmenge von ''X'' sein!++++ ===== - Absolutes Komplement ===== ; in : U \ {A,B,C,D,X,Y,Z} ; out : {E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W} {{gem/plain#15af0aef9de637af}} ++++ Lösung | /^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 Testing: ''U\U = {}'' ist ok++++ ===== - Symmetrische Differenz ===== {{ http://upload.wikimedia.org/wikipedia/commons/thumb/4/46/Venn0110.svg/330px-Venn0110.svg.png?150}} ; in : {D,A,B} △ {C,A,B} ; Out : {D,C} {{gem/plain#d54a6e24ce1bcd04}} ++++ Lösung | /\s//g /([A-Z])(.*)△(.*)\1/$2△$3/ /,,+/,/ /\}△\{/,/ /,\}/}/ /\{,/{/ Testing: Geht auch mit leeren Mengen++++ ===== - Karthesisches Produkt ===== ; in : {A,B,C} × {E,F} ; out : {(CF),(CE),(BF),(BE),(AF),(AE)} {{gem/plain#63722fa0ebab5d43}} ++++ Lösung | /\{([A-Z])(.*)\{([A-Z])(.*)=/{$1$2$3{$4=,($1$3)/ Paaren (1) /\{[A-Z](.*)×(.*)\{\}/{$1×{$2}/ Paaren (2) /{}.*=,?/{/! Finalisieren /[^A-Z{}×]//g Überflüssiges entfernen /$/=}/ =} hinten anfügen Testing: Leere Mengen ok++++ ===== - Potenzmenge ===== ; in : ℙ({A,B,C}) ; out : {{A,B,C},{A,B},{A,C},{A},{B,C},{B},{C},{}} {{gem/plain#d232678cd153c25c}} ++++ Lösung| /ℙ\(\{\}\)/{}/ ! /β(.*)0./β$1/ /β(.*)1(.)/β$1,$2/ /\{,/{/g /\{β,(.*)/{{$1}/! /^((1.)*)=,/{β$1},/ /1(.)α0/α0$10/ /0(.)α0/1$10/ /(.*)1(.)=/$1α0$2=,{$11$2}/ /(.*)0(.)=/$11$2=,{$1}/ /ℙ?\(?\{?(\b[A-Z]),?\}?\)?/0$1/g /$/=/ Idee: Eine Binärzahl mit sovielen Stellen wie Elemente in der Menge von 0 bis 2n+1-1 iteriren. {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 /$/=/ Entsprechende Buchstaben filtern. {A,B,C} -> 1A1B1C,1A1B0C,1A0B1C,1A0B0C,0A1B1C,0A1B0C,0A0B1C,0A0B0C /^((1.)*)=,/$1,/! /1(.)α0/α0$10/ /0(.)α0/1$10/ /(.*)1(.)=/$1α0$2=,$11$2/ /(.*)0(.)=/$11$2=,$10$2/ /\{?\b([A-Z]),?\}?/0$1/g /$/=/ ++++ ===== - Unäre Kardinalität===== ; in : |{A,B,C}| ; out : 111 {{gem/plain#7a852e12c1ec48eb}} ++++ Lösung| /[A-Z]/1/g /[^1]//g! ++++ ===== - Binäre Kardinalität===== ; in : |{A,B,C,D,E}| ; out : 101 {{gem/plain#ca194ce6eebbb297}} ++++ Lösung| /[A-Z]/1/g /[^10α]//g /^(1+)\1(α|$)/$1α0/ /^1(1+)\1(α|$)/$1α1/ /^1α/1/! /^$/0/! ++++