5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

プログラムのSEXと自己増殖について

1 :愛の精子:02/04/18 23:58
生物はオスとメスがSEXをして自己増殖をはかります。

それではコンピュータにおいて、オスとメスの役割をする
プログラムを並列動作させれば自己増殖を起こすのでしょうか?

遺伝的アルゴリズムなるものがこの世に存在するらしいことは
知ってるのですがそれってプログラムのSEXについて語ってる
ってことなんでしょうか?


2 :デフォルトの名無しさん:02/04/19 00:01
JavaBeansを腐らして豆腐や納豆をつくれないかね?

3 :デフォルトの名無しさん:02/04/19 00:01
僕はいつでもコンピュータとSEXしてプログラムを生み出してます

4 :デフォルトの名無しさん:02/04/19 00:02
生物にはオスとメスが無いものもあります。
自己増殖にはSEXは必須ではありません。
プログラムも同じでオスとメスが無くても自己増殖します。
ウイルスと呼ばれるソフトウエアの一部などに自己増殖機能が実装されています。
以上


5 :デフォルトの名無しさん:02/04/19 00:05
今の流行は両性具有YO!

6 :愛の精子:02/04/19 00:08
SEXをして種を保存しているものとそれ以外の方法で自己増殖している
ものとはどんな違いがあるんでしょうか?

コンピュータウィルスは確かにそれ自身で自己増殖しますが、複製物には
ほとんど多様性はありません。自己増殖するコンピュータウィルスも
将来は遺伝子のようなものを持ってまさにSEXまがいなことをして
増殖をするかもしれませんね。


7 :デフォルトの名無しさん:02/04/19 00:16
SEXまがいなこと・・・植物だと、
花粉が雌しべにつくことか。
プログラムで言うと、プログラムの一部のコードが
もう一つのプログラムに結合することだな。

8 :デフォルトの名無しさん:02/04/19 00:18
いい考えなんじゃなーい
実装がむず層だけど

9 :デフォルトの名無しさん:02/04/19 00:22
SEX にやけにこだわるな…
別にコンピュータを人間に似せなきゃいけないわけでもあるまい。

10 :デフォルトの名無しさん:02/04/19 00:26
GAとかでアルゴリズムとして使われてるよな?

11 :デフォルトの名無しさん:02/04/19 00:31
ここは今からSEX指向言語を作るスレとなりました。
みなさんご了承ください。

12 :デフォルトの名無しさん:02/04/19 00:50
自分好みのアンドロイドを作ってSEXしたい。

13 :うん:02/04/19 01:08
SEXは遺伝子が交わることで
変化する環境への適応能力を向上させる意味合いがあります


14 :デフォルトの名無しさん:02/04/19 01:15
鮭のSEXって気持ちよさそうだよね。見ているだけでこっちまで(略
あとタンポポの女性って始めてのSEXの時、人間よりもすごく痛いそうだよ。
プログラムのSEXってどんなんだろうね。

15 :デフォルトの名無しさん:02/04/19 01:19
SEX自体はどうでもいいんだよ。
重要なのは減数分裂。
減数分裂のときに遺伝子が組み替えられるが、
このとき繋ぎ合わされる部分のインターフェイスがしっかり決まってるから誤作動を起こさない。
COMやその他の機能を使えばこれはできるでしょ。
たとえば標準入力からデータを受け取り、加算して、標準出力に出すプログラムと、
ファイルからデータを読み込み、印刷するプログラムを交配させて、
ファイルからデータを読み込み、加算して、印刷するプログラムと、
標準入力からデータを受け取り、標準出力に出すプログラムを作ることは可能だろうね。
ネット経由で入出力を行ったり、加算じゃなくて乗算とか、いろんなプログラムと混ざれば進化するんでない?

16 :C_sugar:02/04/19 02:47
興味深い。

ウイルスが「交配」によって増殖し、それによって進化することができれば凄いことになる。


17 :デフォルトの名無しさん:02/04/19 02:49
>>16
交配はともかく他のを取り込んで進化するウイルスってなかったけ?

コンピュータウイルスが進化してワクチンになったら面白いなぁ。

18 :デフォルトの名無しさん:02/04/19 03:22
アホスレ

19 :デフォルトの名無しさん:02/04/19 11:51
>>17
その前に、自己免疫機能があるOSが必要だろうよ。
そして、正常なソフトですら外敵だと判断して削除してしまう。
M$なら作りかねないな。(M$製品以外は全て敵と判断)

20 :デフォルトの名無しさん:02/04/19 23:21
>19
そこは、NECチェックを回避した往年のテクニックで、

21 : :02/05/29 01:03


22 :デフォルトの名無しさん:02/05/29 01:24
>>1-20
全部妄想

23 :デフォルトの名無しさん:02/05/29 01:28
むう・・生物学は高校レベルの知識しかないのでわからん

24 :デフォルトの名無しさん:02/05/29 01:35
プログラムのSEXじゃないけど、
実行コードをランダムに作って実行させて、止まった(飛んだ)時点で、
止まった所から、新たにランダムにコードを作って再実行。

これをやると、生物的プログラムが出来るんじゃないかと・・・

25 :デフォルトの名無しさん:02/05/29 01:36
>>24
意味がわからん・・・

26 :デフォルトの名無しさん:02/05/29 01:39
>>24
どうやってランダムな実行コードを吐き出すんだ?
なんか動かんコードばっかり生成されそうだが

27 :24:02/05/29 01:42
>>25
だと思った。

例えば、
00 11 22 33 44 55 66 77
という実行コードがあったとして、
44 の箇所でプログラムが暴走したとする。
そしたら、
00 11 22 33 の次から 55 66 77 88 … といった様にコードを再構築して、
また最初から実行。

暴走しないプログラムが出来るまで繰り返す。

説明下手でスマソ。

28 :24:02/05/29 01:43
>>26
そこが生物っぽくない?

29 :デフォルトの名無しさん:02/05/29 01:45
障害者ばかり産まれるといってるようなもんだ。

30 :デフォルトの名無しさん:02/05/29 01:45
>>27
暴走したらその時点でダメじゃん。

つか、まず暴走の基準を明確にしないと。
そして、VMつくって実行。
あとは、VMで暴走しないようにすれば・・・



って、だめじゃん・・・

31 :24:02/05/29 01:49
>>29
まぁ、そうなんだけど。
コード=DNAだと考えて・・・

>>30
そこなんだよね。
そんなOSでもあれば・・・

32 :デフォルトの名無しさん:02/05/29 01:50
VM上で実行したプログラムが落ちるか一定時間反応がなかったら暴走とみなせば…

33 :24:02/05/29 01:56
>>32
作ってみたいんだけど、技量が無いのです。

これができたら、
勝手にハードにアクセスするプログラム(生物)とかできそうで、
面白いかなぁ、と。

誰か作って。

34 :デフォルトの名無しさん:02/05/29 02:00
>>32
VMとか袈裟な事いわんでも子プロセスをforkして監視するだけでいくねえ?

35 :デフォルトの名無しさん:02/05/29 02:00
コボルとjavaを合体させてコヴァを作ります。

36 :デフォルトの名無しさん:02/05/29 02:37
>>34
いや、暴走の基準があいまいだったから。
マシン止まるのが暴走なのか、はたまた、
HD内のファイル消す(作る)のが暴走なのか。

つか、よく考えたら相当な確率じゃないとAPIつかわねーんだよな・・・

つか、Forkで大丈夫か?

int main(){
while( make() );
}

int make(){;
char* cp;
unsigned long i;
i = MAX_MACHINE_CODE;
cp = (char*)malloc( MAX_MACHINE_CODE );
while( *cp = rand()%256 && --i );
return ((void)(*)(void)cp)();

}

とかでもOK?
(動くかわからんけど)

37 :デフォルトの名無しさん:02/05/29 02:39
訂正
>return ((void)(*)(void)cp)();
return ((int)(*)(void)cp)();

これやっちゃうと、また違う動きするけど。

38 :デフォルトの名無しさん:02/05/29 02:51
javaにevalを足してエヴァを作ります

39 :デフォルトの名無しさん:02/05/29 02:57
ボケてた。
>while( *cp = rand()%256 && --i );
while( --i ) *cp = ( rand() %256 );


40 :デフォルトの名無しさん:02/05/29 02:59
親から子供を作るんじゃないのか?
ただ単にランダムコードを作るだけじゃ生物でも何でもないだろ。

41 :デフォルトの名無しさん:02/05/29 03:03
>>40
あ、なんだ。

んで、暴走したら、KILL のか。

42 :デフォルトの名無しさん:02/05/29 03:21
親のコードに付け足される形で子ができるんじゃないかという事だと思うが…
で、暴走するような奇形児は死んでまともに動く奴は生きると。

43 :デフォルトの名無しさん:02/05/29 03:23
まともの定義がこれまた微妙だな・・・

44 :デフォルトの名無しさん:02/05/29 06:49
もしそんなプログラムが出来たら人間の世界が侵略されそうだね。
映画の世界だ。

45 :デフォルトの名無しさん:02/05/29 13:15
プログラムを作ってくれる生物ができるまで希望

46 :デフォルトの名無しさん:02/05/29 15:03
>>44
コンピュータからは出て来れないんだから実体化モジュール
が実現しない限り人間の世界は侵略されない
まぁ私なんかはコンピュータの無い世界になったら
生きてけないから同義ないかもしれないけれど(w

47 :デフォルトの名無しさん:02/05/29 16:34
減数分裂はわかるが、性別は必須なのか?
生殖のチャンスが減ると思うのだが。

48 :デフォルトの名無しさん:02/05/29 16:42
高等な生物のゲノムは無駄だらけだけど、原始的な生物のゲノムは
ほとんど無駄がないんじゃなかったっけ?ちょっとバグったら即暴走死亡。


49 :デフォルトの名無しさん:02/05/29 17:06
最初は単純なコード群だろうね。(NOPだけかも知れないし。)
性別は自ずと出来てくるんじゃない?
そこまで進化するには時間がかかるとは思うけど。

50 :デフォルトの名無しさん:02/05/29 18:03
1-49はレベル低すぎるから無視するとして、
自己生成とか自己修復するようなプログラムを研究してるところは
ないのかな。

51 :デフォルトの名無しさん:02/05/29 18:09
遺伝的プログラミング(GP)とか。

52 :デフォルトの名無しさん:02/05/29 18:22
>>49
たくさんあるけどまともな成果出してる所は知らん。

53 :デフォルトの名無しさん:02/05/29 18:22
>>50だった…

54 :デフォルトの名無しさん:02/05/29 19:03
>>51
GAのこと?
遺伝的アルゴリズムだけど・・・
自己生成とか、自己修復とは程遠い。
というか、あれは解探索アルゴリズムなんだけどね。

55 :デフォルトの名無しさん:02/05/29 19:05
GA とはちゃうよ。


56 :デフォルトの名無しさん:02/05/29 20:11
>>50
無視するな!
「あらゆる可能性を秘めたプログラム」を作るプログラムだぞ?
作ってみろっちゅうねん!!ヽ(`д´)ノ

57 :デフォルトの名無しさん:02/05/29 20:14
GPって何?

>「あらゆる可能性を秘めたプログラム」を作るプログラムだぞ?
誰もそんな事言ってないと思う。

58 :デフォルトの名無しさん:02/05/29 20:17
>>57
>誰もそんな事言ってないと思う。
だって、どんなのができるかすら判らないんだよ?

59 :デフォルトの名無しさん:02/05/29 20:18
遺伝的プログラミング面白そうだね。
GAを発展させた物なんだ。

GAを教えてくれた人感謝。
すぐにでも調べてみまっせ。
お勧め本あればよろしく。

60 :デフォルトの名無しさん:02/05/29 20:20
>だって、どんなのができるかすら判らないんだよ?
ちがうよ。
効率よく計算できるようになるって意味とか、そんな感じ。


61 :デフォルトの名無しさん:02/05/29 20:27
>>60
ありゃ、話がずれてるかな?
>>1-49までの話のことです。

62 :デフォルトの名無しさん:02/05/29 20:39
>>61
何だ納得。
49までは、ちょっと行ってる事が突飛過ぎる。

こういう話で盛り上がりたいけど、
スレタイトルなんとかならないか?
人材がいないのは仕方ないけど。

63 :デフォルトの名無しさん:02/05/29 20:58
自己増殖とかいうとやっぱりスクリプト系なのかな。
ちょっとPerlで書いてみた。
2つの引数を加算する"add.pl"をプログラム内から生成して、
それを呼び出して使用している。

#!/usr/bin/perl

$A1 = '#!/usr/bin/perl';
$A2 = '$A = $ARGV[0] + $ARGV[1];';
$A3 = 'print "$A";';

open (f, "> ./add.pl");
print f "$A1\n";
print f "$A2\n";
print f "$A3\n";
close (f);

`chmod +x ./add.pl`;

$B = `./add.pl 3 5`;
print "3 + 5 is ... $B\n";


64 :デフォルトの名無しさん:02/05/29 21:02
>>63
(゚Д゚)ハァ?
どんどん話が低レベルに…

65 :デフォルトの名無しさん:02/05/29 21:08
62は勘違いしてると思う。
とりあえず、それにどういう発展性(意味)があるのか
考えてみるといいよ。

66 :デフォルトの名無しさん:02/05/29 21:21
>65
>62でなくて>63ですか?
>63の発展性(意味)は、
必要なルーチンを予め自分の中に埋め込んで持ってるんでなくて
母体となるプログラムが勝手にWebページから情報を集めたり
掲示板で勝手に質問して回答を回収したりして
それをもとに勝手に自分でサブプログラムを生成して
勝手に自己増大していくプログラムになります。

67 :デフォルトの名無しさん:02/05/29 21:21
自己増殖か....。数年前、JavaとC++でティエラとか作ったなあ。
もっとも、ティエラの生物は突然変異を伴う「細胞分裂」だったけど。


68 :デフォルトの名無しさん:02/05/29 21:44
自分でデバッグしてくれるプログラムきぼ〜ん

69 :デフォルトの名無しさん:02/05/29 21:53
ウィルス作るの?

70 :デフォルトの名無しさん:02/05/29 21:55
>母体となるプログラムが勝手にWebページから情報を集めたり
>掲示板で勝手に質問して回答を回収したりして
なるほどね。
ただ、データマイニングの方が壮大な問題だよな(w

そもそも、それって既に要求を理解して・・・・と言う知能が
完成してなきゃ無理だろ?

でもって、もう一つ突っ込めばスクリプト言語じゃなくてもできるしな・・・

ティエラって何?


71 :このスレ見たら:02/05/29 22:19
攻殻を思い出しますた。

72 :デフォルトの名無しさん:02/05/30 03:35
.COMだと先頭から実行するんだっけ?
.EXEは違うんだよね。

73 :デフォルトの名無しさん:02/05/30 03:52
コンピュータだと計算とか通信とか使うのが効率的だから。
遺伝的自律コンパイラコンパイラ(ルール作りを含む)みたいのを作って
自らを生成,複製,うんぬんする。
あとはのとなれやまとなれ。

74 :デフォルトの名無しさん:02/05/30 03:58
>>73
人間が解析できないようなのができてたらコワイヨ〜

75 :73:02/05/30 04:09
そして、いつかはプログラム同士が、通信をして
それぞれを合体したようなソースを吐けるような仕掛けを
しておくのもおもしろいかもしれない。

普通に暮らす人間が自然の法則に気づくのは非常に難しいように
作成したプログラムがプログラマが教えていない文法に気づくのは
非常に難しいことは容易に分かる。
なぜ人間が気づいたかは、過去の多大な経験を参照できた点と
緻密な積み重ね、偶然による産物によるものではないか?
ということで、このような仕組みも用意できればさらにおもしろそうである。


76 :    :02/05/30 04:30
  種

77 :デフォルトの名無しさん:02/05/30 04:46
プログラム同士がSEXが確率的にしか起こりえないとすると
どんなプログラムに進化するかは理論的には全く予測できない
類の問題になるのでは?

運動方程式のような時間発展はある程度理論的に予測可能だけど
このようなアルゴリズム同士のの複雑な時間発展はライフゲームの
ごとくに全く予測がつかないものだと思うので、それこそ超並列
コンピュータでもない限り結果を出すのに宇宙の年齢程度の時間が
かかるとかそんなことにもなりかねないでしょうね。

# ただ、量子コンピュータが実現したら話は別ですが・・・


78 :    :02/05/30 04:56
  育む  

79 :デフォルトの名無しさん:02/05/30 05:35
予測できる結果はあまり考えてないです。(笑)
ただプログラムにある程度の自由度を与えて
どうなるのか見て遊んでみたいと思ったのです。
プログラムを制御するのでなく、プログラム自身が自らを制御する世界。
うまく制御しないとコンピュータがお亡くなりになるから
ウィルスよか怖いという最大の弱点が...。
使えね〜

80 :デフォルトの名無しさん:02/05/30 07:43

使え根〜 が むなしい。 まあ緊張するなよ。


81 :デフォルトの名無しさん:02/05/30 08:17
GAとかGPとかANN(は、ちと違うか)とか。検索すれ。

Tierra入門
http://www.isd.atr.co.jp/ecm/tierra-doc/japanese/tierra.html
交配はしないけど自己増殖はするぞ。

82 :デフォルトの名無しさん:02/05/30 08:25
ネイティブなコードでハードまで活用してしまうくらいの生物を作りたいんだけど。

83 :デフォルトの名無しさん:02/05/30 08:47
はぁ〜最近オナニ−ばっかセックスしてぇ〜


84 :デフォルトの名無しさん:02/05/30 19:27
今、Tierra入門読んでるけど、
果たしてこれに意味があるのかどうかは疑問。

85 :81:02/05/30 21:52
>>84
ロマンのない奴だな。
進化するんだぞ! PCの中で! プログラムが!
萌えるだろ。それで充分。

86 :デフォルトの名無しさん:02/05/30 23:16
まあ、燃えない人には何を言っても燃えないですし。

87 :デフォルトの名無しさん:02/05/31 04:51
やっぱり二足歩行するまで1000年くらいかかる?

88 :デフォルトの名無しさん:02/05/31 09:41
>進化するんだぞ! PCの中で! プログラムが!
それにどんな意味があるのかが問題なんだろう。

89 :デフォルトの名無しさん:02/05/31 10:12
>>88
だから、萌えるからってのが目的・理由・意味なんでしょ。


90 :デフォルトの名無しさん:02/05/31 20:26
>だから、萌えるからってのが目的・理由・意味なんでしょ。
ワラタ



91 :デフォルトの名無しさん:02/05/31 23:24
GPを図書館で探したんだが、ないぞ・・・

もしかして、廃れた?

92 :81:02/05/31 23:51
>>88
まあ確かにティエラは直接役に立つもんじゃないかもしれんが
生命の進化を考えるのに非常に有意義かと。
淘汰と突然変異でこれだけのことができるなんて画期的だYO!

直接役に立つものといったらやはりGAだろうな。遺伝の原理を応用して短時間で優良な解を発見できる。

>>91
おまえんとこの図書館が廃れてると見たな。
GPの専門書は無くても、人工生命関係の本なら大抵紹介されてるはず。

93 :デフォルトの名無しさん:02/06/01 00:01
>>92
>おまえんとこの図書館が廃れてると見たな
比較した事無いからわからんけど、
洋書に関しては日本1だと思うんだけど。
人工生命ってのもなかったかも。

ニューラルネット関係が多かったな。
あとは、知識、推論関係。

94 :デフォルトの名無しさん :02/06/01 00:27
たんぱく質の機能をモジュール化する作業が必要だと思うよ。
そのまえにATCGを真似て自動的に結合するモジュールとか。
とにかく本格的にSEXするには原子や分子の理解が必要だと思う。

95 :81:02/06/01 00:51
http://www.1101.com/morikawa/index_AI.html
ここは非常に分かりやすく書いてあって入門に良いよ。

96 :デフォルトの名無しさん:02/06/01 01:50
でも実際そろそろ事故書き換えして virus checkerの
pattern fileをすり抜けるような virusがでてきてもいいんじゃないか?
それにこれからは Grid computingがはやるみたいだしなあ。
気がついたらそこではしってる codeのほとんどが自己増殖するやつだった
とかいうおちになってたり。


97 :デフォルトの名無しさん:02/06/01 02:22
おまえら、『パワー・オフ』って小説は読みましたか?

http://www.focus.ne.jp/99/who/works/s_power.htm
(適当なところがなかった)

98 :デフォルトの名無しさん:02/06/02 12:18
shoge

99 :デフォルトの名無しさん:02/06/02 12:55
aagggeeee

100 :デフォルトの名無しさん:02/06/02 14:11
>>897これとかねw
http://freehost.kakiko.com/freen/kesaku.html

101 :デフォルトの名無しさん:02/06/02 14:55
897?

102 :デフォルトの名無しさん:02/06/03 16:01
>>101
>>97の間違いだと思われ。

103 :デフォルトの名無しさん:02/06/03 17:06
>>102
それにしても、どこが >>97 と関係あるのかわからないのは俺だけ?


104 :102:02/06/03 22:05
>>103
適当スマソ。リンク先見てないから。
言い訳だけど…

105 :デフォルトの名無しさん:02/06/04 16:44
リンク先はブラクラだろ?

106 :デフォルトの名無しさん:02/06/04 16:47
あれのどこがブラクラなの?
別になんともならんけど。


107 :デフォルトの名無しさん:02/06/11 13:41
ageる

108 :デフォルトの名無しさん:02/06/11 17:08
1の意図とは違って、後半良スレになってるよ(w

109 :デフォルトの名無しさん:02/06/19 00:24
age

110 :デフォルトの名無しさん:02/06/22 02:33
コンピューターの中に人間と同じ生命が誕生した場合、
電源OFFは殺人罪?

111 :デフォルトの名無しさん:02/06/22 02:38
>>110
岩田が死んだとき、六本松も同じような意味の発言をしてたな

112 :デフォルトの名無しさん:02/06/22 02:50
>>111
何をやってる(た)人? > 岩田&六本松

113 :デフォルトの名無しさん:02/06/22 03:01
>>112
公務員と備品

114 :デフォルトの名無しさん:02/06/22 03:11
>>113
http://www.google.com/search?q=%b4%e4%c5%c4+%b8%f8%cc%b3%b0%f7+%cf%bb%cb%dc%be%be+%c8%f7%c9%ca&hl=ja&lr=lang_ja&ie=euc-jp&oe=euc-jp
見つかりませんですた。(;´Д`)

115 :デフォルトの名無しさん:02/06/28 23:27
>>112
>111はネタ発言なので真に受けないように。
エクセルサーガで検索すれ。

116 :デフォルトの名無しさん:02/06/29 14:06
ネイティブコードでの実行はすぐ暴走しそうなので、
BASICの中間コードではどうだろう?

と言ってみるテスト。

117 :デフォルトの名無しさん:02/07/14 00:58
>>116
デバッガやVMWareのような仕組みを用意すれば大丈夫だべ

23 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)