Fare's response on threads

Lynn H. Maxson lmaxson@pacbell.net
Thu, 21 Sep 2000 21:24:18 -0700 (PDT)


"Sure. But this doesn't mean we have to always have precise 
understanding of all the details of what the system will do about 
what we tell it."

It makes no difference what we individually must have in terms of 
a "precise understanding of all the details" in any system in 
which we do not "author" all the details.  Tunes and the Tunes 
HLL, however, is not one of these.  On the contrary we cannot 
offer any higher level object, function, or operation without 
knowing its "passage" through all lower levels down to an actual 
instruction sequence.  We do not have the "grace" of assuming the 
"system" will do this or that, because it is the this or that for 
which we are responsible.

"Just like we have compilers precisely so that we do not have to 
understand the precise register scheduling and memory spilling 
constraints."

Again not if you are the compiler writer.  The compiler user who 
has no other responsibility with respect to the compiler itself or 
the operating environment in which we invoked may be ignorant or 
have no understanding of the underlying detail.  Such is not an 
option for Tunes which declares itself in terms of operating 
system and HLL as offering something which does not now exist.  
All these things must be accounted for to the most operational 
detail, if for no other purpose to insure that every higher level 
has a seamless path through all lower.

"In the case of threading mechanisms, this means that we can 
expect the system, _once it grows elaborate enough_, to 
automatically select threading tactics depending upon a wide body 
of information about all the threads: ..."

IMHO, you once more make the same mistake.  We can expect nothing 
of the system which we have not incorporated into it.  
Improvements to that incorporation, again which we direct, 
determines its "elaborate" condition at any point in time.  It 
will not (and never) automatically select anything which is not 
absolutely predetermined by the rules we have set, even if we use 
a "randomness" generator.  That even is under our control.  All 
the instances you quote following this explicitly point this out.

"Selecting the right tactic can be done much faster by the machine 
than by the human;"

Given the same set of rules, the machine will win every time.  
Basically that's why we automate (where it economically makes 
sense to do so) clerical (repetitive) human tasks.  However, it is 
those rules, which we must write so that the machine will execute 
them (again without knowing what it is executing).

"You have missed it.  People like Jacques Pitrat or Doug Lenat 
have experimentally shown such pattern generation in expert 
systems with meta^n rules.  In another field, some have also 
successfully devised theoretical and practical applications of 
Kolmogorov Complexity to extract patterns out of large bodies of 
data, which have been used in data-mining.  Also, genetic 
algorithms have allowed many computer scientists to generate
unexpected practical solutions to many problems from lower-level 
noise."

Again I must thank you for providing additional evidence of my 
position.<g>  All these are implemented in software written in an 
absolutely deterministic manner.  The software itself is incapable 
of such self-encoding.  Further it does not "know" or "understand" 
in any human sense what it is doing, nor in fact that it is doing 
anything.  That impossible capability is now and forever the case 
in any von Neumann architecture.

The truth is we know and understand what it does, because it is 
exactly what we told it to do and everything it does lies entirely 
within our control.  If for not other reason than this, we will 
never "replicate", only "mimic" (simulate), human behavior using 
hardware and software somehow separable and not self-sufficient as 
a "system".

"But I do envision TUNES as a framework to enable subsequent AI 
works.  And even in the early years, things will be done in 
declarative ways that favor metaprogramming and allow it to grow 
more elaborate as needs arise, without disrupting service."

You have two choices currently in AI, rule-based and neural nets 
(indirect rule-based).  In either case their rules and 
construction lies outside their control and entirely within ours.  
We set the rules.  Their sophistication depends entirely upon 
ours.  It makes no difference in genetic programming as it follows 
the same human-set rules.

"without disrupting service" has been an ongoing struggle in IT.  
Actually we have managed to come quite close in terms of hardware 
and supporting software.  If Tunes can achieve the 365/24/7 common 
in the IBM MVS environment, it will come about even.

No one can quarrel with the goals of Tunes.  I certainly do not.  
I support them.  As I suggested earlier in this response Tunes is 
a total responsibility, one system.  Within that framework of 
responsibility it is inappropriate, IMHO, to do something with the 
"luxury" of dismissing all that it is dependent on by suggesting a 
"separation" in the use of the phrase indicating that some other 
"agent" will handle the rest.  It is not a luxury that Tunes, if 
it is to meet its goals, can afford.

Every participant here is entitled to make the choice about what 
he chooses to understand and what he does not.  If he chooses to 
understand through every level of detail, he should have that 
option.  It is one thing to say that one has a choice not to know, 
it is another to say that he doesn't have the choice to know.  
Relegating "source" to the "system", something apart from the 
current focus, without the concomitant ability to choose the 
detail of understanding desired leaves Tunes as well as the 
individual in an "incomplete" state.  That's hardly an attribute 
of a total and complete system.

No software "knows" it is engage in reflection as no software has 
any ability to "know" anything.  We know what the software is 
doing as well as what it does.  That's two things entirely outside 
the realm of software.  Fare continues to act as if this human 
capability is transfered along with the rules to the software.  
That allows him to suggest that it can somehow on its own increase 
its level of sophistication and elaborate behavior.  

The fact that we observe or describe a behavior in human terms 
does not mean its existence the "system" under observation.  
Software executing on a machine has no "purpose".  That purpose 
belongs strictly to us and we have no means of transferring it, no 
matter how much we desire to do so.  It does what it does because 
that is what we told it to do.  It has no choice in what it does.  
It has no options.  Moreover it doesn't know that it is doing 
anything.

That does not mean you cannot engage in reflexive programming.  It 
does mean that is what people put into a program.  It is no more 
or no less than what is put in.  That accounts for "elaborate" as 
well.  The same is true for meta-programming.  Or genericity.  Or 
any of the other requirements.  They apply to what people do to 
insure that software complies.  The software has no other choice.