Cómo aplicar el álgebra abstracta en informática

Aplica un campo de álgebra abstracta constantemente en la programación: álgebra booleana. Es fundamental; incluso si no te lo enseñaron formalmente, es el álgebra que usan los booleanos. A diferencia de las carrozas, por ejemplo, que usan álgebra “normal”.

Después de eso, comienza a ser específico del dominio.

Casi cada vez que utiliza la función de resto “%”, en realidad está considerando un grupo cíclico. Incluso si no sabe exactamente qué es un grupo cíclico, probablemente haya utilizado los resultados de la rama del álgebra abstracta (por ejemplo, el mod de una suma es la suma de los mods).

El álgebra abstracta realmente se activa cuando comienzas a trabajar en 3D. Si gira un objeto 3D A grados en una dirección, y luego B grados en otra dirección, la posición final es diferente a si lo hubiera hecho en el orden inverso.

Para las rotaciones 3D, AB no es igual a BA: las rotaciones no conmutan. Por lo tanto, necesita una forma de álgebra que no tenga el equivalente de AB = BA. Hay un par de álgebras abstractas que corresponden a rotaciones en el espacio 3D, de las cuales la más pura es la álgebra cuaternaria. Se usa mucho en gráficos 3D.

En realidad, hay bastante álgebra abstracta en la programación, pero a menos que haya aprendido álgebra abstracta como una disciplina separada, probablemente no los reconocerá como tal.

El tipo algebraico en la programación funcional:

Tipo de datos algebraicos

Podemos definir tuplas como el tipo de producto *, y uniones disjuntas como el tipo de suma +. Entonces podemos definir los tipos recursivos de forma concisa.

Por ejemplo, la lista finita de tipo X se puede definir como

[matemáticas] 1 + X + X ^ 2 + \ ldots [/ matemáticas]

Aquí 1 significa una lista vacía, X es la lista de un elemento, y así sucesivamente. Incluso se puede simplificar para:

[matemáticas] \ dfrac {1} {1-X} [/ matemáticas]

Luego podemos usarlo en la verificación de tipos y la coincidencia de patrones.