担当教員:蓮池 隆(はすいけ たかし) 連絡先:thasuike@waseda.jp 技術社会システム 第5回:縮小・分割統治法 担当教員:蓮池 隆(はすいけ たかし) 連絡先:thasuike@waseda.jp.

Slides:



Advertisements
Similar presentations
1 高速フーリエ変換 (fast Fourier transform). 2 高速フーリエ変換とは? – 簡単に言うとフーリエ変換を効率よく計算 する方法 – アルゴリズムの設計技法は分割統治法に基 づいている 今回の目的は? – 多項式の積を求める問題を取り上げ、高速 フーリエ変換のアルゴリズムを用いた解法.
Advertisements

論理回路 第 11 回
2 年 確率の導入 指導手順 身の回りの生活の中の確率の話をする。 10 円玉の表と裏を確認する。 本時の課題を提示する。 ( シート 4) 実験をする。 準備物 ワークシート、 10 円玉 ×2× 生徒数 結果をエクセルに入力 グラフから言えるこ とを発表する。 確率についてまとめる。 教科書の練習問題をする。
シミュレーション論Ⅰ 第 7 回 待ち行列のシミュレーション(2). 第 6 回のレポート(解答例) 乱数表より乱数を記入し、到着間隔・サービス時間にした がってグラフを作成する 例) 最大待ち人数:2人 最大待ち時間:5分 平均待ち時間:3分.
2行+αチョンプに関する考察 京都大学 ○後藤順一 伊藤大雄.
プログラムのパタン演習 解説.
数当てゲーム (「誤り訂正符号」に関連した話題)
アルゴリズムイントロダクション第2章 主にソートに関して
プログラミング入門 電卓番外編 ~エクセルで関数表示~.
第12回 ソート(3): シェルソート、クイックソート
プログラミング基礎I(再) 山元進.
近似アルゴリズム 第10章 終了時刻最小化スケジューリング
第11回 整列 ~ シェルソート,クイックソート ~
データ構造とアルゴリズム論 第6章 探索のアルゴリズム
ファーストイヤー・セミナーⅡ 第8回 データの入力.
配列(2) 第10回[平成15年6月26日(木)]:PN03-10.ppt 今日の内容 1 素数を求める(教科書の例):復習
演習00-0 “Hello,world![改行]”を表示するプログラムを作成せよ. 1 1.
最終回 総合演習 第13回目 [7月17日、H.15(‘03)] 本日のメニュー 1)総合演習課題 2)過去の試験問題 3)試験について
アルゴリズムイントロダクション第5章( ) 確率論的解析
C言語 配列 2016年 吉田研究室.
情報科学1(G1) 2016年度.
 Combinations(2)        古川 勇輔.
アルゴリズムとデータ構造 補足資料7-3 「単純選択ソートselsort.c」
第6章 2重ループ&配列 2重ループと配列をやります.
2013年度模擬アジア地区予選 Problem E: Putter
データ構造とアルゴリズム論 第2章 配列(構造)を使った処理
精密工学科プログラミング基礎 第9回資料 (12/11 実施)
第11回 整列 ~ シェルソート,クイックソート ~
法政大学 情報科学部 2008年度「離散数学」講義資料
情報処理1~第12回~ 野中良哲.
情報処理3 第5回目講義         担当 鶴貝 達政 11/8/2018.
思考力・表現力を高める 学習の流れ 本時のねらい 「数学的活動を通して思考力・表現力を高める」 ↓
岩村雅一 知能情報工学演習I 第11回(後半第5回) 岩村雅一
形式言語とオートマトン Formal Languages and Automata 第4日目
形式言語とオートマトン Formal Languages and Automata 第4日目
前回の練習問題.
 2 文字の式 1章 文字を使った式 §1 数量を文字で表すこと         (3時間).
栗原正純 UEC Tokyo 電気通信大学 電気通信学部 情報通信工学科 2009/4/15
アルゴリズムとデータ構造 第3章 ヒープ 6月10日分
25. Randomized Algorithms
アルゴリズムとプログラミング (Algorithms and Programming)
変換されても変換されない頑固ベクトル どうしたら頑固になれるか 頑固なベクトルは何に使える?
先進的計算基盤システムシンポジウム SACSIS2007併設企画 マルチコアプログラミングコンテスト 「Cellスピードチャレンジ2007」
精密工学科プログラミング基礎Ⅱ 第4回資料 今回の授業で習得してほしいこと: 文字列の扱い ファイル入出力の方法 コマンドライン引数の使い方
復習 一定回数を繰り返す反復処理の考え方 「ループ」と呼ぶ false i < 3 true i をループ変数あるいはカウンタと呼ぶ
プログラミングⅠ 平成31年1月7日 森田 彦.
1~15までの数字の中から、 1個の数字を選び、覚えて下さい。
アルゴリズムとデータ構造 --- 理論編 --- 山本 真基
シミュレーション論Ⅰ 第7回 シミュレーションの構築と実施.
データ構造とアルゴリズム (第5回) 静岡大学工学部 安藤和敏
12枚のコイン.
アルゴリズムとデータ構造 2012年7月2日
プログラミング入門 電卓を作ろう・パートI!!.
計算の理論 I ー正則表現とFAの等価性ー 月曜3校時 大月 美佳.
アルゴリズムとデータ構造 2011年6月28日
アルゴリズムとデータ構造 2013年7月2日
or-8. ゲーム理論 (オペレーションズリサーチを Excel で実習するシリーズ)
1~15までの数字の中から、 1個の数字を選び、覚えて下さい。
4.プッシュダウンオートマトンと 文脈自由文法の等価性
栗原正純 UEC Tokyo 電気通信大学 情報通信工学科 2007/5/2(修正2008/08/21)
~sumii/class/proenb2009/ml6/
ヒープソート.
確率と統計 確率編- 平成20年10月29日(木).
問2 次の問に答えよ. (ただし,握手補題,オイラーの定理,Oreの定理 は授業で紹介したものとする) (1) 握手補題を書け.
Q q 情報セキュリティ 第8回:2004年5月28日(金) の補足 q q.
レジュメの構成 1.はじめに ・このテーマにした理由 ・自分の問題意識 (例)難民選手団は毎回結成 すべきと考える 2.・・・・について
プログラミング入門2 第3回 条件分岐(2) 繰り返し文 篠埜 功.
知能情報工学演習I 第10回( C言語第4回) 課題の回答
アルゴリズム ~すべてのプログラムの基礎~.
ペンシルパズル「一本線」のヒント数の扱いに関する解析
Presentation transcript:

担当教員:蓮池 隆(はすいけ たかし) 連絡先:thasuike@waseda.jp 技術社会システム 第5回:縮小・分割統治法 担当教員:蓮池 隆(はすいけ たかし) 連絡先:thasuike@waseda.jp

前回の解答です 演習4-1 以下の盤面において,各タイルを一度づつ通過するように一筆書きすることはできるか.できるなら道筋を書き,できないならそれを証明せよ.

解答 演習4-1 交互に色をつけると,左は(青:24,灰色:21)となり,一筆書きでは青色と灰色が交互になるため,青色と灰色が同じ数か1つ違いになる必要がある.  →よって,左は一筆書きできない!

演習4-2’ n枚(nは偶数)のコインが表向きの状態で置かれており,以下の操作が可能とする. 操作を繰り返すことで,全てのコインを裏向きにできるか?不可能ならそれを証明し,可能なら最小で何回の操作で達成できるか?

解答 nが偶数の場合:可能 (∵)コインに1から n までの番号を付ける.コイン1からコインnに対して,順に操作を行えば全てのコインが裏になる.なぜならば,各コインは n-1回(奇数回)反転するためである. (前回の復習) nが奇数の場合:不可能 (∵)表を1, 裏を0とする.全て表の場合は総和が奇数であり,全て裏の場合は総和は偶数である.一度の操作で総和の偶奇(パリティ)は変化しないので,コインを全て裏返すことはできない.

演習4-3(詳細な解説です) 帽子の色当てゲーム 10人が1列に整列する. 全員に赤か白の帽子をランダムにかぶせる.このとき,各人は自分より前の全ての人の帽子の色が見え,後ろの人の帽子の色は見えない. 最後尾から最前列の人まで順番に,自分の帽子の色を“赤”か“白”と1回だけ発声する.このとき,前の人は 後ろの人の発声を聞くことができる. 後 前

演習4-3(詳細な解説です) 帽子の色当てゲーム 発声により自分の帽子の色を当てた人の合計を全体の得点とする. 整列後はお互いに相談できないものとする. (問題) 全員が協力すると,確実に取れる得点は最大で何点か? アルゴリズムも合わせて記しなさい. 後 前

解答のための準備 以下のように記号を用意し,どの情報を誰が使えるかを考察してみよう. 赤を1 ,白を0へ変換する. H(i) = i 番目の人の帽子の色 (= 0 or 1). P(i) = i 番目の人より前の人の帽子の色の総和に(mod 2)     を実行したもの = H(i+1) + H(i+2) + … + H(10) (mod 2) Q(i) = i 番目の人が発声した帽子の色 (= 0 or 1). 1 1 1 1 1 1 後 前

解答のための準備 以下のように記号を用意し,どの情報を誰が使えるかを考察してみよう. i 番目の人の目的:H(i) を知ること Q(1), … , Q(i-1), P(i), H(i+1), …, H(10) 1 1 1 1 1 1 後 前

解答 確実に9人は自分の帽子の色を当てることができる. ポイント:赤色の帽子をかぶった人が,奇数or偶数 アルゴリズム 1番目の人:Q(1) = P(1)        (赤色が奇数なら1,偶数なら0) i 番目の人(i ≧ 2):   Q(i) = Q(1) + Q(2) +… + Q(i-1) + P(i) (mod 2)  つまり,1番目の人が叫んだ結果から「2番目以降の人全体で,赤色の帽子が奇数個なのか偶数個なのか」がわかり,それ以降で「赤と答えた人の人数と自分より前の赤の人の人数の和が奇数か偶数か」で自分の帽子の色がわかる!

解答 確実に9人は自分の帽子の色を当てることができる. ポイント:赤色の帽子をかぶった人が,奇数or偶数 アルゴリズム 1番目の人:Q(1) = P(1)        (赤色が奇数なら1,偶数なら0) i 番目の人(i ≧ 2):   Q(i) = Q(1) + Q(2) +… + Q(i-1) + P(i) (mod 2) (実際に) Q(2)=Q(1)+P(2)=P(1)+P(2) =(H(2)+H(3)+…)+(H(3)+H(4)+…)=H(2)   (∵ n+n (mod 2)=0なので,H(i)+H(i) (mod 2)=0)

解答 確実に9人は自分の帽子の色を当てることができる. ポイント:赤色の帽子をかぶった人が,奇数or偶数 アルゴリズム 1番目の人:Q(1) = P(1)        (赤色が奇数なら1,偶数なら0) i 番目の人(i ≧ 2):   Q(i) = Q(1) + Q(2) +… + Q(i-1) + P(i) (mod 2) Q(3)=Q(1)+Q(2)+P(3)=(Q(1)+P(3))+H(2)    =(P(1)+P(3))+H(2)    =((H(2)+H(3)+…)+(H(4)+H(5)+…))+H(2)    =(H(2)+H(3))+H(2) = H(3), …(これが続く)

縮小・分割統治法 縮小統治法 分割統治法 ➡これらの考え方は幅広い問題に対して有効!

縮小統治法の例題 例題5-1(以前の演習1-2) 目的: 以下のトーナメント表(26人)で優勝者が決まるまでに合計対戦数を求める. 条件: 回数を一つづつ数えるという手順はNG 対戦数を求める手順と,その手順で対戦数が求まる理由を記述しなさい.

ここが縮小統治法! 例題5-1 参加者数nを入力したら,対戦回数としてn-1を返す. 先ほどのトーナメントでは参加者は26名なので,25回の対戦が生じる. 「優勝者が決まる」ことと「1名を除いて他の参加者が 全て負ける」ことは等しい. 1試合行うと,残っている人数は1人減る(縮小統治法). 繰り返すことで高々 n-1 試合で優勝者を決定することができる.

では縮小統治法の演習です 演習5-2 Aさんは 1 から 1,000,000 までの数字の中の一つを紙に書いて持っているとする. この数を「はい」か「いいえ」で答えられる質問を繰り返し質問していくことで当てる.  (例) 一の位は3ですか? (←ちなみにこれは非効率的)     1~100,000の間に入ってますか? 最悪の場合でも何回以下の質問数で答えを当てることができるか?  (ヒント:ある戦略にしたがい,範囲をうまく設定しながら聞いていけばよい(縮小統治法))

どの部分が縮小統治法? 演習5-3 大人10名,子供2名の集団が川の片側におり,一隻の船のみを用いて川を渡ろうとしています. 以下の条件の下で,船を何度使用すれば全員が川を渡れますか?ただし,一方の岸から他方の岸への移動をするごとに,船を一度使用したこととみなす. 条件:船は子供1名でも動かせる.また船に同時に乗れる人数は大人は1名まで,子供は2名まで.(大人が1名乗ると子供は乗れない)

これも有名な問題です 例題5-4 外見では区別できない27枚の硬貨がある. この中に1枚だけ,本物の硬貨よりも軽い偽造硬貨が含まれているとする. このとき,重りのない天秤を使って偽造硬貨を決定する方法を述べよ.また,最悪の場合でも何回以下の試行数で偽物を当てることができるか.

解答 例題5-4 STEP1: 硬貨を3つのグループに等分割する STEP2:グループIとグループIIを天秤に載せ,重さを比較 グループIIのほうが軽い → グループIIを残す グループIとグループIIが釣り合う → グループIIIを残す このとき,残されたグループ内に偽造硬貨が入っている  →候補の数が 1/3 になる(縮小統治法)

解答 9つになったコインを先ほどと同じように分割する! STEP1: 硬貨を3つのグループに等分割する STEP2:グループIとグループIIを天秤に載せ,重さを比較 STEP3: STEP2の結果はいずれかになる. グループIのほうが軽い → グループIを残す グループIIのほうが軽い → グループIIを残す グループIとグループIIが釣り合う → グループIIIを残す このとき,残されたグループ内に偽造硬貨が入っている  →候補の数が 1/3 になる(縮小統治法)

解答 3つになったコインを先ほどと同じように分割する! STEP1: 硬貨を3つのグループに等分割する STEP2:グループIとグループIIを天秤に載せ,重さを比較 STEP3: STEP2の結果はいずれかになる. グループIのほうが軽い → グループIを残す グループIIのほうが軽い → グループIIを残す グループIとグループIIが釣り合う → グループIIIを残す 残されたコインが偽物!→よって天秤の使用回数は3回!

少し問題を変形します 演習5-5 外見では区別できない27枚の硬貨がある. この中に1枚だけ,本物の硬貨よりも重さが異なる(重いか軽いかは不明)偽造硬貨が含まれているとする. このとき,重りのない天秤を使って偽造硬貨を決定する方法を述べよ.また,最悪の場合でも何回以下の試行数で偽物を当てることができるか.途中過程も記述せよ.