「浮動小数」を含む日記 RSS

はてなキーワード: 浮動小数とは

2024-03-10

anond:20240310165707

アンダーフローってのは浮動小数点の表現において指数部が云々かんぬん

2023-10-20

じふぎふ戦争webpが終わらせた

未だにR,G,B255とか再生紙のチラシかよw32bit浮動小数使えw

2023-01-02

三流エンジニアがやりがちなミス

タイムゾーン考えずに時間を使う

暗黙的にJSTとして時間を使ったせいでUTCで作った場所で盛大にバグる

応急処置バグったところを+9とかやってしまうと、それ以降に逆に誰も気付かずに更に影響範囲が拡がったりする

海外展開しようとしたときバグに気付くがどうしようもなくなって途方にくれて海外だけは別アプリになったりする

UNIXTIMEを使えば楽なんだけれど、そうすると生データぱっと見で時間判別できないので困ることも多い

素直にUTCでISO8601が良い

文字コードUTF-8だと大丈夫だと思ってしま

とりあえずUTF-8にしとけば大丈夫、ってことで実装を進めた結果、Mac/Winでハマる

他にもBOMでハマったりして、むしろSJISの方が良かったんじゃ無いか、とか言い出す

DB統一的になっている場合はまだ後からどうにかできるが、変なところでキャッシュされてたりすると凄い困ることになる

MySQLなりPostgreSQLなりでUTF-8を正しく扱う方法はいろんな記事があるのでちゃんと読んでおけば問題無い

価格浮動小数にしてしま

「将来的にはグローバル展開が必要

とかよく分からないことを言い出して価格浮動小数にしてしま

かに米国なら$2.43みたいな感じで価格を使ったりするし、むしろ小数点以下が無い通貨の方が珍しいのだけれど

丸め誤差を考えないで作ってしまってバグが見つかりめちゃくちゃ揉める

応急処置として丸め機能とかが追加されて事なきを得るけれど

そもそも最小単位で扱って表示の時に小数化すれば良いだけ

他にある?

2022-07-28

小数点以下を含む数値の計算結果が狂ったのを見て、特定言語問題だと思ってしまうのか、コンピュータ浮動小数形式表現問題だと思うのかというあたりに計算機科学を履修してない人と履修してる人の差が感じられる。

2022-02-14

0.01fをかける計算

9までは浮動小数の誤差吸収出来てるんだけど10にしたとたん0.09999999になってしま

このせいで0.1秒って表示するのに四捨五入とか入れないといけないんだけどスマート計算する方法ある?

わざわざ1とか10にかけてコンマ秒だすんじゃなくて最初からそっちで保持しろという意見もわかる

だけどIntで持ってた方がいろいろ楽だから

追記

サンキュー

解決した!

2022-01-07

経験から1ヶ月!Pythonで観る将ライフを向上させた話(プログラム編)

まとめ

プログラミング経験から1ヶ月ほどで、将棋評価値の新たな方法でのグラフ化を行うPythonツールを作った。

https://github.com/k-the-p/notherscore

この記事は2本立てです。プログラミングより結果のグラフ将棋に興味がある方はもう一方の将棋から読むことをおすすめします。

未経験から1ヶ月!Pythonで観る将ライフを向上させた話(将棋編)

目標

評価値以外の観る将の楽しみとして、手の広さの可視化提案する

AIはわれわれアマチュア将棋への親しみを大幅に向上させてくれた一方で、棋士が悩みに悩んだ結果として評価値が下がる手を指してしまったときに、「悪手きたwwww」と騒ぐ主にABEMAのコメント欄には忸怩たる思いがあった。

とはいえ、もう評価値を知らなかった時代に後戻りするなんてことは誰にもできないだろう。そして、電王戦から将棋にハマった自分自身としても、AI否定はしたくない。

であるなら、AIを用いた新しくよりよい将棋の楽しみ方を探っていくしかないのではないか

以前から私は、「AIの手を指せるなら人間も苦労しないんだよなあ」と思っていた。あるとき藤森哲也先生Youtubeチャンネルで言っていたことを聞いて得心がいった。「AIの一手は最強の一手なんです。確かにプラス1000点になるけど一手間違えた瞬間にマイナス何百点になるような綱渡りの手。それよりもアマチュアの皆さんにはプラス数百点で得は少ないけど安全な道、最善の一手を学んで欲しい」(大意)と。

ここで言う「最強の一手」に人間にして最も近いのは紛れもなく藤井聡太四冠であろう。藤森先生アマチュアに向けて喋っていたが、その葛藤は間違いなくプロの中でもあるはずである渡辺明三冠が言うように「藤井くんと全く同じスタイルを今から目指しても絶対藤井くんより強くなれない」のは自明であるからして。

私はここにドラマがあると思う。また、最強の一手と最善の一手が等しく「いい手」に見えてしまうわれわれアマチュアとしては、そこを機械に教えてもらえるのであれば、棋力向上にも繋がりそうである

具体的目標

第1候補手と第2候補手の評価値の差を取ってグラフ化すればよさそう?

(差が小さければ手が広い、差が大きければ絶対手に近い、綱渡り

目指すのはあくまで便利な将棋ツール将棋AIを作りたいわけではないので、将棋AI自体局面を入れたら評価値を吐く謎の箱という扱いでよい。

手法

Python一択

グラフ化や数値の扱いだけでなく、将棋AIとのやりとりをやってくれるあれこれもあるようなので。

あと習得が楽だと聞いた。その話を教えてくれた人はもう10年間英語学習法をブクマし続けてるけど。

あと「読みやすコードじゃないと動かない」って設計思想がかっこいい。ついでに言うといわゆる「おまじない」が少なそうなのも魅力。(CのHello world挫折した経験あり。studio.hって何……)

何をしたか

詳しい人に聞く

プログラム講師をやっている?方が音楽制作を初歩からやってみる、という(残念ながら)リアルタイム視聴者が俺だけしかいないような配信があったので、音楽の基礎(についての知識は持っていた)を教えてあげたお返しのような形で、「pythonでこういうことがしたくてこういうライブラリがあるのはわかった。経験HTML+CSS変数導入前、Bootstrapなんてなかった)のみ。どうしたらよいか」という質問をしたら、「progateは簡単すぎると思うのでPaizaが丁度いいのではないか」というアドバイスを頂き、比較もせずに即登録したのだが結果的にはこれがドンピシャだった。

Paizaラーニング

最近流行りの、環境構築不要で講座の内容を書いて覚えるタイプサイト

無料で入門講座の序盤を受けていたらふと目に入ったのが、「対象者:これからプログラミングを学びたい方。HTMLがどのようなものかを知っている方。」でYoutuber先生オススメ完璧か?と思った。そして実際に完璧だった。

基本的に1講座3分+演習1~2問+やりたければ問題集たくさんという形式なのだが、これが簡単すぎることなく難しすぎることもなく、俺の知識レベルベストマッチだった。基本的に毎回何か書くことになるので、変数とは~みたいな解説だけで終わる回がほぼ無いのも飽きなくてよい。

Python入門(と言ってはいるがまだこれだけで発展編はない)の見出しは「プログラミングとは」「条件分岐比較演算子」「ループ処理」「リスト」「辞書」「多次元リスト」「関数」「クラス」「クラス発展」「例外処理」に各5~8講座*3分+演習、という感じ。クラス発展の途中で行けそうだと思ったのでドロップアウトして実製作に移った。実際関数まで理解していれば、この程度の小さなツールには十分だった(もしかしたらクラスを使えば多少楽になった場面はあったかもしれないけど)。

また、これは書いてる今気づいたことだが、上のコースで学んだことで、実際に役立たなかったものほとんどなかった(強いて挙げれば辞書くらい?使えてないだけかも)。このこともコース構成の優秀さを示している。

ここまででだいたい2週間くらい。

Google colab

もともとこのサービスは知っていたのと、谷合先生が実際に使っていたように、便利そうなライブラリのcshogiが主にcolab(jupyter)上で動かすことを意図しているようだったので、まずここから入った。最初はcshogiが列挙してくれる特定局面での合法手をリストに入れて、そのリストの項目数=その局面での合法手の数を出力することから始めた。これは本当に簡単にできて興奮した。

学習と好きなことが直結してると、こんなサンプルコードみたいな簡単なことで喜べるのでコストパフォーマンスがよい。

cshogiとやねうら王をusi連携する

cshogiのチュートリアルで紹介されているレサ改というAIがどうもmultipv(有望な候補手を2手以上挙げる)に対応してないらしく、強さ的な問題でいずれ手を出すつもりだった予定を繰り上げてやねうら王との連携を試みる。

makeって何?あー、もりかしてMakefileが無いと動かない?(これを書いている今もこんな理解である)みたいな人間でもなんとかやねうら王をビルド?することはできた。レサ改をcshogiに読ませる数行のサンプルコードがとても役に立った。今でもあの完成品らしき拡張子が無いファイルがなんなのか分かってない。(なお、評価関数nn.binが無いと怒られたのでどこのご家庭にもある水匠4のそれをぶち込んだら動いた。評価関数とやねうら王の分担は今もって理解あやふや)(また、途中でAyane[やねうらお謹製ライブラリ]も使おうとしたがcolab上では上手く動かす方法が分からなかった)

一応これでcshogiで局面の最善手と次善手およびそれらの評価値を呼び出せるようになったのだが、単にdebugでずらずらと余計なものまで出力するのではなく、重要な指し手周りのinfoだけ出力するようにしようとしたが、上手いやり方がわからず、結局こうなった。

sys.stdout = open('out.txt', 'a')
engine.go(listener=print)

ここは絶対もっとマシなやり方があるはずなので、識者の教えを請いたい。

ようやくWindowsPythonVSCodeを入れる

Colab上でまあまあ目処がついたので、この辺りでPython環境を作った。ここまでそれをやっていなかった理由は、「おま環」トラブル可能性をなるだけ遠ざけておきたかたかである環境が悪いのか俺が悪いのか分からない、というのは初心者にとって限りなきストレスである。あーネットが繋がらなくてルーターの設定や接続とか支払いとか文字通り部屋をひっくり返しながら調べてたら実はフレッツ自体が落ちてた件を思い出してイライラしてきた。cshogiはJupyter上で動かすことを意図しているようなので、それで動かなければ自分の書き方が間違っているのだとほぼ確実にわかる。

まあこの辺りはいろんなサイト見ながら仮想化などしつつ普通に仮想化が何か分かってないんですけど。

Jupyter notebook

これまでColab上で書いてきたものは多少の書き換えで動いたので、ローカルにJupyter notebookをインストールして、数字計算グラフ化を試みる。

ちなみにこの時点で得られているデータはこんな感じ。

go
info depth 1 seldepth 1 score cp -47 multipv 1 nodes 483 nps 241500 time 2 pv 3c3d
info depth 1 seldepth 1 score cp -86 multipv 2 nodes 483 nps 241500 time 2 pv 4a3b
info depth 2 seldepth 2 score cp -53 multipv 1 nodes 847 nps 423500 time 2 pv 3c3d 9g9f
info depth 2 seldepth 2 score cp -68 multipv 2 nodes 847 nps 423500 time 2 pv 8c8d 7g7f
info depth 10 seldepth 17 score cp -78 multipv 1 nodes 100163 nps 1963980 time 51 pv 8c8d 2f2e 4a3b 7g7f 3c3d 2e2d 2c2d 2h2d 8d8e 6i7h 8e8f 8g8f
info depth 10 seldepth 17 score cp -111 multipv 2 nodes 100163 nps 1963980 time 51 pv 3c3d 7g7f
bestmove 8c8d ponder 2f2e
go
info depth 1 seldepth 1 score cp 117 multipv 1 nodes 206 nps 206000 time 1 pv 2f2e
info depth 1 seldepth 1 score cp 78 multipv 2 nodes 206 nps 206000 time 1 pv 7g7f
...

今回の小目標は、goで区切られた中からから2行目と3行目のcpほにゃららを取得していい感じのリストにする、というものだ。この辺りは正規表現でなんとかなるだろうと見通しを立てたが、実際そうなった。

ただ、後手が見たとき評価値が後手目線なので、それだけにマイナスをかけるのはどうするか(そうしなければ、先手+3000点の次が「後手から見て」-2900点だったりして綺麗にグラフにならないのだ)を調べるのに結構時間が掛かった。

また、詰み周りでまたプラスマイナスカンストの絡む計算をしたくないのもあり、数値にNaNを入れてグラフ表記を省略することにしたのだが、そうするとnumpyの関係整数(とNaN)しか扱わないのに浮動小数点で計算しなければいけなくなって若干気持ち悪かったり。まあ動くのでヨシ!

中間報告

この時点で、ローカルにKIFファイルを保存し、pyファイルでcshogiと水匠を動かし、Jupiter notebookを開き評価グラフと手の広さのグラフを重ねて表示する、というそれなりのものは出来上がった。

簡単に言えばpyファイルで1手10局面(森内チャンネルに出てたHEROZの方が使ってた数字をそのまま使っているので特に意味は無い)探索させ、最善手と次善手についての生の評価データを吐き出させ、ipynbでそれを整形し、グラフ化している。

基本的に全部VSCode上でできるので、慣れれば計算時間も含めて10数秒で結果が出るのだが、このワークフローはいかにも美しくない。

なので、Flaskという簡単らしいフレームワークを使ってローカルWebアプリとして使えるようにしようと思った。inputとoutputをどうにかするだけだから余裕やろ。

Google colabを触り始めてからここまで1日。圧倒的成長!

ローカルWebアプリを作る

Flaskを学ぶ

Paizaラーニング再び。後半ではデータベースとか本格的な話もあるようなのだが、txtに書き込む一行掲示板を作るまでの前半部を高速で履修(演習は全部飛ばした)。なるほどー、こうやってやりとりするのね、と最低限は完全に理解した

モジュール

Jupyter向けのコード普通Pythonに直してあっちで数字を出してこっちでそれを受けて元に戻して……とかやってると循環参照か何かで怒られることに。その対策に細かく部分を分けて関数にしたのだが、その場合ってもしかしてdefの内部しかまれない?(共通部分も読まれると思ってた)(いや、共通部分は読まれるけど他のdef内が見えないのか?何も分からん)なるほど。こうなると関数の内部から上に戻るためにクラスとか欲しくなるのかなーという感想

最終的にWebに公開しようとこの時点では思ってたので、txtに一旦出力するのが安全性的にどうかとか考えてたのだが、テキストの読み取り周りでハマる。結局抜け出せず諦めた。

以降は、HTMLダブルクオートが抜けてるのに一時間気づかないとか、FlaskのXSS対策対策をするとか、ファイル書き込み設定をミスって2万手くらい蓄積されて評価グラフが大変なことになったが、原因に気づかずひたすらグラフ生成部を調べ続けるなど、非本質的問題にかかずらっていたので書くことは特にない。

GithubVSCodeとなら連携がらくらく

なので、最初にgitignoreしてなかったせいで1万ファイルくらい上げそうになったけど、それ以外は特に問題も無く。中間報告からここまで2日ほど。結局1ヶ月かけずにプログラミングをそれなりに身につけることが出来た。「プログラムを覚えたければ作りたいものを見つければいい」というのは本当だな、と改めて思った。

で、どうなったの?

については将棋編の方で詳しく書いています

https://anond.hatelabo.jp/20220107060727

どれくらい書けるようになったのか、を見たい方は主にvalue_output.py(将棋AI思考させてデータを取り出す)とgraph.py(データを整形してグラフを書き出す)を見ていただければいいかと思います

謝辞

最初にPaizaを教えてくださったYoutuberの方、cshogiを初心者でも使いやすいように作って展示してくださったTadaoYamaoka様、水匠開発者のたややん様、水匠含めこんにちの将棋AIの基盤を作ってくださったやねうらお様、cshogiを通して利用したpython-shogiのKIFパーサーを書いてくださったTasuku SUENAGA様に、厚く御礼申し上げます

最後

私は現在仕事Twitterフォロワー募集しています

30歳無職よろしくお願いいたします。

https://twitter.com/k_the_p

2021-10-05

anond:20211005192235

俺別増田なんだけどApple信者増田はどこを観て浮動小数演算だと思ったの?

俺の記憶上もウン兆回の部分は浮動小数演算の回数じゃなかった気がするんだが

発表会の動画でもFLOPSっていう文字出てなかったはず

anond:20211005182304

Apple機械学習を15.8兆回走らせることが可能だって言ってるんだよ

浮動小数演算じゃなくて機械学習

ガジェットマニア評価する今のiPhone

どうも、以前こんなの書かせていただきました。

突然、紹介されるAndroidアプリ集を書いた増田ガジェット

anond:20210516172137

ガジェットマニアとしての自己紹介みたいなものなので趣味の傾向を知りたい場合は以前のエントリを読んで貰えれば何となくわかるでしょう。

長々と出囃子をやっても仕方ないので早速本題に入りましょうか。

題して【今のiPhoneは優れているのか?】

今のiPhoneは優れているのか?

iPhoneは優れている」と主張されれば100人中99人はこの主張を肯定すると思います。実際に筆者自身がこの主張を耳にしたら筆者も肯定しますし、流行に敏感な高校生の姪っ子もおそらくは肯定してくれることでしょう。
しかし「iPhoneは優れているってことで結論ね」で終えてしまうのは芸がない。そもそもエントリを描く意味すら無い。
わざわざ書き始めたということは目的があって書いているわけです。

優れているの意味は1つじゃない

ここまでの書き出しでこれに気付いた人は非常に賢いか、筆者のように物事を斜に構えてみているかのどちらかだ。
一言で「iPhoneは優れている」と表現しても評価できるパラメータは膨大にあり「iPhoneは優れている」との主張へ多くの人が肯定を示していても「iPhoneは○○が優れている」の○○は人によって違う可能性が高いのだ。

そしてその個々人の価値観話題となった下記のエントリへ寄せられる声で知ることが出来る。

もうiPhoneを買う理由はほぼないと思う

https://anond.hatelabo.jp/20211004123017

個々人が各々にiPhoneへ優れている点を見出しており、ある意味iPhone評価は一様ではないとわかる。
しかし、筆者と趣味を同じくするガジェットマニアの皆さんはこの程度のことで感心してはくれないので、もう少し踏み込んだ話をしよう。

実はよくわからない「iPhoneは“性能”が優れている」

iPhoneは○○が優れている」の中でもかなりポピュラーな主張であるiPhoneは“性能”が優れている」だが、実はこれApple結構雰囲気でこのイメージを押し通そうとしているフシが最近ある。

まずiPhone 13無印iPhone 13 miniを発表した際「率直に言って去年どころか2年前の私達のチップに追いつこうとしているところです」と主張した後に搭載するSoCであるA15 Bionicを指して「(A15 Bionicを使ってもっと)差を広げる」と主張した。
更に「主要な他社製品より最大で50%も高速です」「グラフィックスは主要な他社製品より最大で30%も高速です」と付け加えた。
もうおわかりだろう。主要な他社製品とは?最大で50%や最大で30%とはどういう演算能力のどういうシチュエーションで高速なのだろうか?実際のところAppleの発表を見てもよくわからないのだ。

ガジェットマニア、そしてコンピュータの性能を測ることを生業としているベンチマーカーはコンピュータの性能を比較するためのポピュラー演算方式単位系を持っている。浮動小数演算とその単位であるFLOPSだ。
浮動小数演算と言っても単精度や倍精度とかまぁ細かく言えば色々あるけれど、わざわざn%とかいう相対値など使わずnFLOPSのような絶対値を使ったほうがわかりやすいに決まっている。
しかし何故か最近Appleは相対値が非常に大好きで、何なら比較先のチップすら「主要な他社製品」とボカしてしまう有様だ。
しかしたらAppleフリークは「一般人へのわかりやすさを重視したんだ」と言うかも知れないけれど「アナタペーパーテストは他の人より50%上です」と言われてわかりやすいだろうか?普通は「50%はわかったか自分は一体何点だったんだ?」と思わないか

いやそれでもAppleフリークは「絶対値あるじゃん!16-core Neural Engineは15.8兆回も演算可能ですって言ってるぞ!」とAppleの出す数字を信じるのかも知れない。
いや、その機械学習モデルは何なの?どういう機械学習モデルが15.8兆回演算できるの?知ってるなら逆に教えて欲しいとガジェットマニアやベンチマーカーたちは思うのだ。

イマドキのスマホゲームするなら実はAndroid

オマケとしてもう1つ付け加えよう。

記事増田はどうやら「iPhoneは“ゲーム性能”が優れている」と評価しているようだが、ゲーム性能が良いからと言ってイマドキのスマホゲームで有利になるとは限らないのがイマドキのスマホゲームなのだ
言ってしまえばイマドキのスマホゲームはPay to Win、つまり課金すりゃ勝てるゲームシステムを採用していることが多くあり、実は課金を考えた場合iPhoneよりAndroidのほうが投資額が少なくて済むのだ!

まず前提としてGoogle Play Storeは事実上キャッシュバックがある。更にキャッシュバックキャンペーンもあり、特定ゲームタイトル課金した場合に通常よりも多くキャッシュバックが得られることがあるのだ。

そしてAndroidにはGoogle公式お小遣い稼ぎアプリたる「Googleアンケートモニター」の存在が強すぎる。

Googleアンケートモニター

https://play.google.com/store/apps/details?id=com.google.android.apps.paidtasks

Googleアンケートモニターアンケートに答えるだけで少額ではあるがGoogle Playポイントを貰うことが可能。まぁつまり個人情報を売ってポイントを得られるだけなんだが、貰えることに意味があるユーザは少なくないだろう。お小遣いに限りある学生とか。

まりiPhoneユーザ10,000円課金Androidユーザ10,000円課金意味が違う。Google Play Storeの実質キャッシュバック100円につき1円キャッシュバックキャンペーン時は3円キャッシュバックなのでAndroidユーザ10,000円課金すると実質10,100円を課金することが可能なのだ
そしてそこへGoogleアンケートモニターを加えると、真面目にアンケートに答え続ければ1ヶ月で500ポイント前後は貯まるのでAndroidユーザの1ヶ月10,000円課金実質的10,500円課金になっていると考えたら良い。Pay to Winでこの差はデカイ!


というような感じで、一般的目線からわざとズレて変な角度からiPhone評価してみたけれどもどうでしたか
iPhoneには優れた面が沢山あるけれども、わざと面白おかし評価することも可能であることを見せてみたかった。
ちなみに筆者がiPhoneを使っていない最大の理由が「ハードウェアQWERTYキーボードが搭載されていないから」なので、いつか搭載してくれることを心待ちにしてエントリを終えようと思います

2021-03-30

半導体チップ設計ってどうやって勉強するんだ?

デジタル回路だと、FPGAについての本がある。

Verilog、System-Verilogあたりは書籍もある。

LINTはチェックするツールフリーではないが、書籍がある。

検証となると、VerilogやSystem-Verilogあたりでの検証書籍でなんとなくは出来る。

アサーションあたりになると書籍微妙になる。System-Verilogアサーション、PSLでなんとなく書くのは出来るかもしれないが。

e言語になると書籍もない、ネットでも情報がない。


加算器と減算器はまだいい。

乗算器、除算器、Sin、√となると、書籍がない。


CPU簡単なのは作っている人はいるが、浮動小数点回路となると減ってくる。

GPUなんてなると、殆どない。

USBHDMIなど、身近に溢れているものでも、作っている人がいない。

タイミング制約や非同期あたりも情報が少ない。


アナログだとSpiceにはたどり着くが、ディスクリート品の対象が多い。

2021-03-09

anond:20210309011156

いえいえ、なんかの助けになれば幸いですけど😃

あと、ソースコード読んでるなら命名はやっぱり大事だなあと思う

最近命名についてちょっと考えさせられてしまうことがあったのだけど

命名からググってというのも自分場合はかなりヒントになる、助かる

知らない分野でもとりあえず関数変数名前でググってみるとか(というか、Googleない時代を考えると地獄だよなあ

コメントも適度にあるといいとは思うけど、過剰にコメントする意味はないし、

といっても、コメントを書く必要あるかないかって当然だけど読む側のレベルを試されているんですよね

FreeBSDカーネルだったかな、

大学院の授業でコードリーディングするのがあって、

やっぱりハッカーが好きそうなトリッキー?な書き方があったりして、

でも、こういうときはこう書くものだ、みたいなのがあったりもするので、

それもググるなり書籍なりで調べれば理解はできると思う

昔のゲームとか、あとメガデモみたいなのもそうだけど、浮動小数演算とか富豪すぎるので、

整数演算いか適当に誤魔化すかみたいな、精密さより高速にそれらしく動作するのが求められるのもあるし、

自分場合レベルが低いのか、知らなくてもググって調べてけば大体なんとかなってる

でも、発売前のゲーム機と書いたけど、公開されてないのでググっても出ない情報社外秘ソースコードとか技術で、

特にレベルが高いのとか、逆に酷く汚いコードだけどなんか動いてる()みたいな場合は、

降参する場合はもう周囲の先輩や同僚に頼るしかないんですよね

考えるだけ時間無駄だし、やった仕事どうなった?まだできてない?え、ずっと考えてたの?みたいになったら大問題ですし

つくづくマゾでないとできない仕事ひとつに思えてしま今日この頃

2020-12-01

これでやりたいことは分かる。分かるけれどこれでどうやって動画音楽エンコードをしたり

画像処理をしたりするソフトウェアになるのかというのがよく分からない。

それは「数学」の知識が足りないからだと思う。

画像や音声を扱うのに純粋数学という学問知識必要ない。

でも、工業数学レベル知識必須である

例えば、サンプリング定理(標本化定理)を知らなければ音声の録音も圧縮理解できないのは当たり前。

から大学情報科、もしくは電子工学機械工学を履修するのは無駄ではない。

日本専門学校だと給与が安い仕事即戦力になるようなカリキュラムになりがちだから

専門学校が扱う職業ラインナップを見ればそれは明らかだと思う

乱暴一言表現するなら、この世のすべてはビット、つまり0と1で表現できてしまう。

少し正確に言うと、2進数ですべて表現できるは嘘で、

例えば小数点以下無限数字が続くような数字は、言い換えれば無限情報必要ということになる。

メモリは有限だし、たった1つのそんな感じの数字記憶するためにどんな巨大なメモリも埋まってしまうのでは意味がない。

からコンピュータ浮動小数点を表現する場合、どこかで足を切らなければならない。

それによって、紙で計算すれば問題ないことが、コンピュータではおかしな結果になることがある。

しかし、これを知っていなければ科学計算はもちろん、銀行のようなお金計算おかしな結果になってしまう。

大学数値計算の授業を取得するのは退屈だが、これを理解してなければ社会に出ても間違ったコードを書いてしまう。

というか、私も大学在籍中に間違ったコードを書いたことが何回かあるw

プログラミング入門書を読んでも、一般的に知られているソフトウェアの作り方みたいな事が

書いてないので、ゴールが見えてこない。だからうんざりしてくる。

その原因は根源的で哲学みたいな話で、

世の中のほとんどの物事には正解がないとか、そういう話にしかならない。

良いテキストはあるわけだけど、それを読むべきタイミングもあるし、万人向けが自分に向いてるとも限らない。

本なら何冊かはドブに捨てるつもりで買うしかない

みんなが良いから読めという本も、なんとなく自分にはこれがいいんじゃないか、も買うしかない

買って家でじっくり読んで、途中でナニコレ?みたいな本だったら後悔するかもしれないけど、世の中そういうもんだから

料理を作ろうと思ったら材料と道具を揃えたけれど、レシピが無いので作れないというものに近い。

自分レシピ通りに作らないでヒントにしかしないタイプなのだけど、

料理プログラミングには似ているけど、化学実験ではない。

焼く、炒める、煮る、蒸す、みたいな方法だけ理解していれば味付けなんて適当でいいのだ。

なんらかの魚があったとして、それは食べられる魚だと分かっているが調理方法はまったく知らなかったとする。

本とかネットとか調べる環境がなかったとする。

どうするか?

とりあえず、まず口に入れられるサイズに切るべきだろう。

口に入れられないと食事にならんのだから、魚を切って骨を取る。

さばき方もググれない状況なのだから、もう適当に切断していくしかない。

鱗も大味で取るしかない。

ググらないと、とんでもないほど非効率的なさばき方をしている可能性があるが、とにかく食えればいいのだ。

腐らせては意味がない。

日本刺身みたいな生で食べる文化イヌイットではないが、漁師が船の上で食べることとも関係しているように思う。

何が言いたいかというと、生食現代文明ロジスティクスは保存技術の成せるわざであって、料理の基本は何でも熱を通すべきなのだ

毒になる菌で食中毒では意味がない。

切った魚を、焼く、炒める、煮る、蒸す、みたいな方法で熱を通せば料理は終わりだ。

レシピなんかなくてもこれで十分なのだ

あとはその魚に味を付けるため、味ぽんなり味噌なりトマトなり使えばいいだけなのだ

2020-09-02

富岳って1.421エクサエクサは100京)フロップスという性能らしいけど

人間最高峰そろばん名人?、サヴァン症候群?)って、1秒に何回 浮動小数演算できるんだろうね?

2020-06-30

anond:20200630173804

子供議論するときに32Bitはなくていい8Bitで十分 って答えているのですが 浮動小数演算がろんぱっぱしずらい。なんか弾薬ください

anond:20200630171122

Intel先生・・・あの32Bit人権か?というはなしはありますが、浮動小数点のfloatは人権じゃないでしょうか?難しいな 8Bit浮動小数ってありましたっけ?って聞かれて

2020-06-05



金額計算の誤差なら、浮動小数演算を知らんのかとか、あるいはDecimal機能使えとかでいいけど

いからお客さんが求めてるモノを作れと。

これを言うマネージャーは嫌だわ

ブラウザ画面と同じフォント、改行、改ページで印刷できるようにしろPDFはだめだ」みたいなのが来るから

2020-04-29

anond:20200429111443

バイブの振動って強弱つってるけど実は情報量なんだよ。波の重ね合わせが効くから適切な関数を選んで合成できないと話にならない。勉強になるぞ。

更にArduinoなら安易浮動小数演算乱数を使うこともできない。関数の近似という概念も出てくる。モーターを直接駆動するパワーもないから回路も必要だ。総合力が身につくんだよ。

2020-04-17

anond:20200417204213

100万単位だと8%でも10%でも端数らしい端数は出ないと思うにゃん

浮動小数点で演算してるとかだったらごめんなさいにゃん

2020-04-05

データの前処理をパイソンでやろうとしたら浮動小数演算の誤差がわけわかめ

2020-02-21

8bit浮動小数

1bitが符号

1bitが指数部とすると

仮数部が6bitとなり、

  • 63.0~+63.0までの値が表現できるんだよな。

固定小数点を8bitで表そうとすると

8bitと侮ることなかれ、結構色々できそうだな。

2019-03-01

anond:20190301010229

繰り返すが基情程度であれば小学生でも勉強すれば取れる簡単資格

あなたがそう言いたいのならそれで良い。

私が言いたいのは、基本情報中学以上の数学試験範囲に含まれる(組み合わせ計算浮動小数点の正規化対数、基数変換・・・これらは小学校じゃやらないだろ。)であって、

小学生勉強したら取れるとか取れないとかはっきりいってどちらでも良い話。私はそんな話をしていないのだから

anond:20190301010511

組み合わせ計算浮動小数点の正規化対数、基数変換・・・これらは小学校じゃやらないだろ。

小学校やるやらないを持ち出したのは誰なんでしょうね

ログイン ユーザー登録
ようこそ ゲスト さん