logo

離散数学における再帰関数

再帰関数とは、任意の時点での値を、以前のいくつかの時点での関数の値から計算できる関数です。たとえば、関数 f(k) = f(k-2) + f(k-3) が負でない整数に対して定義されているとします。 k = 0 および k = 2 での関数の値がわかっている場合は、他の非負の整数での値も見つけることができます。言い換えれば、再帰関数とは、それ自体の前の点を使用して後続の項を決定し、項列を形成する関数を指すと言えます。この記事では、いくつかの例とともに再帰関数について学びます。

再帰とは何ですか?

再帰とは、再帰的なプロセスが繰り返されるプロセスを指します。再帰的とは、1 つ以上の変数の関数の一種で、通常、関数の既知の値に対する特定の関係を継続的に実装することによってその関数の値を生成する特定のプロセスによって指定されます。

ここでは、例を使用して再帰について理解します。

1 階から階段を使って 1 階に行くとします。したがって、これを行うには、一歩ずつステップを踏む必要があります。 2 番目のステップに進むには、急勾配の 1 番目のステップに進むしか方法はありません。 3 番目のステップに進みたいとします。まず 2 番目のステップを実行する必要があります。ここでは、繰り返しのプロセスがはっきりとわかります。ここでは、次の各ステップで、各ステップ間に同じ違いがある繰り返しシーケンスのように前のステップを追加していることがわかります。これが再帰関数の背後にある実際の概念です。

ステップ2: ステップ1 + 最下段。

ステップ 3: ステップ 2 + ステップ 1 + 最低ステップ。

ステップ 4: ステップ 3 + ステップ 2 + ステップ 1 + 最低ステップなど。

自然数のセットは、1 から始まり、無限大、1、2、3、4、5、6、7、8、9、……無限大まで続く再帰関数の基本的な例です。したがって、各項間の共通の差が 1 であることがわかるため、自然数の集合は再帰関数を示します。次の用語が前の用語によって繰り返されるたびに表示されます。

再帰的に定義された関数とは何ですか?

再帰的に定義された関数は 2 つの部分で構成されます。最初の部分は最小の引数の定義を扱い、一方、2 番目の部分は n 番目の項の定義を扱います。最小の引数は f (0) または f (1) で示され、n 番目の引数は f (n) で示されます。

与えられた例に従ってください。

シーケンスが 4、6、8、10 であると仮定します。

上記のシーケンスの明示的な式は f (n)= 2n + 2 です。

上記のシーケンスの明示的な式は次のように与えられます。

f(0) = 2

f(n) = f(n-1) + 2

これで、次のような再帰公式を適用してシーケンス項を取得できます。 f(2 ) f (1) + 2

f(2) = 6

f(0) = 2

f(1) = f(0) + 2

ネットワークとインターネット

f(1) = 2 + 2 = 4

f(2) = f(1) + 2

f(2) = 4 + 2 = 6

f(3) = f(2) + 2

f(3) = 6 + 2 = 8

上記の再帰関数の公式を利用して、次の項を決定できます。

何が関数を再帰的にするのでしょうか?

関数を再帰的にするには、シーケンス内の次の項を計算するための独自の項が必要です。たとえば、指定された数列の n 番目の項を計算したい場合は、まず前の項とその前の項を知る必要があります。したがって、シーケンスが再帰的であるかどうかを確認するには、前の項を知る必要があります。したがって、関数がシーケンス内の次の項を決定するために前の項を必要とする場合、その関数は再帰関数と見なされると結論付けることができます。

再帰関数の公式

もし123456、…………あn、……が多数のセットまたはシーケンスである場合、再帰式は、値を計算するために以前に存在したすべての項を計算する必要があります。

あるn= an-1 +ある1

上記の式は、算術シーケンス再帰式として定義することもできます。上で述べた数列を見ると、これが算術数列であり、最初の項とそれに続く他の項、および各項間の共通の違いで構成されていることが明確にわかります。共通の違いは、それらに加算または減算される数値を指します。

再帰関数は、数値セットまたはシーケンスがそれらの間に共通の因数または公比を持つ幾何学的シーケンスとして定義することもできます。等比数列の公式は次のように与えられます。

あるn= an-1 *r

通常、再帰関数は 2 つの部分で定義されます。 1 つは初項の記述と式、もう 1 つは初項の記述と後続の項に関するルールです。

等差数列の再帰式の書き方

等差数列式の再帰式を記述するには、次の手順に従います。

ステップ1:

最初のステップでは、指定されたシーケンスが算術であるかどうかを確認する必要があります (このためには、連続する 2 つの項を加算または減算する必要があります)。同じ出力が得られる場合、シーケンスは算術シーケンスとして扱われます。

ステップ2:

ライオンとトラの違い

ここで、指定されたシーケンスの共通の違いを見つける必要があります。

ステップ 3:

最初の項を使用して漸化式を定式化し、次に前項と共通差分を使用して式を作成します。したがって、与えられた結果が得られます

あるn= an-1 +d

ここで、例を使って指定された式を理解します。

3、5、7、9、11 が与えられたシーケンスであると仮定します。

上の例では、数列内の各項が 2 ずつ増加するため、それが等差数列であることが簡単にわかります。つまり、2 つの項の共通差は 2 です。再帰数列の公式はわかっています。

あるn= an-1 +d

考えると、

d = 2

ある1= 3

それで、

ある2= a(2-1)+ 2 = a1+2 = 3+2 = 5

ある3= a(3-1)+ 2 = a2+2 = 5+2 = 7

Javaメイン

ある4= a(4-1)+ 2 = a3+2 = 7+2 = 9

ある5= a(5-1)+ 2 = a + 2 = 9+2 = 11 となり、プロセスは継続します。

幾何学的シーケンスの再帰式を記述するにはどうすればよいですか?

幾何シーケンス式の再帰式を作成するには、次の手順に従います。

ステップ1

最初のステップでは、指定された数列が幾何学的であるかどうかを確認する必要があります (そのためには、各項を数値で乗算または除算する必要があります)。ある項から次の項まで同じ出力が得られる場合、そのシーケンスは幾何級数とみなされます。

ステップ2

次に、指定されたシーケンスの公比を見つける必要があります。

ステップ3

最初の項を使用して漸化式を定式化し、次に前項と公比を使用して式を作成します。したがって、与えられた結果が得られます

あるn= r*あるn-1

ここで、例を使用して指定された式を理解します。

2、8、32、128、が与えられたシーケンスであると仮定します。

上の例では、数列内の次の項は前の項に 4 を乗じることによって得られるため、それが等比数列であることが簡単にわかります。したがって、2 つの項の公比は 4 です。再帰数列の公式はわかっています。

あるn= r*あるn-1

あるn= 4

あるn-1= ?

ubuntuのスニッピングツール

考えると、

r = 4

ある1= 2

それで、

ある2= a(2-1)* 4 = a1+ * 4 = 2* 4 = 8

ある3= a(3-1)* 4 = a2* 4 = 8 * 4 = 32

ある4= a(4-1)* 4 = a3* 4 = 32* 4 = 128 となり、プロセスは継続します。

再帰関数の例

例 1:

シーケンス 4,8,16,32,64,128,... の再帰式を決定しますか?

解決:

与えられたシーケンス 4、8、16、32、64、128、…。

前の項を乗算すると後続の項が得られるため、指定されたシーケンスは幾何学的になります。

指定されたシーケンスの再帰式を決定するには、それを表形式で記述する必要があります。

用語番号 シーケンス用語 関数の表記法 下付き表記
1 4 f(1) ある1
2 8 f(2) ある2
3 16 f(3) ある3
4 32 f(4) ある4
5 64 f(5) ある5
6 128 f(6) ある6
n f(n) あるn

したがって、関数概念における再帰公式は次のようになります。

f(1) = 4、f(n) 。 f(n-1)

添字表記では、再帰式は次のように与えられます。

ある1= 4、an= 2.an-1