タグ

プログラミングに関するomega314のブックマーク (291)

  • PHPのround関数とは一体なんだったのか - hnwの日記

    (7/3 14:05追記)Javaに関する記述について誤認があったので盛大に書き換えました。Java 6、Java 7、Java 8それぞれで実装が変わっていたようです。 (7/13 23:55追記)記事中ではroundを四捨五入と言い切ってしまっています。これは筆者がC99のroundを基準に考えているためですが、言語によっては偶数丸めになっているround関数も珍しくありません。ご注意ください。 PHPのround関数について、ネット上で次のような記述を見つけました。 PHP 四捨五入の計算を間違える唯一の言語として畏れられていましたが、そのバグは治っているかもしれません(治ってないかもしれません) 主要なプログラミング言語8種をぐったり解説 - 鍋あり谷あり 各言語を面白おかしく紹介する内容とはいえ、ずいぶん雑な理解だなーという印象です。ゆるふわな話だけでPHPがdisられ続けるの

    PHPのround関数とは一体なんだったのか - hnwの日記
  • 計算複雑性にまつわる10の誤解

    . . . . . . . 10 okamotoy@uec.ac.jp 2013 8 8 2013 . . . . . . . . . ▶ ▶ ▶ ▶ ▶ ▶ ▶ · · · . . . . . . . . . ▶ ▶ ▶ ▶ ▶ ▶ ▶ · · · = . . . . . . . . . ⇝ Garey & Johnson ’79 (1) Garey & Johnson ’79 (2) Garey & Johnson ’79 (3) . . . . . . . . . P vs NP . 1 . . . . . . . . P vs NP . . . . . . . . . P vs NP . 1 . . . . . . . . P vs NP P NP EXP . P . . . . . . . . P . NP . . . . . . . . NP . EXP . . . . . .

  • 汎用ソート殺し - d.y.d.

    00:26 12/12/18 BookLive! 7月に出会ってからずっと電子書籍ストアとして BookLive! をひいきにしているのですが、一体どこが好きなのか語りたくなりました。 ITMedia の これでもう迷わない、電子書店完全ガイド という一連の記事の、 電子書籍の端末の話よりストアの話をしましょうよというコンセプトに思いっきり影響されています。 といっても、第一印象が「普通のことが普通にできるので感激した!!」というもので、 つまり今年の前半に使っていた幾つかの電子書籍ストア/専用アプリが残念だっただけかもしれません。 買ったがどこをクリックすれば読めるのか理解するのに10分かかった、とか、 6冊以上買うと棚アプリから画面外にがはみ出るので手でいちいち棚を変えて整理しないと読めない、とか。 当に普通に使えるという以上に特筆することもないんですが、 あ、でも、今年になる

  • 複雑に絡んだ要因を論理の力で解きほぐす/PythonとJupyter でブール代数アプローチをやってみた

    計算は、慣れない人のアタマには負担だが、規則通りに進めていけばいいという利点がある。 たくさんの要素を扱ったり、複雑に込み入った推論を進めることもまた、人には負担の大きい作業だが、計算の形に変換することができれば、途中過程を規則的な繰り返し作業に置き換えることができる。たとえば機械に手伝ってもらえる。 今回、紹介するのは、数値化/統計的処理が難しい事象や、質的研究について、計算=演算の力を導入するとどんなことができるかという一例※である。 ※ 続くかどうかわからないが Sociology on Pythonシリーズの第一弾でもある。 ブール代数アプローチ(boolean algebra approach) ブール代数アプローチは、 Ragin(1989)によって、真理表とブール代数に依拠した比較分析の手法として、質的比較分析(Qualitative Comparative Analysi

    複雑に絡んだ要因を論理の力で解きほぐす/PythonとJupyter でブール代数アプローチをやってみた
  • カリー=ハワード同型対応 - Wikipedia

    関数型プログラムとして書かれた証明:自然数の加法に関する交換律のCoqによる証明。 カリー=ハワード同型対応(カリー=ハワードどうけいたいおう、英語: Curry–Howard correspondence)とは、プログラミング言語理論と証明論において、計算機プログラムと証明との間の直接的な対応関係のことである。「プログラム=証明」(proofs-as-programs)・「型=命題」(formulae-as-types)などとしても知られる。これはアメリカ数学者ハスケル・カリーと論理学者ウィリアム・アルヴィン・ハワード(英語版)により最初に発見された形式論理の体系とある種の計算の体系との構文論的なアナロジーを一般化した概念である。通常はこの論理と計算の関連性はカリーとハワードに帰属される。しかしながら、このアイデアはブラウワー、ハイティング、コルモゴロフらが定式化した直観主義論理の操作

    カリー=ハワード同型対応 - Wikipedia
  • Collaborative Calculation and Data Science

    Extend your CoCalc projects with powerful compute servers. They give you much more power, optional GPU support, and flexibility for your computations. From within your CoCalc project, spin up and connect to a powerful machine. You simply tell your terminals and Jupyter Notebooks to run on these machines, or with one click launch JupyterLab or VS Code. These compute servers open up new possibilitie

  • カーマーカーのアルゴリズム - Wikipedia

    カーマーカーのアルゴリズム(英: Karmarkar's algorithm)とは1984年、ナレンドラ・カーマーカーにより発見された線形計画問題の解法である。このアルゴリズムは、しばしば、カーマーカー法(英: Karmarkar's method)とも呼ばれる。また、このアルゴリズムを発明とする特許が米国や日で出願され、請求特許は時折カーマーカー特許 (Karmarkar's patent) とも呼称される。 カーマーカーのアルゴリズムは、線形計画問題に対する多項式時間アルゴリズムで初めての実用的なものである。楕円体法(英語版)も多項式時間アルゴリズムであるが、実用上の効率は良くない。 カーマーカーのアルゴリズムは内点法の一種である。内点法は、候補解を実行可能領域の境界に沿って更新する単体法とは異なり、実行可能領域の内部を通るよう更新する。この更新は解の精度を定数倍改善し、これを繰り返

    カーマーカーのアルゴリズム - Wikipedia
  • 関手データモデル/圏論データベース: その後の発展と現状 (2016) - 檜山正幸のキマイラ飼育記 (はてなBlog)

    2013年の初頭に、デイヴィッド・スピヴァックの関手データモデル(functorial data model)について紹介しました。 デイヴィッド・スピヴァックはデータベース界の革命児か -- 関手的データモデル 衝撃的なデータベース理論・関手的データモデル 入門 あれから3年3ヶ月が経過して、今、関手データモデルや圏論データベース(categorical database)の状況はどうなっているでしょうか。 一言でいえば、 派手に喧伝はされてないが、着実に発展している となるでしょう。その進展の様子を次の3つの側面から概観してみます。 ビジネス ソフトウェア 理論 内容: ビジネス: Categorical Informatics, Inc ソフトウェア: FQL IDE 理論: 等式論理と代数データベース ※ リンクと注釈がたくさんあるのは、この記事が、この話題に関する説明付きブックマ

    関手データモデル/圏論データベース: その後の発展と現状 (2016) - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • 停止性問題 - Wikipedia

    この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方) 出典検索?: "停止性問題" – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL(2018年1月) 計算可能性理論において停止性問題(ていしせいもんだい、英: halting problem)または停止問題は、「どんなチューリングマシン[注 1]、あるいは同様な計算機構についても、それが有限時間で停止するかを判定できるアルゴリズム」は可能か、という問題。 アラン・チューリングは1936年、停止性問題を解くアルゴリズムは存在しないことをある種の対角線論法のようにして証明した。 すなわち、そのようなアルゴリズムを実行できるチューリングマシンの存在を仮定すると「自身

    omega314
    omega314 2016/05/04
    低姿勢じゃないよ停止性。
  • クワインと対角化定理 ~計算理論入門~ - いきるちから

    はじめに クワインとは この前プログラミングの教科書を読んでいたら面白い問題があった。大雑把には次のような感じ。*1 自分自身のソースコードを出力するプログラムを書け。 調べてみたところクワインというらしい。細かい話をすると入力を受け取るのもダメだそうなので上の問題文よりは厳しい。詳しい話はWikipediaにある。 クワイン (プログラミング) - Wikipedia 結構難しいし、SchemeとかHaskellはまだしもCのやつとか何やってるのか初見じゃ意味不明。頭がこんがらがるのが味わえるのでぜひ考えてみて欲しい。 クワインと計算理論 ところで、計算理論をかじったことある人は「これ対角化して不動点つくればいいんじゃね?」と気がつくと思う。実際その方針でこの問題は解けるし、Cとかのわけ分からん例もこのことを理解してるとすんなり分かる。もろに理屈っぽい計算理論が割と身近に思えるクワインに

  • 離散数学リンク集

    http://logic.cs.tsukuba.ac.jp/~kam/lecture/discrete2013/text/main.pdf

  • サービス終了のお知らせ

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

    omega314
    omega314 2016/02/25
    東方弾幕風。
  • 関数型プログラミング、Deep Learningの次にくるデータ解析アルゴリズム、「意識」をもった人工知能の創出、金融・生命科学シミュレーションの最先端を切り開くハイエンド人材になるために必要な数学を整理してみた - Qiita

    表題のとおり、以下、関数型プログラミング、Deep Learningの次にくるデータ解析アルゴリズム、「意識」をもった人工知能の創出、金融・生命科学シミュレーションの最先端を切り開くハイエンド人材になるために必要な数学を整理してみました。 「プログラミング・データ解析の先端領域」別 役に立つ「数学の領域名」 【 群論・圏論 】 (1)関数型プログラミング言語、関数型プログラミング 圏論の歩き方委員会(編)『圏論の歩き方』日評論社 WIKIBOOKS 「Haskell/圏論」 (Wikipedia)CPL(圏論プログラミング言語) (SlideShare)Masahiro Sakai 「Introduction to Categorical Programming (Revised)」 Hatena::Diary (2013/3/13)『「ラムダ計算」を独学で学習するための,講義ノートやP

    関数型プログラミング、Deep Learningの次にくるデータ解析アルゴリズム、「意識」をもった人工知能の創出、金融・生命科学シミュレーションの最先端を切り開くハイエンド人材になるために必要な数学を整理してみた - Qiita
  • 機械学習.vs.乱数 - 小人さんの妄想

    新年おめでとうございます。久しぶりにブログを更新します。どっこい生きてます。 昨年は、たった1回しか更新しませんでした。 今年はブログを書けるくらいのゆとりを持ちたいものです。 さて、昨年までを振り返ると、一部で「サザエさんじゃんけん予想」が話題になったことがありました。 なんでも8割以上の的中率を叩き出した方もおられるとか。 そこまでするには相当の入れ込みが必要でしょうが、ちょっとパソコンで試すだけなら、わりと手軽にできます。 予想の方法はいろいろありますが、私は以下のブログを参考に、scikit-learnという機械学習を試してみました。 * サザエさんのジャンケンの次の手を決定木で予測+可視化してみた >> http://sucrose.hatenablog.com/entry/2014/11/23/230622 やったことは、上のブログにある通りです。 ・パソコン上に Python

    機械学習.vs.乱数 - 小人さんの妄想
  • Google Chromeが採用した、擬似乱数生成アルゴリズム「xorshift」の数理

    2015年12月17日、Google ChromeJavaScript エンジン(処理系)である V8 の公式ブログにて、 JavaScript の標準的な乱数生成APIである Math.random() の背後で使われているアルゴリズムの変更がアナウンスされました。 Math.random() 関数は JavaScript を利用する際には比較的よく使われる関数ですので、親しみのある方も多いのではないかと思います。 新たなバグの発見や、従来より優秀なアルゴリズムの発見によってアルゴリズムが変更されること自体はそれほど珍しくはないものの、 技術的には枯れていると思われる Math.random() のような基的な処理の背後のアルゴリズムが変更されたことに驚きを感じる方も少なくないかと思いますが、 それ以上に注目すべきはその変更後のアルゴリズムです。 実際に採用されたアルゴリズムの原

    Google Chromeが採用した、擬似乱数生成アルゴリズム「xorshift」の数理
  • (解説) はてなブックマークにおけるアクセス制御 - 半環構造に基づくモデル化 - Hatena Developer Blog

    こんにちは、シニアアプリケーションエンジニアのid:taraoです。この記事ははてなデベロッパーアドベントカレンダー2015の10日目です。昨日はid:tapir320によるはてなの組織開発についてでした。 先月開催されたWebDB Forum 2015で、「はてなブックマークにおけるアクセス制御: 半環構造に基づくモデル化」というタイトルの発表をしました。 はてなブックマークにおけるアクセス制御 - 半環構造に基づくモデル化 from Lintaro Ina 発表資料には多くの方に興味をもっていただけたようですが、わかりにくい点も多かったのではないでしょうか。スポンサー企業としての技術報告セッションとはいえ学術会議での発表なので理論面と独自の工夫点にフォーカスした内容であったり、口頭での発表のしかたに大きく依存したスライドの遷移方法になっているので、この資料だけで細かいところまで理解しよ

  • ++C++; //未確認飛行 C++

    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#・情報工学を中心に勉強用ページとブログを載せています。

    ++C++; //未確認飛行 C++
  • Behind the Scene: “すべてがFになる” ED映像

    技術記事・備忘録・その他気になったことをまとめています。また、このサイトの記事はすべて、クリエイティブ・コモンズ 表示 4.0 国際のもと公開しています。ご自由にどうぞ。 OUTLINE メイキング いい作り方ができた制作は、可能な限りそのテクニカルな部分を共有するようにしています。動機は「同じ問題を二度解くような無駄はいやだ」を参照。ただ自慢したいだけでもありますが。 新千歳国際アニメーション映画祭2018: 3Dモデルを送り描きする 映像作家100人2018 ティザー映像: Octane Renderer, 反応拡散系その他 imai – Fly feat. 79, Kaho Nakamura: カメラが自由に動くコマ撮り group_inou – EYE: StreetViewを使ったタイムラプス、雑コラ Olga Bell – ATA: 空間認識を錯覚させるパースペクティヴ すべて

  • アルゴリズム - Wikipedia

    アルゴリズム(英: algorithm[注 1])とは、解が定まっている「計算可能」問題に対して、その解を正しく求める手続きをさす[注 2]。あるいはそれを形式的に表現したもの。 実用上は、アルゴリズムの実行に要する記憶領域の大きさや完了までに要する時間(空間計算量と時間計算量)が小さいこと、特に問題の規模を大きくした際に必要な記憶領域や計算量が急激に大きくならないことが重要となる。 アルゴリズムの実行は形態によらない。コンピュータプログラムはコンピュータ上に実装されたアルゴリズムの例である。 概要[編集] フローチャートはアルゴリズムの視覚的表現としてよく使われる。これはランプがつかない時のフローチャート。 岩波国語辞典「算法」に、まず「計算の方法」とした後に2番目の詳細な語義でalgorithmの訳として、 特に、同類の問題一般に対し、有限回の基的操作を、指示の順を追って実行すれば、

    アルゴリズム - Wikipedia
  • MIT、マルコフ連鎖モンテカルロ法を高速化するアルゴリズムを発表

    印刷する メールで送る テキスト HTML 電子書籍 PDF ダウンロード テキスト 電子書籍 PDF クリップした記事をMyページから読むことができます マサチューセッツ工科大学(MIT)の研究者らは、マルコフ連鎖モンテカルロ法(MCMC)を現在よりも最大で200倍高速化できるアルゴリズムを開発したと発表した。 MITのこのアルゴリズムは、ほとんどすべての計算モデルに適用できる。このアルゴリズムの目的は、問題中に存在する未知のパラメータの値を局所近似から推定することで、対象となる解を絞り込むというものだ。 発表のなかで、MITはこのアルゴリズムについて以下のように述べている。 このアルゴリズムは、モデルを複数回実行するなかで、いくつかの適切なデータ点を組み合わせていくことにより解、すなわち未知のパラメータそれぞれの確率分布をインクリメンタルなかたちで絞り込んでいくものだ。そういった点で、

    MIT、マルコフ連鎖モンテカルロ法を高速化するアルゴリズムを発表