- ベストアンサー
一般的な解法を用いないで魔法陣を解く、実用的なアルゴリズムは?
このカテゴリーでいいのでしょうか。 魔法陣の作り方は、教えて!gooでも解説があります。一般的な解法があるようですが、そういった解法を使わないで、魔法陣をつくるアルゴリズムは、どのようにしたらいいでしょうか。 全ての場合をしらみつぶしに調べていくという方法では、nxnの魔法陣では、(nxn)!通りに比例する程度のステップを繰り返すことが必要になりそうで、nが少し大きくなると、実用の範囲内の時間でみつけるのは難しそうです。 一般的な解法を用いないで魔法陣を解く、実用的なアルゴリズムを教えてください。
- wildcat888
- お礼率56% (45/79)
- その他(プログラミング・開発)
- 回答数2
- ありがとう数1
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
えーと、5×5のような奇数の場合にだけ使える方法です。 文字だけで説明するのはちょっと難しいですが、5×5であるとして はじめに5×5の枠(図の■)をかきます。その外に下の図のように枠を足します。(図のB。なお□は図をそろえる為のものです) □□□□B □□□BBB □□■■■■■ □B■■■■■B BB■■■■■BB □B■■■■■B □□■■■■■ □□□BBB □□□□B そこへ一番上の頂点から斜めに数字を1から書くのですが、 □□□□1 □□□2□6 □□3■7■11 □4■8■12■16 5□9■13■17□21 □10■14A18■22 □□15■19■23 □□□20□24 □□□□25 もとの5×5の枠からはみ出ている数字を反対側の■に書き込みます。 つまり、上の図で1はAに入れるというようにします。そうすると 3,20,7,24,11 16,8,25,12,4 9,21,13,5,17 22,14,1,18,10 15,2,19,6,23 という魔法陣が完成して、縦・横・斜めどこも和は65となります。 文字で書くと難しいかも知れませんが、紙に書くとすぐ判ります。 こんな方法でよろしいかと思うのですが。
その他の回答 (1)
単純に計算すると、4×4 の時ですら、(4^2)! = 20,922,789,888,000 ですから、この時点で実用的でないですよね。最初の一行のうちの3つの数字の和が 18 未満のものと 34 以上になるものを省き、1つ足して、最初の一行の和が 34 にならないものを省き・・・と繰り返していけば、ずいぶん減って実用の範囲内に収まるかもしれません。 それでも 5×5 は無理っぽいです。 何か方法があるとすれば、囲碁のAIなども人間を遙かに超えているだろうから、無いと考えるのが無難なのじゃないかと思います。
関連するQ&A
- この数列の一般項の求め方
2^2,4^2,6^2,8^2,・・・・ 簡単な数列なのですが、一般項の求め方で悩んでいます。 しらみつぶしではない解法です。 答えはan=(2n)^2です。 等比数列だからar^n-1=anに当てはめるのでしょうか?
- ベストアンサー
- 数学・算数
- 技術書籍にあるアルゴリズムで特許侵害になり得ますか
学術論文ではなく、一般の本屋さんで売られている技術書籍にて解説されているアルゴリズムを使用して特許侵害になることは一般にあるのでしょうか。 下記の書籍の著者は電機メーカN社の研究者のようですが、 書籍で記載されているアルゴリズムについて調べてみると特許が出されているようないないような、よくわからない感じです。 しかしながら、一般書籍に解説されているアルゴリズムを使って特許侵害になってしまったら罠もいいところです。そういうことはあり得るのでしょうか。 https://www.amazon.co.jp/データマイニングによる異常検知-山西-健司/dp/4320018826 よろしくお願いいたします。
- ベストアンサー
- 法務・知的財産・特許
- アルゴリズムによる整列方法について
以下の問題を授業外課題として出されましたがわかりません。身近に分かる人物もいません。 先生も答えてくれません。 解答お待ちしております。 1.以下の文章の空欄を埋めよ.但し,((14)),((15)) については,選択肢から最も適切なものを選び,記号で答えよ.加えて,解答の過程を詳しく述べよ。 高速な整列として以下のアルゴリズムによる方法を考える.以下では,整数データを昇順に配列するも のとする. 前段階として,データを半々に二つのグループ I と II に分割し,それぞれを独立に整列する. while (両グループに要素が残っている) do if (グループ I の最小要素 < グループ II の最小要素) then グループ I の最小要素を出力場所に移し,グループ I からは削除する else グループ II の最小要素を出力場所に移し,グループ II からは削除する endif done while (グループ I に要素が残っている) do グループ I の要素を出力場所に移し,グループ I からは削除する done while (グループ II に要素が残っている) do グループ II の要素を出力場所に移し,グループ II からは削除する done この整列に要する計算量 T(n) を求める.但し,n は整列するデータの量である.前段階の整列では,半分のデータ量の整列を 2 回行うので ((1)) だけの計算を要する.次に,3 個の while 反復のいずれについても, 「反復を 1 回行うごとに要素が一つだけ出力場所に移動する」 ことから,3 個を合計すると反復の中身は正確に ((2)) 回実行されることが分かる.1 回の実行に a だけの時間がかかるものとすれば,全体で ((3)) となる.従って次の関係式が成り立つ. T(n) = ((4)) 簡単のため,n = 2^p であるとすると, T(n) = ((5))×T(2^((6)) ) + ((7)) = ((8)) × T(2^((9)) ) + 2 × ((7)) ・ ・ ・ = ((10)) × T(2^0) + ((11)) T(2^0) = ((12)) なので,T(n) を a と n のみを用いて表すと, T(n) = ((13)) であり,これは, ((14)) に比例し,計算量のオーダーは ((15)) といえる. ((14)),((15)) の選択肢 a. n b. n^2 c. 2^n d. n log n e. log n f. いわゆる「指数オーダー」であり,アルゴリズムとして全く実用に耐えない g. いわゆる「バカソート」と同じであり,n がごく小さい場合を除いて実用には適さない h. 経験上最速とされるソート法には及ばないが,それほど大きくない n に対しては実用に耐える i. 経験上最速とされるソート法と同じであり,十分大きい n に対しても実用に耐える
- 締切済み
- 数学・算数
- 魔法陣グルグルについて
古いアニメについてで申し訳ないのですが、 魔法陣グルグルのアニメは打ち切りだったのでしょうか? 調べてみると打ち切りだとも打ち切りでないとも書かれていたので質問させていただきました。 ドキドキ伝説でない方です。 よろしくお願いします。
- ベストアンサー
- アニメ・声優
- 魔法陣でしたっけ??
よく覚えてないんですが、たしか魔法陣って言うと思ったのですが、縦・横・ななめ、どの列を足しても答えが同じになるものなんですけど?? たしか、法則のような解き方を友人から教えてもらったのですが忘れてしまったんで簡単な解き方教えていたでけませんか?(何列・何行あっても・・・)
- ベストアンサー
- 数学・算数
- 不可解な魔法陣について
http://sougaku.com/loto6/yosou.htm 上記のページの一番下に魔法陣を作成するプログラムがあります。 普通の魔法陣は1からの連番で作成されていますが、このプログラムでは連番でなくても魔法陣を作成してしまいます。 いったいどのような理論(?)で、このような魔法陣を作成することができるのでしょうか? いろいろと調べてみましたが、連番以外で魔法陣を作成する方法は分かりませんでした。 理論がわかれば、なんとかエクセルで実現させようと思っています。 (エクセルでは不可能かな。。。) どなたかこのような魔法陣の作成方法を御存知の方は、アドバイスをお願いします。
- ベストアンサー
- 数学・算数
- 魔法陣
数学のではありません。 魔学的な魔法陣についてです。 アニメやゲームでは ・召喚獣を呼ぶもの ・悪魔と契約するもの ・神に祈るときに使うもの ・儀式(生贄とか) 等がありますが、 どれが正しいんですか?
- 締切済み
- その他(趣味・娯楽・エンターテイメント)