Entry tags:
Fredkin video
This lecture of Fredkin's, about making computers more self-aware and automatic-programming, is similar to some ideas of mine that I blogged recently. It's entirely possible that I stole them from him, indirectly.
I wonder if ALADDIN would be a good place to find people to work with.
As I said, one of my main interests is creating cognitively-inspired AI, namely to automate mathematics work and programming work. Like computational scientific discovery (which automates scientific work), algorithm discovery can be approached either theoretically or empirically (and, in the best case, combination of the two).
Some of my ideas:
* For problems with well-understood solutions, one could automatically determine which algorithms / data structures to use, depending on the expected parameter values. I imagine this is already fully-baked.
* Jumping one level of automation, we could make this decision automatically, by automating average-case, worst-case analyses.
* Discovering new representations, and using "reductions" to prove that they represent the same information (an easy way to make a program more space-efficient is to use lossless compression, but this is probably not a good idea most of the time), and that they have nice accessibility properties (e.g. querying is fast, editing is fast, etc.).
* Discovering new algorithms, and "proving" (either theoretically or empirically) that they meet specifications (namely, (1) being equivalent to another algorithm and (2) being efficient).
* formalizing high-level programming concepts, like divide-and-conquer, and associated algorithm-discovery heuristics.
High level goal: improve the process of incorporating powerful algs into app domains.
...
database of "war stories", open problems.
The "creativity" lies in finding the representation with which the proof-finding becomes computationally easy.).