Problem D: Double Sorting 原案: oxy, 解答作成: oxy, nya.

Slides:



Advertisements
Similar presentations
組合せ最適化輪講 2.3 連結性 川原 純. 2.3 連結性 内容 – グラフ上の節点をすべてたどるアルゴリズム 計算機上でのグラフの表現 – 強連結成分を求めるアルゴリズム トポロジカル順序を求める方法も – k- 連結、 k- 辺連結について – 2- 連結グラフの耳分解について.
Advertisements

有限幾何学 第 2 回. 有限幾何学 第 2 回 1. 様々なグラフの例 2. 道と最短経路問題 1. 用語の説明 2. 最短経路問題 3. ダイキストラのアルゴリズム.
模擬国内予選2013 Problem F テトラ姫のパズル 原案:須藤 解答:大友、須藤 解説:須藤.
プログラミング演習( 2 組) 第 9 回
あみだくじを数え上げる 省領域アルゴリズム ◯中嶋章裕,斎藤寿樹,山口一章,増田澄男 (神戸大学) 1.
Problem J: いにしえの数式 問題作成・解説: 北村 解答作成協力: 八森.
到着時刻と燃料消費量を同時に最適化する船速・航路計画
正規表現からのDFA直接構成.
プログラムのパタン演習 解説.
Revenge of the Round Table
Problem H: Queen’s case
2009/12/4 グラフ (2) 第10講: 平成21年12月4日 (金) 4限 E252教室 コンピュータアルゴリズム.
第11回 整列 ~ シェルソート,クイックソート ~
A: Attack the Moles 原案:高橋 / 解説:保坂.
On the Enumeration of Colored Trees
演習00-0 “Hello,world![改行]”を表示するプログラムを作成せよ. 1 1.
問題作成・解説: 北村 解答作成協力: 小西・松本
第10回 ソート(1):単純なソートアルゴリズム
JAG Regional Practice Contest 2012 問題C: Median Tree
基礎プログラミング (第五回) 担当者: 伊藤誠 (量子多体物理研究室) 内容: 1. 先週のおさらいと続き (実習)
Problem D: King Slime ~キングスライム~
岩井 儀雄 コンピュータ基礎演習  ー探索、整列ー 岩井 儀雄
数値解析シラバス C言語環境と数値解析の概要(1回) 方程式の根(1回) 連立一次方程式(2回) 補間と近似(2回) 数値積分(1回)
データ構造と アルゴリズム 第八回 知能情報学部 新田直也.
ベイジアンネットワーク概説 3.6 構造の探索アルゴリズム
階層的境界ボリュームを用いた 陰関数曲面の高速なレイトレーシング法
原案・解説 : 野田 解答 : 野田・吉田 Problem D Futon ~布団~.
ML 演習 第 7 回 新井淳也、中村宇佑、前田俊行 2011/05/31.
Yuri Y. Boykov Marie-Pierre Jolly
最短経路.
アルゴリズム入門.
第11回 整列 ~ シェルソート,クイックソート ~
プログラミング基礎a 第8回 プログラムの設計 アルゴリズムとデータ構造
早わかりアントコロニー最適化 (ACO: Ant Colony Optimization)
二分探索木によるサーチ.
C 言語について 補足資料 資料および授業の情報は :
情報学研究科 通信情報システム専攻 小野寺研究室 M1 奥村 佳弘
Cプログラミング演習 中間まとめ2.
第25章 単一始点最短路 3節 Bellman-Fordのアルゴリズム
第10回関数 Ⅱ (ローカル変数とスコープ).
アルゴリズムとデータ構造 2013年7月16日
グラフアルゴリズムの可視化 数理科学コース 福永研究室 高橋 優子 2018/12/29.
情報とコンピュータ 静岡大学工学部 安藤和敏
わんくま同盟茶藝部顧問 Microsoft MVP for VC episthmh
レジスタの割付け 中田育男著 コンパイラの構成と最適化 朝倉書店, 1999年 第12章5節.
早わかりアントコロニー最適化 (Ant Colony Optimization)
第9回 優先度つき待ち行列,ヒープ,二分探索木
大岩 元 慶応大学環境情報学部 再帰 データ構造とプログラミング(8) 大岩 元 慶応大学環境情報学部
25. Randomized Algorithms
アルゴリズムとデータ構造 2012年7月17日
First Course in Combinatorial Optimization
Cプログラミング演習 第10回 二分探索木.
関数の再帰呼び出しとは ハノイの塔 リダイレクト レポート課題
プログラミング基礎a 第8回 プログラムの設計 アルゴリズムとデータ構造
プログラミング 4 整列アルゴリズム.
プログラミング言語論 第四回 理工学部 情報システム工学科 新田直也.
階層的境界ボリュームを用いた 陰関数曲面の高速なレイトレーシング法
2009/10/23 整列アルゴリズム (1) 第4講: 平成21年10月23日 (金) 4限 E252教室 コンピュータアルゴリズム.
第2回課題 配布した通り.氏名・学生番号を忘れないこと.
最短ネットワーク問題:シュタイナー問題 3-G 023145 長谷川 和弘.
IF文 START もしも宝くじが当たったら 就職活動する 就職活動しない YES END NO.
第9回 優先度つき待ち行列,ヒープ,二分探索木
アルゴリズムとデータ構造 2011年7月11日
情報工学概論 (アルゴリズムとデータ構造)
Advanced Data Structure 第3回
ヒープソート.
コストのついたグラフの探索 分枝限定法 A*アルゴリズム.
ヒープソート.
オブジェクト指向言語論 第二回 知能情報学部 新田直也.
オブジェクト指向言語論 第三回 知能情報学部 新田直也.
Presentation transcript:

Problem D: Double Sorting 原案: oxy, 解答作成: oxy, nya

Problem 隣り合う要素のみをスワップしてソート [3], [2], [1] -> [2], [3], [1]     [3], [2], [1] -> [2], [3], [1] -> [2], [1], [3] -> [1], [2], [3]     [3,3], [2,2], [1,1] -> [2,3], [3,2], [1,1] -> [2,3], [1,2], [3,1] -> [2,1], [3,2], [3,1] -> [2,1], [1,2], [3,3] -> [1,1], [2,2], [3,3] 3手 5手

Judge's Solution 状態を表わすグラフ上をA*探索 while 未訪問のノードが存在: d(s,x)+h(x,t) が最小のノードxを選び、 d(s,x)を確定 xから出る全ての枝(x,y)について、 d(s,y)をd(s,x)+w(x,y)で更新

Heuristics? 0 <= h(x,t) <= h*(x,t) 真の最短距離 h*(x,t) を越えない程度に評価 for any edge (x,y): h(x,t)-h(y,t) <= w(x,y) "admissible" 効率良く最短路を求めることが可能 h(x,t) ≡ 0 だとただのdijkstraと等価

Admissible Heuristics(1) 各ボールの位置に注目 1回のスワップで、2つのボールがそれぞれ 1ずつ移動する 各ボールの最終目的地までの距離の和 := S とすると、S/2回のスワップは必ず必要 [2,3], [1,2], [1,3]  1 2    1 0    2 0    -> S = 6

Admissible Heuristics(2) ボールの任意のペア(2nC2個)に 注目 1回のスワップで5個のペアの 位置関係が変わる 直接スワップされたペアは位置関係が反転 それ以外は、反転状態から同位置になる 下の操作を単位コスト1とすると、上の操作は コスト2の操作に対応

Admissible Heuristics(2) (cont.) 一回のスワップで稼げる コストは6 現在の配置から最低限必要な コストを見積る T := 0 for 位置が異なる任意のボールペア (l, r): if l > r (順序が逆転している): T := T + 2 else if l == r (同じ): T := T + 1

Admissible Heuristics(3) admissibleなheuristics関数 h1(x), h2(x) -> h(x) := max(h1(x), h2(x)) も     admissible

Submission Status Submissions: 12 Teams Tried: 2 Accepts: 0