タグ

Programmingとmathに関するLayzieのブックマーク (13)

  • プログラマの為の数学勉強会

    プログラマの為の 数学勉強会 第1回 (於)ワークスアプリケーションズ 中村晃一 2013年9月12日 自己紹介 中村晃一 東京大学 大学院 情報理工学系研究科 コンピュータ科学専攻 後期博士課程 2年 プログラム最適化・言語処理系の実装技術・人間と言語の関係等に興味があります。 twitter: @9_ties 謝辞 この会の企画・会場設備の提供をして頂きました ㈱ ワークスアプリケーションズ様 にこの場をお借りして御礼申し上げます。 この資料について http://nineties.github.com/math-seminar に置いてあります。 SVGに対応したブラウザで見て下さい。主要なブラウザで古いバージョンでなければ大丈夫だと思います。 内容の誤り、プログラムのバグは@9_tiesかkoichi.nakamur AT gmail.comまでご連絡下さい。 イントロダクション

  • Math for Pictures

    Here’s the small subset of math that I use for the vast majority of visualizations - ideally it’s a good introduction to those who want to make pretty things with d3js, canvas, or other tools. In essence, I’ll try to explain four parts of Javascript’s built-in Math object: Math.cos(a), which we use to get x positions from anglesMath.sin(a), which we use to get y positions from anglesMath.atan2(y,

    Math for Pictures
  • Haskell/カリー=ハワード同型 - Wikibooks

    カリー=ハワード同型(Curry-Howard isomorphism)は数学の一見無関係に思えるふたつの領域、型理論と構造論理を結びつける実に驚くべき関係である。 これよりカリー=ハワード同型は単に C-H と表記する。C-H が示しているのは、定理の質を反映するような型を構築し、それからその型を持つ値を見つけさえすれば、どんな数学的定理をも証明することができる、ということだ。これは最初は極めて不思議に思える。型と定理にどんな関係があるというのだろうか?しかしながら、以下に述べるように、このふたつは非常に近しい関係にあるのである。はじめる前に簡単に注意しておくが、導入の章では error や undefinedのような 表示的意味論 が ⊥ である式の存在は無視する。これらはとても重要な役割を果たすのだが、これらについては後ほど別に考えることにする。また、unsafeCoerce#のよ

    Layzie
    Layzie 2012/06/28
    Haskellのハードルがまた一段と高くなった
  • 【Javascript】配列の順序のランダム入れ替え at softelメモ

    問題 phpだと shuffle($array)で配列の内容をランダムな順序に入れ替えられるじゃないですか。 Javascriptでも配列の要素のランダム入れ替えってできる? [0,1,2,3,4,5,6,7,8,9] → [4,6,8,0,9,3,7,1,2] のような感じ。 答え shuffle()関数で配列の要素をシャッフルできるのは、便利機能満載、関数の塊のphpならではの風景。 JavascriptのArrayオブジェクトにshuffleはない。実装方法も考えて自分で作る必要がある。 乱数で重みをつけて並べ替える方法 var x = [0,1,2,3,4,5,6,7,8,9]; //配列xの各要素に乱数で重みをつける for (var i = 0, l = x.length; i < l; ++i) { x[i] = [x[i], Math.random()]; } //配列xを

    【Javascript】配列の順序のランダム入れ替え at softelメモ
    Layzie
    Layzie 2012/06/24
    そんなに配列をランダムに入れ替えしたいかは別にして…
  • 平方根を使わずに高速で2点間の距離を近似する - きしだのHatena

    2点間の距離の計算では平方根が必要になりますが、平方根は少し重い計算です。ということで、平方根を使わず、掛け算・割り算・足し算と絶対値・最大・最小だけで距離を近似する方法についての記事を翻訳してみました。 flipcode - Fast Approximate Distance Functions (12:02 補足:おそらく今の標準的なCPUでやる意味はほとんどないと思います。近似のアプローチとして面白いというくらいの話。Z80でやりましょう) 距離関数高速近似 by Rafael Baptista (27 June 2003) 2点間のユークリッド距離を求める計算式は次のようになる。 二次元では次のようになる。 この関数の計算には、平方根が必要になる。これは最近のコンピュータでも高価な計算である。平方根は逐次近似によって求められる。つまり、コンピュータは平方根近似のループを行って、与え

    平方根を使わずに高速で2点間の距離を近似する - きしだのHatena
  • Tumblr

    この記事の対象: ユーザーインターフェイスやグラフィックスを扱うデザイナとプログラマ 昔話から始まって恐縮ですが、私が3DCGプログラミングに触れたのは今から20年近く前、当時学生だった清水亮氏がプログラミング雑誌に投稿していた記事やプログラムを見掛けたのがきっかけだったと思います。私は残念ながら「神童」ではなかったのでベクトルや行列については「チンプンカンプン」でしたが、いずれ3DCGを扱ってみようという気になった事は確かです。 その当時と今では、ハードウェアの性能、ソフトウェアの規模、そこから生まれるCGの表現力、何れを取っても桁違いになってしまいました。が、ベクトルを伸ばして、回して、移動させて、という操作がコンピュータグラフィクスの基である事は何一つ変わっていません。 20年前の昔、家庭のコンピュータでベクトルや行列の計算をして画面にポリゴンを描くなどという事に興じていたのは、一

  • ラムダ計算をちょっと勉強してみたので、忘れないうちに書いておく - Naoki_Rinの学習 - 補助記憶領域

    なんとなく最近少し理論的な方面もやってみようかなと思い立って、今回はラムダ計算の基礎を勉強してみることにしました。 関数型言語の基盤らしいです。たしかにちょっと雰囲気はあります。 参考にしたページとしては Wikipedia ラムダ計算 - http://ja.wikipedia.org/wiki/%E3%83%A9%E3%83%A0%E3%83%80%E8%A8%88%E7%AE%97 Wikipedia 型付きラムダ計算 - http://ja.wikipedia.org/wiki/%E5%9E%8B%E4%BB%98%E3%81%8D%E3%83%A9%E3%83%A0%E3%83%80%E8%A8%88%E7%AE%97 カリー・ハワード同型対応入門 - http://ocw.kyoto-u.ac.jp/ocw-archives-jp/002-006/pdf/curryhoward

  • 「100人のプロが選んだソフトウェア開発の名著 君のために選んだ1冊」に寄稿しましたよというお話 - 宇宙行きたい

    今年で 10 周年を迎えた「 Developers Summit 」ですが、記念して 100人のプロが選んだソフトウェア開発の名著 君のために選んだ1冊 作者: デブサミ運営事務局,SEshop.com編集部出版社/メーカー: 翔泳社発売日: 2012/02/22メディア: 単行(ソフトカバー)購入: 18人 クリック: 537回この商品を含むブログ (39件) を見るというが刊行されました。 ありがたいことに僕も一冊紹介して良いと言われたので結城先生( id:hyuki )の プログラマの数学 作者: 結城浩出版社/メーカー: ソフトバンククリエイティブ発売日: 2005/03/24メディア: 大型購入: 41人 クリック: 707回この商品を含むブログ (396件) を見るで一描かせていただきました。 僕にとってプログラムを始めたばかりの頃の先生は結城先生のでした。 「Jav

    「100人のプロが選んだソフトウェア開発の名著 君のために選んだ1冊」に寄稿しましたよというお話 - 宇宙行きたい
  • 第2回 座標の回転を理解する─ブラウザで操作できるJavaScript座標回転プログラム | gihyo.jp

    前回の回転するプロペラですが、ソースを見るとsinやらcosやらが出てきます。いわゆる三角関数というやつですが、得意な方は少ないかも知れません(中には見るとジンマシンが出るという方もいらっしゃるかも知れません⁠)⁠。 今回はこのあたりの座標操作を、直観的にわかるように解説していきましょう。 座標回転の基 まず、座標について復習しておきましょう。普通、座標というのは「右に5、上に3」のような形を取ります。「⁠右に5」の部分をx座標、「⁠上に3」の部分をy座標と呼びます。 この座標で長方形を描くのは簡単です。ではなぜ前回のプログラムではややこしいことをしていたのでしょうか。それは、プロペラの回転は、x座標とy座標だけではできないからですね。どうすれば長方形を回転させた座標を計算できるでしょうか。 これには「右に5、上に3」というのを2つに分けて考えます。まず「右に5」の部分は(0, 0)から

    第2回 座標の回転を理解する─ブラウザで操作できるJavaScript座標回転プログラム | gihyo.jp
    Layzie
    Layzie 2011/12/08
    マジで数学が残念な感じなので、覚えたい
  • 2進数, 16進数 - Humanity

    これパッと見て分かるようになりたいなぁ。 0000 0x0 0001 0x1 0010 0x2 0011 0x3 0100 0x4 0101 0x5 0110 0x6 0111 0x7 1000 0x8 1001 0x9 1010 0xA 1011 0xB 1100 0xC 1101 0xD 1110 0xE 1111 0xF 練習 2進数 → 16進数 Q. 10101010は? A. 1010(0xA) 1010(0xA) なので 0xAA Q. 00110010は? A. 0011(0x3) 0010(0x2) なので 0x32 16進数 → 2進数 Q. 0xCDは? A. 上と同じ要領で 11001101 Q. 0xF3は? A. 上と同じ要領で 11110011 16進数って4ビットが1文字に対応してるわけか。 ...いや中学高校の情報の授業でやりそうなことだけど、 ようやく「

    2進数, 16進数 - Humanity
    Layzie
    Layzie 2010/06/02
    ぬ、全然覚えてないので、勉強になる
  • プログラマーに数学は必須 ? | スラド サイエンス

    データベース主導型のサイトを構築するのに線形代数が役立つわけでもなく、昨今のプログラミングで数学的スキルを要することはあまりない。それだけでなく、数学的スキルがなくとも上手くやっていくことだって可能といえる。 しかし、開発者である Alan Skorkin 氏は自身のブログ記事で、開発分野で当に面白い仕事にありつくには数学的バックグラウンドは必須との主張を展開している。我々の扱うデータセットはより大きくなっており、それとともに数学に主眼を置いたアルゴリズム分析も重要になり、数学スキルは不可欠なものになっていく Skorkin 氏は考えているそうだ。 プログラミングと数学的バックグラウンドについて、/.J 諸兄方はどのようにお考えだろうか ? また、自身だけでなく周りの開発者らをみて思うところなどもあればぜひ。

  • 計算モデルと論理とゲーデルの不完全性定理 - Gemmaの日記

    ゲーデルの不完全性定理は、数学を扱う数学、つまりメタ数学を考えるが、それだと理解が難しい。しかし、証明(数学)=プログラムという悟りを開くと、プログラムを扱うプログラム、つまりメタプログラムを考えればよくなり、それならコンパイラ等でなじみがあるので理解が優しくなる。 話の流れは以下。 1. プログラムとは何か 2. 証明とは何か 3. 証明=プログラム , (   {、 {   ヽ.ー、、 \、__ぃ._ゝ⌒ヾ iヾ)}、_ ン_ー-_二ー-, 〉 {厶 _、ヽ              _ ヽ._>'´ / /,ィ/ / ハYヘい       ,. -- 〃⌒ r−-、      ィ´  〃 ,イ/7'  ,イイ/ 小ヽ 丶、 ,. ‐ '´ハ i   ″`ヽ、 、ヽ、     /幺ィ  {从{小込v' jゥ仏厶川リ}  YV,   小 Vj. |丶   ヽ ` ー-ミー--'_,辷三彡

    計算モデルと論理とゲーデルの不完全性定理 - Gemmaの日記
    Layzie
    Layzie 2010/02/19
    難しいので俺には分かりませんが、シェリル!ということで後でちゃんと読む。
  • FF(16進数の掛け算)を覚えよう - やねうらおブログ(移転しました)

    最近、あるプログラマと話していて気づいたのだけど、彼は16進数の2桁と1桁との掛け算(FDh×5とか)が出来ない。やり方自体を知らないのだ。彼はWindowsの電卓を立ち上げて計算していた。 そのときは「プログラマでなくともこんなこと知ってて当然だろ!」と思ったのだけど、その後、10人ぐらいのプログラマに出来るかどうか聞いてみたが誰も出来ない。 結局、「普通は出来ない」のだと私は理解した。しかし16進数の掛け算はそんなに難しくない。私が子供のころには、まわりにFF(1×1=1に始まって、F×F=E1まで)を丸暗記している人がいっぱいいた。情報教育の一環として中学か高校で教えても計算の仕方ぐらい教えればいいのになぁと思っている。 前置きが長くなったが、以下にやり方などを書いておく。 ■ 16進数に馴染もう 16進数では、A = 10 , B = 11 , C = 12 , D = 13 ,

    FF(16進数の掛け算)を覚えよう - やねうらおブログ(移転しました)
    Layzie
    Layzie 2009/01/06
    ファイナルファンタジーかと思ったのは俺だけで良い。と言うか、こんな風に計算出来るんですね。
  • 1