language-icon Old Web
English
Sign In

Olog

The theory of ologs is an attempt to provide a rigorous mathematical framework for knowledge representation, construction of scientific models and data storage using category theory, linguistic and graphical tools. Ologs were introduced in 2010 by David Spivak, a research scientist in the Department of Mathematics, MIT.See also: Logic machines in fiction and List of fictional computers The theory of ologs is an attempt to provide a rigorous mathematical framework for knowledge representation, construction of scientific models and data storage using category theory, linguistic and graphical tools. Ologs were introduced in 2010 by David Spivak, a research scientist in the Department of Mathematics, MIT. The term 'olog' is short for 'ontology log'. 'Ontology' derives from onto-, from the Greek ὤν, ὄντος 'being; that which is', present participle of the verb εἰμί 'be', and -λογία, -logia: science, study, theory. At the basic level an olog C {displaystyle {mathcal {C}}} is a category whose objects are represented as boxes containing sentences and whose morphisms are represented as directed labeled arrows between boxes. The structures of the sentences for both the objects and the morphisms of C {displaystyle {mathcal {C}}} need to be compatible with the mathematical definition of C {displaystyle {mathcal {C}}} . This compatibility cannot be checked mathematically, because it lies in the correspondence between mathematical ideas and natural language. Every olog has a target category, which is taken to be Set {displaystyle { extbf {Set}}} (Category of sets), the category of sets and functions, unless otherwise mentioned. In that case, we are looking at a set of amino acids, a set of amine groups, and a function that assigns to every amino acid its amine group. In this article we usually stick to Set {displaystyle { extbf {Set}}} , though sometimes using the Kleisli category C P {displaystyle {mathcal {C}}_{mathbb {P} }} of the power set monad. Another possibility, though one we do not use here, would be to use the Kleisli category of probability distributions—the Giry monad—e.g., to obtain a generalization of Markov decision processes. The boxes in the above example refer to objects of Set {displaystyle { extbf {Set}}} . For example, the box containing the sentence 'an amino acid' refers to the set of all amino acids and the box containing the sentence 'a side chain' refers to the set of all side chains. The arrow labeled with 'has' whose source is 'an amino acid' and whose target is 'a side chain' refers to a morphism between two objects of Set {displaystyle { extbf {Set}}} and thus needs to be a function between two sets. Indeed, every amino acid has a unique side chain so the arrow is a valid morphism of Set {displaystyle { extbf {Set}}} . The functional nature of the morphisms in Set {displaystyle { extbf {Set}}} is expressed in an olog by labeling arrows with appropriate sentences (e.g. 'has'). For another example let ( P , η , μ ) {displaystyle (mathbb {P} ,eta ,mu )} be the power set monad on Set {displaystyle { extbf {Set}}} so given A ∈ O b ( Set ) {displaystyle Ain Ob({ extbf {Set}})} , P ( A ) {displaystyle mathbb {P} (A)} is the power set of A, the natural transformation η {displaystyle eta } sends a ∈ A {displaystyle ain A} to the singleton { a } {displaystyle {a}} and the natural transformation μ {displaystyle mu } unionizes sets. A morphism f : A → B {displaystyle f:A o B} in the Kleisli category C P {displaystyle {mathcal {C}}_{mathbb {P} }} can be seen as establishing a binary relation R. Given a ∈ A {displaystyle ain A} and b ∈ B {displaystyle bin B} we say that ( a , b ) ∈ R {displaystyle (a,b)in R} if b ∈ f ( a ) {displaystyle bin f(a)} . We can use C P {displaystyle {mathcal {C}}_{mathbb {P} }} as the target category for an olog. In this case the arrows in the olog need to reflect the relational nature of morphisms in C P {displaystyle {mathcal {C}}_{mathbb {P} }} . This can be done by labeling every arrow in the olog with either 'is related to', or 'is greater than' and so on. An olog C {displaystyle {mathcal {C}}} can also be viewed as a database schema. Every box (object of C {displaystyle {mathcal {C}}} ) in the olog is a table T {displaystyle T} and the arrows (morphisms) emanating from the box are columns in C {displaystyle {mathcal {C}}} . The assignment of a particular instance to an object of C {displaystyle {mathcal {C}}} is done through a functor I : C → Set {displaystyle I:{mathcal {C}} o { extbf {Set}}} . In the example above, the box 'an amino acid' will be represented as a table whose number of rows is equal to the number of types of amino acids and whose number of columns is three, one column for each arrow emanating from that box. Communication between different ologs which in practice can be communication between different models or world-views is done using functors. Spivak coins the notions of a 'meaningful' and 'strongly meaningful' functors. Let C {displaystyle {mathcal {C}}} and D {displaystyle {mathcal {D}}} be two ologs, I : C → Set {displaystyle I:{mathcal {C}} o { extbf {Set}}} , J : D → Set {displaystyle J:{mathcal {D}} o { extbf {Set}}} functors (see the section on ologs and databases) and F : C → D {displaystyle F:{mathcal {C}} o {mathcal {D}}} a functor. We say that a F {displaystyle F} is meaningful if there exists a natural transformation m : I → F ∗ J {displaystyle m:I o F^{*}J} (the pullback of J by F).

[ "Humanities", "Theology", "Algebra", "Topology" ]
Parent Topic
Child Topic
    No Parent Topic