お気づきの点や感想要望などなんでもOK!
はじめまして。 一応プログラムの勉強をしているんですが(初心者です)、 プログラムをやる以上アルゴリズムの勉強は必要だというのを いろいろなところで見かけます。そして、こちらのページを見させていただいて ますますアルゴリズムに興味を持って勉強しがいなぁと思いました。 そこで、皆さんはまずどのような方法でアルゴリズムの勉強を始められたんでしょうか。 おすすめの勉強法や、書籍などがあったら教えてください。 お願いします。
こんばんは。YokoyaMacともうします。 こちらの掲示板でははじめましてです。 先日は、リンク集に加えていただき大変ありがとうございました。m(__)m このサイトの掲示板って、あらゆる話題について数学的、 アルゴリズム的なアプローチをしているんですね。 私のように、数学が好きで、そこからスタートしてパズルが好きになった人間としては、 ここに書き込みを見に来るたびにウホウホしながら見入ってしまいます。(^_^) 興味深かったのはナンプレN最小値の話題です。 N=17ですか。すごいですね。(^_^) 是非ともそれを解いてみたいものです。 それではまた。
塗り壁(高橋)さん、こんばんは。 行列の理論を応用するパズル問題を以前に見た記憶があります。 「ある正方形を大きさの異なる正方形に分割する」という問題。 一辺が325の正方形を25個の大きさの異なる正方形に分割 出来ることが発見されているそうです。 電気回路の理論に置換してさらにそれを行列の理論の置換して 次にプログラムを作成してそれを解くという極めて複雑な超難問 です。ただしグラフ理論的解法もあるとのこと。 数学をまじめに勉強しなかった私には全く理解できませんでした。 Cマガ電脳クラブにも、時々極めて数学的な高等理論を応用して 解答する達人がいます。自分の限界を知る瞬間でもあります。
昨日の投稿を見直してみたら、魔方陣やナンバープレースを 行列と見たりはしていないだろう、と言う勝手な思いこみが 入っていますね。 気分を悪くしたら申し訳ない。 あとそれから、新しい発見が有るだろうと書きましたが、 これは私にとっての新しい発見と言う意味で、世界は広いですから このアプローチで何らかの結果を出している人もどこかにはいるかも知れませんね。 その辺の情報が有れば是非知りたいと思っています。 実際、数学で一見行列と関係無さそうな分野に行列の理論が使われる事も そんなに珍しい話ではないし。
御無沙汰しております。リンクしてもらっています点と線の部屋の塗り壁です。 本題とずれますが、 高橋謙一郎さん、行列とは単に数字を縦横の2次元に並べたものです。従って、 魔方陣やナンバープレースも立派な行列です。(但し、後者の問題は空きマスを0などと適当に解釈する 必要が有りますが) 従って、上記のパズルに行列の理論(固有値計算や単因子計算、行列式計算等) を適用して新しい発見ができそうな気もします。 私は、他の事で手いっぱいなのでこちらの方面には手が回りませんが これらのパズルに興味のある方はやってみると面白いでしょう。 この方面をやってくれる人はいないでしょうか。
あらさん、どうもありがとうございます。 Matrix Methodの説明を拝見させていただきました。 しかし、う〜ん、恐ろしく難しいですね。 探索の手順はなんとか漠然と理解できましたが、何故 そうなるのかという原理がほとんど理解できていません。 行列とかベクトルとかの単語が出てくると頭がクラクラ してきますが、もう少しネバッてみます。
どうも、あらです。 totoのMatrix Methodの説明を書いてみました、読んでみて下さい。http://hp.vector.co.jp/authors/VA026826/tds/theory3.htm
あらさん、deepgreenさん、こんばんは。 うっかりしてました。「飛角金銀桂香歩が持ち駒に1枚ずつある」と いう条件は不要でした。最低1枚ずつあれば選択肢の数としては何枚 あっても同じなんですね。 それからdeepgreenさん。「成りの手」を忘れているようです。 先手の持ち駒による指手の数 飛、角、金、銀 :(81−10)*4=284 香、歩 :(72− 9)*2=126 桂 :(63− 4)*1= 59 小計 469 先手の盤上の駒による指手の数(不成り) 飛 : 16 玉 : 8 角 : 12 銀 : 5*3=15 香 : 7*3=21(最上段は禁止) 小計 72 先手の盤上の駒による指手の数(成り) 飛成 : 16 角成 : 12 銀成 : 5*3=15 香成 : 3*3= 9 小計 52 469+72+52=593 さて、やっと出発点に立てましたが......
あらさん、高橋さん、こんばんは。 deepgreenです。 あらさんの書き込みにあったHPを見て見ました。 ここで、最大分岐数593の局面の手数の数え方がよくわかりません。 [HPに紹介されていた最大分岐数593の局面] 飛・・・・・・・・ ・・玉・銀・銀銀王 ・・・・角・・・・ 後手持ち駒:金*3、桂*3、歩*17 ・・・・・・・・・ ・・・・・・・・・ ・・・・・・・・・ ・・・・・・・・・ 先手持ち駒:飛、角、金、銀、桂、香、歩 ・・・・・・・・・ ・香・香・香・・・ 単純に指手の数を数えると 先手の持ち駒による指手の数 飛、角、金、銀 :(81−10)*4=284 香、歩 :(72− 9)*2=126 桂 :(63− 4)*1= 59 小計 469 先手の盤上の駒による指手の数 飛 : 16 玉 : 8 角 : 12 銀 : 5*3=15 香 : 8*3=24 小計 75 469+75=544手となり、593には大幅にたりません。 他に何を考慮すればよいのでしょうか?
あらさん、こんばんは。 あらさんのTOTOの圧縮率がとても素晴らしくて追いつけませんでした。 「マトリックス法」なるものが全く理解できなくてストレスが溜まった かもしれません。 さて、あらさんから書き込みのあった「将棋の最大分岐数」の問題で すが、これはどう考えても「飛角金銀桂香歩が持ち駒に1枚ずつある」と いう条件付き問題でしょうかね。 この条件付きなら紙とエンピツで試した結果として、最大分岐数593 はなんとなくいい線かなと思ったのですが、あらさんが、いまいち納得が いかないというのは、どんな事なのでしょうか。 また、「ルール上許される」と「実戦上有りうる」というのも微妙に 異なるのでしょうね。出題の原文がほしいことろです。 # 将棋の駒の配置問題ですが、歩の数を19枚にしたら解は見つかりません # でした。制約の限界ギリギリという偶然にも良く出来た問題だったようです。 # マトリックス法の概要だけでもいいから教えていただけないかなぁ。(TOTO)