μ-рекурзивна функција
У математичкој логици и информатици, μ-рекурзивне функције су класе парцијалних функција од природних бројева до природних бројева који су "компатибилни" на интуитиван начин. У ствари, у теорији израчунљивости је показано да су μ рекурзивне функције заправо функције које могу да се израчунају Тјуринговим машинама. μ-рекурзивне функције су блиско повезане са примитивним рекурзивним функцијама, а њихова индуктивна дефиниција се ослања на примитивне рекурзивне функције. Међутим, није свака μ-рекурзивна функција примитивна рекурзивна функција—најпознатији пример је Акерманова функција.
Остали еквиваленте класе функција су λ-рекурзивне функције и функције које могу бити израчунате преко Марков алгоритама.
Скуп свих рекурзивних функција познат је као R у рачунарској теорији комплексности.
Дефиниција
[уреди | уреди извор]μ-рекурзивне функције (или парцијална μ-рекурзивна функција) су парцијалне функције које узимају коначне записе природних бројева и врате један природан број. Оне су најмања класа парцијалних функција које укључују почетне функције и затворене су под саставом, примитивне рекурзије, и операције μ.
Најмања класа функција, укључујући почетне функције и затворене под саставом и примитивном рекурзијом (тј. без минимизирања) је класа примитивних рекурзивних функција. Док су све примитивне рекурзивне функције потпуне, то није тачно код парцијалних рекурзивних функција; на пример, минимизирање наслеђене функције је недефинисано. Примитивне рекурзивне функције су подскуп укупних рекурзивних функција, које су одвојене од парцијалних рекурзивних функција. На пример, Акерманова функција може доказати да је укупан број рекурзиван, али не и примитиван.
Иницијалне или "основне" функције: (Следи индексирање по Клину (1952) pp. 219. За више информација о различитим симболизмима који се налазе у литератури видети испод Симболика)
- Константна функција: За сваки природан број и свако :
- .
- Алтернативне дефиниције користе композиције у функцији наслеђивања и користе нула функцију, да се увек враћа на нулу, на месту сталне функције.
- Функција наслеђивања S:
- Пројекција функција (такође се назива идентитет функције ): За све природне бројеве такве да је :
- .
Операције:
- Операција слагања (такође се зове операција замене): Дата је m-арна функција и m k-арне функције :
- .
- Примитивна рекурзивна операција : Дата је k-арна функција и k+2 -арна функција :
- .
- Операција минимизације : Дата је (k+1)-арна потпуна функција :
- Интуитивно, минимизирање тражи—почетак потраге од 0 и наставља нагоре—најмањи аргумент узрокује функцију да се врати на нулу; ако такав аргумент не постоји, потрага никад престаје.
Операција јаке једнакости може да се користи за поређење парцијалне μ-рекурзивне функције. Ово је дефинисано за све парцијалне функције f и g тако да је
важи ако и само ако за било који избор аргумената било које од две функције су дефинисане и њихове вредности су једнаке или обе функције су недефинисане.
Еквивалентност са другим моделима израчунљивости
[уреди | уреди извор]У еквивалентности модела израчунљивости, паралелно је нацртан између Тјурингових машина које не завршавају за одређене улазе и неодређени резултат за тај улаз у одговарајућој парцијалној рекурзивној функцији. Неограничена претрага операција није дефиницана правилима примитивне рекурзије и они не пружају механизам за "бесконачне петље" (недефинисане вредности).
Нормална форма теорема
[уреди | уреди извор]Нормалан облик теорема како Клини каже да је за сваки k постоје примитивне рекурзивне функције и тако за сваку μ-рекурзивну функцију са k слободном варијаблом таквом да постоји е такво да
- .
Број е назива се индекс или Геделов број за функцију f. Последица овог резултата је да било која μ-рекурзивна функција буде дефинисана употребом једне инстанце операције μ примењене на (укупне) примитивне рекурзивне функције.
Мински (1967) је приметио (као што то чини Булос-Бургес-Џефри (2002) пп. 94–95) да је U дефинисано у суштини μ-рекурзивно еквиваленто универзалној Тјуринговој машини:
- Изградити U да напише дефиницију опште-рекурзивне функције U(n, x) која исправно тумачи број n и израчунава одговарајућу функцију од x. Под изградњом у суштини се подразумева исту количина труда, у суштини исте идеје, као што смо инвестирали у изградњу универзалне Тјурингове машине. (италик у оригиналу, Мински (1967). стр. 189.)
Симболика
[уреди | уреди извор]Један број различитих симбола се користи у литератури. Предност коришћења симбола је извођење функција "угнежђења" операција једне у другу ради лакшег писања у компактној форми. У наставку ћемо скратити низ параметара x1, ..., xn као x:
- Константна функција: Клини користи " Cqn(x) = q " и Булос-Бургес-Џефри (2002) (B-B-J) користи скраћеницу " constn( x) = n ":
- e.g. C137 ( r, s, t, u, v, w, x ) = 13
- e.g. const13 ( r, s, t, u, v, w, x ) = 13
- Функција наслеђивања: Клини користи x' и S за "налсеђивање". Како се "наслеђивање" сматра примитивним, у већини текстова се користи апостроф на следећи начин:
- S(a) = a +1 =def a', где је 1 =def 0', 2 =def 0 ' ', etc.
- Функција идентитета: Клини (1952) користи " Uin " за индикацију идентитета функције над променљивом xi; Б-Б-Џ користи функцију идентитета idin од променљиве x1 до xn:
- Uin( x ) = idin( x ) = xi
- e.g. U37 = id37 ( r, s, t, u, v, w, x ) = t
- Операција слагања (замена): Клини користи Snm (не треба мешати са његовим S за "наслеђивање" ! ). Индекс "m" се односи на mth функције "fm", "n" се односи на nth променљиве "xn":
- Дато је h( x )= g( f1(x), ... , fm(x) )
- h(x) = Smn(g, f1, ... , fm )
- На сличан начин, али без индекса и степена, Б-Б-Џ пише:
- h(x')= Cn[g, f1 ,..., fm](x)
- Примитивна рекурзија: Клини користи симбол " Rn(основни корак, индуктивни корак) "где n показује број променљивих, Б-Б-Џ користи " Pr(основни корак, индуктивни корак)(x)". Дато је:
- основни корак: h( 0, x )= f( x ), и
- индуктивни корак: h( y+1, x ) = g( y, h(y, x),x )
- Пример: дефиниција примитивне рекурзије a + b:
- основни корак: f( 0, a ) = a = U11(a)
- индуктивни корак: f( b' , a ) = ( f ( b, a ) )' = g( b, f( b, a), a ) = g( b, c, a ) = c' = S(U23( b, c, a )
- R2 { U11(a), S [ (U23( b, c, a ) ] }
- Pr{ U11(a), S[ (U23( b, c, a ) ] }
Пример: Клини даје пример како да се изврши рекурзивна деривација од f(b, a) = b + a (преокрет променљивих а и b). Он почиње са 3 почетне функције
- S(a) = a'
- U11(a) = a
- U23( b, c, a ) = c
- g(b, c, a) = S(U23( b, c, a )) = c'
- основни корак: h( 0, a ) = U11(a)
- индуктивни корак: h( b', a ) = g( b, h( b, a ), a )
Своди се на:
- a+b = R2[ U11, S13(S, U23) ]
Примери
[уреди | уреди извор]Види још
[уреди | уреди извор]Литература
[уреди | уреди извор]- Stephen Kleene (1952) Introduction to Metamathematics. Walters-Noordhoff & North-Holland, with corrections (6th imprint 1971); Tenth impression. 1991. ISBN 978-0-7204-2103-3..
- Soare, R. Recursively enumerable sets and degrees. Springer-Verlag 1987.
- Marvin L. Minsky (1967), Computation: Finite and Infinite Machines, Prentice-Hall, Inc. Englewood Cliffs, N.J.
- On pages 210-215 Minsky shows how to create the μ-operator using the register machine model, thus demonstrating its equivalence to the general recursive functions.
- George Boolos, John Burgess, Richard Jeffrey (2002), Computability and Logic: Fourth Edition, Cambridge University Press, Cambridge, UK. Cf pp. 70–71.