sar(sysstat)とは LoadAverageやCPU使用率、ディスクI/Oの状態を表示できるコマンド。 何より便利なのは、過去にさかのぼれる点。 sarのインストール
sar(sysstat)とは LoadAverageやCPU使用率、ディスクI/Oの状態を表示できるコマンド。 何より便利なのは、過去にさかのぼれる点。 sarのインストール
<body> <p>このページにはフレームが使用されていますが、お使いのブラウザではサポートされていません。</p> </body>
2014-10-30 Wikipediaデータをxml2sqlを利用しMySQLにぶっこむ Wikipedia NLP Wikipediaコーパスってどう入手するの? Wikipediaのコンテンツデータは、 http://dumps.wikimedia.org/にて公開されています。 (詳しくは、Wikipedia:データベースダウンロード - Wikipediaを参照してください)上記サイトは、英語版のWikipediaデータで、日本語版はhttp://dumps.wikimedia.org/jawiki/においてあります。Wikipediaではクローラを禁止している代わりに、全データがXML形式で公開されています。Wikipediaサイトで入手できるデータはXML形式なため、扱いしやすくするためMySQLに突っ込もうとしたのですが、つまづいたためそのときの備忘録です。 Wikip
2. データサイエンティスト 2 今世紀でもっともセクシーな職業 ハーバード・ビジネス・レビュー 2013年年2⽉月号 2018年年までに⽶米国で14〜~19万⼈人不不⾜足 マッキンゼー 2011年年5⽉月 求められるスキル ビジネススキル,機械学習/ビッグデータ, 数学/OR,プログラミング,統計 Analyzing the Analyzers, O’reilly 2013 4. 本⽇日お話すること 4 1. データのこと Keywords: ダミー変数,⽋欠損値,正規化,次元の呪い 2. 機械学習のこと Keywords: 機械学習の分類,アルゴリズム,注意点 3. 評価のこと Keywords: 混同⾏行行列列,適合率率率,再現率率率,F値,ROC曲線 4. 分析のこと Keywords: 過学習,交差検証,学習曲線,バイアス・バリアンス 教師あり学習(後述)寄りの内容が多いです
photo by Régis Gaidot データセットとかの知見を集めました。 いいデータセットないかと調べる機会があったので、得た知見をまとめてみました。 これについてはすでに良い情報がすでにあったのでそのリンクも紹介します。 奥 健太 - 情報推薦研究ツールボックス grouplensのデータセットは、論文などにも利用されているのを見かけました。 注意点としては ・EachMovieなどは利用できない ・MovieLensやDelicious、Last.fmはdat形式のファイル ・WikiLensはdumpして使うようにされている ・Book-Crossingはcsvとsql ・jesterはExcelファイル ということです。 それ以外だと ようこそ - the Datahub 情報学研究データリポジトリ データセット一覧 livedoor グルメの研究用データセットです。 20
はじめに ニュース記事のBag-of-Words(BoW)から,カテゴリを予測するみたいなことをStacked Denoising Autoencodersでやってみました. データセット データセットはlivedoor ニュースコーパスを使います. 本コーパスは、NHN Japan株式会社が運営する「livedoor ニュース」のうち、下記のクリエイティブ・コモンズライセンスが適用されるニュース記事を収集し、可能な限りHTMLタグを取り除いて作成したものです。 らしいです. トピックニュース Sports Watch ITライフハック 家電チャンネル MOVIE ENTER 独女通信 エスマックス livedoor HOMME Peachy の計9つのカテゴリがあるので,9クラス分類問題になります. データ前処理 まず記事をBoWにする必要がありますが,これにはyasunoriさんのRa
オープンソースフレームワークであるApache Spark、およびそのエコシステム(周辺ソフトウエア)であるMLlibを活用することで、高速かつ柔軟な機械学習処理を実現できる。本稿では、Apache Sparkを用いた機械学習の特徴や歴史を紹介する。 Apache Sparkとは? 本稿では、「ポストHadoop」の最右翼と言われているApache Sparkのエコシステムである、MLlibライブラリを用いた機械学習システムについて説明する。 オープンソースソフトウエアであるApache Sparkは、2014年2月にApacheのトップレベルプロジェクトに昇格したほか、ビッグデータ分野のリーディングカンパニーである米クラウデラがサポートを行うなど、安定的な発展が見込まれている。 Apache SparkはHadoopと同じく、計算処理を分散環境で並列実行するための基盤である。RDD(Re
独特の雰囲気を楽しむファンタジー漫画。ヨーロッパ周辺が舞台になっており、『鋼の錬金術師』と『千と千尋の神隠し』を組み合わせたような作風です。なんかスゴイです。 主人公の女の子は羽鳥チセ15歳。身寄りもなく、生きる希望も術も持たぬ彼女が、魔法使いにお金で買われてしまうところから物語は始まります。 「マンガ大賞」で何度もノミネートしていたので、ちょっとだけ読んでみたら、漫画の世界に一気に引きずり込まれてしまいました。それほど何か得たいのしれない魅力があります。 物語の中には多くの伏線を感じますが、始まったばかりの漫画のため、それらの回収はもう少し先になりそうです。この作品はこれからもっと面白くなるんじゃないかと密かに注目しています。そんな期待を込めてのランクインです。 第99位 僕のヒーローアカデミア/堀越耕平/連載中5巻 まず漫画の設定が面白い。 舞台は、誰もが何かしらの超能力”個性”を持つ
14. CPU ● 高機能・高性能・高粒度 ● 割り込み、権限制御、仮想化、など実行以外の機能 ● OSが実行できる ● 演算器はコアあたり10個程度 – 一チップに100個程度 ● 明示的にメモリを制御できない – いかにキャッシュに載せるか ● = いかにメモリをまとめて扱うか
JBE is a bytecode editor suitable for viewing and modifying java class files. It is built on top of the open-source jclasslib bytecode viewer by ej-technologies. For verification and exporting the class files, JBE uses the the Bytecode Engineering Library by Apache's Jakarta project. JBE requires Java 1.5 to run. It uses the standard mnemonics for JVM opcodes as instruction names. Jumps are absolu
Armbrust M, Fox A, Griffith R, Joseph A, Katz R, Konwinski A, Lee G, Patterson D, Rabkin A, Stoica I, Zaharia M. Above the clouds: a Berkeley view of cloud computing. Deptartment Electrical Engineering and Compututer Sciences, University of California, Berkeley, Report UCB/EECS, 2009, 28 Barroso L, Hölzle U. The datacenter as a computer: an introduction to the design of warehouse-scale machines. S
MacでQuickTimeを使ってAVIを再生する方法 MacのQuickTimeでAVIを再生できないでしょうか? QuickTimeを用いてオーディオとビデオを再生するには、AVIファイルがQuickTimeのコーデック認識で圧縮された形式である必要があります。この形式になっていない場合、QuickTimeでスムーズにAVIを再生することができません。多くのMacユーザーは、Macをアップグレードした後、QuickTime X でAVIビデオが再生できないという問題に直面しています。 AVIは最も広く使用されているビデオ形式の1つであるため、Mac上でAVIを再生できないという状況に不便さを感じている方が多数いらっしゃるはずです。この問題を解決するには、簡単な方法はあるのでしょうか? MacでAVIファイルを再生するには、3つの解決方法があります。下記にてご紹介しますので、その中、一番
授業でSVMについて習ったけど、実際に実装したことなかったからやってみた。簡単って言われてるけど、制約付き2次計画問題の実装が結構大変だった(収束しないケースとかたくさんあったり、制約条件を遵守したり) 参考にしたのは、以下の本やらページやら http://www.amazon.co.jp/%E3%82%B5%E3%83%9D%E3%83%BC%E3%83%88%E3%83%99%E3%82%AF%E3%82%BF%E3%83%BC%E3%83%9E%E3%82%B7%E3%83%B3%E5%85%A5%E9%96%80-%E3%83%8D%E3%83%AD-%E3%82%AF%E3%83%AA%E3%82%B9%E3%83%86%E3%82%A3%E3%82%A2%E3%83%8B%E3%83%BC%E3%83%8B/dp/4320121341/ref=sr_1_1?ie=UTF8&qi
PythonでSVMを実装します。 SVM(サポートベクターマシン)は教師あり学習を用いる識別手法の一つです。 SVMは、線形入力素子を利用して 2 クラスのパターン識別器を構成する手法であり、訓練サンプルから、各データ点との距離が最大となるマージン最大化超平面を求めるという基準で、線形入力素子のパラメータを学習します。 用いたデータ R言語パッケージkernlabに付属する、データセットspamを使いました。データセットは、4601通の電子メールを58項目に分けて記録したもので、第58列がクラス情報spam,nonspamで、残りの57項目はメールの特徴を記録したものです。 spam,nonspamと判定されたメールの半数をそれぞれ教師データに、もう一方をテスト用データに分割し、教師データを用いて学習をさせた後、テスト用データでメールの分類の精度をF値を用いて検証しました。 モジュールと
概要 SVM(Support Vector Machine)は分類精度の高い機械学習の手法として知られています. SVMでより高い分類精度を得るには, ハイパーパラメータを訓練データから決定する必要があります. この記事では, RBFカーネル(Gaussian カーネル)を用いたSVMのハイパーパラメータを調整することで, 決定境界がどのように変化するのかを解説します. 決めるべきハイパーパラメータ RBFカーネルを用いたSVMでは, 以下の2つのハイパーパラメータを調整します. コストパラメータ: $C$ RBFカーネルのパラメータ: $\gamma$ コストパラメータについて SVMは特徴空間に写像されたデータ点集合を分離する超平面を決定する手法です. しかし, 特徴空間上の点集合がいつも分離可能とは限りません. 例えば, 以下の図では二種類の記号を完璧に分割するような直線を引くことは
この記事は何? サポートベクターマシン(Support Vector Machine: SVM)では以下の目的関数を最小化します. \min_{\bf w}\frac{\lambda}{2}\|{\bf w}\|^2+\frac{1}{m}\sum_{({\bf x},y)\in S}l({\bf w}; ({\bf x}, y)) \\ l({\bf w}; ({\bf x},y))=\max(0,1-y\left<{\bf w},{\bf x} \right>) オンライン機械学習に,この目的関数を確率的勾配降下法で最小化するアルゴリズムが載っていましたが,カーネルトリックには対応していませんでした. そこで,確率的勾配降下法によるカーネルトリックを用いたSVMの実装を探していたところ,Pegasos: Primal Estimated sub-GrAdient SOlver for
下巻に入って7章のサポートベクトルマシン(Support Vector Machine: SVM)を実装してみます。SVMに関しては、有名なSVMのライブラリ(libsvm)を使ったことがあるだけで、アルゴリズム詳細はPRMLで初めて学習しました。なので変なことを書いていたらコメント欄で指摘してもらえると助かります。 まずは、一番簡単な線形SVMを実装してみます。今までと同様に直線(超平面)でデータが完全に分離できる場合です。PRMLの7章には特に説明がありませんが、カーネル関数に下の線形カーネル(データのただの内積)を用いた場合に相当するようです。このカーネル関数を多項カーネルやガウシアンカーネルに変更すると線形分離不可能なデータも分類できるようになるとのこと。非線形SVMは次回ためしてみます。 まず、SVMの識別関数は、式(7.1)で表せます。 今までと違ってバイアスパラメータをまとめ
ここでは Python を使ったプログラミングに便利な開発環境をご紹介します。 Python Editors には数えきれないほどたくさんのエディタが挙げられていますが、「定番モノ」となるとその数はかなり限られているように思います。 私が実際に使ったことがあるものはごく一部なので、ここでは Stack Overflow の IDE トピックのページあたりを参考に、 Python 界隈で定番人気のエディタをピックアップしてご紹介します。 余談ですが、職業としてのプログラミングの場合でも趣味・教養のプログラミングの場合でも、「いかに快適な開発環境を作るか」は楽しさや成長率に大きく影響すると思うので、「これは!」と思える、自分に合ったものをなるべく早く見つけるのがよいと思います。 また、「 Vim か Emacs か」「最強のエディタはどれか」といった話は議論が尽きませんが、人は好みの問題なども
scikit-learn(sklearn)の日本語の入門記事があんまりないなーと思って書きました。 どちらかっていうとよく使う機能の紹介的な感じです。 英語が読める方は公式のチュートリアルがおすすめです。 scikit-learnとは? scikit-learnはオープンソースの機械学習ライブラリで、分類や回帰、クラスタリングなどの機能が実装されています。 また様々な評価尺度やクロスバリデーション、パラメータのグリッドサーチなどの痒いところに手が届く機能もあります。 インストール scikit-learnの他にもnumpyとかscipyとかが必要です。 Windows 64 bit版の人は以下のURLに色々なインストーラーがおいてあるのでおすすめ Python Extension Packages for Windows - Christoph Gohlke その他の人は以下のURLを見て
最近、機械学習とか、そのアルゴリズムのひとつであるサポートベクターマシンとかやってるわけですが、そもそも機械学習ってなんなんでしょか? 機械学習ってのは、なんとなく与えられた点の分類から、新たに与えられた点の分類を推測するのですが、ようするに、点が与えられたときにそこから分類の領域を推測しておいて、新たな点がきたときにはどの領域に入るかを判別するのです。 ニューラルネットワークは、名前にニューロンとかついてて、とてもステキな響きがするのですが、あれは関数のあてはめを行っているのです。そうやって関数をあてはめることで、領域の境界面を求めます。 NN法は、学習とかせず、一番近いデータが同じ分類になるはずという戦略でやってます。 サポートベクターマシンも考え方としてはNN法と同じで、新しい点がやってくると、学習したそれぞれの点までの近さを計算して、一番ちかい分類を求めます。そのため、学習データが
1. 論文紹介 Fast R-CNN & Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks Takashi Abe (@tabe2314) 2. 紹介する論文 Fast R-CNN Ross Girshick (R-CNNの人) http://arxiv.org/abs/1504.08083 Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks Shaoqing Ren, Kaiming He, Ross Girshick, Jian Sun http://arxiv.org/abs/1506.01497 • 著者は全員 MSR • Pascal VOC Detection Lea
RSAの公開鍵暗号技術を利用するためには、鍵や証明書のファイルを扱う必要があるため、そのファイルフォーマットについて理解しておく必要があります。 実際、いろんな拡張子が登場するので、それぞれの意味を理解していないとすぐにわけがわからなくなります。そんなときのために備忘録をまとめてみました。 ファイルの拡張子の注意点 .DERと .PEMという拡張子は鍵の中身じゃなくて、エンコーディングを表している デジタル暗号化鍵やデジタル証明書はバイナリデータなのですが、MD5のハッシュ値のような単なる 値 ではなく、データ構造をもっています。.DERや .PEMはそのデータ構造をどういうフォーマットでエンコードしているかを表しています。そのため、.DERや.PEMという拡張子からそのファイルが何を表しているのかはわかりません。暗号化鍵の場合もあるし、証明書の場合もあります。 .DER 鍵や証明書をAS
cles::blog 平常心是道 blogs: cles::blog NP_cles() « 仕事場に新しい無線LANアクセスポイントを入れる (... :: ゆうちょの副印鑑が廃止されてた » 2013/09/18 ssh.com 形式の公開鍵を OpenSSH 形式に変換する ssh 436 0へぇ ssh の公開鍵を送ってもらったら予期せず ssh.com 形式だったので、OpenSSH 形式に変換するやりかたが分からずに時間を食ってしまいました。 今後もこういうことはあると思うので、後学のためにメモを残しておきます。 ssh の公開鍵の形式には ssh.com(SECSH) 形式 と、OpenSSH 形式の2つがあります。見分け方は簡単で ---- BEGIN SSH2 PUBLIC KEY ---- と書いてあって SSL 証明書の PEM 形式を彷彿とさせるのが ssh.co
I have a certificate in der format, from it with this command I generate a public key: openssl x509 -inform der -in ejbcacert.cer -noout -pubkey > pub1key.pub Which results in this: -----BEGIN PUBLIC KEY----- MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC7vbqajDw4o6gJy8UtmIbkcpnk O3Kwc4qsEnSZp/TR+fQi62F79RHWmwKOtFmwteURgLbj7D/WGuNLGOfa/2vse3G2 eHnHl5CB8ruRX9fBl/KgwCVr2JaEuUm66bBQeP5XeBotdR4cvX38uPYivCDdP
概要 SSHの公開鍵にはfingerprintが表示されるが、何なのかわからなかったので調べた。2048bitのRSAの公開鍵を想定している。 fingerprintとは 鍵を識別するための情報。いわゆる電子指紋。 ハッシュ関数を使うので、値がわずかでも異なっていると、全く違う値が出力される。 そのため、視認性がよく、鍵の全ての情報で比較しなくてもすむ。 十分に良いハッシュ関数を使えば、たまたまfingerprintが一致することはまずない。 SHA-256でハッシュ値を計算し、その値をBase64エンコードしたSHA-256/base64形式が使われることが多い。(以前はMD5/hexが多かったが、安全ではないため使われなくなった) OpenSSH形式 公開鍵のファイル形式には何種類かある。SSH用の鍵を作るとき、たいていは以下のようにして作る。
当社の100%子会社 株式会社金融エンジニアリング・グループ(以下:FEG)がデータマイニングの競技会であるKDDCupにおいて第二位となりました。本競技会では一位から三位までが入賞となりますが、※国内の企業で入賞したのはFEGが初めてです。なおFEGは2000年に第四位を獲得した実績があります。 ※国内の企業:日本に本社または拠点を置く企業 KDDCup(Knowledge Discovery and Data Mining Cup)は、コンピューターサイエンス分野の学会であり、100カ国以上、9万2千人の会員規模を誇るACM(the Association for Computing Machinery 本部米国)の分科会であるSIGKDD(Special Interest Group on Knowledge Discovery and Data Mining)が毎年開催する競技会で
GB37301.md 情報システム特別講義D 1時限目 イントロ - 川島先生(筑波大学) 2時限目 Inside PostgreSQL Kernel - 永安 悟史さん(アップタイム・テクノロジーズ) 3時限目 データストレージの諸々 - 星野 喬さん(サイボウズ・ラボ) 4時限目 並列データベースシステムの概念と原理 - 油井 誠さん(産総研) 5時限目 Googleクラウドが実現する大規模並列クエリサービス - 佐藤 一憲さん(Google) 6時限目 分散処理基板Hadoop/MapReduce - 小沢 健史さん(NTT研) 7時限目 Treasure Data Technologies - 中川 真宏さん(Treasure Data) 8時限目 Retrospection/Prospection / Norikra in Action - 田籠 聡さん(LINE株式会社) 9時
2015-03-06 13:30 大規模グラフのノード分割と逐次集約による並列分散クラスタリングアルゴリズム ○浅山 陸・櫻井孝平・山根 智(金沢大) MSS2014-101 大規模なグラフ構造データに対して,ノード分割による分散配置とノードの逐次集約の並列処理による高速なクラスタリングアルゴリズムを提案する.グラフ構造データに対するクラスタリング処理の並列分散化については,BSPモデルに基づいたYuzhouらによる研究cite{BSP}がよく知られている.しかしながら,Yuzhouらによる手法では,BSPモデルの同期やメモリ上の制限により大きな処理待ち時間が発生する.そこで提案手法では,大規模なグラフ構造データを複数のマシン上に分散配置し,それらに対してノードの逐次集約の並列処理及びModularityに基づくクラスタリングアルゴリズムを適用することで,Modularity値を維持したク
Decrease quantity for Gabung Sekarang di Slot88: Situs Judi Slot Online Terpercaya & Gacor, Dapat Maxwin! Increase quantity for Gabung Sekarang di Slot88: Situs Judi Slot Online Terpercaya & Gacor, Dapat Maxwin! Kamu penggemar permainan slot online yang seru dan menguntungkan? Kami di Slotkuni punya semua yang kamu butuhkan! Dengan berbagai pilihan permainan slot gacor yang gampang dimainkan, Kamu
データ工学,データベースに関する分野の研究開発に関心があります. 現在は問合せ処理アルゴリズムの開発に取り組んでいます. 所属 筑波大学 計算科学研究センター 准教授 筑波大学 人工知能科学センター 准教授(兼任) 知識・データ工学研究室(天笠研) 担当 筑波大学 情報学群 情報科学類 筑波大学 大学院システム情報工学研究科 コンピュータサイエンス専攻 連絡先 住所:〒305-8573 茨城県つくば市天王台1-1-1 計算科学研究センター 105研究室 E-mail: 略歴 埼玉県大宮市(現在,さいたま市)生まれ 2005年 3月 埼玉県立大宮高等学校 卒業 2009年 3月 筑波大学第三学群情報学類(現在,情報学群情報科学類) 卒業 指導教員:北川博之 教授 卒業論文題目:分散ストリーム処理システムにおける高信頼化手法の研究 学位:学士(情報科学) 2011年 3月 筑波大学大学院システ
Copyright 2012 NTT Corporation 大規模データを対象とした分析処理の 高速化に関する取り組み 1 鬼塚 真 主幹研究員(特別研究員) NTTソフトウェアイノベーションセンタ 自己紹介 2 所属など NTT ソフトウェアイノベーションセンタ 主幹研究員(特別研究員) 群馬県出身,ワシントン大(911の時) 過去の研究開発テーマ オブジェクトリレーショナル DBMS の研究開発 XMLストリーム処理/DBMSの高速化 CBoC type2 分散テーブルの開発 現在の研究テーマ MapReduce の高速化 機械学習の高速化 (クラスタリング,ランダムウォーク等) 最先端ハードウェアを利用した高速インデックス 画像検索 ホームラン検索 テレビ番組通知 ニュース配信 カラオケ検索 3 管理情報区分:B 関係者限り © 2012 NTT Software Innovati
こんにちは!Wantedlyで12月中にインターンシップをしていた後藤です. 今回,業務の一環としてグラフDBであるNeo4jを1日触ってみたので,それに関してつらつら書いてみたいと思います. Neo4jって? Neo4jはグラフDB(データの構造が全てグラフ構造で表されるDB)の1つです. Javaで実装されており,オープンソースとして公開・開発が進められています. Neo4j公式 グラフDBの位置付け,及びその性質に関しては次の記事が分かりやすいでしょうか. SQLかNoSQLかという分類だと勿論NoSQLに分類されます.が,Key-Value型やドキュメント指向のものとはまた異なります. InfoQ グラフデータベース、NOSQL、Neo4j RDBやKey-Value型のDBなど,他のタイプのDBとの比較については公式マニュアルに簡単にまとめられています. 2.2. Compari
テスト用データ集合† アルゴリズムの比較検証に利用できるテスト用データについてまとめましょう. ID は ibis でパスワードは VC 次元の V のフルスペルです(頭だけ大文字)
リポジトリ 有向グラフ(directed graph, digraph) 強連結(strongly connected): 有向グラフの任意の2頂点u, vに対して、uからvに到達可能かつvからuに到達可能、すなわち、任意の2頂点に双方向の道が存在するとき、その有向グラフは強連結であるという。 強連結成分(SCC: Stronglu Connected Components):極大で強連結な(他の辺を加えると強連結ではなくなる)部分グラフ。 強連結成分分解(Decomposition of SCC): 有向グラフは、いくつかの強連結成分の共通部分を持たない和集合に分解することができる。この分解を強連結成分という。 強連結成分を1つの頂点に縮約(contraction)すると、非閉路有向グラフ(DAG: Directed Acyclic Graph)になる。 Kosaraju's algor
Freeware† ChemCPP:グラフを扱うカーネルのC++ライブラリ GraphStream:グラフの変化をアニメーションしながら描画 JUNG (Java Universal Network/Graph Framework):グラフ処理ライブラリ (java) (Jung@TECHSCORE) igraph:グラフ処理 C, python, R ruby のラッパ PEGASUS:大規模グラフマイニング VGJ:グラフ描画 (java)-Walrus:グラフ描画 (java) ↑ 関連文献† 鹿島 久嗣「グラフマイニング」 鷲尾 隆 "データインテンシブコンピューティング ―その1 離散構造マイニング―" 人工知能学会誌,vol.22, no.2 (2007) 鷲尾 隆 他 "グラフマイニングとその統計的モデリングへの応用" 統計数理, vol.54, no.2 (2007) 猪口
問題リンク String With Rings 解法 ? えー、先に言っておきますと真っ当な方法でAcceptに辿りついていません。 真面目なプログラムで解きたい方の疑問には答えられません、よしなに。 以下、自分の思考の変遷をつらっと書きます。 1. 反復深化法でいこう 到達できると思う深さを決め打ちし、全開始点を試す。どの開始点でも到達できなかったらその深さ-1が答えだ、というもの。結構速く終わるんじゃないかと期待。結果はTLE 2. 反復深化法を改良しよう 毎回全開始点を試すのは無駄だ。頂点1で深さを改良できるまで改良し、深さDまで潜れることが分かったら、頂点2はD+1から始めればいいじゃないか。おお、探索回数がぐっと減るぞ! 結果はTLE 3. グラフを縮約しよう 次数が2の頂点は縮約し、辺に重みを加えれば、探索に使う頂点数が減ってハッピーだな、と思い付く。縮約してはいけないパターン
Pythonで一番有名で普及しているライブラリと言っても過言ではない「Numpy」の覚書きです。かなり多機能な数値計算ライブラリで、内部はC言語で記述されているため超高速に動作します。 ベクトル ベクトルの長さ&正規化 import numpy a = numpy.array([[2,2]]) #ベクトルの長さ length = numpy.linalg.norm(a) #length=>2.8284271247461903 #ベクトルの正規化 a / numpy.linalg.norm(a) #=>array([[ 0.70710678, 0.70710678]]) 内積&外積 import numpy v1 = numpy.array((1,0,0)) v2 = numpy.array((0,1,0)) #内積 numpy.dot(v1,v2) #=> 0 #外積 numpy.cros
Pythonで固有値問題を解く方法についてメモしておく。 メジャーな方法として、以下の3つがある numpy.linalgの関数を使う。 scipy.linalgの関数を使う。 scipy.sparse.linalgの関数を使う。 numpy.linalgとscipy.linalgには以下の4つの関数がある。 eig:一般の行列の固有値・固有ベクトルを求める。 eigh:エルミート(or 実対称)行列の固有値・固有ベクトルを求める。 eigvals:一般の行列の固有値のみを求める。 eigvalsh:エルミート(or 実対称)行列の固有値のみを求める。 関数名のhはHermitianの略。Scipyだと一般化固有値問題*1もオプションで出来る。 ちなみに、scipy.linalgはnumpy.linalgに含まれる関数はすべて含んでいて、さらに追加で他の関数も含んでいる。また、scipy.
勘違いしがちなのでメモ Numpyで固有値と固有ベクトルを求める。 In [2]: import numpy as np In [4]: A = np.array([[2,3],[1,4]]) In [6]: la, v = np.linalg.eig(A) In [8]: la, v Out[8]: (array([ 1., 5.]), array([[-0.9486833 , -0.70710678], [ 0.31622777, -0.70710678]])) このとき、固有値1に対応するのは、はじめの列ベクトル[-0.9486833, 0.31622777] である。 In [9]: la[0] Out[9]: 0.99999999999999956 In [10]: v[:,0] Out[10]: array([-0.9486833 , 0.31622777]) ちなみに、最大固
ライブラリnetworkxを使うと簡単。 import networkx as nx G=nx.read_edgelist("test.net",create_using=nx.DiGraph()) j=nx.strongle_connected_components(G) l=0 for i in j: for k in i: print k,l; l=l+1; 最大強連結成分の抜き出し。 import networkx as nx G=nx.read_edgelist("test.net",create_using=nx.DiGraph()) j=nx.strongle_connected_components(G) l=0 print "#nodes" for i in j: for k in i: print k,l; if(l!=0): G.remove_nodes_from(i
ナイーブなアルゴリズム ある頂点 からグラフ探索(深さ優先探索など.なんでもよい)を始めて訪れることができた頂点の集合 と,グラフの全ての辺を逆向きにしてから からグラフ探索を始めて訪れることのができた頂点の集合 に対し, によって誘導される部分グラフが を含む強連結成分です. よってせいぜい くらいの時間計算量のアルゴリズムで全ての強連結成分を調べ上げることができます. これを線形時間で達成するのが以降の話です. アルゴリズム 強連結成分分解は深さ優先探索を合計で二回分行うことによって達成できます. トポロジカルソートと全く同じ方法で頂点に番号を付ける. グラフの全ての辺を逆向きにする. 番号の最も大きい頂点から深さ優先探索を行う.訪れた頂点が一つの強連結成分. 得られた強連結成分をグラフから取り除き,まだグラフが空でなければ 3 に戻る. ステップ 1 が深さ優先探索一回分,ステップ
リポジトリ 有向グラフ(directed graph, digraph) 強連結(strongly connected): 有向グラフの任意の2頂点u, vに対して、uからvに到達可能かつvからuに到達可能、すなわち、任意の2頂点に双方向の道が存在するとき、その有向グラフは強連結であるという。 強連結成分(SCC: Stronglu Connected Components):極大で強連結な(他の辺を加えると強連結ではなくなる)部分グラフ。 強連結成分分解(Decomposition of SCC): 有向グラフは、いくつかの強連結成分の共通部分を持たない和集合に分解することができる。この分解を強連結成分という。 強連結成分を1つの頂点に縮約(contraction)すると、非閉路有向グラフ(DAG: Directed Acyclic Graph)になる。 Kosaraju's algor
ブログ パスワード認証 閲覧するには管理人が設定した パスワードの入力が必要です。 管理人からのメッセージ 閲覧パスワード Copyright © since 1999 FC2 inc. All Rights Reserved.
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く