遞歸定義
編輯在數學和計算機科學中,遞歸定義,或歸納定義,是用來用一個集合中的其他元素來定義該集合中的元素(Aczel1977:740ff)。一些可遞歸定義對象的例子包括階乘、自然數、斐波那契數和康托爾三元集。一個函數的遞歸定義是根據其他(通常是較小的)輸入的同一函數的值來定義該函數對某些輸入的值。例如,階乘函數n!是由以下規則定義的0!=1.(n+1)!=(n+1)-n!。這個定義對每個自然數n都有效,因為遞歸最終會達到0這個基數。這個定義也可以被認為是給出了一個計算函數n!值的程序,從n=0開始,一直到n=1、n=2、n=3等。遞歸定理指出,這樣的定義確實定義了一個xxx的函數。該證明使用了數學歸納法。一個集合的歸納定義用集合中的其他元素來描述集合中的元素。例如,自然數集合N的一個定義是:1在N中。如果一個元素n在N中,那么n+1就在N中。N是滿足(1)和(2)的所有集合的交集。有許多集合滿足(1)和(2)--例如,集合{1,1.649,2,2.649,3,3.649,...}就滿足這個定義。然而,條件(3)通過去除不相干成員的集合來指定自然數的集合。請注意,這個定義假定N包含在一個更大的集合(如實數集合)中--在這個集合中定義了操作+。遞歸定義的函數和集合的屬性通常可以通過遵循遞歸定義的歸納原則來證明。例如,這里介紹的自然數的定義直接意味著自然數的數學歸納原則:如果一個屬性對自然數0(或1)成立,并且只要對n成立,該屬性就對n+1成立,那么該屬性就對所有自然數成立(Aczel1977:742)。
遞歸定義的形式
編輯大多數遞歸定義有兩個基礎:一個基例(basis)和一個歸納句。循環定義和遞歸定義的區別在于,遞歸定義必須總是有基例,即滿足定義的情況,而不需要用定義本身來定義,而且歸納子句中的所有其他實例必須在某種意義上更小(即更接近那些終止遞歸的基例)--這一規則也被稱為只用更簡單的案例來遞歸。相反,一個循環定義可能沒有基例,甚至可能以一個函數的值本身來定義該值--而不是以該函數的其他值來定義。這樣的情況會導致無限倒退。遞歸定義是有效的,也就是說,一個遞歸定義可以確定一個xxx的函數,這是集合論的一個定理,被稱為遞歸定理,其證明是不簡單的。當函數的域是自然數時,定義有效的充分條件是給出了f(0)的值(即基數),并且對于n>0,給出了用n、f(0)、f(1)、...、f(n-1)確定f(n)的算法(即歸納條款)。
更一般地說,只要域是一個有秩序的集合,就可以利用轉折遞歸的原則對函數進行遞歸定義。對于一般情況來說,構成有效遞歸定義的形式標準更為復雜。一般證明和標準的概要可以在JamesMunkres的《拓撲學》中找到。然而,下面將給出一般遞歸定義的一個特殊情況(域被限制為正整數,而不是任何有秩序的集合)。
遞歸定義的原理
編輯設A是一個集合,設a0是A的一個元素。如果ρ是一個函數,它為映射正整數的非空部分到A的每個函數f分配A的一個元素,那么存在一個xxx的函數{displaystyleh(i)=rho(h|_{{1,2,ldots,i-1}){text{for}}i>1.}。遞歸定義的例子初級函數加法是基于計數的遞歸定義.
內容由匿名用戶提供,本內容不代表www.gelinmeiz.com立場,內容投訴舉報請聯系www.gelinmeiz.com客服。如若轉載,請注明出處:http://www.gelinmeiz.com/163303/