タグ

pythonとアルゴリズムに関するigrepのブックマーク (6)

  • Python言語による実務で使える100+の最適化問題 | opt100

    指針 厳密解法に対しては、解ける問題例の規模の指針を与える。数理最適化ソルバーを使う場合には、Gurobi かmypulpを用い、それぞれの限界を調べる。動的最適化の場合には、メモリの限界について調べる。 近似解法に対しては、近似誤差の指針を与える。 複数の定式化を示し、どの定式化が実務的に良いかの指針を示す。 出来るだけベンチマーク問題例を用いる。OR-Libraryなどから問題例をダウンロードし、ディレクトリごとに保管しておく。 解説ビデオもYoutubeで公開する. 主要な問題に対してはアプリを作ってデモをする. 以下,デモビデオ: 注意 基的には,コードも公開するが, github自体はプライベート そのうちにするかもしれない(予約はしているが, 保証はない). プロジェクトに参加したい人は,以下の技量が必要(github, nbdev, poetry, gurobi); ペー

  • グラフ描画アルゴリズムとNetworkxの裏側 - Qiita

    0.グラフの描画ってどうやるの? 二次元に描画するためには各頂点に適切に座標を与える必要がありますが、グラフは頂点と辺の情報しか持っていません。どのように頂点を配置すればよいのでしょう?? この記事ではグラフをいい感じに配置するアルゴリズム Fruchterman-Reingold algorithm を説明します。Pythonだと networkxというライブラリで簡単に使用できます。しかし簡単すぎて悔しいので networkxの GitHub の実装を追いながら仕組みを確認していきます。 この記事の流れはこうです。 動かしてみる アルゴリズムの説明 Networkx の実装を追う 1.動かしてみる 動けば満足な方のために先に実装例を示しときます。Google colaboratory だと既にnetworkxがインストールされてるので、コピペですぐ試せます。 ランダムに配置 → ran

    グラフ描画アルゴリズムとNetworkxの裏側 - Qiita
    igrep
    igrep 2021/03/24
    ValueErrorの部分は完全に例外の悪い使い方だよなぁ。しかもtry節とexcept節で結構な部分が被っているし...
  • やさしいスターリンソート入門【実用的】 - Qiita

    概要 最近、巷ではスターリンソートというソートが流行っています。 ソートされていない要素を粛清することでO(N)でソートできるスターリンソートとかいうのを見て爆笑してる — やんぎん (@4116You) July 28, 2019 スターリンといえば粛清、というような考え方によるソートです。 しかし、ちょっと待ってください。スターリンには粛清以外の選択肢もありました。 すなわち、シベリア送りです。 この記事では、粛清ではなくシベリア送りによる「やさしいスターリンソート」を実装し、データの量を減らすことなく、計算量を減らします。 それによって、銀河に平和をもたらします。 ※このソートは、「スターリンソート」とは異なるのでご注意ください。 「やさしいスターリンソート」とは スターリンソートでは、ソート順に反する要素を粛清することによりソートをしていました。 やさしいスターリンソートでは、粛清

    やさしいスターリンソート入門【実用的】 - Qiita
    igrep
    igrep 2019/08/24
    “え? Nが大きな値の時はどうするのか? シベリアは広大なので、そんなことは気にしません。”
  • Real-world dynamic programming: seam carving

    May 14, 2019 • Avik Das Dynamic programming has a reputation as a technique you learn in school, then only use to pass interviews at software companies. Indeed, most developers do not regularly work on problems where dynamic programming is needed. Ultimately, dynamic programming is a technique for efficiently solving problems that can be broken down into highly-repeated subproblems, and as a resul

    Real-world dynamic programming: seam carving
    igrep
    igrep 2019/06/28
    Haskellでもちょっと実装してみたくなるな。
  • ヒープについてわかりやすく解説してみた – Yasufumi Taniguchi – Medium

    的なデータ構造であるヒープについて、概要、計算量と実装、そして最もシンプルな応用であるヒープソートを紹介します。MITが講義や資料を公開しているMIT OpenCourseWareのアルゴリズムとデータ構造の講義 が非常にわかりやすかったので、その内容に沿ってまとめました。この記事ではHeaps and Heap Sortの内容を以下の順序で解説します。 ヒープの概要ヒープの表現ヒープの構築ヒープの計算量ヒープの実装ヒープソート1. ヒープの概要ヒープ (heap) は優先度付きキュー (priority queue) の実装の1つです。優先度付きキューは集合 (set) を扱うデータ型で、集合に含まれる要素が何らかの優先度 (priority) 順に取り出されるという特徴を持っています。学会のポスター発表を回るときや、旅行先での観光地巡りでは、優先度に基づいて要素を取り出すことが重要

    ヒープについてわかりやすく解説してみた – Yasufumi Taniguchi – Medium
  • GitHub - ChrisKnott/Algojammer: An experimental code editor for writing algorithms

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - ChrisKnott/Algojammer: An experimental code editor for writing algorithms
    igrep
    igrep 2018/11/04
    おもしろそう
  • 1