データ構造,アルゴリズム,デザインパターン総合スレ 3©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
2016/06/19(日) 14:47:29.63ID:5KvSKdL/
このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。

アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。

                  京都大学霊長類研究所

データ構造,アルゴリズム,デザインパターン総合スレ 2
http://echo.2ch.net/test/read.cgi/tech/1362301811/

【関連スレ】
3Dアルゴリズム全般
http://toro.2ch.net/test/read.cgi/tech/1164171086/
<集大成>アルゴリズム大辞典
http://toro.2ch.net/test/read.cgi/tech/1086272325/
アルゴリズム総合スレ in ム板
http://toro.2ch.net/test/read.cgi/tech/1217773415/

アルゴリズムとデータ構造 - Kaneko Lab.
ttp://www.kkaneko.com/adp/algo/index.html
アルゴリズムとデータ構造 - ソースコード探険隊
ttp://www.codereading.com/algo_and_ds/
各種アルゴリズムの C++ による実装 - Spaghetti Source
ttp://www.prefield.com/algorithm/
アルゴリズムとデータ構造 - プログラミングスレまとめ in VIP
ttp://vipprog.net/wiki/algo_and_data_const.html
2017/07/08(土) 16:30:54.37ID:/Hl6yXpd
>>496
教科書の荒さがして著者をdisることを生きがいとしてる厨房

ID:bx7kaphQ

Daniel Marcus Graph Theory を読む。 [無断転載禁止]©2ch.net
http://rio2016.2ch.net/test/read.cgi/math/1497007079/
2017/07/08(土) 18:49:23.91ID:/o9ObF5e
>>497
高等な趣味だと思うよ,よく頑張っているね
2017/07/08(土) 19:37:28.26ID:ICTsGxtb
馬鹿アスペ同士仲良く
2017/07/09(日) 17:28:01.51ID:X4hx0gz3
お前ら、ちゃんと次スレ立ててやれよ?
隔離スレさえあればこっちに被害は及ばないからな
2017/07/09(日) 17:29:01.52ID:ZR+XIVIQ
お前がやれよ
2017/07/10(月) 01:48:04.10ID:LYhH/bN3
よし、今日からワイがM坂だ!
503デフォルトの名無しさん
垢版 |
2017/07/10(月) 10:06:36.48ID:BQfNYjN8
比較によるソートの比較回数の下限についての議論で決定木が登場します。

決定木の葉の数が n! 以上だという記述があるのですが、ちょうど n! ではないのでしょうか?

意味不明です。
504デフォルトの名無しさん
垢版 |
2017/07/10(月) 13:49:55.16ID:BQfNYjN8
そもそも決定木って何ですか?
505デフォルトの名無しさん
垢版 |
2017/07/10(月) 14:01:08.40ID:BQfNYjN8
例えば、決定木の内部ノードに 1: 2 というのノードにおいて、
a_1 ≧ a_2 であるか a_1 < a_2 であるかを計算しますが、
その計算結果を捨ててしまってもいいんですよね?
506デフォルトの名無しさん
垢版 |
2017/07/10(月) 14:02:15.57ID:BQfNYjN8
例えば、決定木の内部ノードに 1: 2 というノードがあったとすると、そのノードにおいて、
a_1 ≧ a_2 であるか a_1 < a_2 であるかを計算しますが、その計算結果を捨ててしまっ
て以後利用しなくてもいいんですよね?
507デフォルトの名無しさん
垢版 |
2017/07/10(月) 17:02:14.26ID:BQfNYjN8
http://imgur.com/XyDXq0t.jpg

↑は普通の決定木です。

http://imgur.com/zqlLVWW.jpg

↑のような決定木はどう扱うのでしょうか?
2017/07/10(月) 17:11:43.87ID:OAwCY67i
どこでもたちまち糞日記スレにしてしまう恐ろしさ
2017/07/10(月) 17:39:12.62ID:S+vnKcL6
他にも被害スレが?
510デフォルトの名無しさん
垢版 |
2017/07/10(月) 18:34:52.99ID:BQfNYjN8
段々、言いたいことが分かってきました。

a1, a2, a3, a4 を比較によってソートするあるアルゴリズムがあるとします。

そのアルゴリズムには対応する決定木 T が存在します。

深さ k の決定木の葉の数の最大値は明らかに 2^k です。(深さ k の完全2分木の場合)

a1, a2, a3, a4 の大小関係の可能性は、以下の 4! = 24 通りあります。

a1 < a2 < a3 < a4
a1 < a2 < a4 < a3

a4 < a3 < a2 < a1

そのすべての可能性に対してそのアルゴリズムはソートしなければならないので、
T の葉の数はちょうど 24 であるはずです。

深さ 1 の決定木はただ一つ存在し、葉の数は 2 です。
24 ≠ 2 なので、 T の深さは 1 ではありません。

深さ 2 の決定木の葉の数の最大値は 2^2 = 4 です。

24 ≦ 4 ではないため深さ 2 の決定木では、 24 個の葉を収容できません。

深さ 3 の決定木の葉の数の最大値は 2^3 = 8 です。

24 ≦ 8 ではないため深さ 3 の決定木では、 24 個の葉を収容できません。
511デフォルトの名無しさん
垢版 |
2017/07/10(月) 18:37:08.78ID:BQfNYjN8
深さ 4 の決定木の葉の数の最大値は 2^4 = 16 です。

24 ≦ 16 ではないため深さ 4 の決定木では、 24 個の葉を収容できません。

深さ 5 の決定木の葉の数の最大値は 2^5 = 32 です。

24 ≦ 32 であるため深さ 5 の決定木には、 24 個の葉を収容可能です。

以上から、決定木 T の葉の深さは最低でも 5 である必要があります。
512デフォルトの名無しさん
垢版 |
2017/07/10(月) 18:52:50.18ID:BQfNYjN8
a_1, a_2, …, a_n を比較によってソートするあるアルゴリズムがあるとします。

そのアルゴリズムには対応する決定木 T が存在します。

深さ k の決定木の葉の数の最大値は明らかに 2^k です。(深さ k の完全2分木の場合)

a_1, a_2, …, a_n の大小関係の可能性は、以下の n! 通りあります。

a_1 < a_2 < … a_(n-1) < a_n
a_1 < a_2 < … a_n < a_(n-1)

a_n < a_(n-1) < … < a_1

そのすべての可能性に対してそのアルゴリズムはソートしなければならないので、
T の葉の数はちょうど n! であるはずです。

n! 個の葉を収容するためには、 T の深さを k とすると、

n! ≦ 2^k

が成り立たなければなりません。

よって、

lg(n!) ≦ lg(2^k) = k*lg(2) = k

が成り立たなければなりません。
513デフォルトの名無しさん
垢版 |
2017/07/10(月) 18:53:05.24ID:BQfNYjN8
lg(n!) = Θ(n*lg(n)) ですので、

Θ(n*lg(n)) ≦ k

が成り立ちます。

以上より、比較によってソートする最高速度のアルゴリズムでも、その決定木の深さは
少なくとも Θ(n*lg(n)) の深さがあります。

よって、その最高速度のアルゴリズムにとって最悪のデータ a_1, a_2, …, a_n を与えた場合、
少なくとも Θ(n*lg(n)) 回の比較が必要です。
514デフォルトの名無しさん
垢版 |
2017/07/10(月) 18:57:08.74ID:BQfNYjN8
訂正します:

lg(n!) = Ω(n*lg(n)) ですので、

Ω(n*lg(n)) ≦ k

が成り立ちます。

以上より、比較によってソートする最高速度のアルゴリズムでも、その決定木の深さは
少なくとも Ω(n*lg(n)) の深さがあります。

よって、その最高速度のアルゴリズムにとって最悪のデータ a_1, a_2, …, a_n を与えた場合、
少なくとも Ω(n*lg(n)) 回の比較が必要です。
515デフォルトの名無しさん
垢版 |
2017/07/10(月) 19:00:21.22ID:BQfNYjN8
なんか非常に大雑把な議論で Ω(n*lg(n)) という評価を得ているのに、
ヒープソートやマージソートのような O(n*lg(n)) のアルゴリズムが存在する
というところが不思議ですね。
2017/07/10(月) 19:15:23.77ID:wVcu7osF
この人DHAだろ
2017/07/10(月) 19:19:20.07ID:TpSxkkBl
マグロの目?
518デフォルトの名無しさん
垢版 |
2017/07/10(月) 20:08:22.69ID:BQfNYjN8
アマゾンってダメダメですね。

【全品10%ポイント還元】マンガ・雑誌など本全品がお買い得
7/10 18:00〜7/11 23:59のプライムデー限定で全ての商品が10%ポイント還元中! >今すぐチェック

ヤフーショッピングとかで買えば実質30%引きくらいで買えるときもありますよね。
2017/07/10(月) 20:27:20.96ID:Di3Z2y8c
>>516
ADHD?唯の馬鹿のアスペだと思う
520デフォルトの名無しさん
垢版 |
2017/07/11(火) 02:13:19.92ID:kTultHtx
URLとかファイルパスとかコマンドとかをクッソ汚い文字列として
文字列処理で結合したり変数埋込みしたり正規表現使ったり
するコードとか、
エンコードされたり、エスケープ混じりのぐちゃぐちゃな文字列とか
とにかく汚くて長くて改行されてない文字列処理にも
データ構造やデザインパターンて適用できるの?
またはデータ構造やデザインパターンでソースをきれいに
整形できたりする?
2017/07/11(火) 10:51:23.09ID:GFhKOZAg
文字列処理っつってもいろいろあんだろ
どういう処理がしたいのかもわからんのにデザパタ適用もクソもあるかよ
2017/07/11(火) 11:15:39.29ID:oEYLH8ZM
Stringというデータ構造
2017/07/11(火) 19:00:22.76ID:XmA15/s4
クッソ汚いもぐちゃぐちゃも個人の感想だから伝わらない
2017/07/11(火) 21:26:37.33ID:rybeffro
おう、松坂!
次スレな

俺は賢い、ディープラーニング教えて [無断転載禁止]©2ch.net
https://mevius.2ch.net/test/read.cgi/tech/1498636978/l50
2017/07/12(水) 14:44:43.08ID:sNyzU/qO
著者名NGに入れて連鎖あぽーんですっきりするな
526デフォルトの名無しさん
垢版 |
2017/07/12(水) 18:59:57.68ID:BkmceXb8
繁野麻衣子著『ネットワーク最適化とアルゴリズム』を読んでいます。

http://imgur.com/RI1TvXi.jpg

部分グラフの定義がおかしいです。

こんな基礎的なところで間違いを犯しているというのが信じられません。
527デフォルトの名無しさん
垢版 |
2017/07/12(水) 19:25:04.11ID:BkmceXb8
あ、グラフになっていないと部分グラフとは言わないからOKなんですね。

でも分かりにくい表現ですね。
528デフォルトの名無しさん
垢版 |
2017/07/12(水) 19:35:27.04ID:BkmceXb8
A' が空集合の場合はどうするんですかね?
529デフォルトの名無しさん
垢版 |
2017/07/12(水) 19:40:24.94ID:BkmceXb8
空写像って何ですか?
2017/07/12(水) 19:50:43.67ID:sNyzU/qO
中学生?
2017/07/13(木) 01:49:26.96ID:dTYbVLC2
ただの基地外だろう。
532デフォルトの名無しさん
垢版 |
2017/07/16(日) 19:13:54.39ID:jm8THNZB
D40
http://imgur.com/i8hq9mG.jpg

↑この問題に対する解答ですが、

https://github.com/for-2ch/for-2ch/blob/master/Chapter_D.ipynb

の解答であっていますか?

2週間くらい前に書いたものですが、理解ができません。

仮に、 T に含まれないような C の辺たちの両端点を結ぶ T の辺のみからなる
パスたちがすべて辺 AB を含まないと仮定すると、 A から B への T の辺のみ
からなるパスで辺 AB を含まないようなものが存在することになる。

↑ここが理解できません。
533デフォルトの名無しさん
垢版 |
2017/07/16(日) 19:22:48.15ID:jm8THNZB
あー理解できました。

ここは分かりやすく書き直したほうがいいですね。
534デフォルトの名無しさん
垢版 |
2017/07/16(日) 19:35:47.89ID:jm8THNZB
仮に、 T に含まれないような C の辺たちの両端点を結ぶ T の辺のみからなる
パスたちがすべて辺 AB を含まないと仮定します。

A_1 := A
A_n ;= B

とします。

サイクル C が以下であるとします:

A_1 → … → A_n → A_1

もしも、

辺 A_i → A_(i+1) が T に含まれないときには、

サイクル C の A_i → A_(i+1) の部分を A_i から A_(i+1) への(一意的な) T の辺のみから
なるパスに置き換えます。

すると、 A から B への T の辺のみからなるパスで辺 AB を含まないようなパスが構成できます。

これは A から B への T の辺のみからなるパスが一意的であるという木の性質に反します。
(ほかに A → B という T の辺のみからなる長さ 1 のパスが存在することに注意。)
2017/07/16(日) 19:54:31.53ID:oSRVjDnX
糞日記

分からない問題はここに書いてね428 [無断転載禁止]©2ch.net
http://rio2016.2ch.net/test/read.cgi/math/1498222858/749
2017/07/19(水) 22:52:51.73ID:W3gBCwo8
データ構造とアルゴリズムを勉強するときに、プログラム作成の言語は何がおすすめでしょうか?

なぜ、いまだにC++が幅を利かせているのでしょうか?
2017/07/20(木) 01:30:17.29ID:NeFB4pBD
>>536
C/C++が基本だから
2017/07/20(木) 07:32:28.47ID:JPSYgWUy
JAVAやC#はなぜ主流じゃないんですか?
2017/07/20(木) 08:06:18.81ID:VwfBeboA
遅いから。
でも、JAVAはアルゴリズムの教科書でも使われていることあるよ。
2017/07/20(木) 13:39:20.43ID:+UhdLUtU
Golangは爆速やで〜
541デフォルトの名無しさん
垢版 |
2017/07/21(金) 05:47:07.66ID:oNTvtqyo
Foo foo; と
Foo foo = new Foo();
は何が違うの?

あるクラス内で
private String field; のとき

public String method(String field){
return field;
}
と、
public String method(){
return this.field;
}
は何が違うの?
2017/07/21(金) 08:00:44.54ID:DB0JoB9N
>>541
>Foo foo; と
>Foo foo = new Foo();
C/C++ か、それとも C#/Java か、はっきりさせよ
2017/07/21(金) 08:35:20.75ID:gbxtSnvl
命名規約的にJavaだろ
2017/07/21(金) 10:31:24.26ID:AAWIl0Xa
>>541
Foo foo; // 参照型変数fooを宣言
Foo foo = new Foo(); // さらに、メモリのヒープ領域ってとこにFoo型のインスタンスを作成し、その場所を代入

コンストラクタとかでよく見ることになると思うけど
Foo(String name) {
this.name = name;
}
これは想像どおりの挙動をしてくれる
引数とフィールドに同じ名前があったとき
フィールドのものを使いたいときあえてthisつける
Foo() {
String name = "bar";
this.name = name;
}
みたいなときも同じ
名前が被ったとき、フィールド側の変数を選ぶのがthis
2017/07/21(金) 19:57:34.85ID:+Ec9GEX5
>>539
著者はズレてるよな。
2017/07/21(金) 20:06:52.80ID:+Ec9GEX5
データ構造、アルゴリズムはCで勉強して、デザパタはC++で勉強するのがいいな。
547デフォルトの名無しさん
垢版 |
2017/07/22(土) 13:37:57.58ID:S+qzOSdo
本当はGoやRuby Python JavaScript Kotlinあたりやりたいのに、
本格的なプログラミングとか設計勉強しようとすると
必ずJava, C, C++ あたりで解説されるから覚えざるを得ないというジレンマ。
2017/07/22(土) 13:46:49.67ID:0HjhMGYw
おらLispやれLispゥ!
2017/07/22(土) 18:31:48.46ID:Yr9CVNZl
>>547
インプレイス、という概念を植えつけられない言語でアルゴリズムをやるのは問題
でも Java が使われるのは疑問
550デフォルトの名無しさん
垢版 |
2017/07/22(土) 19:09:29.77ID:3d/mUXex
Javaだと問題があるのでしょうか?

セジウィックの本の第4版がJavaですが。
2017/07/22(土) 19:10:22.08ID:fXxiASxC
>>547
GoやRuby Python JavaScript Kotlinあたりに入門ちゃんと済ませて、これから本格的なプログラミングとか設計を勉強していくぞって人なら
具体例の説明に使われる程度のJavaやCなんて、無勉でもある程度は読めるでしょ
552デフォルトの名無しさん
垢版 |
2017/07/22(土) 19:12:56.74ID:3d/mUXex
例えば、Pythonだとソートとかハッシュとかリストとかが用意されていますが、
データ構造を学ぶ上では高級すぎるのではないでしょうか?
2017/07/22(土) 19:21:52.44ID:fJRG67nz
Sedgwick のアルゴリズムの教科書は、C++版やJava版があるよね。
C++版はちょっと古くて、C++11以降のモダンな書き方で改訂版を出してほしい。

自分は、アルゴリズムの教科書は疑似コードのみを示すの(MITのCormenの)で勉強したんだけど、失敗だったと思っている。
疑似コードを真似してそのまま実装してたから、一文字変数あまりまえ、クラスや構造体を定義することはなく、何でもかんでも配列で済ませるというクセがついてしまった。
もうちょっと、オブジェクト指向とかを勉強してからにすればよかったのかも。
554デフォルトの名無しさん
垢版 |
2017/07/23(日) 11:49:40.37ID:cZonGhlD
Javaとか連想配列使うだけでもいちいちnewとかキャストとか
鬱陶しい。
2017/07/23(日) 14:58:46.77ID:CNTwKpOF
アルゴリズムは抽象的で、言語仕様とは切り離されたものであるべきなのだ。
そうは言っても手続き型を意識したものになりがちで、これを関数型に書き直せと言われても一目難しいものがままある
556デフォルトの名無しさん
垢版 |
2017/07/23(日) 15:44:19.76ID:G5QCCj7S
アルゴリズムイントロダクションを読んでいます。

http://imgur.com/xbuAPtJ.jpg

↑は、 ω 記法についてです。

「if the limit exists」

と書かれていますが、なぜこんなことを書いているのでしょうか?

意味不明です。
557デフォルトの名無しさん
垢版 |
2017/07/23(日) 15:46:31.20ID:G5QCCj7S
g(n) が漸近的に正であるような関数であれば、

f(n) = ω(g(n))



lim f(n) / g(n) = ∞

ではないでしょうか?

「if the limit exists」などと書いてある理由が分かりません。
558デフォルトの名無しさん
垢版 |
2017/07/23(日) 15:51:14.63ID:G5QCCj7S
アルゴリズムイントロダクションって結構いい加減ですよね。

やっぱりクヌースの本を読んだ方がいいのかもしれませんね。
559デフォルトの名無しさん
垢版 |
2017/07/23(日) 15:54:26.92ID:G5QCCj7S
漸近的に正である関数
漸近的に非負である関数

について説明がありますが、

なぜ、漸近的に正である関数だけを考えないのでしょうか?

漸近的に非負である関数などこの本で登場する機会はあるのでしょうか?
2017/07/23(日) 15:55:21.76ID:p86Uodim
松坂君の夏休みの糞日記
2017/07/23(日) 16:03:03.18ID:I43wPtVl
>>556-559
この基地外が人様を害さないことを祈るばかりだ。
2017/07/23(日) 16:05:04.45ID:7bD+iXj9
>>555
現実問題、アルゴリズムを書くコードはC、C++に限られる。
Fortran、Java、Python、C#など他の言語はそれで書かれたライブラリを呼ぶだけだ。
563デフォルトの名無しさん
垢版 |
2017/07/23(日) 16:09:19.74ID:cZonGhlD
機械のパフォーマンスを追求するあまりに
人間時間のパフォーマンスを際限なく犠牲にする池沼
2017/07/23(日) 18:48:09.61ID:wW+3pobQ
>>563
それはお前みたいな業務プログラマの視点
565デフォルトの名無しさん
垢版 |
2017/07/23(日) 19:06:54.73ID:cZonGhlD
>>564
何だよ業務プログラマって
俺は人に使役されてないし、インフラも構築できるし、
人工知能や数学もやってるんだぞ。
お前みたいなパフォーマンスオタクのほうが頭おかしいから。
2017/07/23(日) 20:44:29.00ID:Js688EZT
>Javaとか連想配列使うだけでもいちいちnewとかキャストとか
>鬱陶しい。
567デフォルトの名無しさん
垢版 |
2017/07/23(日) 20:46:56.02ID:LRxsFVvF
>>565
なんでそんなに必死なの?
2017/07/23(日) 21:10:16.48ID:7eA3s3Ch
>>562
Youがライブラリ作ってもいいんだぞ
569デフォルトの名無しさん
垢版 |
2017/07/23(日) 23:45:48.25ID:G5QCCj7S
アルゴリズムイントロダクションを読んでいます。

「関数 n^(1 + sin(n)) の指数部の値は 0 と 2 の間で振動し、その中間にあるすべての値をとる」

などと書かれていますが、明らかに間違っていますよね。

sin(n) = 1/sqrt(2) となるような自然数 n は存在しません。

何を考えているのでしょうか?
570デフォルトの名無しさん
垢版 |
2017/07/23(日) 23:54:11.92ID:G5QCCj7S
n と書いておきながら n が R を動くと仮定しているとかそんなことはないですよね?
2017/07/24(月) 00:08:11.63ID:1mGhcU0l
原文なの? IT関係の翻訳は誤訳だらけだよ。
572デフォルトの名無しさん
垢版 |
2017/07/24(月) 00:10:01.69ID:dw4Kx5PQ
オリジナルのほうにも、

p.52
the value of the exponent in n^(1 + sin(n)) oscillates between 0 and 2, taking on all values in between

と書いてあります。
2017/07/24(月) 00:21:28.79ID:BT4s6Lxv
>557
0<=c g(n) < f(n)

って書いてあるのだから、(0 < c g(n) でなく、0 <= c g(n) であることに注意)
g(n) = 0, if n > 3
1, if n <= 3
とかなら、
f(n)/g(n) の極限は存在しないよ。
だから、もし極限が存在すれば、という限定をつけたのだと思うよ。
574デフォルトの名無しさん
垢版 |
2017/07/24(月) 00:25:53.48ID:dw4Kx5PQ
>>573

それだと、

極限が存在するかしないか以前に、

f(n) / g(n) は n ≦ 3 に対してしか定義されませんよね。

lim f(n) / g(n) と書いた以上は

∃n0 s.t. n ≧ n0 ⇒ g(n) ≠ 0

でないといけないと思います。
575デフォルトの名無しさん
垢版 |
2017/07/24(月) 00:27:22.94ID:dw4Kx5PQ
たとえば、

関数 h(n) の定義域が {0, 1, 2, 3} のときに、

lim h(n) などそもそも考えられないわけです。
576デフォルトの名無しさん
垢版 |
2017/07/24(月) 00:31:02.81ID:dw4Kx5PQ
>>573

まず、

0 <= c g(n)

となっているのが問題だと考えます。

g(n) は漸近的に正であるような関数でなければならないはずです。
577デフォルトの名無しさん
垢版 |
2017/07/24(月) 00:32:17.21ID:dw4Kx5PQ
このあたりのところを4人の著者のうち誰が書いたのか知りませんが、
非常に出来が悪いですね。

世界標準とはとてもいえないと思います。
2017/07/24(月) 00:33:52.43ID:1mGhcU0l
書いてあるとおりにしか取れない。キミの解釈がむしろ分らない。
the value of the exponent って(1 + sin(n)) だよな。それは between 0 and 2で、taking on all values in betweenだよな。

nが自然数なのかは知らんけど、sin(n) = 1/sqrt(2) という解釈はどこから?
579デフォルトの名無しさん
垢版 |
2017/07/24(月) 00:36:55.54ID:dw4Kx5PQ
「if the limit exists」と書いてある理由について考えられる唯一の可能性があります。

それは以下の可能性です。

f(n) = ω(g(n)) の定義では、 n は N を動くと考えている。

一方、

lim f(n) / g(n) = ∞

という式の n は R を動くと考えている。
580デフォルトの名無しさん
垢版 |
2017/07/24(月) 00:41:44.60ID:dw4Kx5PQ
>>578

例としてそのような値を考えたということです。

0 < 1 + 1/sqrt(2) < 2

ですが、

1 + sin(n) = 1 + 1/sqrt(2) となるような n ∈ N は明らかに存在しません。

1 + sin(n) = 0
1 + sin(n) = 2

となるような n ∈ N も明らかに存在しませんが、 in between というのが

0 と 2 を含まない可能性を考えて、↑のような例にしました。
581デフォルトの名無しさん
垢版 |
2017/07/24(月) 00:51:03.16ID:dw4Kx5PQ
やっぱりクヌースの本の完成度は群を抜いていますね。
2017/07/24(月) 01:21:19.59ID:1mGhcU0l
> the value of the exponent in n^(1 + sin(n)) oscillates between 0 and 2, taking on all values in between

書いてあるそのままの意味で、これは数学的に真で、
1 + sin(n) = 1 + 1/sqrt(2) を満たす自然数nが存在するなんてどこにも書いてないし、言ってない。
直前にnは自然数と定義してるならそれも引用してもらわないと判断のしようがない。おそらくnumberの略だろう。変数n。
2017/07/24(月) 01:46:14.40ID:1mGhcU0l
もっと本質的な勘違いか。
AならばBはA=Bではないし、AならばBは、BならばAでもないぞ。
言ってるのはthe value, taking on all values in between だけだからな。
584デフォルトの名無しさん
垢版 |
2017/07/24(月) 03:48:35.95ID:qy6/mYOI
>>582

n については何も記述がありません。

そもそも、普通なら関数について書くときには、定義域を書くはずですが、
書いてありません。

習慣として、 n と書けば自然数の集合を動く変数ということになりますので、
そう解釈するのが妥当です。

1 + sin(n) が 0 と 2 の間のすべての値をとるのであれば、当然、

0 < 1 + 1/sqrt(2) < 2 ですので、値 1 + 1/sqrt(2) もとります。
585デフォルトの名無しさん
垢版 |
2017/07/24(月) 03:58:43.71ID:qy6/mYOI
念のため、公式ページの正誤表を見てみましたが、書いてありませんでした。

かなり売れている本だと思いますが、飛ばし読みしている人ばかりなのでしょうか?
2017/07/24(月) 04:32:03.26ID:1mGhcU0l
数学の世界ならそうだろうが、数学本じゃなくてプログラミングの本なんだろ?
sin(n) と書いてあればプログラマはたいてい n をfloat型かdouble型の変数だと解釈する。
= 一つとっても大抵のプログラミング言語は等式ではなく、代入演算子と定義している。
分野が違うのだから論理的におかしいと思ったらまずは定義を疑う。数学だってブール代数で1+1=1って書く場合もあるだろう。
今のプログラミング言語は+や-の演算子すら再定義できるのだ。

仮に自然数だとしても、次に本質的な論理問題。>>583 これ。

> 0 と 2 の間のすべての値をとる

これも怪しい。take on All Value なので、on 〜の上にという意味で、日本語にするならば結果がその範囲内に収まるだろう。
All values in between take the valueではないのだ。AはBのとき、BはAか?もちろん偽。
つまり1 + sin(n) = 1 + 1/sqrt(2)を保証する記述ではない。
2017/07/24(月) 09:36:19.03ID:yBhCO73J
馬鹿のアスペにかまうな
2017/07/24(月) 15:13:09.34ID:BdqEvISL
>>569
>「関数 n^(1 + sin(n)) の指数部の値は 0 と 2 の間で振動し、その中間にあるすべての値をとる」


指数部の値は 0 と 2 の間で振動し、その中間にあるすべての値をとるんじゃね?
2017/07/25(火) 00:02:25.50ID:6PSqyxlH
nが自然数か何かも書いてないのに勝手に自然数だと勘違いして発狂するとか何考えてんでしょうね
2017/07/25(火) 08:35:49.61ID:drKlbZNX
sin(n) = 1/sqrt(2) のとき n = 約0.785。 degだと45度。
って、そういう話じゃなくて?
2017/07/25(火) 16:29:58.97ID:GyEh+ENJ
nが自然数でも問題ない
2017/07/25(火) 16:30:50.54ID:GyEh+ENJ
そもそも指数部(1 + sin(n))の話しかしてないんだから
2017/07/26(水) 01:18:42.44ID:lXGGezLP
え?
2017/07/26(水) 09:54:26.90ID:xcmFWevw
595デフォルトの名無しさん
垢版 |
2017/07/28(金) 14:53:29.74ID:+gMyuDZP
凄いことにきずいたぜ!
「ポリモーフィズム」と「ラッパー」は反対の関係にあるんだ。
これによって「メソッド名」と「中身」が 多対多の関係にできるってことだぜ。
2017/07/29(土) 09:28:33.20ID:eHtT0zBv
ライブラリってログを吐いてもいいの?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況