Primitiv rekursiv funktion

Primitive rekursive funktioner er samlede funktioner, der kan dannes ud fra enkle grundlæggende funktioner (konstant 0 funktion, fremskrivninger på et argument og efterfølger funktion) gennem komposition og (primitiv) rekursion. Den primitive rekursion kan spores tilbage til Richard Dedekinds 126. sætning i Hvad er og hvad er tallene? (1888). Den primitive rekursive aritmetik går tilbage til Thoralf Skolem (1923). Udtrykket primitiv rekursiv funktion blev opfundet af den ungarske matematiker Rózsa Péter . Primitive rekursive funktioner spiller en rolle i rekursionsteori , en gren af teoretisk datalogi . De opstår i forbindelse med forklaringen af begrebet forudsigelighed .

Alle primitive rekursive funktioner kan beregnes i den intuitive forstand. De udtømmer imidlertid ikke alle intuitivt beregningsfunktioner, eksempler er Ackermann- funktionen og Sudan-funktionen , som begge er beregningsberegnede, men ikke primitive-rekursive. En fuldstændig forståelse af begrebet beregning er kun mulig med µ-rekursive funktioner .

For primitive rekursive funktioner er det muligt at definere et kompleksitetsmål, dvs. Det vil sige, varigheden af ​​beregningen af ​​en af ​​dens funktionsværdier kan bestemmes på forhånd.

Klassen af ​​de primitive rekursive funktioner og LOOP-beregningsfunktionerne (se LOOP-programmet ) er ækvivalente.

definition

  1. For enhver defineres k-cifret 0-funktion af .
  2. For en vilkårlig og en vilkårlig defineres det k-cifre projektion på den i-parameter af .
  3. Den efterfølger funktion er defineret ved .
  4. For enhver er sammensætningen af en funktion med m- funktioner defineret som funktionen med .
  5. For enhver er den primitive rekursion af to funktioner og defineres som funktionen med

Sættet med primitive rekursive funktioner defineres derefter som det mindste sæt, der indeholder alle nulfunktioner, alle projektioner og efterfølgerfunktionen, og som lukkes under komposition og primitiv rekursion. Mere dagligdags betyder dette: En funktion er primitiv-rekursiv, hvis og kun hvis den kan skrives ned som et udtryk ved hjælp af de nævnte midler. Funktioner, der allerede har vist sig at være primitive-rekursive, kan forekomme i udtrykket, fordi de kan elimineres ved at indsætte deres udtryk.

Især er hver k -place primitiv rekursiv funktion altid fuldstændig defineret. Funktioner med et mindre domæne skal først fortsættes passende for fuldstændigt for at opnå primitive-rekursive funktioner.

Eksempler

tilføjelse

Tilføjelsen defineres rekursivt af

for alle . Det er derfor rigtigt, at tilsætningen er primitiv-rekursiv.

multiplikation

Multiplikationen defineres rekursivt via tilføjelsen:

for alle . Multiplikationen er primitiv-rekursiv, fordi den holder .

strøm

Kraften med betydningen defineres rekursivt via multiplikationen:

for alle . Kraften er primitiv-rekursiv, fordi den holder . Formålet med konteksten her er at bytte de to parametre m og n indbyrdes.

Forløberfunktion

Forløberfunktionen er ikke defineret i position 0. Så det er ikke primitivt rekursivt. Ved at fortsætte på positionen 0, for eksempel med værdien 0, kan du lave en primitiv rekursiv funktion ud af den.

Den modificerede forgængerfunktion defineret af

for alle er primitive-rekursive, fordi det holder .

subtraktion

Subtraktion er heller ikke defineret på alle par af naturlige tal. Så du fortsætter subtraktionen ved at polse med nuller til hele . Denne samlede subtraktion kan karakteriseres rekursivt af

for alle . Følgende gælder for den samlede subtraktion ; så det er primitivt-rekursivt. Denne modificerede forskel kaldes også den aritmetiske forskel .

Yderligere eksempler

  • De to-cifrede funktioner og er primitivt rekursive.
  • Sekvensen af ​​primtal er en primitiv rekursiv funktion.
  • Den funktion, der finder antallet af primfaktorer i et naturligt tal og en førsteklasses tal er primitivt rekursive.
  • Der er primitive rekursive aritmetiske operationer af endelige sekvenser af naturlige tal.
  • Den Ackermann funktion og funktion Sudan er ikke primitive rekursive, men μ-rekursive .
  • Funktionen Hardworking Beavers (travl bæver) er ikke primitiv rekursiv og ikke- rekursiv μ- .

Se også

litteratur

Individuelle beviser

  1. Peter Schroeder-Heister , Matematisk logik II (Gödel's ufuldstændighedssætninger), manuskript, s.39