Perché il segno + è comunemente usato come operatore OR logico?


14

Qualche giorno fa mi è stato chiesto, perché è abbastanza comune usare il +anziché il vsimbolo come operatore booleano OR nella logica digitale.

La sua tesi era che è totalmente controintuitivo usare +per OR, perché è più probabile che venga interpretato come AND da un uso / contesto generale.

Da Wiki : in logica e matematica, o è un operatore vero-funzionale noto anche come disgiunzione (alternata) e alternanza. Il connettivo logico che rappresenta questo operatore è anche noto come "o" e tipicamente scritto come vo +.

Ho fatto qualche ricerca e ho trovato l'origine del vsegno. Deriva dalla parola latina "vel", che significa "o".

Una cosa che si aggiunge alla natura confusa è che +significa "e" da un punto di vista storico. Secondo questo e questo fu inventato intorno al 1360 come e abbreviazione per il latino "et" ("e") che assomiglia al segno più.

Tuttavia, non ho idea di chi abbia trovato +l'algebra booleana e del perché sembri essere preferito al vcontesto di logica / ingegneria digitale.


4
OR è simile a PLUS nella matematica "normale". AND è simile a MULTIPLY, quindi viene utilizzato l'operatore.
Majenko,

Forse perché nella valutazione della logica binaria, qualsiasi risultato diverso da zero verrebbe considerato "1", quindi "somma" sarebbe corretta.
Tut

2
0 * 1 = 0 e 0 E 1 = 0. 0 + 1 = 1 e 0 O 1 = 1.
Il fotone

2
Più teoricamente, 0 è l'identità additiva per gli interi e 0 è anche il valore dell'identità per l'operazione OR sul set di valori booleani. (Chiedo scusa a tutti i matematici se ho abusato del tuo gergo)
The Photon,

1
Potrebbe essere che mentre le tastiere hanno una V, è la lettera V non una V speciale per o, e non hanno una V capovolta, per AND. Forse se le tastiere avessero i tasti per quelli o anche solo per OR, allora non userebbero +
barlop

Risposte:


16

Una sola parola: distributività

La moltiplicazione è distributiva sull'addizione, così come logica e distributiva sull'OR logica.

D'altra parte, la moltiplicazione viene spesso utilizzata senza un simbolo ( 2aanziché 2*a) e l'AND logico è molto simile. Se sia A che B devono essere veri, è semplice ed intuitivo scrivere AB.

È molto utile nel costruire tabelle di verità e algoritmi basati su di esse.

f=UN+BC

anche qualcuno con poca esperienza noterà a prima vista, che fpuò accadere quando A è vera o quando sia B che C sono vere.

f=UNBC
v^

Il fatto che 1 * 0 = 0e 1 + 0 = 1in algebra booleana abbiamo scelto 1di significare vero e 0di falso aiuta anche a identificare quale operatore è quale. I simboli in matematica sono proprio questo: simboli. Hanno un significato perché abbiamo assegnato loro un significato, quindi è meglio se scegliamo simboli che possono essere facilmente ricordati e il loro uso in altri campi è simile.


3
Gli operatori AND e OR si distribuiscono l' uno sull'altro , in modo contrario alla moltiplicazione e all'aggiunta. Non solo è A or (B and C)equivalente a (A or B) and (A or C), ma X and (Y or Z)è equivalente a (X and Y) or (X and Z). Tuttavia, penso che il fatto che la moltiplicazione si comporti più come "e" sia una base sufficiente per decidere che "o" viene mappato su "+".
supercat

Tendo ad accettare questa risposta perché è in qualche modo più pulita e precisa rispetto a quella di AndrejaKo.
Rev1.0

20

Una linea di ragionamento che ho sempre usato per i segni logici AND e OR è la loro relazione con le operazioni matematiche che rappresentano.

Cominciamo con AND logico. Viene spesso rappresentato come segno di moltiplicazione, ad esempio *. Quindi se hai un'espressione lunga come s1 * s2 * s3 * s4 .... e una delle variabili ha valore 0, o logico falso, l'intera espressione prenderà il valore 0, che è abbastanza normale per la moltiplicazione , perché 1 * 1 * 0 * 1 ... è uguale a 0.

D'altra parte, quando usiamo il segno +, che comunemente rappresenta addizione per rappresentare OR logico, abbiamo un caso simile. Se abbiamo diverse variabili che sono ORed, allora abbiamo di nuovo il caso di s1 + s2 + s3 + s4 ... Se solo una delle variabili è diversa da zero, il risultato sarà anche diverso da zero, che è logico (IMHO) quando confrontiamo OR con l'addizione. Ad esempio 0 + 0 + 1 + 0 ... è uguale a 1. Un punto in cui questo si interrompe è che ne abbiamo altri, il risultato è ancora solo uno. Un modo di pensare che ho usato per questo è semplicemente tenere presente che si rappresenta l'esistenza, quindi qualcosa esiste e si aggiunge più esistenza ad esso, esisterà ancora.


Penso che il segno sia una questione di convenzione, poiché le operazioni logiche definite nell'algebra booleana. La somma logica è ben definita come il prodotto logico in modo che il segno possa essere chiunque. Penso che vengano usati i segni più familiari, che possono avere qualche relazione con le definizioni. Buona risposta.
Martin Petrei,

Risposta interessante. Come punto di interesse, ho appena aggiunto al mio post che sembra che l'origine storica del +segno (come operatore binario) scenda ad un'abbreviazione per il latino "et" ("e") che assomiglia al segno più.
Rev1.0

5

"Una breve storia della notazione dell'algebra di Boole" di Michael Shcroeder, Nordic Journal of Philosophical Logic 2 (1): 41-62 (1997), attribuisce l'uso di + per rappresentare l'inclusione o a Leibniz nel suo "Elementa Calculi", e discute l'uso di Boole della notazione, così come alcune altre notazioni. collegamento online


2

Nessuna discussione sul perché è comune usare + invece di ∪, ∩, ∨, ∧ sarebbe completa senza notare che le stampanti e i codici di trasmissione (come Baudot, ITA e ASCII) fornivano l'alfabeto, i numeri e i simboli aziendali comuni '.

È difficile immaginarlo ora, ma c'è stato un tempo in cui simboli speciali non erano facilmente rappresentabili in input e rappresentavano un costo aggiuntivo anche quando sono stati composti.

I matematici (e altri sostenitori dell'Algol) volevano un set di simboli più grande per questo motivo, ma 50 anni fa, non saresti stato nemmeno in grado di esprimere la domanda più grande se non scrivendo 'perché non utilizziamo invece il simbolo v invertito di scrittura .AND. ?'


Anche oggi l'immissione di simboli speciali è ancora più impegnativa della semplice digitazione di qualcosa che ha un tasto sulla tastiera e talvolta i caratteri non ascii vengono alterati quando si spostano tra sistemi diversi (anche se alcuni caratteri ASCII sono vulnerabili anche a causa dell'ascesa dei linguaggi di markup).
Peter Green,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.