アプリ版:「スタンプのみでお礼する」機能のリリースについて

ハノイの塔について課題が出たのですが、言ってる意味自体解りません(TへT)
課題内容は以下のものなんですがぁ;;助けてくださぁ~い↓↓

(1)ハノイの塔の時間計算量が 2n - 1 になるのはなぜか.
また,1 枚の円盤を移すのに 2 秒かかるとする.
ハノイの塔で,30 枚の円盤を移すのに約何年かかるか求めよ.
ただし,1 年を 365 日とする.

(2)8 Queen で,しらみつぶし法によってあらゆる置き方を確認するのに何回かかるか求めよ.
また,8 Queen で,一行には一つの Queen しか置けないことを考慮した場合のあらゆる置き方を確認するのに何回かかるか求めよ.
いずれも,Queen を一個ずつ確認するのではなく,8 個の Queen の置き方一通りについて一回の確認とみなす.
求めた過程も説明すること.

A 回答 (4件)

質問者さんが、どこまで理解されているのか、そういう情報がないと回答できません。


Tower of Hanoi や Eight Queen Problem のルールは、よくご存知なのですよね。
簡単なパズルについてのアルゴリズム作成のご経験はあるのですよね。

ハノイの塔について「時間」を尋ねるのは、わざと問題を難しくしているだけであって、もともと時間は無関係で、「移動回数」を問うている問題です。
現位置Aからn-1個の盤を位置Bへ移すには、f(n-1)回かかりますよね。次に最後の盤を位置Cへ移すのに1回、Bから全部Cへ移すのにf(n-1)回、合計 f(n)=2f(n-1)+1だけかかります。証明には数学的帰納法を使ってください。

クイーン問題は、条件をしっかり定めないとできません。ひたすら愚直にあるがままをしらみつぶしにするなら8の8乗でしょう。考えようによっては「すでにある行が使われているのを見て吟味を省略する」なら8の階乗で済むと言えるかもしれません。しかし、ある行が使われているかどうかを吟味するのだって0秒ではできません。したがって「何をもって“1回しらべた”と数えるのか」出題者と回答者の間に了解がないと正確には答えられないことになります。

また「置き方1とおりについて1回の確認とみなす」というのであれば「アルゴリズムの問題」とはまったく無関係な話となり「解がいくつ存在するか」という単なる数学の問題になると思います。
    • good
    • 0

言っている意味:



(1) n枚の板からなるハノイの塔の解は、板の移動が (2^n)-1 回であることを示せ。
  また、2 秒の (2^30)-1 倍は、何年か。

(2) チェス盤の各行に一個づつの Queen を置く。置き方は、何通りあるか。
  それぞれの置き方が 8 Queenn 問題の解であるかを調べようというのだが、
  どう調べるかは、この問題とは別の話。

ハノイの塔は、
無駄な手を打たないために、同じ板を 2 手続けて動かさない…と決めるだけで、
第 2 手移後は、自動的に手が決まる。それを (2^n)-1 手行うと、n 枚の板が
初めとは別の一本の柱に集まる。
    • good
    • 0

ハノイの塔の方だけ



(1)「何回の操作でできるか」
(2)「その回数でやるのにはどうすればいいか」

このゲームの難しさは(2)の方にあります。(1)は簡単です。

硬貨を使ってでもやってみられたらいいと思います。
500円、100円、50円、10円、5円、1円
と6種類あります。やってみるにはいい数です。

[n]をn個の塊とします。nをn番目の硬貨とします。


[n]                      [n]
--------------------- を --------------------
A     B     C       A     B     C

に移すのに必要な操作の回数をN(n)とします。
N(n+1)=2N(n)+1
になります。

[n]                       [n]
n+1                 n+1              
--------------------- →  --------------------
A     B     C        A     B     C


      [n]                        [n]
            n+1                 n+1
→ -------------------- → --------------------
  A     B     C        A     B     C

N(1)=1ですから
N(2)=3、N(3)=7、・・・、N(n)=2^n-1、・・・
がすぐに分かります。

N(6)=63ですからやってみてください。
N(5)=31でも難しいです。
どういう手順でやればこんがらがらずにこの回数でやることができるかは別のルールが必要です。
それがアルゴリズムです。
    • good
    • 0

ハノイの塔、8Queen問題とも、アルゴリズムや計算量の分野で非常に有名な問題です。



従って、図書館、ネットにいくらでも資料は転がっています。調べることに困る課題では有りません。

問題の意味自体分からない、ということは講義を全く聴いていないか理解していないかですね。
そのような人は素直に落第してください。したくないなら相応の努力をしましょう。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!