A case against standards

Ilmari Heikkinen kig@misfiring.net
Sat Oct 11 13:11:02 2003


Armin Rigo wrote:
> I finally put (some) shape into my ideas about Tunes.
> 
>     http://arigo.tunes.org/semantic_models.html

Been working on the implementation of something similar for a couple of
months (slowly).

A graph with types as vertices and mapping functions as edges (very
category theory, no?). Pathfinding as the inference engine, using
Dijkstra, planning to migrate to A*. Planning to be using a mix of
information loss, computational complexity (O(n^2) etc), user preference
and stability as edge weight. Of these, information loss is defined as
follows:

Suppose we have two types A and B and the sets of properties for them,
A_p and B_p.

A_p = { f, w, c, bird }
B_p = { f, w, s, bat }

The mapping A_p -> B_p has the minimum information loss of:

A_p - (A_p intersection B_p) 
= {f,w,c,bird} - ({f,w,c,bird} intersection {f,w,s,bat})
= {f,w,c,bird} - {f,w}
= {c,bird} <- properties in A_p that aren't in B_p

The path weight can be computed from the information loss by adding
together the importances of the properties in the loss set.

weight = 0
loss_set.each{ |property| weight += property.importance }

Building it to take advantage of the vast bulk of conversion tools that
already exist for UNIX. The thing is still an incomplete mess right now,
but you can check it out at http://conversio.sourceforge.net/stuff/ if
you wish.

Feel free to offer comments and critique. And help =]


-Ilmari