タグ

あとで読むに関するthe48のブックマーク (61)

  • 今時の Fortran 入門 ( Introduction to Modern Fortran ) - Qiita

    (H29. 6. 8 CoArray 部分追加) (H30.11.24 FORTRAN II 部分追加) 前置き ここではマンデルブロ (Mandelbrot) 集合を描くプログラムを、昔風の FORTRAN から今時の Fortran に徐々に書き換えて行くことで、今時の Fortran の新機能や発想の一部を紹介してゆきたいと思います。 Fortran の現代的意義 Intel や Nvidia のようなプロセッサメーカーは、自社のプロセッサの性能を最大に引き出すコンパイラを独自に開発していて、出荷に合わて利用者に提供しています。そのコンパイラの言語はいずれも C/C++ および Fortran です。(追記 H30:AMD や ARM も、それぞれ C/C++ および Fortran コンパイラを提供しています。) NEC や Fujitsu, IBM, Cray 等のスーパーコンピ

    今時の Fortran 入門 ( Introduction to Modern Fortran ) - Qiita
    the48
    the48 2019/02/15
    進化しとるなぁ
  • モンテカルロ木探索将棋プログラムmcts の解説など - フダンの記録

    1年経った今更、floodgate に参加していたmcts*1 について解説。今年のGPW でも、激指でこの手法を使った研究がありました*2 。 まずは3行で。 評価関数を信用してプレイアウトを打ち切ると得できるのでは 将棋向けに工夫しながら、GPS 将棋を使って実験した 従来のMCTS 将棋よりも強くなったが、アルファベータには敵わない こんなところ?あとはポスター見るのが早いと思う。 以下、2010年の11月にゲームプログラミングワークショップ (GPW2010) でポスター発表した内容を紹介。 floodgate にいたmcts はこの内容に基づいて作成し、その後工夫を加えたプログラムで、マシンのCPUは、Intel(R) Core(TM)2 Quad CPU Q9650 @ 3.00GHz で1コアだけ使っての参加、並列化していない。 概要 将棋においてモンテカルロ木探索 (Mon

  • オセロをランダムからChainerを使ったAlphaZeroもどきへと進化させながら実装してみた - Inside Closure - にへろぐ

    これはChainer/CuPy Advent Calendar 2018の25日目です。パーソルキャリア Advent Calendar 2018の25日目でもあります。 クリスマスにオセロしてくれる相手が欲しかったので簡単なオセロゲームを実装してみました。 今回のコード 遊び方 実装概要 オセロ 人間 ランダム 原始モンテカルロ MCTS デュアルネットワークのモデル SLポリシーネットワーク APV-MCTS(AlphaZeroもどき) APV-MCTSのセルフプレイによる強化学習 参考文献 まとめ 今回のコード 下記、タグv0.0.0になります。ご査収くださいませ。*1 github.com 開発はMacで行いましたがDockerで動くのでおそらく他のOSでも動作すると思います。 Docker imageはchainer/chainerのv5.1.0-python3です。 調べた感じ

    オセロをランダムからChainerを使ったAlphaZeroもどきへと進化させながら実装してみた - Inside Closure - にへろぐ
  • Pythonの非同期通信(asyncioモジュール)入門を書きました - ゆくゆくは有へと

    はじめに 非同期処理のことから知らない人向けにPythonくらいしかろくに知らない人間が書きました。せっかくキーワードが文法に組み込まれたんだから理解したいじゃんか! asyncioモジュールを使うための基的な概念が理解できるようになってるはず、多分。 環境としては Python3.5 以上を想定しています。つまり、await や async キーワードを使っていきます。 それから、関数やメソッドの仮引数は全く書いてません。必要最低限は文中で説明していますが、より完全に知りたい人は適宜ドキュメントの参照をお願いします。 主役はループちゃん asyncioの主役はイベントループです。イベントループは頼まれた仕事を順番にどんどん処理していくデキるクールガイです。 質的に、私たちはイベントループに仕事を関数オブジェクトの形で与えていくだけです。asyncioモジュールの大部分は、私たちが仕事

    Pythonの非同期通信(asyncioモジュール)入門を書きました - ゆくゆくは有へと
  • tokioでHTTP/0.9サーバを作る - Qiita

    こちらの記事 に触発されたのでやってみます。 前提知識 今回のサンプルを作成するにあたり集めた情報を簡単にまとめておきます。 興味のない方は飛ばしてもらっても構いません。 Tokio Rustで非同期IOによるネットワークプログラミングをするための基盤となるプロジェクトで、最近注目を集めているやつです。Hyper という HTTP を扱うクレートでも最新版では Tokio ベースになっており、今後ネットワーク周りを触る際には必須科目になっていくのではないでしょうか(あくまで個人的な見解ですが)。 futures RustでFutureパターンを実現するためのクレートです。知らない場合はとりあえず「計算結果が非同期で返る Result<T,E> のようなもの」だと思って良いと思います。要はES2015のPromise的なアレです。 ゼロコスト抽象化を謳っており、(動的ディスパッチに代表される

    tokioでHTTP/0.9サーバを作る - Qiita
  • 高次元データの次元削減および2次元プロット手法 - Qiita

    はじめに 記事はPython2.7, numpy 1.11, scipy 0.17, scikit-learn 0.18, matplotlib 1.5, seaborn 0.7, pandas 0.17を使用しています. jupyter notebook上で動作確認済みです.(%matplotlib inlineは適当に修正してください) SklearnのManifold learningの記事を参考にしています. 多様体学習と言われる手法について,sklearnのdigitsサンプルを用いて説明します. 特にt-SNEはKaggleなどでもたまに使用されている,多次元データの可視化に適した手法です. また可視化だけでなく,元のデータと圧縮されたデータを結合することで,単純な分類問題の精度を向上することができます. 目次 データの生成 線形要素に注目した次元削減 Random Proj

    高次元データの次元削減および2次元プロット手法 - Qiita
  • 【多様体学習】LLEとちょっとT-SNE - HELLO CYBERNETICS

    多様体学習の必要性 クラスタリングという観点 次元削減という観点 多様体とは 多様体学習の狙い 多様体学習の例 Locally Linear Embedding(LLE) 他の多様体学習の紹介 Modified Locally Linear Embedding t-distributed Stochastic Neighbor Embedding 多様体学習の発展版 最後に 多様体学習の必要性 クラスタリングという観点 データがD次元空間にプロットされる際には、データに意味があれば、似たようなデータは近い位置に現れることが期待できます。そのような考えに基づいて、K平均法などによってデータをクラスタリングすることが可能になります。 s0sem0y.hatenablog.com しかし、実際には似たようなデータが必ずしもD次元空間上で近い位置に現れるとは限りません。例えば以下のようなデータがあ

    【多様体学習】LLEとちょっとT-SNE - HELLO CYBERNETICS
  • PythonでWebスクレイピングする時の知見をまとめておく - Stimulator

    - はじめに - 最近はWebスクレイピングにお熱である。 趣味機械学習のデータセット集めに利用したり、自身のカードの情報や各アカウントの支払い状況をスクレイピングしてスプレッドシートで管理したりしている。 最近この手の記事は多くあるものの「~してみた」から抜けた記事が見当たらないので、大規模に処理する場合も含めた大きめの記事として知見をまとめておく。 追記 2018/03/05: 大きな内容なのでここに追記します。 github.com phantomJSについての記載が記事内でありますが、phantomJSのメンテナが止めたニュースが記憶に新しいですが、上記issueにて正式にこれ以上バージョンアップされないとの通達。 記事内でも推奨していますがheadless Chrome等を使う方が良さそうです。 - アジェンダ - 主に以下のような話をします。 - はじめに - - アジェンダ

    PythonでWebスクレイピングする時の知見をまとめておく - Stimulator
  • 最速で知る! ElixirプログラミングとErlang/OTPの始め方【第二言語としてのElixir】 - エンジニアHub|Webエンジニアのキャリアを考える!

    最速で知る! ElixirプログラミングとErlang/OTPの始め方【第二言語としてのElixir】 Elixir入門の手引、第1弾となる今回はErlangのVM上のプロセスをElixirで扱う方法を説明し、Elixirでどのようにアプリケーションを構築するのかを解説します。 はじめまして! 大原常徳(おおはら・つねのり)といいます。 今回から2回に分けて「第二言語としてのElixir」というテーマで、プログラミング言語Elixirの入門記事をお届けします。 Elixirは、José Valim氏によって開発されているプログラミング言語です。 最大の特徴は、ErlangのVM上で動作し、Erlangのモジュールを利用できることでしょう。 ちょうど、ScalaJava VM上で動作し、Javaの関数を利用できるという関係に似ていますね。 {$annotation_2}Elixir Erl

    最速で知る! ElixirプログラミングとErlang/OTPの始め方【第二言語としてのElixir】 - エンジニアHub|Webエンジニアのキャリアを考える!
  • 設計をする上で役にたった制約について

    @ikkitang (https://twitter.com/ikkitang) です。 第20回中国地方DB勉強会 in 岡山 での登壇スライドです。 設計をする上で役立った制約についてまとめました。 1. 制約とは? 2. 制約ってどんなのがあるの? 3. 制約のメリット について考えました。 #中国地方DB勉強会 #PostgreSQL #MySQL #SQLServer #制約 #Constraint #CHECK #NOTNULL #PRIMARY_KEY #外部キー制約 #FOREIGN #EXCLUDE

    設計をする上で役にたった制約について
  • 【徒歩で100km】廃線になる三江線の全駅を死にそうになりながら記録してきた | SPOT

    三江線をご存知でしょうか?島根県江津市の江津駅から広島県三次市の三次駅まで35の駅を繋ぐ路線です。その三江線は利用者が少なく、惜しまれながらも2018年3月末までの営業をもって廃線することになりました。そして全長100km以上もある廃線前の三江線を、あるライターがその大半を徒歩にて全駅を訪れ必死でレポートいたしました。 ライター : pato(@pato_numeri) 全区間をあわせた一日の平均利用客が、2008年の時点で370人という鉄道の路線がある。 「あれ?それってヤバくない?」と思ってしまいそうだが、実際にヤバくて圧倒的な赤字路線になってしまっている。 2014年以降は日で最も輸送密度の低い路線にまでなってしまった。 島根県と広島県の県境にある三江線(さんこうせん)というローカル線がそれで、島根県の江津市(ごうつし)から広島県の三次市(みよしし)を結ぶ全長108キロにおよぶJR

    【徒歩で100km】廃線になる三江線の全駅を死にそうになりながら記録してきた | SPOT
  • マイクロソフト、「Excel REST API for Office 365」正式リリース。保存されたExcelのワークシートにAPIでアクセス可能

    マイクロソフト、「Excel REST API for Office 365」正式リリース。保存されたExcelのワークシートにAPIでアクセス可能 多くの企業で活用されているExcel。営業部門が各営業担当の進捗状況から売上げを予測するExcelシートを作成していたり、経理部門が経費の配賦をExcelのワークシートで管理してる、などという例も少なくないでしょう。 一般的にこうしたExcelで作り込まれた社内のアプリケーションを既存の業務アプリケーションに組み込むためには、いちどExcelで作り込まれたアプリケーションを解析し、あらためてプログラミング言語で組み立て直す必要がありました。 マイクロソフトが正式にリリースした「Excel REST API for Office 365」を用いると、OneDrive(補足:使えるのはOneDrive for Business)に保存したExce

    マイクロソフト、「Excel REST API for Office 365」正式リリース。保存されたExcelのワークシートにAPIでアクセス可能
  • WebAssembly を使って自作言語をブラウザで動かしてみよう - はやくプログラムになりたい

    今日 Google の開発者ブログで WebAssembly の記事が載っていました.どうやら最新の Chrome では WebAssembly が動くようです. googledevjp.blogspot.jp 自作言語のコンパイラを LLVM フロントエンドとしてつくっているので,これは試さないわけにはいきません. github.com というわけで,さっそく試してみます. 準備 1. Chrome 直接 V8 をビルドするのは億劫なので Chrome のバイナリを落としてきて使います.Chrome 51.0.2677.0 以降であれば OK です.Canary 版をダウンロードしてきてインストールします. 次に chrome:flags にアクセスして WebAssembly を有効にします. 2. LLVM WebAssembly のためのアセンブリを吐くには LLVM の expe

    WebAssembly を使って自作言語をブラウザで動かしてみよう - はやくプログラムになりたい
    the48
    the48 2016/03/25
    ワクワクしてくるね
  • TWAINアプリケーション開発時に役立つ仮想スキャナ的なTWAINデータソース - ペンギンの備忘録

    TWAINアプリケーション開発時に手元にTWAIN機器がなく、動作確認に困ったことがあったのでメモ。 TWAIN sample Data Source and Application download | SourceForge.net 仮想スキャナと呼ぶべきなのかどうか分かりませんが、TWAIN Sample Data Sourceが画像ファイルをデータソースとして扱えるので、これを使えばTWAIN機器を用意することなく一通りの動作確認が可能です。トップページのリンクからダウンロードできるのはサンプルアプリケーションのみのインストーラなので、肝心のデータソースは[Files]タブの中を辿って取りに行く必要があるみたいです。([Files]-[TWAIN 2 Sample Data Source]-[TWAIN DS 2.1.3]-[twainds.win64.installer.2.1.

  • Chapters - Learn You a Haskell for Great Good!

    Introduction About this tutorial So what's Haskell? What you need to dive in Starting Out Ready, set, go! Baby's first functions An intro to lists Texas ranges I'm a list comprehension Tuples Types and Typeclasses Believe the type Type variables Typeclasses 101 Syntax in Functions Pattern matching Guards, guards! Where!? Let it be Case expressions Recursion Hello recursion! Maximum awesome A few m

  • introdunction to SIMD programming - primitive: blog

    Unite 2015 Tokyo の講演で詳細を話せなかったのが心残りだったので、大量のオブジェクトの更新処理についてこの場で書いてみます。 主に C++ で、簡単なパーティクルエンジンを作り、それを SIMD を用いて高速化する手順を解説します。 話を簡単にするため、以下の前提を設けます。 ・x86 環境のみ考慮 ・パーティクルは位置と速度のみを保持 ・パーティクル同士の相互衝突は総当たりで計算 総当たりなので超遅いですが、実装は容易で SIMD による恩恵を受けやすく、題材として手頃です。 この記事の中で引用されているソースの元は こちら、ビルド結果 (上のスクリーンショットのデモプログラム) は こちら になります。 相互衝突するパーティクルを実装する場合、お互いの距離を計算し、当たっていたらめり込み具合に応じて押し返す、というのがよくある実装だと思います。まずはそれをストレートに

    introdunction to SIMD programming - primitive: blog
  • 第1回 Firefox OSアプリ開発最新動向 | gihyo.jp

    5回にわたり、Firefox OSアプリ開発の連載を持たせていただくことになりました。 連載は、2013年6月に発売した電子書籍『Firefox OSアプリ開発スタートアップマニュアル』の続編として、最新情報を反映しつつ、実践的なアプリ開発の内容まで盛り込んでいく予定なので、よろしくお願いします。 アプリ開発に必要な知識とは Firefox OSは、乱暴な言い方をすれば、Linuxの上でFirefoxのレンダリングエンジンである「Gecko」が動作しているようなものです。よって、アプリといってもObjective-CやJavaといった開発言語を使ってアプリを開発するワケではなく、Webアプリを開発するようなもので、 JavaScript HTML CSS の知識が必要になります。 それぞれ、JavaScriptは、アプリのロジックの記述をするため、HTMLCSSは、主にアプリのユーザイ

    第1回 Firefox OSアプリ開発最新動向 | gihyo.jp
  • オープンセミナー岡山の資料・ビデオが公開されています - きよくらの備忘録

    もうひと月前になってしまうのですが、例年通り、オープンセミナー2014@岡山が開催されました。 私も例年通りスタッフの一人として参加させていただきました。 今年は最終集計で参加者165人と、過去最大に迫る参加人数となりました。ご来場いただいたみなさん、講師のみなさん、ありがとうございました。 当日のセッション資料とビデオ そして現在、当日のセッション資料とビデオが公開されています。当日のセッションは、講師の皆様のおかげさまをもちまして、「フロントエンドとサーバサイド」というテーマに沿いつつもバラエティに富み、とてもクオリティの高いセッションばかりだったと思います。 どれも一見の価値ありの内容だと思いますので、当日ご参加いただい方もそうでない方も、是非、ご覧ください。 セッション1:パソコンは私たちのもう1つの目-見やすく、聞きやすいWebページづくりにぜひご協力を!- 講演者 毛並 みけ

    オープンセミナー岡山の資料・ビデオが公開されています - きよくらの備忘録
  • 合同勉強会 in 大都会岡山 -2013 Winter-

    このイベントについて 合同勉強会in大都会岡山は、岡山県近辺のIT勉強会コミュニティによる、合同勉強会です。 参加コミュニティ 岡山Javaユーザ会 #パソコン交流会 こと #パソコン直流会 、別名岡山Gitユーザ会 OkayamaMakerSpace(OkayamaHackerSpace) 関ジャバ Hoge駆動 日Javaユーザーグループ JAWS-UG Hiroshima.rb すごい広島 WEB TOUCH MEETING 関西ソーシャルゲーム勉強会 FabxFab TDDBC OITEC 日Kotlinユーザ会 岡山Ruby, Ruby on Rails勉強会 登壇枠 ショートセッション(15分) 8/8(満席になりました) ロングセッション(45分) 3/3(満席になりました) LT(5分) 7/10 懇親会は? 毎年恒例 忘年会議 にご参加ください。 会場へのアクセスにつ

    合同勉強会 in 大都会岡山 -2013 Winter-
  • 意外と知らない Windows OS 標準の「ステップ記録ツール」

    操作の手順を記録したいWindows 7 からアプリケーションの操作をステップごとに記録してくれる便利なツールが付属しています。それが、「ステップ記録ツール」です。 Windows 7 では、「問題ステップ記録ツール」という名称でした。Windows 8, 8.1, 10 では、「ステップ記録ツール」という名称で統一されています。 スタートメニューに表示されないため、知らない人も多いツールです。エンドユーザーで知っている人はまずいないでしょう。 このツールを利用することで、操作を記録して、その様子をまとめたレポートを作成してくれます。アプリケーションのユーザーさんから問い合わせがあったときに、手順を教えてもらったり、不具合の再現方法をいただく際に重宝します。 起動Windows の検索にて、「記録」や「ステップ」と入力してみましょう。「ステップ記録ツール」が検索結果に表示されます。 上図は

    意外と知らない Windows OS 標準の「ステップ記録ツール」