「DS」を含む日記 RSS

はてなキーワード: DSとは

2007-10-11

http://anond.hatelabo.jp/20071011155932

自己フォロー。

結論から言うと、zeroProxyでNintendoDSのWifi接続をすることはできない。

zeroProxyはHTTP Proxyなので、port80を転送しているんだと思うんだけど、

DSのWifi接続ではport80以外にもUDPのport53あたりも使っている模様。

WindowsXP SP2におけるポート開けはアプリケーション単位での制御なので

ちょっと別の話だけど、USBのWifiコネクタを使った場合は必要らしいので

話はあう。

http://anond.hatelabo.jp/20071011152949

エラーコード51300についてはこのへんかなあ

エラーコード一覧 - NintendoWi-Fi WiKi

というかうちにはXPパソコンはないけどちゃんとつながってるよ。

LANケーブル→無線LANルータパソコン(W2K)

という配線で、DSから無線ルータ接続

エラーコードだけでは、つながらない原因はわかりません。

環境を教えてくれればわかるかもだけど、その様子だと増田はかなーり初心者な感じ?

ルータメーカサポート電話しちゃうのが早いかも。

DSがつながらない、という質問はたくさん来てるだろうし。

無線LAN環境がないって最初の書き込みにあった。ゴメン。

がんばれ!

もっと追記

おおっ、自分もアドエス使ってるから親近感。

ZEROProxyは自分の環境では不要だけど、DSもあるし試してみよーかな。

anond:20071011040415

いやいや大丈夫、というか「DSのWi-FiXPじゃないとダメ」についてちょっと確認させてくれ。

田村ゆかりは、Windows mobile機を無線ルータにするという話だよ。

XPじゃないとダメ」というと思い浮かぶのは、有線LAN接続しているパソコンに差すだけでDSから接続できるようになる無線LANアダプタだけど、DSネットにつなぐにはほかの方法もあるよ。

LANケーブル→パソコン直結

LANケーブル→無線LAN機能つきルータLANケーブル→パソコン

にして、

無線LAN機能つきルータDSからアクセスすればヨシ。

ためしてみてね!

http://anond.hatelabo.jp/20071011010630

自分は通勤時にはいつも本を読むかDSしてるかで両手が塞がっていて、そのどちらもできないほど混雑してる場合は両手でつり革に捕まっているから、冤罪対策で気をつかって両手を塞ぐのが大変!という人の言い分は実はよく分からない。

DSは幼稚だから嫌だって人はいそうだけど、本読めばいいのでは。

気弱そうに見える女性に気弱に見えないようにさせたり(?)、護身術を覚えさせたりするよりよっぽど楽だと思うんだけど。

2007-10-10

http://anond.hatelabo.jp/20071010080422

>食卓でゲームダメなのではなく、汚い手でDS触るという行為がダメ

普通は「DS触った汚い手で飯を食う」行為を責めるべきだろう。

あれ?ひょっとして俺だけの感覚…?

http://anond.hatelabo.jp/20071010094155

うん。おれは「音がないとダメ」派かも。

正確に言うと「大きな音があると無条件で喜んじゃう」派。花火とかも大好き。

なので

混雑した電車内でヘッドホンから漏れ音楽には苛立つ人々が、なぜに大音量の有線放送を聴き流すことができるんだろう。

http://anond.hatelabo.jp/20071010070250

には大賛成!

電車の走行音より、コンビニ有線より遥かに小さいのに、なんで注意とかすんの? 音が漏れたことであなたの人生に何か迷惑が? 逆に聞いてるほうは自分の好きなことを中断させられて、そのうえ見知らぬ人にいきなり悪意をぶつけられて、結構へこむんですけど。なぁ、それってただ「良識に従って注意してるおれかっこいー&日常のスリル!」ってだけ違うんかと。

みたいな。

あとアレ

自転車の人もリストの人もさ、それって「アレルギー」なの? 「アレルギー的に嫌」なの?

不可避な神経的メカニズムにもとづく病理なのか、文化的な、要するに「気分」なのかっていう。特に後者とかは

「おれって先祖が蛇神族だったみたいだからさー、煙草キライなんだよねー」

とか言ってる中学生と変わりないように思いますが。邪気眼邪気眼(くわばらくわばら、のアクセントで)。

あ、MINMIシャナナは良かったよね。使いやすい、とゆーか爆発力があった。夏場にお世話になりました。

邦楽でソカが売れたのって、初じゃね?

最後に関係ないけどトラバ関連で

食卓でゲームがダメなのではなく、汚い手でDS触るという行為がダメ

鋭い!!!!

でも世界おもちゃメーカーNINTENDOはそこまで計算に入れて作ってるはず!

[]食卓でゲームダメなのではなく、汚い手でDS触るという行為がダメ

http://anond.hatelabo.jp/20071010071439

「ひたすらポテト掴んで口に入れて、手を服で拭いて、DSピコピコ。」

これはダメだろ。服とDSに謝れ!!

ゲーオタが見ても服オタが見ても電子機器オタが見てもその子供を殺したくなる最低の行為。


http://anond.hatelabo.jp/20071010075244

コンビニはいろんな音楽がかかってくるからまだマシじゃないか。

家電量販店と比べれば。

http://anond.hatelabo.jp/20071009113627

外食中に隣の客がなにをやっていようが最高にどうでもいいのはもちろんなのだが、

食卓でDSやってたらダメなの?

自分なら相手がPS3やってても気にならないけどな。

2007-10-09

そんなあなたに

DSを買う

・MacOS9を買う(※)

http://anond.hatelabo.jp/20071009202754

MacOSXで何が一番ガッカリだったって、フォルダの色分けができないことでも、ウィンドウを下に置いておくことができなくなったことでもなく、誕生日のあれがなくなったことだ。

http://anond.hatelabo.jp/20071009160115

マクド子供DS?躾?死ね?なんか話がぜんぜん繋がらないんだけど。何が言いたいんだろう…」

http://anond.hatelabo.jp/20071009155127

マクド子供DS?躾?死ね?なんか話がぜんぜん繋がらないんだけど。何が言いたいんだろう…」

http://anond.hatelabo.jp/20071009135605

んじゃあDSやるから正しい子育てやってよ

つうのが世間知らずだってんだよお嬢ちゃん

勘違いすんなよ

お前の目の前にいたのは薄汚い貧乏人の躾のなってないクソガキだよ

でもお前となんら変わらない生物なんだよ

みんな意外に寛容なことにびっくり

昭和60年生まれなんで昭和人間といえば昭和人間でしょう。物心ついたときには既に平成でしたが。

http://anond.hatelabo.jp/20071009133344

申し訳ない。

http://anond.hatelabo.jp/20071009132533

恥ずかしい。おそらく食べてればいい、のTABEがATABEになったかと。もういいやこのままおいておこう…

http://anond.hatelabo.jp/20071009134250

一人でご飯食べるときは本読もうがパソコンしてようがゲームしてようが全然いいんですよ。行儀悪いことは確かだけど。ただそれを誰かとご飯食べてるときにするのはどうなんだ。しかも親だよ親。敬意ってものはそこには存在しないのか。いや、そんな大層なものじゃなくてもいい、何かしら抵抗はないのか、ゲームするなんて考えられないのが普通じゃないのか。失礼だとはこれっぽっちも思わないのか、てことがいいたいわけなのです。

意外に増田の反応が寛容であることにびっくりしました。びんぼたってね、DS買い与える程度の財力はあるわけですよ。

この思いに対して、友人が同意してくれたことが幸運だったことは分りました。同意してくれる人だからこそ、私と仲がいいのかもしれませんが。

http://anond.hatelabo.jp/20071009130550

まあ見てもらえたら一番なんだけど、注文にいくところから始まってお母さんがトレイに二人分のセット乗せて戻ってきて、はいこれあんたの分、てやるところまで、全てお母さんの行動をガン無視してDSやりっぱなしだったんだよ。いただきますもいわないし、そもそもごはん食べる時にゲームかよ死ね。とか思ったり。

子供が親の機嫌伺うのはもちろん分るし、話しかけないようにしよう、という気遣いをしたことももちろんある。ただ話しかけない時にゲームする必要ない。黙って行儀よく亜食べてればいい。そんな気遣いからきている行動にはこれっぽっちも見えなかったけど。

私が子供の頃は携帯ゲーム機なんて買ってもらえなかったし、親に対してあんな傍若無人な振舞いは考えられなかった。ごはんの時に本読んだりゲーム読んだりなんて、思いつきもしなかった。それは物凄く失礼で行儀の悪い行為だと染み付いていた。母は専業主婦だったし、贅沢なリソースといわれればそれまでだけど。

昨日マクドに行ったら

横の席が小学校低学年くらいの男子とそのお母さんの二人連れで、それはどうでもいいんだけど、その子供がずっとDS触ってる。お母さんガン無視。お母さんが買ってきてくれたチキンフィレオセット(全く同じものを私も食べていたので覚えている)もガン無視。ひたすらポテト掴んで口に入れて、手を服で拭いて、DSピコピコ。お母さんは慣れているのか躾ける気がないのか何も言わない。男の子ゲーム機から全く眼を離さない。

なんて躾がなってないガキだろう。死んでしまえ。

と思って同席していた友人を見たら、微妙な顔をして「同じこと思った気がする」と言われた。ちょっと救われた。

逆隣の席には幸せいっぱいな家族が座っていて、そっちを眺めることで癒された。

ああいうガキがいずれ同席している人間がいても平気で携帯をいじり続けるような不愉快な大人になるのだろう。その時私は結構な年寄りで、最近の若い者は。。とでも言うのだろうか。あの子を躾けたのはあのお母さんなのに。でもそのお母さんはとても疲れきった顔をしていて、私の怒りは彼女ではなくて子供に向かったのだ。

2007-09-26

家族を語ってみる

父は公務員です…大酒飲みで母はよく、廃品回収ときに一升瓶を大量に捨てるのが恥ずかしいと怒ります。ヘビースモーカです。でも最近勤務先が完全禁煙になったので本数は減ってるようです……自称ニコチン中毒でアルコール中毒です…後者は結構近い位置にいるんじゃないかと心配です……それ以上に、毎晩今日は勤務先で○○と喧嘩してやった!と武勇伝を語るので、娘は父の社会生活が心配でなりません…

母は専業主婦です…未だにセンター試験に毎年チャレンジしてます……英語古典は私より全然点数取るので悔しいです……数独とお絵かきロジックが大好きで、最近脳トレに興味を示しているので誕生日プレゼントDSとセットで贈ろうか悩んでいます…よく父と結婚したな…と思うときがあります……実は30年近く一度も運転したことがない超ぺーぱーどらいばーです。

妹と弟は大学生です……二人とも旧帝大にいったので姉である私は立つ瀬がありません…でも私が高専に行ってお金節約してやったおかげだと恩を着せることにしてます……妹は地元大学にいきましたが弟は遠い大学にいってしまいました…日本縦断するかのように遠いところです…姉はなぜ弟があんなところにいってしまったのかちょっと不思議です…家に帰っても弟がいないというのは寂しいものです……ボクシングごっこをする時…レフェリー役が足りないのです……20才超えた女が二人、殴り合いに興じるというのはどうなのでしょうか…

妹も弟も工学部です……父も母も文系なのに子供x3は見事に理系になりました…きっとミニ四駆の改造にきょうだい全員ではまっていたせいでしょう……

大好きな私の家族です…私は同じように素敵な家族を作ることができるんだろうかと、最近よく考えます…

2007-09-14

今の子供達にどうやってプログラミングの楽しさを教えたらいいのか?

うちはとても貧乏だったというのに、なぜか俺が小学三年生のときに、親父がパソコンを買ってきた。

親父は電気工事屋をやっていたから電気製品が好きだったんだろう。

当時小学六年生だった兄貴機械いじりが好きだった。 電子ブロックなんてのが家にあった。

とはいえ、二十万円もするパソコンコンビニウーロン茶を買うかのように買ってきた親父が、あとでオカンになんて言われたのか、いまとなっては知るよしもない (いや、親父もオカンもまだ生きてるので、聞こうと思えば聞けるが) 。

ともかく、俺が小学三年生の時には家に MZ-2000 というパソコンがあった。

三年生のときはそもそもパソコンとはなにかも知らなかったし、親父も兄貴も壊れものを扱うかのように大事に触るので (実際壊れものだ) 、俺には触らせてもらえなかった。 親父や兄貴の背中越しに見ているだけだった。

当時はパソコン用のソフトなんてのがそこらに売っていたわけではないし、 DSソフトのように気軽に買えるようなものでもなかったので、付属BASICポチポチ入力しては RUN する、これしかなかった。

それでもなにかすごいことがこの銀色の箱の中で起きているということは、子供ながらに理解した。

そのうち学年が進んで小学五年生になるころには、俺も兄貴といっしょにプログラム入力したりしていた、と思う。 六年生ぐらいだったかもしれない。

当時はベーマガという雑誌があった。 毎号買ってきては、短いプログラムだけ選んで入力した。

そういえば、 MZ-2000付属していたオレンジの本も、子供知的好奇心をおおいにあおった。 中西さん挿絵が絶妙だった。

ベーマガには、「アルゴリズム」という単語がわりあい頻繁に登場していたと思う。 体操じゃないよ。

高度な関数も使えない、グラフィックもろくに扱えない当時のパソコンで、おもしろいゲームを作るにはアイデア勝負、とりもなおせばアルゴリズム勝負みたいなところがあった。

サイン関数を使って放物線の動きを表現したり、 X 軸の動きと Y 軸の動きを入れ替えて物体の反射を表現したり。

いまではなんてことはない小手先以下の技だけど、そもそも当時のパソコンではそんなことぐらいしかできなかった。

パソコンサンデーでもアルゴリズムという単語がわりとよく出てきていたと思う。

そんななかで、パソコンというのが魔法の箱ではなく、ちいさな処理を組み合わせてなにかをするものだということを理解した。

そのころすでに親父はパソコンさわりもせず、兄貴と俺のオモチャと化していた。

グラフィックボードと G-RAMカラーディスプレイまで買ってくれたんだから、親父の無駄遣いもここに極まれりというもんだ。

数十しかない BASIC の命令を組み合わせれば、色つきのグラフィックや音まで出せた。 BASICプログラミングは楽しかった。

兄貴夏休みを数日使って I/O に載っていた「フォボス」のダンプリストを打ち込んだりした。 ひとりがリストを読んで、もうひとりがそれをひたすら打ち込んだ。 ダンプリスト呪文雑誌数十ページ分打ち込んだら、ものすごいゲームができた。 楽しかった。

中学に進んで、 Oh! MZ を読んでアセンブラや他の言語にも触れ合えた。 あまり深入りはしなかったけど。

高校商業高校情報理科に進んだ。 校内のホストTSSログインして、 COBOLFORTRAN なんかを習った。 情報処理二種も取った。

で、いまはシステム開発の会社にいる。

さて、現在、俺にも子供がいる。

今年の四月で小学三年生になった。

子供には家の PC はさわらせてない。 たまにマウスで絵を描かせるくらい。

現代っ子らしく、 DSポケモンなんかして遊んでいる。 Wii もある。

さて、この子にプログラミングの楽しさを教えるとしたら、どうしたらいいだろう?

いまの PCBASIC付属してない。 ベーマガもない。

あったとして、今の PC で、当時のような短いリストでなにができる?

エミュレータで古いパソコン環境を再現してプログラムさせるか?

それは、周囲に表現力豊かなゲームがあふれている現代の子供楽しいと思えるものか?

アルゴリズムというものをどうやって説明したらいい?

コンピュータが内部でどうやって動いているか、どうすれば簡潔に説明できるだろう?

そもそも現代の子供は、これだけソフトウェアがあふれているなか、コンピュータプログラム入力して、それを動かすことをおもしろいと思わないのではないか?

子供プログラミングを理解するのに、取っつきやすい本やサイトなんかがあったら、誰か教えてください。

いま、プログラミングを楽しんでいる中学生から高校生くらいの若いひとは、どうやってその世界に入っていったんだろう?

2007-09-13

レジ係のインターフェース」を読んでわかったこと。

ぼくはまちちゃん!レジ係のインターフェース

http://d.hatena.ne.jp/Hamachiya2/20070913/cashier

を読んではてぶのコメント欄読んでわかった。

レシートが欲しい奴 → 低所得者

レシートがいらない奴 → 中高所得者

レシートなんていらんのですよ。

低所得の人にはそれがわからんのです。

レシートにある楽天QRコード任天堂DSが欲しいのか?w

2007-09-11

エロ動画ファイル名にタグを付けて管理している俺の話

洋物オンリーなんだ。すまない。

しかもyopzaとか海外エロ動画紹介サイト経由で落としたサンプル動画がほとんどなんだ。すまない。

本題に入ろう。

そのファイル名なんだが、例えば、

「AshleyLong01-se-ds.mpeg

という感じ。

解説すると、

  1. 女優名が分かる場合は最初に書く。分からない場合はフィーリング(足が細いからashihoso、とか)。
  2. 大抵サンプルは3動画くらいある。そのため、デフォルトファイル名としては、↑のファイル名のケツに01、02と連番を振ったものを使用する。
  3. 「-(ハイフン)」を頭に付けることでタグを表す。連番の後に追加していく。

そして肝心のタグだが、私は主にこのように管理している。

  1. 体位se=正常位、ba=バック、em=M字開脚で下からズコバコ など)
  2. 体系(mp=むちむちぷりんslスレンダー など)
  3. イベント3p3Pファ●ク、nd中田氏、sofa=ソファーでプレイ など)
  4. その他(zr=好きな男優のイニシャル、ks=これもイニシャル。近所のゲームショップの可愛いお姉さんに似ている)

など。合理的変態だろ?

余談だがそのzrという男優(おそらくイタリア人)はチ●ポが死ぬほどでかく、

彼の繰り出す容赦ないピストン運動はまさに圧巻の一言に尽きる。


・・・こうして、私の所持する400近いエロ動画にこれらのタグを付ける。

そしてタグで検索(win標準の検索)する。検索結果のファイルを全て選択し、

そのショートカットをあらかじめ作成したフォルダに作成。

こうして、フォルダse」には正常位でズコバコやってる動画のみが集まる。

他の検索でも同じようにショートカットを作る。

こうして種類ごとに別れたフォルダができるわけだ。

ショートカットでも縮小版が表示できる。似たようなエロ動画が集まった様を見るのは快感だ!

(もっと合理的に↑の一連のことが出来るソフトってないですかね・・)

ちなみに、サンプル動画自体は女優ごとにフォルダ分けしている。

女優名不明はまとめて専用のフォルダに保存。

これである程度は整理できるようになった。

増田のみなさん、私のように素敵なエロ動画ライフを満喫しませんか?

2007-09-07

ようこそ、℃-uteLisp の世界へ

発祥: http://ex23.2ch.net/test/read.cgi/morningcoffee/1188654905/

はじめに

Scheme という Lisp 語族言語を用いて ℃-ute相関関係プログラムし、様々な角度から関係性を分析する手法を紹介していきます(ソースコードは最後に張ります)。

まずは、メンバー間の関係を「リスト」というデータ型で表現します。例えば「栞菜->愛理」という関係

(kanna . airi)

という形で表すことができます。これに、「大好き」という情報を付加し、ついでにその関係の性質を数値化したものを加えると

((kanna . airi) (desc "大好き") (score . 1))

のようになり、関係図における一つの矢印の情報データ化できたことになります(暫定的に、好意は 1、良好・中立は 0、険悪は -1 の3段階で表すことにします)。

メンバー間の全ての関係性をこのデータ単位で定義し、データベース化しておくことで、色んな条件に基づいた検索やスコア計算などが可能となります。

例 1: リンク状況の調査

ここで相関関係図における矢印を「リンク」と呼ぶことにして、あるメンバーから他のメンバーへどのようにリンクし、またリンクされているかを調べることができます。

関係の中からリンクの起点を抽出してソートしてみると

(sort-nodes (number-list (from-links)))

結果:

((kanna . 6) (saki . 5) (maimi . 4) (erika . 3) (mai . 3) (chisato . 3) (airi . 2))

栞菜ちゃんがメンバー全員にリンクを張っていることが分かり、℃-ute ラブっぷりが伺えます。なっきーにも同様の事が言えます。例の「女の子が好き」発言を数値的に裏付ける結果と言えるかもしれません。

ただ、データ不足でリンク件数がまだ少ないのと、リンクの性質(好意/反感など)までは分からない点を考慮する必要があるでしょう。

例 2: 被リンク状況の調査

同様に、リンクの終点の件数を調べてみます。

(sort-nodes (number-list (to-links)))
((chisato . 5) (erika . 5) (kanna . 4) (maimi . 4) (airi . 4) (mai . 3) (saki . 1))

えりかちゃんと千聖ちゃんが高ポイントです。メンバーからの人気や注目度の高さを示すデータですが、千聖ちゃんの場合敵対的なリンクが2件含まれている点に注意してください。

なっきーの被リンク数が極端に少ないですが、単純にデータ不足のためだと思われます。はぶら(ryとか言わないようにお願いします。

例 3: 愛情度の評価

リンクに付随するスコアを計算することで、愛情の度合いを測ることができるのではないか、という考えに基づく研究です。

まず、全ての関係性を対象として、スコアマイナス関係を抽出してみます。

(filter-nodes (lambda (n)
		(< (score-relation n) 0)))

結果:

(((kanna . chisato) (desc "愛理に手出すんじゃねぇよ") (score . -1))
 ((saki . chisato) (desc "愛理に手出すんじゃねぇよ") (score . -1)))

件数だけを得ると

(length (filter-nodes (lambda (n)
			(< (score-relation n) 0))))
2

僅か2件です。

良好・中立的な関係

(length (filter-nodes (lambda (n)
			(= (score-relation n) 0))))
8

愛に満ちた関係

(length (filter-nodes (lambda (n)
			(> (score-relation n) 0))))
16

非常に多いです。舞美ちゃんの「℃-ute同士でラブラブなんですよ」発言(例のラジオ)を数値的に裏付ける結果と言えるんじゃないでしょうか。

次に、メンバーごとのスコアを算出してみます。Lisp 的には以下のようにフィルタリングと畳み込み (fold) で計算することができます。例えば

(foldr (lambda (n acc)
	 (+ (get-score n) acc))
       0
       (filter-nodes (cut to? <> 'kanna)))

栞菜ちゃんに対するリンクスコアが得られます。結果:

3

上式を一般化して一挙にメンバー全員に適用してみると

(sort-nodes (map (lambda (x)
		   (cons x (score-loved x)))
		 (all-members)))

結果:

((airi . 4) (kanna . 3) (mai . 2) (erika . 2) (maimi . 2) (saki . 1) (chisato . 0))

愛理ちゃんが好意を寄せられやすい傾向が伺えます。

今度は逆方向のスコアを計算してみると

(sort-nodes (map (lambda (x)
		   (cons x (score-loving x)))
		 (all-members)))
((kanna . 3) (maimi . 3) (chisato . 2) (airi . 2) (saki . 2) (mai . 1) (erika . 1))

まいまいえりかちゃんが特に堅い・一途だという傾向を読み取ることができます。

例 4: 相性の調査

今度は組み合わせ(カップリング)の評価です。

2点間相互のリンクスコアを加算したものを「相性」と考えられるものとします。最大値 (互いに好意を寄せている場合の数値) は現在スコアリング方式では 2 です。例えば

(score-between 'kanna 'airi)

の値は

2

となります。1 であれば一方通行と考えます。

関係性が未定義の場合もあるので 0 のものを除外して算出すると

(sort-nodes (filter (lambda (n)
		      (not (= (cdr n) 0)))
		    (map (lambda (n)
			   (cons n (apply score-between n)))
			 (all-combinations))))
(((chisato mai) . 2)
 ((chisato airi) . 2)
 ((airi kanna) . 2)
 ((saki kanna) . 2)
 ((kanna maimi) . 2)
 ((erika maimi) . 2)
 ((saki airi) . 1)
 ((saki erika) . 1)
 ((kanna mai) . 1)
 ((maimi airi) . 1)
 ((saki chisato) . -1)
 ((kanna chisato) . -1))

となります。若干ピンとこない部分もあるかも知れませんが、計算上は矛盾無くデータの内容を表しています。

参考までに、スコア 1 の相互関係の中身を見てみると

(map (lambda (p)
       (find-relation (cons (caar p) (cadar p))
		      identity))
     (filter (lambda (n)
	       (= (cdr n) 1))
	     (map (lambda (n)
		    (cons n (apply score-between n)))
		  (all-combinations))))
(((kanna . mai) (desc "喰ってやるよ") (score . 1))
 ((saki . airi) (desc "好き") (score . 1))
 ((maimi . airi) (desc "良き妹") (score . 1))
 ((saki . erika) (desc "彼氏にしたい") (score . 1)))

のようになります。

まとめ

以上の調査を経て気になった問題点を列挙してみます。

特に最初の点に関して、「百合的」なるものの質的評価がなかなか難しいと感じました。例えば「大好き」も「良き妹」も同じ 1 と評価してしまっているのが妥当かどうか、といったことです。

また、スレにて与えられた情報を評価・分析する方法としては有効だとしても、逆方向のフィードバックの手段がなかなか見つからないというのが三つ目の問題です(技術力不足とも言います)。(注:画像化の方法が分かりました。追記参照)

最後に、プログラムソースを示します。実行には PLT Scheme が必要です。文字コードUTF-8 で保存した上で、(load "c-ute.ss") としてください。文字化けする場合はターミナルUTF-8 を表示できるよう設定する必要があります。がんばってください。

プログラム

c-ute.ss:

(require (lib "etc.ss")
         (lib "list.ss")
         (lib "26.ss" "srfi")
         (lib "delete.ss" "srfi" "1"))

;;; Utilities

(define true? (compose not not))

(define (ignore _) #f)

(define fif
  (case-lambda
    ((predicate consequent)
     (fif predicate consequent ignore))
    ((predicate consequent alternative)
     (lambda (x)
       (if (predicate x)
           (consequent x)
           (alternative x))))))

(define (concat! xs) (apply append! xs))

(define (mapconcat f lst sep)
  (let lp ((str (f (car lst)))
           (lst (cdr lst)))
    (if (null? lst)
        str
        (lp (string-append str sep (f (car lst)))
            (cdr lst)))))

(define (slice-string str len)
  (let lp ((res '())
           (str str))
    (if (<= (string-length str) len)
        (reverse! (cons str res))
        (lp (cons (substring str 0 len) res)
            (substring str len)))))

(define (break-string str len)
  (mapconcat identity (slice-string str len) "\\n"))

;; NOTE: input and output ports have to be either file-stream or #f
;; (i.e., cannot be a string port)
(define (run exe opt in out)
  (let-values (((p p-i p-o p-e)
                (subprocess out in #f exe opt)))
    (subprocess-wait p)
    (close-input-port p-e)))

;;; Database

;; http://ja.wikipedia.org/wiki/%E2%84%83-ute

(define names
  '((erika . "えりか") (maimi . "舞美") (saki . "早貴") (airi . "愛理")
    (chisato . "千聖") (mai . "舞") (kanna . "栞菜")))

(define (symbol->name sym)
  ((fif true?
        cdr)
   (assq sym names)))

(define nodes '())
(define edges '())

(define (relate from to desc score)
  (let ((n (cons from to)))
    (or (find-relation n
                       (lambda (r)
                         (let ((d (assq 'desc r))
                               (s (assq 'score r)))
                           (set-cdr! d (cons desc (cdr d)))
                           (set-cdr! s (+ score (cdr s))))))
        (begin
          (set! nodes (cons n nodes))
          (set! edges (cons (cons n `((desc ,desc)
                                      (score . ,score)))
                            edges))))))

(define (find-relation n k)
  ((fif true? k)
   (assoc n edges)))

(define (related? x y)
  (find-relation (cons x y) (lambda (_) #t)))

(define (from? n x)
  (eq? (car n) x))

(define (to? n x)
  (eq? (cdr n) x))

(define flip-relation
  (case-lambda
    ((n)
     (and (related? (cdr n) (car n))
          (cons (cdr n) (car n))))
    ((n k)
     ((fif true? k)
      (flip-relation n)))))

(define (get-score n)
  (cdr (assq 'score n)))

(define (get-description n)
  (cdr (assq 'desc n)))

(define (describe-relation n)
  (find-relation n get-description))

(define (score-relation n)
  (or (find-relation n get-score) 0))

(define (print-node . ns)
  (for-each (cute find-relation <>
                  (lambda (r)
                    (display
                     (format "| ~a => ~a  (~a)~%"
                             (caar r) (cdar r)
                             (mapconcat (lambda (s)
                                          (string-append "\"" s "\""))
                                        (cdr (assq 'desc r))
                                        ", ")))))
            ns))

(define (iter-nodes k)
  (let lp ((nodes nodes))
    (unless (null? nodes)
      (k (car nodes))
      (lp (cdr nodes)))))

(define (filter-nodes p)
  (let ((ns '()))
    (iter-nodes (fif p
                     (cut find-relation <> (lambda (n)
                                             (set! ns (cons n ns))))))
    ns))

(define (from-links)
  (map car nodes))

(define (to-links)
  (map cdr nodes))

(define (all-members)
  (delete-duplicates! (from-links)))

(define (all-pairs) nodes)

(define (ordered-pairs)
  (concat! (map (lambda (x)
                  (map car
                       (sort (filter-nodes (cute to? <> (car x)))
                             (lambda (x y)
                               (> (get-score x) (get-score y))))))
                (sort-nodes (map (lambda (x)
                                   (cons x (score-loved x)))
                                 (all-members))))))

(define (all-combinations)
  (let lp ((cs '()) (ns nodes))
    (if (null? ns)
        cs
        (let ((n (car ns)))
          (lp (if (member (list (cdr n) (car n))
                          cs)
                  cs
                  (cons (list (car n) (cdr n)) cs))
              (cdr ns))))))

;; number-list :: [a] -> [(a . Int)]
(define (number-list ls)
  (let lp ((ns '()) (ls ls))
    (if (null? ls)
        ns
        (let ((x (car ls)))
          (lp ((fif not
                    (lambda (_) (cons (cons x 1) ns))
                    (lambda (n)
                      (set-cdr! n (add1 (cdr n)))
                      ns))
               (assq x ns))
              (cdr ls))))))

;; sort-nodes :: [(a . Int)] -> [(a . Int)]
(define (sort-nodes ns)
  (sort ns (lambda (x y)
             (> (cdr x) (cdr y)))))

(define (diff-nodes ms ns)
  (let lp ((ds '()) (ns ns))
    (if (null? ns)
        (sort-nodes ds)
        (lp (let* ((n (car ns))
                   (m (assq (car n) ms)))
              (cons (cons (car n)
                          (- (cdr m) (cdr n)))
                    ds))
            (cdr ns)))))

(define (get-total-score x p)
  (foldr (lambda (n acc)
           (+ (get-score n) acc))
         0
         (filter-nodes (cut p <> x))))

(define (score-loved x)
  (get-total-score x to?))

(define (score-loving x)
  (get-total-score x from?))

(define (score-between x y)
  (+ (score-relation (cons x y))
     (score-relation (cons y x))))

(define (-> x)
  (display (format "~%Links from [~a]~%" x))
  (iter-nodes (fif (cut from? <> x)
                   print-node)))

(define (<- x)
  (display (format "~%Links towards [~a]~%" x))
  (iter-nodes (fif (cut to? <> x)
                   print-node)))

(define (<-> x)
  (display (format "~%Reciprocal links for [~a]~%" x))
  (iter-nodes (fif (cut to? <> x)
                   (lambda (n)
                     (flip-relation n
                                    (lambda (m)
                                      (print-node m n)))))))

(define (<=> x)
  (display (format "~%Reciprocal matches for [~a]~%" x))
  (iter-nodes
   (fif (cut to? <> x)
        (lambda (n)
          (flip-relation n
                         (lambda (m)
                           (if (ormap (lambda (x)
                                        (ormap (lambda (y)
                                                 (equal? x y))
                                               (describe-relation m)))
                                      (describe-relation n))
                               (print-node m n))))))))

(define (<?> x)
  (let ((to (assq x (number-list (from-links))))
        (from (assq x (number-list (to-links)))))
    (display (string-append
              (format "~%Link statistics for [~a]~%"
                      x)
              (format "| ~a => ~a (love ~a)~%"
                      x
                      (cdr to)
                      (score-loving x))
              (format "| ~a => ~a (love ~a)~%"
                      (cdr from)
                      x
                      (score-loved x))))))

(define (info x)
  (for-each (cut <> x)
            (list <- <-> <=> -> <?>)))

;;; GraphViz (http://www.graphviz.org/) support

(define graphviz "C:/Program Files/ATT/Graphviz/bin/dot.exe")

(define (nodes->dot ns)
  (string-append "digraph cute {\n"
                 ;;"\tordering=out;\n"
                 ;;"\trankdir=LR;\n"
                 "\toverlap=true;\n"
                 "\tnode[fontname=\"msgothic.ttc\"];\n"
                 "\tedge[fontname=\"msgothic.ttc\",fontsize=9];\n"
                 (let lp ((str "") (ns ns))
                   (if (null? ns)
                       str
                       (let* ((n (car ns))
                              (s (score-relation n)))
                         (lp (string-append
                              str
                              (format "\t\"~a\" -> \"~a\""
                                      (symbol->name (car n))
                                      (symbol->name (cdr n)))
                              (format "[label=\"~a\",color=\"~a\","
                                      (break-string
                                       (car (describe-relation n))
                                       7)
                                      (cond ((> s 0) "red")
                                            ((= s 0) "green")
                                            (else "blue")))
                              (format "style=\"bold~a\"];\n"
                                      (if (and (not (= s 0)) (< s 1) (> s -1))
                                          ",dashed"
                                          "")))
                             (cdr ns)))))
                 "}"))

(define (write-dotfile dot file)
  (and (file-exists? file) (delete-file file))
  (with-output-to-file file
    (lambda ()
      (display dot)))
  file)

(define (dot->png dot png)
  (call-with-input-file (write-dotfile dot "c-ute.dot")
    (lambda (in)
      (and (file-exists? png) (delete-file png))
      (call-with-output-file png
        (lambda (out)
          (run graphviz "-Tpng" in out)))))
  'done)

;;; Setup database

;; Based on:
;; http://ex23.2ch.net/test/read.cgi/morningcoffee/1188654905/116-142
(begin
  (relate 'maimi 'erika "大好き" 1)
  (relate 'maimi 'kanna "良き妹" 1)
  (relate 'maimi 'airi "良き妹" 1)
  (relate 'maimi 'mai "姉妹" 0)
  (relate 'erika 'maimi "一番可愛いよ" 1)
  (relate 'erika 'kanna "仲間" 0)
  (relate 'erika 'chisato "おソロパジャマ" 0)
  (relate 'kanna 'erika "仲間" 0)
  (relate 'kanna 'maimi "好き" 1)
  (relate 'kanna 'saki "喰ってやるよ" 1)
  (relate 'kanna 'mai "喰ってやるよ" 1)
  (relate 'kanna 'airi "大好き" 1)
  (relate 'kanna 'chisato "愛理に手出すんじゃねぇよ" -1)
  (relate 'saki 'maimi "荷物整理" 0)
  (relate 'saki 'erika "彼氏にしたい" 1)
  (relate 'saki 'kanna "興味がある" 0.5)
  (relate 'saki 'chisato "愛理に手出すんじゃねぇよ" -1)
  (relate 'saki 'airi "好き" 1)
  (relate 'airi 'kanna "受け入れる" 1)
  (relate 'airi 'chisato "最近親密" 1)
  (relate 'mai 'erika "保護者" 0)
  (relate 'mai 'maimi "姉妹" 0)
  (relate 'mai 'chisato "恋人" 1)
  (relate 'chisato 'erika "おソロパジャマ" 0)
  (relate 'chisato 'mai "恋人" 1)
  (relate 'chisato 'airi "最近親密" 1))

;; query relations / draw graphs

(if (file-exists? graphviz)
    (dot->png (nodes->dot (ordered-pairs))
              "c-ute.png")
    (for-each info (all-members)))

追記(グラフ描画について)

Graphviz というソフトによって関係図を可視化できる、ということを教えていただきました(既に上プログラムを実行すると自動的に関係画像を作成するようにしてあります)。ここでは技術的な観点から幾つか注意点を挙げておきます。

まず、Scheme プログラムから Graphviz を動かす方法について。コマンドラインからの起動のように、プログラムへのオプション文字列で入出力ファイルを指定する方法ではどうも上手く行きませんでした。調査の結果、入出力ファイルポートScheme 側で用意しておく必要があるようです。処理系によって異なりますが、PLT Scheme の場合 subprocess という関数を次のように呼び出します。

(subprocess output-port input-port #f "/path/to/dot.exe" "-Tpng")

ここで output-port は png画像ファイルへの出力ポート。input-port は dot ファイルグラフの定義ファイル)の入力ポートです。エラーポートは必要無いでしょう (#f)。

dot という名前の実行ファイルが、関係図のような有向グラフを描画するプログラムです。最後にオプション文字列として出力形式を指定します(png, jpeg, gif, etc.)。

次に dot ファイルScheme で書く方法ですが、以下の基本的な有向グラフの書式

digraph g {
  A -> B;
  B -> C;
  C -> A;
}

を理解すれば、後は実直に Schemeデータを当てはめて format 関数等で変換するだけです。

(string-append
 "digraph g {"
 (format "~a -> ~a;" (car node) (cdr node))
 "}")

問題は、ノードを配置する順番によって出来上がる画像が変わってくる、ということです。

より見た目に分かりやすくするための工夫としては、相互にリンクするノード同士が dot ファイル上でも近接して出力されるようにすると良いでしょう。関連の強いものが画像の上でも近くに表示されるようになります。

また上述(特に例3)のスコア概念を応用し、スコアの低いものが後に出力されるようにすることで、重力感覚に一致するような関係図を得ることができるでしょう。

2007-08-29

英語TOEIC向けの奴は後々絶対役に立つよ!!

DSとかでできる奴もあるし。

http://anond.hatelabo.jp/20070829023803

2007-08-24

情報系の専門家だけど原丈人が言ってる「コンピュータ中心の世界はまもなく終わる--米VCが描く未来」が間違ってると思う件

http://japan.cnet.com/interview/story/0,2000055954,20354687,00.htm

本当に全然意味がわかりません。

なので、意味がわからないところを指摘します。

いま広く使われているコンピュータというのは文字通り(compute=計算の意味)、計算機能中心主義のアーキテクチャですから、プログラミングなど計算用途に使うには最適な道具です。しかし、インターネットが出てきてから、パソコンを計算目的で使っている人はほとんどいませんよね。Eメールなどのコミュニケーションや、それに関連して検索サービスなどを使うことがほとんどでしょう。

情報科学というのは、Eメールから音声から写真まであらゆるアナログデータデジタルデータとして扱います。このデジタルデータを「情報」と予備、情報を制御する方法を「計算」と呼びます。パソコンインターネットをすることは「計算」以外の何物でもありません。従って、パソコンを使うユーザーは暗に「計算」をしています。ただ、プログラミングをしないのは、誰かが作ったプログラムに計算させているからに過ぎません。

 もともと計算機能を最適化するために作られている道具を、違う目的であるコミュニケーションのために使うとどうしても使いにくい。そうなると、人間機械に合わせないといけなくなってくるんです。

計算機は情報を処理する道具であり、計算機能を最適化することは自然なことです。ですが、人間が計算機と対話する場合、インターフェースを介します。現在パソコンで標準的に用いられているインターフェースは、ディスプレイマウスキーボードです。この点では、確かに人間は「インターフェース」に合わせないといけません。ですが、インターフェースと計算機能は独立です。

この傾向はパソコンでなくエンタープライズ向けのシステムにも当てはまります。人間思考パターンコンピュータロジックに合わせて、「余計なことは考えない」というほうが効率は上がります。ただ、こういう仕組みをクライアントからサーバまで一元的にあてはめていくと、人間にとっては非常に住みにくい世界になります。

意味がまったくわかりません。コンピューターCPUが可能な論理演算に基づいて計算する点で、人間の脳とは全然違います。従って、人間思考プログラミングすることはできず、これは将棋のプロをつれてきても、強い将棋プログラムができないということが置きます。これは人工知能の問題ですが、先ほどのインターフェース人間を合わせなきゃいけない話とは全然違う問題です。そして、「情報」に対する「計算」をしている以上、適切な「アルゴリズム(計算手順)」を考える行為は避けることはできません。「余計なことは考えない」戦略がなんなのか不明ですし、住みにくいは何の比喩ですか?

PUCはコミュニケーションを前提に設計され、ハードウェアソフトウェアが一体化し、直感的で使いやすいものになります。

インターフェースシンプルになると直感的に使いやすくなるのはわかるんですが、ハードウェアソフトウェアが一体化ってなんですか?ソフトの取替えができないDSPSPはクソです。ハードウェアとはインターフェースのことでしょうか?

PUCを実現するには、次世代の通信デジタル信号処理プロセッサや組み込み型のソフトウェアネットワークセキュリティPtoPネットワークソフトウェアスイッチング、デジタルディスプレイコントローラなどが必要になります。

うーんと、PUCってNintendo DSのことですか?

  • PUCが現実のものになる上で課題はどこにありますか。

現在データベースはストラクチャードアーキテクチャと呼ばれる構造で作られています。しかし実際に人間が直面する問題の多くはアンストラクチャード、つまり構造化されていないものが多いんです。人工知能を使うことで構造化することは可能ですが、それをやるには大きな計算能力が必要になります。

「計算」があればできるけど、「計算」したくないってことかな・・・どんだけ「計算」嫌いなんだよwww

たとえば、ECサイトPCを販売する際に、液晶の大きさやCPUの性能などのスペックを掲載しますよね。でも、新しい会社がそれまでとはまったく違う特性を持った製品を出した場合、そのスペックが既存のデータベースに入らないんです。こうなると、新しい属性を追加しないといけなくなり、関連するシステムすべてを変更する必要が出てきます。

ふーん、「すべて」ね。しょぼいシステムが対象なんだね。エクセルでもできるんだけどね。

そこで、私が注目しているのはこういったアンストラクチャードデータを扱えるインデックスファブリック(IFX)という理論です。

そこで「アルゴリズム」登場ですか、そうですか・・・で、遺伝子ネットワークやらなんやら・・・なんのつながりがあるんでしょうか?

結局、PUCってなんなんだよ。

 もともと計算機能を最適化するために作られている道具を、違う目的であるコミュニケーションのために使うとどうしても使いにくい。そうなると、人間機械に合わせないといけなくなってくるんです。

って問題を解決したいだけなら、専用インターフェース、小型化、無線LANのことかね?

要するに、「iPod無線LANつければ、よくね?これ、PUC for 音楽ね。」って言ってるだけだと思う。

その前振りは情報科学勉強してる人間から言わせれば、無意味だし間違ってるんじゃないかな?

2007-08-16

2000年で時間が止まってる? 変化がない?

http://guideline.livedoor.biz/archives/50948646.html

いやいや、色々あっただろ。

911起きて、イラク戦争開始、現地で日本人が処刑。九条見直しの気運が高まる。

もはや都市伝説化していた朝鮮人による拉致が発覚。さらに被害者の帰国。

韓国中国による反日活動が大々的に知れ渡ってアメリカ慰安婦法案が決議されて。

ネットじゃワレズROMアップ目的アングラサイトがほぼ壊滅して

winny漫画ゲームダウンロードされるようになって

youtubeニコニコ動画登場で誰でも動画見放題。

wikipedia登場もすごい。ちょろっと検索するだけで多種多彩なものが調べられるようになった。

音楽ダウンロード販売がされるようになったりネットの影響で著作権の見直しがされるようになったり。

ブログブームやmixiブームでネットでのコミュニケーションが当たり前になる。

おかげでmixi犯罪告白した人が勤め先を解雇されたりするようにもなる。

ケータイだとテレビ見れるようになったし、携帯小説っていう新たな活字分野が出てきた。

ゲームだとマイクロソフトハード事業に乗り出し、セガは撤退。DSwiiの登場で任天堂が返り咲き。

ざっと思い出しただけでもこんだけ起こってるのに「何もない」って……。

もっと考えたらいくらでも変化なんて出てくる。

特にネット関係進歩は凄まじいものがある。

たった数年で著作権がズタズタになる状態にすらなってるんだから。

2000年なんて遥か昔だよ。

2007-08-15

http://anond.hatelabo.jp/20070815101706

自分も似たようなことで悩んでいます。自分の場合は、

理解力が無い

  • ドラマを見ていても、人が気付けたシーンでも自分は気付けないことがある
  • 映画とかを一回だけ見て、他の人と同じくらい理解するのがまず無理

記憶力が無い

  • 人の名前を覚えられない。覚えてもうろ覚え
  • ミーティングなどでした話をすぐ忘れる。その場でちゃんと聞いていない
  • 友達と飲んで楽しく話しても、次の瞬間どんな話をしたのかもう忘れている

集中力・責任感が無い

  • 仕事が最後までちゃんとできない。途中で手を抜く
  • 仕事しているのに、すぐ飽きてWeb見出したりする
  • いっぺんに複数の仕事をするのが苦手。というかできない。優先順位もつけられずにあっちやってこっちやって…みたいな状態

などなど…。なんか、上手くいえないんですがこんな感じです。なんかもう会社じゃまるっきり使えない人扱いで辛いです。とはいえ気をつけていてもまた同じ失敗をしちゃうんですが。

トラックバックADHDについての言及がありますが、自分でもADHDのことはちょっと考えたりもしたんですが、まずは自分で治してみようかな、と思っていろいろやってます。amazon「バカ」で検索して、良さそうな本を買って読んだり(脳外科の先生が書いた本で、とても面白い本がありました)、それこそDS買って脳トレやったり。

いろいろ自分なりに原因を考えた結果、「幼児期のトラウマから来る他力本願さ」が原因になっている気がします。まあ、原因がわかったところで体に染み付いた思考回路はなかなか治らないので苦しんでいるのですが。

なんとかしたいです。

ログイン ユーザー登録
ようこそ ゲスト さん