タグ

programmingとアルゴリズムに関するanatofuzのブックマーク (2)

  • 安定結婚問題を解きながらHaskellプログラミングを紹介しつつ恋愛について学ぶ - Qiita

    問題 n人の男性とn人の女性がいて,男性も女性もそれぞれ異性に対して明確な順序づけができる好みを持つとする. nは2以上の有限な自然数. 男性と女性がペアを作る問題を考えるが,このときに安定マッチング(不安定対がないようにマッチング)せよ. 安定マッチングというのは次の条件を満足するもの. そのマッチングを構成するあるペアとは異なるペアを組んだときに,新しいペアの2人がともに元のペアより好ましい相手を得る場合,もとのペアは安定ではない(不安定対).そのようなペアがないようなマッチングが安定マッチング. 不安定対というのは要は他に好き同士がいるので,今の相手との組(関係)は壊れやすいものだと思えばよさそう. Gale - Shapley のアルゴリズム この問題にはGale-Shapleyのアルゴリズムというのが知られている. Shapley先生というのは2012年にノーベル経済学賞を受賞さ

    安定結婚問題を解きながらHaskellプログラミングを紹介しつつ恋愛について学ぶ - Qiita
  • 動的計画法(ナップサック問題) - アルゴリズム講習会

    動的計画法とナップサック問題について解説します。 動的計画法とは 直接計算すると大きな時間がかかってしまう問題に対し、途中の計算結果をうまく再利用することで計算効率を上げる手法のこと。 「途中の計算結果を再利用」=「同じ計算をしない」ということ 難しいように見えて考え方自体は単純 ICPC国内予選でもC問題~F問題くらいに何かしらの形で2,3題ほどでます 英語では「Dynamic Programming」と呼び、略して「DP」と呼ぶことが多いです。 動的計画法で効率的に解ける問題の一つに、ナップサック問題というものがあります。 ナップサック問題は、価値と重さが決まっている複数の品物を容量が一定のナップサックに詰め込むとき、ナップサックに詰め込める品物の価値の和の最大値は何であるか? という問題です。 具体的には、以下の図のようになります。ナップサックに書かれている「15kg」が容量で、周囲

    動的計画法(ナップサック問題) - アルゴリズム講習会
  • 1