タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

algorithmとprogrammingとpythonに関するlepton9のブックマーク (11)

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

    はじめに 書は,筆者が長年書き溜めた様々な実務的な最適化問題についてまとめたものである. 書は,Jupyter Laboで記述されたものを自動的に変換したものであり,以下のサポートページで公開している. コードも一部公開しているが,ソースコードを保管した Github 自体はプライベートである. を購入した人は,サポートページで公開していないプログラムを 圧縮ファイル でダウンロードすることができる. ダウンロードしたファイルの解凍パスワードは<に記述>である. 作者のページ My HP 書のサポートページ Support Page 出版社のページ Pythonによる実務で役立つ最適化問題100+ (1) ―グラフ理論と組合せ最適化への招待― Pythonによる実務で役立つ最適化問題100+ (2) ―割当・施設配置・在庫最適化・巡回セールスマン― Pythonによる実務で役立つ

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

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

  • 「実用的でないPythonプログラミング」がよかった - Stimulator

    はじめに 2020/8/12に発売されたImpractical Python Projects: Playful Programming Activities to Make You Smarterの日語訳書である、「実用的でないPythonプログラミング」をひょんな事から献していただく事になった。(訳者が同僚である) 実用的でないPythonプログラミング: 楽しくコードを書いて賢くなろう! 作者:ヴォーン,リー発売日: 2020/08/12メディア: 単行 ありがちなプログラミング初学者向けのから1段上がった中級者向けの良いだと感じたので、当ブログでたまにやっている筆者、訳者に媚びを売るシリーズの一貫として、感想を記す。 書籍の概要 「実用的でないPythonプログラミング」は、想定する中級レベルのアルゴリズムの問題を例に取り、Pythonでの美しいコードの書き方や、コンピュ

    「実用的でないPythonプログラミング」がよかった - Stimulator
  • 競技プログラミングで使う有名グラフアルゴリズムまとめ

    0. はじめに AtCoderなどでは、グラフを扱った問題が多く出るが、その度に一から実装していると時間が掛かりすぎてしまうため、有名なものをあらかじめ持っておく必要がありそう。そこで、Pythonを用いて、ダイクストラ法、ベルマンフォード法、プリム法、クラスカル法、ワーシャルフロイド法を実装した。 コメント、意見等ある方は是非! お待ちしてます! 1. ダイクストラ法 1.1. ダイクストラ法(defaultdictで実装) defaultdictで実装すると、リストで実装するよりも、ノード数$N$が大きい際には高速に動作する。ただし、経路復元の関数は、うまく書けなかった......。 (2019/7/6 追記)結局できました。1.1.1. を参照してください。 import collections import heapq class Dijkstra: def __init__(se

    競技プログラミングで使う有名グラフアルゴリズムまとめ
  • ブロックチェ-ンを構築しながら学ぶ | POSTD

    ブロックチェ-ンの仕組みを知るには構築するのが最短の方法 この記事を読んでいるということは、仮想通貨の拡大に興奮しているということですね。ブロックチェ-ンの仕組み、背後にある基的なテクノロジーについて知りたいのでしょう。 しかしブロックチェ-ンを理解するのは簡単ではありません。少なくとも私にはそうでした。大量の動画の中をさまよい、抜けだらけのチュートリアルに従い、結局、実例が少なすぎてフラストレーションが大きくなりました。 私は手を動かして学ぶのが好きです。コードのレベルで内容を扱わざるを得なくなり、そうすることで身に付くからです。同じようにやってもらえば、この解説が終わる頃には、機能するブロックチェーンが出来上がり、どのように動くかがしっかりと把握できるようになるでしょう。 準備 ブロックチェ-ンとはブロックという名の 不変でシーケンシャルな 一連のレコードだということを覚えてください

    ブロックチェ-ンを構築しながら学ぶ | POSTD
  • Python でレコメンデーションを実装する - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    Python でレコメンデーションを実装する - Qiita
  • RubyとPythonにおけるガベージコレクションの視覚化 | POSTD

    稿は、ブダペストで開かれたイベント「 RuPy 」で、Pat Shaughnessyが披露したプレゼンの内容をまとめたものです。 プレゼンの映像はここ から視聴できます。 稿は当初、 同氏の個人ブログ に投稿されましたが、同氏の了承を得て、Codeshipに再掲載します。 このイベントは「RubyPython」に関するカンファレンスなので、RubyPythonでは、ガベージコレクション(以下「GC」)の動作がどう違うのかを比較すると面白いだろうと私は思いました。 ただしその題に入る前に、そもそもなぜ、GCを取り上げるのかについてお話しします。正直言って、すごく魅力的な、わくわくするテーマではないですよね? 皆さんの中でGCと聞いて、心がときめいた方はいらっしゃいますか? [実はこのカンファレンス出席者の中で、ここで手を挙げた人は数名いました!] Rubyコミュニティで最近、Rub

    RubyとPythonにおけるガベージコレクションの視覚化 | POSTD
  • 言語処理100本ノックを(第5章まで)やってみた - フツーって言うなぁ!

    久しぶりに技術関係のネタ書きます. 「言語処理100ノック」という,自然言語処理関係の問題集があることを知ったので取り組んでみました. これは,東北大学の乾・岡崎研究室でのプログラミング勉強会にて使われている教材だそうです. 「100ノック」の言葉通り,100問の問題からなる問題集をこなすことで,自然言語処理に関する基礎力と,プログラミング言語運用能力が同時に培えるようになっています. こういうものが公開されるとは,「いい時代になったなー」と純粋に思います. www.cl.ecei.tohoku.ac.jp 内容は,自然言語処理だけでなく,データベース,機械学習など,今の言語処理関係の研究に必要なスキルがこれ1つで身につくように設計されています. 対象プログラミング言語はPythonのようですが,基的に他の言語でも問題なく進められるようにはなっていると思います(言語処理に強いプログラ

    言語処理100本ノックを(第5章まで)やってみた - フツーって言うなぁ!
  • 機械学習はじめの一歩に役立つ記事のまとめ - その後のその後

    機械学習」というワードになんとなく惹かれつつも、具体的にやりたいことがあるわけでもないので、手を動かすことなくただひたすら「いつかやる」ために解説記事やチュートリアル記事を集める日々を過ごしていたのですが、このままじゃイカン!と Machine Learning Advent Calendar 2014 - Qiita に参加登録してみました。 が、やはり何もしないまま当日を迎えてしまったので、お茶濁しではありますが、せめて「機械学習ってどんな手法やライブラリがあって、どんな応用先があるのか?」というあたりをざっくり把握して最初に何をやるのか方向付けをするためにも、たまりにたまった機械学習系の記事をいったん整理してみようと思います。 機械学習の概要 特定のライブラリや手法の話ではなく、機械学習全般に関する解説。 機械学習チュートリアル@Jubatus Casual Talks 機械学習

    機械学習はじめの一歩に役立つ記事のまとめ - その後のその後
  • ノイズの話 - Pentanium Blog?

    これはレイトレ合宿2!!アドベントカレンダーの4週目の記事です。 梅雨真っ盛りでぱっとしない天気が続きますがレイの追跡の具合はいかがでしょうか。 7月に入ったとはいえアドベントカレンダーはまだまだ序盤。 後のほうにガチな人がいらっしゃるのでレイトレと関係あるのか微妙なネタでもまだ許されると信じていきます。 さて、レンダリングしているとテクスチャが欲しくなって、とりあえずチェッカーをつくってみたりします。 それに飽きてきたらノイズです。ノイズですよねッ!? もうノイズがあるだけでそれはそれはCGらしくなります。 しかも模様だけにとどまらず、バンプやディスプレイス、プロシージャルなオブジェクトと使い道もたくさんある素敵なやつです。 そんなわけでちょっとノイズでも作ってみようかと思います。 とりあえず2Dの画像をつくることにして、深いことを考えずに乱数で埋め尽くすとこんな感じになります。 flo

    ノイズの話 - Pentanium Blog?
  • クラスカルのアルゴリズム - naoyaのはてなダイアリー

    昨年からはじめたアルゴリズムイントロダクションの輪講も終盤に差し掛かり、残すところ数章となりました。今週は第23章の最小全域木でした。辺に重みのあるグラフで全域木を張るとき、その全域木を構成する辺の合計コストが最小の組み合わせが最小全域木です。 アルゴリズムイントロダクションでは、クラスカルのアルゴリズム、プリムのアルゴリズムの二点が紹介されています。いずれも20世紀半ばに発見された古典的なアルゴリズムです。 二つのうち前者、クラスカルのアルゴリズムは、コスト最小の辺から順番にみていって、その辺を選んだことで閉路が構成されなければ、それは安全な辺であるとみなし、最小全域木を構成する辺のひとつとして選択します。これを繰り返しているうちに最小全域木が構成されるというアルゴリズムです。 今日はクラスカルのアルゴリズムを Python で実装してみました。扱うグラフは書籍の例を使ってみました。以下

    クラスカルのアルゴリズム - naoyaのはてなダイアリー
  • 1