Re: object system...



On Fri, 16 Jan 2009 00:41:16 +1000, cr88192 wrote:

"Dmitry A. Kazakov" <mailbox@xxxxxxxxxxxxxxxxx> wrote in message
news:t15b6yjtquuw$.11rsjbtqm56k5.dlg@xxxxxxxxxxxxx
On Thu, 15 Jan 2009 10:13:54 +1000, cr88192 wrote:

"Dmitry A. Kazakov" <mailbox@xxxxxxxxxxxxxxxxx> wrote in message
news:12cbzc4j7mkdd.1hdv3ksqztptf.dlg@xxxxxxxxxxxxx
On Thu, 15 Jan 2009 00:23:07 +1000, cr88192 wrote:

now, as for the barber:
it is a paradox if both possibilities are to be considered at the same
time (as in an axiom), however if on each day he makes this same
decision (using the prior day as his current status, as is more typical in
procedural logic), then he will only shave every-other day (the axiom will be true
at one try, but false at the next, then true, then false, ...).

He does not make decisions, he makes a statement about decisions. This
statement is self contradictory and thus cannot be used as a basis for
decision making. Other statements could be.

yes, I guess one would have to change the "does" to "did" to really make
this work...

Yes, but then it becomes uninteresting because it lacks its prediction
power. When you write +, you know that + will yield a result in a certain
way. This is the whole idea of programing. If you knew the result, you
would not need to program with +. If + is already executed then you also
know the result. So programming is a promise. But if the promise is that
"it will shave everybody except those who don't shave themselves," then
you or your customers have a problem.

still to say he will do something implies a decision will be made as to the
matter, and when it comes to this decision, a decision will be made, and it
will come out one way or another.

it is only a problem if one demands that their logic be stateless, rather
than stateful, and thus come up to a paradox rather than an alternating
answer...

it is much like trying to use an integrator over a non-trivial segment of
the sine function. there is a problem, if only because one is trying to
integrate over a periodic function, rather than evaluating in the context of
discrete chains of events...

No, you cannot relax it unendlessly. What about the choice alternatives?
You can change that set too. Why should you make a decision? There is a
logic that forces you, down with it, etc.

so, as I see it, the whole paradox is a misnomer, if anything, because this
would not turn out this way in practice (and, if set up, the barber would
invariably end up making an alternating set of decisions...).

he would evaluate "do I shave myself?" and would remember answer from the
last time. then it would work like a binary negation, and he would choose
the other way, and the next time, the opposite again.

granted, this assumes the barber used imperative logic, an actual human
being far more likely to realize that the whole thing is silly...

The paradox only says that the statement is contradictory within given
logical framework. No more, no less. You are trying to interpret it as
something absolute having its own merit. It is not. It only shows the
bounds of a given language, and is conditional to the logic. You have to
limit the language in order to avoid paradoxes. Otherwise, you have to deal
with the consequences.

You can deploy a logic that incorporates some paradoxes as proper
statements (Belnap logic, fuzzy logic etc), but then you automatically lose
the porperties these paradoxes violate, like the law of excluded middle
etc. But even so, 1) each such logic is self-consistent, 2) in a
deterministic environment you are forced to make choices anyway, 3) you
still need classic logic where your logic is a model.

but, in any case, the computer is its own self-reinforcing pattern, already
well beyond the stage of a formally-defined system operating purely on
input, output, and intermediate steps...

No. If all incomputable elements (clock, random generators, keyboard input)
are considered as inputs, which they indeed are, then any computer becomes
a finite state machine. It does not have either soul or free will.

Some (many) people belive that we too are finite state machines agitated by
infinite inputs. So far nobody showed either.

There is a fundamental principle that a logical system cannot reason about
itself. So any proposition like exists (self) as well as not esits (self)
is automatically either inconsistent or undecidable. It is a wonder how
humans managed to do this stuff all the time in the history of
pilosophy...
(:-))


well, I am not sure the basis of the above claim (that a system is unable to
reason about itself).

You can see your hand when it is at a distance from your eyes. But you
cannot see your head.

Reasoning about self, at full, means that there is a model of self. Does
that model includes the model itself? A model of model? And so on.

part of what I was going on was derived from my understanding of Descartes, ...

If Descartes knew about Gödel and Cantor's diagonal proofs, he probably
would not become a philosopher.

but, alas, philosophy is an area I don't like treading in too much... the
greater mystery is why I keep running into it...

but, then I am reminded of things, like many of the claims of Thomas
Aquinas, which though fairly good make one major and uncertain assumption:
that of a deterministic universe.

but, alas, it is probably an odd mix in my case to assert both a predestined
outcome and also a non-deterministic universe, but as I see it, there is an
easy answer: for predestination to require determinism also requires the
future to not exist prior to the past, and if one allows that the future
exists concurrently with the past, then no determinism is needed, and the
future is still fixed...

These are interesting issues, and I think much depends on ourselves in the
sense wether we are finite machines or not. For a finite machine,
obviously, exist incomputable things. Moreover for any finite set of such
machines these things are still incomputable. Time to start to believe in
God, again. (:-))

yet, both tend to use built-in fixed-size types, so the question is whether
the feature in question can deliver these benefits over, for example, what
is possible in the JVM or CIL?...

This is a wrong question. A numeric type is like any other type. Do you
have predefined "emploee" type? It is like to quest what benefits offer
programming, over what? Not programming? It is the program semantics that
determines the type, not the language or its target.

I suspect we regard "programming" in very different ways...

you seem to regard it more as mapping some pre-existing idea or purpose onto
the computer (ones' mind is mapped onto the computer, yet the "computer" in
this case is some sort of collection of abstractions?...).

Yes, it is close, programming is largely modeling.

this is in contrast apparently to regarding the computer in its own right,
and considering the relation between the user and computer (or the computer
and reality) as much more bidirectional (like, the computer and the software
world already exist, I more interact with it and try to work on it and make
things better...).

OK, but that is not programming. If the computer reality already exists
(like in a computer game, or less exciting, like in an office package), you
do not program it. You simply interact the reality. It is the difference
between programmer and user. User is a subject of reality. Programmer
creates realities.

I guess another question is how one regards the concept of cybernetics and
how that plays into all this...

You consider computer system as something absolute. But it is not. It plays
different roles and we too play our roles. So it is conditional. I use my
computer as a weight when I need to press something...

lots of people writing software, then rewriting software, making more
software, ...

Writing software to adopt other software, software to maintain software
etc. 80% of this software is just not needed. The system feeds and
produces itself...

it all keeps going though...

if nothing grows or changes then the system is dead, as it were...

.... grows like housing prices, you mean? (:-))

Seriously speaking there is a problem that software engineering is not a
technology, if it will continue to grow all people on earth will have to
become programmers. This is IMO a more serious problem than global warming.

Nope, you forgot the rest of ring arithmetic:

a+b mod 20
a*b mod 20
...

20 bits, not base 20...

Yes. 2**20

'mod 20'

to me at least, implies the same as:
(a+b)%20

since 'mod' is usually used in a linear rather than an exponential sense...

Yes, I was just too lazy to write 2**20 everywhere.

I am lazy and can just rip off designs for all this stuff designed by other
people, and verify that everything is compatible and working, ...

I see. But my position is that it useless to support existing languages and
their paradigms since most of them gone in a wrong direction. I think that
a new step has to be made integrating the lknowledge about software
engineering we have.

it can also be noted that most processors wont have built-in operations
for these cases anyways (and many expressions in the above would likely
be reduced to constants by the compiler).

Exactly, this is why I want the compiler to implement the semantics of,
instead of writing tons of macros, so typical to C.

but, these sort of features don't come free...

I don't see why. OK, there is certainly language complexity issue and
compiler design ones. However, the text of the Ada language standard is
shorter than one of C++, being much more precise regarding the semantics.
So actually I think that a cleaner semantics pays off both for compiler
vendors and programmers.

not C is not C...

for example, Ada is not C or C++ (or one of the other majorly dominant
languages), and that in itself is a major problem...

it is like, if I went and endorsed Scheme, but even then it would still not
be, for example, JavaScript...

Without a consistent theory of types, you cannot make a choice. Supporting
existing technologies is like making a research on new materials for horse
harness in 1901. Maybe it was interesting...

none the less I include some code for both GAs and NNs in my library
code, as there are rare cases where they are useful (one just doesn't want to
use> GAs for anything where they need the answer in a reasonable amount of
time, and NNs aren't really applicable to most problems...).

Right, because that was known in 50s too. NN is just another name for that
time "perceptron" which is a linear classifier. As such it simply cannot
separate classes with non-linear edges, for example like one circle put in
another. What do guys do? They use a kernel that linearizes the problem.
And how to find the kernel for a given problem? Right, to think it out and
then to try it on. A great idea, it is the kernel which in fact does the
job. They could try arbitrary classifiers instead, with far less efforts
saving the community and rain forests from tons of quasi-scientific papers
on NN...

I had partly reworked the notion of an NN a little for my uses, more into a
kind of associative node-graph with possible embedded procedural logic and
customizable neuron behavior (each neuron may have a type containing
customized behaviors). still doesn't make them all that useful for much (and
there is a major weak point that this particular design can't be "templated"
or "instanced", which is a little bit of a detractor for many possible
uses).

Looks more like a good old decision tree.

But it is interesting. I always played with an idea of a sort of AI for
equivalent tansformations of program (mainly for optimization, but also for
correctness checks). But I never came to any conclusion.

one would additionally have to find some additional abstractions to make
this approach more managable...

then there is the raw numerical-evaluation variety (where the NN is
essentially a big mass of numbers being operated on by some or other
transforms), which is at least is a lot more useful for many tasks.

but, to a large degree, NNs of this sort seem a good deal more like a big
glorified matrix multiply...

Yes, that is very close to the truth.

one can then add something similar to IIR filtering, to give it more
interesting (but less stable) behavior, or change the shape of the network,
since a huge-scale matmult would be computationally expensive (given the
like O(n^3) complexity costs of matrix multiplies, where they loose much of
their practicality before one even gets out of the single digits...).

in the past, some of my ideas had floated around similar but different
algos, which I have since learned are all sort of lumped together under the
general term "tensor calculus" (or "multilinear algebra"...).

but, oh well, specific algos also work, like how one can largely use vectors
and matrices on their own as a means to accomplishing specific tasks, and
generally forsake with all the generality and theory found in a typical
textbook...

so, one can instead imagine a NN as a 4D numerical associative-space (each
neuron interfacing with only those directly adjacent to it), and so relates
a 2D input to a 2D output. this could be done much cheaper at a much larger
scale than huge matmults could, but is far less general purpose...

alternatively it seems there are more efficient algos (aka: ones without an
O(n^3) complexity), which could be worth looking into given a combination of
huge-ass matrix multiplies does seem like a fairly general and direct way to
do some things...

matrices:
A forwards martix (FIR filtering);
B alternate matrix (IIR filtering);
C (possible), used in backpropagation, potentially just the inverse of A;
D (questionable), also backprop, potential inverse of B.

matrices then needing to be of sufficient size to transform the input space
into the output space, for example, transforming an 8x8 pixel block would
require a 64x64 matrix, or 4096 values, or about 16384 values for all 4
matrices (and several huge matmults and other large matrix operations...).

so, the different notions are different, but it is difficult to find much
good use for any of it...

I remember times when computers had matrix processors. Symmetric vs.
heterogenous computing is an issue...

The answer is much less efforts. This is the major reason why we chose
Ada.

now, can you convince the rest of the world of this?...

It would be quite useless to try. Software developing industry works in a
way that selects technologically inferior solutions. This includes
languages and libraries. There is no way anybody could change this. Maybe
US Congress could, by making all vendors of commercial software fully
liable. Since we have a global crisis, and many software vendors will
vanish anyway, so it would less painful to do this right now, but surely
they would not. So far I am glad to be able to convince some of our
customers not to push for C. This alone took years for work.

it selects typically for the cheapest options, whatever these are...

No, that is not true. It tries to get as much money from the customer as
possible. He buys the crap f0r $1 and then spends $99 for support,
maintenance, personal training, off times. The system is built in a way
that $99 is not considered as a loss.

it is like the water that finds the shortest way down a hill and then carves
a ditch...

the ditch then becomes just as major of a factor as the optimal solution,
since a medium-optimal solution is to let the water keep running its course
and then erode the walls such that eventually the course gets better (the
water gets down the hill faster...).

Errosion is a problem, in argiculture...

--
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de
.



Relevant Pages

  • Re: newbie to paradox
    ... Is Opal (or Paradox) a borland product? ... > ObjectPAL is the object-based, event-driven, visual programming language ... >> browse fields sstoccode,sdescription,prref,prdesc noedit ...
    (comp.databases.paradox)
  • Re: object system...
    ... then he will only shave every-other day (the axiom will be true ... So programming is a promise. ... and thus come up to a paradox rather than an alternating ... not a good idea to base algos around particular overflow behavior / ... ...
    (comp.object)
  • Re: Buddhism Mind Map
    ... You mean you were talking without it in your head so far? ... You're into programming and operating systems and such, ... So I am seeing much of the Buddha's teachings in the same way here. ... There's really not a lot of paradox or contradiction in his original ...
    (talk.religion.buddhism)
  • Re: object system...
    ... So programming is a promise. ... "it will shave everybody except those who don't shave themselves," then ... and thus come up to a paradox rather than an alternating ... I am not sure the basis of the above claim (that a system is unable ...
    (comp.object)
  • Re: How can I do?
    ... > Linux apps. ... What sort of applications? ... Linux has many different programming languages, ... - what sort of language do you prefer? ...
    (comp.os.linux.development.apps)