はてなキーワード: 加減乗除とは
IT業界 (デカい) の「初心者向け」「ゼロからはじめる」勉強会とか記事ってたくさんあるけど、その「初心者」って
みたいな、講師を担当している「ご立派なエンジニア自身」を念頭に置いてるよね。
でも、世の中の、初心者向け勉強会とかで「誰かに教わらないとはじめられない」人って、
っていう感じだから、そこに合わせるか、逆に「この勉強会でいう『初心者』はこのレベルに達している人です」と明示する必要があるよね。「初心者向けに情報を発信しよう」と思う人は、「じゃあ自分が言っている『初心者』ってどんな人なんだろう」と想像する必要があるんじゃないかな、と。
もちろん、「そんな段階の人がこの技術を使うべきでない」という主張もできるけど。
センスの無い奴の問題は、知識がないことではなく、頭がおかしいことなんだ。
これは後天的に直せない。そして、センスのないプログラマは他人に迷惑をかける。だから、センスのない奴はプログラマになってはいけない。
こんなのは誰でも書ける。身長(m)と体重(kg)を受け取って、(体重)÷(身長*身長)を計算して出力するだけだ。
GUI等をつけたとしても、総コード行数10数行で実装できるだろう。
ところが、センスのないやつは全く違うことを考える。
彼らの一部は、BMIを計算するプログラムを作るのに、なぜかユーザー登録画面を作ろうとする。
そして、身長と体重のほかに、年齢や性別などの様々なパラメータを管理できるようにし、それらのパラメータを日ごと、あるいは週ごと、あるいは月ごとに入力できるようにし、指定期間での推移をグラフで表示するシステムを作り出す。
ユーザーごとに管理するパラメータの種類は増減するため、BMIを計算する場合、「身長と体重はどのフィールドに格納されているか」というような間接的な情報が必要になり、それを記載した設定ファイル等を読み取る別のプログラムを作り出す。
BMI以外の様々な指標を計算させるために、設定ファイルに書ける独自のDSLのようなものを作り、パラメータ同士の加減乗除や、指定した期間の移動平均などを計算できるようにする。
データ定義にもとことん拘る。単位を何にするかとか、グラフで表示したときに何色にするかとか、軸に単位を表示するかとか、スケールからはみ出したときにどう表示するか等のありとあらゆる情報を各パラメータに対して定義できるよう設計する。
こうして出来上がった巨大なシステムは、身長Hと体重Wを入力すると、W/H*Hの結果を表示するためだけに使われる。
既に述べたように、ここで問題なのは、彼がYAGNI(You Ain't Gonna Need It.)という原則を知らないことではない。
「普通の開発者ならあえてそんなことはしない」ということを自然に行ってしまうこと。これが本質的な問題なのだ。
ちなみに、センスのない奴の頭のおかしさというのは、本当に常軌を逸している。だから、読者がすっと腑に落ちるような例を挙げることは極めて難しい。
たとえば、「数学ができない生徒がいる」という現象を説明するためには、「計算問題は解けるが、文章問題は解けない」というような類型を示すことができる。しかし、「センスのないプログラマ」は、常人の世界観を超越しているので、そういうシンプルな例示や説明ができない。上に書いたたとえ話ですら、実在する彼らに比べれば、まだマシなのである。
確率警察です。軽自動車の安全性について考察してバズった記事を読んで、驚いたので確率についての記事を書きたいと考えた。この記事で伝えたいのは以下の内容になる。
https://anond.hatelabo.jp/20180822005110
全体に対して部分が占める比率の事。比率とは二値A,Bあり、AのBに対する比率を表す場合、A÷Bで示される値の事を言う。
例
比率は特に全体を定義する必要はない。割合と確率は全体が定義されて初めて意味がある。
すなわち、(正規化を行ったとして)、割合は全部分の割合を合算した場合1になる様に、確率は全事象の確率を積分すると1になる様に定義されなければならない。
かみ砕くと、いま宝くじが1等~7等、そしてはずれで構成されているとして、1等から7等とはずれの枚数を足した場合に宝くじ全体の枚数となっている必要があるし
1枚をひいたときに、1等から7等とはずれが出る確率を足したものは1になる必要がある
上記を言い換えるとこうなるが、ここはわからなくてよい。確率は公理みたさなくてはならない。数式を書くのが面倒なのでリンクを張る
http://bin.t.u-tokyo.ac.jp/spzemi2013/chap1.pdf
元増田は普通車登録台数にたいする、事故件数の「比率」を求めている。事故は同一運転手及び同一車両による重複もあり得るとしたら、割合ですらないし、まして確率ではない。
したがって「事故発生率」という事象の発生する割合と誤認させるような表現は、明らかに間違いである。
正しく表現するなら、こうなるべきだろう
1万台当たりの死亡事故数を比較したとき、軽自動車の普通自動車に対する死亡事故数の比率は、1.39となり。死亡事故数が4割近く多い事が言える。
ここまでの説明から、この4割が40%高い「確率」で死ぬということを意味しないことは明らか。「発生率」という言葉とともに、大いに誤認を誘うものとなっており、元増田が確率を理解しているかは疑わしい。
hatekun_b 結論から書いてあって大変読みやすい。台数あたりの事故発生数は7%増なのに死亡数は39%増ということは、一事故あたり30%多く死ぬってこと(4人乗ってた普通車なら1人生き残れても軽だと全滅する)
ここまで説明したことから、比率の加減乗除は無価値であり何も言えてないことが分かるはずである。正しい理解があれば、「一事故あたり30%多く死ぬ」などという結論には、絶対に至らない。
唐突だが、今ここで、ある人の誕生から時間経過にかんする死亡率を考える。人間は必ず100歳までに死ぬ、生死の状態は背反であり半分死んでるなどは認めない、と仮定しよう。死亡率を定義する関数Fを年齢について表す場合、F(60)=0.05などと表せる。
この時、60歳の1年間で死ぬ確率は0.05 = 5%である。F(0)からF(100)までを足すと必ず1になり、F(x)、年齢 xは0以上かつ100以下、 は必ず F(x) は 0以上かつ 1以下 を満たすものである。この時のF(x)の値を確率変数、関数Fの値がなす分布を確率分布とよぶ。
答えはNoであろう。身長体重、性別、などなど多くの情報の影響もうけるはずである。年齢も含めた死亡率に関連のある数値を、関数の値を決定する変数として定めた場合、関数FはF(x0,....,xn)= y のように表せる事になる。
この時、各変数x_i,iは0以上かつn以下、 が互いに影響を与えない、すなわち独立しているならば簡単だが、死亡率のようなものの場合には各変数は互いに相関を持つことは想像に難くない。これを交絡という。
元増田は死亡比率を語っているだけだが、あえて死亡率であることを認めたとして、車種を変更した場合に死亡率は決まるだろうか?上記の話から、死亡率も多数の変数の交絡を考える必要があることは明らかであろう。
したがって、車種を変更しただけで「死亡率」を乱暴に扱う元増田の考え方は非常に危険と言わざるを得ない。死亡比率であったとしても、死亡事故の発生件数を定義する関数は多変量であるはずで状況としては変わらない。
見てきたように元増田は確率に対する誤った理解から、多くのブックマーカーに誤認を与えてしまっている。非常に残念なことだ。軽自動車の開発に携わる人々は、購入者の事を考えて、より便利で快適で安全な車を提供しようと努力をしている。
乱雑で誤った数値いじりによって、軽自動車が普通自動車に対して著しく危険とするのは間違った考え方で改めてほしい。安全試験の結果など、対象の車について明確に定義されている値のみを参考にしていただきたいと思う。
またはてなーの皆様には、確率という割と雑に扱われ適当に参照されてしまう数学を、改めて理解しなおしていただきたいと思う。この程度の基本知識は一般教養として知っておいて損のない話のはずだ
id:tenari んーでも確率の分野でもこれを40%多い確率で死ぬって表現するのは普通じゃないのかな?医療・健康領域とか。詳しい解説がほしい
この指摘はあるかと思っていました。知りたいと思われているのは、こういう事であると想像します。複雑な現象について述べる場合、条件を限定する仮定を置いたモデルのもっともらしさを証明する事によって、複雑な現象をより簡単に述べる事が可能になるような手法がある。この現象について限定したモデルを統計モデル、統計モデルのもっともらしさを測る値を尤度といい、我々が目にする様々な確率を述べるにあたって広範囲に用いられている。この増田で書くには重い話ですので、興味があれば調べられると良いかと思う。
https://anond.hatelabo.jp/20180822005110
こんな程度の噓んこ数字遊びにあっさり騙されるってどういうことなの。脳みそ入ってんの?
そんなことはないだろう。事故が起こる要因を考えればいい、車種で決まるだろうか?むしろ車種によらない要因が主で、更に多数あるはずである。
軽自動車の交通事故件数は 131,909件、登録台数21,847,783に対し、1万台あたりの事故は60.4件と7%程度多くなっている。
普通自動車の死亡事故発生件数は 1,097件、1万台あたり0.28件に対し、軽自動車は 853件、1万台あたり0.39と、普通車に比べ39%も多くなっている。
したがって、車種による安全性を比較したいという趣旨においては、この比較には全く意味がない。
本来であれば速度、事故がおこった道路、出来れば性別・年齢ごとに比較して車種の影響のみを考慮する工夫をすべきだが、元増田が出した数字のみで辛うじて意味のある評価をしたい。
元増田は「②JNCAPの新安全性能評価」において車種ごとの試験結果を比較している。これが実際の事故において、どの程度の影響を持っているか?を見るべきだ。
したがって、事故の発生件数に対する、死亡事故の割合をみるのがいい。
普通自動車 死亡事故 1097件 事故件数 222,486件 死亡事故は、事故 100件に対して0.493件となる
軽自動車 死亡事故 853件 事故件数 131,909件 死亡事故は、事故 100件に対して0.647件となる
繰り返すが、この評価には事故が起こった条件にたいする評価がない。したがって数値にはブレが存在する。この時100件あたりの事故件数の差の 0.154件は有意に危険であるといえる差であろうか?
乗員保護性能の平均値を有意に反映した数字になっているだろうか?その評価は、元増田が出している数字のみからでは行えない。
軽自動車が、普通自動車に比べて、死にやすい危険な車種であるか?は、元増田がやった事故件数の評価では全く言えていない。(安全性能試験の評価数値のみで語るべきだっただろう)
確率は条件がそろえば加減乗除の対象にしてもいいが、何を比較しているのか理解していなければまるで意味がない。
台数あたりの事故発生数は7%増なのに死亡数は39%増ということは、一事故あたり30%多く死ぬってこと(4人乗ってた普通車なら1人生き残れても軽だと全滅する)
まったく意味が分からん無価値な評価だ。なんで死亡事故の増加割合と、事故の発生数の増加割合を引いていいと思ったのだろうか。
7%と39%という評価はミスリード。正解は、事故率は0.5658%と0.6037%なので0.0379%増。死亡事故率は0.02789%と0.03794%なので0.01114%増。さわぐほどの差かね?
恐らく、0.6037 - 0.5658 なんだろうが、引いたことで何を評価できているのか理解できてるのだろうか。。。「割合は」0.0379%「増加」していない。
割合の差は0.0379だが、この場合、あるドライバーが事故を起こす確率は 0.0379% 高いと言って価値があるか?
まだ元増田が1万件あたりに均して、その割合を取って7%と言っている方が意味がある。
これらのコメントに星を付けた奴は阿保。
はてなーは数字も読めない、3行以上の文章は理解できない、タイトルしか読めない阿保ばかりである。
数字を使った場合に、その数字が何を評価しているか?というロジカルシンキングの基本がミジンコほどもできない連中が政治だなんだ言ってるのは笑える。
cider_kondo どうでもいいけど軽運転者に多そうな属性って 1.若葉マーク 2.紅葉マーク 3.大きな車の取り回しに自信がない人 だよね。増田時空には、因果関係がないと相関関係は存在しないの? それとも馬鹿なの?(煽ってみる
俺が分かったのは、お前って奴は
という事だな。頭が悪すぎてどうすればいいのか分からん
俺が言ってることは、相関そのものについてなのは、交絡って言葉一つで、正しく理解できている事を表現できているブクマカの存在で分かるだろ
ある事象の発生確率に影響がある複数の変数が、互いに相関している状態を排除して、1変数(この場合は車種のみ)の確率に与える影響を正しく評価しなくてはならないという事だ。運転手の年齢性別、事故時の速度、気象、時刻 etcとある中で、車種の影響を評価するのは、おまえのような馬鹿が考えるほど簡単ではない。
因果とか、相関とか、時空とか、自分でも意味を理解してない言葉は使うな。
馬鹿だ阿保だ間抜けだと罵倒せずに済むような評価はどういうものか?
論文ではないから評価手法の妥当性を検証せずともいい、条件の絞り込みに蓋然性があれば、多くの人は納得するはずだ
これであれば、
事故発生件数にたいする死亡事故の割合の評価=車種が死因の直接的な要因であることの指標
釣りかもしれないけれど、本気で悩んでるならば、答えたいと思って書きます。
正直、プログラミング(というか、コンピュータ)は、以下の3点に集約できます。
これらを自由自在に行えるようになれば、後はなんとでもなります。
入力も色々あります。キーボードの入力や、マウスでの入力、マイクからの入力、カメラからの入力、ファイルからの入力や、WebAPIのレスポンスを用いた入力といったのもあるでしょう。
これらを扱うためのライブラリの使い方を覚えたり、場合によっては全部自分でそれを実装するというのでも良いかもしれません。
出力も色々あります。ディスプレイに表示するのは基本として、音声出力だったり、ファイル出力だったり、DBへの出力だったり、色々あります。
これらを扱うための命令群を覚えたり、あるいは作ったりする必要もあるでしょう。
演算も色々あります。単純な加減乗除、物理演算、色の加減算、音の分解、データの伸縮または展開、色々あります。
これらをライブラリを使って実現したり、自分でそのアルゴリズムを理解して書いてみるという事も出来るでしょう。
元増田が書いている、アルゴリズムの学習は、「演算」だけを学ぶ事に過ぎません。アルゴリズムをどれだけ覚えていても、入出力ができなければ、プログラミングが出来るとはいえないのです。
結局、「どうやって『入力』、『出力』、『演算』を行っているのか」を理解する事がプログラミングにおいて最も大切な事なのです。
この「言語」では、「どうやって~」
この「環境」では、「どうやって~」
この「ライブラリ」では、「どうやって~」
paizaの評価なんて、アテにしなくても良いです。
今、自分は「入力、出力、演算」についてどの程度の理解があるのかを把握するのが大事です。
「こういう出力ができるようになりたい」とか、「こういう入力を扱いたい」とか、「こういう演算をさせたい」とか、そういった思考が出来るようになるまでは、自分のプログラミングの手段(古い言葉だと引き出しって言いますね)を増やすのが大事だと思います。
無難かもしれませんが、何かしらの成果物を作ることをお薦めします。
アルゴリズムの勉強にもなり、入出力に関してもそれなりに学習出来ると言えば、ファイルの伸縮と展開でしょうか。
「LHAとZIP―圧縮アルゴリズム×プログラミング入門」という本が、もしかしたら、元増田の興味と合致するかもしれないので、お薦めします。
パソコンはゲーム機の代替で、ファミコンがなかったからパソコンをいじってた。
親戚のおじさんがくれたMSXとROMカセット一つをくれたので、それで遊んだ。
なぜか、BASICに興味を持った。
MSX-BASICはひらがなが打てて、青い画面に白いひらがなが綺麗だったというそれだけの理由だった。
時が経ち、漢字もそこそこ読めるようになった小2の頃(読書が好きな子供で、小学生が習うような漢字は小2でだいたい読めたと思う)、付属の解説書を読むようになった。
実際、それはまあ面白いもので、数の加減乗除、数字や文字の表示、ループやIFといった簡単な命令について読み進めていくとブロック崩しのプログラムが出来上がったりしたのだ。
実は小学校2年生の自分は、かろうじてアルファベットが読めた。
母が「楽しいABC」という新聞広告の教材を買ったせいである。
会話編と単語編があり、母は会話編が子供向けかと思ったらしいが、自分は単語編、というかアルファベットにしか興味を持たなかった。
読み方には興味がなく、純粋に形として覚えた。
ひらがなカタカナのように、それを覚えれば音を表せるというわけでもないのに。
が、MSXに命令するときには、アルファベットという記号を使えばいいということを理解した。
まあさておき、BASICの命令が英語としての認識はなかった。
。
MとNを記号としての区別はできたが、それぞれどっちをエムと読み、でどっちがエヌと読むかはわからなかった。
IFはIという文字とFの連なったもので、その塊で意味をなしていることは知っていたが、"イフ"と読むことは知らなかった。
ブロック崩しを改造して、シューティングゲームのように自機から玉を打てるようにしたあたりで、のめり込み、「ポケットバンク トランプゲーム集」からテープレコーダーに保存して(その機種はフロッピーディスクがなかった)
プログラムに興味なんかなかった。
そうこうしてるうちに、弟がごねてファミコンが我が家にやってきた。
MSXなんか忘れて熱中した。
夢のフロッピーディスク搭載機。
ディスクステーションとMSXファンの付録ディスクにはゲームが10本以上つめこまれていて、ゲームに飢えていた僕ら兄弟にはたまらなかった。
BASICのときと同様、やはり英単語を知らぬままDOSの使い方をおぼえた。
というか、ただの接触不良だった。
っていっても、たまに起動してたけど。
同時期、PC9801がきたが、ろくに触らなかった。
いまでもエクセルをろくに使えないので、当時どのくらい使えてたかは謎だけど。
ファミコンソフトを買うお金がなかったから(実際、弟が駄々をこねればソフトなんていくらでも手に入っていたのだが、駄々のこね方を真似ることが出来なかった。いまでも出来ない)、ベーマガのプログラムをPC9801に打ち込んだりしたものの、なんだかN88BASICは面白くなかった。
弟はMSX2のときもBASICに興味がなかったので、誰にもそういう話はできなかった。
turboRが欲しくて仕方なかった。
値段は張るけど、自分でプログラムを入力すれば今後ソフト代はいらない!という狂った考えだった。
しかしスーパーファミコンがやってきて、弟に「~っていうソフトがすげー面白いらしいぞ!」っと吹き込み、弟を通じて親にソフトを買ってもらうという方法を覚え、夢にまで見たゲーム三昧生活。
その頃はMSX2のフロッピーディスクドライブの調子が悪くなり(たぶんベルトが伸びたんだと思う)
エロに目覚めてPC98のエロゲをしたり、インターネットでエロ画像を漁りたいためにWindows95をいじったりしたが、やっぱりプレステのほうが面白く、そんなにはまらなかった。
大学生、社会人になると、エクセル、ワード、パワーポイントを覚えていった。
今でもパソコンに興味がもてない。
Officeとメールとブラウザがあれば他にソフトはいらない。
おわり。