プログラムを組むのに数学の勉強は必要か?ケンモメンの意見は

1 : 2021/06/09(水) 06:00:44.97 ID:eiwi0kzb0

「ITエンジニアと数学」ーー みなさんはどんなイメージをお持ちでしょうか? ITエンジニアと一言でいっても,職種はさまざまですので,業務の内容によってイメージは異なるかもしれません。数学を駆使してさまざまなアルゴリズムを使いこなすプログラマー,あるいは,統計学と機械学習でデータを分析するデータサイエンティストといったあたりでしょうか。ITの基礎となるデジタル計算機(あえてこう呼びます!)やプログラミング言語が,数学に基づいた原理に支えられているのは間違いありません。しかしながら,IT業界の中でも,「�ワだまだ数学はよくわからない」「�アれからでも数学の勉強を始めたい」と考える方は少なくないようです。

数年前,機械学習ブームが広がり始めたころ,「�@械学習をマスターするのに数学は必要か?」という話題が私のまわりで盛り上がりました。世間の声に耳を傾けると,「�@械学習を使いたければライブラリをインポートすればいいだけ。数学なんか知らなくてもいい」という過激な意見もあれば,「�ヲ? 数学を勉強していないITエンジニアなんているの?」という,これまた反応に困ってしまうコメントをいただくこともありました。いずれにしても,「鶴Tエンジニアが数学をどう学ぶべきか」は,みなさんの関心を集めるテーマのようで,Software Design誌でも数学をテーマにした特集がなんどか組まれてきました。

(中略)

さて,それでは,ITと数学にはどのような関係があるのでしょうか? 冒頭で触れた機械学習に関して言うと,「��`代数が機械学習の基礎です!」といった説明を耳にすることがあります。ところが・・・数式混じりの機械学習の教科書を開いてみると,線形代数の教科書に出てくるような「固有値,固有ベクトル,行列式」と言った言葉はあまり出てきません。もしくは,プログラミングのアルゴリズムを解説した書籍を開いてみましょう。アルゴリズムの実行時間を求める数式などは登場しますが,アルゴリズムの手続きそのものは,数式でもなんでもありません。疑似コードか,普通の言葉で処理の手続きが書かれていることがほとんどです。やはり,ライブラリをインポートして使うだけなら,数学の深い知識は要らないのでしょうか? ー�[ いえいえ,そんなことはありません。

数学がもっとも得意とするのは,さまざまな例にあてはまる「共通の仕組み」を見つけ出すことです。図は,「�oftware Design別冊:ITと数学」からの引用ですが,線形代数と言うのは,線形空間と呼ばれる数学的な「構造物」の性質を解き明かす学問であり,その性質を表すのが「固有値,固有ベクトル,行列式」と言った考え方です。一方,機械学習に登場する「ニューラルネットワーク(人間の脳を模した数理モデル�j�vの中には,線形空間と同じ構造が隠されています。「��`空間の性質」をあらかじめ知っていれば,その知識を用いて,ニューラルネットワークの仕組みや性質が想像できるようになります。線形代数の知識をつかわずにニューラルネットワークの仕組みを学ぶよりは,圧倒的に理解のスピードが上がります。そして,同じ線形空間の構造は,図形変換,あるいは,Web検索のページランクなど,プログラミングの世界にも隠されています。つまり,数学の知識は,ITのさまざまな分野の理解をスピードアップする,「�ミと粒で二度も三度も美味しい」アクセラレーターなのです。

(全文はこちら)
https://gihyo.jp/book/pickup/2021/0029

2 : 2021/06/09(水) 06:01:54.90 ID:fZS0ZpZTM
プログラム組むのには不要

ただしプログラムで何か作りたいなら必要

3 : 2021/06/09(水) 06:02:52.46 ID:WvhFGZs10
行列は知っておくと便利
4 : 2021/06/09(水) 06:04:09.16 ID:qUu7VBLz0
英語の方が必要
5 : 2021/06/09(水) 06:04:22.12 ID:r2CcNuiF0
確実に必要だろうね
数学を知らなきゃ行番号さえ振れないじゃないか
9 : 2021/06/09(水) 06:05:49.05 ID:GhbfVF310
>>5
それ数学いらんじゃん
6 : 2021/06/09(水) 06:04:33.98 ID:/hIFQdmy0
日本のプログラマーの95割は数学できないだろ
41 : 2021/06/09(水) 06:20:34.31 ID:a+f2JEPj0
>>6
確かに出来なさそう・・・・
7 : 2021/06/09(水) 06:04:54.76 ID:wIavYr2Z0
まずは書いてみよう
必要な数学はやりたい事が出来てから身につけてもいい
8 : 2021/06/09(水) 06:05:39.59 ID:0NXIXboNa
3Dか機械学習で新しいことやるとか位か?
10 : 2021/06/09(水) 06:07:05.69 ID:M+3tcEEgM
算数レベルでも何とかなる

これまでに作ったアプリはいわゆる数学は使ってない

11 : 2021/06/09(水) 06:07:20.00 ID:EPamvMoV0
ド・モルガンの法則とか
if文で使うから必要
14 : 2021/06/09(水) 06:08:36.14 ID:M+3tcEEgM
>>11
国語の問題だろ
12 : 2021/06/09(水) 06:07:21.48 ID:hk+nl+7C0
日本のプログラマーは中学生レベルの数学もできないのが大半だぞ
ソフトウェアの知識もないから逆アセンブリして解析して勉強することもできない
13 : 2021/06/09(水) 06:08:11.32 ID:ydVq+kl60
大事なのは構造をイメージできることだろ、アルゴリズムとかは既存のコピペでいいんだ支那
15 : 2021/06/09(水) 06:09:22.67 ID:Vam0yamn0
数学抜きで何作る気だよ
数学要らないとか言ってる奴はレベルが低すぎるだけ
16 : 2021/06/09(水) 06:10:08.35 ID:YfD9ilZr0
小学生の頃からゲーム作ってたけど
数学??
やる気だけだろ
17 : 2021/06/09(水) 06:10:19.86 ID:Tz6SU9kWp
有能なプログラマーは全員数学得意だった
例外なく全員
やるやらないは別に適正として
18 : 2021/06/09(水) 06:11:47.79 ID:FJWJANT+0
わざわざ改めて勉強するまでもなく高校までの数学ならちゃんと理解してるよね?
22 : 2021/06/09(水) 06:13:31.05 ID:GhbfVF310
>>18
中1レベルの数学しか覚えてないわ
それでもプログラム組むのは困らない
難しい物理演算とか化学式とかやらなきゃ使わんだろうな
30 : 2021/06/09(水) 06:16:38.27 ID:FJWJANT+0
>>22
まあな
ゲーム作るのに高校数学が必要になるくらいだな
19 : 2021/06/09(水) 06:12:59.40 ID:nHkcRfud0
数学の時間をすべて英語に回せば多少は日本人の能力も上がるんじゃね
20 : 2021/06/09(水) 06:13:16.59 ID:xi84NmAv0
勉強する気がないやつは何にもできない
21 : 2021/06/09(水) 06:13:20.81 ID:Paj8XMdT0
いらないよ
そのための計算機なんだから
23 : 2021/06/09(水) 06:13:59.16 ID:5HF03AxRM
関数、集合、論理、数列
このあたりは必須だろ
24 : 2021/06/09(水) 06:14:14.72 ID:01qmEdhL0
離散系の基礎は必須
25 : 2021/06/09(水) 06:14:18.31 ID:Paj8XMdT0
普通のプログラミングなら四則演算できればok
26 : 2021/06/09(水) 06:14:34.95 ID:kvBzrEL90
日本は数学わかんなくてもプログラマーになれるよ
35 : 2021/06/09(水) 06:18:35.35 ID:gg81TwcaM
>>26
どこだろうがなれる
そんなもん本当に必要だと思ってるの?
コードを書くなんて煮炊洗濯と同レベルだろ
27 : 2021/06/09(水) 06:15:09.31 ID:zJ/7OA+m0
必要どころか必須を通り越し才能がいるよな
28 : 2021/06/09(水) 06:15:42.76 ID:5HF03AxRM
統計とかも知ってたほうがいいな
性能測定するときに使う
あと根本的に工学の基礎知識
29 : 2021/06/09(水) 06:16:28.30 ID:xWUrXd9m0
いつも指使って計算してるで
31 : 2021/06/09(水) 06:17:14.70 ID:gg81TwcaM
要らんだろ
ゴタゴタ生産性のない事を考えてるならさっさと作ったほうがいいと思う。
32 : 2021/06/09(水) 06:17:25.86 ID:X0BkH1ibr
コピペプログラマが増えてる今必要ないよ
33 : 2021/06/09(水) 06:17:59.63 ID:9rAFi4E20
必要
PID制御で泣いた
34 : 2021/06/09(水) 06:18:13.05 ID:E1xdP45p0
if文で無理やり作れるけど数学知ってればスマート
36 : 2021/06/09(水) 06:19:28.71 ID:5HwtUJwhd
お前ら橋下と同じなんだなw

「自分は使ったことないから不要」

37 : 2021/06/09(水) 06:19:33.25 ID:FJWJANT+0
高度な数学っていうより小学校の算数とかで出た文章問題な
算数や数学に苦手意識持つ人はまずそこで挫折するらしいんだが
ああいうのをさらっと理解できるセンスは必要だと思う
物事をなんでも数値や数式に当てはめていくわけだからな
38 : 2021/06/09(水) 06:19:33.55 ID:gg81TwcaM
そもそもおれは分数の割り算すらやり方を忘れるがwww
それでもミサイルの誘導はできるからなw
39 : 2021/06/09(水) 06:19:48.37 ID:Zl/WLpEr0
不要だがあったほうがいいというレベル
良いコードは誰が見ても分かる簡単で簡潔な記述としている
エレガントで一見かっこいいコードは保守性最悪で書くやつは下手するとホリエモンの漫画のようにパワハラ食らって消える
競プロじゃねえんだからさぁ
40 : 2021/06/09(水) 06:20:26.96 ID:ObGYHG+g0
ゲーム作るなら三角関数必要だったりしないかね
角度いくつでこの距離ぶん動かすためには1フレームごとに縦に何ドット、横に何ドット移動させるとか
計算で出してるんじゃないの

コメント

タイトルとURLをコピーしました