2011/05/28(土)Q. パンはパンでも食べられないパンは、パンなの?

はてブ数 2011/05/28 23:54 未分類つーさ

すごい、社会人生活始めて、もう2ヶ月ですか。あっという間です。

最近、もっと自分というものを豊かにしたいなぁと思ってます。
自己投資。したいけど、金がない。時間もない。……いや、時間はあるか。

毎日仕事が終わると、ついつい、みんながいるゲームセンターに足を向けてしまう。みんなといる時間が楽しくて。
楽しいけど、確かに楽しいんだけど、ただちょっと不感症というか。
楽しいばかりじゃなくて、もっといろいろ刺激を受けないといけないなぁと思ったり。
刺激をアウトプットに変える習慣というか。

ブログをちゃんと書いてないと、どんどん思考力が低下するというか。
受け取る力もそれを加工する力も落ちていっちゃう気がしているといいますか。
そう、ちょうどこの記事のようにまとまらない感じになってしまう。
最近はTwitterもあんまりつぶやいてないのでなおさら。

日常的なしょうもないことでもいいので、ちゃんと何かをアウトプットすることをした方がいいかなと思います。

2011/03/25(金)2011-03-25

はてブ数 2011/03/25 22:34 未分類つーさ

昔は僕はこんなに餓鬼じゃなかったのになぁ……。

不平や不満が尽きない。
昔から自分に対するそれはたくさんあったけど、
最近は自分以外の人間に対するそれを抱くことが、
昔に比べて多くなってしまったように感じる。

「僕はこのくらいやっているのだから、
 相手もこのくらいやってくれて当然だ」とか、
「それは僕じゃなくて彼の仕事だ」とか。

他の人がしてくれた質の低い仕事も呪ってしまったり、
言い出しっぺが責任を全うできてないことに苛立ったり、
ちょっとした気遣いが行き届いてないことですら腹が立ったり。
確かに、昔に比べてやらなきゃいけないことが増えてしまって、
すべてを抱え込む余裕は、今の僕にはない。それは事実だろう。
でもだからといって、それを言い訳にしていいはずなんかない。
裏側からみれば、僕だって全部できてるわけじゃない。
なるべくちゃんとやろうとしてはいるけど完璧じゃない。

どうせ苛立つのなら、他の人に対してではなく、
そういう状態になることを見越せなかった自分だけを呪い、
自分だけに苛立って、猛省して、生きていきたいと思う。
他人にイライラするのは、とても不健康だ。
どうか、権利を主張する前に義務を果たしたいものだ。

今日荷物が増えるまでの2日間、
家にはベッドとノートPCしかなかった。
生活規模の縮小とでも言うのだろうか。
本当はこれだけあれば、僕は生きていけるのだ。

管理しきれる範囲、気を配りきれる範囲に、
いったん営みの規模を縮小して、
そこからまた少しずつ広げていくのも、悪くない。

きっと、その方がストレスの少ない生活が送れるはずだ。
何もかも、いったん捨てて、身も心も、リセットだ。

2010/10/20(水)コンピュータは人より頭がよくなれるか

はてブ数 2010/10/20 13:41 未分類つーさ

元々は、ゲーム中で人間であるプレイヤーを十分に楽しませることができるCOMプレイヤーを作るにはどうすればいいかという話だったのだけど、いつの間にか人間より強いコンピュータを作るとかいう話にすり替わっていた。

2人ゼロ和有限確定完全情報ゲーム ならばどこまでも学習させれば常に「負けないための」最適手を打つことはできるかもしれない。

そうでないゲームの世界(たとえばカードゲームとか)で、そもそも強いって何だろう。プレイヤーがその時点で知り得ないこと(情報ではなく知識と経験)を利用しているから強いんじゃないのか。

学習による評価関数の蓄積があろうと、何が蓄積されているかを知っていれば人間よりは強くならないという主張をされたが、それは人間の記憶力がコンピュータの記憶力に勝っていて、人間の判断力がコンピュータが下すそれよりも高速であればという前提が必要なのではなかろーか。

というかそもそも、今のコンピュータが強くないのは、その部分の蓄積が人間のそれより劣っているからと考えられるのではないか。人間と人間が戦おうが、コンピュータとコンピュータが戦おうがそれはもう同じ土俵だろう。

そして、十分に強いプレイヤーの手を学習したコンピュータは当初の目的は十分に果たされているし、僕はそれで満足なのだが。

1980/01/01(火)ごみ

はてブ数 2011/09/01 23:47 未分類つーさ

#include <stdio.h>
#include <windows.h>

#pragma comment(lib, "wsock32.lib")

int main(int argc, char *argv[])
{
	char buf[1024];
	WSADATA wsadata;
	WSAStartup(0x0002, &wsadata);

	// socket
	SOCKET soc = socket(AF_INET, SOCK_DGRAM, 0);
	printf("socket: %d\\n", soc);

#if 1
	// bind
	sockaddr_in addr;
	addr.sin_family = PF_INET;
	addr.sin_port = htons(59000);
	addr.sin_addr.S_un.S_addr = 0x0200007Fu; // 127.0.0.2
	addr.sin_addr.S_un.S_addr = 0x0300007Fu; // 127.0.0.3
	int ret = bind(soc, (sockaddr*)&addr, sizeof(addr));
	printf("bind: %d\\n", ret);
	if (ret != 0)
		return 1;
#endif

#if 1
	// recv
	printf("waiting...\\n");
	sockaddr_in from;
	int sizeoffrom = sizeof(from);
	int r = recvfrom(soc, buf, sizeof(buf), 0, (sockaddr*)&from, &sizeoffrom);
	printf("recv: %d\\n", r);
#else
	// send
	printf("sending...\\n");
	sockaddr_in to;
	to.sin_family = PF_INET;
	to.sin_port = htons(59000);
	//to.sin_addr.S_un.S_addr = 0x0200007Fu; //unicast
	to.sin_addr.S_un.S_addr = 0xFFFFFF7Fu; //broadcast
	int r = sendto(soc, buf, 16, 0, (sockaddr*)&to, sizeof(to));
	int err = GetLastError();
	printf("send: %d, err = %d\\n", r, err);
	
#endif
	closesocket(soc);
	WSACleanup();
	return 0;
}