home *** CD-ROM | disk | FTP | other *** search
/ NetNews Offline 2 / NetNews Offline Volume 2.iso / news / comp / sys / amiga / programmer / 7271 < prev    next >
Encoding:
Text File  |  1996-08-05  |  8.7 KB  |  175 lines

  1. Path: soap.news.pipex.net!pipex!usenet
  2. From: m.hendry@dial.pipex.com (Mathew Hendry)
  3. Newsgroups: comp.sys.amiga.programmer
  4. Subject: Re: 680X0 -> PPC translator?
  5. Date: Sat, 13 Apr 96 15:57:24
  6. Organization: Private node.
  7. Distribution: world
  8. Message-ID: <19960413.4A71D0.E501@an089.du.pipex.com>
  9. 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>
  10. NNTP-Posting-Host: an089.du.pipex.com
  11. X-Newsreader: TIN [AMIGA 1.3 950726BETA PL0]
  12.  
  13. Jack (avilev@netvision.net.il) wrote:
  14. : Mathew Hendry wrote:
  15. : > Jack (avilev@netvision.net.il) wrote:
  16. : > : Mathew Hendry wrote:
  17. : > : > Jack (avilev@netvision.net.il) wrote:
  18. : > : > : many problems aren't solvable with today's technology, but it doesn't mean
  19. : > : > : they're not solvable with other yet-to-devised methods, now do they??
  20. : > : >
  21. : > : > Some may be solved by new algorithms, but no finite number of algorithms can
  22. : > : > solve all problems. You surely can't be suggesting that your static translator
  23. : > : > will contain an infinite number of algorithms - or one infinitely large one.
  24. : > :
  25. : > : hell no, the algorithm is definitly not infinite otherwise i wouldn't suggest it
  26. : > 
  27. : > In that case, it can't work in all cases. There is an inherent indeterminacy
  28. : > between code and data which cannot be completely resolved by ANY algorithm
  29. : > which you may come up with. This can be proved using a variant of G÷del's
  30. : > theorem formulated by Alan Turing.
  31. : by all means, prove me wrong. be concrete and don't generalize one theorem
  32. : on this case, please.
  33.  
  34. Er, I'm not "generalizing" the theorem - it applies directly to this situation.
  35. Since you say in another post that you don't even know what a Turing machine
  36. is, you clearly don't know anything about what this theorem says. So, I refer
  37. you to:
  38.  
  39. Turing, A. M. (1937). On computable numbers, with an application to the
  40. Entscheidungsproblem. Proceedings of the London Mathematical Society (ser. 2),
  41. 42, 230-65; a correction, 43, 544-6.
  42.  
  43. Two things are significant here:
  44.  
  45. 1. Current computers are equivalent to generalised Turing machines - i.e.
  46. anything which may be computed on a generalised Turing machine may also be
  47. computed on a current computer (barring storage limitations) and vice versa.
  48.  
  49. 2. No algorithm which can be executed on a generalised Turing machine can
  50. completely track the logical path of every other possible algorithm in all
  51. situations.
  52.  
  53. When these two points are applied to the problem of static program
  54. translation, it becomes clear that, since no algorithm can completely track
  55. the logical path followed by all programs in all situations, no algorithm can
  56. reliably make the distinction between code and data which your claims imply.
  57.  
  58. Note that the proof of this includes ALL POSSIBLE ALGORITHMS which one may
  59. attempt to use to make the distinction - and STILL the problem is insoluble in
  60. the general case.
  61.  
  62. : code and data can easily be distinguished, if a series of words makes sense
  63. : as a code section it's probably code and you can make sure it is by
  64. : deferring its translation until it is called from some place else or it
  65. : simply makes too much sense to be random data. for example: valid
  66. : jump/calls, references valid addresses, code instruction sequence maintained
  67. : w/o being interrupted by some data word which doesn't make sense as code.
  68.  
  69. This vague hand-waving only allows you to get out of certain situations, not
  70. all. You can wave your hands until they fall off and yet still never reach a
  71. complete solution.
  72.  
  73. : what you claim suggests that not any algorithm can solve ALL situations of a
  74. : given problem, like how many algorithms exist for adding 2 numbers. there's
  75. : obviously one.
  76.  
  77. That is not what the theorem says at all. Clearly some classes of problem are
  78. completely soluble algorithmically in the general case. What the theorem says
  79. is that some classes are NOT, and static translation is one of that set of
  80. classes. The solution of generalised Diophantine equations (which I think were
  81. mentioned in an earlier post) is another class of problem within this set.
  82.  
  83. : your inability to deal with more complex problems prevents you from seeing a
  84. : possible solution.
  85.  
  86. There is no possible solution. I cannot see something which doesn't exist. Can
  87. you?
  88.  
  89. : just as human can do manual translation of the code so can an algorithm.
  90.  
  91. Obviously, for a PARTICULAR case. All the human has to do is encode those
  92. operations which [s]he has performed as an algorithm. But clearly that
  93. algorithm will not apply to all other programs.
  94.  
  95. If you want to make the stronger claim that a human can in principle (*)
  96. translate ANY program accurately (and you have no way of proving this), then
  97. it does NOT follow that an algorithm can too, because it has already been
  98. PROVEN that an algorithm CANNOT. What follows, instead, is that humans do not
  99. operate algorithmically, which is a very strong claim indeed.
  100.  
  101. * - in practice, a human will make errors, but we are talking about
  102. principle here. In other words, a human may be intellectually CAPABLE of
  103. solving the problem in the general case, even though in practice [s]he may
  104. make mistakes, die of old age in the meantime, etc.
  105.  
  106. : > : their earthly solution, but not all secrets have been uncovered yet, the inability to solve something
  107. : > : doesn't make it impossible to solve, there's always some way or another to solve things even in the
  108. : > : most indirect and mysterious ways, you can't just claim they're impossible to solve just because you
  109. : > : still hav'nt found any workable solution.
  110. : > 
  111. : > Sorry, no matter how many "indirect and mysterious ways" you invent, the
  112. : > problem cannot be solved algorithmically for all cases. That is a mathematical
  113. : > truth.
  114. : oh is that so, you speak as if ALL of the math secrets are discovered to you.
  115.  
  116. Of course they aren't all "discovered to me", but that is irrelevant.
  117.  
  118. : well you DON'T know that for sure. have you tried ALL possible solutions to
  119. : solve one of your undecidable problems.
  120.  
  121. The proof INCLUDES all possible solutions. It therefore doesn't matter how
  122. many of those particular solutions *I* currently know.
  123.  
  124. Do you have to add every pair of numbers to know that your algorithm for
  125. adding a pair of numbers is correct? No, the fact that it is correct follows
  126. from the construction of the number system. Likewise, the fact that a computer
  127. cannot reliably translate all computer programs follows from the construction
  128. of the computer.
  129.  
  130. : i'm not eliminating the impossible, oh no, some things are definitly
  131. : impossible even to imagine. but you simply have no CONCRETE basis for your
  132. : claim. as all the others have already submitted their ideas of impossible
  133. : getaway situations which have successfully been dealt with by yours truely,
  134. : i suggest you do the same to undermine my theory.
  135.  
  136. All you are doing is adding bits to your algorithm to deal with more
  137. situations. The point is that no matter how much you add, you cannot deal
  138. with ALL situations. Anybody can give you an example of a program which will
  139. be broken by your translator (although at this time it is difficult to be
  140. specific, because you haven't yet given a full description of your algorithm),
  141. and you can come up with an enhancement which will solve that PARTICULAR
  142. problem, but never ALL problems.
  143.  
  144. : > Great, try translating a program which in some circumstances attempts to
  145. : > execute some of its own data. You immediately have a problem - is that portion
  146. : > of the program code or is it data? You cannot decide, for sometimes it appears
  147. : > to be data, and sometimes it appears to be code. This indeterminacy remains
  148. : > even if the program contains no bugs, and remember, nearly all useful programs
  149. : > DO contain bugs.
  150. : read above paragraphs for hints of solving this simple situation.
  151.  
  152. I see nothing there which would solve it in all cases. You have made vague
  153. claims involving "probably", "makes sense" etc. etc., fuzzy indications of
  154. what algorithms you use to decide such things, and NO PROOF that they would
  155. work in all situations (which of course they cannot, whatever they are).
  156.  
  157. : > You may choose to work around such problems by storing indeterminate program
  158. : > fragments in their original form in the translated binary. But these residual
  159. : > untranslated pieces will have to be handled on the fly when running the
  160. : > translated program. In that case, you no longer have a static translator -
  161. : > you have an emulator.
  162. : no no no, no further run-time analysis is necessary. only static translation.
  163.  
  164. Prove it. Again, you cannot.
  165.  
  166. A program such as yours would be genuinely useful, even though it can only
  167. work in some cases. However, your claim that it is flawless and will work in
  168. all cases is patently false. That is what I am taking issue with.
  169.  
  170. -- Mat.
  171.