# Does there exist an ontology for algorithms?

It appears that algorithmic complexity theory has already figured out Kolmogorov complexity, when applied to representations of programs themselves, can already serve as a solid theoretical metric of enumeration and comparison for programs, given a common basis language.

Does there exist an online database that attempts to enumerate algorithms similar to the Human Genome Project according to a basis encoding or language?

• Enumerate all algorithms? Why? Most algorithms compute something no one would ever want to compute. – Sasho Nikolov Nov 14 '17 at 6:52
• I posted some links in reply to your question Does there exist an online database of algorithms? in chat. The only major omission I noticed is that parallel algorithms are seriously underrepresented. I probably noticed that omissions only since I currently study parallel algorithms and hardware architecture. So I guess there are other major omissions as well, which I simply don't notice at the moment. – Thomas Klimpel Nov 14 '17 at 10:43
• Online database? How is that connected to ontology? – Emil Jeřábek supports Monica Nov 14 '17 at 13:35
• @SashoNikolov Reifying and relating classes of algorithms can be helpful for teaching and analysis purposes. – CinchBlue Nov 14 '17 at 20:13
• @EmilJeřábek In bioinformatics, databases with GO and KEGG are commonly used in analysis to relate genes to pathways, diseases, etc. It is a very helpful reference in the field -- I was wondering if a similar thing existed for algorithms in computer science. – CinchBlue Nov 14 '17 at 20:15

• @VermillionAzure: Well, technically I agree, I just don't really know what you mean by "serve as a solid theoretical metric of enumeration and comparison for programs." K is not for comparing programs, its for comparing strings. For enumerating programs, you just enumerate them, you don't need K. For comparing programs, I'm not sure you'd want to use K either, though I guess you could... Very little work has been done on "K for programs," defined as $K(f)$ being the minimum size of a program computing $f$ (in some fixed, prefix-free language, say), though it's an interesting topic. – Joshua Grochow Nov 16 '17 at 17:26
• @VermillionAzure: Sure, but that seems to have little to do with Kolmogorov complexity. (Or rather, the definition of $K$ relies on the facts you mention, but the facts you mention existed long before Kolmogorov complexity did.) – Joshua Grochow Nov 16 '17 at 20:39