タグ

*algorithmと探索に関するsh19910711のブックマーク (8)

  • ワーシャルフロイド法をJuliaで(強引に)アニメーション

    はじめに 競プロとかやってると、たまに聞くワーシャルフロイド法 コードは短くて悩むところないけど、これで「抜け」ないんだっけ? とか思ったりするので、一度動画にしてみる。 Julia言語にはGraphPlotなるものがあるのでそれの練習 ワーシャルフロイド法 WikipediaとかもあるけどJuliaでは for k ∈ 1:n , i ∈ 1:n , j ∈ 1:n Dist[i,j]=min(Dist[i,j],Dist[i,k]+Dist[k,j]) end Dist #Distは有向グラフをマトリクスにしたもの 短いです 解説 ググれば素晴らしい解説があると思いますが簡単に 負の閉路のない(クルクル回るとマイナス無限になったりしない)有向(無向)グラフで、最短の経路を求めるには ある中継点を通った方が直通より短ければ、直通の距離をそれに書き換える。 それを各中継点で全通り調べると、

    ワーシャルフロイド法をJuliaで(強引に)アニメーション
    sh19910711
    sh19910711 2025/09/12
    2022 / "グラフ描画にGraphs GraphPlotを用いますが、上にテキストを重ねたかったりしたので融通を効かせる為、Compose(GraphPlotは元々この形式出力"
  • 焼きなまし法と粒子群最適化法の探索挙動を可視化してみた - クマガリウムぶろぐ

    目次 目次 0. はじめに 1. 最適化アルゴリズム 1.1 山登り法 1.2 焼きなまし法 1.3 粒子群最適化(Particle Swarm Optimazation: PSO) 2 ベンチマークを用いた探索挙動の可視化 2.1 Sphere function 2.2 Ackley function 2.3 Rastrigin function 2.3 Himmelblau's function 3. おわりに 4. 参考 0. はじめに 以前書いたブログ(超個体型データセンターにおける群知能クラスタリングの利用構想 - クマガリウムぶろぐ)の構想実現を進めるために、最適化アルゴリズムの基的なところを理解するため、山登り法をはじめ、焼きなまし法や粒子群最適化法の探索挙動を可視化した結果を簡単にまとめてみます。 ※このあたりお詳しい人がいたらコメント、補足など大歓迎 1. 最適化アルゴ

    焼きなまし法と粒子群最適化法の探索挙動を可視化してみた - クマガリウムぶろぐ
    sh19910711
    sh19910711 2025/09/03
    2019 / "粒子群最適化: 餌を探す鳥の群れなどの行動に着想を得た最適化手法 + 移動を繰り返すことによって、最適な位置に鳥たちが集まり、その点が最適解"
  • chokudai先生の焼きなまし講座

    コルン @colun 焼きなましは正直あんまり使ったことがなかったのだけれども、この間、大学院の後輩の焼きなましに関する説明を聞いてからは、根的に焼きなまし法は凸凹している広域の探索には向かないんだなと思った。 2013-12-26 23:44:26 コルン @colun 距離や近傍の定義……「ある既知の一点に良さそうなものがある時に、べつの未知の一点に良さそうなものがある確率が高くなる時、近傍と推定される。まったく無関係である時、その2つの点は遠いと推定される」と僕は思う。 2013-12-27 00:17:21

    chokudai先生の焼きなまし講座
    sh19910711
    sh19910711 2022/04/17
    2013 / "2つをスワップさせるとか、それだけで簡単に差分スコアが取れちゃう、みたいな状況だと、そういう操作自体が良い解の発見に対して強い > 焼きなまし"
  • モンテカルロ法によるゲームAIの可能性

    sh19910711
    sh19910711 2022/04/01
    2009 / "CrazyStone: Computer Olympiad 囲碁9路盤部門優勝 [Rémi Coulom 2006] / 囲碁の評価関数: 駒の価値などは用いることができない + オセロのような明らかに特徴のある箇所が少ない / コンピュータ囲碁研究 > 始まりは1960年代"
  • 遺伝的アルゴリズムを用いてコンテナの配置を最適化する論文:「Genetic Algorithm for Multi-Objective Optimization of Container Allocation in Cloud Architecture」 - Fire Engine

    ふとタイトルが目に入ってきて気になって読んでみた。私自身そんなにコンテナ技術を触ってないけど、前から遺伝的アルゴリズムが気になっていた。 ちょいちょい知識が足りずに理解しきれないところ出てきたけど、とりあえず最後まで読んだのでざっくりまとめを書いてみる。 読んだ論文 Genetic Algorithm for Multi-Objective Optimization of Container Allocation in Cloud Architecture pdfはダウンロードできなかったけど、ここからOnlineで読めた。 所感 先に論文を読んだ所感を書いておく。 コンテナのリソース割り当ての最適化問題を遺伝的アルゴリズム(GA)を使って解くというコンセプトが面白かった。Related Workとして多くの論文が挙げられていた(Table 1およびTable2)ので、この辺りは追っていく

    遺伝的アルゴリズムを用いてコンテナの配置を最適化する論文:「Genetic Algorithm for Multi-Objective Optimization of Container Allocation in Cloud Architecture」 - Fire Engine
    sh19910711
    sh19910711 2021/07/22
    2019 / "KubernetesはコンテナやPodの配置を管理するために2つのポリシーを採用: 物理マシンへのリソース要求の合計がマシンのキャパシティを超えないようにする + コンテナは一番リソース消費が少ないマシンに配置される"
  • 誰でもできる焼きなまし法 - gasin’s blog

    マラソン系コンテストに興味のある競プロer向けです。 前置き(注意) 焼きなまし法の概要 山登り法の概要 山登り法のパーツ 初期状態 スコア計算の関数 遷移関数 焼きなまし法のパーツ 温度関数 遷移確率関数 例 焼きなまし、その後 高速化 初期状態の吟味 温度関数、状態遷移関数の調整 遷移関数の調整 焼きなましの繰り返し 焼きなましの資料集(日語) 前置き(注意) この記事で書くのは僕の感覚的なことです。 背景にある理論とかそういうのは僕はわからないです。 ただまぁ多分感覚でなんとかなります(多分)。 焼きなまし法の概要 山登り法にランダム性を入れて局所解に陥りにくくしたもの スコアが改善されたら無条件遷移だが、悪化のときも確率的に遷移する ランダム性を時間経過に応じて小さくしていくことで収束させていく ややこしそうに見えますが、実際にはやることは超単純です(後述)。 極論、山登り法さえ

    誰でもできる焼きなまし法 - gasin’s blog
  • 極小頂点被覆列挙問題を解く

    逆探索アルゴリズムに基づいて極小頂点被覆(Minimal Hitting Set)を効率的に列挙する方法の紹介。

    極小頂点被覆列挙問題を解く
  • ビームサーチの基礎知識と機械学習への3つの活用事例

    深さ優先探索と幅優先探索 深さ優先探索 幅優先探索 ビームサーチ 機械学習への応用 Google Alloの返答 学習時にビームサーチの幅を持たせて学習 3D形状の学習への応用 まとめ 参考文献 ビームサーチ(Beam Search)は、探索アルゴリズムの一種でメモリをそれほど必要としない最良優先探索です。 機械学習の分野でも、翻訳やチャットボットの返答などに応用されています。記事では、ビームサーチのアルゴリズムを理解してどのように応用されているのかを解説します。 機械学習を活用したシステムを構築する際にも、探索空間が広い場合などには応用可能なので、使いこなせるようにしておくと役に立ちます。 深さ優先探索と幅優先探索 いきなりビームサーチの解説に入る前に、理解しやすいようにグラフ探索アルゴリズムを紹介します。 深さ優先探索 深さ優先探索は、その名の通り可能な限り突き進んで、行けなくなった

    ビームサーチの基礎知識と機械学習への3つの活用事例
  • 1