On Mon, 16 Dec 1996, Alex Williams wrote:
> > We're pushing some fine lines here. A nonalgorithmic search is *not* a
> > hunt. My impression is that a genetic algorithm is an algorithmic search
> > [that usually uses (pseudo)random numbers....]
>
> Is it really possible to have a /nonalgorithmic/ search, even on or
> especially on, a computer? The GA "algorithm" is to take two things
> that are close and look somewhere between and around them, moving
> closer the whole time. Its algorithmic, but not explicit. Sort of
> like how I navigate when lost in downtown Atlanta; get somewhere I
> almost recognize and drive toward what looks most familliar, repeat
> until home.
Computer: I don't *think* a nonalgorithmic search is possible.
Human: We don't have decent specs, why should I presume anything about
the impossibility of nonalgorithmic searches?
CAVEAT:
One module I spun off this semester, while the flu was trying to convince my
body I was sick (it partially succeeded, it knocked out 800 math for all
of 2 days), was a bare-bones expert-system inference engine, anything but
commerical quality.
I lack intuition for how an AI search programmed for this module works.
On combinatoric problems of decent size [execution time hours], with
"normalized rules" [they must inform the engine when they are useless],
the AI is usually *faster* than a dedicated search loop with the
corresponding rules explicitly coded. [C++, of course.]
One of my advising professors, for a brief instant, entertained the idea
that I had somehow built a quantum effect into the AI. He discarded this
within 2 minutes.
> > That's "linearizing" the procedure. The intermediate results are
> > unnecessarily hard to understand because the notation does not
> > correspond to the algorithm's methodology.
>
> Am I "linearizing" it or just pointing out an inherent linear process
> that was there the entire time? Imposition or exposition? The
> intermediate results of incomplete GA-fragments from one that hasn't
> converged to a satisfactory solution isn't so much unnecessarily hard
> to understand as it is not what you're /supposed/ to be understanding.
> Understand the judgement-function, the fitness function, and you
> understand the process. The intermediate population is merely the
> means, like trying to understand carving from studying the shavings.
Unless you're trying to verify that the algorithm does what you said it
did, and you're trying to rule out a compiler error! [It usually isn't
worth trying to figure out directly if the ASM listing actually
corresponds to the source code.]
[At the source code level, it should be provably correct, when done right.]
//////////////////////////////////////////////////////////////////////////
/ Towards the conversion of data into information....
/
/ Kenneth Boyd
//////////////////////////////////////////////////////////////////////////