トップページ > プログラム > 2015年09月07日 > z69KZ2wJ

書き込み順位&時間帯一覧

1 位/125 ID中時間01234567891011121314151617181920212223Total
書き込み数00000004000005032120373434



使用した名前一覧書き込んだスレッド一覧
NAS6 ◆n3AmnVhjwc
なあ、再帰関数好きな人いる? パート2 [転載禁止]©2ch.net

書き込みレス一覧

なあ、再帰関数好きな人いる? パート2 [転載禁止]©2ch.net
99 :NAS6 ◆n3AmnVhjwc []:2015/09/07(月) 07:30:46.76 ID:z69KZ2wJ
>>97
別に俺にとって、再帰処理について、このスレで新たな知見なんてないし、変わるはずがないよ
なあ、再帰関数好きな人いる? パート2 [転載禁止]©2ch.net
100 :NAS6 ◆n3AmnVhjwc []:2015/09/07(月) 07:39:15.86 ID:z69KZ2wJ
>>95
何が怖いの?next()が書けない?

for文
func(v)
{
 for(i; i < size(v); i++) {
  do_something(v[i]);
 }
 return;
}

再帰関数
next(v);//再帰の次の順番のノードを返す
func(v)
{
 if(size(v) == 0) { return; }
 do_something_push(v);
 v = next(v);
 func(v);
 do_something_pop(v);
 return;
}
なあ、再帰関数好きな人いる? パート2 [転載禁止]©2ch.net
101 :NAS6 ◆n3AmnVhjwc []:2015/09/07(月) 07:52:34.61 ID:z69KZ2wJ
どうやらやっと、これが再帰じゃないと
認めたようだな。

int sum = 0;
 for(int i = 1; i <= 10; i++) {
  sum = sum + i;
}

認めるも何も間違った知見に、すり寄る気なんてさらさらありません
なあ、再帰関数好きな人いる? パート2 [転載禁止]©2ch.net
102 :NAS6 ◆n3AmnVhjwc []:2015/09/07(月) 07:58:38.43 ID:z69KZ2wJ
int sum = 0;
 for(int i = 1; i <= 10; i++) {
  sum = sum + i;
}

これは再帰関数ではもちろんないけど
再帰処理というのがあやふやならば
少なくとも再帰的アルゴリズム

その理由は
左辺はn+1項までの和
それを右辺のn項までの和を使って再定義しているから
なあ、再帰関数好きな人いる? パート2 [転載禁止]©2ch.net
110 :NAS6 ◆n3AmnVhjwc []:2015/09/07(月) 13:16:13.43 ID:z69KZ2wJ
>>105
変数の代入は、変数の再定義だろ
再定義って言葉が気に入らないなら
つうか単語をいちいち突っ込む基地外に付き合ってやるけど

*1
左辺はn+1項までの和
右辺のn項までの和を使って、左辺に代入しているから

再帰的とは
あるものが定義されている場合,
その定義の中に,更にその定義されるべきものが,簡単化されて,含まれているとき,
それは「再帰的である」と言われます。
循環論法に似ていますが,少し違います。
再帰的はその部分に含まれるものが全く同じものではなくて,
簡単になったもので,最終的終了条件が明示されているものです。

に従って、*1は再帰的アルゴリズムである
なあ、再帰関数好きな人いる? パート2 [転載禁止]©2ch.net
111 :NAS6 ◆n3AmnVhjwc []:2015/09/07(月) 13:32:36.36 ID:z69KZ2wJ
あるものが定義されている場合,
その定義の中に,更にその定義されるべきものが,簡単化されて,含まれているとき,
それは「再帰的である」と言われます。
int sum = 0;
 for(int i = 1; i <= 10; i++) {
  sum = sum + i;
}
左辺のsum(n+1項)に、右辺のsum(n項)として、簡単化されて含まれているから
再帰的である
なあ、再帰関数好きな人いる? パート2 [転載禁止]©2ch.net
112 :NAS6 ◆n3AmnVhjwc []:2015/09/07(月) 13:41:36.65 ID:z69KZ2wJ
再帰関数で書かれた再帰処理を
最適化してループで書いたら
その処理は再帰処理じゃなくなるとか
意味が分かりませぬなぁ
なあ、再帰関数好きな人いる? パート2 [転載禁止]©2ch.net
113 :NAS6 ◆n3AmnVhjwc []:2015/09/07(月) 13:45:32.18 ID:z69KZ2wJ
また単語基地外に引っかかるといけないから

再帰関数で書かれた再帰的アルゴリズムを
最適化してループで書いたら
その処理は再帰的アルゴリズムじゃなくなるとか
意味が分かりませぬなぁ
なあ、再帰関数好きな人いる? パート2 [転載禁止]©2ch.net
114 :NAS6 ◆n3AmnVhjwc []:2015/09/07(月) 13:52:33.44 ID:z69KZ2wJ
recursive processing、recursive algorithm

の和訳が

再帰処理、再帰的アルゴリズム
同じっちゃあ同じだけど、
処理の方が実装寄りで
アルゴリズムは理論寄りかな
なあ、再帰関数好きな人いる? パート2 [転載禁止]©2ch.net
125 :NAS6 ◆n3AmnVhjwc []:2015/09/07(月) 15:23:05.26 ID:z69KZ2wJ
g():ある変換関数、n:ある項
この時
f(n+1) = g(f(n))
このようにf()が定義されたらf()は再帰(帰納)的

再帰的とは
あるものが定義されている場合,
その定義の中に,更にその定義されるべきものが,簡単化されて,含まれているとき,
それは「再帰的である」と言われます。
循環論法に似ていますが,少し違います。
再帰的はその部分に含まれるものが全く同じものではなくて,
簡単になったもので,最終的終了条件が明示されているものです。
なあ、再帰関数好きな人いる? パート2 [転載禁止]©2ch.net
126 :NAS6 ◆n3AmnVhjwc []:2015/09/07(月) 15:24:06.23 ID:z69KZ2wJ
>>124

自己紹介乙
なあ、再帰関数好きな人いる? パート2 [転載禁止]©2ch.net
129 :NAS6 ◆n3AmnVhjwc []:2015/09/07(月) 15:36:13.42 ID:z69KZ2wJ
まぁ、バカの[情緒的ポエム]は無視して

大辞林 第三版の解説
さいきてき【再帰的】
@自己の行為の結果が自己に戻ってくること。フィードバック。
A(数学などで)定義の中に定義されるものが含まれていること。

sum = sum + i;
これは@にもAにも該当する
なあ、再帰関数好きな人いる? パート2 [転載禁止]©2ch.net
139 :NAS6 ◆n3AmnVhjwc []:2015/09/07(月) 16:46:15.11 ID:z69KZ2wJ
>んじゃ、これは? scheme
>(let loop ((sum 0)
>(i 1))
>(if (<= i 10)
>(loop (+ sum i)
>(+ i 1))
>sum))

c++で等価に書いたら

void loop(int& sum, int& i){
 if(i <= 10) loop(sum + i, i + 1);
}
void main(){
 int s = 0,i = 1;
 loop(s, i);
}

だろ
なあ、再帰関数好きな人いる? パート2 [転載禁止]©2ch.net
141 :NAS6 ◆n3AmnVhjwc []:2015/09/07(月) 16:49:20.19 ID:z69KZ2wJ
って、参照でやっているように見える
void loop(int& sum, int& i){
 sum = sum + i;
 i = i + 1;
 if(i <= 10) loop(sum, i);
}
void main(){
 int s = 0,i = 1;
 loop(s, i);
}
なあ、再帰関数好きな人いる? パート2 [転載禁止]©2ch.net
143 :NAS6 ◆n3AmnVhjwc []:2015/09/07(月) 17:07:40.99 ID:z69KZ2wJ
>int sum = (int)(10 * (1 + 10) * 0.5));
あ、これも再帰だ
右辺の中にsumの簡単な項が含まれてた

n項公差d
sum=a1+a2+...+an=(n(2a1+d(n-1)))/2
だから、どうしたって
等差数列の和は、数列の簡単な項が含まれる
なあ、再帰関数好きな人いる? パート2 [転載禁止]©2ch.net
148 :NAS6 ◆n3AmnVhjwc []:2015/09/07(月) 18:00:25.16 ID:z69KZ2wJ
A=B
B=C
C=D
D=E
E=A
↑はどんなものでも当てはまるから無意味な循環論法

A=B
B=C
C=D
D=E
E=X
↑は計算可能な有意味な再帰論法

こういうのホント困るんだよね
なあ、再帰関数好きな人いる? パート2 [転載禁止]©2ch.net
150 :NAS6 ◆n3AmnVhjwc []:2015/09/07(月) 18:06:08.89 ID:z69KZ2wJ
>>148
「迷惑の発明」はこうなってる
なあ、再帰関数好きな人いる? パート2 [転載禁止]©2ch.net
154 :NAS6 ◆n3AmnVhjwc []:2015/09/07(月) 20:30:13.12 ID:z69KZ2wJ
まさか、プログラムで一人で作ってこうやる奴はいないと思うが、

int sum = 0, i = 1;
while(true){
 if(10 < i) i = 1;
 sum = sum + i;
}

例えば、
D社から買ってA社はB社に売る
A社から買ってB社はC社に売る
B社から買ってC社はD社に売る
C社から買ってD社はA社に売る
と、個々の会社は俺は違うと思っていても
循環取引のサイクルの中に
知らずに取り込まれている場合がある

こういう、「迷惑の発明」
なあ、再帰関数好きな人いる? パート2 [転載禁止]©2ch.net
155 :NAS6 ◆n3AmnVhjwc []:2015/09/07(月) 20:44:12.92 ID:z69KZ2wJ
失礼

int sum = 0, i = 1;
while(true){
 if(10 < i) i = 1;
 sum = sum + i;
 i++;
}

個々は俺は違うと思っていても
循環取引のサイクルの中に
知らずに取り込まれている場合がある

手を広げていくと、こういう、「迷惑の発明」になっていくんだよ
なあ、再帰関数好きな人いる? パート2 [転載禁止]©2ch.net
156 :NAS6 ◆n3AmnVhjwc []:2015/09/07(月) 20:52:52.94 ID:z69KZ2wJ
俺は
工学部卒で元ゲームプログラマの現ウェブデザイナで
週2日午前中勤務で、やってるよ
なあ、再帰関数好きな人いる? パート2 [転載禁止]©2ch.net
159 :NAS6 ◆n3AmnVhjwc []:2015/09/07(月) 21:04:50.57 ID:z69KZ2wJ
>>157
最近は、注意しないと、GCのオブジェクト参照だらけになってるよ
なあ、再帰関数好きな人いる? パート2 [転載禁止]©2ch.net
164 :NAS6 ◆n3AmnVhjwc []:2015/09/07(月) 21:21:23.34 ID:z69KZ2wJ
>>156
に嘘は全くないし

代入ってコピーだし
何か?
なあ、再帰関数好きな人いる? パート2 [転載禁止]©2ch.net
167 :NAS6 ◆n3AmnVhjwc []:2015/09/07(月) 21:25:15.54 ID:z69KZ2wJ
C++で、演算子=()を作ったことがないんかいな?
オブジェクト参照にしないと、まるっきり使えない=になるよ
なあ、再帰関数好きな人いる? パート2 [転載禁止]©2ch.net
171 :NAS6 ◆n3AmnVhjwc []:2015/09/07(月) 21:35:25.59 ID:z69KZ2wJ
int型なら
int& oprator=(const int& rh){;}

だから、これは
>sum = sum; → プログラム。左辺のsumは右辺のsumと論理性を持った繋がりを保持しない。定義ではない。当然再定義でもない。
Cだとしてもミスリードだろ
なあ、再帰関数好きな人いる? パート2 [転載禁止]©2ch.net
176 :NAS6 ◆n3AmnVhjwc []:2015/09/07(月) 21:54:05.13 ID:z69KZ2wJ
>>174
別に都合が悪くはないよ
それで俺は一応生活できてるよ
なあ、再帰関数好きな人いる? パート2 [転載禁止]©2ch.net
178 :NAS6 ◆n3AmnVhjwc []:2015/09/07(月) 21:56:42.35 ID:z69KZ2wJ
A=B
A←B
こんな感じだろ
なあ、再帰関数好きな人いる? パート2 [転載禁止]©2ch.net
179 :NAS6 ◆n3AmnVhjwc []:2015/09/07(月) 21:59:21.65 ID:z69KZ2wJ
明示的に()や暗黙的な優先順位に差がない限りは後方解決
なあ、再帰関数好きな人いる? パート2 [転載禁止]©2ch.net
187 :NAS6 ◆n3AmnVhjwc []:2015/09/07(月) 22:12:14.09 ID:z69KZ2wJ
明示的に()や暗黙的な優先順位に差がない限りは後方解決
で、なにかって
演算子の優先順位に従って、後方解決の再帰的処理で解いてくのが、式
なあ、再帰関数好きな人いる? パート2 [転載禁止]©2ch.net
190 :NAS6 ◆n3AmnVhjwc []:2015/09/07(月) 22:40:26.71 ID:z69KZ2wJ
A=(2.0+3.0)-4.0*(5.0-6.0/7.0);
0階から()を探す
で、1階の()の処理
(2.0+3.0),(5.0-6.0/7.0)
1階の()内の*/の処理
6.0/7.0
1階の()内の+-の処理
(2.0+3.0),(5.0-0.857)
0階に戻ってきて*/の処理
4.0*4.142
0階に戻ってきて+-の処理
5.0-16.571
答え
-11.571
で、Aに代入
なあ、再帰関数好きな人いる? パート2 [転載禁止]©2ch.net
192 :NAS6 ◆n3AmnVhjwc []:2015/09/07(月) 22:53:34.11 ID:z69KZ2wJ
再帰理論では

循環論法
main(){return main();}

再帰論法
main(){return 0;}


ってこんなに分かりやすくはない話だけど
要するに、迷惑の発明を争う
なあ、再帰関数好きな人いる? パート2 [転載禁止]©2ch.net
195 :NAS6 ◆n3AmnVhjwc []:2015/09/07(月) 23:02:21.08 ID:z69KZ2wJ
例えば、
D社から買ってA社はB社に売る
A社から買ってB社はC社に売る
B社から買ってC社はD社に売る
C社から買ってD社はA社に売る
と、個々の会社は俺は違うと思っていても
循環取引のサイクルの中に
知らずに取り込まれている場合がある

こういう、「迷惑の発明」

A=B
B=C
C=D
D=A

俺は違うって言っても取り込まれて
んー、どうしたもんかねえ?
なあ、再帰関数好きな人いる? パート2 [転載禁止]©2ch.net
198 :NAS6 ◆n3AmnVhjwc []:2015/09/07(月) 23:21:08.24 ID:z69KZ2wJ
だから、循環論法の迷惑の発明は、やめてください
なあ、再帰関数好きな人いる? パート2 [転載禁止]©2ch.net
200 :NAS6 ◆n3AmnVhjwc []:2015/09/07(月) 23:40:29.73 ID:z69KZ2wJ
>>199
こういう問題が大問題

D社から買ってA社はB社に売る
A社から買ってB社はC社に売る
B社から買ってC社はD社に売る
C社から買ってD社はA社に売る
と、個々の会社は俺は違うと思っていても
循環取引のサイクルの中に
知らずに取り込まれている場合がある

こういう、「迷惑の発明」
なあ、再帰関数好きな人いる? パート2 [転載禁止]©2ch.net
202 :NAS6 ◆n3AmnVhjwc []:2015/09/07(月) 23:46:02.94 ID:z69KZ2wJ
記号にすれば



こんな図式


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。