Bazı temel fonksiyonları tanımlayın:
pni:Nn→N:(x1,x2,…,xn)↦xi
Bundan sonra belirtmek için kullanacağım (x1,x2,…,xn)xn¯(x1,x2,…,xn)
Bir kompozisyon tanımlayın:
Verilen fonksiyonlar
- N k → Ng1,g2,…,gm her birinin imzası vardırNk→N
- f:Nm→N
Aşağıdaki işlevi oluşturun:
h:Nk→N:xk¯↦h(xk¯)=f(g1(xk¯),g2(xk¯),…,gm(xk¯))
İlkel özyinelemeyi tanımlayın:
Verilen fonksiyonlar
- f:Nk→N
- g:Nk+2→N
Aşağıdaki (parça parça) işlevi oluşturun:
h:Nk+1→N:(xk¯,y+1)↦{f(xk¯),g(xk¯,y,h(xk¯,y)),y+1=0y+1>0
Kullanılarak yapılabilir tüm fonksiyonlar bileşimleri ve ilkel özyinelemeye ilgili temel fonksiyonları , adlandırılır ilkel yinelemeli . Tanım olarak bu şekilde denir. Kendini çağıran işlevlere sahip bir bağlantı mevcut olsa da, bunları birbirleriyle bağlamaya çalışmanıza gerek yoktur. Özyineleme bir homonymayı düşünebilirsiniz.
Yukarıdaki bu tanım ve yapı, hesaplanabilir tüm işlevleri yakalama girişimi için Gödel (birkaç kişi daha dahil edildi) tarafından oluşturuldu, yani bu işlev için bir Turing Makinesi var. Bir Turing Makinesi konseptinin henüz açıklanmadığını veya en azından çok belirsiz olduğunu unutmayın.
(Un) Neyse ki, Ackermann adında biri geldi ve şu işlevi tanımladı:
- A c k : N2→ N
- A c k ( 0 , y) = y+ 1
- A c k ( x + 1 , 0 ) = A c k ( x , 1 )
- A c k ( x + 1 , y+ 1 ) = A c k ( x , A c k ( x + 1 , y) )
Bu işlev hesaplanabilir, ancak yalnızca yukarıdaki yapıları kullanarak oluşturma yolu yoktur! (örneğin ilkel özyinelemeli değildir) Bu, Gödel ve postasının inşaatlarındaki tüm hesaplanabilir işlevleri alamadığı anlamına gelir!Bir c k
Gödel fonksiyon sınıfını genişletmek zorundaydı, böylece inşa edilebilirdi. Bunu aşağıdakileri tanımlayarak yaptı:Bir c k
Sınırsız küçültme
- g: Nk→ N
- IF
SONRA
ELSE tanımlanmadı. gr ( ¯ x k ) = y g ( ¯ x k )[ f( xk¯, y) = 0 VE f( xk¯, z) tanımlanmıştır ∀ z< y VE f( xk¯, z) ≠ 0 ]
g( xk¯) = y
g( xk¯)
Bu sonuncusu kavramak zor olabilir, ancak temel olarak demektir en küçük köküdür (bir kök varsa).fg( ( x1, x2, … , Xk) )f
Yukarıda tanımlanan tüm yapılarla oluşturulabilen tüm işlevlere özyinelemeli denir . Yine, özyinelemeli ismi sadece tanım gereğidir ve mutlaka kendilerini çağıran işlevlerle korelasyonu yoktur. Gerçekten, bir homonym olarak düşünün.
Özyinelemeli işlevler kısmi özyinelemeli işlevler veya toplam özyinelemeli işlevler olabilir . Tüm kısmi özyinelemeli fonksiyonlar toplam özyinelemeli fonksiyonlardır. Tüm ilkel özyinelemeli fonksiyonlar toplamıdır. Toplam olmayan kısmi özyinelemeli bir işleve örnek olarak, halefi işlevinin en aza indirilmesini düşünün. Halefi işlevinin kökleri yoktur, bu nedenle simge durumuna küçültme tanımlanmaz. Toplam özyinelemeli bir fonksiyon örneği (minimizasyonu kullanan) .Bir c k
Şimdi Gödel, genişletilmiş işlev sınıfı ile birlikte işlevini de yapmayı başardı. Nitekim, bir Turing makinesi tarafından hesaplanabilen her işlev, yukarıdaki yapılar kullanılarak gösterilebilir ve bunun tersi de, her yapı bir Turing makinesi tarafından temsil edilebilir.Bir c k
Eğer merak ediyorsanız, Gödel'in sınıfını büyütmeyi deneyebilirsiniz. Sınırsız küçültmenin 'karşıtını' tanımlamayı deneyebilirsiniz. Yani, sınırsız maksimizasyon yani en büyük kökü bulan işlev. Ancak, bu işlevi hesaplamanın zor olduğunu (imkansız) bulabilirsiniz. Sen içine okuyabilir Meşgul Beaver Problem , çalışır sınırsız maksimizasyonu uygulamak.