Skip to content

Formal Concept Analysis

drasil-bot edited this page Jun 13, 2024 · 3 revisions

Warning: Wiki should not be edited directly. Edit the files in the ./wiki/ folder instead and make a PR.

Formal Concept Analysis provides some mathematical grounding to creating a 'lattice' of knowledge. This blog post from 2013 is a nice introduction to the core ideas (the first bits are general and understandable, and then it goes deep into category theory to explain the rest; most other introductions take a deep dive into lattice theory to achieve the same thing - in both cases, being obscure to those without the necessary background.) There's February 2022 follow-up that is even more hard-core, but also shows that generalizations of the ideas are useful too.

The basic idea is simple: any relation between a set of objects (here: the various quantities computed in a program) and attributes (such as having units, having a type, having a precision, having a symbol, etc) forms a relation. That relation induces a lattice of concepts. Which is exactly the kind of knowledge we're trying to capture!

Clone this wiki locally