home *** CD-ROM | disk | FTP | other *** search
- Path: news.tau.ac.il!usenet
- From: "Avi L." <avil@sapiens.com>
- Newsgroups: comp.sys.amiga.programmer
- Subject: Re: 680X0 -> PPC translator?
- Date: Wed, 17 Apr 1996 11:02:27 +0300
- Organization: Sapiens Tech.
- Message-ID: <3174A593.5045@sapiens.com>
- References: <31499F8E.26A9@netvision.net.il> <volker.0fw1@vb.franken.de> <19960408.40F118.E8F9@an052.du.pipex.com> <316BD11F.69A7@netvision.net.il> <19960410.413918.CA24@aj158.du.pipex.com> <316FE1A5.3A1F@netvision.net.il> <19960413.4A71D0.E501@an089.du.pipex.com>
- NNTP-Posting-Host: honda.sapiens.co.il
- Mime-Version: 1.0
- Content-Type: text/plain; charset=us-ascii
- Content-Transfer-Encoding: 7bit
- X-Mailer: Mozilla 2.01 (WinNT; I)
-
- Mathew Hendry wrote:
- Hi Mat,
-
- > Er, I'm not "generalizing" the theorem - it applies directly to this situation.
- > Since you say in another post that you don't even know what a Turing machine
- > is, you clearly don't know anything about what this theorem says. So, I refer
- > you to:
- >
- > Turing, A. M. (1937). On computable numbers, with an application to the
- > Entscheidungsproblem. Proceedings of the London Mathematical Society (ser. 2),
- > 42, 230-65; a correction, 43, 544-6.
- >
- > Two things are significant here:
- >
- > 1. Current computers are equivalent to generalised Turing machines - i.e.
- > anything which may be computed on a generalised Turing machine may also be
- > computed on a current computer (barring storage limitations) and vice versa.
-
- ok, but that still has no barring on this specific case. look, each problem has its own
- unique solution, some don't have a solution at all at this stage that's true but
- havn't been proven to have no solution at all and for this specific problem neither you
- nor anybody else for that matter have given me any proof that it's impossible to implement.
- i'm not saying it'll solve all situations at first, but with incremental enhancements it will
- get closer and closer to that ideal limit.
-
- >
- > 2. No algorithm which can be executed on a generalised Turing machine can
- > completely track the logical path of every other possible algorithm in all
- > situations.
-
- fuzzy, too fuzzy.
-
- >
- > When these two points are applied to the problem of static program
- > translation, it becomes clear that, since no algorithm can completely track
- > the logical path followed by all programs in all situations, no algorithm can
- > reliably make the distinction between code and data which your claims imply.
-
- i gave you the method by which i would identify these sections and yet you failed to
- provide me with a possible failure scenario, according to you it would be no problem
- finding one. many have tried and failed and they had very strong convictions that they
- were correct yet they have failed to respond to my legitimate solutions there by ignoring
- the problem altogether, meaning they raised their white flag in my eyes.
-
- >
- > Note that the proof of this includes ALL POSSIBLE ALGORITHMS which one may
- > attempt to use to make the distinction - and STILL the problem is insoluble in
- > the general case.
-
- again, it may not be completely bullet-proof at the beggining but it will nevertheless
- deal with all known programming paradigms quite successfully. all you are seeing as a 'major'
- problem is this identification of code and data which i have already described how to solve.
- the next thing you're probably going to say if i've 'synced' on your frequency correctly
- is that my proof is reasonable cuz it involves some kind of probablity, well...hey it's
- a free world out there, so be it.
-
-
- >
- > : code and data can easily be distinguished, if a series of words makes sense
- > : as a code section it's probably code and you can make sure it is by
- > : deferring its translation until it is called from some place else or it
- > : simply makes too much sense to be random data. for example: valid
- > : jump/calls, references valid addresses, code instruction sequence maintained
- > : w/o being interrupted by some data word which doesn't make sense as code.
- >
- > This vague hand-waving only allows you to get out of certain situations, not
- > all. You can wave your hands until they fall off and yet still never reach a
- > complete solution.
-
- why the hell not, give me a possible scenario where you're sure it would fail.
-
- >
- > : what you claim suggests that not any algorithm can solve ALL situations of a
- > : given problem, like how many algorithms exist for adding 2 numbers. there's
- > : obviously one.
- >
- > That is not what the theorem says at all. Clearly some classes of problem are
- > completely soluble algorithmically in the general case. What the theorem says
- > is that some classes are NOT, and static translation is one of that set of
- > classes. The solution of generalised Diophantine equations (which I think were
- > mentioned in an earlier post) is another class of problem within this set.
- >
-
- how can you be so sure that static translation falls in the unsolvable category, what
- are you god all of a sudden? please stick to reality and in reality you're wrong until
- proven otherwise.
-
- > : your inability to deal with more complex problems prevents you from seeing a
- > : possible solution.
- >
- > There is no possible solution. I cannot see something which doesn't exist. Can
- > you?
-
- well, i'm not asking you to see anything, just provide some basis for your claim of the
- impossibilty of static translation, all you've done by now is hiding behind a shield of
- theorems which don't necessarily have any connection to this specific problem, if you
- can't stand the heat better stay out of the kitchen i guess.
-
- >
- > : just as human can do manual translation of the code so can an algorithm.
- >
- > Obviously, for a PARTICULAR case. All the human has to do is encode those
- > operations which [s]he has performed as an algorithm. But clearly that
- > algorithm will not apply to all other programs.
-
- what??? bare in mind that a human wrote these algorithms so these algorithms are by
- definition have human logic in them and can thus be understood by humans. i'm sorry
- to say that i still havn't seen any aliens writing computer programs using alien logic
- system. that would be a case where (human) static translations could fail.
-
- >
- > If you want to make the stronger claim that a human can in principle (*)
- > translate ANY program accurately (and you have no way of proving this), then
- > it does NOT follow that an algorithm can too, because it has already been
- > PROVEN that an algorithm CANNOT. What follows, instead, is that humans do not
- > operate algorithmically, which is a very strong claim indeed.
-
- humans do operate algorithmatically indeed although no one said this algorithm is by any
- chance flawless, no way jose, still i don't see any connection to the problem at hand
- i understand that it's easier for you to stand behind your theorems but please, unless
- you can provide direct connection of these theorems on this case i strongly suggest
- you stop using them, and that's true in any situation. theorems aren't proofs and don't
- confuse between them, just because it aligns itself well with some situations it doesn't
- mean a theorem's true for all similar cases.
-
- >
- > * - in practice, a human will make errors, but we are talking about
- > principle here. In other words, a human may be intellectually CAPABLE of
- > solving the problem in the general case, even though in practice [s]he may
- > make mistakes, die of old age in the meantime, etc.
-
- mistakes don't imply that it can't be done for example a child could claim that 1+1 = 3, he's
- wrong of course but does that make the problem any less solvable, NO!!!
-
- > : > Sorry, no matter how many "indirect and mysterious ways" you invent, the
- > : > problem cannot be solved algorithmically for all cases. That is a mathematical
- > : > truth.
- > :
- > : oh is that so, you speak as if ALL of the math secrets are discovered to you.
- >
- > Of course they aren't all "discovered to me", but that is irrelevant.
-
- irrelevant, i don't think so, if you knew ALL and i mean ALL the secrets of the mathematics
- i would go down on my knees and start worshipping you :-) i would'nt even start debating
- this subject, unfortunatly, you don't know all of that and you can, as can i make mistakes
- that's why the PROOF concept was indeed invented, theorems are nice for most practical cases
- but don't say they're useful for all cases which you havn't even started to think about.
-
- >
- > : well you DON'T know that for sure. have you tried ALL possible solutions to
- > : solve one of your undecidable problems.
- >
- > The proof INCLUDES all possible solutions. It therefore doesn't matter how
- > many of those particular solutions *I* currently know.
-
- yeah that's true, you can't argue with the absolute truth. if you had provided me with
- a concrete proof i would shut up and say that you're undoubtably right, till then you're wrong
- until proven otherwise.
-
- >
- > Do you have to add every pair of numbers to know that your algorithm for
- > adding a pair of numbers is correct? No, the fact that it is correct follows
- > from the construction of the number system. Likewise, the fact that a computer
- > cannot reliably translate all computer programs follows from the construction
- > of the computer.
-
- the first case is true and trivial, however you'll have to provide the proof for the 2nd
- claim.
-
- >
- > : i'm not eliminating the impossible, oh no, some things are definitly
- > : impossible even to imagine. but you simply have no CONCRETE basis for your
- > : claim. as all the others have already submitted their ideas of impossible
- > : getaway situations which have successfully been dealt with by yours truely,
- > : i suggest you do the same to undermine my theory.
- >
- > All you are doing is adding bits to your algorithm to deal with more
- > situations. The point is that no matter how much you add, you cannot deal
- > with ALL situations. Anybody can give you an example of a program which will
- > be broken by your translator (although at this time it is difficult to be
- > specific, because you haven't yet given a full description of your algorithm),
- > and you can come up with an enhancement which will solve that PARTICULAR
- > problem, but never ALL problems.
-
- most changes in the world are incremental by their nature, i can't see why is that
- evolutionary process so bad even though it might be slow.
-
- >
- > : > Great, try translating a program which in some circumstances attempts to
- > : > execute some of its own data. You immediately have a problem - is that portion
- > : > of the program code or is it data? You cannot decide, for sometimes it appears
- > : > to be data, and sometimes it appears to be code. This indeterminacy remains
- > : > even if the program contains no bugs, and remember, nearly all useful programs
- > : > DO contain bugs.
- > :
- > : read above paragraphs for hints of solving this simple situation.
- >
- > I see nothing there which would solve it in all cases. You have made vague
- > claims involving "probably", "makes sense" etc. etc., fuzzy indications of
- > what algorithms you use to decide such things, and NO PROOF that they would
- > work in all situations (which of course they cannot, whatever they are).
-
- why not, if a sequence of words makes sense as code according to the given critirias then
- why wouldn't it be code, if it's just random data, which you know as well as i that this
- would happen 1 in a million, all we've done is randomize it again.
-
- >
- > : > You may choose to work around such problems by storing indeterminate program
- > : > fragments in their original form in the translated binary. But these residual
- > : > untranslated pieces will have to be handled on the fly when running the
- > : > translated program. In that case, you no longer have a static translator -
- > : > you have an emulator.
- > :
- > : no no no, no further run-time analysis is necessary. only static translation.
- >
- > Prove it. Again, you cannot.
-
- i gave the proofs for all other given scenarios it'll take impractical amount of
- time repeating it here again.
-
- >
- > A program such as yours would be genuinely useful, even though it can only
- > work in some cases. However, your claim that it is flawless and will work in
- > all cases is patently false. That is what I am taking issue with.
-
- no, i didn't say that, it would have to go through the stages of evolution as most
- other complex processes go through. nobody can foresee how software will look like
- in 5-10 years from now, of course new methods for solving new problems will have to be
- invented. it is a rare case where a solution is good for a long period of time w/o
- being modified at all.
-
- Avi Lev
-