- 159
- 3 213 275
evima lab
Japan
เข้าร่วมเมื่อ 23 พ.ย. 2020
Somewhere between mathematics and (competitive) programming.
The channel is run by someone who was one of the team representing the University of Tokyo at the 2014 ICPC (International Collegiate Programming Contest).
The channel is run by someone who was one of the team representing the University of Tokyo at the 2014 ICPC (International Collegiate Programming Contest).
Crazy Code to Calculate 1/√x [English Subtitles]
高速逆平方根というアルゴリズムを説明します。
0:00 イントロ
0:35 動機
1:45 longとfloat
4:04 evil bit level hacking
4:57 what the fuck?
6:48 ニュートン法
7:53 1/√9
参考資料: en.wikipedia.org/wiki/Fast_inverse_square_root (2024-11-12 閲覧)
音楽: MusMus
===
X: x.com/evima0
Discord: discord.com/invite/MqxuBEKRZM
0:00 イントロ
0:35 動機
1:45 longとfloat
4:04 evil bit level hacking
4:57 what the fuck?
6:48 ニュートン法
7:53 1/√9
参考資料: en.wikipedia.org/wiki/Fast_inverse_square_root (2024-11-12 閲覧)
音楽: MusMus
===
X: x.com/evima0
Discord: discord.com/invite/MqxuBEKRZM
มุมมอง: 33 722
วีดีโอ
x^x^4=64 [English Subtitles]
มุมมอง 35K14 วันที่ผ่านมา
……であるような実数xを求めます。 0:00 イントロ 0:32 解答 出典: math.stackexchange.com/questions/4517942/how-can-i-solve-xx4-64 音楽: MusMus X: x.com/evima0 Discord: discord.com/invite/MqxuBEKRZM
How to Calculate Cube Roots Instantly [English Subtitles]
มุมมอง 42K14 วันที่ผ่านมา
答えが2桁の整数のときの簡単な求め方です。 0:00 イントロ 0:21 計算法 1:30 復讐1 2:12 復讐2 参考資料: th-cam.com/video/Ds8ijPsg26g/w-d-xo.html 音楽: MusMus X: x.com/evima0 Discord: discord.com/invite/MqxuBEKRZM
Claude Takes Over My Computer and Draws a Cat [English Subtitles]ss
มุมมอง 13K21 วันที่ผ่านมา
2024年10月23日に発表された新機能computer use (www.anthropic.com/news/3-5-models-and-computer-use) を使ってみます。 WSLの導入についての参考動画: th-cam.com/video/uhnASau7fB4/w-d-xo.html 0:00 イントロ 0:21 今回実行するもの 0:59 やってみる 1:47 GIMP 3:08 XPaint 3:53 Tuxpaint 音楽: MusMus X: x.com/evima0 Discord: discord.com/invite/MqxuBEKRZM
[BREAKING] 2^136279841-1 is Prime: New Record After 6 Years [English Subtitles]
มุมมอง 46K21 วันที่ผ่านมา
2024年10月12日に人類の知る最大の素数が更新されたことについて説明します。 参考文献: www.mersenne.org/primes/?press=M136279841 (2024-10-22 閲覧) ja.wikipedia.org/wiki/メルセンヌ数 (2024-10-22 閲覧) 0:00 本編 0:30 素数探しの近況 0:56 今回の計算環境 1:27 フェルマーテスト 1:59 リュカ・レーマーテスト 音楽: MusMus X: x.com/evima0 Discord: discord.com/invite/MqxuBEKRZM
THE Hardest Entrance Exam Math Problem in 7 Minutes
มุมมอง 66K28 วันที่ผ่านมา
東京大学の1998年の後期入学試験の数学の問題を解説します。 参考文献:安田享.入試数学 伝説の良問 100 良い問題で良い解法を学ぶ.講談社,2003. 訂正:1:30の長さ4の棒の上から5つ目は正しくは「黒白白黒」、下から3つ目は「黒白黒黒」でした。 0:00 問題設定 0:28 (1) 0:58 (2) 答えの予想・十分性 2:10 この問題の逸話 2:55 (2) 必要性 音楽: MusMus X: x.com/evima0 Discord: discord.com/invite/MqxuBEKRZM
A Tool to Express Any Number Using "114514" [English Subtitles]
มุมมอง 79Kหลายเดือนก่อน
悪臭数字論証器 ( lab.magiconch.com/homo/ ) のコードを読みます。 0:00 イントロ 0:37 全体像 1:02 index.html 2:34 homo.js 音楽: MusMus X: x.com/evima0
[FINAL] AtCoder Beginner Contest 373 [English Subtitles]
มุมมอง 13Kหลายเดือนก่อน
とあるプログラミングコンテスト(競技プログラミング)の高速解説です。 コンテストに取り組まずにいきなりこの動画を見てもたぶん大丈夫です。 コンテストサイト:atcoder.jp/contests/abc373 深さ優先探索の説明:th-cam.com/video/0_9heBS7Flg/w-d-xo.html 動的計画法の説明:th-cam.com/video/oB3L8yyHsFY/w-d-xo.html 競プロ初心者向け動画のプレイリスト:th-cam.com/play/PLAYMgc8c_QezzZAEcnhI_Awo1QHWxE6FD.html 0:00 A 0:28 B 1:03 C 1:31 D 2:26 E 3:50 F 4:45 G コード A atcoder.jp/contests/abc373/submissions/58154716 B atcoder.jp/c...
AtCoder Beginner Contest 372 A-F in 3 Minutes [English Subtitles]
มุมมอง 8Kหลายเดือนก่อน
とあるプログラミングコンテスト(競技プログラミング)の高速解説です。 コンテストに取り組まずにいきなりこの動画を見てもたぶん大丈夫です。 コンテストサイト:atcoder.jp/contests/abc372 競プロ初心者向け動画のプレイリスト:th-cam.com/play/PLAYMgc8c_QezzZAEcnhI_Awo1QHWxE6FD.html 0:00 A 0:33 B 1:00 C 1:44 D 2:24 E 3:18 F コード A atcoder.jp/contests/abc372/submissions/57935878 B1 atcoder.jp/contests/abc372/submissions/57945995 B2 atcoder.jp/contests/abc372/submissions/57935894 C atcoder.jp/contest...
AtCoder Beginner Contest 371 A-E in 3 Minutes
มุมมอง 8K2 หลายเดือนก่อน
とあるプログラミングコンテスト(競技プログラミング)の高速解説です。 コンテストに取り組まずにいきなりこの動画を見てもたぶん大丈夫です。 コンテストサイト:atcoder.jp/contests/abc371 競プロ初心者向け動画のプレイリスト:th-cam.com/play/PLAYMgc8c_QezzZAEcnhI_Awo1QHWxE6FD.html 0:00 A 0:30 B 0:53 C 1:28 D 2:14 E コード A atcoder.jp/contests/abc371/submissions/57695386 B atcoder.jp/contests/abc371/submissions/57695442 C atcoder.jp/contests/abc371/submissions/57695633 D atcoder.jp/contests/abc371/...
A Clock with Identical Hour and Minute Hands [English Subtitles]
มุมมอง 27K2 หลายเดือนก่อน
1日に何回時刻がわからなくなるでしょうか? 参考文献: Béla Bollobás, The Art of Mathematics: Coffee Time in Memphis, Cambridge University Press, 2006. 0:00 イントロ 0:32 解答 音楽: MusMus X: x.com/evima0
Can 9 Squares Touch Another? [English Subtitles]
มุมมอง 61K2 หลายเดือนก่อน
初等幾何の問題です。 参考文献: Béla Bollobás, The Art of Mathematics: Coffee Time in Memphis, Cambridge University Press, 2006. 0:00 イントロ 0:42 解答 音楽: MusMus X: x.com/evima0
AtCoder Beginner Contest 370 A-F in 4 Minutes [English Subtitles]
มุมมอง 9K2 หลายเดือนก่อน
とあるプログラミングコンテスト(競技プログラミング)の高速解説です。 コンテストに取り組まずにいきなりこの動画を見てもたぶん大丈夫です。 コンテストサイト:atcoder.jp/contests/abc370 動的計画法の説明:th-cam.com/video/oB3L8yyHsFY/w-d-xo.html 競プロ初心者向け動画のプレイリスト:th-cam.com/play/PLAYMgc8c_QezzZAEcnhI_Awo1QHWxE6FD.html 0:00 A 0:37 B 1:15 C 2:03 D 2:54 E 3:38 F コード A atcoder.jp/contests/abc370/submissions/57493871 B atcoder.jp/contests/abc370/submissions/57494024 C atcoder.jp/contests/...
5-Color Theorem Revised [English Subtitles]
มุมมอง 32K2 หลายเดือนก่อน
意の単純平面グラフが5-リスト彩色可能であることを証明します。3彩色可能だが4-リスト彩色可能でない平面グラフの例も示します。 参考文献 N. ROBERTSON, D. P. SANDERS, P. SEYMOUR & R. THOMAS: The four-colour theorem, J. Combinatorial Theory, Ser. B 70 (1997), 2-44. M. Aigner and G. M. Ziegler, Proofs from THE BOOK, 6th ed., Springer, Berlin, 2018. 0:00 イントロ 0:35 準備 2:13 6彩色 4:51 リスト彩色 6:10 4-リスト彩色 7:58 5-リスト彩色 音楽:MusMus X: x.com/evima0
AtCoder Beginner Contest 369 A-F in 3 Minutes [English Subtitles]
มุมมอง 7K2 หลายเดือนก่อน
とあるプログラミングコンテスト(競技プログラミング)の高速解説です。 コンテストに取り組まずにいきなりこの動画を見ても多分大丈夫です。 コンテストサイト:atcoder.jp/contests/abc369 動的計画法の説明:th-cam.com/video/oB3L8yyHsFY/w-d-xo.html 競プロ初心者向け動画のプレイリスト:th-cam.com/play/PLAYMgc8c_QezzZAEcnhI_Awo1QHWxE6FD.html 0:00 A 0:39 B 1:09 C 1:47 D 2:30 E 3:09 F コード A atcoder.jp/contests/abc369/submissions/57262602 A2 atcoder.jp/contests/abc369/submissions/57267824 B atcoder.jp/contests/...
AtCoder Beginner Contest 368 A-D+F in 3 Minutes [English Subtitles]
มุมมอง 11K2 หลายเดือนก่อน
AtCoder Beginner Contest 368 A-D F in 3 Minutes [English Subtitles]
Can You Connect The Points With Two Non-Intersecting Lines? [English Subtitles]
มุมมอง 44K2 หลายเดือนก่อน
Can You Connect The Points With Two Non-Intersecting Lines? [English Subtitles]
AtCoder Beginner Contest 367 A-E in 3 Minutes [English Subtitles]
มุมมอง 9K2 หลายเดือนก่อน
AtCoder Beginner Contest 367 A-E in 3 Minutes [English Subtitles]
Is π^π^π^π an Integer? [English Subtitles]
มุมมอง 77K3 หลายเดือนก่อน
Is π^π^π^π an Integer? [English Subtitles]
AtCoder Beginner Contest 366 A-E in 3 Minutes [English Subtitles]
มุมมอง 8K3 หลายเดือนก่อน
AtCoder Beginner Contest 366 A-E in 3 Minutes [English Subtitles]
20 Prisoners and 12 Boxes [English Subtitles]
มุมมอง 50K3 หลายเดือนก่อน
20 Prisoners and 12 Boxes [English Subtitles]
AtCoder Beginner Contest 365 A-E in 3 Minutes
มุมมอง 7K3 หลายเดือนก่อน
AtCoder Beginner Contest 365 A-E in 3 Minutes
AtCoder Beginner Contest 364 A-F in 3 Minutes [English Subtitles]
มุมมอง 6K3 หลายเดือนก่อน
AtCoder Beginner Contest 364 A-F in 3 Minutes [English Subtitles]
Can a Bigger Box Fit into a Smaller Box? [English Subtitles]
มุมมอง 40K3 หลายเดือนก่อน
Can a Bigger Box Fit into a Smaller Box? [English Subtitles]
AtCoder Beginner Contest 363 A-F in 3 Minutes [English Subtitles]
มุมมอง 7K3 หลายเดือนก่อน
AtCoder Beginner Contest 363 A-F in 3 Minutes [English Subtitles]
AtCoder Beginner Contest 362 A-E+G in 3 Minutes [English Subtitles]
มุมมอง 7K4 หลายเดือนก่อน
AtCoder Beginner Contest 362 A-E G in 3 Minutes [English Subtitles]
Does 0.999… equal 1? [English Subtitles]
มุมมอง 35K4 หลายเดือนก่อน
Does 0.999… equal 1? [English Subtitles]
AtCoder Beginner Contest 361 A-F in 3 Minutes [English Subtitles]
มุมมอง 8K4 หลายเดือนก่อน
AtCoder Beginner Contest 361 A-F in 3 Minutes [English Subtitles]
What Computers Can Never Do [English Subtitles]
มุมมอง 28K4 หลายเดือนก่อน
What Computers Can Never Do [English Subtitles]
How to Find the Majority Vote Winner in an Election with 10 Billion Candidates
มุมมอง 33K4 หลายเดือนก่อน
How to Find the Majority Vote Winner in an Election with 10 Billion Candidates
今聞いてみたら「三重角の公式を使用して、\frac{\pi}{24}を \frac{\pi}{8} の半分に分解します。まず、次の三重角の公式を覚えます。」って返ってきた
このcastはstrict aliasing ruleに反し、未定義動作となるため、正しく動作する保証がないことには注意する必要がありますね。Cではunionを使うのが正しいですね。
x2 = number*0.5F; ってあるけど、ビットハック使って long temp; temp = *(long*)&number; temp -= 0x800000; x2 = *(float*)&temp; にすれば速くなるかな
中田敦彦のモノマネしながらコレ解説する奴好き
このコードが初めてのCでしたはーと❤
コメントの what the fuck? が好きすぎる
こういうテンポのものすごくいい動画は自分で書き起こしてみたくなるから好き
階乗といい指数といい数字を「回数」で捉えるとよく分からんくなるな
対数だと計算が楽 昔はコンピューターさんも計算尺を使っていたんですね
これの応用で立方根を求める手法もありますよね。
同値変形で書いてるの気になる…
C言語にはunionというものがあってだな
0:35 ⇧俺らの反応
高3だけどarctanが出てきた瞬間わかんなくなった
数学あるある証明を丁寧に解説してくれれば理解は出来るけど思い付くわけないだろシリーズ
&yのアドレスがfloatポインタ型だから、それをlongポインタ型にキャストした上で間接参照することで、yの中身自体もfloatからlongにキャストできるってことか?
「数字悪臭化工」が一番面白い
最悪の場合は一人で三席占める事だから33.3~%で、最善の場合は二席占める事だから50%、足して2で割ったら41.6~%だと思ったらそう簡単には行かなかったのね
「これ数分じゃ解けないな」って判断して捨てるのも一種の実力なのかな?と思えてくる
1/√xで思い出したんですが、グラフィック系のシェーダープログラミングだと、rand関数がないので色々工夫して代用しているらしいです。それに関連してメルセンヌツイスターとかXORシフトあたりの乱数生成の解説も聞いてみたいです!ここ最近WGSLでパストレーサーを実装しようとしてるんですが、有名なfract-sinの擬似乱数だと周期性が気になるので他のアルゴリズムも知りたいと思ってます。
分子動力学の多重極子展開などで3次元座標にある2点間距離の逆乗を高速に求めたい時につかってました lapacあたりにも実装があった気がする あと数列の加速法とか補間あたりの分野も標本の数を変えずに予測精度を上げれんの?というワクワク感ありますよね。
超絶わかりやすい~!
世の中のエンジニアってこれをぱっと理解できるのか 土方には無理だなやっぱ
これが何に使われてるのかをちゃんと説明してくれるの地味にありがたい、照明の処理に使われているけど詳しいことは省くって言うだけで終わらせることもできるだろうに…
int add(int input){ int num[] = {1,2,3,4, ...}; return num[input]; }
面白い
高速逆平方根!
Inverse square rootで検索したらWiki立ってるのかよこのアルゴリズム…… 気の狂った遺物マジで大好き
キモすぎと気持ち良いが同時に来る
javascript だけど [...Array(x), 0].length とかいう邪道を思いつきました
そのWTFな逆平方根関数気になってました! プログラミングの勉強になりました!(ならない) 解説ありがとうございます!
「結果が分かりやすいし⑨で」
ぶっちゃけここのチルノは賢い……
はぇ〜すっごい実用的…
高速逆平方根の解説他でも見たけど難しかったけど、 えびまラボさんの解説は無駄がない非常に簡潔だし、とてもわかり易かったです! むしろえびまラボさんでも8分かかるくらいの難しい話ってことか
ちょうど1/√x+1/√y<1/√zかどうか判定したかったので助かりましWA
03:35 の「ケチだね」、ふふってなる
以前の会社に、C++で何やらお絵かきソフトを作って居る人たちがいた。オレもそこでやりたいと言ったんだけど、ダメだと言われてしまった。その時は、「東大の数学科を出た人しか雇っていない」とか、「アルゴリズムがいろいろあって」みたいなことを言われたんだけど、意味が分からず。。この動画を見た時に、初めてその意味を理解しました。今まで、業務アプリしか作った事の無いオレには、アルゴリズムなんて意味あるの?と思っていたけれど、この動画を見て、初めてアルゴリズムとは何なのかが分かりました。 この前、ITの展示会に行ったら、Unityの人が来ていた。「Unityの人って普段なにやってんの?」と聞いたら、「うん。。仕事しているよ!」と答えられてしまったんだけど、、この動画にあるようなことをしているんだろうなぁ。。と思った。3DCAD作って居る人とか、ナンたら座標変換とか、そういうのをやる仕事に就くには、プログラマになる以前に、数学科出てないと無理なんだと言うことが、よくわかった。
結論・・・オレは、C++書けるようになっても、何も出来ることは無い。大学4年分の数学をTH-camで学ぶの無理だろな。。そのために大学ってあるんだもんなぁ。。
でも、面白そうだから、ヒマなときに、かじりついてみようとおもう。。
威力の関数グラフか?
なるべく使い回ししやすい処理使ってた様な覚えがある
まぁ良いや
喧嘩吹っ掛けてるのが、このレベルだそうだからな、どこかの国は潰す為にお勉強で数学の点数が高いインドだったかアメリカだったかの天才呼んで潰しに勤しんだって さぁてウクライナにみんなで支援しよう
アラブもコレの関係に関わってたりするか?
強化人間も大変よね、マシン語で書いたりしたらそりゃ狙われるわ
ニュートン法は収束が早いってどっかで聞いたことがあるけどほんとに速いんだなあ
こういう、floatとかの「仕様」を利用した変態コードは、別環境に移植したときに(つまり仕様が変わったときに)正しく動作しなくなる可能性があるので、手放しで真似するのはやめましょう。 組み込みプログラミングとかで「別環境への移植」が考えられない場合や、 IEEEなどの規格を厳密に守られていることが保証されている環境間の移植しかありえない場合などは使えるので、そういったことを事前に検討してから使いましょう。
マジックナンバーは誤差吸収で 真の技術結晶はマジックナンバー書いてある行のyの計算だったってこと?
16億くらいの定数のところに書いてある “// what the fuck?”がおもろい
//なんこれ?
@@可児風我コメントであることを示す記号
@@Asakoto1849 いやまて、what the fuckを日本語訳しただけにも見える。。。
@@inti-lime61 そうでしたか…
Inverse Square Rootだ!だいすきです! 5:13 知ってるだろうがでふふってなりました。
文字で絵を描いてもらえばいいのだ(ASCII ART)
1+m/2^23が0以上1未満だから、e=floor(log2(y))+127、m/2^23=y*2^(127-e)-1で、i/2^23=e+m/2^23を具体的にyで表すことができる。Excelか何かでグラフを作ってみるとlog2(y)+Cを区分的に直線で表した関数になるのがよくわかる
longのビット数って実行環境によって変わらなかったっけ…(32か64になることがほとんどだったと思いますが…)
そうですね、uint32_tを使うのが最適だと思います。 floatと整数型のキャストも未定義動作なので、実際にはmemcpyなどを使う必要がありますね
そもそもこのコード自体32bit時代の話で独自命令も乏しかったらしいし、現代じゃ最初のチルノの書き方が何周も回って速くて確実なんだっけ?
数学と機械計算をグチャグチャにしていいとこどりしたコード好きだ
正規表現の微分について解説してほしいです!
実際今のCPU命令に√計算あるんでもう忘れて良いやつ
中身はもしかして同じようなことしてるのかな?
マイコンとか組み込み系では使えそう。
@@resistan-y1hこれ
rsqrt 命令と掛け算命令さえあれば、rsqrt(x) × x で sqrt(x) の代わりになったり、rsqrt(x) の2乗で1/x が求められたりと、2命令だけで sqrt も div も実現できてお得(sqrt も div も本来とても複雑な回路)