黒木玄 Gen Kuroki
- いいね数 389,756/311,170
- フォロー 995 フォロワー 14,556 ツイート 293,980
- 現在地 (^-^)/
- Web https://genkuroki.github.io/documents/
- 自己紹介 私については https://twilog.org/genkuroki と https://genkuroki.github.io と https://github.com/genkuroki と https://github.com/genkuroki/public を見て下さい。
2020年07月05日(日)
BFSってあんま再帰で実装されないんかな。てか、できるんかな。
while使ってスタックとキューで対応付ければ美しい実装になるけど、どうしても再帰で対応付けられねぇ。
タグ:
posted at 00:08:18
Abhishek Sharma @abhisheksh_98
Small gains were made with the Julia lang (and plots dot jl) pic.twitter.com/5mJ78lLQCf
タグ:
posted at 00:31:44
Abhishek Sharma @abhisheksh_98
It's a lovely language. Greek symbols (check out pi, alpha, beta) as variables is legal! pic.twitter.com/8yTUJnCIyV
タグ:
posted at 00:31:45
Abhishek Sharma @abhisheksh_98
Working with plots dot jl has made me develop newfound respect for the @matplotlib docs. In plots dot jl, everything is a mess in terms of API documentation and I found myself frequently opening github issues and 3rd party blogs as they came up top whilst Googling
タグ:
posted at 00:34:17
Hiromitsu Takagi @HiromitsuTakagi
「接触チェック」の記録というのは、アプリが(陽性者のIDをサーバからダウンロードして)「チェック」した記録なので、このシステムに陽性者登録があったときにしか増えません。
twitter.com/akibeat/status...
タグ:
posted at 01:43:38
#Julia言語 余計なメモリ消費を避けたければ、追加メモリ消費がほぼないことがわかっている配列関係の演算だけでコードを書くと良いです。
nbviewer.jupyter.org/gist/genkuroki...
追加メモリ消費がほぼない演算
1 in-place計算
2 dot 付きの = による代入
3 viewによる部分配列
4 sum(f(x) for x in A) pic.twitter.com/nj9nW6eSvT
タグ: Julia言語
posted at 01:48:51
重症者が減っているというより、無症状者まで積極的に検査しに行っていることや若年者感染が多いということではないかな👶
#マシュマロを投げ合おう
marshmallow-qa.com/messages/5976c... pic.twitter.com/jMtMn82w4E
タグ: マシュマロを投げ合おう
posted at 01:54:14
#Julia言語
In[32]のように素朴にforループを回せば余計なメモリ消費は確実に防げます。(本当はin-place計算の函数を用意するべき)
forループは冗長で見難いが、In[35], In[36]のように書くと余計なメモリ消費が発生。
In[37]のように @. と @ viewsを使うと余計なメモリ消費を防げます(お勧め)。 pic.twitter.com/WuBPtE8slW
タグ: Julia言語
posted at 01:55:48
#Julia言語 ~、forループの内側での繰り返し、作り直された state の分のメモリが消費されてしまいます。forループの内側は確実に追加メモリ消費がほぼないコードにしておかないとまずい。
nbviewer.jupyter.org/gist/genkuroki...
添付画像1がやりがちなダメな例です。
これをやらかすと本当にひどい目にあう。 pic.twitter.com/Kq7uw3JUVo
タグ: Julia言語
posted at 02:34:06
はじきやくもわの最大の弊害は、
「比例の概念を理解していなくても、機械的に数値を当てはめるだけで解けてしまい、『理解している』と誤解してしまう事がある」
と言う点にあると考えます。
タグ:
posted at 06:49:24
昔数学のテストで式を書かずに答えだけ書いて出したら全部バツにされたっけか…
次のテストで式を書き落第点からトップになったらカンニングを疑われた…
いや!前回のテストも答えは全部あってたでしょ!
あんたはテストの点でしか人を見れないのか!
と言って職員室まで連れてかれたのが25年前…😵 twitter.com/conoki69/statu...
タグ:
posted at 08:36:51
厚労省の発表がグラフとともに、元のデータをcsvで公開するように。発生状況も素直にhtmlの表にしてくれてる!
www.mhlw.go.jp/stf/covid-19/k... pic.twitter.com/pGoPN9PK2e
タグ:
posted at 09:37:53
@genkuroki ありがとうございます。twitterも全然使いこなせていないですが、スクリーンショットを貼れば良いんですね。もう少し試行錯誤したら、ポストしてみようと思います!
タグ:
posted at 09:58:41
Juliaで非正方格子のイジングモデルをシミュレーションしてみた [MCMC] on @Qiita qiita.com/oki_mebarun/it...
タグ:
posted at 10:08:19
@yujinotweet 短いコードの公開の定跡は
(1) GitHubにコード公開用のアカウントをとる。
github.com
(2) GitHub Gist にコードを貼り付けて、Create public gist で公開する。
gist.github.com
です。スクショと違ってコピペやダウンロードでコードを試せる。
タグ:
posted at 10:08:31
@yujinotweet もちろん、スクショで済ますのも可。タグに #Julia言語 などをつけると日本語圏Juliaユーザーには見つけてもらいやすいです。
タグ: Julia言語
posted at 10:19:10
@beginaid できるはず。
元々queueを使いたいアルゴリズムだから再帰(i.e. call stack)で表現しにくいけど、helperで再帰させばこんな感じでできると思う。Juliaで書いてみた (bfs_recursive):
gist.github.com/aviatesk/03d85...
タグ:
posted at 11:54:14
@yamazaksv2 中2の連立方程式文章題でフリーズしている生徒。手元をみると「くもわ」の図。こんなのどこで教わったの?と聞くと学校の(一年生時の)授業でとのこと。それ一旦忘れようと言ってもくもわが…くもわが…と呟く。時間かかっても上書きしますよこれから。
顔も知らぬその教員に軽く殺意を覚えました。
タグ:
posted at 12:53:32
「くもわ」「きはじ」問題の一つは概念理解に先行して教えている確率が高いこと
理解途上の者に「これで点数が上がる」などと言い、算数の大切な活動をスキップすると思考力は育たない
理解したものが辿り着く速算法の一種で、本質などではない
だから最後まで「くもわ」「きはじ」は言っちゃダメ
タグ:
posted at 14:32:58
I love this bug report: github.com/JuliaLang/juli.... This is what I was hoping for by adding rr support in #julialang. This would've been a pain to debug otherwise, since vectorization decisions depend on the microarchitecture you're running. With rr, 10 mins for me to give a patch.
タグ: julialang
posted at 14:35:20
#Julia言語
Juliaの線形代数はBLASやLAPACKに頼れる場合には頼るようになっています。
しかし、それらに頼らずに線形代数の演算を高速化することも試みられて非常に面白いことになっています。
頼れない場合の例として整数成分の行列やベクトルの場合があります↓
discourse.julialang.org/t/ann-loopvect... twitter.com/kb_satou/statu...
タグ: Julia言語
posted at 14:47:18
息子が正負の計算わからないときに
自分で数直線書いて解こうという気にならない
そもそも数直線が一人で書けない
足したり引いたりしたときに
足されたり引かれたりする数を
原点として足したり引いたりせず
なぜか0から足したり引いたりしてしまう
その他、基本的なことがわからなさすぎて…
タグ:
posted at 14:47:37
いったい小学校6年間
算数で何やって来たんだぁ〜〜〜
私が息子が小1のときから
ブロックの絵(平面)書いたり
指使わせて計算覚えさせようとしたのも
学校では指使うと怒られるからと
家でも恐れてやらず…
体感で身に付けさせたかったのに
暗記主義の学校と
仕組みから教えたい私で
合わなくて😓
タグ:
posted at 14:56:07
#Julia言語 JuliaのLinearAlgebraモジュールは線形代数のフレームワークになっていて、BLASやLAPACKと無関係にいろいろなことができるようになっています。
BLASやLAPACKにと頼れる部分はそうしているだけ。
pure Juliaで何とかすることも試みられていて非常に面白いです。
discourse.julialang.org/t/ann-loopvect...
タグ: Julia言語
posted at 14:59:55
#Julia言語 添付画像1のようなコードを書くとクソ遅くなります。
添付画像1のコードを添付画像2のin-place計算に書き換えるだけで、
8.123294 seconds (4.10 k allocations: 16.000 GiB, 14.39% gc time)
が
0.470071 seconds (追加メモリ消費無し❗️)
に改善されます‼️
nbviewer.jupyter.org/gist/genkuroki... twitter.com/genkuroki/stat... pic.twitter.com/G2A4CLxWO2
タグ: Julia言語
posted at 15:07:25
#Julia言語 「配列などで表現された系の状態をあるルールに従って繰り返し更新するプログラム」を書くことは、Juliaに興味を持った人達の多くがやりたいことの1つだと思う。
しかし、「状態の更新」を「すでに確保したメモリ上での計算」で実装せずにforループの内側に入れると悲惨な目にあいます。 pic.twitter.com/xozMVr7l7F
タグ: Julia言語
posted at 15:14:00
#Julia言語 追加メモリ消費がほぼない演算の作り方については
nbviewer.jupyter.org/gist/genkuroki...
追加メモリ消費がない演算
1 in-place計算
2 dot 付きの = による代入
3 viewによる部分配列
4 sum(f(x) for x in A)
を参照。CやFortranでプログラムを書くときのように考え、Juliaのスタイルで書く方法。
タグ: Julia言語
posted at 15:18:20
#Julia言語 無駄な追加メモリ消費とは別の話題になってしまうが、速度を気にしなければいけないケースで
A = []
for i in 1:N
a = f(i)
push!(A, a)
end
と書くのはよくない。これ、本当によく見る。特に良くないのが A = [] の行。詳しくは以下のリンク先を参照。
twitter.com/genkuroki/stat...
タグ: Julia言語
posted at 15:31:02
#Julia言語 もちろん、速度を気にせずに済む場合には
A = []
for i in 1:N
a = f(i)
push!(A, a)
end
も全然問題ない。私は函数の中に書かずにべたで
PP = []
for i in 1:4
P = plot(~)
push!(PP, P)
end
plot(PP...; layout=(2,2))
のようによく書く。
twitter.com/genkuroki/stat...
タグ: Julia言語
posted at 15:47:14
#超算数 怒りを感じつつ、嘆かわしい事例の情報収集をしておきます。中学一年生に「くもわ」を指導する先生がいるという情報。数年前、同学年で数学教師が「はじき」を教えた例を聞きましたtwitter.com/temmusu_n/stat...。数研出版の中一数学教科書の付録的部分に「みはじ」が載るのが荒涼たる21世紀。 twitter.com/nyankophone/st...
タグ: 超算数
posted at 15:49:50
非公開
タグ:
posted at xx:xx:xx
@Jinreigoodness これが約100年前から行われてきたことを最近知り、驚愕しました。
僕は破壊したいですね。
これが小学校という外から見えない場所で行われており、教師用指導書も先程話した通りで、どうしたもんやらという感じです。
仰る通りです。
まずは「超算数は間違っている」という空気作りも大切なのかなと
タグ:
posted at 17:03:49
非公開
タグ:
posted at xx:xx:xx
これなあ…
普通に`[]`よくやるし個人的にはそれがコードのボトルネックになってたことないんだけど、科学計算してて超巨大なデータと向き合ってたらたらよくありそう…
といいつつ、普通に最初は型意識せず適当に書いて、パフォーマンス悪かったらat-codetypedでコンパイラの機嫌取ればいいのでは派。 twitter.com/genkuroki/stat...
タグ:
posted at 18:24:09
前にJeffさんのmaster thesis読んでた時、"backward typeflow analysis"をサポートするためのアイディアが書いてあった気がして、将来的にコンパイラが勝手にuntypedなコンテナ型の要素型を推論してくれるようにならないかなと思ったり。`sum([])`がエラーにならない的な。
タグ:
posted at 18:24:10
JuliaでとりあえずIzhikevich model実装するかって思ったけどよく考えたらSpikingNeuralNetworks.jlが既にありましたね…
github.com/AStupidBear/Sp...
タグ:
posted at 18:39:59
Anyがどこまで伝播するか分からないときには型は書いたほうがいいかな。関数内など局所的な範囲に留められるなら大抵はボトルネックにならないのでどっちでもいい気がする。
タグ:
posted at 18:49:33
#超算数 より極端な例を紹介しておくと、高校生の証言として、物理の授業で「みはじ」をx, v, sに置き換えたものを【過程を書くよう】強制されたという例もありますtwitter.com/temmusu_n/stat...。
タグ: 超算数
posted at 19:18:37
Teaching Geophysics with Pluto.jl is going to be cool! #julialang #geophysics #twittercampus pic.twitter.com/rmtAVNheWa
タグ: geophysics julialang twittercampus
posted at 19:24:04
@oki_mebarun @Qiita #Julia言語 なぜかメモリ消費が多過ぎると思いました。最大の原因は10万個のcopy(S)を配列に保存していることなのですが、それ以外にも函数EとdEの中でgetJを使っている点も無駄だと思いました。誤解していたらごめんなさい。
MCMC実行時間が25秒から0.26秒に縮まりました↓
gist.github.com/genkuroki/9979... pic.twitter.com/EnmckKMS2I
タグ: Julia言語
posted at 20:02:35
@oki_mebarun @Qiita #Julia言語 私が以前やってみた2D Ising (正方格子)のコードと結果は
nbviewer.jupyter.org/gist/genkuroki...
にあります。100,000,000,000サイト更新のアニメーション作成に11分かかりました。添付画像はT=T_cの場合。非常に不安定。 pic.twitter.com/kVpMtLluS4
タグ: Julia言語
posted at 20:05:34
@oki_mebarun @Qiita #Julia言語 T=1.010T_cの場合
温度が高過ぎてスピンが揃いません。
100×100 pic.twitter.com/24i30Ojp4b
タグ: Julia言語
posted at 20:06:45
@oki_mebarun @Qiita #Julia言語 T=0.990T_cの場合
「スピンの向きが揃った状態が続き、たまに反対側にジャンプする」を繰り返します。
2D Ising で遊ぶのは楽しいので仲間を見付けた感じです。 pic.twitter.com/8crhDHajHL
タグ: Julia言語
posted at 20:09:10
#Julia言語
dotを演算子に付けると「成分ごとの作用」の意味になります。
.= はすでに確保されている配列への「成分ごとの代入」で__常に__使われると思っておいた方が良いです。
A = rand(2, 2)
B = Float64[1 2; 3 4]
A .= B
とすると、Aの成分にBの成分が代入される。 twitter.com/kado_judo0312/...
タグ: Julia言語
posted at 20:36:45
すごい。テレメトリデータがjupyter notebookで見れる。かっこいい。 twitter.com/ina111/status/... pic.twitter.com/2YUDMKsbpv
タグ:
posted at 20:38:20
tsujimotter 日曜数学者 @tsujimotter
コンピュータで具体例を計算しつつ、「楕円曲線」の深い理論に入っていくお話を書いてみました! ぜひ読んでいただきたいです!
(後編は明日公開予定)
具体例を通して学ぶ虚数乗法論(前編) - tsujimotterのノートブック
tsujimotter.hatenablog.com/entry/complex-...
タグ:
posted at 20:44:11
#Julia言語
(1) A .= B →すでにある配列Aの成分に配列Bの成分を代入
(2) A = B →Bと同じ値の変数Aを作る
A, Bの片方の成分を変更するともう一方の成分も変更される(って言うか、成分達はメモリ上では同じもの)
(3) A = copy(B) →Bの成分と同じ成分を持つ変数Aを作る
gist.github.com/genkuroki/ecb6... pic.twitter.com/En9amxuIBq
タグ: Julia言語
posted at 20:52:28
@genkuroki @Qiita ありがとうございます😊
こんなに速くなるんですね。
getJやgetBは原子ごとに変わることも想定して、とりあえず毎度呼ぶことにしていただけですが、定数なら必要なかったです。
タグ:
posted at 20:55:22
#超算数 同じ研究者の別の論文
坂本美紀「小学生における割合文章題の問題表象: 子どもたちは問題をどのように図示するか」『愛知教育大学教育実践総合センター紀要』 第2巻 (1999年3月)、47-54ページ。hdl.handle.net/10424/1280
子供に割合の文章題を図示させたが、くもわは言及されていない。 pic.twitter.com/8m28DYH9BE
タグ: 超算数
posted at 20:56:55
#超算数 個別支援の報告
小澤郁美他「割合の文章題に困難がある生徒への認知カウンセリングを用いた支援」『学校教育実践学研究』第22巻 (2016年3月)、45-54ページ。doi.org/10.15027/40395
中一のA子さんへの割合文章題支援。4マス表で指導したが途中回からA子さんが自分でくもわを使い始めた。
タグ: 超算数
posted at 20:56:56
「はじき」使って答案埋めるのも、カンニングで埋めるのも、理解していないという点では同じに思える。むしろ、本人がわかった気になるだけ「はじき」の方が罪が重い。
タグ:
posted at 20:59:25
Dependabot素晴らしいので、こちらのissueを後押しして、速くjulia対応してほしい。Julia support? #2105 github.com/dependabot/dep...
タグ:
posted at 21:17:11
今日の本②
Pythonで体験するベイズ推論 PyMCによるMCMC入門
amzn.to/3f4AwNa
1から始める Juliaプログラミング
amzn.to/2VPKNVU
物理科学, この1年 2020
amzn.to/31OOLC2
素粒子の宴 新装版
amzn.to/2D8KaQR
タグ:
posted at 21:49:58
「掛け算に順序はない」「解法暗記反対」ですが。
#マシュマロを投げ合おう
marshmallow-qa.com/messages/da509... pic.twitter.com/ozZEkWj2TI
タグ: マシュマロを投げ合おう
posted at 22:11:26
tsujimotter 日曜数学者 @tsujimotter
土曜に思い立って、ほぼ2日間まるまるこの記事と明日の記事を書くのに注ぎ込みました。
「楕円曲線たのしー!!!」とハイになりながら。
明日の計算例はかなり面白いものになっていると思います!お楽しみに!
タグ:
posted at 22:14:24
非公開
タグ:
posted at xx:xx:xx
現代数学教育事典
遠山 啓/責任編集
出版年:1965年
【学力水準の引き下げの批判に対しては、「子どもの発達段階」ということを持ち出して、それを合理化しようとした】
昔の数教協は、「子どもの発達段階」の使われ方を批判しているようです。
#超算数 pic.twitter.com/vBSU2zVxjk
タグ: 超算数
posted at 22:45:35
Pluto.jl notebook of the Stochastic Thinking class of the Computational Modeling course at Julia Academy.
Using markdown , local variables to 'recycle' var names, and the piping operator to chain function calls.
#JuliaLang
github.com/elihugarret/my... pic.twitter.com/v6FEn4sxXO
タグ: JuliaLang
posted at 22:57:53
「はじき」は見せてもダメ。
理解途上の子の中に「理解したと錯覚する」子が確実に出てきてしまう。
その錯覚が勉強する上で最も危険だと考えます。
「はじき」を使いながら「何故これで良いのか?」という本質を追い求める姿勢(やる気)があればまたマシだが、そうでなかった場合の被害が甚大です twitter.com/kayoka_yo/stat...
タグ:
posted at 23:37:23
「思考停止だとしても点数を取れることが嬉しい」
そう思う生徒が存在するのは分かりますが、この感情が本質を理解しようというやる気に繋がらず、「点数取りの裏技だけ知りたい」という逃避に繋がるケースのほうが相対的に多いと、指導をしていて感じている。
タグ:
posted at 23:37:37
そして、理解が必須であったと気付いた頃には時既に遅し(例えば"国立大学現役合格"という目標に)という状態に…
「どうしてこんなになるまで放っといたんだ」状態に苦しむ子は短い講師人生で何人も見てきた。
「はじき」はまるで、遅効性の毒薬。
タグ:
posted at 23:38:05
「はじき」は麻薬やドーピングの類いです。
一瞬だけ良い気分になるが、時間をかけてゆっくりと学力を蝕んでいき、症状が出てくる頃には悲惨な状況に陥る。そんな危険性を孕む。
思考停止のパターンマッチ学習が習慣化することで、このような悲惨な状況になる可能性があるなら排除すべきだ。
タグ:
posted at 23:38:38