2020年2月2日のブックマーク (2件)

  • ひらめかない人のためのイノベーションの技法

    shinshinohara @ShinShinohara ある、水耕栽培の農家さんでの出来事。障害者学校の先生たちが見学に。苗を植える様子を見て「あれならうちの生徒にもできそうだね」とつぶやくのを、農家さんは内心、聞きとがめた。というのも、その作業は簡単に見えて、とても熟練の技術が必要な工程だったから。 2020-01-27 22:23:13 shinshinohara @ShinShinohara 浅ければ根が水に届かず、枯れる。深ければ苗が水中に落ちてしまい、流れていってしまう。絶妙な深さできれいに植えなければいけないので、慣れていない人間にはとても任せられない作業。それを簡単に考えるなんて。農業をなめないでほしい、と思ったという。 2020-01-27 22:24:39 shinshinohara @ShinShinohara 後日、障害者学校の先生たちが「試させてほしい」と言って再

    ひらめかない人のためのイノベーションの技法
  • Rustでメモ化を行うためのシンプルなライブラリを作った - 純粋関数型雑記帳

    TL;DR 一行追加するだけで関数をメモ化するマクロを作った。 成果物はこちら https://docs.rs/memoise/ 背景 同じ引数に対して同じ値を返す関数(いわゆる参照透明だったり数学的だったりな関数)では、 関数の計算結果を保存しておくことによって計算を高速化したりすることができます。 このようなテクニックを関数のメモ化(memoise, memoize, memoization)などと呼びます。 特に再帰的に定義される関数についてメモ化を行うことによって、 動的計画法の実装をシンプルで直感的なものにできたりします。 しかし、関数のメモ化はやりたいことが自明なのにもかかわらず、 毎回手で書いていると微妙に面倒だったり、うっかりメモ化忘れで計算量が爆発してしまったり、 ちょっと辛いところがありました。 特にRustを使っていると、グローバル変数を雑に使うことを許して貰えないの

    Rustでメモ化を行うためのシンプルなライブラリを作った - 純粋関数型雑記帳
    tasshi820
    tasshi820 2020/02/02
    ちょうど研究のRustコードでメモ化を実装していたから(個人的に)タイムリーだった。落ち着いたタイミングで触らせていただこう。