Primitiivinen rekursiivinen toiminto

Primitiiviset rekursiiviset funktiot ovat kokonaisfunktioita, jotka voidaan muodostaa yksinkertaisista perustoiminnoista (vakio 0 -funktio, projektiot argumentille ja seuraajafunktiolle) sommittelun ja (primitiivisen) rekursio-prosessin avulla. Alkeellinen rekursio voidaan jäljittää Richard Dedekindin 126. lauseeseen Mitä ovat numerot ja mitkä ovat? (1888). Alkeellinen rekursiivinen aritmeikka palaa Thoralf Skolemiin (1923). Termin primitiivinen rekursiivinen funktio keksi unkarilainen matemaatikko Rózsa Péter . Primitiivisillä rekursiivisilla funktioilla on rooli rekursioteoriassa , joka on teoreettisen tietojenkäsittelytieteen ala . Niitä esiintyy yhteydessä explication on käsite ennustettavuutta .

Kaikki primitiiviset rekursiiviset toiminnot voidaan laskea intuitiivisessa mielessä. Ne eivät kuitenkaan tyhjennä kaikkia intuitiivisesti laskettavia toimintoja, esimerkkejä ovat Ackermannin ja Sudanin toiminnot , jotka ovat molemmat laskettavissa, mutta eivät primitiivisiä-rekursiivisia. Laskettavuuden käsitteen täydellinen ymmärtäminen on mahdollista vain µ-rekursiivisilla funktioilla .

Primitiivisille rekursiivisille funktioille on mahdollista määritellä monimutkaisuusmittari, ts. Toisin sanoen yhden sen funktioarvon laskennan kesto voidaan määrittää etukäteen.

Primitiivisten rekursiivisten funktioiden luokka ja LOOP-laskettavien (katso LOOP-ohjelma ) toimintojen luokka ovat vastaavat.

määritelmä

  1. Jokaiselle k-numeroinen 0-funktio määritetään .
  2. Mielivaltaiselle ja mielivaltaiselle k-numeroinen projektio i: nnen parametrin kohdalle on määritelty .
  3. Seuraavan toiminnon määrittelee .
  4. Tahansa , koostumuksen funktiona , jossa m toiminnot on määritelty toiminto kanssa .
  5. Tahansa yksi on primitiivinen rekursio kaksi toimintoa ja on määritelty funktio kanssa

Primitiivisten rekursiivisten funktioiden joukko määritetään sitten pienimmäksi joukoksi, joka sisältää kaikki nollafunktiot, kaikki projektiot ja seuraajafunktion ja joka on suljettu koostumuksen ja primitiivisen rekursio. Päivittäisemmin sanottuna tämä tarkoittaa: Funktio on primitiivinen-rekursiivinen vain ja vain, jos se voidaan kirjoittaa lausekkeeksi käyttämällä mainittuja keinoja. Funktiot, joiden on jo osoitettu olevan primitiivisiä-rekursiivisia, voivat näkyä lausekkeessa, koska ne voidaan eliminoida lisäämällä lauseke.

Erityisesti jokainen k- paikkainen primitiivinen rekursiivinen funktio on aina täysin määritelty. Pienemmällä toimialueella tehtäviä toimintoja on ensin jatkettava asianmukaisesti primitiivisten-rekursiivisten toimintojen saamiseksi.

Esimerkkejä

lisäys

Lisäyksen määrittelee rekursiivisesti

kaikille . Siksi on totta, että lisäys on primitiivinen-rekursiivinen.

kertolasku

Kertolasku määritetään rekursiivisesti lisäämällä:

kaikille . Kertolasku on primitiivinen-rekursiivinen, koska se pitää paikkansa .

teho

Valta kanssa merkitys on määritelty rekursiivisesti kertomalla:

kaikille . Voima on primitiivinen-rekursiivinen, koska se pitää paikkansa . Tässä yhteydessä kontekstin tarkoituksena on vaihtaa kaksi parametria m ja n keskenään.

Edeltäjätoiminto

Edeltäjätoimintoa ei ole määritelty asemassa 0. Joten se ei ole primitiivinen rekursiivinen. Jatkamalla asemassa 0, esimerkiksi arvolla 0, voit tehdä siitä primitiivisen rekursiivisen funktion.

Muokattu edeltäjän funktio , määritelty

sillä kaikki on primitiivinen-rekursiivinen, koska se pitää paikkansa .

vähennyslasku

Vähennystä ei myöskään määritellä kaikilla luonnollisten lukujen parilla. Joten jatkat vähennystä täyttämällä nollia kokonaiseksi . Tätä kokonaislaskua voidaan luonnehtia rekursiivisesti

kaikille . Seuraava koskee koko vähennystä ; joten se on primitiivinen-rekursiivinen. Tätä modifioitua eroa kutsutaan myös aritmeettiseksi eroksi .

Muita esimerkkejä

  • Kaksinumeroinen toimintoja ja ovat primitiivisesti rekursiivisia.
  • Alkujärjestys on primitiivinen rekursiivinen funktio.
  • Toiminto, joka etsii määrä alkutekijät vuonna luonnollinen luku ja ensisijainen numero on primitiivisesti rekursiivinen.
  • On olemassa primitiivisiä rekursiivisia aritmeettisia operaatioita luonnollisten lukujen äärellisistä sekvensseistä.
  • Ackermann -toiminto ja Sudan toiminto ei ole primitiivinen rekursiivinen, mutta μ-rekursiivinen .
  • Toiminta ahkera majava (kiireinen majava) ei ole primitiivinen rekursiivinen ja ei- rekursiivinen μ- .

Katso myös

kirjallisuus

Yksittäiset todisteet

  1. Peter Schroeder-Heister , Matemaattinen logiikka II (Gödelin epätäydellisyyslauseet), käsikirjoitus, s.39