結局C++とRustってどっちが良いの? 5traits

■ このスレッドは過去ログ倉庫に格納されています
2023/06/30(金) 21:56:35.52ID:PDIJ4aZy
「C++の色々配慮してめんどくさい感じは好きだけど、実務になったらメモリ安全性とか考えて今後Rustに変わっていくんかな」
「うだうだ言ってないで仕事で必要なのをやればいいんだよ、趣味なら好きなのやればいい」

っていう雑談スレ。

結局C++とRustってどっちが良いの? 4traits
https://mevius.5ch.net/test/read.cgi/tech/1686046386/

関連スレ(マ板): Google&MS「バグの70%はC/C++。Rustにする」
https://medaka.5ch.net/test/read.cgi/prog/1619943288/
2023/07/20(木) 05:22:45.38ID:ShEsV12p
はよ賢い人たちに説明しにいって、出禁にされてこい
2023/07/20(木) 06:31:51.97ID:zPjslGgC
>>717
LinkedListがO(1)なのは先頭に挿入する場合だけだぞw
サーチが必要な場合は当然O(n)
数学だけじゃなくCSも正しく理解できていないようだ
2023/07/20(木) 06:47:19.72ID:WN56tjQW
LinkedListすらまともに作れない言語ってどうなんだろうなw
2023/07/20(木) 07:29:26.02ID:o+4teY+W
>>717
キャッシュメモリに載っていてもいなくてもメモリアクセスのペナルティが発生する
キャッシュに載っていないメインメモリならレジスタの数百倍
L3キャッシュに載っていればレジスタの数十倍
L2キャッシュに載っていればレジスタの十数倍
L1キャッシュに載っていてもレジスタの数倍かかる
メモリアクセスはこのようにとても遅い

したがってレジスタのインクリメントだけでアドレスを得られるVectorの方が有利になる
さらにVectorなら次の要素はほぼ必ずL1キャッシュに載っている恩恵も加わる
ほとんどのケースでVectorが速いのはこれらメモリアクセスの観点も効いている
2023/07/20(木) 08:26:57.52ID:uyFqK2iH
ランダムアクセスになる場合なんかはlinkedlistなんかメチャクチャ遅くなる
例えばバッファサイズが8のフーリエ変換だと
1-5,2-6,3-7,4-8,
1-3,2-4,5-7-6-8,
1-2,3-4,5-6,7-8
とアクセスする
頭から読んでいくとものすごいコストがかかる
2023/07/20(木) 08:40:23.30ID:WN56tjQW
そのレベルで速度気にするんならCやC++の方がよくね?
2023/07/20(木) 09:05:41.95ID:o+4teY+W
全員がプログラミング言語に全く依存しない話をしてるところで唐突だな
2023/07/20(木) 09:35:16.93ID:2+rEEHlb
>>719
速度に影響を与え得る全ての要因を把握してれば理論的に予測できる
しかし多くの人は全把握していないことが実測の反例1つで明らかとなる
ハゲは>>684の記事で反例を示したってことなんでしょ? (俺は読んでないよ)
測定条件も恐らく1つではなくグラフの横軸に振って速度に与える影響を
示したんじゃないのかな?
728デフォルトの名無しさん
垢版 |
2023/07/20(木) 11:05:22.25ID:397DPwdK
ハゲの書いてることは00年代中盤にはCSでは一般常識化してた内容
実測すれば答えすぐ出るから
2023/07/20(木) 12:39:51.73ID:OPngbi2z
>>720
出禁にされた結果がこのスレや
2023/07/20(木) 12:47:25.92ID:6BSTmMYa
cargo は便利だけど crates.io の複数のモジュール同時使用で衝突するケースがあるよな
それぞれ単独で使うと問題起きないのに組み合わせて使うと死ねる
それぞれの開発者はたぶんお互いを認知してないかあるいは
どうなろうと知ったこっちゃないんだろ
2023/07/20(木) 12:56:38.69ID:6BSTmMYa
>>713-714
そういう問題じゃなくて
リンク先がキャッシュに乗ってなかったら大変コストが増える
って話だろ
2023/07/20(木) 13:00:04.58ID:6BSTmMYa
>>717
だからそれぞれの利点欠点を把握した上で使い分けようという話をしてるんだよな
ハゲは(ほぼ)全部Vectorとか極端だから馬鹿だと言われてるって話だよな
2023/07/20(木) 13:03:06.20ID:6BSTmMYa
>>721
明らかに君が可笑しい
2023/07/20(木) 14:30:33.52ID:LhjzUCmo
バランスを考えるのをやめろ
両極端の宗派はそのままにしておけ
統一するな
2023/07/20(木) 15:21:54.49ID:zPjslGgC
>>733
サーチが必要な場合、LinkedListはO(1)ではなくO(n)
どういう勘違いをしたのかも含めて教えてもらえるとありがたい
2023/07/20(木) 15:33:00.56ID:E8mUVG43
横からだけど
>>735

> >>717
> LinkedListがO(1)なのは先頭に挿入する場合だけだぞw

これじゃね?明らかに間違ってる
2023/07/20(木) 15:43:18.38ID:7U3pGa9H
LinkedListが一直線のリンクで実現してるのか、二分木とか赤黒木とかまで含んでるのかで話が変わる
2023/07/20(木) 15:51:48.08ID:zPjslGgC
>>736
うーん、じゃあもういいやw
739デフォルトの名無しさん
垢版 |
2023/07/20(木) 16:09:51.27ID:+MYe1bAK
同じO(N)でも性能は全く違うって話なのは理解してる?
2023/07/20(木) 16:12:38.55ID:zPjslGgC
このスレではLinkedListは常にO(1)ってことにしようw
よし使いまくるぞ!w
2023/07/20(木) 17:35:21.34ID:E8mUVG43
>>740
本当はしまったと思ってるけど開き直って違うことをかいてるんでしょう
みじめですね
2023/07/20(木) 18:03:33.53ID:7Xbf5imk
なおRust標準ライブラリのLinkedListの扱い
https://doc.rust-lang.org/std/collections/index.html

Use a `LinkedList` when:
* You want a `Vec` or `VecDeque` of unknown size, and can't tolerate amortization.
* You want to efficiently split and append lists.
* You are *absolutely* certain you *really*, *truly*, want a doubly linked list.
2023/07/20(木) 18:32:16.87ID:zPjslGgC
>>741
ほんと惨めやね
>>719のような人間は自分だと自ら証明してしまった訳だ
せめてid変えとけよって思うわw
2023/07/20(木) 18:57:14.98ID:KJVi0UK+
1. ソートされた状態でデータを管理したい
2. 走査は激遅でいいけどキーに対応する値1件の取得/挿入/削除は高速に行いたい
3. 取得/挿入/削除時に先頭末尾以外位置はリストにアクセスしなくても分かる
これらを満たしてる場合にのみLinkedListが候補の1つに上がる
2023/07/20(木) 20:29:35.29ID:2+rEEHlb
数学の人とオープンソースの人はひょっとして同じ人?
746デフォルトの名無しさん
垢版 |
2023/07/20(木) 21:52:17.16ID:aEdleXCL
ひょっとしなくても同じやつだろ
2023/07/20(木) 21:57:32.90ID:neDY19sM
>>744
>> 3. 取得/挿入/削除時に先頭末尾以外位置はリストにアクセスしなくても分かる

それはLinkedList全ての要素へのポインタ一覧を持っていないと無理だな
それをベクタで持つならその削除問題が発生してLinkedList利用の唯一の利点が消える
別のLinkedListで持つなら再び激遅な走査問題が起きる
2023/07/20(木) 23:49:45.08ID:KJVi0UK+
>>747
一般的にはLinkedListとHashMapを組み合わせる
一部の言語に実装されてるLinkedHashMap/OrderedDictionaryや
基本的なLRUキャッシュの実装でその組み合わせが使われてる
2023/07/21(金) 00:53:33.35ID:JyRjpbQR
一般的なLinkedListはともかくとしてRustに標準に実装されてる
use std::collections::LinkedList;
は前後のノードへのポインタで実現してるらしい
赤黒木がどうこうとかいうものではとてもなさそう
ランダムアクセスなんか劇遅やろ
そもそもLinkedListのくせに
「リストの中間地点に要素を追加したり、削除する操作が効率的にできるのも連結リストの特徴ですが、Rust1.26の時点では、そのような操作のためのメソッドが用意されていません」
とはどういうつもりなんやと
https://qiita.com/garkimasera/items/a6df4d1cd99bc5010a5e
2023/07/21(金) 02:25:21.34ID:bXmgkOZk
LinkedList単体で使おうとするとベクタ系での実装に対するアドバンテージがほとんどのケースで存在しない
またソートを維持したいならLinkedListよりもBTreeMapが有利
他にもそれぞれ目的別に有利なデータ構造がある

>>748
Rustにも毎日10万ダウンロードされているLinkedHashMapがある
https://crates.io/crates/linked-hash-map
2023/07/21(金) 02:46:28.99ID:yV1TyWhB
アルゴリズムやデータ構造の性能を評価する上で、
よく使われてきた計算量という指標の実用性も微妙になっちゃったな
2023/07/21(金) 03:01:04.83ID:2VYXkkOH
>>724
そのように番号で場所にアクセスするような
事に使用するにはArrayが有利。
単純なLinkedListは、番号でアクセスする用途には向いていない。
LinkedListを効率よく利用するには番号ではなくアドレスでアクセスする。
アドレスとは、ノードに付けられた唯一無二の名前。
この板の人達はその概念が全く理解できず、
いつまでも番号によるアクセスから頭が切り替えられないでいる。
753デフォルトの名無しさん
垢版 |
2023/07/21(金) 03:38:53.42ID:uRvhRVMm
ndarrayクレートはイテレータの高速化のためにZip構造体を使ってるって聞いたんだけど、Zip構造体ってどんなことやってんの?誰か教えて。
2023/07/21(金) 03:40:00.01ID:bXmgkOZk
>>752
それをしようとするとLinkedListの各要素のアドレスを持つもう一つのデータ構造が必要となる
さらにそのもう一つのデータ構造に対しても挿入や削除の処理が必要となる
2023/07/21(金) 03:49:23.59ID:bXmgkOZk
>>753
今一瞬しか見ていないがndarray::Zipは単なるタプル化
2023/07/21(金) 08:45:47.57ID:JJPP05HL
これがRustの実力だ

FirefoxがついにChromeよりも高速なブラウザに
https://gigazine.net/news/20230720-firefox-surpassed-chrome-speedometer/
2023/07/21(金) 09:30:46.83ID:wvgr6UMJ
そろそろ、(Rust世代の知見を組み入れた新世代の)C++でフルスクラッチが試みられてもいい頃合だな
2023/07/21(金) 09:59:32.61ID:7DNLJ1Kp
>>756
記事にはRustのRの字もないのだが本当に早くなった要因なの?
2023/07/21(金) 10:11:38.01ID:QmRMHzGa
まぁそんな結論出せるわけない
その結論出すにはFireFoxと同じアルゴリズムで別の言語で組み直して実測するしかない
そんな事誰もしない
しかしRustは他の言語に比べて抽象度はやや高め(C++等とでは)だから速度面とかでは不利になるはず
しかしそのディスアドバンテージが跳ね返されるくらいの性能がある事は実証されたとしていいやろ
2023/07/21(金) 10:27:50.89ID:AI3linaX
>>751
指標やハッシュ値や非可逆圧縮や浮動小数点数はある意味現実の劣化コピーだから
現実とお花畑の対立を煽れば煽るほど劣化コピーという身分が固定されてしまう
761デフォルトの名無しさん
垢版 |
2023/07/21(金) 11:44:03.63ID:wjGhTghi
>>751
絶対的性能を評価するためのものではなくて
要素数の変化に対する性能変化の次数(order of growth)を分かりやすく把握するためのもの
“計算量”という誤った訳語から受ける印象に引きずられてはいけない
762デフォルトの名無しさん
垢版 |
2023/07/21(金) 11:51:22.56ID:7DNLJ1Kp
トータルの消費時間を決定する要因は複数なんだから
律速段階も見極めずに最適化しても意味はない
2023/07/21(金) 14:00:29.86ID:7qvd6Y5g
>>759
抽象度が高いことによる速度面の不利はコンパイル時間の方で吸収してると思う
2023/07/21(金) 14:39:47.78ID:73tgjVOL
FireFoxは糞ブラ

Rustは糞言語

C/C++勝利
2023/07/21(金) 15:20:14.46ID:a1CVw2PP
>>763
2023/07/21(金) 16:03:44.31ID:JG1QJO7i
>>754
それが必要ない場合もある。
頭の良し悪しが問われる。
2023/07/21(金) 19:13:00.15ID:EuuKLcB1
フィールズ賞を受賞してる日本人で広中さんって人がいるよな
広中さんは「自分は鈍才だが、森君は天才」と言ってるそうな(wikipedia調べ)
このスレで数学の才能がどうのと言ってる人はこれもう
ひょっとしたら森さんなのかもしれんな
森さんって人も、フィールズ賞受賞してる数学の天才

このスレすげーな
768デフォルトの名無しさん
垢版 |
2023/07/21(金) 19:42:37.78ID:LLLiYepM
日本は30年以上フィールズ賞出てない
韓国は数年前出てる
しかもヲタ属性の好青年
2023/07/21(金) 19:48:10.45ID:EuuKLcB1
広中さんほどの人でも鈍才ってことなんだから
自分で数学の才能をアピってくるやつって
なんか凄い賞とか受賞してたりするんやろな
そうやって世界に認められてるんやろな
2023/07/21(金) 20:26:35.88ID:xlwh4aD5
そんなことよりLinkedListとO記法の勉強しろよw
2023/07/21(金) 20:45:01.52ID:7DNLJ1Kp
フィールズ賞で思い出したけどモッチーはどうなった?
宇宙際タヒミューラー理論(調べずに記憶をもとに書いてるw)
はどうなった?
2023/07/21(金) 20:50:46.81ID:AI3linaX
作品に罪はないと三回唱えれば
受賞が目標だった人もいつの間にか無罪が目標になってる
2023/07/21(金) 21:00:24.54ID:xlwh4aD5
>>771
タイヒミュラーな
フィールズ賞受賞で世界で3本の指に入る天才のショルツからの反論がなくなったのでもっちーの勝ち
2023/07/21(金) 21:05:46.80ID:EuuKLcB1
世の中には凄い天才がいるもんですねえ
2023/07/21(金) 21:08:55.93ID:7DNLJ1Kp
>>773
そうそうタイヒミュラー
そうなんだモッチー勝ったんだ
若かったらこの人も取ってたと聞いたことある
2023/07/21(金) 21:10:02.45ID:EmQ2vqLD
もうつべですら名前出なくなった
ここくらいやろ
2023/07/21(金) 22:04:13.55ID:xlwh4aD5
>>775
勝ったは勝ったが人格否定レベルの反論論文を出してしまったので
世界的に認められることはなさそう
2023/07/21(金) 22:30:59.27ID:1a4kRuD0
もしかしたら今数学板で暴れ回ってるアホここまで進出してるんかな
2023/07/21(金) 22:49:21.36ID:xlwh4aD5
そいつが同一人物なのか知らないがそれだったら皮肉だな
LinkedListの間違いを指摘し俺は数学科出身だ
2023/07/21(金) 23:04:33.44ID:/OSxXnE2
モッチーが勝ちと言ってる時点で数学科卒の面汚しとわかる
2023/07/21(金) 23:12:54.88ID:s5ilNDrf
たまたま間違い指摘されたやつが数学科とかw
こうなるともう数学にマウントを取られ続ける人生だな
宿命というべきか
2023/07/21(金) 23:32:01.38ID:AI3linaX
大衆の反逆とか、下民に足を引っ張られる問題に詳しい人がいて
じゃあ逆に上からマウントすれば問題ないよねって思いついたハッカーがいて
マウントが流行した
2023/07/21(金) 23:35:54.82ID:xlwh4aD5
安心しろ俺も数学は挫折した
ゼミの時の代数幾何の教科書で完全に心折れた
得意だったプログラミングの方に逃げただけだ
2023/07/22(土) 00:15:00.79ID:zZd5vg4P
mojo🔥が完成したらrust失速する?
2023/07/22(土) 00:25:44.41ID:GoncfkXA
本当に理想的な速度が出るならわからないが
まあ難しいと思う
同じ作者のswiftが速度的にはObjective-Cに比べると負けまくってる事実からそうそう簡単ではない
2023/07/22(土) 00:28:58.77ID:GoncfkXA
Rustのようにゼロコスト抽象化を踏まえた言語デザインをしないと難しいでしょう
pythonに型を指定しただけで速くなるなら
とっくに速くなっている
2023/07/22(土) 00:32:22.74ID:zZd5vg4P
そっか~
色々RustからパクってるみたいだけどPythonが多少マシになるならいいけど
2023/07/22(土) 00:44:48.84ID:htX2UcZa
Mojoの設計は積極的にC++とRustを批判してるもんな

>> C++とRustは、デフォルトで値を渡す方法についてプログラマと奇妙な戦いを始めたことに注意してください。
>> テンプレートは通常、コピーを避けるために const& を使用しますが、これは int のような単純な型を渡すには非効率的な方法です。
>> 私たちは、直接アドレス指定する型レベルのアノテーションを提案します。これにより、言語内の引数に対してより広範囲に借用を使用できるようになります。

>> 値のデストラクターを定義する方法ができたので、それを自動的に呼び出す必要があります。
>> ローカル値バインディングのデストラクターはどこで呼び出すのでしょうか? 主な選択肢は 2 つあります。
>> 私は Swift モデルに従うことを推奨します。これによりメモリの使用量が削減され、実際に問題が発生するのを見たことがありません。
>> これに関するトレードオフは、これによりC++ プログラマーが驚くべき可能性があるということです。
2023/07/22(土) 01:08:17.00ID:GoncfkXA
>>787
SIMDがLLVMベースで自動で最適化されたり
ムーブ代入できたりモダンな要素はあるけどね
2023/07/22(土) 01:08:28.87ID:htX2UcZa
Mojoにはsafeエリアが無さそうだな
つまりプログラム全体がunsafeエリアであるC++と同じ方針をとっているのか
Rustのようにコンパイラがなにもかも保証してくれるsafeエリアを設けないと対抗できないよな

>> Mojoにはまだ適切なライフタイムマーカーのサポートがありません。
>> つまり、返された参照を推論できないため、Mojoはそれらをサポートしていません。
>> 明示的なポインタを渡すことで、安全でない参照を返したり保持したりできます。

>> Mojo は、オブジェクトを破壊できると判断するとすぐにオブジェクトを破壊します。
>> つまり、安全でない参照があるオブジェクトの有効期間を手動で延長する必要があります。

>> 左辺値が返されないということは、適切なライフタイム生涯サポートが構築されるまで、
>> 特定のパターンを実装するにはマジックキーワードが必要であることも意味します。
>> そのようなパターンの1つは、オブジェクトから安全でない参照を取得することです。
2023/07/22(土) 01:30:10.61ID:psW1WegU
Pythonは何しろユーザー数多いからね
それを取り込んじゃう戦略
Rustより有望かもね
792デフォルトの名無しさん
垢版 |
2023/07/22(土) 08:35:49.24ID:YLqzZrt5
Rustが馬鹿向けという評価には全く同意である
だからと言ってRustが馬鹿専用かというとそうでもない
上級者も馬鹿向けのRustを利用しては逝けないという障壁は全く無いのだから

きみらにとって現在はC/C++の習得コストは0かも知れないが
過去に初見からのC/C++の習得コストがどうだったか思い出して欲しい
2023/07/22(土) 08:44:04.68ID:YLqzZrt5
>>767
広中さんはMac使ってたけどコンピュータに関してはかなり音痴な方だった
数学能力と情報処理能力は必ずしも比例しない
2023/07/22(土) 08:46:08.53ID:YLqzZrt5
>>767
>広中さんは「自分は鈍才だが、森君は天才」と言ってるそうな(wikipedia調べ)
wikipedia 観たけど「森君は天才」なんてどこにも書いてないぞ
森君ってひょっとして森毅のことか
2023/07/22(土) 08:46:16.17ID:OpWxnY6j
>>792
俺はすごく時間かかったけど、普通は・モチベがあれば速いんじゃねーの
他人をバカにしてはいけない
2023/07/22(土) 09:07:15.86ID:eFQEbPGf
>>794
森重文の人物の欄に書いてる

> 広中平祐は「自分は鈍才だが、森君は天才」という[8]。
> 8. ^ 「気鋭の数学者 京大数理研に集う」、『日本経済新聞』2015年9月2日朝刊。
2023/07/22(土) 09:16:42.85ID:eFQEbPGf
>>247
> 俺は実世界ではとても優秀だと評価されている。

これってフィールズ賞のことだったのか?
そりゃ優秀だわ
2023/07/22(土) 10:52:28.80ID:wzDYyI8z
自己評価高すぎる爺って周りから煙たがられてそう
2023/07/22(土) 12:47:34.51ID:tvxxAvU4
キャッシュメモリ云々の話は解決したの?
2023/07/22(土) 14:05:46.99ID:o1deZ1gA
それより病気の治療が先
2023/07/22(土) 14:17:40.70ID:j4FWBx/w
トポロジー理論を極めると細かい差異が見えなくなってドーナツとコーヒーカップが同じになるとか言うし
数学の才能があってアルゴリズムを極めた人間には実世界で計算量のオーダに付随する係数も見えなくなるんだろう
だから(1000000×N)と(3×N^2)は常に(3×N^2)の方が大きく見えるようになるし
それに違反する実測結果もすべて(高々有限個の)例外にしか見えなくなる

話が通じない場合も多々あるけど我々とは見えてる世界が違うと思って諦めるしかない
2023/07/22(土) 14:27:29.52ID:psW1WegU
そもそも数学が極まってる人にはとても見えないのだが...
2023/07/22(土) 14:27:59.80ID:eFQEbPGf
ここにいるやつらって基本、数学できるやつだと思うんよ
子供の頃から算数も数学も別に苦手としてなかっただろ?
全科目サボってた割に数学物理は点取りやすかっただろ?
だから理系の理学部、理工学部、工学部に進んだりしただろ?

でも
その時周りに「数学の才能がある」とか自らアピってるやつおった?
一体どれだけの才能に恵まれたら自らアピりだすんだろうな
2023/07/22(土) 15:49:30.96ID:YLqzZrt5
>>801
>数学の才能があってアルゴリズムを極めた人間には実世界で計算量のオーダに付随する係数も見えなくなるんだろう

簡単な例だと nCr の公式
Σ(n!/(r!(n-r)!))
馬鹿正直にこの通りにloopすると無駄な計算が多い
2023/07/22(土) 16:16:53.88ID:kAWTuV72
なんかのAAに見えてしまう俺(ry
2023/07/22(土) 16:38:56.50ID:j4FWBx/w
シグマつけるとnCrの公式じゃなく2^nになるな
2023/07/22(土) 16:52:58.46ID:NWfMWzFP
普通にかけて行ってO(nklog(n))くらいはすぐ思いつくけどもっと早い方法あるん?
2023/07/22(土) 16:59:32.04ID:NWfMWzFP
もちろん固定長レジスタで桁数の増大分も込めてO(knlog(n))ね
桁数の増大無視、純粋な掛け算、割り算回数なら掛け算2k-2回、割り算一回で2k-1回の四則演算で出せる
桁数がO(n)だから一回の乗算、除算はn×log(n)前後
もっと早くできる?
2023/07/22(土) 17:08:56.89ID:GoncfkXA
>>801
N→∞に飛ばすんだよ?
1000000より遥かに大きい数がNと考えても良い
係数なんか意味なくなるでしょ
2023/07/22(土) 17:11:59.52ID:NWfMWzFP
あ、わかった
Binetの公式で少し早くなるのかな?
2023/07/22(土) 17:20:36.85ID:j4FWBx/w
>>809
工学上実用的なNの範囲では係数が大きな意味を持つ場合もあるんだけど
そうやってすぐに係数を捨てちゃうから話が通じなくなるってこと

と言っても通じないから結局諦めるしかないんだけどね…
2023/07/22(土) 17:36:20.37ID:GoncfkXA
>>811
O記法は実用的な話はしてないよ
あくまでアルゴリズムの計算量だけに特化したもの
実際はNが支配的じゃないような場合は多々ある
そういう理解をしておくべき
2023/07/22(土) 17:37:57.59ID:GoncfkXA
まあとはいえそんな係数だけが大きい定数となるケースはほとんどないのでだけどね
そのような場合は間違いなくNが関与していることが多い
2023/07/22(土) 17:41:04.50ID:GoncfkXA
数学が苦手な人はこのように基本的な定義とか定理をきちんと理解してないことが多い
それなのにこの場合はおかしい!と言う
定義に戻ってみるとそんな場合のことは言ってないことが多い
2023/07/22(土) 17:46:37.41ID:GoncfkXA
O記法はnを無限大に持って行った時の話
o記法はnを無限小に持って行った時の話
きちんと定義を確認しよう
これらは大学の微積でやるよ?
ちな数学での定義は厳密に書かれているから分かりにくいが直感的な理解の仕方を自分で考えるのが良い
2023/07/22(土) 17:55:32.12ID:XFIdOXKk
ちゃうで
https://ja.m.wikipedia.org/wiki/%E3%83%A9%E3%83%B3%E3%83%80%E3%82%A6%E3%81%AE%E8%A8%98%E5%8F%B7
2023/07/22(土) 18:03:08.40ID:GoncfkXA
厳密に書くとそうなるだけだよ
無限大や無限小を正確に表すにはイプシロンデルタや上界下界の定義が必要
ただこれらはプログラマにとってはオーバースペックなので俺のいう上の直感的な定義を理解しとけばよろしい
2023/07/22(土) 18:07:40.13ID:GoncfkXA
数学がある程度出来る人は正確な定義と
理解するための直感的な考え方を持ってる
しかし教科書ではその直感的な考え方を書くと同業者から不正確だ!って突っ込まれるので書きにくい
だから勉強しにくい
ほんと困ったものです
2023/07/22(土) 18:16:40.96ID:GoncfkXA
O記法やo記法はnを無限大/無限小に持って行った時
どういう関数になるのか?を表しているだけなのです!
どん!ね、簡単でしょ
■ このスレッドは過去ログ倉庫に格納されています