検索結果 418 件

by たいちう
3年前
フォーラム: C言語何でも質問掲示板
トピック: 文字が……………
返信数: 4
閲覧数: 463

Re: 文字が……………

正しく設定できてないから、そうなっているのだと思われますが。
試しに、次のように「L」を書いたらどうなります?

DrawString( 250 , 240 - 32 , L"Hello C World!" , Cr );
by たいちう
3年前
フォーラム: C言語何でも質問掲示板
トピック: 画像情報処理について
返信数: 4
閲覧数: 1187

Re: 画像情報処理について

輪郭が判るなら、輪郭の画素のX座標Y座標それぞれの最大最小を求めるだけです。
by たいちう
3年前
フォーラム: C言語何でも質問掲示板
トピック: 【共同開発者募集】 インタプリタ・コンパイラ制作
返信数: 28
閲覧数: 4819

Re: 【共同開発者募集】 インタプリタ・コンパイラ制作

質問の意図が伝わっていないようですね。 プロジェクトの難易度の要因は色々ありますが、 最も重要な要因(少なくとも要因の一つ)はプロジェクトの規模だと私は思っています。 そのためプロジェクトの規模を答えられるか聞いたので、 行数で答えるならばプロジェクトの全ソースファイルの行数の合計です。 「フラットシェーディングのフルソフトウェア3Dレンダラ」のプロジェクトの全行数が2000行で、 募集中のプロジェクトが完成した場合の見込みが10000行程度ということでしょうか? それならば、「今までの最大の5倍に挑戦」ということなので少々野心的とは感じますが、 1万行というのはさほどの規模ではないので、1人...
by たいちう
3年前
フォーラム: C言語何でも質問掲示板
トピック: 【共同開発者募集】 インタプリタ・コンパイラ制作
返信数: 28
閲覧数: 4819

Re: 【共同開発者募集】 インタプリタ・コンパイラ制作

> フラットシェーディングのフルソフトウェア3Dレンダラのプロジェクトは完成しています。 > また、2Dのゲーム用ライブラリなども今完成直前です。 > その他のプロジェクト(10~15個)はスパゲッティ化で放置状態になっています。 ↓これには答えていただけないのですね。 > 完成させたプロジェクトのうち最大のものと、今回のプロジェクトの見込みについて、 > 何千行とか何人月とかの単位で答えられますか? 「みんなでゲームを作ろう」という呼びかけも、滅多に成功しないようです。 それと比較しても人が集まるかどうか。 焦らずに身の丈に合ったものを作って経験を積むことをお勧めします。 最初のうちは小規模...
by たいちう
3年前
フォーラム: C言語何でも質問掲示板
トピック: 【共同開発者募集】 インタプリタ・コンパイラ制作
返信数: 28
閲覧数: 4819

Re: 【共同開発者募集】 インタプリタ・コンパイラ制作

規模はともかくとして、バグがあまりにも多いというのは、
設計が破綻しているのではないでしょうか。

今までどの程度の規模のプロジェクトを完成させたことがありますか?
今までの完成させたプロジェクトと、今回のプロジェクトの規模とが、
あまりにも差があるならば、優秀なプロジェクトマネージャーも必要になるでしょう。

完成させたプロジェクトのうち最大のものと、今回のプロジェクトの見込みについて、
何千行とか何人月とかの単位で答えられますか?
by たいちう
3年前
フォーラム: C言語何でも質問掲示板
トピック: 配列に格納された数値のペアを探し出す
返信数: 15
閲覧数: 1658

Re: 配列に格納された数値のペアを探し出す

かずまさんに先を越されてしまった。勉強になります。

ところで、15行目で、+1 は必要ですか?
sizeが最大になるのは、全ての数値が違う場合で、ROW*COL だと思うのですが。
by たいちう
3年前
フォーラム: C言語何でも質問掲示板
トピック: 配列に格納された数値のペアを探し出す
返信数: 15
閲覧数: 1658

Re: 配列に格納された数値のペアを探し出す

考えてみたら、C++を覚える方がよほど難易度が高いですね。 数値の範囲を決めてよいならば、次のプログラムで十分です。 #include <stdio.h> #define ROW 5 #define COL 4 #define MAX_NUM 10 int array[ROW][COL] = { { 1, 2, 5, 6 }, { 4, 2, 3, 7 }, { 2, 1, 9, 10}, {10, 3, 7, 4 }, { 8, 7, 6, 0 }, }; int main() { int m[MAX_NUM + 1][MAX_NUM + 1] = { 0 }; int i, j, a, b...
by たいちう
3年前
フォーラム: C言語何でも質問掲示板
トピック: 配列に格納された数値のペアを探し出す
返信数: 15
閲覧数: 1658

Re: 配列に格納された数値のペアを探し出す

> の部分ですが、これはC言語で言うとどのような処理をしているのでしょうか?
> C言語しか習っておらず、C++はよく分かっていない状態です。

C++のライブラリを使っています。
「stl map」でググりましょう。

C言語には該当するライブラリがないので、同等のものを自作する必要があります。
(探せばあるかもしれませんが)
その場合は難易度が少し上がりますが、C言語で作成しますか?


> 私の書き方がよろしくなかったですね。
> 反省します。

仕様を正確に文章にするのはプロにも難しいものです。
でも、これが書けないとプログラムは尚更書けないので、頑張ってください。
by たいちう
3年前
フォーラム: C言語何でも質問掲示板
トピック: 配列に格納された数値のペアを探し出す
返信数: 15
閲覧数: 1658

Re: 配列に格納された数値のペアを探し出す

> ペアとみなしてもらって構いません。

そうですか。
「他のリングバッファにあるかサーチしていき」とあったので気になったのですが、
ペアでよいなら、かずまさんのプログラムで完璧ですね。
by たいちう
3年前
フォーラム: C言語何でも質問掲示板
トピック: 配列に格納された数値のペアを探し出す
返信数: 15
閲覧数: 1658

Re: 配列に格納された数値のペアを探し出す

データが以下の場合、(2, 5)はペアとみなしますか?

{ 1, 2, 5, 2 },
{ 4, 2, 3, 7 },
{ 2, 1, 9, 10},
{10, 3, 7, 4 },
{ 8, 7, 6, 0 },
by たいちう
3年前
フォーラム: C言語何でも質問掲示板
トピック: ループネストの簡略化
返信数: 1
閲覧数: 588

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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