2019-01-01から1年間の記事一覧
MasterMind というボードゲームの 最善手探索用プログラムを公開しました. github.com policyやcode_iterに関数を追加して, master_mind.pyの上部をいじれば改良できますので, アイデアがある方はよろしくお願いします. サンプル 3色 2ピンの場合 python mas…
pulpでsolverとしてCPLEXを指定する場合, 並列数はDefault設定では使用可能なthread数を全て使用する設定になっています. 並列数を自分で指定したい場合は, 以下のようにすれば良いです. import pulp class MyCPLEX(pulp.CPLEX): def __init__(self, mpi=Tru…
まだ PuLPのdocumentに載っていない(執筆時)関数ですが sequentialSolveという多段階最適化を行う関数が実装されています import pulp from pulp import LpVariable # 問題の宣言 problem = pulp.LpProblem() # 変数の宣言(連続変数, 上限2) x = LpVariable(…
このような番号付けで表現される二分木におけるpathの全列挙を考えます. pathのノード情報をリストでほしい場合 再帰 gist.github.com を実行すると >> [[0, 1, 3], [0, 1, 4], [0, 2, 5], [0, 2, 6]] が出力されます. 深さ優先探索で左側からノードを探索し…
Qiitaに記事を投稿しました. PyTorchは主にニューラルネットワークの学習に使用されるライブラリですが, autogradはより幅広い使い方ができます. 今回はその機能を用いてNewton法を実装しました. qiita.com
Pulpについて Pulp は線形計画問題を解く Python パッケージです. install pip install pulp pulpの処理フロー Pulpについて 使用できるソルバ一覧 CBC CBC > オプション(並列計算など) CBC > 自分でインストールしたCBCソルバーを使用する CBC > 1. 公式サ…
kd treeは k dimensional treeで, k次元領域の点探索などに用いられるデータ構造です。 kd treeを取り扱うモジュールがscipyにあります。 import scipy.spatial as ss from random import random # データ数 N = 10000 # (x座標, y座標)のデータリスト data …
Qiitaに記事を投稿しました。 概要 フラクショナルカスケーディングは2次元領域において, 層状領域木を用いて指定した長方形領域に含まれる点を高速に探索する技術です。問い合わせ時間は, はデータ点数, は報告される点の個数です[1]。 フラクショナルカス…
グラフィカルモデル (機械学習プロフェッショナルシリーズ) [ 渡辺 有祐 ]価格:3024円(税込、送料無料) (2019/2/7時点)楽天で購入