home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / spezial / 21 / read.me < prev    next >
Encoding:
Text File  |  1991-08-12  |  57.4 KB  |  1,323 lines

  1.  SPECIAL
  2.  XXI (21)
  3. ╔════════════════════════════════════════════════════════════════════════╗
  4. ║                                                                        ║
  5. ║ ⌐████  █████  ████  █████  █  █████  █     █   █  █   █  █             ¬ ║
  6. ║ ⌐█     █   █  █      █     █  █   █  █      █ █    █ █   █             ¬ ║
  7. ║ ⌐████  █████  ███     █    █  █████  █       █      █    █             ¬ ║
  8. ║ ⌐   █  █      █        █   █  █   █  █      █ █    █ █   █             ¬ ║
  9. ║ ⌐████  █      ████  █████  █  █   █  ███   █   █  █   █  █             ¬ ║
  10. ║                                                                        ║
  11. ║  D I E   S O F T W A R E   Z U M   M A G A Z I N     (c) 1991 toolbox  ║
  12. ╚════════════════════════════════════════════════════════════════════════╝
  13.  
  14.  
  15. ,,0
  16. ⌐0. INHALTSVERZEICHNIS
  17. ⌐═════════════════════
  18.  
  19. ⌐<0>¬..........Inhaltsverzeichnis
  20. ⌐<1>¬..........Bedienung des Readme-Programms
  21.  
  22. ⌐<2>¬..........Inhaltsübersicht der Diskette
  23.  
  24. ⌐<3>¬..........Turing-Dokumentation
  25.  
  26. ⌐<4>¬..........Hinweise
  27.  
  28.  
  29. ,,1
  30. ⌐1. BEDIENUNG DES README-PROGRAMMS
  31. ⌐═════════════════════════════════
  32.  
  33. ⌐<Cursor hoch/runter>¬.........Eine Zeile nach oben/unten scrollen
  34.  
  35. ⌐<Bild hoch/runter>¬...........Eine Seite nach oben/unten blättern
  36.  
  37. ⌐<Pos1>, <Ende>¬...............Zum Anfang/Ende des Textes springen
  38.  
  39. ⌐<Esc>¬........................Readme verlassen
  40.  
  41. Außerdem können Sie alle Kapitel bequem über die in ⌐<¬ und ⌐>¬ einge-
  42. schlossenen Hotkeys anwählen, die im Inhaltsverzeichnis angegeben sind.
  43.  
  44.  
  45. ,,2
  46. ⌐2. INHALTSVERZEICHNIS DER DISKETTE
  47. ⌐═══════════════════════════════════
  48.  
  49. A:\
  50.         addieren.tur       328 Bytes   8:57 pm  Sam Nov 24 90
  51.         minus.tur          564 Bytes   2:14 pm  Sam Nov 24 90
  52.         artikel.asc     53,769 Bytes   2:36 pm  Fre Mai  3 91
  53.         modulo3.tur        673 Bytes   2:15 pm  Sam Nov 24 90
  54.         suche.tur          344 Bytes   2:15 pm  Sam Nov 24 90
  55.         turing.exe      30,432 Bytes   2:42 pm  Mon Aug 12 91
  56.         turing.pas      27,935 Bytes   2:40 pm  Mon Aug 12 91
  57.         zahlen.tur         354 Bytes   2:16 pm  Sam Nov 24 90
  58.         read.me         17,264 Bytes   2:24 pm  Fre Aug  9 91
  59.         readme.exe       8,496 Bytes  11:32 am  Don Apr  4 91
  60.         A_AUTO             <DIR>       4:46 pm  Mon Aug 12 91
  61.         K_AUTO             <DIR>       4:46 pm  Mon Aug 12 91
  62.         LBA_AUTO           <DIR>       4:46 pm  Mon Aug 12 91
  63.         M_AUTO             <DIR>       4:47 pm  Mon Aug 12 91
  64.  
  65. A:\A_AUTO
  66.         .                  <DIR>       4:46 pm  Mon Aug 12 91
  67.         ..                 <DIR>       4:46 pm  Mon Aug 12 91
  68.         a_auto.com      14,715 Bytes   3:55 pm  Mon Aug 12 91
  69.         a_auto.kat         545 Bytes   3:55 pm  Mon Aug 12 91
  70.  
  71. A:\K_AUTO
  72.         .                  <DIR>       4:46 pm  Mon Aug 12 91
  73.         ..                 <DIR>       4:46 pm  Mon Aug 12 91
  74.         k_auto.com      17,114 Bytes   3:53 pm  Mon Aug 12 91
  75.         k_auto.kat         622 Bytes   3:53 pm  Mon Aug 12 91
  76.  
  77. A:\LBA_AUTO
  78.         .                  <DIR>       4:46 pm  Mon Aug 12 91
  79.         ..                 <DIR>       4:46 pm  Mon Aug 12 91
  80.         lba_auto.com    15,835 Bytes   3:52 pm  Mon Aug 12 91
  81.         lba_auto.kat       932 Bytes   3:51 pm  Mon Aug 12 91
  82.  
  83. A:\M_AUTO
  84.         .                  <DIR>       4:47 pm  Mon Aug 12 91
  85.         ..                 <DIR>       4:47 pm  Mon Aug 12 91
  86.         m_auto.com      15,781 Bytes   3:46 pm  Mon Aug 12 91
  87.         m_auto.kat         545 Bytes   3:46 pm  Mon Aug 12 91
  88.  
  89.  
  90. ,,3
  91. ⌐3. Dokumentation
  92. ⌐═══════════════════════════════════
  93.  
  94. Automaten und Sprachen der Informatik
  95.  
  96. von Burkhard R. Wittek
  97.  
  98. Komplexitätsstufen von Sprachen und Automaten zwischen Datenverarbei-
  99. tung und Künstlicher Intelligenz - zwischen FastFood der Automaten-
  100. theorie und der Kochkunst á la Bocuse der Künstlichen Intelligenz
  101.  
  102. Der Ausdruck "Künstliche Intelligenz" oder englisch "artificial intel-
  103. ligence" ist inzwischen in aller Munde. Jedermann, der schon einmal
  104. einen Computer zu Gesicht bekommen hat, glaubt, darunter etwas zu ver-
  105. stehen oder gebraucht ihn, ohne einmal wirklich nachgefragt zu haben,
  106. was eigentlich damit gemeint ist. Weil die Beantwortung dieser Frage
  107. in Wirklichkeit aber gar nicht so leicht ist, macht man den Umweg und
  108. erklärt, was eine Maschine überhaupt tun kann.
  109.  
  110. Dieser Umweg über die Frage, was Maschinen überhaupt tun können, macht
  111. einen auf eine Schwierigkeit aufmerksam. Denn im Spektrum zwischen
  112. ganz einfachen Maschinen (zum Beispiel eine Kaffee- oder Pfeffermühle)
  113. über kompliziertere (zum Beispiel ein Auto oder ein Rasenmäher) bis
  114. hin zum großen Bruder der künstlichen Intelligenz, der natürlichen
  115. Intelligenz, ist es ein sehr weiter Weg. Und wer ihn geht, weiß nicht,
  116. wie und wann er am Ziel ankommen wird. Denn in vielen Fällen läßt es
  117. sich gar nicht oder nur sehr schwer angeben, worin die höhere Komple-
  118. xität von Stufe zu Stufe eigentlich besteht.
  119.  
  120. Ein Ausweg aus dieser Misere ist aber die Tatsache, daß man immer an-
  121. geben kann, wofür man eine bestimmte Maschine gebrauchen kann - sei es
  122. nun eine Kaffemühle, ein Auto oder unsere natürliche Intelligenz. Und
  123. in gleicher Weise ergeht es uns mit dem Computer. Auch bei ihm kann
  124. wenigstens gesagt werden, wofür wir ihn einsetzen können und welchen
  125. Nutzen er uns bringen kann, wenn wir auch nicht immer klar sehen, wie
  126. wir ihn diesem Nutzen zuführen sollen: wie wir also ein bestimmt es
  127. Programm schreiben müssen, daß der Computer so funktioniert, wie man
  128. es sich vorgestellt hat.
  129.  
  130. In diesem Sinne läßt sich die Maschine "Computer" in vier unterschied-
  131. liche Sprachstufen einteilen. Auf jeder Stufe kann dieser bestimmte
  132. Aufgaben erfüllen, bestimmte andere Aufgaben dagegen nicht. Auf der
  133. untersten Stufe sind es nur sehr elementare Aufgaben, auf der nächst
  134. höheren besitzt der Computer bereits eine gewisse Merkfähigkeit, d.h.
  135. er hat einen elementaren Speicher, wodurch die durch ihn zu erledigen-
  136. den Aufgaben schon komplizierter sein können.
  137.  
  138. Auf der höchsten Stufe ist der Computer dann universell einsetzbar,
  139. d.h. sein Speicher ist so groß, daß er jede ausreichend beschriebene
  140. Aufgabe erfüllen kann. Ein Computer mit einem universellen Sprachum-
  141. fang ist das Modell des heutigen Rechenautomaten, einer universellen
  142. Maschine also, die wiederum die Basis für die sogenannte Künstliche
  143. Intelligenz abgeben soll.
  144.  
  145. Um verstehen zu können, was den Hintergrund Künstlicher Intelli-
  146. genz ausmacht oder ausmachen soll, wird es hier um die Sprachstufen
  147. gehen, die zu solchen Maschinen führen, auf denen Künstliche Intelli-
  148. genz möglich sein soll.
  149.  
  150. Allen Sprachstufen, von denen es insgesamt vier gibt, ist ein in Tur-
  151. bo-Pascal geschriebener Interpreter gewidmet. Dieser soll jedem Inte-
  152. ressierten erlauben, jeweils eigene Programme zu diesen Automaten und
  153. Sprachstufen zu entwickeln und ablaufen zu lassen.
  154.  
  155.  
  156. Automatentheorie, Regeln und Zeichenketten
  157.  
  158. Die Beschäftigung mit Sprachen und Sprachumfängen sind Thema der Auto-
  159. matentheorie. Dort werden dann Computer einfach nur Automaten genannt.
  160. Man kann das Ganze dann auch so nennen: Die Automatentheorie beschäf-
  161. tigt sich mit den Möglichkeiten und Grenzen der automatischen Reali-
  162. sierbarkeit von natürlicher Intelligenz, wobei hier Intelligenz alles
  163. umfaßt, was Nachdenken erfordert: also das Erringen des Nobelpreises
  164. für Mathematik ebenso wie das Errechnen des maximal verfügbaren Bud-
  165. gets für den nächsten Schallplattenkauf. Hintergrund dieser automati-
  166. schen Realisierbarkeit von natürlicher Intelligenz sind die formalen
  167. Sprachen.
  168.  
  169. Formale Sprachen sind Mengen aus Regeln und Grundzeichen.
  170. Die Regeln besagen dabei, wie aus diesen verfügbaren Grundzeichen Zei-
  171. chenket ten gebildet werden können, oder sie können entscheiden, wel-
  172. che Zeichenketten zu einer bestimmten Sprache gehören und welche
  173. nicht. Oder nochmals anders gesagt: Die Regeln, die eine bestimmte
  174. Sprache ausmachen, können zur Analyse und zur Synthese von Zeichenket-
  175. ten verwendet werden. Bei der Analyse wird eine bestimmte Zeichenkette
  176. auf ihre Bestandteile reduziert. Sind die Bestandteile Elemente der
  177. Grundzeichen, dann gehört die Zeichenkette zu der Sprache, die durch
  178. die Regeln beschreibbar ist; sind sie nicht Elemente der Grundzei-
  179. chen, dann gehört die Zeichenkette nicht zu dieser Sprache. Bei der
  180. Synthese wird umgekehrt vorgegangen: Die Regeln bilden aus den Grund-
  181. zeichen Zeichenketten, und alle Zeichenketten, die aus den Grundzei-
  182. chen durch Anwendung der Regeln gebildet werden können, gehören zu
  183. dieser Sprache. Folglich, da die Kombinationsmöglichkeiten zwischen
  184. Grundzeichen und Regeln endlos zu sein scheinen, kann eine anscheinend
  185. nicht-abbrechende Menge von Wörtern einer bestimmten Sprache erzeugt
  186. werden. Je nach Komplexitätsstufe der Sprache, das heißt ihrer Regeln,
  187. ist also die Anzahl der erzeugbaren Wörter kleiner oder größer - bis
  188. hin zu universellen Sprachen, von denen man glaubt, daß in ihnen sogar
  189. natürliche Intelligenz höherer Stufe darstellbar sei.
  190.  
  191. Man kann eine solche Realisation von Sprachen auch Algorithmus nennen.
  192. Denn auch Algorithmen sind solche formalen Grammatiken, durch die Ein-
  193. gabedaten eindeutig Ausgabedaten zugeordnet werden. Entsprechen die
  194. Eingabedaten über Regeln (die Be
  195. fehle des Programms) den Grundzeichen, also den Zeichen, die vom zuge-
  196. hörigen Algorithmus verarbeitet werden können, dann kann die Folge der
  197. Eingabedaten als ein Wort der Sprache betrachtet werden, die durch den
  198. Algorithmus realisiert wird. Folglich stellen auch alle Algorithmen,
  199. die auf Computern abgelaufen sind oder jemals ablaufen werden,
  200. Sprachen dar, die durch eine bestimmte Zahl von Regeln und Grundzei-
  201. chen definiert sind.
  202.  
  203.  
  204. Korrespondenz zwischen Sprachstufen und Automat
  205.  
  206. Kommen wir nun aus dem Reich der künstlichen Intelligenzen zurück in
  207. die Realität maschineller Hausmannskost. Die spartanische Realität der
  208. Informatik besteht darin, daß wir es bei unseren Computern mit soge-
  209. nannten universellen Automaten zu tun haben. Dies besagt in einer Art
  210. intuitiver, also keineswegs bis ins Letzte gewissen, Überzeugung, daß
  211. jede Rechenvorschrift oder jedes Programm, das auf irgendeinem be-
  212. stimmten universellen Automaten ausführbar ist, auch auf jedem ander
  213. en universellen Automaten ausführbar sein muß. Da wir nicht alle Pro-
  214. gramme auf allen Computern ausprobieren können, um dieser Überzeugung
  215. ganz sicher sein zu können - so wie man auch nicht ausprobieren kann,
  216. ob alle Kochrezepte in allen Küchen realisierbar sind -, spricht man
  217. von einer nur intuitiven Gewißheit: das heißt einfach nur, daß bislang
  218. keine Ausnahme von dieser ungeschriebenen Regel bekannt geworden ist.
  219.  
  220. Jedoch gibt es unterhalb der Grenze dieser universellen Automaten sol-
  221. che Automaten, auf denen nur ganz bestimmte Programme ausführbar sind.
  222. Hier seien sie einfach der Reihe nach aufgezählt: Der berühmteste uni-
  223. verselle Automat ist die sogenannte Turing-Maschine. Unterhalb dieser
  224. Maschine gibt es folgende Automaten: der linear beschränkte Automat,
  225. der Keller-Automat und unter diesen der endliche Automat mit und der
  226. endliche Auto mat ohne Ausgabe. Diese Automaten und ihr Bezug zu den
  227. entsprechenden Spachen der Automatentheorie können anhand der soge-
  228. nannten Chomsky-Hierarchie dargestellt werden:
  229.  
  230. Chomsky-Typ  Sprachen-Typ                 Automaten-Typ
  231. -----------------------------------------------------------
  232.  Typ-0       allgemeine Sprache           Turing-Maschine
  233.              (rekursiv-aufzählbar)
  234.  Typ-1       Kontextsensitive
  235.              linear beschränkte Sprachen  Automat
  236.  Typ-2       Kontextfreie Sprachen        Kellerautomat
  237.  Typ-3       Reguläre Sprachen            endlicher Automat
  238.                                           mit/ohne Ausgabe
  239.  
  240. Wir werden nun jede dieser Sprachen und Maschinen von der einfachsten
  241. bis zur universellen Stufe betrachten. Dabei wird insbesondere auf die
  242. Struktur der auf diesen ablauffähigen Programme bzw. Sprachen und de-
  243. ren Grammatiken eingegangen.
  244.  
  245.  
  246. Sprach- und Grammatikformen der Automaten
  247.  
  248.  
  249.  I)  DIE SPRACHEN
  250.  
  251. In der Welt aller Kochrezepte und aller Küchen lassen sich unter-
  252. schiedliche Schwierigkeitsgrade unterscheiden. In der Welt der Spra-
  253. chen und Grammatiken ist das ähnlich: Es lassen sich insgesamt vier
  254. Sprachstufen unterscheiden. Mit wachsender Komplexität und Umfang sind
  255. das die regulären Sprachen, die kontextfreien Sprachen, die kontext-
  256. sensitiven Sprachen.und die unbeschränkt-allgemeinen Sprachen (d.h.
  257. die rekursiv-aufzählbaren). In der Automatentheorie wird gezeigt, daß
  258. in diesen Grammatiken von Stufe zu Stufe unterschiedliche Regelformen
  259. zur Anwendung kommen. Jeder dieser Stufen oder Sprachen und Regelfor-
  260. men entspricht dann genau ein Automat. Das sind dann mit wachsender
  261. Komplexität die schon genannten Automaten: der endliche Automat
  262. mit/ohne Ausgabe, der Kellerautomat, der linear beschränkte Automat
  263. und die Turing-Maschine.
  264.  
  265. Zum besseren Verständnis beginnen wir einfach mit dem Begriff der
  266. Regel und stellen dann die verschiedenen Regelformen bezüglich der
  267. unterschiedlichen Sprachstufen vor.
  268.  
  269. Eine Regel ist ganz allgemein eine bestimmte, für einen konkreten Fall
  270. festgelegte Handlungsanweisung. Sie verbindet zwei Aussagen miteinan-
  271. der unter dem Primat der Wenn-dann-Beziehung: "Wenn .x, dann y". Eine
  272. Regel ist damit eine Handlungsvorschrift, wie sie in Kochrezepten oder
  273. Computerprogrammen vorkommt. Es sind Handlungsanleitungen, die mehr
  274. oder weniger mechanisch ausgeführt werden sollen, also eine Sache ge-
  275. nau für Computer und manche Köche. Eine Regel sagt: Wenn das und das
  276. der Fall ist, dann tue dieses. Man könnte sie also auch mit einer if-
  277. oder case-Anweisung irgendeiner Programmiersprache identifizieren. Auf
  278. einer sehr primitiven Basis sind Regeln Anweisungen der Form:
  279.  
  280.           A -> B.
  281.  
  282. Diese Regel sagt aus: "Wenn A, dann B" bzw. "Aus A folgt B" bzw. "Wer
  283. A hat, der hat auch B" bzw. "Aus A kann man B ableiten" usw.
  284. Es ist also einfach wichtig zu wissen, was gemeint ist, wenn man von
  285. Regeln spricht; und daß es sich dabei auch um Handlungsanweisungen
  286. handeln kann, wie sie in Computerprogrammen oder Kochbüchern vorkom-
  287. men.
  288.  
  289.  
  290. Reguläre Sprachen
  291.  
  292. Die regulären Sprachen sind für Maschinen mechanische Hausmannskost.
  293. Es ist die elementarste Stufe der Sprachen überhaupt, die von Compu-
  294. tern verarbeitet werden. Sie verfügen nur über rechts- und linksrekur-
  295. sive Regeln (genauer: rechts- und linkslineare Regeln). Rechts- und
  296. linksrekursive bzw. -lineare Regeln besitzen folgende Form:
  297.  
  298. rechtsrekursive Regel:       A ->  aA
  299. linksrekursive Regel:        B ->  Bb
  300.  
  301. Bei diesen Regeln kommt es nicht auf die Groß- und Kleinbuchstaben
  302. selbst an und nicht darauf wie sie heißen, sondern wichtig ist nur,
  303. daß auf der linken Regelseite nur Großbuchstaben und daß auf der rech-
  304. ten Seite der ersten Regel ein Klein buchstabe links vom Großbuchsta-
  305. ben (rechtslinear) bzw. auf der rechten Seite der zweiten ein Klein-
  306. buchstabe rechts vom Großbuchstaben (linkslinear) stehen muß.
  307. Bei den Großbuchstaben handelt es sich um sogenannte nicht-terminale
  308. Symbole (bzw. Variable), also um die Elemente VN = {A,B}; bei den
  309. Kleinbuchstaben um sogenannte nicht-terminale Symbole (bzw. Konstan-
  310. te), also um die Elemente VT = {a,b}.
  311.  
  312. Nicht-terminale und terminale Symbole unterscheiden sich darin, daß
  313. die ersteren so lange durcheinander ersetzt werden müssen, bis die
  314. entstehende Zeichenfolge nur noch aus terminalen Symbolen besteht.
  315. Mithilfe der obigen beiden Regelformen sieht das folgendermaßen aus:
  316.  
  317. Man verfügt über eine Anzahl von Regeln, zum Beispiel der folgenden
  318. Art:
  319.  
  320.    A -> a  B -> b A -> Aa  B -> Ab  S -> Ba
  321.  
  322. Mithilfe dieses Regelapparates P lassen sich folgende Zeichenketten
  323. erzeugen oder analysieren:
  324.  
  325.   S => Ba => Aba => Aaba => Aaaba => aaaba
  326.   aaaaba => Aaaaba => Aaaba => Aaba => Aba => Ba => S
  327.  
  328. Im ersten Fall wurde ausgehend vom Start-Symbol S durch schrittweise
  329. Regel-Anwendung eine Zeichenfolge erzeugt; im zweiten Fall wurde eine
  330. beliebige Zeichenfolge durch Anwendung des Regelapparates bis auf das
  331. Start-Symbol S reduziert. Im er sten Fall handelt es sich daher um
  332. eine Synthese (Generierung), im zweiten um eine Analyse von Zeichen-
  333. folgen. Kann im Laufe einer Analyse einer Zeichenfolge durch keine der
  334. möglichen Regel-Anwendungen das Start-Symbol S erreicht werden, so
  335. können genau zwei Fälle vorliegen:
  336.  
  337. Erstens kann es sein, daß der vorliegende konkrete Regelapparat P
  338. nicht in der Lage ist, diese Zeichenfolge zu analysieren; dann muß ein
  339. anderer Regelapparat P' aus rechts- und linksrekursiven Regeln gefun-
  340. den werden, der diese Aufgabe erledigt.
  341. Zweitens besteht aber auch die Möglichkeit, daß eine Zeichenfolge vor-
  342. liegt, die durch keinen möglichen Regelapparat von links- und rechts-
  343. rekursiven Regeln analysiert werden kann. In diesem Fall ist der Be-
  344. reich von Wörtern und Sprachen, der durch links- und rechtsrekursive
  345. Regeln erfaßt werden kann, überschritten.
  346.  
  347. Damit haben die regulären Sprachen, die auf der Basis von links- und
  348. rechtsrekursiven Regeln darstellbar sind, nur einen begrenzten und
  349. endlichen Umfang. Eine dieser regulären Sprachen kann jeweils durch
  350. einen solchen Regelapparat P beschrieben werden. Für die Veranschauli-
  351. chung dieser regulären Sprachen reichen die sogenannten endlichen Au-
  352. tomaten A mit bzw. ohne Ausgabe vollkommen aus. Man kann dafür auch
  353. sagen: L(G) = L(A), das heißt: Die Sprache L über G ist gleich der
  354. Sprache L über A. Oder: Die durch eine Grammatik der Form
  355.  
  356.   G = [VT, VN, P, S]
  357.  
  358. symbolisierte Sprache ist gleich der Sprache, die aufgrund derselben
  359. Regeln durch einen Automaten A mit bzw. ohne Ausgabe überprüft bzw.
  360. erzeugt werden kann. Eine solche Grammatik ist folglich ein Quatrupel
  361. der Form G = [VT, VN, P, S] und besteht aus der Menge der terminalen
  362. Symbole VT, der Menge der nicht-terminalen Symbole VN, dem Regelappa-
  363. rat P und dem Start-Symbol S.
  364.  
  365.  
  366. Grenzen der regulären Sprachen und Sprachumfang der endlichen Automa-
  367. ten mit bzw. ohne Ausgabe
  368.  
  369. So wie bestimmte Kochrezepte in bestimmten, schlecht ausgestatteten
  370. Küchen in keiner Weise Anleitung zur Herstellung einer leckeren Mahl-
  371. zeit sein können, gibt es auch bestimmte formale Sprachen, die auf der
  372. Basis von links- und rechtsrekursiven Regeln nicht dargestellt werden
  373. können. Es sind Sprachen höherer Komplexität. Die Grenzen der regulä-
  374. ren Sprachen sind aber zugleich die Grenzen des endlichen Automaten
  375. mit bzw. ohne Ausgabe. Denn, man erinnere sich, es gilt ja: L(G) =
  376. L(A).
  377.  
  378. Deshalb soll hier nun eine solche Sprache angegeben werden, die über
  379. die regulären Sprachen und den Sprachumfang dieser endlichen Automaten
  380. hinausgeht. Eine solche Sprache ist zum Beispiel die Sprache mit der
  381. Form:
  382.  
  383.   L(G) = {x|x=anbn, n E N}
  384.  
  385. über dem Alphabet E = {a, b}. Worte dieser Sprache sind Zeichenfolgen,
  386. die stets über dieselbe Anzahl von a- und b-Elementen verfügen: ab,
  387. aabb, aaabbb, usw. Um die Worte dieser Sprache L(G) = {x|x=anbn, n E
  388. N} erzeugen bzw. analysieren zu können, müßte dieser Automat in der
  389. Lage sein, sich die Anzahl der a-Elemente zu merken, um sie anschlie-
  390. ßend auf die b-Elemente zu übertragen. Diese Aufgabe leitet zu den
  391. kontextfreien Sprachen und dem zugehörigen Kellerautomat über.
  392.  
  393.  
  394. Kontextfreie Sprachen
  395.  
  396. Die kontextfreien Sprachen verfügen nicht nur über links- und rechts-
  397. rekursive Regeln (genauer: links- und rechtslineare Regeln), sondern
  398. zusätzlich über die zentralrekursive Regel. Damit können in kontext-
  399. freien Grammatiken insgesamt drei Re gelformen auftreten:
  400.  
  401. linksrekursive Regel:      A -> A a
  402. rechtsrekursive Regel:     A -> a A
  403. zentralrekursive Regel:    A -> a A b
  404.  
  405. Auch hier kommt es nicht auf die Bezeichnung von Klein- und Großbuch-
  406. staben an, sondern darauf, daß links nur ein Großbuchstabe und niemals
  407. Kleinbuchstaben stehen dürfen und rechts die Verteilung von Kleinbuch-
  408. staben wie eben angegeben erfolgen kann; genau genommen darf aber
  409. rechts der Regeln eine beliebige Folge von terminalen und nicht-termi-
  410. nalen Symbolen stehen.
  411.  
  412. Mit Hilfe dieser drei Regelformen läßt sich für die Sprache
  413.  
  414.   L(G) = {x|x=anbn, n E N}
  415.  
  416. eine Regelbeschreibung und damit eine Grammatik finden. Der zu dieser
  417. Sprache gehörige Regelapparat P besitzt nur zwei Regeln, die
  418. folgendermaßen lauten:
  419.  
  420.       A -> ab      A -> aAb
  421.  
  422. Die Wörter dieser Sprache werden also zentral von der Mitte her gebil-
  423. det oder so analysiert, daß zunächst von der Mitte ausgehend stets ein
  424. a- und ein b-Element entfernt wird. Durch die Entfernung immer nur
  425. eines a- und eines b-Elements wird sichergestellt, daß nur solche
  426. Zeichenfolgen als Wörter dieser Sprache analysiert werden können, die
  427. aus gleich vielen a- und b-Elementen bestehen:
  428.  
  429.   aaaabbbb  ->  aaabbb  ->  aabb  ->  ab  ->  A
  430.   A ->  ab  ->  aabb  ->  aaabbb  -> aaaabbbb  ->  ...
  431.  
  432. Ein Kellerautomat analysiert eine solche Zeichenfolge, indem er für
  433. jedes gelesene a-Element einen Eintrag in einem speziellen Speicherbe-
  434. reich macht. Wenn er schließlich zum Lesen der b-Elemente kommt,
  435. löscht er für jedes gelesene b-Element eines der gespeicherten a-Ele-
  436. mente, bis weder ein weiteres b-Element gelesen noch ein weiteres a-
  437. Element noch gelöscht werden muß. In jedem anderen Fall wäre entweder
  438. dieser spezielle Speicherbereich nach dem Lesen aller b-Elemente noch
  439. nicht leer oder der Speicherbereich wäre bereits leer, ohne daß alle
  440. b-Elemente bereits gelesen wurden. In diesen letzten beiden Fällen
  441. würde der Kellerautomat die Verarbeitung der Zeichenfolge vorzeitig
  442. abbrechen. Mit diesem Abbruch würde er dann anzeigen, daß das Eingabe-
  443. wort nicht zu dieser Grammatik gehört.
  444.  
  445. Hintergrund der oben eingeführten Sprache
  446.  
  447.   L(G) = {x|x=anbn, n E N}
  448.  
  449. ist eine kontextfreie Grammatik, die durch Kellerautomaten dargestellt
  450. werden kann. Der Grund dieser Fähigkeit des Kellerautomaten liegt dar-
  451. in begründet, daß dieser eine gewisse Merkfähigkeit besitzt, der an
  452. einen Stack erinnert: Das heißt, er kann sich durch Lesen und soge-
  453. nanntes Abkellern der a-Elemente ihre Zahl merken, um sie anschließend
  454. feldweise mit den b-Elementen zu vergleichen. Folglich darf man davon
  455. ausgehen, daß die kontextfreien Grammatiken einschließlich der Gram-
  456. matiken der regulären Sprachen zum Sprachumfang des Kellerautomaten
  457. gehören. Es sollte damit gezeigt werden, daß für diesen Fall folgende
  458. Beziehung Gültigkeit hat:
  459.  
  460.   L(G) = L (KA).
  461.  
  462. Es besteht also Übersetzbarkeit zwischen kontextfreien Sprachen
  463. und dem Kellerautomat.
  464.  
  465.  
  466. Grenzen der kontextfreien Sprachen und Sprachumfang des Kellerautomaten
  467.  
  468. Zwar besitzt der Kellerautomat einen größeren Sprachumfang als der
  469. endliche Automat mit und ohne Ausgabe; jedoch kann auch für den Kel-
  470. lerautomaten eine Sprache angegeben werden, für die dieser Automat
  471. keinen Akzeptor darstellt. Eine solche Sprache hat zum Beispiel mit
  472. dem Alphabet E = {a, b, c} folgende Form:
  473.  
  474. L(G) = {x|x=anbncn, n E N}.
  475.  
  476. Die Worte dieser Sprache sind beispielsweise
  477. abc, aabbcc, aaabbbccc, usw. Diese Worte besitzen stets die
  478. gleiche Zahl an a-, b- und c-Elementen.
  479.  
  480. Beim Kellerautomaten rührt die Nicht-Akzeptanz dieser Sprache vom Bau
  481. seines Speichers her; denn er wird beim Lesen der a-Elemente deren
  482. Anzahl in seinem Speicher vermerken, um sie dann auf die folgenden b-
  483. Elemente zu übertragen. Dies hat a ber zur Folge, daß er danach keine
  484. Möglichkeit mehr besitzt, die verbleibenden c-Elemente zu überprüfen,
  485. denn nach Überprüfung der b-Elemente ist durch Löschen der a-Elemente
  486. dieser Speicher wieder leer.
  487.  
  488. Diese Schwierigkeit betrifft in gleicher Weise die kontextfreien Spra-
  489. chen. Denn durch die bei diesen zur Anwendung kommenden Regelformen
  490. können lediglich die gleiche Anzahl der a- und b-Elemente durch
  491. gleichzeitiges Streichen je eines Elem entes von jeder Art überprüft
  492. werden. Auch hier bleibt anschließend keine Möglichkeit mehr, die An-
  493. zahl der c-Elemente zu testen.
  494.  
  495. Daraus ergibt sich die Folgerung, daß eine Sprache der allgemeinen
  496. Form L(G) = {x|x=anbncn, n E N} über dem Alphabet E= {a, b, c} weder
  497. durch das Regelsystem kontextfreier Grammatiken noch durch die Vorge-
  498. hensweise eines Kellerautomaten dar gestellt werden kann.
  499.  
  500.  
  501. Kontextsensitive Sprachen
  502.  
  503. Die Sprache mit der allgemeinen Wortform "anbncn" gehört zu den kon-
  504. textsensitiven Sprachen. Diese Sprachen zeichnen sich dadurch aus, daß
  505. auf der rechten und linken Regelseite beliebig viele terminale
  506. und/oder nicht-terminale Symbole stehen dürfen. Damit können kontext-
  507. sensitive Grammatiken Regeln enthalten, die nur umgebungsabhängig an-
  508. gewendet werden können. Damit liegen für die kontextsensitiven Spra-
  509. chen und ihre Regeln keine Einschränkungen mehr vor - allerdings mit
  510. Ausnahme der einen, daß bei der Analyse von Zeichenfolgen das Wort
  511. stets kürzer und bei der Synthese bzw. Generierung das Wort stets län-
  512. ger werden muß.
  513.  
  514. Und um nochmals das Beispiel des Kochs zu traktieren: Auch er darf nur
  515. weitere Zutaten in die Brühe hineinwerfen und kann keine mehr heraus-
  516. holen, und dennoch muß das Ganze zu einer geschmackvollen Suppe werden
  517. - ansonsten könnte seine Karriere ein jähes Ende nehmen.
  518.  
  519. Die allgemeinen Regelformen in kontextsensitiven Grammatiken haben
  520. daher folgendes Aussehen:
  521.  
  522. linksrekursive Regeln:      A   -> Aa
  523. rechtsrekursive Regeln:     B   -> bB
  524. zentralrekursive Regeln:    A   -> aAb
  525. kontextsensitive Regeln:    aA  -> Aa
  526.                             Aa  -> Aa
  527.                             aAb -> Aa
  528.  
  529. Ein Regelapparat, der die oben angeführte Sprache mit der allgemeinen
  530. Wortform "anbncn" analysieren bzw. generieren kann, hat auf der Basis
  531. der terminalen und nicht-terminalen Symbole VT und VN die Form P:
  532.  
  533.       VT = {a, b, c,}    VN = {A, B, S}
  534.  
  535.       P:  S -> aB    S -> aSA
  536.           B -> bc    cA -> Ac
  537.           BA -> bBc
  538.  
  539. Mit Hilfe dieses Regelapparats kann die oben angegebene Sprache analy-
  540. siert oder deren Worte generiert werden. Dazu ein Beispiel:
  541.  
  542. S => aSA => aaSAA -> aaaBAA => aaabBcA => aaabBAc =>
  543.   => aaabbbBcc => aaabbbccc
  544.  
  545.   aaabbbccc => aaabbBcc => aaabBAc => aaabBcA => aaaBAA =>
  546.   => aaSAA => aSA => S
  547.  
  548. Es läßt sich nun zeigen, daß für jede kontextsensitive Grammatik eine
  549. "Turing-Maschine" im Sinne eines linear beschränkten Automaten exi-
  550. stiert, so daß gilt:
  551.  
  552.   L(G) = L(LA);
  553.  
  554. denn der linear beschränkte Automat geht so vor, daß er zunächst durch
  555. elementeweises Löschen von links nach rechts die Anzahl der a- und b-
  556. Elemente miteinander vergleicht. Folgt auf das zuletzt gelöschte b-
  557. Element ein c-Element und ist dann ebenso kein a-Element mehr vorhan-
  558. den, dann stimmt die Zahl der a- und b-Elemente überein. Dasselbe Ver-
  559. fahren wird nach Wiederauffüllen der a- und b-Elemente dann auf die b-
  560. und c-Elemente angewandt. Folgt schließlich auf das letzte c-Element
  561. ein Leerzeichen und ist dann auch kein b-Element mehr vorhanden, dann
  562. ist gezeigt, daß die Anzahlen aller drei Elemente übereinstimmen. Das
  563. analysierte Wort gehört damit zu dieser Sprache L(G).
  564.  
  565.  
  566. Differenzierung in linear beschränkten Automaten und Turing-Maschine
  567.  
  568. Der linear beschränkte Automat unterscheidet sich von einer Turing-
  569. Maschine darin, daß er ein zweiseitig beschränktes Band besitzt. Die
  570. Turing-Maschine besitzt hingegen nur ein einseitig beschränktes Band.
  571. Dadurch besitzt sie den allgemeinsten Sprachumfang. Nach intuitivem
  572. Verständnis dürfte es daher keine Grammatik zu einer Wortform geben,
  573. die nicht durch eine Turing-Maschine darstellbar ist. Denn auf glei-
  574. chem Wege wie oben beschrieben könnte von einer Turing-Maschine auch
  575. die Sprache mit der Wortform anbncndn über dem Alphabet E = {a, b, c,
  576. d} berechenbar sein usw. Desgleichen könnte eine kontextsensitive
  577. Grammatik gefunden werden, die diese Aufgabe erfüllt. Folglich kann
  578. man auf dieser vierten Stufe der Sprachen innehalten, zurückschauen
  579. und sich ruhig zurücklehnen. Denn für jeden möglichen Fall scheint
  580. eine Lösung bereitzustehen und auffindbar zu sein. Deshalb bleibt an
  581. dieser Stelle auch nur noch eines zu tun: einen Interpreter für alle
  582. diese gefundenen Maschinen und Sprachen zu entwickeln und vorzustel-
  583. len. Das soll nun geschehen, und zwar gesondert für jede Maschine.
  584.  
  585.  
  586.  
  587. II)  DIE AUTOMATEN
  588.  
  589. Der endliche Automat ohne Ausgabe
  590.  
  591. Ein endlicher Automat ohne Ausgabe wird durch drei Mengen definiert:
  592. durch das Eingabealphabet E, seine Zustände S und die Überführungs-
  593. funktion. Das Eingabealphabet umfaßt diejenigen Zeichen, die der Auto-
  594. mat liest und verarbeitet. Die Menge der Zustände S umfaßt diejenigen
  595. Zustände, die der Automat im Laufe seiner Verarbeitung einnimmt. Zu
  596. dieser Menge gehören auch der Anfangszustand und die Menge der Endzu-
  597. stände.
  598.  
  599. Das Programm eines solchen Automaten besteht aus dreiteiligen Regeln
  600. mit folgender Form:
  601.  
  602.           si,  ai,  sj
  603.  
  604. Der Parameter si bezeichnet die Regelnummer. Dabei bilden alle Regeln
  605. mit derselben Ordnungszahl i zusammen einen Maschinenzustand. Der
  606. Parameter ai stellt die Aktion dar. Er stimmt im aktuellen Zustand si
  607. mit dem Eingabealphabetszeichen a uf dem Leseband überein. Der Parame-
  608. ter sj steht für eine neue Regel, zu der von der aktuellen Regel aus
  609. verzweigt werden soll. Er steht also für eine Verzweigungsregel.
  610.  
  611. Die Zeichenverarbeitung eines endlichen Automaten ohne Ausgabe erfolgt
  612. in folgender Weise: Bevor die neue Regel sj ermittelt werden kann,
  613. wird das Leseband um ein Feld nach links bewegt. Dann wird vom Lese-
  614. band das neue Zeichen ai gelesen und zusammen mit der Nummer sj der
  615. aktuellen Regel eine neue Regel gesucht. Wird eine solche Regel aus
  616. der Kombination von sj und ai gefunden, wird diese Regel die neue ak-
  617. tuelle Regel, während das Leseband erneut um ein Feld nach links be-
  618. wegt wird usw. Mit der Verzweigungsregel sj der nun aktuellen Regel
  619. beginnt dieser Verarbeitungszyklus von Neuem. Der endliche Automat muß
  620. also in seinem Regelapparat P von Verarbeitungsschritt zu Verarbei-
  621. tungsschritt eine Regel finden, die in den ersten beiden Parametern
  622. eine Kombination aus Verweisungsregel der bisher aktuellen Regel und
  623. dem neu eingelesenen Eingabealphabetszeichen darstellt.
  624.  
  625. Ist diese Regel vorhanden, kann der Automat zu dieser neuen Regel
  626. übergehen und seinen Verarbeitungsprozeß fortsetzen; wenn nicht,
  627. bricht der Automat die Bearbeitung des Lesebandes vorzeitig ab. Bei
  628. Abbruch des Verarbeitungsprozesses hat sich dann gezeigt, daß die auf
  629. dem Leseband niedergeschriebene Zeichenfolge nicht zu der im Regelap-
  630. parat des Automaten beschriebenen Grammatik gehört.
  631.  
  632. Diese sehr elementare Weise der Verarbeitung von Zeichen eines Einga-
  633. bealphabets kann für einen Automaten mithilfe des Cartesischen Pro-
  634. dukts zwischen eingelesenem Zeichen und angezieltem Maschinenzustand
  635. beschrieben werden. Das Cartesische P rodukt beschreibt in diesem Fall
  636. die Überführungsfunktion u und hat für den endlichen Automaten A ohne
  637. Ausgabe folgende Form:
  638.  
  639.           u:   E x S -> S
  640.  
  641. Damit läßt sich der endliche Automat A ohne Ausgabe durch folgendes
  642. Quintupel A beschreiben: A = (E, S, u, sa, S), Dabei ist E das Einga-
  643. bealphabet, S die Menge der Maschinenzustände, u die Überführungsfunk-
  644. tion, sa der oder die Anfangszustände und S die Menge der Endzustände.
  645.  
  646.  
  647. Als Realisierung eines endlichen Automaten ohne Ausgabe kann man sich
  648. folgende Anordnung vorstellen: Der Automat benötigt als Instanzen eine
  649. Eingabe- und eine Verarbeitungseinheit. Als Eingabeeinheit verwendet
  650. man ein Leseband. Es hat sehr große Ähnlichkeit mit dem
  651. Schreibband eines Morsegerätes. Für dieses Leseband gilt wie beim Mor-
  652. segerät die Bedingung, daß es sich nur von rechts nach links bewegen
  653. kann. Dieses Band besteht zudem aus linear angeordneten Feldern, auf
  654. denen jeweils ein Zeichen des Eingabealphabets eingezeichnet sein
  655. kann. Alle mit den Zeichen des Eingabealphabets beschrifteten Felder
  656. ergeben von links nach rechts gelesen das Eingabewort. Alle übrigen
  657. Felder des Bandes sind leer oder tragen die Beschriftung mit einem
  658. Leerzeichen. Über diesem Leseband ist ganz links ein Lesekopf (L-Kopf)
  659. angebracht. Dieser Lesekopf liest stets das Zeichen des unter ihm be-
  660. findlichen Feldes. Danach wird das Leseband um eine Stelle nach links
  661. gerückt, während mithilfe des gelesenen Zeichens und der Verweisungs-
  662. nummer im Regelapparat des Automaten der neue Zustand des Automaten
  663. ermittelt wird.
  664.  
  665. Programm zum endlichen Automaten ohne Ausgabe
  666.  
  667. Für einen endlichen Automaten ohne Ausgabe kann auf der obigen Regel-
  668. form basierend folgendes kleines Programm mit dem Namen DUAL.A angege-
  669. ben werden:
  670.  
  671.  
  672. 000,1,000    ; PROGRAMM: Test auf 1er-Gruppen, die max. durch eine
  673. 000,0,010    ;            Null getrennt sind
  674. 010,1,000    ;  "010" ist elementare if-Anweisung: wenn 1, dann "000"
  675. 010,s,030    ;                                     wenn 0, dann "030"
  676. 030,s,030    ; "s" ist Stopp-Zeichen
  677.  
  678.  
  679. Der Text nach dem Semikolon stellt dabei einen Kommentar dar, der beim
  680. Einlesen in den Programmeditor nicht berücksichtigt wird.
  681.  
  682. Die Aufgabe des Programms besteht darin, Gruppen von Eins-Elementen
  683. danach zu testen, ob sie nur durch ein Leer-Element (hier die Null)
  684. getrennt sind. Die Bandinschrift vor Verarbeitungsbeginn kann damit
  685. folgendes Aussehen aufweisen:
  686.  
  687.   11111011111111110110111110s
  688.  
  689. Das "s" symbolisiert den Stop-Zustand. Vor Arbeitsbeginn steht der
  690. Lesekopf über der ersten linken Eins. Mit sukzessiver Kopfbewegung
  691. nach rechts wird Regel um Regel des Programms abgearbeitet. Gelingt
  692. die Verarbeitung im Ganzen, so wird de r gesamte Prozeß im Zustand "s"
  693. abgeschlossen. Damit gehört dieses Wort zu der durch den Regelapparat
  694. symbolisierten Sprache.
  695.  
  696.  
  697. Der endliche Automat mit Ausgabe
  698.  
  699. Zwischen den endlichen Automaten mit und ohne Ausgabe besteht kein
  700. wesentlicher Unterschied. Der wichtigste Unterschied besteht allein
  701. darin, daß der endliche Automat mit Ausgabe zusätzlich über eine Aus-
  702. gabeeinheit verfügt.
  703. Die Ausgabeeinheit verfügt über ein Ausgabeband, auf dem in Abhängig-
  704. keit von Automatenzustand und eingelesenem Zeichen ein Ausgabezeichen
  705. feldweise eingetragen wird. Das Ausgabeband ist folglich identisch mit
  706. dem Leseband, nur daß über dies em statt einem Lese- ein Schreibkopf
  707. (S-Kopf) fest angebracht ist. Auch dieses Ausgabeband kann nur von
  708. rechts nach links bewegt werden, so daß die Ausgabezeichen auf ihm von
  709. links nach rechts eingetragen werden.
  710.  
  711. Aufgrund des zusätzlichen Bandes ist der endliche Automat mit Ausgabe
  712. durch folgende Mengen definiert: Diese sind neben dem Eingabealphabet
  713. E und der Menge der Zustände S (einschließlich der Anfangs- und Endzu-
  714. stände) das Ausgabealphabet Z.
  715. Zusätzlich gibt es bei diesem Automaten neben der Überführungsfunktion
  716. u die Ausgabefunktion g. Ebenso wie die Funktion u kann die Funktion g
  717. als Cartesisches Produkt dargestellt werden: Sie gibt an, aufgrund
  718. welcher spezifischen Cartesisch en Produktbildung der Automat eine
  719. Ausgabe erzeugt.
  720. Jedoch wird in der Literatur die Ausgabefunktion nicht näher festge-
  721. legt, da hierbei Unterschiede auftreten können. Je nach Festlegung
  722. spricht man von einem Mealy-, einem Moore- oder einem trivialen bzw.
  723. Medwedew-Automaten. Gemäß dieser Reih enfolge haben diese drei endli-
  724. chen Automaten mit Ausgabe folgende zu unterscheidenden Ausgabefunk-
  725. tionen:
  726.  
  727.         g: E x S -> Z
  728.         g: S     -> Z
  729.         g: E     -> Z
  730.  
  731. Damit kann der endliche Automat mit Ausgabe durch die folgende Menge M
  732. beschrieben werden: M = (E, S, Z, u, g, sa).
  733.  
  734. Dabei ist E das Eingabealphabet, S die Menge der Zustände, Z das Aus-
  735. gabealphabet und sa der Anfangszustand, während u die bereits bekannte
  736. Überführungsfunktion und g die Ausgabefunktion darstellt. Damit be-
  737. sitzt der endliche Automat mit Ausgabe eine vierteilige Regelform:
  738.  
  739.           si,  ah,  zk,  sj
  740.  
  741. Die Regelnummer ist si, die Verzweigungsnummer sj. Die Variable ah
  742. stellt das Einlesezeichen dar, zk das Ausgabezeichen, das von der Ma-
  743. schine im Zustand si und beim Einlesen von ak ausgegeben wird.
  744.  
  745. Beim endlichen Automaten mit Ausgabe steht im Zentrum des Interesses
  746. die Frage, welches Wort nach einem erfolgreichen Programmlauf auf dem
  747. Schreibband ausgegeben wird. Dabei korrespondiert die Grammatik der
  748. Eingabesprache einer anderen Grammatik als Ausgabesprache: Es wird ein
  749. Wort der Worteingabe-Grammatik genqau einem anderen der Ausgabe-Gram-
  750. matik zugeordnet. Gehört hier das Eingabewort nicht zur Grammatik der
  751. Eingabesprache, so kann ihm auch keines der Ausgabe-Sprache zugeordnet
  752. werden. Das heißt beide Sprachen stehen in einem maschinellen Überset-
  753. zungsverhältnis zueinander, das man allerdings auf der Basis solcher
  754. Sprachen nur mit einer sehr elementaren Übersetzungsbeziehung verglei-
  755. chen kann.
  756.  
  757. Programm zum endlichen Automaten mit Ausgabe
  758.  
  759. Dieses sehr bescheidene Programm UMKEHR.M für den endlichen Automaten
  760. mit Ausgabe basiert auf der zu diesem Automaten eingeführten Regel-
  761. form:
  762.  
  763.  
  764. 000,1,0,000  ; PROGRAMM: Umkehrung der Ein-/Ausgabe
  765. 000,0,1,000
  766. 000,s,s,000
  767.  
  768.  
  769. Es hat zur Aufgabe, Einer- und Null-Elementgruppen des Eingabebandes
  770. in Null- und Einer-Elementgruppen zu verkehren, so daß zwischen Einga-
  771. be- und Ausgabeband ein komplementäres Wortverhältnis bezüglich der
  772. Symbole Eins und Null besteht. Zu Arbeitsbeginn hat das Leseband zum
  773. Beispiel folgende Inschrift:
  774.  
  775.   111110001111001110000s
  776.  
  777. Nach der Verarbeitung dieser Bandinschrift durch das Programm UMKEHR.M
  778. steht auf dem Schreibband das komplementäre Wort:
  779.  
  780.   000001110000110001111s
  781.  
  782. Damit wird die Verarbeitung im Zustand s, dem Stop-Fall, beendet. Die
  783. viereckigen Zeichen dienen als Leerzeichen.
  784.  
  785.  
  786. Der Keller-Automat
  787.  
  788. Die endlichen Automaten mit und ohne Ausgabe können nur relativ zu
  789. einem bestimmten Maschinenzustand einen Zeichenvergleich zwischen Ma-
  790. schinenzustand und eingelesenem Zeichen durchführen. Da sie über eine
  791. Merkfähigkeit nur bezüglich des unmittelbar vom Leseband gelesenen
  792. Zeichens verfügen, also keinen darüber hinausgehenden Speicher besit-
  793. zen, sind sie nicht in der Lage, ein Zeichen für einen späteren Verar-
  794. beitungsschritt "aufzubewahren". Endliche Automaten mit und ohne Aus-
  795. gabe sind insofern vergleichbar mit schlechten Köchen. Sie verfügen
  796. nicht über Vorräte für schlechte Zeiten.
  797.  
  798. Beim Kellerautomaten ist das anders: Er besitzt einen sogenannten Kel-
  799. ler. Auch er hat wie der endliche Automat mit Ausgabe zwei Bänder: ein
  800. Leseband mit einem darüber angebrachten Lesekopf (L-Kopf), das feld-
  801. weise nur von links nach rechts bewegt werden kann, und ein zweites
  802. Band, der sogenannte Keller, der von ihm als Speicherband, d.h. als
  803. Lese- und Schreibband, verwendet werden kann. Über ihm ist ein
  804. Schreib-Lese-Kopf (SL-Kopf) angebracht. Das Kellerband hat ein unteres
  805. Ende, während es nach oben offen ist. Es kann in beiden Richtungen
  806. bewegt werden.
  807.  
  808. Das Kellerband funktioniert genau wie ein Stack: Der Automat kann im-
  809. mer nur ganz oben auf dem Kellerband ein Zeichen einfügen, und er kann
  810. auch immer nur das oberste der "abgekellerten" Zeichen lesen und lö-
  811. schen, niemals aber ein darunterliegendes.
  812.  
  813. Ein Kellerautomat kann damit durch die folgende Menge KA beschrieben
  814. werden:
  815.  
  816.         KA = (E, S, K, sa, ka, u, S)
  817.  
  818. Dabei ist E das Eingabealphabet, S die Menge der Zustände, K das Kel-
  819. leralphabet, sa der Anfangszustand, ka das Kellerstartzeichen, S die
  820. Menge der Endzustände und u die Überführungsfunktion. Es ist dabei zu
  821. beachten, daß das leere Zeichen k
  822. ein Element von E ist und damit auch nicht in einem Eingabewort vor-
  823. kommen kann. Dagegen gehört das leere Zeichen zur Menge K. Der SL-Kopf
  824. kann es auf das Speicherband schreiben, um damit ein über das Leseband
  825. eingegebenes und abgespeichertes Zeichen wieder zu löschen.
  826.  
  827. Genauer müßte man sagen: Es gibt kein leeres Zeichen, sondern nur
  828. eine Kellerbandbewegung ohne Zeichenverarbeitung bzw. das Löschen
  829. eines Zeichens des Kelleralphabets plus einer Bandbewegung.
  830.  
  831. Die Überführungsfunktion des Kellerautomaten hat die Form:
  832.  
  833.         u:  (E U |φ|) x S x K -> S x K*
  834.  
  835. Sie hat folgende Bedeutung: Es wird ein geordnetes Tripel (ei, sj,
  836. ku), bestehend aus einem Zeichen des Eingabebandes, dem aktuellen Zu-
  837. stand des Automaten und einem auf dem Kellerband unter dem SL-Kopf
  838. eingetragenen Zeichen, in das geordnete Paar (sn,t) überführt; dabei
  839. ist sn der neue Zustand und t als Element von K* ein Wort, das durch
  840. eine Verkettung des letzten Eingabezeichens mit dem zuletzt abgekel-
  841. lerten Zeichen gebildet und durch das oberste Kellerzeichen ersetzt
  842. wird.
  843.  
  844. Zu Beginn der Abarbeitung befindet sich der Kellerautomat im Zustand
  845. sa, der Lesekopf steht über dem linken Zeichen des Lesebandes und der
  846. SL-Kopf über dem untersten Zeichen ka des Kellers. Steht bei der Bear-
  847. beitung eines Eingabewortes W un ter dem Lesekopf das Zeichen ej, un-
  848. ter dem SL-Kopf das Zeichen ku und befindet sich der Kellerautomat
  849. gerade im Zustand sj, dann kann es zu folgenden Vorgängen kommen:
  850.  
  851. 1)  falls es in u kein Tripel (ei,sj,ku) oder (φ, sj, ku)
  852.     gibt, bleibt der Kellerautomat stehen;
  853. 2)  falls es in u eine Zuordnung (ei, sj, ku) -> (sn, kt)
  854.     gibt, dann geht der Kellerautomat in den Zustand sn
  855.     über, ku wird durch kt ersetzt und das Eingabeband um
  856.     ein Feld nach links bewegt; dann steht der SL-Kopf über
  857.     dem letzten Zeichen von kt;
  858. 3)  falls die obige Zuordnung statt ei das leere Zeichen φ
  859.     bzw.  kein Zeichen enthält, erfolgen dieselben Vorgänge
  860.     wie zuvor, außer daß das Eingabeband nicht bewegt wird;
  861. 4)  falls auf der rechten Seite einer Zuordnung das Paar
  862.     (sn,φ) steht, so geht der Kellerautomat in den Zustand
  863.     sn über und schreibt das Zeichen φ auf das Kellerband;
  864.     er löscht also das dort stehende Zeichen ku und bewegt
  865.     danach das Kellerband um ein Feld nach oben;
  866. 5)  falls sn ein Element aus Σ ist und das Speicherband
  867.     leer ist, bleibt der Kellerautomat stehen.
  868.  
  869. Ein Eingabewort W E E* [Soll heißen: "W ist ELEMENT von E*"] aus der
  870. Sprache L(KA) gehört demnach dann zu einem Kellerautomaten KA, wenn
  871. dieser beginnend auf dem linken Zeichen von W und auf dem untersten
  872. Feld des leeren Speicherbandes eine Reihe von Zuständen durchläuft und
  873. schließlich auf dem am weitesten rechts stehenden Zeichen des Wortes W
  874. stehen bleibt, dabei der Kellerspeicher leer ist und KA einen Endzu-
  875. stand aus der Menge Σ erreicht hat.
  876.  
  877. Programm zum Keller-Automaten
  878.  
  879. Dieses Programm mit dem Namen ÄQUI.K, was für "Äquivalenz" steht, hat
  880. die Aufgabe, zwei Einser-Gruppen auf gleiche Länge zu testen. Ist dies
  881. nicht der Fall, bricht die Keller-Maschine die Verarbeitung vorzeitig
  882. ab. Das Programm hat folgende Struktur:
  883.  
  884.  
  885. 000,1,k,1,010  ; PROGRAMM: Test, ob zwei Eins-Zahlengruppen gleiche
  886. 010,1,1,1,010  ;           Länge besitzen
  887. 010,0,1,■,020  ; "■" steht für leeres Zeichen
  888. 020,0,1,■,020
  889. 020,s,k,k,020
  890.  
  891.  
  892. Zur Strukturierung dieser Regeln sei nochmals verdeutlichend gesagt:
  893. Die erste Zahlenspalte ist der aktuelle Zustand der Maschine, die
  894. zweite das auf dem Leseband und die dritte Spalte das auf dem Keller-
  895. band momentan gelesene bzw. eingetrag ene Zeichen, während in der
  896. vierten Spalte das auf dem Kellerband einzutragende Zeichen und in der
  897. fünften Spalte die Verzweigungsregel enthalten ist.
  898.  
  899. Die Turing-Maschine (der linear beschränkte Automat)
  900.  
  901. Da der Unterscheid zwischen Turing-Maschine und linear beschränktem
  902. Automaten einfach darin besteht, daß der zweitere ein zweiseitig be-
  903. grenztes Band besitzt (siehe das "Turing"-Programm in der Zeitschrift
  904. "PASCAL International" 4/88, Seite 75ff), während alle anderen Funk-
  905. tionen dieselben sind, wird hier ausschließlich die Turing-Maschine
  906. besprochen werden.
  907.  
  908. Die Turing-Maschine verfügt nur noch über ein Band, das zugleich als
  909. Schreib- und Leseband (SL-Band) verwendet wird. Während dieses Band
  910. der Turing-Maschine auf seiner linken Seite begrenzt ist, ist es auf
  911. seiner rechten als beliebig lang aufzufassen. Es kann von der Turing-
  912. Maschine beliebig weit nach rechts und wieder nach links bewegt wer-
  913. den. Über ihm ist ein Schreib-Lese-Kopf (SL-Kopf) angebracht, durch
  914. den der Automat Zeichen in jedes in endlicher Zeit erreichbare Feld
  915. setzen, löschen oder durch Gehen zum benachbarten Feld nach rechts oder
  916. links übergehen kann.
  917.  
  918. Damit kann die Turing-Maschine immer einen bestimmten Bereich seines
  919. Bandes als Speicherabschnitt verwenden. Die Turing-Maschine ist damit
  920. nicht darauf angewiesen, immer nur das oberste abgekellerte Zeichen
  921. vom Speicher zu holen. Vielmehr k önnen beliebige Zeichen vom Band
  922. gelesen und gelöscht werden. Damit besitzt die Turing-Maschine gegen-
  923. über dem Kellerautomaten ein Speicherband, auf dem jederzeit an belie-
  924. biger Stelle notierte Zeichen zugänglich sind und beliebig Zeichen
  925. gelöscht und gesetzt werden können.
  926.  
  927. Diese von Alan M.Turing im Jahre 1936 beschriebene Maschine diente ihm
  928. dazu, die Unentscheidbarkeit gewisser mathematischer Sätze der Arith-
  929. metik zu zeigen. Sie wurde als elementarer Vorgänger Großvater der
  930. heutigen Rechenmaschinen. Er hatte mit diesem Maschinenkonzept sozusa-
  931. gen als Nebenprodukt zu seinen eigentlichen Zielen eine Form eines
  932. universellen Rechenautomaten erfunden.
  933.  
  934. Eine Turing-Maschine T ist durch folgende Menge bestimmt:
  935.  
  936.         T = (E, S,B, sa, Σ, u)
  937.  
  938. Dabei bezeichnet E die Menge der Bandzeichen, S die Menge der internen
  939. Zustände der Maschine, B die Menge der Kopfbewegungen über dem
  940. Schreib-Lese-Band (SL-Band), sa den Anfangszustand, Σ die Menge der
  941. Endzustände und u die Überführungsfunktion. Die Überführungsfunktion
  942. hat dabei die folgende Form:
  943.  
  944.         u:  (ei, sj) -> (ep, sq, br)
  945.  
  946. Diese Funktion sagt aus, daß die Maschine aufgrund eines bestimmten
  947. Zustands und eines bestimmten gelesenen Bandzeichens in einen neuen
  948. Zustand übergeht, indem br E B [Soll heißen: "br ist Element von B"]
  949. durchgeführt wird, das heißt es wird eine neue Bandbeschriftung an der
  950. betreffenden Stelle erzeugt oder der Schreib-Lese-Kopf um eine Feld-
  951. stelle nach rechts oder links bewegt. In diesem neuen Feld liegt dann
  952. die Eingabe ep im Zustand sq vor. Wenn die Turing-Maschine denn Zu-
  953. stand
  954.  
  955.   sr E Σ [Soll heißen: "sr ist Element von Σ"]
  956.  
  957. erreicht, bleibt sie stehen.
  958.  
  959. Bei einer Turing-Maschine steht im Zentrum die Frage, ob der Verarbei-
  960. tungsprozeß nach endlicher Zeit abbricht und dabei ein Endzustand der
  961. zugehörigen Grammatik erreicht wurde. Ist der Verarbeitungsprozeß ab-
  962. gebrochen, ohne daß dieser Endzustand erreicht wurde, so liegt ein
  963. Eingabewort vor, das nicht Element der über der Grammatik erzeugbaren
  964. Wortmenge ist. Bricht jedoch der Verarbeitungsprozeß nicht ab - ja
  965. dann ist die Frage, ob er überhaupt jemals abbricht. Wenn nicht, dann
  966. wird es nicht feststellbar sein, ob er überhaupt jemals abbricht und
  967. das Eingabewort Wort der über der Grammatik bildbaren Wortmenge ist.
  968. Wenn ja, dann ist er abgebrochen und es ist je nach Abbruchsstelle
  969. genau dies feststellbar: ob das Eingabewort zu dieser Grammatik gehört
  970. oder nicht.
  971.  
  972. Programme zur Turing-Maschine (linear-beschränkten Automaten)
  973.  
  974. Hier seien nun verschiedene Programme vorgestellt. Das erste ist ein
  975. besonders für den linear-beschränkten Automaten geeignetes Programm,
  976. das zur Zeichensuche dient. Die Verarbeitung beginnt irgendwo zwischen
  977. zwei Einsen auf dem Schreib-Les e-Band, um sukzessive die Position der
  978. nächst liegenden ersten Eins zu finden. Das Band hat vor Arbeitsbeginn
  979. folgendes Aussehen:
  980.  
  981.       000000000000000010000000000000000000000100000000
  982.  
  983. Das zugehörige Programm besitzt folgenden Regelapparat:
  984.  
  985.  
  986. 000,0,1,010  ; PROGRAMM: Suche der nächsten rechts oder links
  987. 010,1,l,020  ;           stehenden Eins
  988. 020,0,l,030
  989. 030,0,1,040
  990. 040,1,r,050
  991. 050,0,r,050
  992. 050,1,0,060
  993. 060,0,r,070
  994. 070,1,s,200  ; Ende rechts
  995. 070,0,1,100
  996. 100,1,l,110
  997. 110,0,l,110
  998. 110,1,0,120
  999. 120,0,l,130
  1000. 130,1,s,200  ; Ende links
  1001. 130,0,1,040
  1002.  
  1003.  
  1004. Das nächste Programm dient der Addition zweier Einser-Zahlengruppen.
  1005. Das zweite hat die Aufgabe, zwei Zahlengruppen voneinander abzuziehen.
  1006. Es dient der Subtraktion. Das erste Programm mit dem Titel ADDIE-
  1007. REN.TUR besitzt folgende Struktur:
  1008.  
  1009.  
  1010. 000,0,r,000  ;  PROGRAMM: Addition zweier Einsen-Zahlengruppen
  1011. 000,1,r,010
  1012. 010,1,r,010
  1013. 010,0,r,020
  1014. 020,1,r,020
  1015. 020,0,l,040
  1016. 040,1,0,040  ; Eins der zweiten Zahl in Null verwandelt
  1017. 040,0,l,050
  1018. 050,1,l,050
  1019. 050,0,1,060  ; die Null zwischen den Zahlen in Eins verwandelt
  1020. 060,1,l,070
  1021. 070,1,l,070
  1022. 070,0,s,070
  1023.  
  1024.  
  1025. Vor Arbeitsbeginn hat das Band zum Beipsiel folgende Struktur, wobei
  1026. der SL-Kopf irgendwo auf den links stehenden Nullen steht:
  1027.  
  1028.         |
  1029.   000000000001111111111011111000000000
  1030.  
  1031. Die Addition erfolgt nun so, daß die Null zwischen den Einsergruppen
  1032. in eine Eins verwandelt wird, wobei zuvor noch die am weitesten rechts
  1033. stehende Eins in Null verwandelt wurde. Das Ergebnis in diesem Falle
  1034. wäre dann die Zahl 15 gewesen, wobei der SL-Kopf über der ersten Null
  1035. nach der letzten rechten Eins stehen bleibt. Das zweite Programm mit
  1036. dem Titel MINUS.TUR besitzt folgende Struktur:
  1037.  
  1038.  
  1039. 000,*,l,001  ; PROGRAMM: Subtraktion zweier Einsen-Zahlengruppen
  1040. 001,1,0,002
  1041. 002,0,l,003
  1042. 003,1,l,003
  1043. 003,*,l,004
  1044. 004,0,l,004
  1045. 004,1,0,005
  1046. 005,0,l,006
  1047. 006,*,r,017
  1048. 006,1,r,007
  1049. 007,0,r,007
  1050. 007,*,r,008
  1051. 008,1,r,008
  1052. 008,0,l,009
  1053. 009,1,0,002
  1054. 009,*,l,010
  1055. 010,0,l,010
  1056. 010,1,0,011
  1057. 011,0,r,011
  1058. 011,*,r,012
  1059. 012,0,r,012
  1060. 012,*,r,013
  1061. 013,1,r,013
  1062. 013,*,1,014
  1063. 014,1,l,014
  1064. 014,*,l,015
  1065. 015,0,l,015
  1066. 015,*,l,016
  1067. 016,0,l,016
  1068. 016,1,0,011
  1069. 016,*,r,017
  1070. 017,0,1,018
  1071. 018,1,r,017
  1072. 017,*,r,019
  1073. 019,0,1,020
  1074. 019,*,r,021
  1075. 020,1,r,019
  1076. 021,1,r,021
  1077. 021,*,s,021
  1078.  
  1079.  
  1080. Hier fungiert als Leerzeichen der Stern "*". Also heißt vor Verarbei-
  1081. tungsbeginn die Bandinschrift für die Subtraktion "5 - 3" in folgender
  1082. Weise:
  1083.  
  1084.                          |
  1085.   **************11111*111***************
  1086.  
  1087. Der SL-Kopf steht vor Arbeitsbeginn über dem ersten Stern nach der
  1088. letzten Eins. Die TM-Maschine arbeitet nun so, daß sie nach dem
  1089. gleichmäßigen Streichen der Einsen in den beiden Zahlengruppen die
  1090. verbliebenen der linken Zahlengruppe im fr eien Sternfeld rechts außen
  1091. einträgt. Danach werden die beiden Zahlengruppen wieder hergestellt,
  1092. so daß sich folgende Bandinschrift als Ergebnis ergibt:
  1093.  
  1094.                  |
  1095.   ****************11111*111*11****************
  1096.  
  1097. Ein weiteres Programm dient der Modulo3-Division mit dem Faktor drei.
  1098. Das Programm besitzt den Titel MODULO3.TUR und besitzt folgenden Re-
  1099. gelapparat:
  1100.  
  1101.  
  1102. 000,*,l,000    ; PROGRAMM: Modulo-3-Division (mit Rest-Ausgabe)
  1103. 000,0,l,000
  1104. 000,1,0,001    ; 1. Zahl auf Null
  1105. 000,*,r,020    ; Rest
  1106. 001,0,r,001
  1107. 001,*,r,002
  1108. 002,*,1,003
  1109. 003,1,l,003
  1110. 003,*,l,004
  1111. 004,0,l,004
  1112. 004,1,0,005    ; 2. Zahl auf Null
  1113. 004,*,r,020    ; Rest
  1114. 005,0,r,005
  1115. 005,*,r,005
  1116. 005,1,r,006
  1117. 006,1,r,006
  1118. 006,*,1,007
  1119. 007,1,l,007
  1120. 007,*,l,008
  1121. 008,*,l,008
  1122. 008,0,l,009
  1123. 009,0,l,009
  1124. 009,1,0,010    ; 3. Zahl auf Null
  1125. 009,*,r,020    ; Rest
  1126. 010,0,r,010
  1127. 010,*,r,011
  1128. 011,1,r,011
  1129. 011,*,1,012
  1130. 012,1,r,013
  1131. 013,*,l,014
  1132. 014,1,*,015
  1133. 015,*,l,014
  1134. 014,*,l,000    ; erneuter Schleifenbeginn
  1135. 020,0,1,021
  1136. 020,*,r,022
  1137. 021,1,r,020
  1138. 022,1,r,022
  1139. 022,*,s,023
  1140.  
  1141.  
  1142. Leerzeichen ist auch hier der Stern "*". Im Anfangszustand sieht die
  1143. Bandinschrift zum Beispiel folgendermaßen aus:
  1144.  
  1145.                   |
  1146.   *****************11111111****************
  1147.  
  1148. Diese TM-Maschine zur Modulo3-Division überträgt nun immer gestrichene
  1149. Einsen in das freie rechte Feld. Bei der Anzahl drei werden diese wie-
  1150. der gestrichen, um von Neuem zu beginnen. Zum Schluß steht diejenige
  1151. Anzahl von Einsen im rechten Fe ld, die Rest dieser Modulo-Division
  1152. sind. Dann wird die Einsen-Zahlengruppe wieder aufgefüllt. Die Bandin-
  1153. schrift sieht dann folgendermaßen aus:
  1154.  
  1155.                     |
  1156.   ***************11111111*11*****************
  1157.  
  1158. In einem letzten Programm mit Namen ZAHLEN.TUR stellt die Turing-Ma-
  1159. schine auf ihrem Schreib-Lese-Band die natürlichen Zahlen beginnend
  1160. von der Eins ab dar. Dabei symbolisiert eine Eins die natürliche Zahl
  1161. eins, zwei Einsen die natürliche Zahl zwei, drei Einsen die natürliche
  1162. Zahl drei usw. Aufgrund der Programmierung des Interpreters mit Hilfe
  1163. der Zeigerstruktur ist die Grenze dieser Zahlendarstellung die Größe
  1164. des überhaupt verfügbaren Computerspeichers. Das Programm dieser TM
  1165. hat folgenden Aufbau:
  1166.  
  1167.  
  1168. 000,0,1,010  ; PROGRAMM: Generierung der natürlichen Zahlen
  1169. 010,1,r,010
  1170. 010,0,r,011
  1171. 011,0,1,012
  1172. 012,1,l,012
  1173. 012,0,l,013
  1174. 013,0,l,013
  1175. 013,1,l,020
  1176. 020,1,r,030
  1177. 020,0,r,050
  1178. 030,1,0,031
  1179. 031,0,r,031
  1180. 031,1,r,032
  1181. 032,1,r,032
  1182. 032,0,1,012
  1183. 050,1,r,051
  1184. 051,0,1,052
  1185. 052,1,r,051
  1186. 051,1,l,055
  1187. 055,0,r,056
  1188. 055,1,0,055
  1189. 056,1,r,056
  1190. 056,0,1,010
  1191.  
  1192.  
  1193. Die Bandinschrift zu Beginn trägt lediglich lauter Nullen. Startfeld
  1194. für den SL-Kopf sollte wenigstens die 4. Position von links sein.
  1195.  
  1196. Damit seien genügend Programme zur Turing-Maschine bzw. zum linear-
  1197. beschränkten Automaten angegeben. Neben dem einfachen Ausprobieren
  1198. sollten sie die Phantasie anregen, eigene Programme zu entwerfen. Denn
  1199. hier ist durchaus Kreativität und G eschick gefragt. Im übrigen würde
  1200. sich der Autor dieses Artikels freuen, wenn ihm ein Leser solche lauf-
  1201. fähigen Programme zusenden würde. Also viel Spaß!
  1202.  
  1203. III)  Ergebnis
  1204.  
  1205. Im Verlauf dieses Artikels wurde gezeigt, was Maschinen der Datenver-
  1206. arbeitung überhaupt tun können. Man konnte sehen, daß man zwischen
  1207. endlichen und unendlichen Maschinen, den sogenannten universellen Ma-
  1208. schinen, unterscheiden muß. Es wurde weiterhin deutlich, was eine
  1209. Grammatik und was eine auf der Basis eines Eingabealphabets und dieser
  1210. Grammatik erzeugte Wortmenge ist. Damit stellen diese Grammatiken je-
  1211. weils eine Sprache dar, die je nach Komplexität der zugehörigen Ma-
  1212. schine automatisch erzeugt werden kann.
  1213.  
  1214. Aus dieser Perspektive und im Blick auf eine Künstliche Intelligenz
  1215. ergeben sich somit zwei grundsätzliche Fragen: Erstens stellt sich
  1216. spätestens bei der Turing-Maschine, die ja Vorbild heutiger Rechenau-
  1217. tomaten ist, die Frage, wann jemals ein bestimmter Verarbeitungsprozeß
  1218. abbrechen wird. Da es aber keine auf irgendeinem Automaten darstellba-
  1219. re Grammatik gibt, die es erlaubt zu testen, ob irgendein Algorithmus
  1220. jemals abbrechen wird (denn sonst müßte diese Grammatik auf sich
  1221. selbst angewendet werden können, was einen logischen Widerspruch dar-
  1222. stellt!), wird diese Frage auch zu einer zentralen Frage einer Künst-
  1223. lichen Intelligenz. Da aufgrund neuronaler Komplexität modellierende
  1224. Systeme (heute noch) zu sehr langen Rechenzeiten führen, kann im Ein-
  1225. zelfall nicht unbedingt sicher sein, wann und ob dieser bestimmte Pro-
  1226. zeß jemals abbricht.
  1227.  
  1228. Es müssen daher (im Rahmen der Automatentheorie natürlich) entspre-
  1229. chende Hard- oder Software-Lösungen gefunden werden, die intelligente
  1230. Leistungen auf ein vertretbares Maß an Rechenzeit verringern.
  1231.  
  1232. Zweitens stellen Kritiker der Künstlichen Intelligenz die grundsätzli-
  1233. che Frage, ob auf der Basis "mechanischer Rechenmaschinen" überhaupt
  1234. intelligentes Verhalten dargestellt werden kann; denn die hohe Komple-
  1235. xität des Gehirns und seiner Struktur scheint dies auszuschließen.
  1236. Jedoch kann man darauf antworten, daß die Turing-Maschine universelle
  1237. Möglichkeiten zur Verfügung stellt. Insofern darf man durchaus optimi-
  1238. stisch sein. Nur: Die daran anschließende Frage darf man ernst nehmen,
  1239. ob die Kapazität menschlichen Denkens überhaupt genügt, Mittel und
  1240. Wege zu finden, menschliches Denken mechanisch zu reproduzieren - oder
  1241. anders: Besitzt unser Gehirn selbst die Kapazität, sich zu reproduzie-
  1242. ren. Oder: Wie hoch muß die Leistungsfähigkeit unseres Gehirns sein,
  1243. um seine eigenen intelligenten Leistungen zu reproduzieren. Könnten
  1244. dann, falls dies möglich sein sollte, Maschinen sich selbst produzie-
  1245. ren - eine neue Form maschineller Fruchtbarkeit.
  1246.  
  1247. Dieses Land Utopia ist heute und sicher in weiterer Zukunft eine Mi-
  1248. schung aus Märchen und Frankenstein, einfach unrealistisch. Es ist
  1249. eine platonische Idee, von der vielleicht auch manche Köche träumen
  1250. mögen. Aber die Köche bleiben dann doch immer im kleinen: in ihrer
  1251. Küche, wo es schließlich doch immer wieder nur darum geht, auf genüß-
  1252. liche Art seinen heutigen Hunger zu stillen. Und so mag es der Künst-
  1253. lichen-Intelligenz-Forschung auch immer wieder ergehen: Man backt nach
  1254. dem Ausflug in die Phantasie und das Schlaraffenland doch immer wieder
  1255. nur kleine Brötchen.
  1256.                                                      (wr)
  1257.  
  1258.  
  1259. Literatur:
  1260. - Goldschlager/Lister: Informatik. Eine moderne Einführung.
  1261.   München 1. Auflage 1984: 3. Kapitel: Theorie der Algorithmen.
  1262.   (Inhalt: Eine allgemeine Einführung/Übersicht zum Thema
  1263.   Algorithmen)
  1264.  
  1265. - Herschel, R.: Einführung in die Theorie der Automaten,
  1266.   Sprachen und Algorithmen. (München 1974)
  1267.   (Inhalt: ein sehr zu empfehlendes Buch, da es auf sehr
  1268.   einfache und sehr anschauliche Weise dem Anfänger die
  1269.   gesamte Automatentheorie nahe bringt und verständlich
  1270.   macht)
  1271.  
  1272. - Hans Hermes: Aufzählbarkeit Entscheidbarkeit
  1273.   Berechenbarkeit. (Berlin 3. Auflage 1978)
  1274.   (Inhalt: zur Theorie der Turing-Maschine, ein bereits
  1275.   mathematisch sehr anspruchsvolles Buch)
  1276.  
  1277. - Engeler/Läuchli: Berechnungstheorie für Informatiker.
  1278.   (Stuttgart 1. Auflage 1988)
  1279.   (Inhalt: ein weiterführendes Fachbuch zum Thema, nur für
  1280.   mathematisch Versierte zu empfehlen)
  1281.  
  1282.  
  1283. ,,4
  1284. ⌐4. HINWEISE
  1285. ⌐═══════════
  1286.  
  1287. ⌐Archive:
  1288.  
  1289. Die Programme in den Unterverzeichnissen wurden aus Platzgründen in
  1290. selbstentpackenden Archiven komprimiert. Ein kleines Beispiel
  1291. demonstriert, wie Sie die Dateien am einfachsten entpacken:
  1292.  
  1293. 1. Legen Sie ein Unterverzeichnis auf dem Ziel-Datenträger an:
  1294.    MD C:\DATABOX
  1295.  
  1296. 2. Wechseln Sie das aktuelle Laufwerk und Verzeichnis dorthin:
  1297.    C:
  1298.    CD C:\DATABOX
  1299.  
  1300. 3. Starten Sie dann das Archivprogramm, das sie entpacken möchten:
  1301.    z.B. A:ARCHIV.EXE
  1302.  
  1303. Zum Komprimieren der Dateien haben wir das PD-Programm "LHarc"
  1304. von Yoshi benutzt.
  1305.  
  1306. Die meisten Archive sind so gestaltet, daß sie auch problemlos auf einem
  1307. System ohne Harddisks direkt auf einer freien 360 kByte-Diskette entpackt
  1308. werden können.
  1309.  
  1310.  
  1311. ⌐Viel Spaß mit der toolbox Spezial wünscht Ihnen
  1312.  
  1313. ⌐Ihr toolbox-Team
  1314.  
  1315.  
  1316. ╔════════════════════════════════════════════════════════════════════════╗
  1317. ║                 ⌐W I C H T I G E R   H I N W E I S :¬                    ║
  1318. ╟────────────────────────────────────────────────────────────────────────╢
  1319. ║   Beachten Sie bitte die Hinweise zu den Programmen in der toolbox.    ║
  1320. ║     Für Schäden, die durch unsachgemäße Handhabung der Programme       ║
  1321. ║            entstehen, können wir keine Haftung übernehmen.             ║
  1322. ╚════════════════════════════════════════════════════════════════════════╝
  1323.