We need somewhere to put those really hoopy ideas so that other people can play with them. The ideas don’t need to be useful, just hoopy. I’ll give you a few to start you off.
What about writing a program in some language X, that can understand programming language X. By understand we mean that if you give the program a specification it can produce a program in X that meets the specification. So now you can give a specification of itself and …
Of course we have the issue of how the specification is formulated, but let’s leave that as an exercise for the reader.
This idea is by no means original and it is explored further under AiProgrammer. – GL7
This is another aspect of the AiProgrammer. I guess you could call is the AiDebugger.
Write a program in some language X that can understand the output from the source code debugger for programs written in language X. By understand we mean that if you give the program a specification of the program and the debug trace from a run of the program, it can verify that the program ran correctly. Now you can give the program a specification of itself and …
And you also have an introspective program … perhaps ?? – GL7
And now, following on from the above, you may well start to wonder why we need program specifications as well as programs, and a very good question it is too. Surely there is such a strong sense of equivalence between the two that you shouldn’t need both.
But that is getting into the program as specification (or specification as program) debate which is not really Ai, and is being debated at various places around the Internet.
My own view is that FunctionalProgramming? languages considerably narrow the gap between a program and its specification. I expect these laguages to play a major role in AIs in the future. (Yes, I know the apostrophe doesn’t belong there, but Ais looks wrong and AIs? creates a dangling link.) – GL7
re: “Ais”: I use the <nowiki> tag for that kind of thing. One suggested improvement to UseMod? is for each wiki to have a publically editable table of words that should never be turned into links (see MeatBall:AutoLink?). Seems like a low priority item, though, and I don’t have time to do it.
I don’t know any FunctionalProgramming? languages real well, but from what I know of the paradigm I like it a lot.
I really like the hoopy ideas approach (as well as the specific goals of an AiProgrammer and AiDebugger; as noted on SelfProgramming, I think this sort of thing is a whole other approach to the concept of “learning” that was forgotten about when SupervisedLearning became popular. – BayleShanks
Well, why don’t we start our own AIs project, could be AiProgrammer or AiDebugger, and implement it in a FunctionalProgramming? language. I think that this is a good approach because FunctionalProgramming? languages are very clean and very mathematical and hence (questionable reasoning here !!) the best languages for AIs to be written in and to understand.
We could cheat a bit here and write program which simply monitors its own trace and does nothing with it. We could say that it was just meditating. This smacks of Zen, in fact one could say:
Zen Originality Makes Beautiful, Introspective Engine
Which is not only a reasonable hack at a haiku, but also a wonderful acronym for our project.
My girlfriend and I were thinking of haikis, acronyms and self-reference - as one does - over beer and pizza in a Budapest restaurant this evening and we came up with:
Haiku Acronymically Innocently, Knowingness Unfolds
I know it’s not so good - acronymically, in particular is pretty bad. Improvements welcome !! – GL7
It is clear that Patricia (my girlfriend) is better at haiku formulation than I am. What about:
Haiku Artifice Inspirational Knowing, Unfathomable
which is really very good; it even has the 5,7,5 syllables pattern. This is all a bit off topic though. Mind you, DouglasHofstadter was well into haiku in his GodelEscherBach?, so we’re in good company. – GL7
Well, (speaking for myself and not the rest of AIWiki) I’d love to work on an AiProgrammer and it’s definitly something I’ve been planning to do someday, but for the next two years or so I don’t think I’ll have much time to give to an A.I. project (this year I’m doing an honors thesis on wikis, and next year is my first year in a neurobio phD program). But I’m very interested in doing something like this later on (and in following any project that you do now). – BayleShanks