24
Acta Matkematica Academiae Scientiarum Hungarieae Tomus 17 (3--4) , pp. 335--358 (1966) DIE MINIMALISIERUNG DER ZUR SEQUENTIELLEN BERECHNUNG DER PARTIELL-REKURSIVEN WORTFUNKTIONEN NOTWENDIGEN KELLERSPEICHER Von J. URBAN (Budapest) (Vorgelegt yon L. KALMAR) EinMtung R. PlaYER hat meine Aufmerksamkeit auf das folgende Problem gelenkt, welches mit qualitativ informationstheoretischen Untersuchungen, ferner auch mit Problemen der mathematischen Linguistik--vor allem in bezug der automati- schen Obersetzung -- in Zusammenhang steht. Vor der Formulierung des Problems m6chte ich einige Begriffe darlegen. Ffir ein gegebenes endliches Alphabet (eine endliche Zeichenmenge) werden die aus den Buchstaben dieses Alphabets gebildeten endlichen Zeichenreichen Worte genannt. Auf der durch das Alphabet gegebenen Wortemenge lassen sich Funk- tionen definieren, deren Wertevorrat ebenfalls dieser Wortemenge angeh6rt (durch eine Funkfion wird eine Zeichenfolge in eine andere iibertragen). Unter den so definierten Wortfunktionen spielen die sogenannten partiell-rekursiven Wort- funktionen, und ihr Spezialfall, die primitiv-rekursiven Wortfunktionen eine be- sonders wichtige Rolle. Zur Berechnung des Wertes solcher Funktionen an gegebenen Stellen mit Hilfe yon Rechenautomaten hat sich das Konstruieren eines sequentiellen Verfahrens in mehreren F~illen ftir zweckm~iBig erwiesen. Das Wesen dieses Ver- fahrens besteht darin, dab die einzelnen Zeichen des Funktionswertes durch die Untersuchung der aufeinanderfolgenden Zeichen des Argumentes festgestellt werden, ohne zwischen den einzelnen Zeichen des Argumentes bin und .her zu springen. Ein solches allgemeines, konstruktives Berechnungsverfahren wurde ffir die partiell- rekursiven Wortfunktionen durch R. P~TER angegeben unter Verwendung yon bereits friiher gebriiuchlichen Hilfsmitteln, sogenannten ,,Kellerspeichern".* Ein Kellerspeicher ist in wesentlichem ein Speicher, der zur Speicherung einer Zeichenreiche geeignet ist, und in dem einzelne Buchstaben des Alphabets, sowie gewisse Hilfszeichen untereinander linear angeordnet untergebracht werden k6nnen. Die Speicherkapazitgt ist unbeschr/inkt, es wird jedoch immer nur eine endliche Anzahl yon Zeichen eingegeben. In einen Speicher 15.Bt sich auf einmal nut ein eirtziges Zeichen eintragen, und damit wird jedes bereits aufgespeicherte Zeichen eine Stelle nach uaten gerfickt. Aus den aufgespeicherten Zeichen karm man immer nur das an der Spitze stehende herausnehmen, undzwar entweder so, dal3 ein ,,Ab- druck" genommen wird, oder aber indem der Buchstabe ausgel6scht wird. Im letzteren Fall rfickt jedes tiefer liegende Zeichen um eine Stelle vor. Bei dem in der erw/ihnten Arbeit yon R. P~ER angegebenen Verfahren h/ingt die Zahl der zur Berechnung des Wertes einer partiell-rekursiven Wortfunktion * R. PI~TER, (2ber die sequenzielle Berechenbarkeit yon rekursiven Wortfunktionen durch Kellerspeicher, Acta Math. Acad. Sci. Hung., 16 (1965), S. 231--253. Acta MatbenzaHc~ AcadenHae Scienti~rum Hungaricae i7, I966

Die Minimalisierung der zur Sequentiellen Berechnung der Partiell-Rekursiven Wortfunktionen Notwendigen Kellerspeicher

  • Upload
    j-urban

  • View
    212

  • Download
    0

Embed Size (px)

Citation preview

Acta Matkematica Academiae Scientiarum Hungarieae Tomus 17 (3--4) , pp. 335--358 (1966)

D I E M I N I M A L I S I E R U N G D E R Z U R S E Q U E N T I E L L E N

B E R E C H N U N G D E R P A R T I E L L - R E K U R S I V E N

W O R T F U N K T I O N E N N O T W E N D I G E N K E L L E R S P E I C H E R

Von

J. URBAN (Budapest) (Vorgelegt yon L. KALMAR)

EinMtung

R. PlaYER hat meine Aufmerksamkeit auf das folgende Problem gelenkt, welches mit qualitativ informationstheoretischen Untersuchungen, ferner auch mit Problemen der mathematischen Linguistik--vor allem in bezug der automati- schen Obersetzung - - in Zusammenhang steht.

Vor der Formulierung des Problems m6chte ich einige Begriffe darlegen. �9 Ffir ein gegebenes endliches Alphabet (eine endliche Zeichenmenge) werden

die aus den Buchstaben dieses Alphabets gebildeten endlichen Zeichenreichen Worte genannt. Auf der durch das Alphabet gegebenen Wortemenge lassen sich Funk- tionen definieren, deren Wertevorrat ebenfalls dieser Wortemenge angeh6rt (durch eine Funkfion wird eine Zeichenfolge in eine andere iibertragen). Unter den so definierten Wortfunktionen spielen die sogenannten partiell-rekursiven Wort- funktionen, und ihr Spezialfall, die primitiv-rekursiven Wortfunktionen eine be- sonders wichtige Rolle. Zur Berechnung des Wertes solcher Funktionen an gegebenen Stellen mit Hilfe yon Rechenautomaten hat sich das Konstruieren eines sequentiellen Verfahrens in mehreren F~illen ftir zweckm~iBig erwiesen. Das Wesen dieses Ver- fahrens besteht darin, dab die einzelnen Zeichen des Funktionswertes durch die Untersuchung der aufeinanderfolgenden Zeichen des Argumentes festgestellt werden, ohne zwischen den einzelnen Zeichen des Argumentes bin und .her zu springen. Ein solches allgemeines, konstruktives Berechnungsverfahren wurde ffir die partiell- rekursiven Wortfunktionen durch R. P~TER angegeben unter Verwendung yon bereits friiher gebriiuchlichen Hilfsmitteln, sogenannten ,,Kellerspeichern".*

Ein Kellerspeicher ist in wesentlichem ein Speicher, der zur Speicherung einer Zeichenreiche geeignet ist, und in dem einzelne Buchstaben des Alphabets, sowie gewisse Hilfszeichen untereinander linear angeordnet untergebracht werden k6nnen. Die Speicherkapazitgt ist unbeschr/inkt, es wird jedoch immer nur eine endliche Anzahl yon Zeichen eingegeben. In einen Speicher 15.Bt sich auf einmal nut ein eirtziges Zeichen eintragen, und damit wird jedes bereits aufgespeicherte Zeichen eine Stelle nach uaten gerfickt. Aus den aufgespeicherten Zeichen karm man immer nur das an der Spitze stehende herausnehmen, undzwar entweder so, dal3 ein ,,Ab- druck" genommen wird, oder aber indem der Buchstabe ausgel6scht wird. Im letzteren Fall rfickt jedes tiefer liegende Zeichen um eine Stelle vor.

Bei dem in der erw/ihnten Arbeit yon R. P~ER angegebenen Verfahren h/ingt die Zahl der zur Berechnung des Wertes einer partiell-rekursiven Wortfunktion

* R. PI~TER, (2ber die sequenzielle Berechenbarkeit yon rekursiven Wortfunktionen durch Kellerspeicher, Acta Math. Acad. Sci. Hung., 16 (1965), S. 231--253.

Acta MatbenzaHc~ AcadenHae Scienti~rum Hungaricae i7, I966

336 J. URBAN

nStigen Kellerspeicher yore Aufbau der betreffenden Funktion ab. Es wurde jedoch durch R. P~TER der Gedanke ausgesprochen, dab sich die Zahl der gebrauchten Speicher vermindern l~igt, und zur Berechnung des Wertes einer jeden Funktion eine feste minima!e Zahl yon Kellerspeichern gentigen mul3.

In dieser Arbeit wird gezeigt, dab zur sequentiellen Berechnung einer jeden partiell-rekursiven Wortfunktion drei Kellerspeicher ausreichen, und aus der Methode geht auch hervor, dab sich diese Zahl nicht weiter herabsetzen liiBt. Dieses Ergebnis erh~ilt man dadurch, dab ein geeignetes AbschlieBen der einzelnen Speicher die Aufbewahrung yon mehreren verschiedenen Zeiehenreihen in ein und demselben Speicher erm6glicht.

Ich mSchte reich an dieser Stelle ftir die Ratschl~ige bedanken, die mir Professor P~TER zur Ausarbeitung dieser Arbeit erteilt hat.

1. Begriff der primitiv-rekurslven und der partiell-rekursiven Wortfunktionen

In diesem Abschnitt werden jene Begriffe aus der Theorie der rekursiven Wort- funktionen aufgezfihlt, yon denen im sp~iteren Gebrauch gemacht wird.

Sei A ein Alphabet (eine nichtleere, endliche Zeichenmenge), und M A die fiber diesem Alphabet geNldete Wortemenge. Dann lassen sich die primitiv-rekursiven Wortfunktionen auf dieser Wortemenge folgendermal3en definieren.

AIs Ausgangsfunktionen betrachtet man 1. Die identisch leeren Funktionen: f ( x ~ , . . . , x,)=A ftir beliebige nattirliche

Zahlen n, wobei /~ das leere Wort bezeichnet. 2. Die Identitiitsfunktionen:

f ( x ~ , . . . , x,,) - x j ( j = 1, 2 . . . . , n),

wobei n beliebige natfirliche Zahlen bezeichnet. 3. Die Nachfolgerfnnktionen:

f ( x ) = x b ,

wobei b ein beliebiger Buchstabe des Alphabets sein kann. Man erh~tlt die Klasse der primitiv-rekursiven Wortfunktionen, indem man

alle Funktionen betrachtet, die aus den obigen Ausgangsfunktionen durch endlich oft erfolgte Anwendung der folgenden beiden Schemata erhaRen werden k6nnen:

Das Schema der Substitution:

(S) f ( x l , . . . , x , ) = g ( g l (xl, . . . , x , ) . . . . , g m ( x l , . . . , x , ) )

wobei g t ( x l . . . . , x , ) . . . . , g ,~(x l, . . . , x,,) und g ( x l , . . . , Xm) bereits bekannte primitiv- rekursive Funktionen sind.

Das Schema der primitiven Rekursion:

(R) f(xl , ..., x,, A) -=g(xi, ..., xn)

U ( X 1 . . . . , Xn, x b ) "~--gb(X1 . . . . . Xn, x , f ( x ~ , . . . , x , , x ) , f ( x ~ . . . . . x , _ ~(xb)) ) ,

wobei g ( x I, . . . , x , ) und gb (xl . . . . . x,, x, y, z) fiir jedes b ~ A bereits bekannte primitiv-

Acta Matbematica Academ;ae Sdentiarttm Hungaricae I7, I966

DIE MINIMALISIERUNG DER ZUR SEQUENT~ELLEN BERECHNUNG 337

rekursive Funktionen sind. Die Bedeutung yon (x)-~ und -~(x) (die unmittelbaren Vorg~nger yon x) ist die folgende:

A - I = A , -1A=A

und ffir n ~ 0 wenn x=b~ ... b~, dann

(x) - l = b 1 ...bn_i, - l (x )=b2 . . .b, ,

was ffir n = 1 natfirlich in beiden F~illen A bedeutet. Zur Berechnung des Wertes drier durch Rekursion definierten Funktion werden

wir von allen Vorg/ingern eines Wortes in einer zweckmfiNgen Reihenfolge Ge- brauch machen. Ist das gegebene Wort z.B. b~b2b3, so werden alle Vorg/inger des Wortes in der folgenden Reihenfolge angewendet:

A, bl, b2, bib2, b3, b263, blbzb3.

Innerhalb dieser Reihenfolge werden wir alle Vorg~inger, die mit demselben Buch- staben enden, als eine Gruppe betrachten.

Die natfirlichen Zahlen 0, t, 2, ... k6nnen der Reihe nach mit den Worten A, bo, bobo, ... identifiziert werden, wobei bo ein festgehaltenes Element des Alphabets ist. Somit 1/igt sich auf der Wortemenge MA eine Funktion o(x) definieren, die jedem Wort x als Wert die Zahl der Buchstaben yon x zuordnet. Es kann gezeigt werden, daB o(x) primitiv-rekursiv ist in MA.

Man erh/ilt die Klasse der partiell-rekursiven Wortfunktionen auf der Worte- menge MA wenn man zu den primitiv-rekursiven Wortfunktionen jene Funktionen hinzunimmt, die mit Hilfe des Schemas (~0 definiert werden k6nnen.

Zur Definition yon Schema (#) ben6tigt man den Begriff einer primitiv-rekursiven Folge in Mx. Man nennt eine primitiv-rekursive Funktion u(x) eine primitiv- rekursive Folge, und bezeichnet sie mit Uo(x), wenn sie nur yon der Zahl der Buch- staben in x abh/ingt. Bezeichnen wit die Menge der Elemente der Folge Uo(~) m[t U. Nun ist das Schema (~) das folgende:

(p) f(x~, ..., x,)=pU, [g(xj . . . . , x,, u)=A ]

hierbei bezeichnet n eine beliebige nat/irliche Zahl, g(x~ . . . . . x,, x) eine primitiv- rekursive Funktion, U die Menge der Elemente einer primitiv-rekursiven Folge uo(~) und die rechte Seite jenes zum kIeinsten Index o(x) gehSrige Element u der Folge, ftir welches g(x~, ..., x,, u)--A gilt. Ffir Argumente, zu denen kein solches l~ existiert, ist die Funktion f(x~ . . . . . x~) nicht erkl/irt.

L/~Bt man mit dem Schema (p) nur die Bildung solcher Funktionen zu, die an allen Stellen definiert sind, so erh/ilt man die Klasse der in MA allgemein- rekursiven Wortfunktionen.

2. Bezeichnungea

F/ir die in der Berechnung gebrauchten Speicher und ftir die Beschreibung der einzelnen Schritte der Berechnung werden im wesentlichen dieselben Bezeich-

nungen ben/itzt, die in der erw/ihnten Arbeit yon R. P~Tr~R eingeffihrt wurden. Die Kellerspeicher werden mit grossen lateinischen Buchstaben (z.B. I Input, O

Acfa Mat/Jemalica Acadel~aiae Sclentiarum HuTagaJicae z7, I966

338 J. URBAN

Output) bezeichnet, ihre momentanen Gipfelzeichen mit den entsprechenden kleinen Buchstaben.

Das Gipfelzeichen der Speicher ist in leerem Zustand L. Dieses Zeichen wird auch benfitzt, um damit Zeichenfolgen in den Speichern abzuschliel3en. Zur An- deutung, dab das Gipfelzeichen eines Speichers gestrichen wird, schreiben wit an seiner Stelle 1 (selbstverst~indlich mit dem ~bereinkommen, dab als momentanes Gipfelzeichen eines Speichers immer das yon oben erste yon l verschiedene Zeichen gilt). Aul3er diesen beiden Hilfszeichen werden auch noch die Hilfszeichen, und 0 gebraucht. Diese, und das Zeichen /~ mfissen natfirlich voneinander unterschieden werden. Es wird ferner festgesetzt, dab die Hilfszeichen nicht unter den Buchstaben des Alphabets vorkommen dfirfen.

Die in einem Speicher enthaltenen Zeichen werden wir yon links nach rechts Schreiben, dies wird der Reihenfolge yon unten nach oben entsprechen.

Zu den Berechnungen werden wir drei Speicher gebrauchen: I, i und O. Unter diesen werden die Speicher I (Input) und O (Output) anders als fiblich an- gewendet. Es wird n~imlich - - zwecks Verminderung der Zahl der ben6tigten Speicher - - zugetassen, dab im Laufe der Berechnung in I gewisse Zeichenreihen untergebracht, nnd aus O gewisse Zeichenrefhen entnommen werden k6nnen. So beschr~tnkt sich die Forderung der SequentialitSt darauf, dab man in jedem Schritt immer nur mit den Gipfelzeichen der Speicher operieren kann.

Jedes Zeichen b, auch mit Indizes versehen, wird immer je einen Buchstaben des Alphabets bedeuten.

Man beginnt mit der Berechnung einer Funktion f(xl . . . . . xn) ffir gegebene Argumente

indem man diese Zeichenreihe in I fiber einem Zeichen L eintr~tgt. Dieser Zustand heil3t Anfangsstadium. Im Anfangsstadium ist eine weitere Forderung, dab die Gipfelzeichen der beiden anderen Speicher, i und O gleich L seien. Kommt es im Laufe der Berechnung einer zusammengesetzten Funktion vor, dab am Anfang der Berechnung irgendeines mittleren Wertes das Gipfelzeichen yon i nicht List , so wird L als Gipfelzeichen in i eingegeben.

Es ist wichtig zu bemerken, dab w~ihrend der Berechnung eines Funktions- wertes die unterhalb des vorhinerwfihnten (in I natfirlich unterhalb der Argumente Iiegenden) L Zeichens des Anfangsstadiums stehenden Zeichen der einzelnen Speicher unberfihrt gelassen werden. Dadurch wird gesichert, dab bei der Berechnung der Funktionswerte yon zusammengesetzten Funktionen keine St6rungen entstehen.

Bei der Beschreibung des Berechnungsverfahrens werden 6fters jene Teile der einzelnen Speicher angegeben, die bei der Bestimmung eines Funktionswertes der gegebenen Funktion eine Rolle erhalten. Diese sind immer jene Teile der in den gegebenen Speichern enthaltenen Zeichenreihen, die sich oberhalb der zum Anfangsstadium der Funktionswertberechnung geh6renden obersten L-Zeichen befinden. Der Einfachheit halber werden wir uns im folgenden auf solche Zeichen- reihen Ms atff den ,,Inhalt" des Speichers berufen.

Die Berechnung erfolgt in einzelnen Stadien, die durch q (ev. mit Indizes ver- sehen) bezeichnet werden. Die Berechnung geht immer von einem Stadium qo aus, in dem die einzelnen Speicher sich in dem oben erwghnten Anfangsstadium befinden, und endet mit einem Stadium Stop !, in dem die Gipfetzeichen yon I und

Aci~ M~tbematica Academiae Sclentiarz~m Hungarlcae I7, I966

DIE M1NIMALISIERUNG DER ZUR SEQUENTIELLEN BERECHNUNG 339

gleich L sind, und in O fiber einem Zeichen L der berechnete Funktionswert steht. Es ist auch wichtig zu bemerken, dab im Stadium Stop ! die in den einzelnen Speichern befindlichen obersten L-Zeichen dieselben sind, die im Anfangsstadium an der Spitze standen.

In einem gegebenen Schritt der Berechnung wird die Aufgabe durch das momentane Stadium und durch die momentanen Gipfelzeichen der Speicher ent- schieden. Diese bestimmen, welche neue Gipfelzeichen in die einzelnen Speicher eingetragen werden mfissen, und auf welches Stadium fiberzugehen ist. Meist wird die Aufgabe durch das Gipfelzeichen eines einzigen konkreten Kellerspeichers bestimmt. Bei der Beschreibung der einzelnen Schritte werden wir jeweils nur I das Gipfelzeichen des tats~ichlich wirkenden Speichers angeben. Besteht z.B. in einem Stadium q~, falls das Gipfelzeichen des Speichers O yon L u n d o verschieden ist, die Aufgabe darin, dab das Gipfelzeichen in O gelSscht und nach i fibertragen werden mul3, dann auf Stadium qi, fiberzugehen ist, so bezeichnen wir den ent- sprechenden Schritt folgendermagen:

qi(o #L)(o # O)i(o ~i)qi,.

MuB dasselbe unter Beibehaltung yon o in 0 durchgeffihrt werden, so schreibt man

qi(o # L)(o # o )[(o 4 0 ) ( 0 ~i)q~,.

Soll das Gipfelzeichen yon 0 gesLrichen werden, dab wird durch

(/-~o)

bezeichnet. Es k6nnen auch Buchstaben des Alphabets, und auch Hilfszeichen in die Speicher eingegeben werden; dies wird z.B. folgendermaBen angedeutet:

�9 (L -~ O).

Oft werden wir eine kurze Bezeichnung ftir jene Zeichenreihe ben6tigen, die sich aus der Umkehrung einer Zeichenreihe r ergibt; sei dies P. Bezeichne s ein gegebenes Argumentensystem der Funktion f, zusammen mit den zwischen den Argumenten befindlichen Kommata. Dann soll jene Zeichenreihe, die durch die Funktion f ffir das gegebene Argumentensystem als Wert angenommen wird, mit ,,f(s)" be- zeichnet werden.

3. Die sequentielle Berechnung der primitiv-rekursiven Wortfunktionen

Zuerst werden wir beweisen, dab die primitiv-rekursiven Wortfunktionen auf einer Wortemenge fiber einem endlichen Alphabet mit Hilfe yon drei Keller, speichern sequentiell berechnet werden kSnnen.

Mit weniger als drei Kellerspeichern scheint die Aufgabe unl6sbar zu sein, da man im Laufe der Berechnung 6fters irgendeine Zeichenreihe ben~tzen, und gleichzeitig zwecks sp~iterer Berechrmngen aufspeichern muB. Dies kann nur dadurch verwirklicht werden, dab man die fragliche Zeichenreihe aus dem sie enthaltenden Speicher simultan in zwei andere Speicher /ibertr~gt (es kann ja auf einmal nut das Gipfelzeichen herausgenommen werden). Also reichen weniger als drei Speicher nicht aus, mit drei Speichern ist jedoch die Aufgabe bereits 16sbar.

Acta Mathematica Academiae SclentJaTum Hunga*icae ZT, z96E

340 J. URBAN

Es sei f ( x l , ..., x,) eine gegebene Wortfunktion, die auf einer Wortemenge fiber einem endlichen Alphabet primitiv-reknrsiv ist. Dann ergibt sich offensicht- iich aus der Definition, dab ihr eine aus endlich vielen primitiv-rekursiven Wort- funktionen bestehende Folge zugeordnet werden kann:

( ~ ) gl, g2 .. . . , gk

deren Glieder die u v o n f genannt werden, und die fiber folgende Eigen- schaften verffigt: jedes Glied ist entweder eine Ausgangsfunktion, oder aber ent- steht es aus den vorgehenden Funktionen durch Anwendung eines der in der Defini- tion angeffihrten beiden Schemata (S) und (R); und g~ ist gleich f.

Der Beweis wird mit voltst~indiger Induktion bezfiglich der Zahl der Elemente in der zur Funktion geh6renden Folge (-~) durchgeffihrt. Gleichzeitig wird be- wiesen, das unser Berechnungsverfahren fiber die folgende (ira vorigen Paragraph erw~ihnte) Eigenschaft (t) verffigt: die im Anfangsstadium in den einzelnen Spei- chern obenan stehenden Zeichen L werden im Laufe der Berechnung nicht heraus- genommen, und im Stadium Stop [ stehen dieselben Zeichen L obenan, undzwar in I und i als Gipfelzeichen, in Ounter dem berechneten Funktionswert.

Am Anfang der Berechnung steht in I fiber einem Zeichen L das Argumenten- system in umgekehrter Reihenfolge; das Gipfelzeichen yon Oist L; das Gipfelzeichen yon i ist entweder L oder - - falls dies nicht der Fall ist - - mug i mit einem Zeichen L abgeschlossen werden. (Der letztere Fall tritt, wie wit sehen werden, w~ihrend der Berechnung yon mit Rekursion definierten Funktionen auf.) Deshalb wird zu Beginn des Berechnungsverfahrens einer jeden Funktion ein Stadium qo eingeffigt, welches diese Aufgabe durchffihrt:

qo (7 # L) I(L ~ I ) q 1

qo (7 = L) i q l.

Im weiteren beginnen wi r die Beschreibung der einzelnen Berechnungsver- fahren immer nur vom Stadium q~ ausgehend.

3.1 Die sequentielle Berechnung der Ausgangsfuntionen

Zuerst betrachten wir den Fall, wo die zur gegebenen Funktion f geh6rende Folge ( ~ ) nut aus einem einzigen Glied besteht (dies ist offensichtlich f selbst). In diesem Fall kannfnur eine Ausgangsfunktion sein. Also mug eingesehen werden, dab jede Ansgangsfunktion mit Hilfe yon h6chstens drei Kellerspeichern berechnet werden kann, und das Verfahren fiber die geforderte Eigenschaff (t) verftigt. Die zitierte Arbeit enthfilt den Beweis daffir, dab die Ausgangsfunktionen mit zwei Kellerspeichern berechnet werden k6nnen. Das dort angegebene Verfahren muB lediglich damit ergS.nzt werden, dab vor dem Stadium ql die vorhin erw~hnten Schritte eingeffigt werden mfissen. Die Berechnungsverfahren verffigen often- sichtlich fiber die erwfinschte Eigenschaft (t).

Nehmen wir an, dab jede primitiv-lekursive Wortfunktion g deren zugeh6rige ( , ) -Fo lge aus weniger als k Gliedern besteht (k> l ) , mit Benutzung yon drei Kellerspeichern berechnet werden kann, und dieses Verfahren fiber die gewfinschte

~cta Mat[~emst~c8 ~e~domlae Sc~snt~ar~m Hu~2garicae ZT, 2906

DIE MINIMALISIERUNG DER ZUR SEQUENTIELLEN BERECHNUNG 341

Eigenschaft (t) verffigt. Die in dern Berechnungsverfahren eines solchen g vorkom- menden Stadiumzeichen q sollen mit den Indizes (g) versehen werden (als linke obere Indizes). Die Folge der so erhaltenen Berechnungsschritte sei mit Q g bezeich- net (eine solche Folge yon Schritten beginnt also mit eineln Stadium (g)qo und endet mit einem Stadium (o)Stop !). In Kenntnis dessen geben wit zu einer primitiv- rekursiven Wortfunktionf, deren (~)-Folge aus/c Gliedern besteht, ein Berechnungs- verfahren an, das drei Ke!lerspeicher ben6t]gt und die Eigenschaft (t) besitzt.

[st k > 1 die Anzahl der Glieder der zur gegebenen Funktion f geh6renden Folge (~) , so ist diese Funktion entweder durch Substitution, oder dutch primitive Rekursion definierbar. Betrachten wir zuerst den ersten Fail.

3.2 Berechnung einer mit Substitution definierten Funkfion

Der Voraussetzung entsprechend 1N3t sich f auf folgende Weise definieren:

f ( x l . . . . . x , ) = g ( g l ( x l . . . . , x , ) , . . . , g ,~(x l , . . . , x , ) ) .

Die hier vorkommenden Funktionen g i ( x ~ . . . . . x,,), . . . , gm(x~, ..., x,) und g ( x ~ . . . . , x , , ) sind Elemente der (~)-Folge von f . Die zu diesen Funktionen geh6- renden (~)-Folgen sind echte Teile der f zugeordneten ( ,~.)-Folge, also ist die Anzahl ihrer Elemente kleiner als lc. Laut Annahme sind die diesen entsprechenden Berechnungsverfahren, ngmlich

Qg, . . . . , Qo~, Qg

bekannt, und haben die Eigenschaft (t). Seien die gegebenen Argumente, ffir die wir den Wert von f bestimmen wollen,

x l = b ~ , l ,.. b i ,a l . . . . , x , = b , , 1 ... b . . . . .

Hier kann auch a,; =0 auftreten. Dies bedeutet, dab xl = A ist. Das Argumenten- system wird in umgekehrter Reihenfolge in I eingegeben, so dai3 in I bei Beginn der Berechnung fiber einem Zeichen L die Zeichenreihe

b . . . . ... b,,1 , ... , b~,~l ... b~,~

steht. Bezeichnen wir die urspr/ingliche Zeichenreihe, durch die das Argumenten- system bestimmt ist (zusammen mit den Kommata) mit s (also den momentanen inhalt yon I mit g). Unsere Aufgabe besteht aus der Berechnung des Funktions- wertes f ( s ) .

Im Laufe der Berechnung werden zuerst die inneren Funktionswerte g~ (s) . . . . . . . . gin(s) bestimmt, undzwar in der hier angegebenen Reihenfolge. Diese Werte werden in O aufgespeichert, undzwar durch je ein Zeichen L voneinander getrennt. Bei der Berechnung des Funktionswertes von g werden diese als Argumente be- n6tigt. Es ist daher zweckm~iBig, dem Speicher O auch ein Zeichen o einzugeben (das ebenfalls durch ein L abgeschlossen wird), damit man sptiter leicht finden kann, wie fief der Inhalt von O zur Berechnung yon g herangezogen werden muB:

q~ I( o -,- O)q2

q2 [(L ~ O)q3.

Act~ 2,'lathe.,nalica Acndemiae Sclentlarum Hlmgarica# I7, i966

342 J. URBs

Die n~ichstfolgende Aufgabe besteht aus der Berechnung yon gt(s). Ist m = 1, so wird die Zeichenreihe s nicht welter benStigt, also kann man aus dem gegebenen Stadium auf die Berechnung von qj (s) fibergehen (in I steht das entsprechende Argumentensystem fiber einem Zeichen L, die Gipfelzeichen von i und O sind gleich L):

q31Qol. Ist r e > l , so wird s auch im Laufe der weiteren Berechnungen ben6tigt, als

mul3 also aufgespeichert werden. Dies l~13t sich erreichen, indem s aus I gleich- zeitig in O und auch in i fibertragen, und dann aus O wieder in I zurfick gegossen wird. Nun wird i abgeschlossen, und die Berechnung yon gl(s) nimmt ihren An- fang. Nachdem man in O die Zeichenreihe ,,gl(s)" erhalten hat, wird diese durcli ein aus i fibertragenes L abgeschlossen:

q3 (i # L)[(i ~ I) (i ~ O)q4

q,4](i ~i)q3

q3 (i -~ L) I(L -~ i)qs

q5 (o f~ L)l(o -- i)q5

q~ (o = L) IQg,

Qotlq6

q6lO -~ O)q~.

Die n~ichste Aufgabe h/ingt davon ab, ob m = 2 oder m > 2 ist. Im Falle m = 2 wird s einfach aus i nach I fibertragen, und mit der zur Berechnung von gz(s) ffihrenden Reibe yon Schritten angefangen:

q7([# L) I (i---,-I) q7

q7 (i = L) I Qg~.

Ist dagegen m >2, so wird s gleichzeitig in I u n d in O fibertragen, alsdann von hier in i zurfickgegossen. Es wird i abgeschlossen, und mit den Bereehnungsschnitten yon gz(s) begonnen:

q~(T~ L) 1 ( -~ i) (-~ I)q~

q81 (i--+ O) q7

q7 (i = L)lq9

q9 (O ~ L) ] (o ~ i) q9

qg(o=L) l(L~])Og z

Qa2[qlo

qlo l ( i -~O)ql l .

~&~a Malbematica Academiae Sclemiarmn Hungaricae z7, z966

DIE MINIMALISIERUNG DER ZUR SEQUENTIELLEN BERECHNUNG 343

Das Verfahren wird auf diese Weise fortgesetzt, bis man schliel31ich (nach einer festen, nur yon m abh~ingenden Anzahl yon Schritten) am Ende der Schritte yon Q~ das Stadium (gin)Stop! erreicht. Dann ist das Gipfelzeichen von I und gleich Lund in O befinden sich fibereinander die Zeichenreihen,,g~ (s)" (j = 1,2,..., m), jeweits durch ein Zeichen L voneinander getrennt (das kein anderes Zeichen nach O gelangt, wird durch die Induktionsannahme gesichert):

1 i O

L L L | L , ,gl ( s ) " L . . L , ,g , , (s)" .

In dieser Situation besteht die Aufgabe aus der Bestimmung des Wertes yon g ffir die in O angesammelten Argumente. Hierzu mfissen die Zeichenreihen ,,gj(s)" - - durch Kommata voneinander getrennt - - aus O nach I iibertragen werden:

Q.~ t q~ ~ qi ' ) (o#L) (o~ |

q?) (o = L) I(I-~ o) q(~l)

q(2~) ] (,-~ I)q~)

ql ~) (o = o )1 ( l~ o)qi t)

qla) l(l-~ i) Qo"

Am Ende der Schritte von Qo sind die Gipfelzeichen in I und i gleich L und in O befindet sich fiber einem Zeichen L (auf Grund der Induktionsannahme) der gesuchte Funktionswert f(s). Somit ist die Berechnung beendet, man hat nur noch vom letzten Stadimn yon Qo auf das Stadium Stop ! zu/ibergehen:

Qg]Stop !

Offensichtlich verffigt die Berechnung auch fiber die erforderte Eigenschaft (t).

3.3 Bereehnung einer mit primitiver Rekursion definierten Funktion

Betrachten wir nun den Fall, indem die Funktionfderen (~)-Folge k Elemente hat, durch primitive Rekursion definierbar ist:

f ( x 1 , . . . , Xn, A ) = g ( x t , . . . , -u

f(x~, ..., x,, : ,b)=g~(xl . . . . , x,,, x , f ( x l , . . . , x , , ~ ) , f ( x l , . . . , x , , - l ( . ~b ) ) ) .

Hier sind die Funktionen g(xl, ..., x,) und gb (xl, ..., x , , x ,y , z) ffir jedes bEA Elemente der (~)-Folge yon f, also bestehen die zu diesen geh6renden (~)-Folgen aus weniger als k Elementen. Laut Annahme sind die Berechnungs- verfahren dieser Funktionen bereits bekannt: Qo und Og~ (ftir jedes b ~A), und besitzen die erforderte Eigenschaft (t). Auf dieser Grundlage geben wir ein Ver- fahren zur Bestimmung des Funkfionswertes yon f.

Acta Matbe:natic~ Academiae 5cie~ztlar/fm [qung~:icl:e z 7, r9bO

344 J. URB~N

Die gegebenen Argnmente, f/Jr welche der Funktionswert f ( x l , ..., x , , x) zu bestimmen ist, seien

x i = b l , 1 . . . bl,~., , ... , x , = b , , , 1 . . , b . . . . , x = b l ... bo.

Auch hier kann das Wort /~ vorkommen. Gebrauchen wit f~r die Folge der Para- meter, zusammen mit den sie trennenden Kommata, die Bezeichnung s. Unsere Aufgabe lautet demnach folgendermagen: Der Funktionswert f ( s , b~ ... b,,) muB bestimmt werden. (Ist f eine Funktion einer Vergnderlichen, d.h. gibt es keine Parameter, so hat man den Wertf(b~ ... b~) zu berechnen, und die Schritte bezfiglich s fallen im weiteren Weg. Es kann jedoch aueh der Einheitlichkeit halber eine fiktive Ver~inderliche x~ angenommen werden; in diesem Fall bestimmt man anstatt dem Weft yon f ( x ) den Weft der Funktion f l (xl, x)=f(x)) . Dazu ben6tigt man die Werte yon f auf allen VorgSngern des Wortes b~ ... b~. Diese sind - - der in der Einleitung erwiihnten zweckmiiBigen Reihenfolge entsprechend - - die folgenden:

( ~ ) f(s, A),f(~, b~),f(~, b~),f(s, bib2) . . . . . f(s, b~... b,).

Im Laufe der Berechnung werden die Funktionswerte in dieser Reihenfolge bestimmt werden. Es ist zweckm~Big zu bemerken, dab diese Funktionswerte - - den Vorg/ingern des Wortes entsprechend - - Gruppen biIden. Je einer solchen Gruppe geh6ren jene Werte an, in denen die auftretenden Vor#inger mit demsel- ben Buehstaben enden.

(1) Die erste Gruppe besteht aus dem Funktionswert f ( s , A), unsere erste Aufgabe ist die Berechnung dieses Wertes. Zur Vorbereitung wird yon den Argu- menten jenes abgetrennt, das an Stelle der Rekursionsver/inderliehen kommt. Dies 1/il3t sich erreichen, indem die Parameter nach i fibertragen werden. Es ist zweck- m~il3ig, sie gleichzeitig auch in O zu/ibertragen, da diese ffir sp/itere Berechnungen gespeiehert werden m/issen, und bei der Berechnung des Funktionswertes f ( s , A) gebraucht werden. Die bisher beschriebenen Sehritte sind die folgenden: ffir j = l , 2 . . . . , n - 1

ql I(1)q(1 i)

(j)q(ll)(i#,)l ~ ._~--- ~(l) (i I)0 o ) ( j m

(j)q(2~ ) l (i ~ ~) (j)q(11) (t) �9 �9

(~)ql 0 = ,)10-~I) (i~O)(j)qg 1) t~)q (3 t) ] (i -~ i) (j + i)q(1 l)

(,o q(~ 1) (i ~- ,)](i-~ I) (i -~ O) q(~)

q ~ i)(~)q~i)

(~)q(~) (i = ,) [ (/-~ i)q(s ').

Dar auf folgend wird das in I gebliebene Rekursionsargument, sowie i mit einem L a bgeschlossen, alsdann s aus O in I zurfickgegossen. In dieser Situation haben i un d O das Gipfelzeichen L und in I befinden sich fiber einem L die entsprechenden

Acta Ma[hematica Academiaz 8clenNarmn Hungarlcae I7, I966

DIE MINIMALISIERUNG DER ZUR SEQUENTIELLEN BERECHNUNG 345

Argumente, also k6nnen die Berechnungsschritte yon f ( s , A)=g(s) ihren Anfang nehmen:

q~l) l (L ~ I) q(61)

q~l) l (Z -,- i) q(71)

q(71) (o # L) l(o -~ I)q~ 1)

q(71) (o = r ) I Qg.

Am Ende der Schrittenfolge Qg ist der Inhalt der einzelnen Speicher:

I i O

Lba. . . bl L L s L L , , f(s, A)".

Nun ffihrt man einige vorbereitende Schritte ffir etwaige weitere Berechnungen durch. In O wird ein Zeichen | gesetzt, das Gipfelzeichen yon I in O fibertragen, in I ebenfa/ls ein Zeichen o gesetzt, und das Gipfelzeiehen yon I in I fibertragen:

Q, [q(81)

q(8*) I ( | ~ 0)q(9 ~)

(1) - 7 ~ (1) q9 [(t O)qlo

q~)) I ( | -~i)q~ )

(1) . ~ - (1) qH ](1 I)q12.

Der Inhalt der Speicher gestaltet sich folgendermaBen:

I i 0

Lb a . . . b 1 Ls | L L , J ( s , A )" o L.

In dieser Situation steht in I fiber dem h6chsten L die Zeichenreihe des Rekursions- argumentes, durch dessen Untersuchung der weitere Gang des Berechnungsver- fahrens bestimmt wird. Ist es das leere Wort, so ist die Berechnung beendet, und es mfissen nur noch einige abschlieBende Schritte getan werden. Diese 16schen die fiberfl(issigen Zeichen der einzelnen Speicher aus, um am Ende des Rechen- verfahrens im Stadium Stop! die in (t) erforderte Lage zu sichern. Ist das Gipfel- zeichen yon I nicht A so hat man auf die Berechnung des zur zweiten Gruppe von (-~ ~ ) geh6renden Funktionswertes f ( s , bl) zu fibergehen:

q~) (i = A) I (l ~ i) q~2) =~

(~) �9

qlz 0 # A) l(i-~i)q~ a) =~

(2) In den abschlieBenden Schritten wird der Inhalt yon i b i s zum unter- halb yon s stehenden L, der Inhalt von O bis zum ersten Zeichen o (einschlieB- lich) ausgel6scht. In der so erhaltenen Situation ist das Gipfelzeichen yon I u n d i das im Ausgangsstadium auftretende L, und in O befindet sich fiber das entsprechende

8 Acta Mathematica Academiae Scientlarum Hungarlcae I7, z966

346 J. URB/~

Zeichen L der gesuchte Funktionswert. Also kann man auf Stadium Stop! tiber- geh en:

ql 2) 1(l~ i)q (z)

q(2 z) ('f ~ L) I(I-,- i-)ql 2)

q(2 2) (i = L) [ ( l~ o)q~ 2)

q~2) l(l-,-o)q~2)

q~2) l Stop!

(3) Sind wir im Laufe der Schritte zum Stadium qq3) gelangt, so ist der Inhalt der einzelnen Speicher wie folgt:

I i O

Lba... bz Ls 0 Lbl L,,f(s, A)" 0 L.

Wie wit sehen werden, kann man auch 6tiers in Stadium q~3) gelangen. Undzwar dann, wenn die Berechnung der zu einer Gruppe yon ( ~ ~ ) geh6rigen Werte beendet wurde, und die Aufgabe aus der Berechnung des ersten Gliedes der fol- genden Gruppe besteht.

Um das Verfahren leichter versffindlich zu machen, untersuchen wir nun die Situation, worin man die Berechnung der Funktionswerte der vierten Gruppe beginnt (die hier auffretenden Rekursionsargumente enden in b3). In dieser Lage ist der Inhalt der Speicher:

I i O Lb~... b 4 Ls | b 1 b 2 , b s L,,f(s, A)" 0 L,,f(s, b2) n, L,,f(s, bj b2)"L.

Unsere erste Aufgabe besteht aus der Berechnung des Funktionswertes f(s, bs)= =gb~ (s, A,f(s, A),f(s, A)). Zur Vorbereitung wird I durch ein Zeichen L abge- schlossen, und dartiber die Zeichenreihe

,if(s, A)", ,if(s, A)", A,

eingegeben. Nun wird - - unter Beibehaltung von i als Gipfelzeichen yon b3 - - auf die Schfittenfolge Qo~ iibergegangen (hier ist auch das Stadium qo yon Bedeutung).

W~ihrend der Durchffihrung der Aufgabe werden einige ergiinzende Schritte n6tig sein, die wir an den entsprechenden Stellen angeben werden.

q~3) [ (L-~ I) q(23).

Auch im folgenden wird es 6fters notwendig sein, z.B. aus O fibergangsweise eine gewisse Zeichenreihe in i zu fibertragen, da die unter dieser befindlichen Zeichen ben6tigt werden. In solchen FNIen ist es oft zweckmN3ig, in i ein Trennungszeichen | anzubringen:

q(23) l (o -~ i) q(33)

q(33) (0 # | ) 1 (0 ~ i) q(33)

q(33) (o ----- Q )] (o ~ i)q(43).

Acta Matbelnatica Academlae Scielztlarunz Hungar~cae ~7, z966

DIE MINIMALISIERUNG DER ZUR SEQUENTIELLEN BERECHNUNG 347

Der Inhalt der Speicher gestaltet sich folgendermaBen:

I i 0

L b , . . . b4L Ls (3 b~ b 2 , b 3 (3 L, , f (s , b 1 b2)"L , ,,f(s, b2)"L (3 L, , f(s , A)".

Nun wird aus O die Zeichenreihe , , f (s , A)" zweimal nacheinander, mit einem , getrennt, in I fibertragen (natfirlich beidemal auch in I da sie auch sp~ter gebraucht werden kann) :

q~)(o ~ L) l(o-~ O) (o-~ I) q~)

q(53) 1(o ~ i) q(43)

q ~ ( o = L) I(,-~ I) q~3)

q~3)(? ~ | (?-~O)q~ ~)

q(63)(i = (3)Iq(73)

q~) (o ~ f) I(o-~ O) (o-~ I)q~ ~)

q(83) t (O --,- i) q(73)

q~3)(o = L)1 (,-~ I) q~ 3~ .

Jetzt hat man die aus O provisorisch in ~ fibertragene Zeichenreihe in O zurfick- zugieBen. W/ihrend dessen tun wir einJge ergfinzende Schritte. Um den Zweck der einzetnen Schritte leicht erkennbar zu machen, untersuchen wir den Inhalt yon i in vier verschiedenen F/illen (selbstvert~indlich sind wit in alien vier F/illen im Stadium q(93)). In den einzelnen F/itlen ist der Inhalt von i:

(a) W/ihrend der Vorbereitung der Berechnung des Wertes f ( s , bl):

Ls (3 Lb~ (3 L (3 ,,f(s, A)".

(b) W~ihrend der Vorbereitung der Berechnung des Wertes f (s , b2):

Ls (3 b 1 , b 2 (3 L, , f (s , b l )"L | ,,f(s, A)".

(c) W~ihrend der Vorbereitnng der Berechnung des Wertes f ( s , b3):

Ls ~) b i b2 , b3 | L, , f(s , b i b2)" L , ,,f(s, b2)"L o ,,f(s, A)".

(d) Schlieglich w/ihrend der Vorbereitung der Berechnung des Wertes f ( s , b,):

Ls | b 1 b 2 b 3 , 5 4 0 L, , f (s , b 1 ~ b3)"L,, f(s , b 2 b3)"L , ,,f(s, b3)"L (3 ,,f(s, A)".

Zuerst wird die Zeichenreihe , , f(s, A)" mit den darunter befindlich Zeichen (3 und L in 0 zurfickgegossen:

q(93) (i # L)](i -,- O)q~93)

(i ~O)q~o .

In dieser Lage, falls wir eine ,,wertvolle", yon den Hilfszeichen verschiedene Zeichen- reihe (Funktionswert) in i finden, dann fibertragen wir diese in O. Dies kommt

8* Acta M~zthematlca Academ;ae Sclemiarum Hmzgaricae ~7, z966

348 J. URBAN

unter urtseren Beispielen in den Ffillen (b), (c) und (d) vor. Im Falle (a) finden wir in ~ ein Zeichen G das tibertragen wir ebenfalls in O

qi~ ) (7 ~ o ) ( i# L)(i '# ,) [ ( i ~ O) q~3o)

q?8 (? = e)l (2-~ O)q(~. Gelangen wir wfihrend der Obertragung zu einem Zeichen L (wie im Fall (b)), so setzen wit vor diesem in O ein ,, und gieBen die anderen Zeichen aus T bis ein- schlieBlich zum ersten | in O fiber. Gelangen wir zu einem Zeichen, (wie in den Fallen (c) und (d)), so setzen wir die glbertragung bis zu o fort:

q~3o~(i = L ) I ( , ~ O)q~at )

q(3o) (7 = ,) I ( t ~ O)qi~ )

ql])(7 ~ o ) l ( 7 ~ O ) q l ] )

= v / , . / 1 2 �9

Haben wir Stadium ulg"(a) aus der in (c) vorkommenden Lage erreicht, so ist der Inhalt der einzelnen Speicher:

I i

Lb, ... b4 L,,f(s, A)", #f(s, A)", Ls | bl b2 , b3

0 L,,f(s, A)" (9 L,,f(s, b2)" , L,,f(s, b 1 b2)" L |

Zur Vorbereitung der Berechnung yon f(s, b3) hat man noch in I die Zeichen A und , einzutragen, als dann aus i das s in I zu fibertragen, wobei zuerst die fiber s befindlichen Zeichen provisorisch in O fibertragen werden. In i wird b 3 wieder als Gipfelzeichen zurfickgebracht, vom Gipfel yon O wird | ausgel6scht, so dab L zum Gipfelzeichen yon O wird, und nun k6nnen die Schritte yon Qg~ in Gang gesetzt werden:

q(~) I (A ~ I )q~ )

qi~?(i # | ) q~)(i = o)l(i~O)q(~ 3)

qi~)l(?~O)qi~) q~3) (i = L) l qt~)(o~ o)l(o-~i)q~ 3) q137) (o = o ) [ ( o ~ i ) q ~ )

q[~)(or o ) I (o-~i)q(t38)

q(l~) (o = |

A~la Mathematica Academiae Scientiarum Hnngarlcae I7, z966

DIE MINIMALISIERUNG DER ZUR SEQUENTIELLEN BERECt-INUNG 349

(4) Am Ende der Schrittenfolge Qg7 ist der Inhalt der einzelnen Speicher im untersuchten Fall wie folgt:

I i

Lb , . . . b 4 L L s | i b a , b 3 L

0

L,, f(s, A)" o L,,f(s, b2)" , L,,f(s, b 1 b2)"L,,f(s , b3)".

Hier wurde - - wie bisher schon 6fters - - yon der Induktionsannahme Gebrauch gemacht. Wir haben angenommen, dab in O zwischen den obersteri beiden Funktions- werten nur ein Zeichen L steht.

Damit ist die Berechnung des ersten Funktionswertes aus der vierten Gruppe der Folge ( . . ) beendet. Eine fihnliche Situation erhalt man nach der Berechnung der anderen Glieder der Gruppe, also mul3 in der gegebenen Lage entschieden werden, ob die Berechnung der zur Gruppe gehSrenden Funktionswerte beendet ist. Falls ja, so hat man auf die Berechnung der Funktionswerte der n~ichsten Gruppe zu fibergehen. Falls nicht, so hat man den n~ichsten Wert innerhalb der Gruppe zu berechnen.

Die Antwort auf die gestellte Frage wird durch Untersuchung des Inhalts des Speichers ~ erhalten. Wie dies aus dem sp~iteren Verfahren hervorgeht, wird die Beendung der Berechnung der Elemente einer Gruppe durch ein Zeichen L nach den beiden oberen Zeichen im Speicher [ angezeigt. (Z.B. ist der Inhalt yon i nach Berechnung vonf(s, bl) gleich Ls | LblL. ) Deshalb werden die beiden oberen Zeichen yon i in O tibertragen:

Qo~l q(( )

q~4) l ([~O)q(4)

q(24) [ (i-~ O)q(34).

Ist in dieser Lage das Gipfelzeichen von [ gleich L, so wird die Berechnung der Elemente der n~ichsten Gruppe vorbereitet (6). Ist es ungleich L, so hat man die Berechnung der Elemente der gegebenen Gruppe fortzusetzen:

q ( 4 ) r - 3 t t =L)[(l~i)q(16) =~

qp) (7 ~ L)[(o + i) q(4 ").

Untersuchen wir nun den Fall, wo Stadium q(44) nach der Berechnung des Wertes f (s , ba) erreicht wurde. Dann besteht die Aufgabe aus der Bestimmung des Funktions- wertes

f (s , bzb3)=gb3 (s, bz , f ( s , b2),f(s, b3) ).

Als Vorbereitung hat man die Zeichenreihe

,,f(s, b3)" , j,f(s, b y , b2,

in I zu fibertragen. , f ( s , b3)" ist in 0 unter dem Gipfelzeichen L zu finden (dies

Acta Mathentatlca Academlar Scientiarum Hz~ngaricae z7, z966

3 5 0 J. URB,~N

werden wir im sp~tteren noch brauchen), die Zeichenreihe , ,f(s, b2)" ist ebenfalls in 0 unter dem Zeichen , aufgespeichert (dies wird im sp/iteren nicht mehr ge- braucht) :

q(s4) l(o -~ i) q(6 ~

q(64) (0 # L)[(o -- O) (0 -~ I)q(r )

q(74) ] (0 ~ i)q(64)

q(6 4) (o = L)[(, --,- I)q(s 4)

q(s*)(o # ,)](0 -~ i) q(s 4)

q(4) (o = ,) [ (l-+ o)q(4)

q(# (o # L) I(o -~ I) q(r

q(94~ (o : L)[(I-~ o) q~4o)

q~) I (,-~ I) q~).

Hier ist der Inhalt der einzelnen Speicher:

I

Lb, . . . b 4 L,,f(s, b3)", ,if(s, b2)" ,

i

Ls o bl b2, b3 o L , f ( s , bJ 'L , , f ( s , bl b2)"L

0

L,,f(s, A)" |

Nun werden die provisorisch in i aufgespeicherten Zeichen in 0 zurfickgegossen, dabei wird nach dem direkt fiber f (s , A) stehenden Funktionswert e in , angebracht:

q(~4t) l (i -* O) q l~ )

q~) (i # L)] (i---" 0)q12~" (r

(4) 7 _~ (4) q~20-L)I( , O)q~

q~)(7 ~ | )

q(~)(7 = o ) l ( I ~ i ) q ~ ).

Zur Vorbereitung der Berechnung yon f (s , b2ba) hat man noch die Zeichenreihe b2, g in I zu fibertragen. Dabei werden aueh einige erg/~nzende Schritte getan.

Acre MathemaHc~ Academiae Scientiarum Hungarlcae x 7, x~)66

DIE MINIMALISIERUNG DER ZUR SEQUENTIELLEN BERECHNUNG 351

Zuerst wird das Gipfeheichen von i in O fibertragen und ein L darfiber gesetzt (dies wird anzeigen, dab man auf die ngchste Gruppe zu fibergehen hat, wenn die Berechnung der Elemente dieser Gruppe beendet ist. Wenn nicht, so wird es ge- strichen werden) :

q(4) l (i ~ O) q(4) 14

q ~ [(L -~ O)q~).

Dann wird der Inhalt von 1~ bis zum Zeichen , in I fibertragen, das Zeichen , ausgel6scht, und auch das nSchste Zeichen in I fibertagen. Selbstverstfindlich werden diese gleichzeitig auch in O fibertragen. Man kann auch andermal ins Stadium q(4) gelangen, auch in einer solchen Situation, wobei der Inhalt yon i nicht mit 16 , endet. Zugleich geben wir auch die in einem solchen Fall n6tigen Schritte an:

(4) 7 ( 7 ~ i ) - q~6( r (i ~ I)q~47 ~

tj17~ ( i --~ O ) q ~ ?

q~) (? = ,) I q-~ 7) q(,?

q~4) I ( i ~ I) ( [ ~ I)q~'~ )

q(~) (}--~ o~"~ 19 ] f f 2 0 �9

In unserem Beispiel ist dann die Lage die folgende:

I I

Lbo ... b4 L , , f ( s , ba)", , , f (s , b2) ~/ , b 2 Ls o b a

0

L , , f ( s , A)" | L, , f ( s , b a bz)" , L , , f ( s , b3)" L b 3 L b z .

Hierbei sind zwei F/ille m6glich. Wird die Berechnung des Ietzten Elementes der gegebenen Gruppe vorbereitet, so geht das daraus hervor, dab man als Gip- felzeichen yon i das Zeichen o findet; die weiteren Schritte werden demgemfil3 dur chgeffihrt (5). Ist das betrachtete Gipfelzeichen verschieden yon | so setzen wir zur Vorbereitung der Berechnung des folgenden Funktionswertes in O einen , :

q(4) (i e ) ] ( 7 ~ O ) q ~ s) =~ 20

q(4o)(i ~ O)[(,~O)q(2 4).

Sind wir zum Stadium q(2~ ) gelangt, so fibertragen wir aus i die Zeichen, die sich fiber s der Zeichenreihe befinden, in O, danach s in I und auch in O. Schliel31ich werden aus O die provisorisch dort aufgespeicherten Zeichen in ~ zurfickgebracht, und

Act~ Mathematica Academiae Scien~iarum Hungaricae *7, x966

352 J. UR B,g,N

inzwischen das nun fiberflfissige L ausgel6scht:

q ~ ( [ # o ) I (i--,- O)q~ ~

q ~ ( i = o ) [ ([--,-O)q~ ~

q~'~ [ (,--,- I) q~43 ~

q(2~ (7 # L) [(i--,-i) (i-,-I)q~ ~

q(z@)l ( i~ O) q~) (4) -7 (4)

q 2 3 (t =L)[q25 q ~ (o ~ L) l (o ~ i) q~4~

q (z45) ( o = L ) I ( l ' o ) q (2"6 ) ~"

q(2~ ) [(o -~ i) Qg~ !-

(5) Untersuchen wir nun die Situation, als man im Laufe der Berechnung zum Stadium q(S) gelangt ist. Dies bedeutet, dab man den in der angegebenen Reihen- folge letzten Funktionswert der betreffenden Gruppe zur Berechnung vorbereitet. In der vierten Gruppe der Folge (~ ~) gelangt man wfihrend der Bestimmung des Wertes f ( s , b.,bzba) hierher an. Hier ist der Inhalt der einzelnen Speicher:

I I

Lb, ... b4 L J ( s , bz b3)" , #f(s, bx bz) # , bz bl Ls

0

L J ( s , A)" | L, , f (s , b J ' , Li, f ( s , b a b J ' L b 3 L b z b 1 o .

Nun wird einfach s in Iund O fibertragen, dann die provisorisch in O gespeicherte Zeichenreihe in I zur~ickgegossen; das vorausgehend eingeffigte L wird jetzt beige- lassen. Dies wird anzeigen, dab man auf Stadium q~6) zu fibergehen hat:

q~5) I(,-~I)q(~ ~)

q(25)(i# L) I (i--~ i) ( [~ I)q(3 s)

q(# t(i -* O)q(~ ~

q(2S) (i" = L)[q(4 s)

q(~) (o ~ L) l(o-~ i)q(~ ') q(S) (o = L) l ( o ~ i) q(55) -~

q(#l(o-~ i) Qo,

Acre Ma~hematica Academlae Sdemlarum Hungar~cae ~7, ~966

DIE M/NIMALISIERUNG DEN ZUR SEQUENTIELLEN BERECHNUNG 353

In unserem Beispiel ist jetzt die Lage die folgende:

I i

Lb a ... b 4 L Ls | b 1 b2 L b3 L

0

L,,f(s, A)" 0 L,,f(s, b3)"~, L,,f(s, b z bJ 'L , , f ( s , b~ b2 ha)".

(6) Es muB noch die Situation untersucht werden, als man im Laufe der Berechnung zum Stadium q(16) gelangt ist. Dies zeigt an, dab die Berechnung der zu einer Gruppe yon ( ~ ~ ) geh6renden Funktionswerte beendet ist. Man hat auf die Berechnung der Elemente der n/ichstfolgenden Gruppe zu fibergehen, oder aber ist das Rechenverfahren beendet. Darfiber wird dutch Untersuchung yon I entschieden. Betrachten wit jetzt wieder den Fall, wobei wir nach Berechnung der Werte der vierten Gruppe von ( ~ ~ ) dieses Stadium erreicht haben. Dann ist der Inhalt der Speicher:

I i

Lba ... b, L Ls 63 b~ b z

0

L,,f(s, A)" 63 L,,f(s, b3)" , L,,f(s, b 2 b3)"L,,f(s , b 1 b2 b3)"L b3 .

Es werden einige vorbereitende Schritte getan. Aus O wird das Gipfelzeichen in~ [ zur/ickgebracht, darfiber efn , gesetzt, und das Gipfelzeichen von I ausgeI6scht:

q~6) l(o -+ i)g(2 6)

q(z6)/(, ~i)q(3 6)

q(36) I (l-+ i)q~ 6).

In dieser Lage soll das Gipfelzeichen yon I untersucht werden. Ist dies L, so geht man auf den abschlieBenden Teil fiber. Ist das Gipfelzeichen nicht L, so wird es in i /ibertragen, und man geht auf Stadium ,~(3) fiber (es nimmt die Berechnung der Werte der n~ichsten Gruppe ihren Anfang):

q(4 ~) (i = L) lql v) =~ ! q(46)(i# L)[(i_~i)q(3) . - -

In unserem BeispM ist die Lage in diesem Fall (wenn wir zum Stadium q]3) gelangt sind):

I i

Lb~ ... b5 Ls Q bl b2 b3, b4

0

L J ( s , A)" 63 L,,f(s, b3) '~ , L,,f(s, b2 b3)"L,f(s, bl b2 b3)"L.

Acta Mat[oemalica Academlae Sciemlarmn Hungarlcae i7, z966

354 J. URBAN

(7) Abschliel3ender Teil. Haben wir Stadium q(7) erreicht, so haben wir nur noch die Speicher in die laut (t) erwfinschte Lage zu bringen. Das Gipfelzeichen yon I i s t L (dasselbe L wie in der Ausgangsstellung). In ~ werden die Zeichen bis zu L ausgel6scht:

q~7) ([ ~_ r ) l( l_~ D ql 7)

q~7) (7 = L) ] ( l~ o)q(27).

Hier steht der gesuehte Funktionswert in O fiber dem obersten L. Die darunter befindlichen Zeichen hat man einschlieBlich der Zeichenreihe ,,f(s,A)" auszu- 16schen, deshalb wird das Ergebnis provisorisch in I fibertragen:

q~7) (0 ~ L)[(o -~ i) q(27~

q(27) (0 = L) I(/~ o)q(J )

q~7) (o g | )I (l~ o)q~ 7~

q(371 (0 = O)I(l-,-o)q(~ 7)

q~7) (o # L)] ( l~ o) q(,7)

q(47) (0 = L) q(57).

In dieser Lage ist das Gipfelzeichen yon O gleich dem im Ausgangsstadium vor- handenen L, man hat nur noch den provisorisch in i fibertragenen Funktionswert intO zurfiekzubringen, und dann kann man auf Stadium Stop! tibergehen:

q~7) ( [ r L) i (7~O)q~7)

qT) ( [= L) ] q(67)

q(67) 1 Stop!

Damit haben wir eingesehen, daft sich jede primitiv-rekursive Wortfunktion mit Hilfe yon drei Kellerspeichern berechnen liiflt.

4. Berechnung der partiell-rekursiven Worffunktionen

In diesem Abschnitt werden wir beweisen, dab die in einer Wortmenge i2ber einem endliehen Alphabet partiell-rekursiven Wortfunktionen mit Hilfe yon drei Kellerspeichern sequentiell bereehnenbar sind.

Es sei eine partiell-rekursive Wortfunktion f ( x l , ..., xn) gegeben; diese ist entweder zugleich primitiv-rekursiv, in diesem Fall sind wir fertig, oder 1/il3t sie sich aus zwei primitiv-rekursiven Funktionen mit Hilfe von Schema (/~) definieren:

f ( x l . . . . . _ v . u)=A], x . ) - # , , [ g ( x ~ . . . . x . ,

Die in der Definition vorkommenden u(x) und g(xl . . . . , x, , x) sind primitiv- rekursive Funktionen, also k6nnen ihre Werte mit Hilfe yon drei Kellerspeichern berechnet werden, und diese Berechnung verffigt fiber die in (t) angegebene Eigen-

Acre Mathematica Academiae Sclentiarunz Hungaricae z 7, ~966

DIE MINIMALISIERUNG DER ZUR SEQUENT1ELLEN BERECHNUNG 355

schaft. Bezeichnen wir die Schrittenfolgen, die zu ihrer Berechnung geh6ren, mit Q, und Qg (die Stadienzeichen werden anch hier mit Indizes versehen). In Kenntnis dieser geben wir ein Verfahren an, welches an jeder Stelle, wo die Funktionfdefiniert ist, ihren Weft berechnet, drei Kellerspeicher ben6tigt und fiber die Eigenschaft (t) verffigt.

Seien die gegebenen Argumente, f/Jr die wir den Wert yon f bestimmen wollen,

x 1 =b~ , , ... b i ,a l , ... , xn=bn, 1 ... b . . . . .

Auch hier k6nnen unter den xl A-Worte vorkommen. Bezeichnen wir kurz die aus den Argumenten gebildete Zeichenreihe mit den eingeffigten , durch s. Bei Beginn der Berechnung stem in I fiber einem Zeichen L die Zeichenreihe ~, unsere erste Aufgabe ist, dies in i zu fibertragen, und mit einem L abzuschlieBen:

q~ (i w L)[( i -~ i ) q l

q~ ( i=L) l (L - - , - i ) q>

Der Gang der Berechnung ist im wesentlichen wie folgt: es wird der Wert yon u(x) an der n/ichstfolgenden Stelle bestimmt (1), ffir den erhaltenen Wert und ffir die Para- meter s der Wert yon g bestimmt (2), der erhaltene Wert yon g wird untersucht, und ist es kein leeres Wort, so wird die Berechnung fortgesetzt (3), ist es leer, so geht man auf den abschliel3enden Tell fiber. Selbstverst~indlich wird mit der Be- rechnung des Wertes yon u an der Stelle A begonnen, in den folgenden Schritten wird dann immer ein bo zum vorausgegangenen Argument angeschlossen.

Als erg~nzenden Schritt schreiben wir der Einheitlichkeit halber noch ein L in i u n d gehen dann auf die vorbereitenden Schritte zur Bestimmung des Wertes yon u tiber:

q z J ( L - ~ b q ~ n.

(1) Sind wir aus Stadium q2 zum Stadium q(1) gelangt, so enthalten die Speicher: a)

I i o

L L s L L L.

Man kann auch aus sp/iteren Stadien zurtick nach q(1 n gelangen. Zur Erkl~rung der folgenden Schritte geben wir zwei weitere m6gliche Lagen an:

b) Bei der Vorbereitung der Berechnung des Wertes u(bo):

I i O

L L s L A L L.

c) und bd der V0rbereitung der Berechnung des Wertes u(bobobo):

I T O

L L s L b o b o L L.

Zuerst wird das Gipfelzeichen von i in 0 fibertragen:

qi" I ({-- o) q(]).

Acta Mathematice Academiae Scientlarmn Hungaricae i7, z966

356 J. URB~.N

In dieser Lage untersuchen wir das Gipfelzeichen yon i, dies zelgt die weiteren notwendigen Schritte an. Finden wir bier L als Gipfelzeichen, was im Fall a) vor- kommt, so weist dies darauf bin, dab man die Bestimmung des Wertes u(A) vorzu bereiten hat. Dies besteht darin, daB man in I und i j e ein A eingibt:

q(Z ') ([= L)((A -~ i)q(3 ~)

q(3~) I (A-~ I) q(sl).

Es kann auch vorkommen - - undzwar im Fall b) - - dab das Gipfelzeichen yon i gleich A ist; in diesem Fall hat man die Berechnung yon u(bo) vorzubereiteu. Es wird aus i das A gel6scht, und auf das Stadium fibergegangen, in welchem sowohl in I als auch in I j e ein bo eingetragen wird. Dies hat man auch im n~ichsten Fall durchzuffihren, und wir werden es dort schildern; jetzt geben wir nut folgendes an:

q(f)(f= A) l ( t -

Finden wir in i ein yon L u n d A verschiedenes Gipfelzeichen - - dies kann nur bo sein - - so ist z.B. im Falle c) die Vorbereitung der Berechnung des Wertes u(bobobo) die Aufgabe. Die in I befindlichen Zeichen bo werden in I und O fiber- tragen, dann in I und i noch ein Zeichen bo angebracht:

ql O ( i = bo) ]q (1)

(7 L) I(7- i) I) qi')

q(5~) 1 (i--~ O)q(2)

q~)(7= L) [ q(61)

l (bo- I)

q(71) [ (bo ~ i) q(8 o.

Unsere niichste Aufgabe besteht aus dem ZuriickgieBen der provisorisch in O tibertragenen Zeichen in i. Nachdem dies durchgeffihrt.ist, k6nnen wir auf die Schrittenfolge Q. iibergehen, da das Gipfelzeichen yon i und O gleich List , und in I fiber einem Zeichen L das Argument steht:

q(1) (o ~a L) l(o--* I)q(8 ~)

q(8 x) (o = L) l(o--* i) au.

(2) Am Ende der Schrittenfolge Qu, wenn wir aus Situation c) hierher gelangt sind, enthalten die einzelnen Speicher folgendes:

I I O

L LsL bo bo bo L L,,u(bo bo bo)". Nun besteht die Aufgabe in der Vorbereitung der Berechnung des Wertes

g(s, u(bo bobo)): Die Zeichenreihe ,,u(bo bo boY',

AoLa Maghematlc~ Acadcmiae Sclent~armn Hungaricav ~7, I966

DIE MINIMALISIERUNG DER ZUR SEQUENTIELLEN BERECHNUNG 357

wird in I fibertragen (beide werden auch aufgespeicherO, und man kann auf die Schritte yon Qa tibergehen:

Q,, ]q~Z)

q~) (o ~ r ) I(o--, o) (o ~ I) q~) q(22) 1(o-,- i)q~2)

q?)(o = L)[(, ~ I) q~)

q(32)(7 # r ) I (?~O)q~ z)

q(32) (7 = L) t (-{~ O) q(42~

q(4 z) (7 # L)[(i-,. 0) q(2)

q~2) (~ = L)]( i ~ O)q(52)

q(s 2) (-[ # L)[ (~-+ i) (7 ~ I) q(6 2)

q?)l(i~ O)q?) q(52~ ( i = L) l q(72~

q(72~ (0 ~ L) l(o-,-i) q(72)

q(7 2) (o = L) I (o --,- i) q(8 2)

q ~2) (o ~ L) I (o -~ i) q~) q(s 2) (o = L) I(L-~ i) Qa"

(3) Am Ende der Sehritte yon Qg - - falls wir vom vorausgehenden Fall hierher gelangt sind - - gestaltet sich der Inhalt der einzelnen Speicher folgendermal?en:

I i O L LsL b o bo bo L L,,u(b o b o bo)"L,,g(s, u(bo bo bo))".

Hier besteht unsere Aufgabe in der Feststellung, ob in O die Zeichenreihe fiber dem obersten L lauter A enth/ilt, oder nicht. Falls ja, so kann man auf den abschtie- i3enden Teil tibergehen (4). Findet man zwischen den bier stehenden Zeichen solche, die yon A versehieden sind, so mug die Berechnung fortgesetzt werden, deshalb werden in 0 die Werte yon g und u ausgel6scht, und wir kehren auf Stadium q(1) zurfick:

Qglql 3) q~3) (O ----- A)]({-+o)q~ 3)

q(~)(o-# A) [ q(23)

q?) (o = z) 1(1-~ o)q~ ~ q(z~) (o # L) l (l-,-o)q(33) q?) (o ~ z) I (I-. o) q?) q(3 ~) (0 = r)[( l -~ o) q(4 3)

qie) (o ~:L)] (l--,-o)q(4 3)

q~)(o =L)[q?) __~_1

Acta Mathematica Academiae Sciemiarum Hungarlcae z7, z966

358 J, URB~,N: DIE MINIMALISIERUNG DER ZUR SEQUENTIELLEN BERECHNUNG

(4) Abschlieflender Teil. Sind wir zum Stadium q]4) angelaugt, so steht hier in O der gesuchte Funktionswert fiber dem obersten (Ausgangs) L-Zeichen (fOr diesen Weft yon u war der Weft yon g gleieh A). Nun mfissen noeh aus i die bis zum Zeichen L unterhalb s stehenden Zeichen ausgel6seht werden, und dann kann man auf Stop ! fibergehen:

q(2 4) (7= L) I ( I~ i-)q(3 4)

q (3 4 ) (-[ ~ L ) l ( l ~ i) q(3 4)

q(3 ') ( i = L) [q(4 4)

q~4)] Stop!

Ist ffir die gegebenen Argumente die Funktion f definiert, so gelangt man nach endlich vielen Sehritten zum Stadium Stop!, die Berechnung wird abgeschlossen, und verffigt offensichflich fiber die Eigenschaft (t). Ist die Funktion an der gegebenen Stelle nicht definiert, so geht das Verfahren ohne Ende weiter.

(Eingegangen am 2. September 1965.)

Acta Matbematica Academiae 8clent~arum Hungaricae z7, 1966