Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ノンプログラマのための ~アルゴリズムパズル プログラマのための数学パズル入門~

ねも
November 21, 2023
51

ノンプログラマのための ~アルゴリズムパズル プログラマのための数学パズル入門~

ねも

November 21, 2023
Tweet

Transcript

  1. 😀 どゆこと?? 例えばn = 4 で 5, 3, 7, 4と◻<◻>◻<◻が与えられたとすると、、、

    3 < 4 > 4 < 5, 4 < 7 > 3 < 5, 3 < 5 > 4 < 7, 4 < 5 > 3 < 7, は全て答えである
  2. 😀 もう少し実験してみる n = 4 で 5, 3, 7, 4と◻<◻<◻>◻が与えられたとすると、、、

    3 < 4 < 7 > 5, 4 < 3 < 7 > 5, が答え n = 5 で 5, 3, 7, 4, 2と◻<◻<◻<◻>◻が与えられたとすると、、、 2 < 3 < 4 < 7 > 5, 2 < 4 < 3 < 7 > 5, が答え
  3. 😀 もう少し実験してみる n = 4 で 5, 3, 7, 4と◻<◻<◻>◻が与えられたとすると、、、

    3 < 4 < 7 > 5, 4 < 3 < 7 > 5, が答え n = 5 で 5, 3, 7, 4, 2と◻<◻<◻<◻>◻が与えられたとすると、、、 2 < 3 < 4 < 7 > 5, 2 < 4 < 3 < 7 > 5, が答え
  4. 😀 なぜこうなるのか パターンA: n = 4 で 5, 3, 7,

    4と◻<◻<◻>◻が与えられたとすると、、、 パターンB: n = 5 で 5, 3, 7, 4, 2と◻<◻<◻<◻>◻が与えられたとすると、、、 パターンBの点線部分を隠すと2つは同じ問題!!
  5. 😀 この結果からわかること この問題は、 一番左の不等号が < であるときは左端の◻ < と与整数の最小値、 一番左の不等号が >

    であるときは左端の◻ > と与整数の最大値、 を取り除いた部分問題と同一視して考えることができる
  6. 💻 紹介されているアルゴリズム 大きいものを小さくする ◦ 縮小統治法 ◦ 分割統治法 小さなものを大きくしていく ◦ 貪欲アプローチ

    部分問題の解を再利用する ◦ 動的計画法 全部探す ◦ 全数探索 ◦ バックトラック あたりをつけてから考える ◦ 逐次改善法 言い換える ◦ 変換統治法
  7. 💻 紹介されているアルゴリズム 大きいものを小さくする ◦ 縮小統治法 ◦ 分割統治法 小さなものを大きくしていく ◦ 貪欲アプローチ

    部分問題の解を再利用する ◦ 動的計画法 全部探す ◦ 全数探索 ◦ バックトラック あたりをつけてから考える ◦ 逐次改善法 言い換える ◦ 変換統治法
  8. 😀 この本の読み方 1章: チュートリアル(30ページほど) 2章: クイズ集(初級50問、中級60問、上級40問) 3章: ヒント 4章: 解答解説

    のようになっている。サクッとチュートリアルを 読んだ後は、 暇な時にクイズを解く! 考えてもわからなかったらヒントを見る! それでもわからなかったら解説を読む! → 面白い!!