ebook img

Automatisierung von Terminierungsbeweisen PDF

263 Pages·1991·10.278 MB·German
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Automatisierung von Terminierungsbeweisen

Christoph Walther Automatisiemng von Terminiemngsbeweisen Artificial Intelligence Kiinstliche Intelligenz herausgegeben von Wolfgang Bibe\ und Walther von Hahn Kunstliche Intelligenz steht hier fUr das Bernuhen urn ein Verstand nis und urn die technische Realisierung intelligenten Verhaltens. Die Bucher dieser Reihe sollen Wissen aus den Gebieten der Wissensverarbeitung, Wissensreprasentation, Expertensysterne, Wissenskornrnunikation (Sprache, Bild, Klang etc.), Spezialrna schinen und -sprachen sowie Modelle biologischer Systerne und kognitive Modellierung verrnitteln. Bisher sind erschienen: Automated Theorem Proving von Wolfgang Bibel Die Wissensreprasentationssprache OPS 5 von Reinhard Krickhahn und Bernd Radig Prolog von Ralf Cordes, Rudolf Kruse, Horst Langend6rfer, Heinrich Rust LISP von Rudiger Esser und Elisabeth Feldmar Logische Grundlagen der Kiinstlichen Intelligenz von Michael R. Genesereth und Nils J. Nilsson Wissensbasierte Echtzeitplanung von Jurgen Dorn Modulare Regelprogrammierung von Siegfried Bocionek Automatisierung von Terminierungsbeweiseu von Christoph Walther Christoph Walther Automatisierung von Terminierungsbeweisen Herausgegeben von Wolfgang Bibel I I Vleweg Der Verlag Vieweg ist ein Unternehmen der Verlagsgruppe Bertelsmann International. Aile Rechte vorbehalten © FriedT. Vieweg & Sohn Verlagsgesellschaft mbH, Braunschweig 1991 Das Werk einschlieBIich aller seiner Teile ist urheberrechtlich geschiitzt. Jede Verwertung auBerhalb der engen Grenzen des Urheberrechtsgesetzes ist ohne Zustimmung des VerJags unzuliissig und strafbar. Das gilt insbesondere flir Ver vielfiiltigungen, Obersetzungen, Mikroverfilmungen und die Einspeicherung und Verarbeitung in elektronischen Systemen. Umschlaggestaltung: Peter Lenz, Wiesbaden Druck und buchbinderische Verarbeitung: W Langeliiddecke, Braunschweig ISBN-13: 978-3-528-04771-9 e-ISBN-13: 978-3-322-85404-9 DOl: 10.1007/978-3-322-85404-9 v Vorwort Das Fuhren von Terminierungsbeweisen flir rekursiv definierte Algorithmen erfordert eine gewisse Kreativitiit des (menschlichen oder automatischen) Bewei sers, die sich im Erfinden einer Hypothese manifestiert, deren Giiltigkeit hinrei chend flir die Terminierung eines Algorithmus ist. In dieser Arbeit wird ein Ver fahren vorgestellt, mit dem diese KreativiUit durch ein Computerprogramm nachgebildet werden soIl. Mit diesem Verfahren konnen Terminierungsbeweise in vielen Hillen vollautomatisch, d.h. ohne jegliche menschliche Unterstutzung, gefiihrt werden. Es wird gezeigt, - wie flir einen Algorithmus eine Terminierungshypothese automatisch synthetisiert werden kann, - welches Wissen uber Algorithmen dazu erforderlich ist, - wie dieses Wissen reprasentiert wird, und - wie dieses Wissen durch eine Maschine selbst berechnet werden kann. Das hier beschriebene Verfahren lOst die gestellte Aufgabe fUr eine relevante Klasse von Algorithmen, wie etwa klassische Sortieralgorithmen und Algorith men flir grundlegende arithmetische Operationen, die in einer rein funktionalen Programmiersprache gegeben sind. Die hier vorliegende Arbeit, die in den Jahren 1984 - 1988 entstand, wurde zum Teil durch den Sonderforschungsbereich 314 "Kunstliche Intelligenz und Wissensbasierte Systeme" der Deutschen Forschungsgemeinschaft gefOrdert und von der Fakultat flir Informatik der Universitat Karlsruhe als Habilitations schrift angenommen. Ich danke Prof. Dr. P. Deussen flir die Arbeitsmoglichkei ten und Unterstiitzung wahrend der Jahre an seinem Institut. Ich danke Norbert Eisinger und meinen Kolleg(inn)en des INKA-Projekts, Su sanne Biundo, Birgit Hummel und Dieter Hutter, flir ihre Kommentare bzgl. eines ersten Entwurfs dieser Arbeit, sowie Maritta Heisel, die das Entstehen der Arbeit wahrend der Jahre mit konstruktiver Kritik, hilfreichen Vorschlagen und - wenn nOtig -mit Ermutigungen begleitet hat. Weiter bedanke ich mich bei Sabine Luckehe und Martin Protzen fur ihre Hilfe beim Ubersetzen der englischen Originalfassung der Arbeit in die hier vorliegende deutsche Fassung. SchlieBlich bedanke ich mich beim Herausgeber der Serie, Prof. Dr. W. Bibel, fur seine zahlreichen Vorschlage und Anmerkungen, sowie bei den Verantwortli chen des VIEWEG-Verlags flir ihre Unterstutzung (und Geduld) bei der Erstellung des Manuskripts. Darmstadt, im September 1990 Christoph Walther I nhaltsverzeichnis VORWORT i INHALT SVERZEICHNIS ii LISTE DER BEISPIELALGORITHMEN iv NOTATION v 1 EINLEITUNG 1 1.1 EIN TERMINIERUNGSBEWEIS FOR EINEN SORTIERALGORITIIMUS 2 1.2 DAS TERMINIERUNGSVERFAHREN -EIN UBERBLICK 5 1.3 BmLIOGRAPHISCHE ANMERKUNGEN UND VERWAND1E ARBE1TEN 8 2 SYNTAKTISCHE UND SEMANTISCHE BEGRIFFE 13 2.1 SYNTAKTISCHE DEFINITIONEN 13 2.2 SEMANTIK DER SPRACHE ERSTER STUFE 14 2.3 STA NDARDALGEBREN UND STANDARDMODELLE 15 2.4 FUNDIERTE ORDNUNGEN 16 3 SPEZIFIKAT IONEN 18 3.1 DATENSTRUKTUREN 19 3.2 ALGORITHMEN 21 3.3 NORMALFORMEN FOR ALGORITIIMEN 25 3.4 ZULASSIGE SPEZIFIKATIONEN UND BEWEISEN DURCH INDUKTION 26 3.5 ZUSAMMENFASSUNG 30 4 BEWEISENDURCHABSCHATZENMlTDEME-KALKUL 31 4.1 DIE ANzAHLORDNUNG 31 4.2 ABSCHATZUNGEN DURCH ARGUMENTBESCHRANKTE OPERATIONEN 33 4.3 DIFFERENZLITERALE FOR ARGUMENTBESCHRANKTE OPERATIONEN 36 4.4 ABSCHA1ZUNGEN DURCH DATENSTRUKTUREN 39 4.5 FORMALE DEFINITION UND KORREKTHEIT DES E-KALKOLS 42 4.6 DAS DIFFERENzAQUIVA LENT 45 4.7 EIN BEWEISVERFAHREN FOR DEN E-KALKOL 49 4.8 ZUSAMMENFASSUNG 52 5 ERZEUGUNG VON TERMlNIERUNGSHYPOTHESEN 53 5.1 TERMINIERUNGSHYPOTHESEN DURCH ABSCHATZUNGEN 53 5.2 EIN TERMINIERUNGSKRITERIUM MIT TERMREPRASENTA NTEN 59 5.3 ALGORITHMEN IN POSITIVER STRUKTURNORMALFORM 67 5.4 LEXIKOGRAPHISCHE TERMINIERUNGSORDNUNGEN 69 5.5 TERMINIERUNGSHYPOTHESEN FOR DAS 'SORT'-BEISPIEL 72 5.6 ZUSAMMENFASSUNG 76 VII 6 ERKENNEN ARGUMENTBFSCHRANKTER OPERATIONEN 77 6.1 REFLEXIVE SELEKTOREN 77 6.2 ARGUMENTBESCHRANKTE ALGoRlTIIMEN 78 6.3 SYNTHESE VON DIFFERENZALGORITHMEN 87 6.4 ZUSAMMENFASSUNG 98 7 OPTIMIERUNG VON DIFFERENZALGORTIHMEN 99 7.1 BEDINGUNGSSUBSUMPTION 100 7.2 TERMVEREINFACHUNG 104 7.3 REKURSIONSELIMINATION 106 7.4 FALLVERSCHMELZUNG 110 7.5 ZUSAMMENFASSUNG 113 8 ALGoRlTHMENMODIFIKATION 114 8.1 TRANSFORMATION VON ERGEBNISTERMEN 114 8.2 TRANSFORMATION VON BEDINGUNGEN 118 8.3 DIE AUFGABE DES BENUTZERS 120 8.4 ZUSAMMENFASSUNG 123 9 IMPLEMENTIERUNG 124 ANHANG A -DEFlNITIONEN 127 A.O SYNTAKTISCHE UNO SEMANTISCHE BEGRIFFE 127 A.1 DIE REPRASENTATIONSFORMELN 134 A.2 EIN BEWEISALGORITHMUS FOR DEN E-KALKOL 137 A.3 P-BESCHRANKTE ALGORITHMEN MIT MEHRFACHREKURSIONEN 140 ANHANG B - BEWEISE 145 SATZ 3.1 145 SATZ 3.2 152 SATZ4.1 153 LEMMA 5.3 157 SATZ 5.5 159 SATZ 6.3 160 ANHANG C - BEISPIELALGORTIHMEN 162 LITERATURVERZEICHNIS 246 SACHWORTVERZEICHNIS 251 VIII Liste der B eispielalgorithme n CUr 206 MINus! 165 DELEfE 195 MINuS2 166 DELETE.MINIMUM 228 MINuS3 167 DELETE.SORT 230 MINuS4 169 DISTRIBUTE. EVEN 222 MINuS5 171 DISTRffiUTE.ODD 221 MOVE.MINIMUM 225 ExCHANGE 231 MOVE. SORT 227 ExCHANGE.SORT 233 NTHCDR! 238 ExP 191 NTHCDR2 239 GeD! 180 NTHCDR3 240 GeD2 181 NTHCDR4 242 GeD3 182 NTH.CUT 208 GeD4 183 NTH.TAIL 210 PARTITION 212 GREATEST.FACTOR 192 POWER.REP 179 HALF! 184 PRIME! 193 HALF2 185 PRIME.FACTORS 194 HALF3 187 PURGE! 199 INSERT 235 PURGE2 201 INSERT.SORT 235 PURGE.SORT 217 LARGER 214 QUICKSORT 216 LEFT.PART 218 QUOTIENT 174 LIST. DIFFERENCE 202 REMAINDER 177 LIST.INTERSECTION 204 REMOVE! 197 Loo 188 REMOVE2 198 MEMBER 236 RIGHT.PART 218 MERGELIST 219 SELECT 244 MERGE.SORT! 220 SELECT.SORT 216 MERGE.SORT2 224 SMALLER 213 MIN 172 TIMES 190 MINIMUM 205 IX Notation (51 ,a) 15,131 51 15, 131 S 13,127 51s 17,130 ~ 13,127 51w 17,130 ~c 13,128 <Xf 130 ~d 13,128 S 18 ~w,s 13,127 (S,~,<I» 18 Pos(f) 13,127 REPs 20,134 rPos(f) 13, 127 20 <s irPos(f) 13, 127 <F 23 0/ 14, 128 31 <N 'lls 14, 128 <it 31 o/(t) 128 :::;r 48 o/(T) 128 I- 27 o/(ep) 129 I-S 28 0/(<1» 129 37 I-r q'(~, 0/) 14, 128 q'(~, o/)s 14, 128 #s 31 q'(~C) 15, 131 =# 31 1" (~, 0/) 14, 128 rp(A) 34 .£it(~, 0/) 14, 129 rcA) 34 C(~, 0/) 14, 129 r 34 I(S) 28 Dp,rCx*) 37 N 31 il r(q,r) 48 - 14, 128 estimate (q r) 49 63 x*:w 14, 129 ftlF,i VC 14, 129 ftl 63 1 (A,aI) 14, 130 ftl 63 a 14,130 ~s 127 aI 14,130 Iwl 127 a[ x*/a*] 130 ~:E 131 1= 14,130 "":E 131 Th(A) 15, 131 V's 134 15, 131 SUB(~,o/) 129 Th(A,~') 1 Einleitung Ein zentrales Problem bei der Entwieklung korrekter Software ist der Nach weis, daB Algorithmen immer terminieren, vorausgesetzt die berechneten Opera tionen haben entscheidbare Definitionsbereiehe. Niehtterminierende Algorithmen berechnen partielle Operationen und fUhren zur Vergeudung von Maschinenka pazitaten, wenn bei Ausfuhrung des Algorithmus eine Eingabe nieht aus dem De finitionsbereieh der berechneten Operation stammt. Durch Korrektur und "de bugging" solcher Algorithmen wird auBerdem menschliche Arbeitskraft ver schwendet und die Frustrationen, verursacht durch endlos laufende Algorithmen, sind jedem Programmierer und Informatiker bekannt. Daher sind Verfahren zum Terminierungsnachweis von Algorithmen von betrachtlichem Interesse in der In formatik. Wegen der Unentscheidbarkeit des Ralteproblems konnen wir jedoch kein Verfahren erfinden, daB fUr aile Algorithmen deren Terminierung nach weist oder widerlegt. Raben wir eine Idee, warum ein gegebener Algorithmus terminiert, so konnen wir einen Automatischen Beweiser zum Terminierungsnachweis verwenden. Doch zuvor mussen wir die Ursache Jinden, die die Terminierung eines AIgo rithmus bedingt, und dies erfordert gewohnlieh eine gewisse Kreativitiit. In der vorliegenden Arbeit solI ein Verfahren vorgestellt werden, diese Art von Kreati vitat durch eine Maschine zu simulieren. Wir befassen uns hier also im wesentli chen mit dem automatischen Erfinden von Satzen und nieht mit deren (automati schem) Beweis. Man beweist die Terminierung eines Algorithmus durch Erfinden einer Jun dierten Ordnungsrelation fur den Algorithmus und dem anschlieBenden Nach weis, daB die Argumente jedes rekursiven Aufrufs kleiner sind -und zwar im Sin ne der erfundenen Ordnung -als die urspriingliche Eingabe bei Aufruf des AIgo rithmus. Eine hiiufig verwendete Technik erfordert, eine sogenannte Terminie rungsJunktion, auch KonvergenzJunktion oder bound Junction genannt [Manna 1974; Dershowitz und Manna, 1979; Gries, 1981], zu erfmden, so daB die

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.