matheraum.de
Raum für Mathematik
Offene Informations- und Nachhilfegemeinschaft

Für Schüler, Studenten, Lehrer, Mathematik-Interessierte.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Schulmathe
  Status Primarstufe
  Status Mathe Klassen 5-7
  Status Mathe Klassen 8-10
  Status Oberstufenmathe
    Status Schul-Analysis
    Status Lin. Algebra/Vektor
    Status Stochastik
    Status Abivorbereitung
  Status Mathe-Wettbewerbe
    Status Bundeswettb. Mathe
    Status Deutsche MO
    Status Internationale MO
    Status MO andere Länder
    Status Känguru
  Status Sonstiges

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
StartseiteMatheForenSchul-Informatik AlgorithmenXOR Operator
Foren für weitere Studienfächer findest Du auf www.vorhilfe.de z.B. Astronomie • Medizin • Elektrotechnik • Maschinenbau • Bauingenieurwesen • Jura • Psychologie • Geowissenschaften
Forum "Schul-Informatik Algorithmen" - XOR Operator
XOR Operator < Algorithmen < Schule < Informatik < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Schul-Informatik Algorithmen"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

XOR Operator: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 16:24 Fr 09.05.2014
Autor: kolja21

Aufgabe
vereinfachen Sie
[mm] a\oplus!b\oplus(a\vee!b)\wedge [/mm] c

Das [mm] \oplus [/mm] steht für ein XOR. Ich möchte, um es zu vereinfachen, in die UND, ODER schreibweise umformen. Wie das geht weiß ich. Ist die folgende Umstellung richtig?

(a [mm] \wedge [/mm] b [mm] \vee [/mm] !a [mm] \wedge [/mm] b) [mm] \wedge [/mm] !(a [mm] \vee [/mm] !b) v !(a [mm] \wedge [/mm] b [mm] \vee [/mm] !a [mm] \wedge [/mm] b) [mm] \wedge [/mm] (a [mm] \vee [/mm] !b) [mm] \wedge [/mm] c

        
Bezug
XOR Operator: Klammerung?
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 18:35 Fr 09.05.2014
Autor: Ebri

Von welcher Seite hast du den Ausdruck ausgewertet?
Von links: [mm]((a \oplus !b) \oplus (a \vee !b)) \wedge c[/mm]
Oder rechts: [mm]a \oplus (!b \oplus ((a \vee !b) \wedge c))[/mm]

Oder ganz anders? Unterschiedliche Klammerungen können zu verschiedenen Ergebnissen führen.
Ich tippe darauf, dass der Ausdruck von links ausgewertet werden soll, denn dann lässt er sich sehr vereinfachen.

Bezug
                
Bezug
XOR Operator: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 23:44 Fr 09.05.2014
Autor: kolja21

ich habe von links umgeformt. Zuerst a xor b. Dann dass Ergebnis xor den restlichen Teil

Bezug
        
Bezug
XOR Operator: Antwort
Status: (Antwort) fertig Status 
Datum: 08:24 Sa 10.05.2014
Autor: Ebri


> vereinfachen Sie
> [mm]a \oplus \overline{b} \oplus (a \vee \overline{b}) \wedge c[/mm]

> ich habe von links umgeformt. Zuerst a xor b. Dann dass Ergebnis xor den restlichen Teil

Der Ausdruck lässt gut vereinfachen. Dein Lösungsvorschlag kann ich nicht ganz nachvollziehen. Ich glaube er ist unnötig kompliziert und es fehlen ein paar Klammern.

Vereinfache den Ausdruck Stück für Stück. Zuerst den vorderen Teil:

[mm]((a \oplus \overline{b}) \oplus (a \vee \overline{b})) = (\underbrace{\overline{(a \oplus \overline{b})} \wedge (a \vee \overline{b})}_{= I}) \vee (\underbrace{(a \oplus \overline{b}) \wedge \overline{(a \vee \overline{b})}}_{= II})[/mm]

I: [mm]\overline{(a \oplus \overline{b})} \wedge (a \vee \overline{b}) = ...[/mm]

II: [mm](a \oplus \overline{b}) \wedge \overline{(a \vee \overline{b})} = ...[/mm]  

Bezug
                
Bezug
XOR Operator: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 15:39 Sa 10.05.2014
Autor: kolja21


> > vereinfachen Sie
>  > [mm]a \oplus \overline{b} \oplus (a \vee \overline{b}) \wedge c[/mm]

>
> > ich habe von links umgeformt. Zuerst a xor b. Dann dass
> Ergebnis xor den restlichen Teil
>  
> Der Ausdruck lässt gut vereinfachen. Dein
> Lösungsvorschlag kann ich nicht ganz nachvollziehen. Ich
> glaube er ist unnötig kompliziert und es fehlen ein paar
> Klammern.
>  
> Vereinfache den Ausdruck Stück für Stück. Zuerst den
> vorderen Teil:
>
> [mm]((a \oplus \overline{b}) \oplus (a \vee \overline{b})) = (\underbrace{\overline{(a \oplus \overline{b})} \wedge (a \vee \overline{b}}_{= I}) \vee (\underbrace{(a \oplus \overline{b}) \wedge \overline{(a \vee \overline{b})}}_{= II})[/mm]
>  
> I: [mm]\overline{(a \oplus \overline{b})} \wedge (a \vee \overline{b}) = ...[/mm]
>  
> II: [mm](a \oplus \overline{b}) \wedge \overline{(a \vee \overline{b})} = ...[/mm]
>  

Ich bin mir nicht sicher, ob das Stimmt. Um diesen Ausdruck zu vereinfachen, muss ich das XOR darausbekommen.
a XOR b = (a [mm] \wedge [/mm] !b) [mm] \vee [/mm] (!a [mm] \wedge [/mm] b)
Nach diesem Muster habe ich es entfernt. Dadurch wurde der Ausdruck unübersichtlicher. Aber nur, wenn ich es auf die UNDs, ODERs und NICHT reduziert habe, kann ich die Axiome anwenden, um zu kürzen.
Wo ich mir aber unsicher bin ist, ob ich die Übersetzung von Xor nach "UND/NICHT/ODER" richtig gemacht habe, da das XOR zwei mal vorkommt.

Bezug
                        
Bezug
XOR Operator: Antwort
Status: (Antwort) fertig Status 
Datum: 16:36 Sa 10.05.2014
Autor: Ebri


> > > vereinfachen Sie
>  >  > [mm]a \oplus \overline{b} \oplus (a \vee \overline{b}) \wedge c[/mm]

> >
> > > ich habe von links umgeformt. Zuerst a xor b. Dann dass
> > Ergebnis xor den restlichen Teil
>  >  
> > Der Ausdruck lässt gut vereinfachen. Dein
> > Lösungsvorschlag kann ich nicht ganz nachvollziehen. Ich
> > glaube er ist unnötig kompliziert und es fehlen ein paar
> > Klammern.
>  >  
> > Vereinfache den Ausdruck Stück für Stück. Zuerst den
> > vorderen Teil:
> >
> > [mm]((a \oplus \overline{b}) \oplus (a \vee \overline{b})) = (\underbrace{\overline{(a \oplus \overline{b})} \wedge (a \vee \overline{b})}_{= I}) \vee (\underbrace{(a \oplus \overline{b}) \wedge \overline{(a \vee \overline{b})}}_{= II})[/mm]
>  
> >  

> > I: [mm]\overline{(a \oplus \overline{b})} \wedge (a \vee \overline{b}) = ...[/mm]
>  
> >  

> > II: [mm](a \oplus \overline{b}) \wedge \overline{(a \vee \overline{b})} = ...[/mm]
> >  

>
> Ich bin mir nicht sicher, ob das Stimmt. Um diesen Ausdruck
> zu vereinfachen, muss ich das XOR darausbekommen.
>  a XOR b = (a [mm]\wedge[/mm] !b) [mm]\vee[/mm] (!a [mm]\wedge[/mm] b)

Stimmt, genau die Regel hab ich auch verwendet um das erste XOR "aufzulösen". (Nur [mm](a \wedge !b)[/mm] und [mm](!a \wedge b)[/mm] vertauscht.)

>  Nach diesem Muster habe ich es entfernt. Dadurch wurde der
> Ausdruck unübersichtlicher. Aber nur, wenn ich es auf die
> UNDs, ODERs und NICHT reduziert habe, kann ich die Axiome
> anwenden, um zu kürzen.
>  Wo ich mir aber unsicher bin ist, ob ich die Übersetzung
> von Xor nach "UND/NICHT/ODER" richtig gemacht habe, da das
> XOR zwei mal vorkommt.

Richtig, es kommt zwei mal vor. Das Erste habe ich oben "aufgelöst". Dann habe ich den enstehenden Ausdruck der Übersicht halber in I und II aufgeteilt. Dort muss man wieder die von dir genannte Regel anwenden. Ich mach mal den ersten Schritt für I.

I: [mm]\overline{(a \oplus \overline{b})} \wedge (a \vee \overline{b}) = \overline{((\overline{a} \wedge \overline{b}) \vee (a \wedge b))} \wedge (a \vee \overline{b})[/mm] = ... (jetzt zB weiter mit DeMorgan)



Bezug
                                
Bezug
XOR Operator: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 16:40 Sa 10.05.2014
Autor: kolja21

ja, aber in deinem Ausdruck kommt das "c" nicht mehr vor. Ist das richtig?

Bezug
                                        
Bezug
XOR Operator: Antwort
Status: (Antwort) fertig Status 
Datum: 16:52 Sa 10.05.2014
Autor: Ebri

Ich betrachte auch nur den vorderen Teil des gesamten Ausdrucks.

$ [mm] \underbrace{((a \oplus \overline{b}) \oplus (a \vee \overline{b}))}_{} \wedge [/mm] c $

Da taucht das c nicht auf. Sorry wenn das etwas missverständlich war.

Bezug
                                                
Bezug
XOR Operator: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 17:48 Sa 10.05.2014
Autor: kolja21

darf man das denn machen? Es rauslassen? Das "c" ist mit dem Ausdruck davor durch ein "und" verbunden.

Bezug
                                                        
Bezug
XOR Operator: Antwort
Status: (Antwort) fertig Status 
Datum: 18:01 Sa 10.05.2014
Autor: Ebri


> darf man das denn machen? Es rauslassen? Das "c" ist mit
> dem Ausdruck davor durch ein "und" verbunden.

Nein, natürlich nicht. Das "c" bleibt wo es ist. Man vereinfacht nur den vorderen Teil des Ausdrucks und ersetzt ihn durch die Vereinfachung.

Bezug
                                                                
Bezug
XOR Operator: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 18:28 Sa 10.05.2014
Autor: kolja21

Spielt es prinzipiel eine Rolle, wenn man einen Ausdruck hat wie a [mm] \oplus [/mm] b [mm] \oplus [/mm] c, ob man erst a [mm] \oplus [/mm] b umrechnet, und dann das Resultat [mm] \oplus [/mm] c. Oder ob man gleich alles am Stück umwandelt? In diesem Fall würde das ja folgendermaßen aussehen:
[mm] (a\overline{b}\overline{c})\vee(\overline{a}b\overline{c})\vee(\overline{a}\overline{b}c) [/mm]

Bezug
                                                                        
Bezug
XOR Operator: Antwort
Status: (Antwort) fertig Status 
Datum: 18:55 Sa 10.05.2014
Autor: Ebri


> Spielt es prinzipiel eine Rolle, wenn man einen Ausdruck
> hat wie a [mm]\oplus[/mm] b [mm]\oplus[/mm] c, ob man erst a [mm]\oplus[/mm] b
> umrechnet, und dann das Resultat [mm]\oplus[/mm] c. Oder ob man
> gleich alles am Stück umwandelt? In diesem Fall würde das
> ja folgendermaßen aussehen:
>  
> [mm](a\overline{b}\overline{c})\vee(\overline{a}b\overline{c})\vee(\overline{a}\overline{b}c)[/mm]

Beide XOR in einem Schritt mit der Regel a XOR b = (a $ [mm] \wedge [/mm] $ !b) $ [mm] \vee [/mm] $ (!a $ [mm] \wedge [/mm] $ b) umwandeln geht nicht.
Das muss man schon in zwei Schritten machen.

Bezug
                                                                                
Bezug
XOR Operator: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 21:16 Sa 10.05.2014
Autor: kolja21

Ich glaube da irrst du dich. Wenn du so einen Ausdruck hast wie a [mm] \oplus [/mm] b [mm] \oplus [/mm] c und du bearbeitest erst a [mm] \oplus [/mm] b und dann das Resultat [mm] \oplus [/mm] c dann passiert an folgender Stelle ein Fehler:
Wenn a=1 und b=1 und c=1, dann kommt deiner Formel nach eine 1 raus, weil a xor b = 0 und das Resultat also 0 xor c=1 ist 1. Das ist aber falsch, denn a [mm] \oplus [/mm] b [mm] \oplus [/mm] c bedeutet, es kommt nur dann eine 1 raus, wenn nur einer von allen eine 1 hat und der Rest 0. Bei a=1 und b=1 und c=1 muss 0 rauskommen. Ich glaube, wenn du a [mm] \oplus [/mm] b [mm] \oplus [/mm] c, musst du alle zusammen behandeln.

Als Hilfe kann man ja eine Wahrheitstabelle benutzen. Der folgende Ausdruck ist äquivalent [mm] (a\overline{b}\overline{c})\vee(\overline{a}b\overline{c})\vee(\overline{a}\overline{b}c) [/mm] = a [mm] \oplus [/mm] b [mm] \oplus [/mm] c

Bezug
                                                                                        
Bezug
XOR Operator: Antwort
Status: (Antwort) fertig Status 
Datum: 21:46 Sa 10.05.2014
Autor: felixf

Moin!

> Das ist aber falsch, denn a [mm]\oplus[/mm] b [mm]\oplus[/mm] c
> bedeutet, es kommt nur dann eine 1 raus, wenn nur einer von
> allen eine 1 hat und der Rest 0.

Das wiederum ist eine sehr, sehr ungewoehnliche Definition (und ehrlich gesagt hab ich das noch nie so gesehen). Ueblich ist die von Ebri verwendete Vorgehensweise.

Wenn man das so machen sollte, sollte man es anders bezeichnen, um Missverstaendnisse zu vermeiden, etwa als 3-adische Funktion $XOR(a, b, c)$. Und jedes mal dabeischreiben was man meint.

XOR entspricht der Addition modulo 2, wenn man die Wahrheitswerte FALSE und TRUE als Restklassen 0 und 1 modulo 2 interpretiert. Und Addition ist assoziativ.

LG Felix


Bezug
                                                                                                
Bezug
XOR Operator: Frage (überfällig)
Status: (Frage) überfällig Status 
Datum: 21:59 Sa 10.05.2014
Autor: kolja21


> Ueblich ist die von Ebri verwendete Vorgehensweise.

es klappt bei mir einfach nicht, es kommt der beschriebene Fehler. Wieso kann oder darf oder sollte man nicht alle 3 Ausdrücke gleichzeitig umwandeln?

Bezug
                                                                                                        
Bezug
XOR Operator: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 22:43 So 11.05.2014
Autor: kolja21

habe das Problem gelöst. Ich danke allen sehr, die geholfen haben!

Bezug
                                                                                                        
Bezug
XOR Operator: Fälligkeit abgelaufen
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 22:20 Mo 12.05.2014
Autor: matux

$MATUXTEXT(ueberfaellige_frage)
Bezug
                                                                                                
Bezug
XOR Operator: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 11:25 So 11.05.2014
Autor: RR2


> Moin!
>  
> > Das ist aber falsch, denn a [mm]\oplus[/mm] b [mm]\oplus[/mm] c
> > bedeutet, es kommt nur dann eine 1 raus, wenn nur einer von
> > allen eine 1 hat und der Rest 0.
>
> Das wiederum ist eine sehr, sehr ungewoehnliche Definition
> (und ehrlich gesagt hab ich das noch nie so gesehen).
> Ueblich ist die von Ebri verwendete Vorgehensweise.
>  
> Wenn man das so machen sollte, sollte man es anders
> bezeichnen, um Missverstaendnisse zu vermeiden, etwa als
> 3-adische Funktion [mm]XOR(a, b, c)[/mm]. Und jedes mal
> dabeischreiben was man meint.
>  
> XOR entspricht der Addition modulo 2, wenn man die
> Wahrheitswerte FALSE und TRUE als Restklassen 0 und 1
> modulo 2 interpretiert. Und Addition ist assoziativ.
>  
> LG Felix

Hallo  kolja21,

Ich stimme Felix zu. In digitalen Schaltungen würde
eine 1 als Ergebnis rauskommen wenn  die drei Eingänge
auf 1 sind.  Damit kann m an z.B. die []Parität bestimmen.

Für deine Beschreibung das nur eine Variable den
Wert 1 haben darf (und alle andere 0) gibt es den
Ausdruck one-hot (z.B. in Verilog []hier
wird der Unterschied zu $onehot0 diskutiert).

Woher kommt deine Definition a [mm]\oplus[/mm] b [mm]\oplus[/mm] c
bedeutet, es kommt nur dann eine 1 raus,
wenn nur einer von allen eine 1 hat und
der Rest 0
?

Viele Grüße [mm] RR^2 [/mm]

Bezug
                                                                                                        
Bezug
XOR Operator: Antwort
Status: (Antwort) fertig Status 
Datum: 12:00 So 11.05.2014
Autor: kolja21


> Woher kommt deine Definition a [mm]\oplus[/mm] b [mm]\oplus[/mm] c
> bedeutet, es kommt nur dann eine 1 raus,
> wenn nur einer von allen eine 1 hat und
> der Rest 0?
>  
> Viele Grüße [mm]RR^2[/mm]  

Nun, es ist meine. Ich habe es mir "abgeleitet" aus a xor b. Da würde bei 1 xor 1 = 0 rauskommen. Ich wusste nicht, dass, wenn 2 XORs 3 unbekannte verbinden, bei 1 xor 1 xor 1 = 1 rauskommen "darf". Aber, wenn das stimmt, hilft es mir sehr!


Ach, da stehts ja auch: http://en.wikipedia.org/wiki/Exclusive_or

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Schul-Informatik Algorithmen"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.schulmatheforum.de
[ Startseite | Forum | Wissen | Kurse | Mitglieder | Team | Impressum ]