Today I would like to make a proposal: Mathesis, a dependency road map for science.
Consider that you’re a student or researcher in science trying to learn a new topic. This topic is explained in a paper, or a book, but it is not accessible to you because there are some pre-requisites that you’ve not covered. Of course, the bibliography of the paper or book can help you, but normally they are not so useful. How to trace it back to the point where you should start reading? And what if you need to take it at several different starting points, converging in the paper that you need?
Precisely because of that, we scientists write books and review articles. But textbooks are linear structures, while knowledge is not. A textbook takes you from point A to B, along a certain excursion path. But, more likely than not, only part of it is relevant to your needs. Hopefully, you can reach your desired knowledge by linking paths taken from different books or papers.
This is the very ambitious target of mathesis: a dependency tree for learning science. This means, to create a graph whose nodes are (small) pieces of knowledge, and whose links are the dependency relations among them. Thus, if you want to learn X, then you proceed to find the node for X. Its outcoming arrows denote on which pieces of knowledge it depends. Then you can trace them back, until you find which nodes correspond to your current knowledge and proceed from them backwards.
Each node need not contain a full explanation of the topic. That would imply to build a full encyclopaedia of science, which is a meta-ambitious target. No, it should contain some good bibliography, taking into account the dependency structure. Of course, it is much better if this bibliography is free.
So, this is a call for collaboration. We need:
- Examples. You can try to create the dependency tree for your favourite result. Or the dependency tree in order to understand one of your papers.
- A standard format for the nodes. They should contain, at least, a brief description, and a list of the nodes on which it depends. The nodes might be weighted, with a low number meaning that only the general idea is required and 1 that the topic should be mastered. And, of course, some bibliography.
- A nice visualization tool, in order to view parts of the total tree which are relevant to you. Maybe, in java.
This stems from an idea that I had long back, in 2004. I created project Euler, in Spanish, with the full text of my classes of maths in high school, with a dependency tree associated. And I still like the logo I prepared at that time… :)
P.S.: And out of the topic… guess some nice properties of the logo figure? ;)