[過去ログ]
「数学」をプログラミングするには (1002レス)
「数学」をプログラミングするには http://mevius.5ch.net/test/read.cgi/tech/1710585705/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
1: デフォルトの名無しさん [] 2024/03/16(土) 19:41:45.98 ID:nuwGv9us たとえば、プログラミングで π/4 = 1 - 1/3 + 1/5 - 1/7 + ... を近似ではなく厳密に確かめるにはどうしたらいいの 人間が証明できるってことは、有限なアルゴリズムに書き換えられると思うんだけど http://mevius.5ch.net/test/read.cgi/tech/1710585705/1
56: デフォルトの名無しさん [] 2024/03/22(金) 15:38:04.26 ID:m8Pakijg 現代数学は集合と写像の言葉で書かれている 写像は関数の一般化だからC言語やHaskellなどの関数型言語では数学をプログラミングできない RubyやPythonなどにはsetやmapといった機能があるから これで数学をプログラミングできると思われる http://mevius.5ch.net/test/read.cgi/tech/1710585705/56
70: デフォルトの名無しさん [] 2024/03/23(土) 12:47:39.65 ID:g/HfMmmn >>69 機械語に識別子はないからできないだろ。Cでは長さnの配列aの各要素に関数fを適用した結果を 配列bに格納する関数 map(f, a, n, b) を簡単に自作できる。 http://mevius.5ch.net/test/read.cgi/tech/1710585705/70
72: デフォルトの名無しさん [sage] 2024/03/23(土) 14:11:05.89 ID:O64Y227M >>70 普通mapは配列に対してではなく もっと一般的にイテレータに対して適用 結果もイテレータとする その結果を例えばfor文で使う場合 わざわざ結果を配列に入れても無意味だったことになるからだ mapを多段にした使った場合も同様で中間結果配列は無意味になる だからmapの入力も出力もイテレータが使われる http://mevius.5ch.net/test/read.cgi/tech/1710585705/72
74: デフォルトの名無しさん [sage] 2024/03/23(土) 15:36:22.16 ID:O64Y227M >>73 配列から配列なんて嘘つきだな 例えば写像の入力を数学でもよくある自然数とする これは配列では表現できない イテレータならば表現できる 出力も同様で配列は不可能だがイテレータなら可能 http://mevius.5ch.net/test/read.cgi/tech/1710585705/74
126: デフォルトの名無しさん [sage] 2024/03/25(月) 21:32:48.72 ID:VkynB6Jg プログラマは数学である必要がある http://mevius.5ch.net/test/read.cgi/tech/1710585705/126
230: デフォルトの名無しさん [sage] 2024/04/12(金) 11:00:23.24 ID:n/WEiCkF 厳密に求められないからπという記号を用いたわけで コンピュータで扱う場合はπという記号定数を使えばいいだけ 無限に続くので3.14...を厳密に求めることはできないのは数学もコンピュータも一緒 1がしたいことが何なのかよくわからん http://mevius.5ch.net/test/read.cgi/tech/1710585705/230
260: デフォルトの名無しさん [] 2024/04/12(金) 23:55:46.84 ID:lpyrPPhz >>1 > たとえば、プログラミングで > > π/4 = 1 - 1/3 + 1/5 - 1/7 + ... > > を近似ではなく厳密に確かめるにはどうしたらいいの > 人間が証明できるってことは、有限なアルゴリズムに書き換えられると思うんだけど 人間が証明出来るからって、有限なアルゴリズムに書き換えられるとは限らないんだよなぁ…。 そもそも人間の証明がlimとか使って(仮に無限回繰り返せれば)極限はnになる(だろう)って感じで有限のアルゴリズムじゃない訳で。 http://mevius.5ch.net/test/read.cgi/tech/1710585705/260
306: デフォルトの名無しさん [sage] 2024/04/15(月) 12:44:15.61 ID:scEUff9F >>305 だから存在をどうやって示すんだ http://mevius.5ch.net/test/read.cgi/tech/1710585705/306
340: デフォルトの名無しさん [sage] 2024/04/16(火) 16:09:15.10 ID:X3z51ZSN >>337,339 そんなことより、これを大学数学初年度の回答レベルで解いてみてよ https://i.ytimg.com/vi/gt5VVmztpak/hqdefault.jpg http://mevius.5ch.net/test/read.cgi/tech/1710585705/340
596: デフォルトの名無しさん [sage] 2024/11/12(火) 04:10:14.19 ID:15KCzjek x^2 = 2をみたす正の実数xは一意的に存在する なら、それを√2というシンボルで扱えるようにすべきだ 計算は必要なときにだけすればいい x = 1.4142云々という数値にしなければ扱えないのは不要な制約 これは誤差があるとかそういう問題ではない 人間の思考をコンピュータの都合に合わせようとしているのが問題 http://mevius.5ch.net/test/read.cgi/tech/1710585705/596
644: デフォルトの名無しさん [] 2024/11/16(土) 21:13:01.66 ID:ZAMRkSMG >>641 Σ(n = 0, 100) 2^(-n) ≠2 -- 100の部分が∞になった時(2^(-∞))、初めて 2 になる。 数学だと真(True)になるが、Haskellプログラムは-53乗から答えが2になって、この式は偽(False)になる。 sum [2^^(-n) | n <- [0..53]] /= 2 = False -- 間違った答えを表示。 グラフアプリ(Webアプリ)のDesmosでも確認したので、専用のアプリや言語でも間違ってる可能性が高い。 こういう精度の問題がプログラムはメモリが有限である限り、必ず存在する。 (√2)^2 = 2 が正しく真になるかどうかもプログラム次第。 (こちらはグラフアプリの様な専用のものは対応してることが多い) http://mevius.5ch.net/test/read.cgi/tech/1710585705/644
654: デフォルトの名無しさん [] 2024/11/18(月) 02:18:05.70 ID:cmnYUiAb というか、私の主張は 数学 lim_{k to 100} sum_{k=1}^{n} 2^(-k) -- ちゃんと近似値が出る。 プログラミング sum [2^^(-n) | n <- [0..100]] = 2 -- 近似値ではなく、極限値の2になって(この時点での)正確な値ではない。 プログラミングはイプシロン-デルタ論法が(一定の精度までしか)出来ない。 それでも実用上問題は無いが。 他にも無限次元の空間とかも扱えない。 集合の添え字集合も可算集合とは限らない。 実数や複素数も有り得る。 リストや配列のインデックスが実数や複素数とかプログラミングじゃ出来ない。 http://mevius.5ch.net/test/read.cgi/tech/1710585705/654
687: デフォルトの名無しさん [] 2024/11/18(月) 20:05:19.56 ID:cmnYUiAb >>680 ε自体はな。 でも、真の値aに対して a + ε, a - εって使うのがイプシロンデルタ論法。 数学ではそれで限りなく無限に近くεを小さくしてもその範囲内に真の値が存在することを証明しているが、 プログラミングでは一定の大きさのεまでしか保証されない。 こういえばいいか? 真の値は確かにあるが、プログラミングでは間違った値を返す場合がある。 極限が正しければ厳密じゃない。 途中もすべて正しくないなら、それは厳密ではない。 http://mevius.5ch.net/test/read.cgi/tech/1710585705/687
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.056s