数独解答のプログラミング 元技術翻訳者の日記 忍者ブログ
近いうちPG/SEに戻ります
スポンサードリンク

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。


押してはいけないボタン↓ 
にほんブログ村 英語ブログ 英語 通訳・翻訳へ
にほんブログ村
◆ これまでの自分のプログラミング

趣味でプログラミングをやっています。使用言語はHSPです。(Cも打てますが。)去年くらいまでは、「cpu利用率表示」みたいな簡単なものを作っていました。なぜcpu利用率表示かというと、自分がほしいタイプのフリーソフトがなかったからです。とても気に入ったcpu利用率表示ソフト(ネットより入手)があったのですが、5年くらい前に 98→xp へ移行したら、NT系では動かないことが分かったのです。それで、そのちっちゃいウィンドウ風のソフトをまねして作ってしまいました。作ったソフトは今も改良を加えながら使っています。

◆ 数独との出会い

今年は、ひょんなことから数独を解答するソフトにチャレンジすることになりました。1月のある日、某新聞の土曜版に載せられていた数独をみて、数独というものを知りました。それまで自分は数独を知りませんでした。ルールを見ると、以外と簡単そうでした。が、やってみると時間がかかるの何のって、解き終えるまでに1時間以上かかりました。その時、「あ、これならパソコンを使えば高速で解けるじゃないか!」と思い立ち、私の頭は数独プログラミングモードになってしまいました。あとはもう止まりません、PCの前に座ってプログラミングせざるを得なくなるのです。(笑)

◆ プログラミング

自分の数独の解き方は消去法ですが、自分の解き方をそのままプログラミングすることにしました。以下は大まかな手順です。

 ① 問題を入力してもらう
 ② 各マスごとに、入る可能性がある数字をリストアップ
 ③ 全マスのリストを見て、入る可能性がある数字が
   1つしかないマスを選び、そこの数字を確定する
 ④ ②③をくり返して、すべてのマスの数字が確定したら
   解き終わり!

と書くと簡単そうですが、過去の自分の趣味でのプログラムの中では最長になってしまいました。早速、さっきの某新聞土曜版の問題でチャレンジしたら、解けるようになりました! やった!(^_^)v (多少の試行錯誤は経ましたよ、もちろん。)

◆ (続)プログラミング

上の問題は、難易度★★★☆☆でした。その後何週間も同じ難易度だったので、作ったソフトで解けていたのです。完成かなーと思っていました。 ところが! ある週、難易度★★★★★が出現! 今まで大丈夫だったから大丈夫だろう、といつも通りそのソフトに解かせてみたら、見事「GIVE UP」表示が出てしまったのです! がっかり。(T_T) 何がいけないのかと、また手作業で(一部ソフトの力を借りて)解いてみました。また1時間以上かかりました。結果、以下の問題点を発見。

 上の手順③は、入る可能性がある数字が 1つ
 のマスを探していた。しかし今回の数独問題は、
 いくら②③をくり返しても 1つ にならず 2つ
 で止まってしまうため、解き終わらない!
 
そこで、こういう対策を考えました。

 じゃ、 2つ に絞れたマスのどちらか一つを入れてみて、
 それから②③をくり返してみよう。

 それでうまくルール通り全部のマスが埋まれば正解!
 もしそれでダメだったらもう1つの選択肢を入れてみて、
 それが正解!

この対策の理論は手で説いたかぎり正しかったのです。が、この手順でプログラムを書いたものの失敗。何度見直して試行錯誤してもうまく行きません。最初に作ったプログラムのコメントの残し方が不十分だったため、2か月近く経っていたので、もう中身詳細をほとんど忘れてしまっていたからかもしれません。やっぱりコメントを残すのは大切ですね…。結局開発は断念しました。やるなら最初からですね。あーぁ。


◆ まとめ

やっぱり、自分しか見ないソースでもコメントは必要ですね。
コメントを残さないとどうなるかを改めて身をもって知って、いい経験になりました。

P.S. つい最近の、難易度★★★★☆の問題は、もとのソフトで解けました! やった!(^_^)v 
お気軽にコメントくださ~い!
PR

押してはいけないボタン↓ 
にほんブログ村 英語ブログ 英語 通訳・翻訳へ
にほんブログ村
≪  13  12  11  10  9  7  8  6  5  4  3  ≫
HOME
スポンサードリンク
Comment
この記事にコメントする
お名前:
URL:
メール:
文字色:  
タイトル:
コメント:
パス:
Trackback
この記事にトラックバックする:
≪  13  12  11  10  9  7  8  6  5  4  3  ≫
HOME
カレンダー

にほんブログ村 英語ブログ 通訳・翻訳へ
人気ブログランキングへ
翻訳ブログ人気ランキングヘ

Wellcome!! You are the
th
visitor!


05 2017/06 07
S M T W T F S
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30
★ 翻訳関係リンク ★
プライバシーポリシー
ブログ内検索
プロフィール
HN:
よしのり
性別:
男性
趣味:
プログラミング・スクーター・図書館へ行くこと・フリーソフト収集(?!)
他 いろいろ!
自己紹介:
残念ながら受けられなかったTOEICと工業英検2級はそのうちまた受けます。今は電気関係の仕事を頑張っています。
自己紹介代わりにこちらもどうぞ。 MUSIC TRACK よしのりのページ
最新コメント
[10/12 アクティブゲーミングメディア]
[06/10 sea]
[06/04 JapanStaff]
[08/18 たらちゃん]
[08/13 通りすがりの翻訳者]
最新トラックバック
パーツいろいろ


どちらが正しいのか!?
答え:Priceless!
な~んちゃって…
忍者ブログ [PR]