home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / std_unix / volume.31 / text0021.txt < prev    next >
Encoding:
Text File  |  1993-07-15  |  7.9 KB  |  154 lines

  1. Submitted-by: jeffrey@netcom.com (Jeffrey Kegler)
  2.  
  3. In article <1o3a76INNmse@ftp.UU.NET> dave@88open.org (Dave Cline) writes:
  4. >In article <1nja8cINNc45@ftp.UU.NET>,
  5. >    jeffrey@netcom.com (Jeffrey Kegler) writes:
  6. >
  7. >>The mathematical argument that the base standard implied by the test
  8. >>method standard must be less rigorous than the original is
  9. >>straightforward.  Most POSIX standards will specify a sufficiently
  10. >>complex system to implement a Turing machine.  Testing that all
  11. >>programs for a Turing machine correctly execute on a given black box
  12. >>is impossible, even in theory -- it implies the solution of whole sets
  13. >>of undecidable problems.
  14. >
  15. >I think that the reference to Turing might have been intended to refer
  16. >to Goedel, but anyway, the reference is misplaced.   A Turing machine
  17. >requires infinite storage.  If only finite storage is present, then
  18. >one can, in theory, enumerate all the possible programs and their
  19. >results.  With finite storage there is no halting problem.  One may
  20. >well choose not to wait for the answers, though.  :-)
  21.  
  22. An outsider comparing these two paragraphs will come away with the
  23. impression that at most one of the writers really knows Theory of
  24. Computation.  One or more knows the terms, some of the names, and even
  25. some of the definitions, but does not understand how the field works.
  26. This impression is correct.
  27.  
  28. Hackers despise people who drop names, fall back on credentials, etc.,
  29. realizing that good credentials often back poor arguments, and good
  30. arguments often come without strong credentials.  This trait is one of
  31. the joys of working in the community of hackers.  Nonetheless, what we
  32. have here is two people claiming understanding of a difficult field,
  33. where the full explanations would take too much space.  I hope then
  34. the following will be seen as appropriate and helpful.  I have
  35. published a referreed article in Theory ("Technical Correspondence",
  36. Communications of the ACM, June 1986, V29N6).  It went to press with
  37. the change of one typo in my submitted draft.  (It would seem from
  38. this test that it is considerably less hassle to publish new results
  39. in CACM than trivial ones in comp.std.unix!)  I don't claim to be more
  40. than an extremely minor figure in the Theory world.  I do claim to
  41. know what I am talking about when I am careful to stick to the
  42. mathematically trivial and obvious, as I did above.
  43.  
  44. More in the way of justification follows.  Those who know Theory of
  45. Computation well with find nothing new here.  Those who never cared
  46. about Theory will find nothing that should make them reconsider that
  47. opinion.  To the extent they wish to give me further attention at all
  48. they may jump to the conclusion at the end.  Those who do care some,
  49. and would like to know more, may find their time rewarded.
  50.  
  51. 1.  My reference to the Turing machine is boilerplate.  In order to
  52. establish the relevance of the usual theorems, a result usually starts
  53. by demonstrating equivalence to one of the usual theoretical models,
  54. the Turing machine being the most common.  In theory, this
  55. demonstration consists of a proof that the new computation model can
  56. implement a Turing machine, and vice versa.  In practice, these facts
  57. are usually so obvious that the technique I employed above, known as
  58. "hand-waving", is all that is done.
  59.  
  60. The applicability of Goedel's undecidability results, and of a host of
  61. others, is established via the Turing machine.
  62.  
  63. 2.  Dave Cline is right when he says the Turing machine allows for
  64. infinite space, in its quaint old model, using an infinite tape.  He
  65. then attempts a demonstration of the irrelevance of any such model to
  66. finite computation.  First off, let me point out, that since we are
  67. discussing standards, not physical machines, so the matters under
  68. discussion are all theoretical models.  Unless they specifically point
  69. out that "no implementation shall be capable of simulating a Turing
  70. machine with a tape containing more than 711 gigabits.", or
  71. mathematically equivalent language, the standards are, in many cases,
  72. Turing machine equivalent in the strict sense.
  73.  
  74. 3.  But even taking the infinite/finite point as seriously as I just
  75. did in the previous paragraph is very misleading.  If we accept that
  76. Dave Cline's point was even potentially valid, it means that no
  77. infinite model is relevant in application to actual, physical, finite
  78. machines.  Big O notation is irrelevant for example.  Saying an
  79. algorithm requires O(log n) time, as opposed to O(n), is meaningless
  80. in real life.  The halting problem, as Dave points out, now can be
  81. considered quite solvable.
  82.  
  83. Even stupid little finite state automata handle infinite inputs, so
  84. they too must get the heave-ho.  So the math underlying regular
  85. expressions is irrelevant as well.
  86.  
  87. Dave Cline takes issue, not with my use of Theory of Computation, but
  88. with the basics of most of the field.
  89.  
  90. 4.  Almost all mathematics of computation uses infinite models at some
  91. point.  For that matter, accountants use the integers, of which there
  92. is an infinite number, to represent dollars and cents, even though
  93. none of their clients (except possibly the Federal Reserve) has access
  94. to infinite funds.  This point is more than verbal trickery.  The fact
  95. is that models implying infinity are used routinely in even low level
  96. math, for extremely mundane and practical uses.
  97.  
  98. This did not come about without a good deal of debate.  The Greeks had
  99. great trouble with the theoretical difficulties the use of infinity
  100. implies.  The more practically minded Indian mathematicians just went
  101. ahead and did it.  They resolved none of the theoretical difficulties,
  102. but made great strides in practice, and our modern daily use of
  103. arithmetic comes from India.  A solid theoretical underpinning to the use of
  104. infinity did not come about until around 1900.
  105.  
  106. In short, Theory of Computation is based on models of computation
  107. embodying potential infinities, just as engineering or accounting.
  108.  
  109. 5.  Perhaps paradoxically, infinite models are almost always *more*
  110. relevant to practice than finite ones.  Take Dave Cline's example of
  111. the halting problem.  On a finite machine it's solvable by
  112. enumeration, he correctly states.  On the real machine, however, which
  113. does have potentially infinite time available, we must take into
  114. account in counting space all the tapes we could mount, all the new
  115. disks we could buy, all the storage we could access over a net and all
  116. the technological improvements that might come along.  The infinite
  117. tape winds up modeling the complexities of the real world as well or
  118. better than any finite model -- and the math is easier, no small
  119. consideration.
  120.  
  121. Take the argument that on your finite-sized machine the halting
  122. problem is solvable (by enumeration, based on its finitude), and the
  123. argument that the problem is undecidable -- which is the more
  124. practical?  Anyone wishing to say the former is the more relevant
  125. logic, could prove his case by contributing to the FSF a utility to
  126. solve the halting problem [ or perhaps it could be a lint hack :-) ].
  127.  
  128. Conclusion: My brief essay into math was intended to make strongly the
  129. point that many essential assertions contained in base standards are
  130. not testable.  This point is one that one does not need Theory of
  131. Computation to decide.  It's fairly obvious to anyone with a hackerly
  132. bent.
  133.  
  134. In the rare cases where Theory can make an argument stronger, I like
  135. to employ it.  It makes me feel my youthful studies were not entirely
  136. in vain.  Those who don't care for Theory can safely skip the details,
  137. leaping ahead to the result, and seeing it was pretty obvious without
  138. all the BS.
  139.  
  140. Whether the argument is from Theory or Hackery, test method standards
  141. *must* be watered down versions of the base standard.  No one has
  142. argued this, not even those who appear to be willing to tilt their
  143. lance at whole subfields of Comp. Sci.
  144. -- 
  145. Jeffrey Kegler, Independent UNIX Consultant, Algorists, Inc.
  146. jeffrey@algor2.ALGORISTS.COM
  147. 137 E Fremont AVE #122, Sunnyvale CA 94087
  148. "Chairman Warren, if you felt your life was in danger at the moment,
  149.  
  150. [ I'm not sure this thread belongs in comp.std.unix anylonger -- mod ]
  151.  
  152. Volume-Number: Volume 31, Number 22
  153.  
  154.