Difference between revisions of "Monoid"

From PKC
Jump to navigation Jump to search
Line 6: Line 6:
In abstract algebra, a [[lattice]] can be considered as a [[monoid]]. One may consider the idea of using a single data type as a programming language to be associated with the idea of Monoid. That is also the basis of functional programming languages are nothing but the manipulation of [[S-expression]]s. Therefore, one may consider Lambda-Calculus as an implementation of this Monoid-like language specification. Later, the idea of all languages can be treated as some textual stream of data content, and processed by [[Large Language Model]]s, or [[Generative Pre-trained Transformer]]s, would be another example of Monoid.
In abstract algebra, a [[lattice]] can be considered as a [[monoid]]. One may consider the idea of using a single data type as a programming language to be associated with the idea of Monoid. That is also the basis of functional programming languages are nothing but the manipulation of [[S-expression]]s. Therefore, one may consider Lambda-Calculus as an implementation of this Monoid-like language specification. Later, the idea of all languages can be treated as some textual stream of data content, and processed by [[Large Language Model]]s, or [[Generative Pre-trained Transformer]]s, would be another example of Monoid.


Based on the idea of singular data type, the creation of [[IPFS]] as a unifying namespace for all data content can be thought of as a Monoidal space.
Based on the idea of singular data type, the creation of [[IPFS]] as a unifying namespace for all data content can be thought of as a Monoidal data space. Therefore, it is also possible to create a system, that universally treats all data objects as files, and therefore, the whole system becomes a monoidal structure. That would be very close to the approach that [[Unix]] took in its design intent.





Revision as of 04:53, 6 July 2023

Monoid (幺半群), according to Wikipedia, it is a set equipped with an associative binary operation and an identity element. It is a foundational algebraic structure that can be applied to many fields.

For instance, in a Turing Machine, all operations can be thought of as some sequences of stack operations[1][2]. This idea has been extended to Bayesian inferencing[3], and other ideas, such as The Master Algorithm[4].

Implementation and Applications

In abstract algebra, a lattice can be considered as a monoid. One may consider the idea of using a single data type as a programming language to be associated with the idea of Monoid. That is also the basis of functional programming languages are nothing but the manipulation of S-expressions. Therefore, one may consider Lambda-Calculus as an implementation of this Monoid-like language specification. Later, the idea of all languages can be treated as some textual stream of data content, and processed by Large Language Models, or Generative Pre-trained Transformers, would be another example of Monoid.

Based on the idea of singular data type, the creation of IPFS as a unifying namespace for all data content can be thought of as a Monoidal data space. Therefore, it is also possible to create a system, that universally treats all data objects as files, and therefore, the whole system becomes a monoidal structure. That would be very close to the approach that Unix took in its design intent.



References

  1. Dolan, Stephen (July 19, 2013). "mov is Turing-complete" (PDF). local page: Computer Laboratory, University of Cambridge. 
  2. All Angles, ed. (Aug 14, 2021). What is a monoid?. local page: All Angles. 
  3. Fong, Brendan (2013). Causal Theories: A Categorical Perspective on Bayesian Networks (Master). local page: University of Oxford. Retrieved Jan 26, 2013. 
  4. Domingos, Pedro (February 13, 2018). The Master Algorithm: How the Quest for the Ultimate Learning Machine Will Remake Our World (Revised ed.). local page: Basic Books. ISBN 978-0465094271. 

Related Pages