タグ

*programmingとmathに関するRion778のブックマーク (22)

  • 10.key

    プログラミング第1 2009年度(Eクラス) 第10回(2009年6月23日) 火曜5・6限,S622講義室 講義担当:渡部卓雄 (Takuo Watanabe) pro1@psg.cs.titech.ac.jp http://www.psg.cs.titech.ac.jp/pro1 1 日のメニュー • プログラムの実行時間 • アルゴリズムの評価 - O-記法 2 プログラムの善し悪し • 以下のような要素で評価できる. - 実行速度,実行に必要な記憶容量,正当性 (正しさ),安全性,使いやすさ,開発コス ト,実行コスト,etc. • ここでは,プログラムの実行速度につ いて考察する. 3 例題:最大部分和 (maximum segment sum, mss) • 与えられた整数列 a = !a0, a1, ..., an-1" の 部分和 ai + ... + aj (0 ! i

  • 2進数の小数表現

    小数表現 ◆0.375の10進数を2進数に変換 ポイント・・・・・小数部がなくなるまで2をかける 0.375×2=0.75 ・・・・・・・・0(整数部の値)↓ 0.75×2=1.5 ・・・・・・・・1         ↓ 0.5×2=1.0   ・・・・・・・・1         ↓ ↑  注目 小数部0になりました ここでかけるのは終わり *ここで2をかけるのが永遠の続くことを無限小数といいます。 0.011 となります。 ◆次ぎに0.011の2進数を10進数に変換 0×2^-1+1×2^-2+1×2^-3 = 0×1/2+1×1/4+1×1/8 = 0+0.25+0.125 = 0.375 つまり 0 . 0  1  1 ×  ↑  ↑  ↑ + 1/2 1/4 1/8 ということです。 ◆同じように0.375の10進数を16進数に変換 0

    Rion778
    Rion778 2010/08/19
    どうも少数の計算は忘れてしまう
  • This page is...

    最近の出来事 魚拓 (31/12/2008) Web魚拓を使った人がいるようです. まぁ,Web魚拓の理念は理解できますし, このページが誰かの役に立つということであれば光栄なことなのですが… 魚拓のシステムは(相対パスを含む?)CSSファイルのURLを正しく取得できないようです. なので,CSSが効かないせいで BLASのページのキャッシュも表示が崩れるということに. サイト管理者として「引用するなら正しく引用してください」という考えが浮かばなくもないのですが,はてさて? このページでキャッシュを制限させていただいているのは, 常に最新の情報を参照していただきたい,と考えているためです. これは1人で書いている関係で結構な量の書き損じが含まれていることもあります. 他には自分の書いたものは手の届く範囲に置いておきたいということでしょうか. ブラウザからの閲覧とはいえローカルホストにはキャ

  • Matplotlib: Python plotting — Matplotlib 2.0.0 documentation

    Matplotlib: Visualization with Python Matplotlib is a comprehensive library for creating static, animated, and interactive visualizations in Python. Matplotlib makes easy things easy and hard things possible. Create publication quality plots. Make interactive figures that can zoom, pan, update. Customize visual style and layout. Export to many file formats. Embed in JupyterLab and Graphical User I

  • ファレイ数列 - Wikipedia

    数学で、ファレイ数列(ファレイすうれつ、フェアリー数列[1]とも, Farey sequence [ˈfɛəri -]) とは、既約分数を順に並べた一群の数列であり、以下に述べるような初等整数論における興味深い性質を持つ。 正確にいえば、 自然数 n に対して、n に対応する(または、属する)ファレイ数列 (Farey sequence of order n) Fn とは、分母が n 以下で、 0 以上 1 以下の全ての既約分数を小さい順から並べてできる有限数列である。 ただし、整数 0, 1 はそれぞれ分数 0/1, 1/1 として扱われる。 定義によっては 0, 1 は数列から省かれる場合もある。 なお、英語では Farey series と呼ばれることも多いが、series(級数)の定義からいえば厳密には誤りである。 例[編集] ファレイ数列 Fn は、具体的に n = 1, …,

    ファレイ数列 - Wikipedia
  • 既約分数クイズ

    アフタヌーン・ティールームでパスタランチべ終えた私は、 ロイヤルミルクティを飲みながら、ぼんやりと窓の外を眺めていた。 年末のはずなのに、町は意外に閑散としている。 ふと、ドアのほうに目をやると、ピンクのセーターを来た女の子が一人 入ってくる。 女の子は店内を見回して、私の方を向くとにこっと微笑んでこちらに近づいてきた。 彼女は、不思議そうな顔をしている私の向かいの席にするっと腰をおろすと、 大きな布のバッグをテーブルの上に置いて、ふう、と一息つく。 びっくりした私が「ええと…どちらさまですか?」と尋ねると、 彼女は「わかりませんか?」と答える。 私は彼女の顔をじっと見る。 …高校生、いや中学生かな? ふかふかした、やわらかいピンク色のとっくりセーター。 髪はストレートのロングで、プラスチックの髪留めが1つ。これもピンク。 整った顔立ちをしていて、微笑んでいる…だめだ、思い出せない。

  • Spaghetti Source - Stern-Brocot 木

    説明 有理数 p = x/y と q = z/w に対し,二項演算 p@q を p@q = (x+z)/(y+w) で定義する.Stern-Brocot 木は,次で定義される無限に伸びる二分木である. 頂点は区間である. 根は (0,∞) に対応する区間 (0/1, 1/0) である. 頂点 (p, q) の子は (p, p@q), (p@q, q) である. この木の主な特徴は次のものである. 二分探索木である. 各頂点 {p, q} の分割点 p@q は既約有理数である. すべての既約有理数が一度だけあらわれる. 木の深さに対して対応する有理数の分子・分母は単調に増加する. 木の具体形は http://mathworld.wolfram.com/Stern-BrocotTree.htmlなどを参照. プログラミングの視点では,この木は「有理数を効率的に探索する」ために用いることができる

  • ペル方程式の解の列挙方法 - まめめも

    Project Euler 66 のネタバレです。見たくない人は見ないでください。質的には全然理解できてないですが、それなりに有用な情報だと思ったので、解き方だけメモします。 ペル方程式とは (ただし D は平方数でない自然数) という形の不定方程式をペル方程式というそうです。 これを満たす整数 x と y は無数にあります。ですが、D の値によっては最小解でもかなり大きい値になることがあり、1 から順番に探していくことは事実上不可能です。たとえば D = 166 のときは以下が最小解です。 p(1700902565**2 - 166 * 132015642**2) #=> 1 最小解の見つけ方 最小解を高速に探し出す方法があります (参考: 二次無理数の連分数展開とペル方程式の解の構成) 。D の平方根の連分数表示を使って、漸化式で解けるとのこと。 例えば、14 の平方根の連分数表示は

    ペル方程式の解の列挙方法 - まめめも
  • ユークリッドの互除法 - Wikipedia

    252と105のためのユークリッドの互除法のアニメーション。 クロスバーは、最大公約数(GCD)である21の倍数を表す。 それぞれのステップにおいて、1つの番号がゼロになるまで、より少ない数はより大きな数から引かれる。 残りの数は、GCD。 ユークリッドの互除法(ユークリッドのごじょほう、英: Euclidean Algorithm)は、2 つの自然数の最大公約数を求める手法の一つである。 2 つの自然数 a, b (a ≧ b) について、a の b による剰余を r とすると、 a と b との最大公約数は b と r との最大公約数に等しいという性質が成り立つ。この性質を利用して、 b を r で割った剰余、 除数 r をその剰余で割った剰余、と剰余を求める計算を逐次繰り返すと、剰余が 0 になった時の除数が a と b との最大公約数となる。 明示的に記述された最古のアルゴリズムと

    ユークリッドの互除法 - Wikipedia
  • Non-Uniform Random Variate Generation

    Non-Uniform Random Variate Generation (originally published with Springer-Verlag, New York, 1986) Luc Devroye School of Computer Science McGill University Preface to the Web Edition When I wrote this book in 1986, I had to argue long and hard with Springer Verlag to publish it. They printed a small number of copies, and never bothered with a second printing, even though, surprisingly, there

  • 【インフォシーク】Infoseek : 楽天が運営するポータルサイト

    日頃より楽天のサービスをご利用いただきましてありがとうございます。 サービスをご利用いただいておりますところ大変申し訳ございませんが、現在、緊急メンテナンスを行わせていただいております。 お客様には、緊急のメンテナンスにより、ご迷惑をおかけしており、誠に申し訳ございません。 メンテナンスが終了次第、サービスを復旧いたしますので、 今しばらくお待ちいただけますよう、お願い申し上げます。

  • ラムダ計算入門

  • おとうさん、ぼくにもYコンビネータがわかりましたよ! - 2009-04-09 - きしだのはてな

    やっと、Yコンビネータが何を意味するものなのか、どういう意義があるのかがわかりました。 名前を使わず再帰ができますよ!というだけのものじゃなかったのですね。 まずλありき 関数の話をしたいのです。 そのとき、いちいち hoge(x) = x * 2 としてhogeを・・・、とか名前をつけて話を進めるのがめんどうなので、関数を値としてあらわすと便利ということで、λという値を定義するのです。 そうすると、上のhoge関数なんかはλ(x)(x*2)などとあらわせますが、引数をあらわすのに()を使うといろいろまぎらわしいので、 λx.x*2 のように表記します。 というのがλ。 このとき、λになにかわたされたら、引数としてあらわされる部分を単純におきかえます。 (λx.x*2)y とあったら、xの部分をyでおきかえて (λx.x*2)y → y * 2 となります。λの引数部分を与えられた引数で置

    おとうさん、ぼくにもYコンビネータがわかりましたよ! - 2009-04-09 - きしだのはてな
  • クラスタリングの定番アルゴリズム「K-means法」をビジュアライズしてみた - てっく煮ブログ

    集合知プログラミング を読んでいたら、K-means 法(K平均法)の説明が出てきました。K-means 法はクラスタリングを行うための定番のアルゴリズムらしいです。存在は知っていたんだけどいまいちピンときていなかったので、動作を理解するためにサンプルを作ってみました。クリックすると1ステップずつ動かすことができます。クラスタの数や点の数を変更して、RESET を押すと好きなパラメータで試すことができます。こうやって1ステップずつ確認しながら動かしてみると、意外に単純な仕組みなのが実感できました。K-means 法とはK平均法 - Wikipedia に詳しく書いてあるけど、もうすこしザックリと書くとこんなイメージになります。各点にランダムにクラスタを割り当てるクラスタの重心を計算する。点のクラスタを、一番近い重心のクラスタに変更する変化がなければ終了。変化がある限りは 2. に戻る。これ

  • Project Euler - PukiWiki

    Project Euler † プログラムで解く数学の問題集です。 公式サイト 適当に和訳してます。我こそはと思う人はライセンスを確認した上で自由に書いてください。 ↑

  • About - Project Euler

    About Project Euler What is Project Euler? Project Euler is a series of challenging mathematical/computer programming problems that will require more than just mathematical insights to solve. Although mathematics will help you arrive at elegant and efficient methods, the use of a computer and programming skills will be required to solve most problems. The motivation for starting Project Euler, and

    About - Project Euler
  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • C 言語で数値計算プログラミング

    Next: 1.1 はじめに C 言語で数値計算プログラミング 桂田 祐史 Date: 2003年6月9日 1.1 はじめに C の勉強の仕方 どういうプログラムに C 言語を用いるべきか 目次 1. コンパイル、実行の仕方 1.1 はじめに 1.2 とにかくコンパイル 1.3 実行形式の名前の指定 (-o オプション) 一口メモ 1.4 システムのライブラリィをリンクする (-l オプション) 1.5 複数のソース・ファイルからなるプログラムのコンパイル&リンク 1.6 cco コマンド 1.7 -I, -L, -R 1.8 便利なオプション -- 最適化 -O, 警告レベルをあげる -W -Wall 1.9 -g 1.10 -pg 1.11 -E 1.12 -S 1.13 GNU Emacs の利用 1.13.1 原始的なプログラム書き 1.13.2 compile コマンド 1.13

  • 勉強用ページ

    using static System.Console; class Welcome { /// <summary> /// saying hello to all visitors and welcome. /// </summary> /// <param name="args">visitors</param> public static void Main(string[] args) { foreach(string visitor in args) { WriteLine($"Hello {visitor}."); } WriteLine("Welcome to my web page."); } } C# によるプログラミング入門 コンピュータの基礎知識 アルゴリズムとデータ構造 ブログ ようこそ ++C++; へ。 C#・情報工学を中心に勉強用ページとブログを載せています。

    勉強用ページ
  • 404 Blog Not Found:プログラマーでなくても名前ぐらい覚えておきたいアルゴリズムx10

    2007年11月26日18:15 カテゴリMathLightweight Languages プログラマーでなくても名前ぐらい覚えておきたいアルゴリズムx10 ぎくっ あなたが一番好きなアルゴリズムを教えてください。 また、その理由やどんな点が好きなのかも教えてください。 - 人力検索はてな なぜぎくってしているかというと、実はすでにアルゴリズムの発注を受けているからなのだ。いつまでも伏せておくのもなんなので、ここにえいやっとdiscloseしてしまうことにする。 アルゴリズム大募集! C&R研究所 - トップページ その下書きもかねて、そこでも紹介しないわけに行かないメジャーなアルゴリズムをとりあえず10個紹介しておくことにする。 ユークリッドの互除法(Euclidean algorithm) その昔(数百年ほど前)は「アルゴリズム」といえば、「手順一般」を指すのではなく、この「互除法

    404 Blog Not Found:プログラマーでなくても名前ぐらい覚えておきたいアルゴリズムx10