検索結果 418 件

by たいちう
8年前
フォーラム: C言語何でも質問掲示板
トピック: ループネストの簡略化
返信数: 1
閲覧数: 1483

Re: ループネストの簡略化

> 上の例ですと3重程度ですから直接書いても大した問題ではありませんが、
> さらに重なると書くのも大変ですし、ミスも増えてきます。

この程度ならば十分簡潔だと思います。
さらに重なる場合、例えば10段階にネストするような場合でも、
下手な小細工をするよりも簡潔だとは思いますが、
そもそも処理的にどうなのよと思い、アルゴリズムを見直します。

どうしても多重の深いネストが必要な場合は再帰関数を使うでしょう。
実際に何をやりたいのか具体的でないと、これ以上のアドバイスは難しいです。
by たいちう
8年前
フォーラム: C言語何でも質問掲示板
トピック: 垂線による座標判別について質問です。
返信数: 3
閲覧数: 2292

Re: 垂線による座標判別について質問です。

> 説明が中々上手くできなくて申し訳ないです…

画像を見ても何を言っているのか全く分かりません。
何とか説明してもらわないと協力しようがないのでは?
by たいちう
8年前
フォーラム: C言語何でも質問掲示板
トピック: 遺伝的アルゴリズムについて
返信数: 48
閲覧数: 15660

Re: 遺伝的アルゴリズムについて

忙しく日が経ってしまい、読んでもらえないかもしれませんし、 読んでもらえたとしても、くっちゃべーさんにどれほど理解していただけるか判りませんが、 やり残した気がするので一応書きます。 遺伝的アルゴリズムでよくある失敗は、そこそこ成績の良い解に収束してしまい、 最適解を見つけられない事です。 この種のアルゴリズムの宿命のようなもので、決定的な解決方法を私は知りませんし、 多分存在しないと思います。 そこそこ成績の良い解を少々変更しても、成績が下がるだけで、すぐに淘汰されてしまいます。 普通の突然変異がうまく重なって、元の解よりも成績の良い解が得られる確率は非常に小さいでしょう。 TSPを日本の都...
by たいちう
8年前
フォーラム: C言語何でも質問掲示板
トピック: 遺伝的アルゴリズムについて
返信数: 48
閲覧数: 15660

Re: 遺伝的アルゴリズムについて

改善されたとのことで何よりです。

何故、反転が有効なのか全くわからないのならば、
問題の性質やアルゴリズムの特徴を全く理解していないのだと思います。
交叉が何故役に立たない(と私が思っている)のかも、判らないのでしょう。

質問掲示板なので質問は歓迎なのですが、自分で考えることを放棄していませんか?
プログラムが完成したのならば、当然ある程度は考えているとは思いますが、
次は自分が何を作ったのか、考えてみてください。

出し惜しみしたいわけではないですが、回答は数日待ってください。
私としては自明なことなので、どのように説明したら判りやすいか、
(酔って帰った今は)思いつきません。
by たいちう
8年前
フォーラム: C言語何でも質問掲示板
トピック: 遺伝的アルゴリズムについて
返信数: 48
閲覧数: 15660

Re: 遺伝的アルゴリズムについて

> 見た目です。怪しいものはのぞいたとしても、明らかに無駄な通り方をしているものが多いです。 どのように「明らか」なのか、具体的に説明できますか? 日本語で正確に説明できるなら、コーディングにすることも難しくないかもしれません。 日本語で説明できないなら、コーディングなんて不可能です。 コーディングできるなら、終了条件に使えますね。 交叉についてですが、TSPには有効でない操作だと私は考えています。 TSPの性質上役に立つはずがないと考えていますし、 実際プログラムに取り入れても改良されませんでした。 この点については、くっちゃべーさんは今回逆の結論を持っているかもしれませんが、 失礼ながら、...
by たいちう
8年前
フォーラム: C言語何でも質問掲示板
トピック: 遺伝的アルゴリズムについて
返信数: 48
閲覧数: 15660

Re: 遺伝的アルゴリズムについて

最短経路を求められるアルゴリズムではないと書きましたが。
何がご不満なのですか?

ちなみに最短経路を得られていないことは、どのように確認しているのですか?
by たいちう
8年前
フォーラム: C言語何でも質問掲示板
トピック: あったかいCCレモンについて
返信数: 3
閲覧数: 2084

Re: あったかいCCレモンについて

普通じゃないです。それを買ってみるのが普通じゃないです。
でも私も買ってしまいそうだけど、その場で開栓する勇気はないかな。屋外だとしても。
by たいちう
8年前
フォーラム: C言語何でも質問掲示板
トピック: 遺伝的アルゴリズムについて
返信数: 48
閲覧数: 15660

Re: 遺伝的アルゴリズムについて

仮に、くっちゃべーさんの作ったプログラムを私が作ったら、倍の速さで動くとします。 あるいは、くっちゃべーさんがPCを買い替えたら、 同じプログラムが5倍の速さで動くようになるかもしれません。 「一般的に何分か?」という質問に意味がないことが判るでしょう。 では、どうしたらいいでしょうか。 既にプログラムが完成しているとします。 1分後、3分後、5分後、10分後、30分後、、、などの成績を見てください。 何回も試して、傾向や平均を調べてください。 もし100回試した結果、5分後と比較して10分後の成績がよくなるケースが10回だった場合、 5分の時点で打ち切るべきでしょうか? 100回中1回でも成...
by たいちう
8年前
フォーラム: C言語何でも質問掲示板
トピック: 遺伝的アルゴリズムについて
返信数: 48
閲覧数: 15660

Re: 遺伝的アルゴリズムについて

やはり、自分が何をしているのか、よく判っていなかったのですね。 くっちゃべーさんの取り組んでいる問題、「巡回セールスマン問題」は、 「NP困難」と言われる難しさの問題です。 都市数が5の場合、あり得る経路の数は5!=120通りしかなく、 120通りを全て試して最短経路を見つけるプログラムは簡単に作れるでしょう。 都市数が10の場合でも、経路の数は10!=3628800通りであり、 都市数5と同じ総当たりのプログラムで最短経路を見つけることができます。 今どきのPCなら、殆ど瞬時に見つけられるでしょう。 都市数が20になると、経路の数は20!=2432902008176640000通りであり、 ...
by たいちう
8年前
フォーラム: C言語何でも質問掲示板
トピック: 遺伝的アルゴリズムについて
返信数: 48
閲覧数: 15660

Re: 遺伝的アルゴリズムについて

やはり根本的に誤解しています。
遺伝的アルゴリズムで最短経路が得られる保証はありません。

私が書いた「理論的最適解」と「準最適解」という言葉について考えてみてください。
by たいちう
8年前
フォーラム: C言語何でも質問掲示板
トピック: 遺伝的アルゴリズムについて
返信数: 48
閲覧数: 15660

Re: 遺伝的アルゴリズムについて

> 20都市もおそらく時間さえかければ解けると思いますが、 > それでは遺伝的アルゴリズムの意味がありませんので、20都市も1分ほどで解けるようにしたいです。 > 上のコード、さきほどのコード(全体のプログラム)を元に > なにが問題なのかあるいはなにを追加すべき教えて欲しいです。 「解ける」とはどういうことを指していますか? 既に次のように書いています。何か誤解していませんか? ↓ > 遺伝的アルゴリズムに明確な終わりはありません。 > 準最適解を得るためのアルゴリズムなので、 > 時間をかけても最適解が得られる保証はありません。 > >> ちなみに、以前のバージョンで交叉ありの方が成績が良...
by たいちう
8年前
フォーラム: C言語何でも質問掲示板
トピック: 遺伝的アルゴリズムについて
返信数: 48
閲覧数: 15660

Re: 遺伝的アルゴリズムについて

> 交叉なし・10都市なら1分ほどと言いますが、なぜそう言い切れるのかわかりません。 > 「突然変異しか遺伝子の中身を変化させることはできず、 > 突然変異ではどれを変化させるかはランダムになっている」 > これだと何分かかるかはそのときの運によりませんか? > 1分終わるときもあれば数分、数十分もしかすると数時間かかってもおかしくないと思うのですが・・・ > 1世代に1度でも確率として少なすぎるのでしょうか? 遺伝的アルゴリズムに明確な終わりはありません。 準最適解を得るためのアルゴリズムなので、 時間をかけても最適解が得られる保証はありません。 都市数が増えると爆発的に探索空間が広がるので...
by たいちう
8年前
フォーラム: C言語何でも質問掲示板
トピック: 遺伝的アルゴリズムについて
返信数: 48
閲覧数: 15660

Re: 遺伝的アルゴリズムについて

> 動かすためにゲームエンジンUnityを使用しますが、 > いかがいたしましょう? そのためにC#になったのですね。 > setTotalDistanceとshowRouteの中身についても > Unityの機能を大量に使っています。 showRouteはともかく、setTotalDistanceにはこのライブラリの機能は不要と思いますが。 遺伝的アルゴリズムの部分と、その結果を表示する部分がうまく分かれていないのでしょうか。 ゲームエンジンUnityは、私は触ったことはありません。 特に興味もなく、今後も触る予定はありません。 No.28について言えることは、メソッド名と実際の処理が一致し...
by たいちう
8年前
フォーラム: C言語何でも質問掲示板
トピック: 遺伝的アルゴリズムについて
返信数: 48
閲覧数: 15660

Re: 遺伝的アルゴリズムについて

> 自分がきちんと説明できているか不安になってきました。
> また、説明通りにコードが書けているとは思えなくなってきました。
> なのでソースコードを載せます。

不十分です。
これらの関数をどのように呼び出しているかが欠けています。


> また、setTotalDistanceとshowRouteの中身についてはライブラリ?の関数を大量に使っていましたので
> コメント通り問題なく処理できているものだとしてください。

ごちゃごちゃしている部分程、バグがあるものです。
この辺りも省略せずに、動かせるソースを載せてください。
必要ならばデータも。
by たいちう
8年前
フォーラム: C言語何でも質問掲示板
トピック: 遺伝的アルゴリズムについて
返信数: 48
閲覧数: 15660

Re: 遺伝的アルゴリズムについて

> ただ、突然変異のタイミングが気になります。 > その点について指摘お願いします。また、その他の気になる点についてご指摘ください。 何が気になるのか具体的に書いてください。 指摘のしようがありません。 その他については、現在の成績が気になります。 例えば5分かかって、理論的最適解に到達できていないとしても、 その時の距離が、理論的最適解と比較して数%長いだけなのか、 数倍もかかるのかでは、状況が全く違います。 > 1.すべての個体を評価 > 2.評価した結果に基づき、評価の高かった順に個体をソート > 3.すべての個体からルーレット方式にて2個体を親として選出。そのまま残して子1と子2とする...
by たいちう
8年前
フォーラム: C言語何でも質問掲示板
トピック: [雑談] フォーラムルールの変更(掲示板の基本方針変更)について
返信数: 23
閲覧数: 13105

Re: [雑談] フォーラムルールの変更(掲示板の基本方針変更)について

容認すると、丸投げ率が高まるでしょう。
回答をもらえて当然と考える質問者が増えれば、
むしろ殺伐とするのではないでしょうか。
by たいちう
8年前
フォーラム: C言語何でも質問掲示板
トピック: 遺伝的アルゴリズムについて
返信数: 48
閲覧数: 15660

Re: 遺伝的アルゴリズムについて

> ・親となったデータには突然変異が起こらないようになっているがこの処理は適切か。 生物学の進化を考えると、一番優秀な個体がたまたま子孫を残せないことは当然あるので、 全遺伝子に突然変異が起こりうる方が「自然」です。 ですがアルゴリズム的には、折角得られた暫定的な最適解が失われてしまうのは避けたいところです。 もしかしたら2度と見つからないかもしれませんので。 処理が適切かどうかは、くっちゃべーさんがどのような処理をしているか、 文章だけでは伝わってこないので判断できません。 例えば10個体だとして、、、 1.全個体(親世代)を評価する。 2.上位2個体をコピーして子1と子2とする。 3.適当...
by たいちう
8年前
フォーラム: C言語何でも質問掲示板
トピック: 遺伝的アルゴリズムについて
返信数: 48
閲覧数: 15660

Re: 遺伝的アルゴリズムについて

大前提として、今は交叉なしの実装の話です。 順序表現の説明のため、将来実装する交叉を引き合いに出してしまった私の落ち度です。 混乱させて申し訳ありません。 > 実際には「平均すると100世代に1回、1つの遺伝子に突然変異が起こる」となっております。 > 1%では低すぎますか? 99世代の間は選択しか行わないことになります。 無駄なだけではなく、その間に遺伝子群の多様性が失われてしまいます。 ちなみに、生物学的な遺伝の知識が乏しいならば、 これを機に軽く勉強することをお勧めします。 多様性が失われることがアルゴリズム的にどういう意味を持つのか理解できると思います。 > これは一様交叉であることが...
by たいちう
8年前
フォーラム: C言語何でも質問掲示板
トピック: 遺伝的アルゴリズムについて
返信数: 48
閲覧数: 15660

Re: 遺伝的アルゴリズムについて

答えやすい方から書きます。 > しかし、総距離の短い2ルートは突然変異しないようになっています。 > 最短の記録消えるなどということは(上の条件で)起こりうることなのでしょうか? > それとも私のプログラムのバグでしょうか? 当然バグです。 デバッグしましょう。 > ここまでを1% の確率で行うようになっています その説明ではまだ曖昧ですので、確認させてください。 以下のどれをさしているのでしょうか。 A) 平均すると、100世代に一回突然変異が起こる。 B) 平均すると、10世代に一回突然変異が起こる。(10遺伝子×10世代に一回) C) 平均すると、12.5世代に一回突然変異が起こる。(8...
by たいちう
8年前
フォーラム: C言語何でも質問掲示板
トピック: 遺伝的アルゴリズムについて
返信数: 48
閲覧数: 15660

Re: 遺伝的アルゴリズムについて

> これは遺伝的アルゴリズムがうまくいっていると言えるのでしょうか? 言えないでしょう。 前も書きましたが、交叉がなくても機能するはずです。 交叉で性能が改善されることはありますが、 交叉なしでの性能が悪すぎるという事は、交叉以外の部分にバグがあるのでしょう。 都市数が少ないときはPCのスペックでごまかせても、 都市数が増えると爆発的に探索空間が広がるので、 ごまかしが効かなくなっているのではないでしょうか。 私の予想では深刻なバグがあるので、これから先はバグを潰す作業が最優先ですが、 自分の能力以上のプログラムに取り組んでいる人には難しい作業です。 必ずしも推奨される方法ではないですが、一番...
by たいちう
8年前
フォーラム: C言語何でも質問掲示板
トピック: 遺伝的アルゴリズムについて
返信数: 48
閲覧数: 15660

Re: 遺伝的アルゴリズムについて

> 3都市,5都市において交叉なしで解が収束しました。 > ただ、すべてのデータで都市の回り方が同じではなく > 1番良いデータにおいて解が収束しましたが、これでいいわけでよね? > 次のステップとしては何をすべきでしょうか? 「解が収束」が何を指しているのか判りません。 机上での予想通りの最短経路が得られたということですか? そうであれば最低限の部分はできていることになります。 そうでないならデバッグしてください。 次は都市数10です。 もし毎回乱数で都市の座標を決めているなら、 デバッグをやりやすくするために、毎回同じ座標の組を使ってください。 その10都市について、本当の最短経路を総当た...
by たいちう
8年前
フォーラム: C言語何でも質問掲示板
トピック: 遺伝的アルゴリズムについて
返信数: 48
閲覧数: 15660

Re: 遺伝的アルゴリズムについて

> とするととてつもない時間がかかりますし、何より総距離はなかなか減っていかないと思います。 > それでも実行して放っていけばよいのでしょうか? 突然変異の発生率を上げてもよいのですが、 10都市でとてつもない時間がかかるならば、 プログラムが正しく作れていない可能性もあります。 例えば、5都市でプログラムを作ってみてはいかがですか。 あるいは3都市とか。必ず最短経路が得られますか? > また、終了条件としてはすべてのデータで都市の回り方が同じになったらとなっていますがこれでいいですか? これはナンセンス。遺伝子の多様性を放棄しています。 最終的な解はトップだけ取り出せばいいのです。 ただ、一...
by たいちう
8年前
フォーラム: C言語何でも質問掲示板
トピック: 遺伝的アルゴリズムについて
返信数: 48
閲覧数: 15660

Re: 遺伝的アルゴリズムについて

> このように変わる突然変異をしております。
> 確認が取れたところで以下の(3)ですが、
> 10都市に変えて何をすべきなのでしょうか?交叉はまだ切り離していますよね?

交叉なしで解決してないのですよね?
それならば原因を突き止めて解決するだけですが。

何を困っているのか状況が判りません。
もう少し説明をしてもらえないと、アドバイスのしようがありません。
by たいちう
8年前
フォーラム: C言語何でも質問掲示板
トピック: 遺伝的アルゴリズムについて
返信数: 48
閲覧数: 15660

Re: 遺伝的アルゴリズムについて

> (2)に従いましたが、質問です。このとき交叉は完全に切り離しているので > 総距離が変わる。すなわち都市の通る順番が変わるためには突然変異しかありませんよね? > これだと総距離が減っていくとは言えないと思うのですが、減っていくような突然変異ってあるのでしょうか? > というよりそれは突然変異なのか?って思ってしまって質問しました。 > おそらく、私の解釈がおかしいのだと思います。 都市の訪問順について、 ABCDE... ↓ BACDE... のように変わることを突然変異と言っています。 私が勝手に言っているのではなく、一般的な表現と思ってください。 このときに、総距離が増えるときもあれ...
by たいちう
8年前
フォーラム: C言語何でも質問掲示板
トピック: 遺伝的アルゴリズムについて
返信数: 48
閲覧数: 15660

Re: 遺伝的アルゴリズムについて

「ひっすー」さん == 「くっちゃべー」さんでしょうか。 名前を統一してください。フォーラムルールも確認してください。 > やっぱり交叉以外の部分が問題のようですね。 うまくいっていない ↓ 交叉を変更 ↓ やはりうまくいっていない この状況のみから言えることは、あまりありません。 交叉の変更前と変更後のそれぞれに問題があるかもしれないし、 交叉以外の部分に問題があるかもしれないし、 交叉と交叉以外の両方に問題があるかもしれません。 > 以下のように回答されましたが、どうすればこのことが確認できるのでしょうか? > 突然変異の確率を上げてデータすべての通る都市の順番が同じになるまで待つとかでし...
by たいちう
8年前
フォーラム: C言語何でも質問掲示板
トピック: C/C++ 実行速度
返信数: 5
閲覧数: 4845

Re: C/C++ 実行速度

> また、最適化を行わないで、java以上の速度を望めるのかです。 ここで言う最適化は、何を指しているのでしょうか? プログラマが色々工夫した結果でしょうか? コンパイラが最適化した結果でしょうか? 例として挙げているコードでは、演算した結果を使っていません。 最近のコンパイラが本気で最適化したら、forループを実行しないのではないですか? 実行結果が20秒もかかっていることから、デバッグモードでビルド・実行したのではないかと思いますが、 コンパイルオプションなど、ビルドの設定を教えてください。 速さを求めるならば、コンパイラに最適化させないで他の言語と比較しても意味がないと思います。 意味が...
by たいちう
8年前
フォーラム: C言語何でも質問掲示板
トピック: 遺伝的アルゴリズムについて
返信数: 48
閲覧数: 15660

Re: 遺伝的アルゴリズムについて

交叉についてまずい所もありますが、それ以前の問題のような気がします。
遺伝的アルゴリズムは、突然変異と評価と選択さえ機能すれば、解が収束するはずです。
一旦、これらの機能のみを正しく作り、完成後に交叉を実装してはどうでしょうか。

おそらく交叉なしでも、うまく動いてないのだと思いますが、
適当な指摘のためには、ソース全体を載せてください。必要ならば都市のデータも。
by たいちう
9年前
フォーラム: C言語何でも質問掲示板
トピック: C++におけるdelete hoge と delete[] hogeの使い分けについて
返信数: 10
閲覧数: 19675

Re: C++におけるdelete hoge と delete[] hogeの使い分けについて

> 気になったのはこっちです

deleteしなくてはならない配列の要素数が判らなくて困ります。

配列でも配列じゃなくても、常にdelete[](あるいは常にdelete)するような設計も可能だったかもしれませんが、
C++ではそのような文法は採用されませんでした。

# 不採用の理由は、時代的にコンパイラの実装が面倒になるからかな?
# あるいは、プログラマに自由と責任を与えるC言語の方針の踏襲かも。
by たいちう
9年前
フォーラム: C言語何でも質問掲示板
トピック: Hello worldよりもっと前の議論
返信数: 30
閲覧数: 36866

Re: Hello worldよりもっと前の議論

> windowsapiって本当何でもできますね。恐れ入ります。
> でもwindowsapiって使えるようになったのって最近じゃないですか?
> windows95時代windowsapiを使えるそんな環境ってあったんでしょうか?

私が触ったことを今思い出せる範囲に限っても、例えば、
1998年発売のVC++6.0なんかでは普通に使えてました。
VB6やDelphi5でも使えましたし、それ以前のバージョンでも使えてましたよ。

使えなかったとしたら、Windows自体が使い物にならず、普及しなかったでしょうね。
Windows95時代のプログラマはどうしていたと思っていたのですか?
by たいちう
9年前
フォーラム: C言語何でも質問掲示板
トピック: 数独を解くプログラム3
返信数: 14
閲覧数: 5123

Re: 数独を解くプログラム3

> 結果はというと、誤入力が大幅に減りました。 > ですが、実際に埋めて、それが正解というのも増えていません。 > 条件を厳しくしたからだと思います。なんとか6月中には完成させたいです。 > プログラム、アルゴリズムに対するご指摘よろしくお願いします。 結構プログラムは書けていると思いますが、根本的な考え方が間違っていると思います。 数独の解き方についてではなく、プログラムの作り方についてです。 誤入力が減ったとありますが、誤入力することが一度でもあるならば、それはバグです。 条件を厳しくしたから正解が増えていないと推測していますが、 条件には正しい条件と間違った条件しかありません。 いい塩梅...
by たいちう
9年前
フォーラム: C言語何でも質問掲示板
トピック: 大学院入試の問題です!解けません!
返信数: 14
閲覧数: 6211

Re: 大学院入試の問題です!解けません!

題意としては、2重のforループでf1と同じ処理を書け、だと思います。
by たいちう
9年前
フォーラム: C言語何でも質問掲示板
トピック: 数独を解くプログラム3
返信数: 14
閲覧数: 5123

Re: 数独を解くプログラム3

「GとFで7と9が使われるので、下段左ブロックに注目すると、Hには1または6が入ることになります。」

言い換えると、

「GとFで7と9が使われるので、同じブロックのHには7と9は入りません。」

この処理が抜けていませんか?
by たいちう
9年前
フォーラム: C言語何でも質問掲示板
トピック: 数独を解くプログラム3
返信数: 14
閲覧数: 5123

Re: 数独を解くプログラム3

時間がないのでNo.10のプログラムはちゃんと見ていません。 No.7のプログラムで致命的な点を2つ見つけていたのですが、 どうやらそれは修正されたようですね。 > 結果的にどこかのマスのフラグを1つに絞れるつもり(今なら6より7,9。7,9より1のみになる)なのですが、 > 代入まで持っていくことができません。 予想と結果が違うんですよね? 結果は突然湧いて出てくるわけではなく、途中経過を経て結果が導かれます。 プログラムを作るときに予想していた途中経過は、どこまで予想通りでしたか? それをちゃんと確認しましょう。 # もしかして、すごく原始的な開発環境なのですか? # Break Poin...
by たいちう
9年前
フォーラム: C言語何でも質問掲示板
トピック: 大学院入試の問題です!解けません!
返信数: 14
閲覧数: 6211

Re: 大学院入試の問題です!解けません!

> (1)は実際にプログラムを再現してみて、値を代入したら答えはわかるのですが、 > このような筆記試験では頭の中で場合分けを重ねて時間をかけて答えをだすしかないのでしょうか。 大学院の難易度や、院試全体でのこの問題の難易度が判りませんが、情報系の大学院なら、 この程度の問題を時間をかけずに答えを出すことが期待されているのではないでしょうか。 (1)が何をするプログラムか日本語で正確に説明できますか? 何かをするプログラムを自分で考えて自由に作れるようになれば、 プログラムを読んで、何をするプログラムなのか判るようになります。 圧倒的に練習不足でしょう。 > (2)は題意はわかるのですが、まっ...
by たいちう
9年前
フォーラム: C言語何でも質問掲示板
トピック: 数独を解くプログラム3
返信数: 14
閲覧数: 5123

Re: 数独を解くプログラム3

次はこれですね。 > 中段左ブロックで6が入るのはDEだけになります。 > 従って、縦並びのFには6が入らず、Fに入るのは7と9だけとなります。 Fのタテヨコとブロックを見ると、6・7・9の可能性がありましたが、 中段左ブロックの6の入るマスがD・Eのみになったことから、 Fから6の可能性がなくなりました。 判定の原理は「Cに6が入らない」を導いたのと同じはずです。 順々にやっていって、どこまでコーディングとテストができますか? # プログラムに無駄は多そうですが、できればまず完成させましょう。 # あれこれ効率を考えて未完成よりは、冗長でも完成させた方が、 # よほど価値があります。 # と...
by たいちう
9年前
フォーラム: C言語何でも質問掲示板
トピック: 数独を解くプログラム3
返信数: 14
閲覧数: 5123

Re: 数独を解くプログラム3

> ただ、上のようにしてHに1が確定することはわかりますがプログラムにできません。 > そもそもこの解き方はn国同盟と関係あるのでしょうか?それすらわかってません。 > 何をどうデバッグして、何を見たらよいのでしょうか? Hが確定する理由は判りました。 一方、「n国同盟」という用語は定義が曖昧な印象を感じていますので、 この解法が「n国同盟」なのかは判断付きません。多分違うと思いますが。 「n国同盟」という解法も万能ではないでしょうから、 解けなかったからといって不具合があるとは限りません。 n国同盟が正しく実装できれば、「このマスのこのフラグはクリアされるはず」、 というマスを探し、予想通り...
by たいちう
9年前
フォーラム: C言語何でも質問掲示板
トピック: 数独を解くプログラム3
返信数: 14
閲覧数: 5123

Re: 数独を解くプログラム3

前スレを読み返してみたけど、デバッグするようにさんざん指摘していますね。
今回も同じことです。

後で時間が取れたときに見るかもしれませんが、
それを待つよりもご自分でデバッグした方が早いかもしれないし、
何より建設的ではないですか?

(問題として間違っていなければ)数独が必ず解けるのと同じように、
この種類の不具合は必ず原因を突き止められます。
何故しないのですか?
by たいちう
9年前
フォーラム: C言語何でも質問掲示板
トピック: 数独を解くプログラム3
返信数: 14
閲覧数: 5123

Re: 数独を解くプログラム3

今回は私がやっときましたが、前スレと「n国同盟」とやらを説明するサイトへのリンクを貼りましょう。

前スレ
数独を解くプログラム2
参考サイト
ナンバープレース、数独 解法まとめ

それと、現在「n国同盟」が正しく実装されたら解けると考えている問題も、
ソースコードに埋め込んでもらえると、デバッグしやすいです。
酒を飲み始めてしまったので、今日はここまでです。
by たいちう
9年前
フォーラム: C言語何でも質問掲示板
トピック: 【アンケート】ドラクエ1を一人で作ろうとしたらどの程度の年月がかかりますか?
返信数: 7
閲覧数: 10758

Re: 【アンケート】ドラクエ1を一人で作ろうとしたらどの程度の年月がかかりますか?

伸びませんね。 ソフト屋さんとru-puさんの回答を比べるだけでも、私としては興味深いのですけどね。 「詳細に仕様を検討しないと分からない」「仕様で悩む必要のない」と、 全く逆のことを書かれています。 経験年数は30年以上だけど、ゲームを作ったことのない私としては、 本業が忙しすぎなければ、DXライブラリ等の習得を含めても、 余裕を見て3か月くらいかなと思っていました。 回答を書くつもりはありませんでしたが。 ソフト屋さんの回答を見ると、ゲームのプロだけあって、 大ヒットする商品として作ろうとしているでしょうね。 あるいは完璧なイミテーションか。 経験や知識があるほど、ハードルが上がるようです...
by たいちう
9年前
フォーラム: C言語何でも質問掲示板
トピック: 二次元配列を連番で繋げて埋めるロジック
返信数: 6
閲覧数: 3050

Re: 二次元配列を連番で繋げて埋めるロジック

リンク先の説明でもどんなゲームか判りませんでした。

> 自分の周囲にひとふでで書けるマスが何マスあるか?みたいなのを表示させたいです。

この部分をもっと厳密に説明することはできますか?
私には伝わらないし、プログラムを作る以上、絶対必要です。

それと最大サイズについてですが、リンク先に表示されている6×6ですか?
この程度ならwhileを使った原始的な方法でも、あまり問題にならないのではないかと。
by たいちう
9年前
フォーラム: C言語何でも質問掲示板
トピック: 二次元配列を連番で繋げて埋めるロジック
返信数: 6
閲覧数: 3050

Re: 二次元配列を連番で繋げて埋めるロジック

真面目に考えると、かなり難しそうな問題なのですが、
盤面の大きさはどの程度までを想定しているのですか?
そして用途は何ですか?場合によってはベターな提案が得られるかも。


> 4以上ならその場合がなくなる気もするのですがどうなのでしょうか。

奇数×奇数なら起こりえるのです。
サイズと出発点が与えられたら、瞬時に判定できるのですが。
by たいちう
9年前
フォーラム: C言語何でも質問掲示板
トピック: directXについて
返信数: 34
閲覧数: 13419

Re: directXについて

No.14で指摘されているように、どんなエラーか正確に書かないと。
No.15のエラーは、windows.hがインクルードされていないから発生しています。
プロジェクトを新しく作って、下のコードをビルドすることはできますか?

コード:

#include <windows.h>

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) {
    return 0;
}
by たいちう
9年前
フォーラム: C言語何でも質問掲示板
トピック: directXについて
返信数: 34
閲覧数: 13419

Re: directXについて

> >>17
> どうやればいいのでしょうか・・・

先頭に #include <windows.h> を追加するとどうなりますか?
by たいちう
9年前
フォーラム: C言語何でも質問掲示板
トピック: メモリリークやメモリ破壊について
返信数: 7
閲覧数: 5114

Re: メモリリークやメモリ破壊について

仕事でC++を使っていたのは5年程前までですが、 その頃にはそのようなツールは大変高価なものでした。 今はフリーで適当なのがあるかもしれませんが、 メモリリークならば、普通にデバッグできないことが問題です。 Aozora0630さんの質問や他の質問者への回答を見て感じるのは、 かなり基本を疎かにしているようだな、ということです。 あちこちからソースコードをコピーして、うまくつなぎ合わせれば、 そこそこのものができ上がるかもしれませんが、 基本を身に付けておかないと、先に進めなくなる時が必ず来ます。 ツールにできることは、必ずプログラマにも可能です。 よい機会なので、じっくりとデバッグをしてみて...
by たいちう
9年前
フォーラム: C言語何でも質問掲示板
トピック: 数独を解くプログラム2
返信数: 25
閲覧数: 9511

Re: 数独を解くプログラム2

> p.s 現在のコードは載せるべきですか? 掲示板のルールに次のように書かれています。 「また、解決した時は、「解決しました」とだけ言って去らず、ソースコードや解決した方法を明記して下さい。」 まだ完全に解決はしてないと思いますが、キリが良いところで載せてもらいましょうか。 誰かの役に立つかもしれませんし、別の指摘をもらえるかもしれません。 最後に、最初から気になっていたけどスルーしていた点。 細かいことですが、次のように書き換えた方がよいと思います。 「Size + 1」という式に意味はありませんので。 for (int Num = 1; Num < Size + 1; Num++) ↓ ...
by たいちう
9年前
フォーラム: C言語何でも質問掲示板
トピック: 数独を解くプログラム2
返信数: 25
閲覧数: 9511

Re: 数独を解くプログラム2

> →書いていますとのことですが、これは残ってしまった空白はバックトラック法で解くということでしょうか?

単純なバックトラック以外についてだと、No.2、No.3、No.6、No.7に書かれています。
意味が判らないなら、その旨を質問してください。


> みると、左上のボックスに4が二つ入っています。
> これをみる限り、コードがまちがっていると思うのですが、間違いはありませんか?

当然間違っています。判りますよね?
これは、「問題が難しくて解けない」という状態ではなく、
「考え方か実装に間違いがあるから解けない」という状態です。
何度も書いていますが、なぜデバッグしないのですか?
by たいちう
9年前
フォーラム: C言語何でも質問掲示板
トピック: ネットワークを作成するプログラムにおいて特定の条件下で起きるエラーについて
返信数: 5
閲覧数: 2366

Re: ネットワークを作成するプログラムにおいて特定の条件下で起きるエラーについて

95行目でNPotentialが300になっていたため、実行時エラーが発生しています。
PotentialIDの配列のインデックスとして有効な範囲はわかりますか?
by たいちう
9年前
フォーラム: C言語何でも質問掲示板
トピック: 数独を解くプログラム2
返信数: 25
閲覧数: 9511

Re: 数独を解くプログラム2

頑張りましたね。

> また、下のように指摘されたところも修正したつもりですが、
> これは機械的に入れ替えていることになっているのではないでしょうか?
> もし、そうだとしたら論理的に入れ替えるとはどういう意味なのか教えて下さい。

なぜ入れ替えたのか、説明ができるなら結構です。


> 実行結果については、同じ数字を行・列・ボックスに2つ以上入れるようなことはなくなりました。
> しかし、多くの空白を残しています。なんとしても解けるようにしたいです。
> たくさんのご指摘お待ちしております。

この件については、私もyokoさんも既に書いています。
それ以上に何が必要なのですか?指摘の数?
by たいちう
9年前
フォーラム: C言語何でも質問掲示板
トピック: ネットワークを作成するプログラムにおいて特定の条件下で起きるエラーについて
返信数: 5
閲覧数: 2366

Re: ネットワークを作成するプログラムにおいて特定の条件下で起きるエラーについて

やりたいことは全くわからないけど、main()の変数sizeをグローバル変数にして、
Rand()を標準関数のrand()にしたところ、vectorの範囲外へのアクセスで落ちました。
51行目とかは正しいの?
by たいちう
9年前
フォーラム: C言語何でも質問掲示板
トピック: ネットワークを作成するプログラムにおいて特定の条件下で起きるエラーについて
返信数: 5
閲覧数: 2366

Re: ネットワークを作成するプログラムにおいて特定の条件下で起きるエラーについて

取りあえず、コンパイルできるコードを載せてみては?
エラーの再現はおろか、Rand()の範囲やsizeの値すらわからない。
by たいちう
9年前
フォーラム: C言語何でも質問掲示板
トピック: 数独を解くプログラム2
返信数: 25
閲覧数: 9511

Re: 数独を解くプログラム2

solve()とsolve2()を見てみました。 どちらも無駄は多いですが、致命的な誤りはありません。 慌てて直す必要はないですが、一応伝えると、 206行目と207行目、221行目と222行目は、それぞれ入れ替えた方がいいです。 機械的に入れ替えるのではなく、論理的な意味を考えて入れ替えてください。 ここまでの修正をすると、2つの関数はどちらも、for(Line)、for(Column)、ifで始まります。 ifの内側の前半にsolve()由来のコード、後半にsolve2()由来のコードを書くことで、 まとめることができるでしょう。 まとめるべきか、ということについては、私ならまとめません。...
by たいちう
9年前
フォーラム: C言語何でも質問掲示板
トピック: 数独を解くプログラム2
返信数: 25
閲覧数: 9511

Re: 数独を解くプログラム2

> 具体的にはボックス・列・行に2つ以上同じ数字を入れてしまうなどです。 同じ問題に対して同じタイミングで必ず起きる現象なので、デバッグとしては非常に簡単な部類です。 この程度の規模のプログラムにも、必ず必要なスキルですので、上達したいなら必ず身に付けてください。 > ちなみにfilledGrid()を少し直しても、解けませんでした。 ↑と書きましたが、タテヨコだけではなく、ブロック内の可能性も消す必要がありました。 それも直したら、完成しました。 solve()とsolve2()の関係については、まだ丁寧に見てません。 色々とちぐはぐな所があるようですので、重要な問題を指摘しにくいです。 続...
by たいちう
9年前
フォーラム: C言語何でも質問掲示板
トピック: 数独を解くプログラム2
返信数: 25
閲覧数: 9511

Re: 数独を解くプログラム2

> 上のyokoさんの5番を実装したつもりなのですが、以前よりも解けなくなってしまいました。 > 具体的にはボックス・列・行に2つ以上同じ数字を入れてしまうなどです。 デバッグしましょう。工夫してください。 とりあえず、filledGrid()の実装が間違っています。 ある数字を入れたら、可能性を消すのはそのマスだけではなく、 タテヨコに同じ数字が入る可能性も消さなくてはなりません。 ちなみにfilledGrid()を少し直しても、解けませんでした。 solve()の実装は間違ってないようで、 solve2()で数字が決まるたびにreturnするようにしたら、 wikipediaの問題が解ける...
by たいちう
9年前
フォーラム: C言語何でも質問掲示板
トピック: 数独を解くプログラム2
返信数: 25
閲覧数: 9511

Re: 数独を解くプログラム2

> もし仮にyokoさんのプログラムと似たプログラムをつくったとして、 > 皆さんは人間に近いと思いますか?それとも大きく離れていると思いますか? > あくまで率直な意見で構いませんので回答お願いします。 バックトラックの部分が人間らしくないと思います。 プログラミングは簡単なのですが。 人間が難問を解くための定石が他にもあるので、 それを実装すると人間らしいのではないでしょうか。 それでも解けない問題があった場合も、とことん深さ優先のバックトラックではなく、 反復深化のような方法を取ると人間らしくなるかも。 # 人間らしく数独を解く、というテーマが、 # 人工知能に近づいているとも思えないの...
by たいちう
9年前
フォーラム: C言語何でも質問掲示板
トピック: 数独を解くプログラム2
返信数: 25
閲覧数: 9511

Re: 数独を解くプログラム2

よっぴーさん自身は、難しい問題を解くときにどうしていますか?
その方法を忠実にコーディングしたら、人間に近いアルゴリズムになりませんか?
by たいちう
9年前
フォーラム: C言語何でも質問掲示板
トピック: 文字の宣言はint型?
返信数: 7
閲覧数: 4545

Re: 文字の宣言はint型?

著者が間違えている場合は論外なので、今は普通の著者を想定します。 (1)このような理由から、(2)こういう場合には、(3)これはこうすべきである。 というような事が書いてあったのではないでしょうか。 雑誌の記事の見出しなどが「これはこうすべきである」となっていることがよくあります。 著者は自分の記事を読んでほしいので、見出しをセンセーショナルなものにすることがあります。 一般的には「これはこうすべきでない」ということが常識とされているときに、 あえて「これはこうすべきである」という見出しを付けることもよくあります。 記事を読んだら「特殊な状況では一般的常識を無視すべきこともある」 といった程度...
by たいちう
9年前
フォーラム: C言語何でも質問掲示板
トピック: VS2013のエラー
返信数: 3
閲覧数: 2452

Re: VS2013のエラー

そんな時はエラーメッセージでググってみましょう。
もしまだならば、↓を試してください。

vs2012 error: package 'visual c++ package' failed to load
by たいちう
9年前
フォーラム: C言語何でも質問掲示板
トピック: このプログラムのポインタ演算について質問があります
返信数: 19
閲覧数: 24877

Re: このプログラムのポインタ演算について質問があります

> そこは1個ずつ消しているので、効率は悪くてもメモリリークにはならない気がします。

freeの引数は必ずNULLになりませんか?
by たいちう
9年前
フォーラム: C言語何でも質問掲示板
トピック: ファイル名を変更するシステム
返信数: 29
閲覧数: 11653

Re: ファイル名を変更するシステム

とりあえず、かずまさんのプログラムを何故動かせないのか理解してはどうでしょうか。
プロジェクトのプロパティで、文字セットをUNICODEからマルチバイトに変えてみてください。

↑のキーワードをいろいろ調べてみましょう。
そうしないと、みけCATさんのアドバイスも、不思議な呪文で終わってしまいます。
by たいちう
9年前
フォーラム: C言語何でも質問掲示板
トピック: このプログラムのポインタ演算について質問があります
返信数: 19
閲覧数: 24877

Re: このプログラムのポインタ演算について質問があります

> おそらく正常に動くようになりました。このプログラムは危険も不具合もありませんよね?

ダメでしょ。
メモリリークを検出してないのですか?

コード:

while(pTemp != NULL){
	pTemp = pTemp->next;
}
free(pTemp);
by たいちう
9年前
フォーラム: C言語何でも質問掲示板
トピック: DxLibの3Dのコリジョン判定関数についての質問です
返信数: 16
閲覧数: 14731

Re: DxLibの3Dのコリジョン判定関数についての質問です

> あ、数学の知識が必要になってから勉強するのではなく、事前に全部やっておくべきという話ですか。

そんなことは書いてません。
sandora3さんにとって数学の知識が必要になったのだから、勉強してくださいということです。
数学全般をやる必要もなく、空間図形の部分をしっかり理解すればよいでしょう。

明確な目的があった方が勉強が捗るのは同感です。
高校時代にサボったのならば教科書は嫌いかもしれませんが、莫大な金をかけて作られた本です。
そこらの書籍やサイトよりは、空間図形についての基礎が理解しやすいのではないでしょうか。
by たいちう
9年前
フォーラム: C言語何でも質問掲示板
トピック: DxLibの3Dのコリジョン判定関数についての質問です
返信数: 16
閲覧数: 14731

Re: DxLibの3Dのコリジョン判定関数についての質問です

> ちなみに自分が調べて出てきた法線の意味は「曲線に対して、点Pにおける接線に垂直な直線」でした。 それは2次元の話ですね。 3次元に拡張して「曲面に対して、点Pにおける接平面に垂直な直線」、と理解すればよいかと。 数学的に一般化すると曲面ですが、プログラムで扱うのはポリゴンなどの平面であることが多いので、 その平面に垂直な直線です。 ある程度の数学の知識がないと3Dは無理だと思います。 ちょっとサンプルと違うことをしようとすると手詰まりになるような。 どの程度の数学の知識かというと、高校の数学Bで習う 「空間図形」とか「空間のベクトル」を応用できる程度。 教科書などを読むだけでは応用はなかな...
by たいちう
9年前
フォーラム: C言語何でも質問掲示板
トピック: 【JSP/Servlet】ログイン画面の実装及び疑問解消
返信数: 4
閲覧数: 8664

Re: 【JSP/Servlet】ログイン画面の実装及び疑問解消

少し調べてみると、似たようなソースコードがありました。
書籍名とかを書いてくれると、手間が省けてピンポイントで良い回答もつきやすいかも。

「san goo」さんのブログ

class LoginLogicやclass Userは、Nectさんが本を元に書いたものですよね?
そこに間違いはないですか?どう書かれていますか?
by たいちう
9年前
フォーラム: C言語何でも質問掲示板
トピック: デバッグ中、配列の中身が「?」で表示されるんですが
返信数: 16
閲覧数: 8461

Re: デバッグ中、配列の中身が「?」で表示されるんですが

山岡さんの質問は客観性にとぼしく、第三者には何が起こっているのか、 どのようなアドバイスが有効なのか、判断が難しいと思いました。 これは初心者の質問にはよくあることなのですが、 その人が過去にした質問を読み返すことで、質問の背景が判り、 少しはアドバイスの役に立つことがあります。 見覚えのある名前だったので、過去ログを検索してみたところ、 自分へのレスを無視しているのに、今回は1日も待てないとか、 掲示板の使い方が判っていないのではないかと、 その時点で一番有益と思ったアドバイスをしたつもりです。 追い出す意図はなかったんですけどね。 そのように受け取られたのは私にも原因があるのでしょう。 申...
by たいちう
9年前
フォーラム: C言語何でも質問掲示板
トピック: デバッグ中、配列の中身が「?」で表示されるんですが
返信数: 16
閲覧数: 8461

Re: デバッグ中、配列の中身が「?」で表示されるんですが

> 出来れば、
> 解答を頂けない理由を教えて頂けないでしょうか?

数分で回答があるときもあれば、数週間ないときもあります。
1日以内に解決できないとまずいのならば、掲示板以外の解決方法を探してください。


(これは憶測ですが)もしかしたら、以前のあなたの質問について、
回答に対する返事すらない状況に思うところのある人もいるのかもしれません。

以前のあなたの質問のスレを冷静に読み返してはどうでしょうか。
今ならどのように思いますか?
by たいちう
9年前
フォーラム: C言語何でも質問掲示板
トピック: c言語始めて二日目の言葉についての疑問です
返信数: 10
閲覧数: 4166

Re: c言語始めて二日目の言葉についての疑問です

「なかなか理解できなかった」という状態をもっと詳しく説明することができますか?
そこがスタートではないかと思います。

ところで、カイトさんが勉強しているのはCですか、それともC++ですか?
それすら意識していませんか?
by たいちう
9年前
フォーラム: C言語何でも質問掲示板
トピック: 二次元配列を特定の範囲内のサイズでランダムな形に分割する
返信数: 11
閲覧数: 4106

Re: 二次元配列を特定の範囲内のサイズでランダムな形に分割する

かずまさん。おかげさまで理解できました。
(読めるようになったけど、書ける日が来るだろうか。)

このデータの持ち方は私では思いつきませんね。
再帰で全ての解を得る方法も考えていましたが、
乱数を使うことで全ての解をもつ必要もなくなると。
最後に番兵(?)と{3,15,16}のような形の処理も勉強になりました。

丁寧な説明ありがとうございました。
by たいちう
9年前
フォーラム: C言語何でも質問掲示板
トピック: 二次元配列を特定の範囲内のサイズでランダムな形に分割する
返信数: 11
閲覧数: 4106

Re: 二次元配列を特定の範囲内のサイズでランダムな形に分割する

かずまさん。全くわかりません。
お手数ですが簡単な説明をお願いできるでしょうか。
(説明を聞いてもわからなければごめんなさい。
私以外にもわからない人が多くいると思うので、
その場合はご容赦ください。)

私にとって新しい世界が開けるかもしれませんが、
もう少し考えて無理なら諦めます。
by たいちう
9年前
フォーラム: C言語何でも質問掲示板
トピック: 浮動小数点の科学記法と整数のキャスト
返信数: 9
閲覧数: 6504

Re: 浮動小数点の科学記法と整数のキャスト

> その前に、アクションゲームの演算では0.1ずつ座標から引いていくという処理しかしていないのに
> 何故最大値を超えてしまうのだろうか?メモリ破壊の可能性が?

正しい演算やキャストができていないのでしょう。
再現可能な最小限のコードをここに貼ってくれれば、すぐ原因はわかりそうですが、
コードなしだと、どんなミスをしているのか、回答者には予想は困難です。
by たいちう
9年前
フォーラム: C言語何でも質問掲示板
トピック: 1順ループで再現する方法
返信数: 11
閲覧数: 4607

Re: 1順ループで再現する方法

問題の説明や現状の説明のためにも、多重ループで作成したプログラムを載せてはどうかと。
by たいちう
9年前
フォーラム: C言語何でも質問掲示板
トピック: 二次元配列を特定の範囲内のサイズでランダムな形に分割する
返信数: 11
閲覧数: 4106

Re: 二次元配列を特定の範囲内のサイズでランダムな形に分割する

1マスの部屋で埋め尽くす; for (;;) { if (全ての部屋が範囲内の大きさ) break; // 完成 if (許容範囲より大きい部屋がある) その部屋を1マスの部屋に分割; 許容範囲より小さい部屋をランダムで1つ選ぶ; ターゲットの部屋の壁が壊せるか壊せないか調べる; // 壊せない壁とは、外周(A)、または、壊したら許容範囲外の部屋ができてしまう壁(B) if (壊せる壁がある) 壊せる壁をランダムで1つ選んで壊す; else (B)をランダムで1つ選んで壊す; } 証明はできないけど千日手のようなことにはならないと思います。 最初の配列が大きく、かつ、許容される範囲が狭い場合...
by たいちう
9年前
フォーラム: C言語何でも質問掲示板
トピック: Googleが個人を識別する仕組み
返信数: 9
閲覧数: 12408

Re: Googleが個人を識別する仕組み

書いているうちに解決しているようなので、読まれないかもしれませんが、一応投稿します。 > また、この掲示板を使わせていただく以上は、ルールを守ることは当然だと思っていますが、 > 乗っ取るのに役立つとは思いませんので、ルールは守っていると思います。 Googleのルールを破るための質問をすることも、この掲示板のルールに抵触します。 質問の最初では、Googleに非があるように書いていましたが、 Googleの裏をかいて利用する仕事が真っ当なものとは思えません。 多くの人が批判しているとか、みんなやってるとかでは、子供の言い訳ですので、 あなたの目的が正当なものであるとしっかり説明できれば、 も...
by たいちう
9年前
フォーラム: C言語何でも質問掲示板
トピック: 遺伝的アルゴリズムについて
返信数: 4
閲覧数: 2304

Re: 遺伝的アルゴリズムについて

誤解されているみたいですが、遺伝的アルゴリズムはさほど難しくないですよ。
私の考えでは、遺伝的アルゴリズムはオセロに向いていない、という話です。
向いてないもので無理やり作るのは当然難しいでしょう。
少なくとも私ではまともに対戦できるものを作る方法を思いつきません。
by たいちう
9年前
フォーラム: C言語何でも質問掲示板
トピック: 遺伝的アルゴリズムについて
返信数: 4
閲覧数: 2304

Re: 遺伝的アルゴリズムについて

オセロには遺伝的アルゴリズムは向いていないような。 真剣に研究している人もいるかもしれませんが、 そこそこのレベルのものを作るのは相当大変ではないかと。 普通の人(私など)には不可能に近いと思うので、 普通は別のアルゴリズムで作成します。 それを踏まえて、一応回答。 > 1.どのような知識が必要なのか? (1-1) 思った通りのプログラムが作れる力です。 「入門書の内容が判る」ではなく、「自分の作りたいプログラムに応用できる」です。 これができないと、どんなプログラムも作れません。 (1-2) 遺伝的アルゴリズムの知識。 TSPなどの遺伝的アルゴリズムに向いている問題は最低限解けるようになりま...
by たいちう
9年前
フォーラム: C言語何でも質問掲示板
トピック: 総当たりアルゴリズムとはどのような方法がありますか?
返信数: 4
閲覧数: 8960

Re: 総当たりアルゴリズムとはどのような方法がありますか?

アルゴリズムと構えるほどのものは必要なく、例えば、ファイルを読み込んで配列に保持し、1重のforループから5重のforループを使って順に表示すれば作れます。これが完成してから改良の方法を考えればよいでしょう。
by たいちう
9年前
フォーラム: C言語何でも質問掲示板
トピック: スライドパズルの最短手数を求めるプログラムについて
返信数: 18
閲覧数: 10489

Re: スライドパズルの最短手数を求めるプログラムについて

質問を迷惑と感じる人は、最初から回答を書き込まなかったり、やがて回答しなくなります。 迷惑行為をしているわけではなく、質問掲示板のまっとうな使い方をしているので、 遠慮は必要ないでしょう。 それより、自分の抱えている問題をごっちゃにしていませんか? どれも中途半端になっているような印象を受けますが。 自分のためにも回答者のためにも、何ができていて、何ができていないのか、 はっきりまとめると良いと思います。 根岸さんの作りたいもの、途中の段階について、次のようなものが書かれています。 ・ゲームロジック(ロジックを日本語で説明したもの?) ・プログラム(ゲームロジックを実装したもの?) ・自動問題...
by たいちう
9年前
フォーラム: C言語何でも質問掲示板
トピック: ビジュアルスタジオ2010のバグ?
返信数: 7
閲覧数: 4709

Re: ビジュアルスタジオ2010のバグ?

プログラムを書いているときとデバッグ中は、開発者が必要とする情報が違います。
レイアウトもそれぞれカスタマイズできるようになっています。
by たいちう
9年前
フォーラム: C言語何でも質問掲示板
トピック: スライドパズルの最短手数を求めるプログラムについて
返信数: 18
閲覧数: 10489

Re: スライドパズルの最短手数を求めるプログラムについて

箱入り娘を紹介したのは、よく似たパズルなので、 一方をちゃんと理解したら、もう一方もできるだろうという理由です。 解説とソースコードを見つけた箱入り娘を理解するよりも、 試行錯誤してラッシュアワーを作る方が難しいですよ。 「このサイトの解説の、この部分が理解できない」とか、 「このソースコードの何行目からの処理が理解できない」とかいう質問も可能です。 まあ取り組み方はひとそれぞれなので、 箱入り娘をスルーした場合の説明を書きかけたのですが、 ロジックをプログラムにできないのでしたね。 この方針で他の方の回答に私が付け加えることはありませんでした。 やっぱり、ロジックとプログラムを見ながら理解に...
by たいちう
9年前
フォーラム: C言語何でも質問掲示板
トピック: スライドパズルの最短手数を求めるプログラムについて
返信数: 18
閲覧数: 10489

Re: スライドパズルの最短手数を求めるプログラムについて

> 保存するテーブルデータはおそらく1手前のものだけではダメそうですし、どうすればよいのかなーと。 > ここがかなり重要なロジックそうなので、何とか解いてみたいんですよね・・・。 プログラムは一通り完成していて、完璧を期すために問題を探していたのだと思っていました。 すぐにプログラムを作りたいなら、「箱入り娘」というパズルを調べてください。 すぐに解説付きのプログラムが見つかるはずです。 根岸さんの作りたいプログラムとはルールが若干違いますが、 「箱入り娘」のプログラムをしっかり理解できたら、すぐに応用できると思います。 自力で解決したいならば、あえて「箱入り娘」は調べずに挑戦してください。 ...
by たいちう
9年前
フォーラム: C言語何でも質問掲示板
トピック: スライドパズルゲームの問題作成について
返信数: 5
閲覧数: 3013

Re: スライドパズルゲームの問題作成について

このようなものを買えば、デバッグに必要な数の問題が手に入りませんか?

ラッシュアワー
by たいちう
9年前
フォーラム: C言語何でも質問掲示板
トピック: これからC言語を学ぶものです
返信数: 3
閲覧数: 2447

Re: これからC言語を学ぶものです

【1. 言語を選ぶ】 プロになるなら当然複数の言語(や諸々)を習得する必要がありますが、 最初に手を出す言語を何にするかは重要です。 人によって向き不向きもあるし、回答者の好みもあるけど、 C言語は悪くない選択肢の1つだと思います。 入門書、解説サイト、サンプルなども非常に豊富ですし、言語自体が非常に強力です。 多すぎる情報で迷子にならないことに気を付けましょう。 その他の注意点としては、C++と混同しないようにすることでしょうか。 【2. 入門書の選択】 私の場合だと、大型書店に行って入門書を立ち読みし、自分に合ったものを探します。 自分が身に着けたいことが書いてあるか、自分に理解できそうか...
by たいちう
9年前
フォーラム: C言語何でも質問掲示板
トピック: SQLでのデータの範囲検索について
返信数: 17
閲覧数: 8741

Re: SQLでのデータの範囲検索について

> データは4桁あるけれども、3桁でそのデータを呼び出すということです。
> つまり、
>
> 100から200を選択すると、
> 1000から200Zが呼び出すということです。
> 値はユーザーがその時その時で自由に選択できます。

手元にMySQLがないので確認してないですが、こういう事では?

select hoge from test where substring(hoge, 1, 3) between '100' and '200';
by たいちう
9年前
フォーラム: C言語何でも質問掲示板
トピック: Objectを大量に描画したいが…重い。なにかが悪い。
返信数: 59
閲覧数: 32824

Re: Objectを大量に描画したいが…重い。なにかが悪い。

色々アドバイスが寄せられていますが、質問者の当初の目的に合っているか疑問に思いましたので、 少し別の視点から書いてみます。ゲーム作成は未経験なので、プログラミングの一般論からです。 [まず前提の確認] 色んな実装方法があって、効率面でも一長一短あるでしょうけど、 やっくるさんの「遅い」という症状は、そんなレベルではないですよね? 何百行のメソッドがあろうが、1つのクラスで管理しようとしていようが、 そのこと自体が直接引き起こす性能上の問題は微々たるものだと思います。 [考えられる原因] 現状で遅くなっている原因については、ざっくりと2通り考えられます。 1つは、何らかの単純な不具合が直接の原因...
by たいちう
9年前
フォーラム: C言語何でも質問掲示板
トピック: ニューラルネットワーク
返信数: 1
閲覧数: 1127

Re: ニューラルネットワーク

ニューラルネットワークでは、教師信号ありの文字認識程度しか 作った経験がありませんが、一般論として。 そこそこ高度な内容になってくると、講義も専門書も、 手とり足とり教えてくれないのが普通ですし、紹介だけの場合も多いです。 そこまでの内容を十分理解していることと、 必要に応じて不足している部分を調査や推察で補うことが期待されています。 サンプルプログラムがないということは、作る実力が期待されているのでしょう。 所謂「教えてくん」にはできない課題だと理解していますよね? > 理論は理解できたのですが、 > 全て本に記載されているのは教師信号有りの理論。 > 無しの理論及びコードを教えて下さい。 ...
by たいちう
10年前
フォーラム: C言語何でも質問掲示板
トピック: C言語で最短経路探索プログラムを作っています。
返信数: 34
閲覧数: 17199

Re: C言語で最短経路探索プログラムを作っています。

教えて、教えて、、、ではなく、
自分なりの学習や考察の過程をここに書き続けてくれると、
応援の意味を込めた誘導の書き込みが得られやすいのではないかと。

あなたのためにもなるし、過去ログを読む人のためにもなると思いますが。
by たいちう
10年前
フォーラム: C言語何でも質問掲示板
トピック: オセロAI
返信数: 5
閲覧数: 3385

Re: オセロAI

掲示板で説明できるようなボリュームではありません。
ちゃんと勉強するつもりがあるならば、本を紹介します。
C++とJavaのソースコードもついています。

リバーシのアルゴリズム
by たいちう
10年前
フォーラム: C言語何でも質問掲示板
トピック: C言語 3次関数 変曲点
返信数: 13
閲覧数: 6673

Re: C言語 3次関数 変曲点

フィルタ越しに出題者の意図を予想してみました。


グラフが上に凸か下に凸かを調べてはどうでしょう。
切り替わるところが変曲点なので、十分広い範囲から初めて、
2分探索でx座標を求めます。

任意の(x, f(x))について、どっちに凸かは、
f(x-δ)とf(x+δ)の平均とf(x)を比較することで判定します。
by たいちう
10年前
フォーラム: C言語何でも質問掲示板
トピック: エラー: : signed と unsigned の数値を比較しようとしました
返信数: 3
閲覧数: 5015

Re: エラー: : signed と unsigned の数値を比較しようとしました

パッと見ただけだけど、x+1で範囲外にアクセスしてませんか?
by たいちう
10年前
フォーラム: C言語何でも質問掲示板
トピック: 【討論】どう回答すべきか。
返信数: 33
閲覧数: 13905

Re: 【討論】どう回答すべきか。

ご無沙汰です。ほとんどROMのたいちうです。 現在、日本語のPG系の掲示板としては、ここが最も活発なところではないでしょうか。 少なくとも最大級です。 数年前に比べて荒れることが多くなったとしたら[要出典]、そのような背景も考慮しないといけません。 プログラミングについて、敷居も低くなったんですね。 大昔のゲーセンのレベルのプログラムなんか、初心者向けの作り方の動画なんかが公開されている時代です。 あちこちの解説サイトや親切な掲示板のコードをコピペすれば、FizzBuzzが理解できなくても、 そこそこプログラムを作れるように錯覚してしまう人がいるのも、敷居が低くなったということでしょう。 最後...
by たいちう
10年前
フォーラム: C言語何でも質問掲示板
トピック: 3乗の和で表せる数
返信数: 7
閲覧数: 6076

Re: 3乗の和で表せる数

> 内側のループはこんな感じで探索できないかな?

できないと思いますよ。
c=d=1から少しずつ増やしていくやりかたなら、
探索を軽くできると思うけど。

ちょっと時間がないので反証は探せないし、
少しずつ増やしていくやり方も今は作れないのが申し訳ないです。
そのうち時間ができたら作りますが誰か作ってくれまいか。

10000未満に限るならば、探索は軽くならないだろうし、
反証は存在しないかもしれません。
かずまさんが3乗の計算を毎回しているのも、これが理由でしょうか。
by たいちう
10年前
フォーラム: C言語何でも質問掲示板
トピック: C言語からC#への書き換えについて
返信数: 5
閲覧数: 7136

Re: C言語からC#への書き換えについて

書き換えが必要なボリュームが判りませんが、 普通、移植するには両方の言語をある程度は理解している必要があります。 一連の質問から判断すると、まだプロの仕事として取り組んで良いレベルではないと思います。 (別スレですが、引数のNULLチェックの必要性を理解していないとか) もう少し、双方の言語を勉強してからにしませんか? ボリュームがさほどではない場合、せいぜいテストを頑張って下さい。 ボリュームが結構ある場合、このまま取り組むよりも、 一旦中断して基礎を理解する方が絶対近道です。 後で振り返ったときに、中途半端な理解で移植した部分なんて全く信用できません。 不具合がどの程度許容されるかにもより...
by たいちう
10年前
フォーラム: C言語何でも質問掲示板
トピック: vectorによって動的に作成されたオブジェクトの描画
返信数: 20
閲覧数: 6431

Re: vectorによって動的に作成されたオブジェクトの描画

> コンパイラはvisual studio 2013で環境も特にいじっていないので初期設定かと。 > > コンパイルオプションとはどのように設定するものなのでしょうか 2013は使ったことないけど、多分プロジェクトのプロパティで細かく設定できます。 大雑把な設定のまとめが、デバッグモードとリリースモードなのですが、 その違いを知らなくて、初期設定のままならデバッグモードなのでしょう。 デバッグ時に有用な情報を提供してくれる替わりに、実行速度などが犠牲になっています。 速い遅いの話をするときに、デバッグモードでは見当違いなのです。 2つのモードのボトルネックの場所が違う場合も多いので。 ちなみに...
by たいちう
10年前
フォーラム: C言語何でも質問掲示板
トピック: vectorによって動的に作成されたオブジェクトの描画
返信数: 20
閲覧数: 6431

Re: vectorによって動的に作成されたオブジェクトの描画

コンパイラは何を使っていますか?
コンパイルオプションは?
特に速度に関する最適化について。

例えばVC++のデバッグモードとかだと、デバッグ用に色々とチェックが入り、
newだと一瞬で、vectorだと数10ミリ秒とか、ありえるかと。
その場合、最終的には最適化してコンパイルすれば問題ないですよね?
by たいちう
10年前
フォーラム: C言語何でも質問掲示板
トピック: 多重定義?
返信数: 4
閲覧数: 1970

Re: 多重定義?

> そのプロジェクトの中にソースファイルというファイルがあってその中に
> .cppのデータがあります。

「ソースファイル」という名前のフォルダです。


> 何もなくて、ソースファイルやヘッダーファイルといったものが
> まったくでないのでどうすればよいのか・・・

いくつかやり方はありますが、
「ソースファイル」等のフォルダを右クリックして「追加」を選びましょう。
by たいちう
10年前
フォーラム: C言語何でも質問掲示板
トピック: 構造体配列
返信数: 19
閲覧数: 6762

Re: 構造体配列

> 指摘されたこと、今後に活かしたいと思います。

「今」活かしてもらえると思って指摘したのですが、、、
時間が許すならば、ですけどね。
by たいちう
10年前
フォーラム: C言語何でも質問掲示板
トピック: 構造体配列
返信数: 19
閲覧数: 6762

Re: 構造体配列

> ①一番最初の構造体配列で、char name[20]; と宣言していますが、 > これをchar *nameと 宣言するとコンパイルエラーになるのはどうしてなのでしょうか。。 コンパイルエラーではなく、実行時エラーですよね。 136行目のstrcpyで、コピー先の領域が存在しないためエラーになります。 その前のmallocで用意しているのは、構造体の領域。 nameはその構造体のメンバで、ポインタ。 このポインタは初期化されていないので、あさっての方向を指していて、 そこに無理やり書き込もうとしているので実行時エラーです。 構造体の宣言をchar name[20];としておくと、 構造体の...
by たいちう
10年前
フォーラム: C言語何でも質問掲示板
トピック: なんでpush_backできないのかわかりません・・・
返信数: 5
閲覧数: 7216

Re: なんでpush_backできないのかわかりません・・・

C++なんだから、stringを使うのがお勧めです。
std::vector<std::string> file;

それと、前の質問は「解決!」にしておいてください。
by たいちう
10年前
フォーラム: C言語何でも質問掲示板
トピック: C言語勉強中の初心者です
返信数: 11
閲覧数: 4020

Re: C言語勉強中の初心者です

> とりあえず初心者用の本と苦るしんで覚えるC言語さんのサイトはは
> 読み終わったんですけど何から手をつけたらいいのかわかりません。

読んだ、という表現が気になります。
softyaさんの例えにのっかると、大工道具の取扱説明書を読み終わっただけで、
「大工は極めた、次の職業は?」みたいな状況ではないですか?
だから実際に、犬小屋程度は作ってみましょうよ、ということ。

犬小屋が良いのか、本棚が良いのかは、好みとか次に目指す目標によります。
by たいちう
10年前
フォーラム: C言語何でも質問掲示板
トピック: 構造体配列
返信数: 19
閲覧数: 6762

Re: 構造体配列

> そうとは限りません。明示的に初期化していない場合、初期値はゴミです。 > 何が入っているかは不定です。 初期化しているでしょ。 List members[100] = /*構造体配列*/ { {"A",190,40}, {"B",167,61}, {"C",187,45} }; 配列の最初の3つがデータを与えられていて、残りの97個は0で初期化されます。 nameはNULLになっているはず。(if文でNULLを代入しているのは当然誤りですが) 解決方法についてですが、 AddDataのローカル変数であるaddnameのアドレスを構造体に代入しても意味がありません。 配列の4つめ以降のnam...

詳細検索ページへ移動する