¿Por qué el signo + se usa comúnmente como operador lógico O?

14

Hace unos días me preguntaron por qué es bastante común usar +el vsímbolo en lugar del símbolo como operador OR booleano en lógica digital.

Su argumento fue que es totalmente intuitivo usarlo +para OR, porque es más probable que se interprete como AND a partir del uso / contexto general.

De Wiki : En lógica y matemática, o es un operador de verdad funcional también conocido como disyunción (alternante) y alternancia. El conectivo lógico que representa este operador también se conoce como "o", y normalmente se escribe como vo +.

Investigué un poco y se me ocurrió el origen del vsigno. Proviene de la palabra latina "vel", que significa "o".

Una cosa que se suma a la naturaleza confusa es que +significa 'y' desde un punto de vista histórico. De acuerdo con esto y esto , se inventó alrededor de 1360 como abreviatura del latín "et" ("y") que se asemeja al signo más.

Sin embargo, no tengo idea de a quién se le ocurrió +el álgebra booleana y por qué parece preferirse al vcontexto de lógica digital / ingeniería.

Rev1.0
fuente
44
O es similar a PLUS en matemáticas "normales". Y es similar a MULTIPLY, por lo que se utiliza el operador ·.
Majenko
Quizás porque en la evaluación de lógica binaria, cualquier resultado distinto de cero se consideraría "1", luego "suma" sería correcto.
Tut
2
0 * 1 = 0 y 0 Y 1 = 0. 0 + 1 = 1 y 0 O 1 = 1.
El fotón
2
Más teóricamente, 0 es la identidad aditiva para los enteros, y 0 es también el valor de identidad para la operación OR en el conjunto de valores booleanos. (Disculpas a cualquier matemático si he abusado de tu jerga)
The Photon
1
Podría ser que mientras los teclados tienen una V, es la letra V no una V especial para o, y no tienen una V invertida, para AND. Tal vez si los teclados tuvieran teclas para esos o incluso solo para OR, entonces no usarían +
barlop

Respuestas:

16

Una palabra: distributividad

La multiplicación es distributiva sobre la suma, y ​​también lo es lógico Y distributivo sobre OR lógico.

Por otro lado, la multiplicación a menudo se usa sin un símbolo (en 2alugar de 2*a), y el AND lógico es muy similar. Si tanto A como B deben ser verdaderas, es simple e intuitivo escribir AB.

Es muy útil para construir tablas de verdad y algoritmos basados ​​en ellos.

F=UN+siC

incluso alguien con poca experiencia notará a primera vista que eso fpuede ocurrir cuando A es verdadero o cuando B y C son verdaderos.

F=UNsiC
v^

El hecho de que 1 * 0 = 0and 1 + 0 = 1y en el álgebra booleana que hemos elegido 1significar verdadero y 0falso también ayuda a identificar qué operador es cuál. Los símbolos en matemáticas son solo eso: símbolos. Tienen un significado porque les asignamos un significado, por lo que es mejor si elegimos símbolos que puedan recordarse fácilmente y su uso en otros campos sea similar.

vsz
fuente
3
Los operadores AND y OR se distribuyen unos sobre otros , de manera que la multiplicación y la suma no lo hacen. No solo es A or (B and C)equivalente a (A or B) and (A or C), sino que X and (Y or Z)es equivalente a (X and Y) or (X and Z). Aún así, creo que el hecho de que la multiplicación se comporta más como "y" es una base suficiente para decidir que "o" se asigna a "+".
supercat
Tiendo a aceptar esta respuesta porque es algo más limpia y al punto que la de AndrejaKo.
Rev1.0
20

Una línea de razonamiento que siempre utilicé para los signos lógicos AND y OR es su relación con las operaciones matemáticas que representan.

Comencemos con el AND lógico. A menudo se representa como un signo de multiplicación, por ejemplo *. Entonces, si tiene una expresión larga como s1 * s2 * s3 * s4 ... y una de las variables toma el valor 0, o lógicamente falso, entonces toda la expresión tomará el valor 0, que es bastante normal para la multiplicación , porque 1 * 1 * 0 * 1 ... es igual a 0.

Por otro lado, cuando usamos el signo +, que comúnmente significa suma para representar OR lógico, tenemos un caso similar. Si tenemos varias variables OR, entonces tenemos nuevamente el caso de s1 + s2 + s3 + s4 ... Si solo una de las variables es distinta de cero, entonces el resultado también será distinto de cero, que es lógico (en mi humilde opinión) cuando comparamos OR con la suma. Por ejemplo, 0 + 0 + 1 + 0 ... es igual a 1. Un punto en el que esto se rompe es que tenemos más, el resultado sigue siendo solo uno. Una forma de pensar que utilicé para esto es tener en cuenta que uno representa la existencia, de modo que algo existe y le agregas más existencia, seguirá existiendo.

AndrejaKo
fuente
Creo que el signo es una cuestión de convención, ya que las operaciones lógicas se definen en álgebra booleana. La suma lógica está bien definida como el producto lógico para que el signo pueda ser cualquiera. Creo que se usan los signos que son más familiares, que pueden tener alguna relación con las definiciones. Buena respuesta.
Martin Petrei
Interesante respuesta. Como punto de interés, acabo de complementar a mi publicación que parece que el origen histórico del +signo (como operador binario) se reduce a una abreviatura para el latín "et" ("y") que se asemeja al signo más.
Rev1.0
5

"Una breve historia de la notación del álgebra de Boole" de Michael Shcroeder, Nordic Journal of Philosophical Logic 2 (1): 41-62 (1997), atribuye el uso de + para representar inclusivo o para Leibniz en su "Elementa Calculi", y analiza el uso de Boole de la notación, así como algunas otras anotaciones. enlace en línea

Tobias Hagge
fuente
2

Ninguna discusión sobre por qué es común usar + en lugar de ∪, ∩, ∨, ∧ estaría completa sin tener en cuenta que las impresoras y los códigos de transmisión (como Baudot, ITA y ASCII) proporcionaron el alfabeto, los números y los 'símbolos comerciales comunes '.

Es difícil de imaginar ahora, pero hubo un momento en que los símbolos especiales no se representaban fácilmente en la entrada y representaban un costo adicional incluso cuando se componían.

Los matemáticos (y otros partidarios de Algol) querían un conjunto de símbolos más grande por este motivo, pero hace 50 años, ni siquiera habrían podido expresar la pregunta más grande, excepto escribiendo '¿por qué no usamos el símbolo v invertido? de escritura .AND. ?

david
fuente
Incluso hoy, ingresar símbolos especiales es aún más esfuerzo que simplemente escribir algo que tiene una tecla en el teclado y los caracteres no ascii a veces se destrozan cuando se mueven entre diferentes sistemas (aunque algunos caracteres ASCII también son vulnerables debido al aumento de los lenguajes de marcado).
Peter Green el