2020-01-01から1年間の記事一覧

ナーススケジューリング問題を焼きなましで解いて可視化する

この記事は、数理最適化 Advent Calendar 2020 の17日目の記事です。遅刻してすみません・・。 qiita.com 今回は、ナーススケジューリング問題と呼ばれる勤務シフト作成問題を焼きなまし法で解いてみました。*1 Reactで可視化したので、以下リンクをご参照下…

poetry publishでPyPIに勝手に公開されないのかどうか

poetry publishをうっかり実行してしまい、privateなファイルが全世界に公開されると困るので。。 自分だけならまだ注意すれば良いけど、人に薦めることを考えると気になります。 結論 poetry new <package-name> からpoetry publishをしてみたところ、以下のようにまー大</package-name>…

ソフトウェアのアーキテクチャについて

最近、小〜中規模のプログラムを保守性高く記述するにはどうすればよいかが気になっていて、 ソフトウェアのアーキテクチャについて調べていました。 本を読んでみる 以下の本を浅めに読み通してみました。どの本もそれぞれ学ぶべき点があって興味深かったで…

C#からC++を呼び出してポインタを使う

C#からC++を呼び出す方法を調べていたのですが、ポインタつかってごにょごにょできることを知って驚きました。 安全に使うには当然いろいろと気をつけなくてはいけないのですが、C++ではここまでできるのかと。 ソースコード lib.hの記述 class Value { publ…

Rustでヒューリスティックコンテストを解いてみる

Rustのお勉強として、RustにIntroduction to Heuristics Contestの解答を移植しました。 atcoder.jp スコアはC#並、コードテストでの試行回数は2倍程度でした 解法はtomerunさんの解法(https://twitter.com/tomerun/status/1277241962106511360)を参考にし…

Kaggle Haliteを強化学習で解こうとした話

本記事は 強化学習苦手の会 Advent Calendar 2020 - Adventar 8日目の記事とするべく、コンペ終了後に書いた記事に追記しました。 7日目の記事(Kaggleの強化学習コンペがグダグダだった話 - Qiita)への返歌みたいなものになります。 雑感 強化学習でどこまで…

Connect Fourをちゃんと強化学習できた話

アルファ碁ゼロの手法で、Connect FourというゲームのAIを強化学習で作成させてみました。 Connect Fourは、「重力付き四目並べ」のようなゲームです。(四目並べ - Wikipedia) そこまで探索空間が大きすぎず、またソルバーもあるため、強化学習が正しくで…

フロントエンド何もわからない(その4)

今回は、かなり自分用のメモです。 やりたいこと 計算結果のデータをGCP上に貯めたのちに、Vue.jsなどを使ってビジュアライズしたい。 自分しか使わない ソリューション いろいろ調べた限り、以下が良さそうでした。 構成 ミニマムに作るとき tornadoなどのp…

Google Cloud Runで想定外の課金が発生した話

ヒューリスティックコンのパラメータチューニングをGCPでやる - threecourse’s blogを試している中で、Google Cloud Run(以下、Cloud Run)で1万円使ってしまったので、 同じようなことを試す人がもしいたら(あまりいないと思いますが・・)ということで注…

ヒューリスティックコンのパラメータチューニングをGCPでやる

AtCoderのヒューリスティックコン(https://atcoder.jp/contests/intro-heuristics)のような短時間のコンペのパラメータチューニングをGCPで行ってみました。 理想のラン環境を求めて - threecourse’s blog のつづきです。 (ソースコードは、敵に塩を送り…

継続的インテグレーションについてのメモ

参考資料 少し古いが、テストの分類など以下のスライドがよくまとまっている。 継続的インテグレーションとテストの話 from Preferred Networks www.slideshare.net また、CircleCIでチュートリアル+αをやりました。 circleci.com (CircleCIのドキュメント…

競技プログラミングの解説に必要な要素

AtCoderの解説についての議論があったので、考えたことを書いてみました。 最近あんまりratedに参加していない中、外からなんやかんや言うのはあれなのですが、何かの足しになれば。 (私のアカウントは https://atcoder.jp/users/threecourse です) 解説に…

フロントエンド何もわからない(その3)

しばらく経つといろいろ忘れますが、覚え直すと少しずつレベルアップしている感じはありますね。 今回は、グリッド上に情報を表示するGUIを作ってみたかったため、8クイーン問題を題材にしました。 WebページはGitHub Pagesを使って公開しています。 threeco…

理想のラン環境を求めて

Kaggleやマラソンマッチで、ランをサクッと投げたいというモチベーションのもと、GCP(Google Cloud Platform)の構成を調査していました。 以下のリポジトリにコードを載せています。 GitHub - threecourse/run-environment-public まだ何も実戦で試してい…

CatBoost論文のprediction shiftについて完全に理解する

MathJax.Hub.Config({ tex2jax: { inlineMath: [['$','$'], ['\\(','\\)']], displayMath: [ ['$$','$$'], ["\\[","\\]"] ] } }); CatBoostの論文における、prediction shiftについて調べる機会があったのでまとめてみました。 (CatBoost: unbiased boostin…

Unityでゲームを作ってみた(その2)+ゲームレビュー

Unityで2作目のゲームを試作しました。まぁまぁ満足というか、Unity初心者としては十分なデキになったと思います。 Unityのゲーム試作2作目できた。ドミニオン+クッキークリッカーみたいな感じ。 pic.twitter.com/9xr5P2CNCv— threecourse (@threecourse) 2…

「ヒューリスティック探索入門」のメモ

MathJax.Hub.Config({ tex2jax: { inlineMath: [['$','$'], ['\\(','\\)']], displayMath: [ ['$$','$$'], ["\\[","\\]"] ] } }); 「ヒューリスティック探索入門」というPDFの1章、2章、4章の一部の学習メモです。 特に、「状態空間問題」といった問題設定や…

Unityでゲームを作ってみた

Unityで練習としてゲームを作ってみました。Unity周りのさまざまな仕組みは結構独特で面白いと思ったので、まとめておきます。 なぜUnityか ゲーム作りは男のロマン 機械学習の技術をゲームに活かせないか C#好きなんですよね・・ 作ったもの (ブログ貼付用…

Cython何もわからない

Cythonで何ができる? 拡張子.pyxファイルに、pythonの文法を基本としつつ一部をcythonの文法で型付けすることで、高速に処理を行うことができる。 呼び出すときはimport pyximport; pyximport.install()を付加すると、あとは通常のimportが可能。(setup.py…