はじめに 前回、NetworkXでグラフの作成と、A*アルゴリズムによる経路探索をしました。 今回は、グラフにコストを追加して、経路探索してみます。 また、ノードとエッジに色をつけて、経路を可視化してみます 日常生活で、目的地への経路を考えるとき、近道 or 遠回り、混む道 or 空いている道などを考慮することもあります。 これらを、コストとして表現していきます。 通常、隣接するノード間の"距離"を、コストにすることが多いです。 今回のアウトプットは、下図です。 導出した経路を青色で塗りました。エッジ中央の数字がコストです。 コストのラベルに加え、各ノードの座標も描画しています。 見づらい気がしますが、ボスg... 重要な情報ですね。 コードを書いていく Step0. 準備 Python 3.8.6、NetworkX 2.6.2を使います。まず、import。 import numpy a
ダイクストラ法の動作のアニメーション ダイクストラ法(だいくすとらほう、英: Dijkstra's algorithm)はグラフ理論における辺の重みが非負数の場合の単一始点最短経路問題を解くための最良優先探索によるアルゴリズムである。 概要[編集] ダイクストラ法は、1959年エドガー・ダイクストラによって考案された。 応用範囲は広くOSPFなどのインターネットルーティングプロトコルや、カーナビの経路探索や鉄道の経路案内においても利用されている。 ほかのアルゴリズムとして、 最短経路長の推定値を事前に知っているときは、ダイクストラ法の改良版であるA*アルゴリズムを用いて、より効率的に最短経路を求めることができる。 辺の重みが全て同一の非負数の場合は幅優先探索がより速く、線形時間で最短路を計算可能である。 無向グラフで辺の重みが正整数の場合は、Thorupのアルゴリズム[1]によって線形時間
実験などにより得られた観測値は、普通は飛び飛びの値になりますが、その間の値を求めたい時があります。その時に用いるのが、種々の補間法(補完ではありません)と、その他のカーブフィッティング(曲線近似)です。これらの解法は、プログラミング演習の題材としてよく使われますが、実用上は強力なライブラリが多数存在しますので、自作するよりも既存のライブラリを使ったほうが便利です。 計算機実験 ここでは、計算機実験として、以下の3つの数学関数 f(x), g(x), h(x) を用意します。 import numpy as np f = lambda x: 1/(1 + np.exp(-x)) g = lambda x: 1.0/(1.0+x**2) h = lambda x: np.sin(x)
曲線あてはめ(きょくせんあてはめ)またはカーブフィッティング(英: curve fitting)[1][2][3][4]は、実験的に得られたデータまたは制約条件に最もよく当てはまるような曲線を求めること。最良あてはめ、曲線回帰とも。一般に内挿や回帰分析を用いる。場合によっては外挿も用いる。回帰分析で曲線を求める場合、その曲線はデータ点を必ず通るわけではなく、曲線とデータ点群の距離が最小になるようにする。曲線あてはめによって得られた曲線を、近似曲線という。特に回帰分析を用いた場合には回帰曲線という。現実の実験データは直線的ではないことが多いため散布図、近似曲線を求める必要性は高い。 一般論[編集] 最小二乗法による最適関数の推定[編集] 我々が考えるべき問題は、実験データを実験を説明する「説明変数」と「目的変数」に分類した上で、説明変数 と、目的変数yの関係 を求めることである。説明変数とし
ノーフリーランチ定理(ノーフリーランチていり、no-free-lunch theorem、NFL)は、物理学者 David H. Wolpert と William G. Macready が生み出した組合せ最適化の領域の定理である。その定義は以下のようになる。 ……コスト関数の極値を探索するあらゆるアルゴリズムは、全ての可能なコスト関数に適用した結果を平均すると同じ性能となる — Wolpert and Macready、1995年 解説[編集] この定理の名称は、ハインラインのSF小説『月は無慈悲な夜の女王』(1966年)で有名になった格言の"There ain't no such thing as a free lunch."に由来する。かつて酒場で「飲みに来た客には昼食を無料で振る舞う」という宣伝が行われたが、「無料の昼食」の代金は酒代に含まれていて実際には「無料の昼食」なんてもの
はじめに 今日もパターン認識の一つ技術として重要なDPマッチングについて、コードを書いてみたので紹介します。DPは dynamic programmingで日本語では「動的計画法」と訳されています。これは、ナップサック問題のように、部分問題に分割して最適化問題を解く解法として紹介されることもありますが、ここでは時系列のマッチングに特化して話します。同じ内容をDTW(dynamic time warping)と呼ぶこともあります。要は、時系列の最適なマッチングを求める問題です。 最適な時系列のマッチング、って何?と思うかもしれませんが、例えば二つのテキストファイルを比較するdiff コマンドのようなものです。一致する行もあれば、抜けている行、余分に挿入されている行、文字が書き換わっている行、などがあるます。これらを含めて最適な行の対応付けは、DPを用いて行えます。 どんな問題に使えるか? 動
理化学研究所(理研)数理創造プログラムの広野雄士客員研究員、岡田崇上級研究員、宮﨑弘安上級研究員、日高義将客員研究員の研究チームは、「ホモロジー代数[1]」という数学の手法を用いて、複雑な化学反応ネットワークを単純化するための新たな縮約手法を開発しました。 本研究成果により、複雑な化学反応ネットワークを、その重要な性質は保ちつつ、より小さなネットワークへと単純化し、効率的に解析することが可能になります。本研究は物理学者、数学者、生物学者から成る研究チームによるもので、分野横断的なアプローチの有効性を示す例となっています。 生体内では数千種類の化学反応が連鎖してネットワークを形成していますが、このような複雑な化学反応系[2]の振る舞いを理解するのは容易ではありません。 今回研究チームが開発した縮約手法は、化学反応ネットワークから部分構造を選び、その部分構造を除去するとともに反応の適切な再結合
はじめに 本書は,筆者が長年書き溜めた様々な実務的な最適化問題についてまとめたものである. 本書は,Jupyter Laboで記述されたものを自動的に変換したものであり,以下のサポートページで公開している. コードも一部公開しているが,ソースコードを保管した Github 自体はプライベートである. 本を購入した人は,サポートページで公開していないプログラムを 圧縮ファイル でダウンロードすることができる. ダウンロードしたファイルの解凍パスワードは<本に記述>である. 作者のページ My HP 本書のサポートページ Support Page 出版社のページ Pythonによる実務で役立つ最適化問題100+ (1) ―グラフ理論と組合せ最適化への招待― Pythonによる実務で役立つ最適化問題100+ (2) ―割当・施設配置・在庫最適化・巡回セールスマン― Pythonによる実務で役立つ
米ノートルダム大学の研究チームは、既存のデジタルコンピューターが苦手とする多変数問題について、アナログ「ソルバー」を利用することで、より最良の解を速く導くことができると発表した。研究成果は2018年11月19日の『Nature Communications』に掲載されている。 アナログコンピューターは20世紀初頭から中頃まで、潮位予測器や弾道計算機をはじめ、NASAの初期ロケットの打ち上げにも使われてきた。始めは歯車や真空管を、後にトランジスターを利用し、電圧などの測定値を計算結果としていた。例えば2つの数の和を計算したい場合、その2つの数に対応する電圧を加算するだけでよく、リアルタイムに結果が得られる。ただ、アナログコンピューターは変数の再設定が難しく、用途が限定されがちで、ノイズの問題もあることから、量産トランジスターや集積回路の台頭に伴い、より柔軟性のあるデジタルコンピューターに取っ
調波打楽器音分離とは? 一般的な楽曲では、様々な楽器音が含まれています。 そのため、元の楽曲信号から直接、音楽的な情報(例:コード進行)を分析するのは 計算機ではなかなか難しいです*1。 そこで、分析の前処理として、 打楽器の音と非打楽器(調波楽器)の音を分離する調波打楽器音分離 (HPSS: Hermonic/Percussive Source Seperation) *2が良く使われています。 この記事では、HPSSの概要とPython (LibROSA) のコードの解説します。 調波打楽器音分離とは? 調波打楽器音分離のアイディア アルゴリズムの設計 非負値行列因子分解+基底クラスタリング 最適化問題(行列因子分解)として解く 深層学習を使った手法 メディアンフィルタベースの手法 LibROSAにおける調波打楽器分離(HPSS)の実装 使い方 実装の詳細 librosa.effect
はじめに 『パターン認識と機械学習』の独学時のまとめです。一連の記事は「数式の行間埋め」または「R・Pythonでの実装」からアルゴリズムの理解を補助することを目的としています。本とあわせて読んでください。 この記事は、9.3.3項の内容です。混合ベルヌーイ分布に対するEMアルゴリズムによる最尤推定をPythonで実装します。 【数理編】 www.anarchive-beta.com 【他の節一覧】 www.anarchive-beta.com 【この節の内容】 はじめに ・Pythonで実装 ・MNISTデータセットの準備 ・初期値の設定 ・推論処理 ・コード全体 ・処理の解説 ・Eステップ ・Mステップ ・対数尤度の計算 ・推論結果の確認 ・パラメータの確認 ・学習の推移の確認 ・分類結果の確認 ・他の結果 参考文献 おわりに ・Pythonで実装 MNISTデータセットを用いて、混合
ffmpeg では素材を時間単位、フレーム単位でカットする方法が幾つかあり、それらの使い方とベンチマークのまとめ。 等分割する場合には HLS や Segment のオプションを使う。 ffmpeg で Apple HTTP Live Streaming(HLS)を扱う 詳細な分割設定ができる Segment 関連記事 ffmpeg で指定秒ごとに分割する方法 修正(2016年7月14日) Main options の内容を挙動に即した説明に直し曖昧な部分は削除した。 挙動の確認動画サンプル ffmpeg -f lavfi -i testsrc2=r=30000/1001:d=30 -g 1 30p-g1.mp4 ffprobe -of csv -show_packets -i 30p-g1.mp4 -show_data_hash adler32 -select_streams v > 3
制約充足問題(せいやくじゅうそくもんだい、英: Constraint satisfaction problem, CSP)は、複数の制約条件を満たすオブジェクトや状態を見つけるという数学の問題を指す。CSPは特に人工知能やオペレーションズ・リサーチで研究されている。多くのCSPでは、それなりの時間内に解くのにヒューリスティクスと組合せ最適化手法を組み合わせる必要がある。 制約充足問題の具体例: エイト・クイーン 四色問題 数独 充足可能性問題 制約充足問題を解くアルゴリズムとしては、AC-3アルゴリズム、バックトラッキング、制約違反最小化などがある。 参考文献[編集] Tsang, Edward (1993年). Foundations of Constraint Satisfaction. Academic Press. ISBN 0-12-701610-4 Dechter, Rina
【プロ向け】 無垢集成材テーブル天板の反り防止に 集成材は一枚板に比べて反りが少ないと言われますが、湿度の変化による 膨張収縮によって、多少の反りが生じます。 反り止めをご使用いただくことで、天板の反りが軽減できます。 金属プレートを天板裏に埋め込み、ビス等で取り付けます。(取り付け用ビス付属) 天板に埋め込む必要がある為、プロ用として販売しております。 ※通常、長さ1800㎜以下の天板には、両端に一本ずつ計2本、 長さ2,000㎜以上の天板には、両端に一本ずつと中心に一本、計3本入れます。 【サイズ】 長さ600mm 長さ700mm ※天板厚25mm以上にご使用ください。 ※2本入り ※反り止めのみの販売となります。 ※取り付け用ビス付属 ※ビス穴の形状が変わる場合がございます。 送料別途 お届け先の地域によって異なります。 詳しい送料については、事前にお問い合わせいただくか、ご注文後、
水位が0cmの時からどれだけ容量値が変化したのかをプロットし、同じ土俵で最適化前後の結果を比較しました。最適化後は水位変化に伴う容量値の変化量が180pFとなり、同一のセンサを使用していますが、デフォルト設定の時と比較すると、変化量は約2倍になりました。また、水位が低い時(0cm~4cm)の容量検出感度が向上しています。 最適化前の場合、共振振幅が推奨範囲外であり、且つ入力グリッチ・フィルタの設定が不適切だったことが要因と思われます。このように同じセンサを使用してもLC共振回路の定数やGUIの設定よって特性が大きく変わります。 さらに見えてきた7つの技術課題 原理検討用の簡易水位センサで水位計測を行った結果、見えて来た技術課題は以下の通りです。 1. センサ背面からの感度 FDC2214は1fFレベルの検出感度を持っており、アクリルケースの外側からセンサ設置面を手で触れるだけで容量値が変化
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く