約 2,542,997 件
https://w.atwiki.jp/erogesakuseiiinkai/pages/47.html
プログラム班 こちらは、プログラム班の近況、進行状況などについてお伝えするページです。 これまでのプログラミング会議ページはプログラミングからどうぞ。 プログラム班 メンバー Vanilla みみりみ ゼタ Roots ノズ 2010/3/27 よろしくお願いします @ノズ はじめまして、数ヶ月前からこっそりと委員会に参加させていただいているノズです。 プログラム班の担当となりました。+@でキャラの一匹を担当させて頂くことになる予定です。 トップページのログにありますように、現在体験版の三匹分についての作業を進めています。 プログラム班としても、シナリオ班の方々から上がってきた文章を打ち込む作業が進行中です。 課題はぽろぽろ出て来るのですが、確かに少しずつ形にはなっています。 新年度という季節の変わり目で、またメンバーの動きもばたばたするかと思いますが 自分も確実に前へ進めるよう負けずにふんばっていきます。 取りあえずの目標は打倒花粉症です。 よろしくお願いします。 9/13 4ヶ月振り……ですか @Vanilla 動きが少なくて大変申し訳ありません。委員会メンバー内での動きはしっかりとあるのでご心配なく。 ……がしかし、正直なところ7月は大学の忙しさにかまけて、8月は帰省しての遊びにかまけて、私自身に動きが無かったのは事実でもあったりします。 よくゲームソフトの発売が数年延期したり、数年後には実現化と言ってその後の音沙汰が無くなったりすることはよくあることですが、 外の人であるうちは「また延期か……何やってんだか」となるも、いざ中の人となってみると「仕方が無かった……としか言いようがない」などと言ってしまうものです。 しかし、理由はどうあれ結果として残るのは過ぎた時間……濃さがどれだけのものであったにしろ、後悔の無い過去を残して行きたいと思っています。 とはいえ、作ると言った物を長いこと作らないまま放置してしまって申し訳ないです。 というのも、メインで使っていたパソコンのマザーボードが恐らくお逝かれになりまして……今は8年モノのノートで書き込んでいるところです。 HDDを取り出せば恐らくデータは残っているのですが……既製品を買ったがゆえにケーブルが綺麗に結われていて、取り直すのが面倒に感じて思わずフタを閉めてしまった――というところです。……これはひどい。 気が付けば夏の猛暑も落ち着き、段々と過ごしやすい季節になってきましたね。 しかし、新型インフルエンザも猛威を振っていることですし、どうぞお体にはお気をつけくださいませ。 5/7 活動報告……というほどのものでもありませんが @Vanilla どうも他班と比べると、表立った活動の報告ができないような気のするプログラム班ですが、体験版作成になってからの活動を載せよう……となるとこれまた随分と音沙汰の無い期間ができてしまいそうなので、今日はちょっとしたサンプルプログラムのスクリーンショットでも載せようかと思います。 細かい画面の仕様についてはまだ未定ではありますが、私自身のスキルアップに繋がればと思いつつ、LiveNovelにて私のポケモン小説Wikiに投稿した作品を使い、極めて簡素なノベルゲームを作ってみたいと思います。 2/22 ご挨拶@Vanilla ご挨拶@Vanilla さて、小説Wikiでお馴染み……というほど馴染んでいるかは疑問ですが、Vanillaと申します。 プログラムに関しては未熟なところも多々ありますが、精一杯の努力を惜しまないつもりです。 皆様、よろしくお願いします。 今回は、LiveNovelを使用して作成することになっております。 文字の表示は全画面式で、プログラミング内の下方にある画面のような作りとなります。 ゲーム性としては、状況に対する選択肢を選ぶことで、その後の状況が変化するというもので…… つまり、ノベルゲームですね。こちらをご覧の皆様なら、お分かりのことでしょう。 不安としては、変数が自分でもちゃんと理解しているのか、実践ができていないので不安が残っています。 しかし、今は情報収集をするには便利な時代なので、私が頼りなくとも調べればおおよそは解決することでしょう。 また、プログラムを進行形で学んでいる身でもあるので、これを一つのスキルアップと考え、意欲的に取り組みたい次第です。 ゲームと直接の関係はありませんが、プログラミングとしてはJAVAの基礎的な部分を理解してます。 サンプルを……と思っても、これしかないので……プログラムのサンプルとして置いておきますね。 良かったら遊んでみて下さい。 http //zektvanilla.hp.infoseek.co.jp/build/sh.html ※JAVA環境が必要です。 さて……挨拶と同時にこのような事を書くのはいかがなものか!と思いますが、 私は近日インターネット環境の無い地元へと帰ることになってまして、4月になるまでは殆ど更新ができないかと思います。 更新、と言っても、プログラムを恒例的に上げるのは難しいでしょうが、何らかの生存報告的なものは出して行きたいので、 どうぞ暖かく見守って頂ければ幸いです。 それでは、我々プログラム班をどうぞ宜しくお願いします! プログラム班へのあらゆる質問・意見など、コメントはこちらへお願いします。 この文面は……例のべろべろ君とブラッキーのお話でしたかね まあ動きないのも仕方ないっちゃ仕方ないですしお気楽にドゾー -- 名無しさん (2009-05-08 02 32 17) >ぺろぺろ君 そうですね。覚えて下さって嬉しいですw 委員会間での活動では色々と動いているのですが、 Wikiの皆さんに見せられる具体的なモノ、というとなかなか無く……(´・ω・`) というわけで、テストも兼ねてちょっと動くモノを作ってみようかな、という次第でした(`・ω・´) 本当、気楽ーに作っているので、絵も音楽も無い簡素なモノにはなりそうです。ご容赦下さい^^; -- Vanilla (2009-05-18 22 47 49) が ん ば れ !(・∀・) -- 名無しさん (2010-03-28 05 31 34) が ん ば れ !(・∀・) -- 名無しさん (2012-03-14 09 40 33) 名前 コメント
https://w.atwiki.jp/khwo_urap/pages/133.html
演奏会でお客様に配布するプログラムのことを一手に担う課である。 ただし裏プロは除く プログラム(別称・表プログラム)を毎演奏会ごとに編纂、皆様に比較的まじめな情報をお届けするのだ。 この課に入ると、まずトレース紙と数体の心霊…もとい変人が映り込んだ写真を渡される。 彼らをトレース紙に書き写すことがプログラム課の登竜門となる。 本当の仕事は、演奏会後に訪れる 部員とお客様をつなぐ架け橋―すなわちアンケートである。 うず高く積まれたA4の紙を目分量で分配、しかるのちジャンケンを行い、課員は集計という重責を負うことになるのだ。
https://w.atwiki.jp/www-iris/pages/2126.html
【名前】 究極プログラム 【読み方】 きゅうきょくぷろぐらむ 【登場作品】 アニメ『無印』『Stream』『光と闇の遺産』 【詳細】 アニメ版限定の要素。 特定のネットナビにのみ備わる、特別なプログラム。 これを所有しているネットナビは高いスペックや特殊な能力を持つ。 所有者 ファラオマン 20年以上前に光正が、「ニホンのネットワークを管理する」という目的で作り上げたファラオマンに組み込んだ。 しかし、このファラオマンは人格プログラム上の問題で彼らに封印されてしまう。この一件で、人間に対し強い憎しみや嫌悪感を抱く。 『無印』第22話「ファイナルバトルのはてに」のN1グランプリの決勝戦では、後述の究極プログラムの所持者たるロックマンとブルースの衝突の余波で封印から解き放たれ、究極プログラムの力を前述の本来の目的ではなく、「サイバーワールドの新たな王」としてサイバーワールドを書き換えて支配するという凄まじいスペックを見せた。 その後、Dr.ワイリーに狙われ、ロックマンにデリートされるのだが、その究極プログラムだけは自己再生しており… ロックマン 光正の息子の光祐一郎が、光正の究極プログラムを基にロックマンを作り上げた(*1)。 そのため、ロックマンも究極プログラムの所持者となっている。 数々の究極プログラムの中では最も高い能力を備えており、 一度デリートされても記憶データとして散らばり、回収すれば記憶を引き継いで再生可能 バグもプログラムも、電脳世界すべてのものを取り込める 取り込んだデータから電脳世界を再構築できる という、他の究極プログラムとは明らかに次元の違う能力を秘めている。 そのため、究極プログラムを持つナビ達の中では頭一つ抜けた強さを持つ。 原作(GBA版)ではオペレーターの光熱斗の双子の兄・光彩斗の遺伝子データを持つ特殊なネットナビとなっているが、アニメではこのような設定となっている。 ブルース IPCの御曹司・伊集院炎山のネットナビ・ブルースも究極プログラムを所持。 ブルースに関してはどういった経緯で究極プログラムを内蔵しているのかが描写されていない。 ただ、科学省とIPCには密接な関係があるため、科学省に赴任していた光正がIPCに究極プログラムを提供したと考えることはできる。 『AXESS』第49話「さらばブルース」では炎山が母親を失った直後に彼のナビとして与えられており、次世代のIPC社長に相応するスペックのナビとして用意されたのだろうか。 究極プログラム特有の特殊能力は特に描写がなく、究極プログラムの所持者としては影が薄い方。 ゴスペル ロックマンによりデリートされたファラオマンだが、その究極プログラムだけは生存し続け、自己再生していた。 このファラオマンの究極プログラムをDr.ワイリーが解析し、電脳の魔物・ゴスペルを作り上げた。 その究極プログラムの能力で、サイバーワールドに存在するナビやプログラムを次々と取り込んでいき、さらには究極プログラムを持つナビ達も取り込んでいった。 フォルテ ファラオマンの究極プログラムが自己再生した結果生まれたネットナビ。究極プログラム組の中では一番最後に生まれたといえる。 同じファラオマンの究極プログラムから生まれた前述のゴスペルとは兄弟関係にある。 第32話「ネットシティ」から登場。 誕生直後は記憶喪失状態であったが、同じ究極プログラムを持つロックマンと接触した結果、ファラオマン時の記憶を取り戻し、ファラオマン同様に人間を忌み嫌うようになる。 究極プログラムの力により、ネットワークに存在するバグを吸収することでその力を増していく能力を持つ。『無印』での誕生直後や、『Stream』最終話でその力が示されている。 原作(GBA版)における「ゲット・アビリティ・プログラム」の設定の一部を参考にしたものだろう。(似たような効果を持つが、ゲットアビリティプログラムが究極プログラムと同一というわけではないので注意) 究極プログラムの力関係 率直に力関係を述べるのであれば、力の大きい順に、 ロックマン(SS) ゴスペル(A) フォルテ(B) ブルース(C) という順位になる。 ブルース 究極プログラム特有の力を殆ど発揮できておらず、『無印』ではゴスペルに取り込まれ、『Stream』ではフォルテに圧倒され、究極プログラムを奪われかけている。 フォルテ 『Stream』でブルースを圧倒している一方、『無印』ではゴスペルに取り込まれている。 さらに劇場版『光と闇の遺産』では、ロックマンの究極プログラムを取り込もうとしたが、強大過ぎて逆に取り込まれてしまった。 ゴスペル 『無印』でブルースを真っ先に取り込んだ。 その後、フォルテがゴスペルを取り込もうとしたが逆にフォルテを取り込むことでその力を示した。 最後はロックマンをも取り込もうとするが、逆に取り込まれてしまう。 ロックマン 『無印』でブルースやフォルテを取り込んだ状態のゴスペルを取り込む。それだけではなく、サイバーワールド全てを吸収しつくし、そこから全てを元に戻す再構築までも行っている。 劇場版『光と闇の遺産』では、この力関係を忠実に描写していた。自身の究極プログラムをフォルテに差し出したが、フォルテの究極プログラムよりも強すぎるために逆にフォルテを取り込みフォルテクロスロックマンとなるに至った。 【余談】 『BEAST』で登場したアニメオリジナルナビにして、並行世界・ビヨンダードの存在であるシンクロナイザー(獣化因子に対する抗体)「トリル」は、ビヨンダードの光正博士によって作られている。 トリルはロックマンと融合することで獣化能力を引き起こしているのだが、トリルがロックマンにだけ懐いたり獣化を発現させる仕組みは、この2体のナビが光正という、世界は違えど同じ人間によって作られていることから、同じ光正のプログラムの共鳴によって発生している。 こちらの世界のロックマンが光正の「究極プログラム」を基にして作られ、光正の似たデータ同士が共鳴するのであれば、トリルもまた「究極プログラム」を持つナビと十分に言える。 特に獣化因子に対する抗体でありながら、『BEAST+』最終話でキャッシュデータとはいえ熱斗とロックマンをキャッシュの封印から解き放つという恐るべき力を見せている。 その場合、劇場版『光と闇の遺産』にて登場した、究極プログラム同士の融合体であるフォルテクロスロックマンと酷似する部分も出てくる。 あちらは光正が作り上げたファラオマンの究極プログラムが自己再生しその究極プログラムを持つフォルテと、光正の究極プログラムを基に光祐一朗が作り上げた究極プログラムを持つロックマンの融合であり、この2体のナビにも光正が関与している。 アニメ内における獣化が、劇場版のフォルテクロスロックマンと似たようなパワーを発揮しているのもそういったことによるものだろうか。 【関連項目】 ゲットアビリティプログラム - ゲーム版のフォルテが持つ似たような性質を見せるプログラム エクサメモリ - ゲーム版のロックマンが持つ特殊プログラム
https://w.atwiki.jp/darwinian/pages/15.html
Darwinian Darwiniaの住人である緑の人。進化するデジタル生命体。 初期状態では非力だが、アップグレードすることで、レーザー、グレネードといった武器も使えるようになる。 なおプレイヤーから直接指令はできず、Officerを介して移動指示を行う。ソーラーパネルなどの施設の近くに誘導すると自動的に配置につき、労働する。Darwinianの誘導がマップクリアに必須である。 死ぬと緑の魂を残す。(ソウルデストロイヤーに殺された場合除く) 魂を集めてインキュベーターに持っていくことでDarwinianを増やすことができる。またSpawnポイントを制圧することでも増やすことができる。 声の担当は猫らしい。 タスクマネージャー プログラムを呼び出すマネージャー。アップグレードすることで同時に起動できるプログラムの数が増える。 Squad 対ウイルスの主力。レーザー及びサブウェポンで戦う。 制御下に置いたコントロールタワーの周りに生成可能。 Squadをはじめプレイヤーが生成できるプログラムは作成コストがないので、弱ったユニットを自爆させて新しいものを投入する、または自爆覚悟で特攻するという戦略を使用できる。 Engineerがリサーチアイテムを集めることでサブウェポンが増えていく。 グレネード:手榴弾。アップグレードで射程アップ ロケット:ロケットランチャー。アップグレードで射程アップ。対蜘蛛兵器 エアストライク:空爆。アップグレードで爆撃機の数が増える。対蟻塚兵器 アップグレードすると人数が増え、結果として攻撃力 体力が上がる。 Engineer コントロールタワーの再プログラミング、Darwinian生成のための魂収集、リサーチデータのダウンロードが役割。攻撃手段は持たないが、飛行しているので海を越えることができる。 制御下に置いたコントロールタワーの周り、もしくは稼動しているSquadの周りに生成可能。 コントロールタワーを再プログラミングすることで、周辺の施設を使用可能にするとともに、プログラム生成の拠点にすることができる。施設は島をつなぐレーザーディッシュ、魂をDarwinianに変換するインキュベータ、マップをつなぐトランクポートがある。再プログラミングには3体までのEngineerが参加することができ、完了までの時間がはやまる。 ウイルスが死んだ後には赤い魂が残る。この魂をEngineerが収集してインキュベータに運ぶことでDarwinianを生成することができる。 リサーチファイルはマップに青いキューブとして存在し、Engineerがダウンロード作業を行うことで使用プログラムが増える。 アップグレードすると一度に運べる魂の数が増える。 Officer Darwinianを選んで指定するリーダー格。旗を持ち、Darwinianに対して移動、集合といった指示を出すことができる。 アップグレードすると使用できる命令が増える。 Armour Yardのオブジェクティブを達成すると使えるようになる砲台。トランクポートの側に生成可能。多数のDarwinianを載せて移動手段としての使用と、バトルキャノンに変形しての攻撃が可能。 左クリックで移動、Armourの近くを右クリックでDarwinianを乗せる・降ろす、という切り替えが可能。 マップ上を右クリックで設置場所を指定すると(平地限定)バトルキャノンに変形できる。 バトルキャノンに変形すると移動不可になるが、Darwinianを乗り込ませることで砲撃を行うことができる。Darwinianに自動で狙いをつけさせることも、自分で操作することもできる。 対ソウルデストロイヤーなどに活躍。 アップグレードでDarwinian搭載数&射程アップ。@wikiへ
https://w.atwiki.jp/wmmc/pages/28.html
前回のプログラムでは,wait()関数を用いてあまり正確でない遅延を行うプログ ラムを書きました. 今回は,マイコンのタイマ機能を使って,より正確な時間を待つプログラムを作成 します. H8/3694では,『タイマA』,『タイマV』,『タイマW』の三種類のタイマ機能が 存在します. 今回はその中でもインターバル/時計用のタイマである,『タイマA』を使います. なお,ブリーフケースに上がっているプログラムとは使い方が若干違いますが,基 本的にはやってることは同じです. 練習プログラム③ 『タイマAを使い,LEDを3秒間だけ全点灯』 #include 3694.h /*-----------------------------------------------*/ /* 指定ms待つ関数 */ /*-----------------------------------------------*/ void ms_wait(unsigned int ms) { //====指定msループ==== while(ms--) { //====TMA設定==== TA.TMA.BYTE = 0x1c; //Clear TCA TA.TMA.BYTE = 0x13; //PSS, 入力クロックφ/512 while(TA.TCA 39); //約1ms待つ. } } /*-----------------------------------------------*/ /* メイン関数 */ /*-----------------------------------------------*/ void main() { IO.PCR5 = 0xff; //Port8をすべて出力に設定. IO.PDR5.BYTE = 0x00; //LED全点灯. ms_wait(3000); //3秒待つ. IO.PDR5.BYTE = 0xff; //LED消灯. } ・プログラムの解説 今回のプログラムでは,特にms_wait()関数が加わった他は分かるかと思います . この練習プログラムの題材どおり,LEDを始めに点灯させた後,3秒間だけms_wait() 関数を使って待ち, その後LEDを全消灯にします. このプログラムではタイマAのインターバル機能を使っています. 本来、正確に一秒待つなどの用途はタイマAの時計用タイムベース機能のほうが適し ているのでしょうが,このプログラムでは, マイクロマウスで使用するときに使いやすいインターバル機能を用いて解説します . (とはいえ,今回はそれによる割り込みや出力は行いません.) 余力があれば時計用タイムベース機能についても後述します. さて,ms_wait()関数の中を見て行きたいと思います. まず,(引数からもらった数値)回だけwhile構文で中の命令を繰り返すようになっ ています. つまり,while構文の中に約1[ms]待つようなプログラムが書かれており,それを whileで指定分だけ繰り返すことにより, 指定されたms待つことになります. whileの中について見ていきます. まず,最初にタイマカウンタA(TCA)をクリア(値を0に設定)します. TCAは,リード可能なレジスタであり,直接ライトすることが出来ないので,間接的 にクリアしなくてはなりません. そこで,ハードウェアマニュアルに書いてあるとおりにタイマモードレジスタA (TMA)を使いクリアします. TMAの3Bit目(TMA3)~2Bit目(TMA2)をそれぞれ1に設定することにより,TCAはク リアされます. また,4ビット目がリザーブビットで常に1を返すことから,一応書き込むときも1を 書き込んでおきましょう. TA.TMA.BYTE = 0x1c; これにより,TCAはH 00にクリアされるはずです. 次に,タイマAの機能を設定していきたいと思います. 今回は,インターバル動作なので,TCAへの入力源をプリスケーラS(PSS)とし, φ/512としてカウントします. PSSとは,システムクロック(φ)を入力クロックとする13ビットカウンタで, その出力は周辺モジュールの内部クロックとしてしようされます. つまり,今回はシステムクロックφ(20MHz)を1/512に分周したクロックをTCAの 入力としてタイマのカウント動作を行います. さて,それではそのように動作するように設定を行います.設定にはTMAを用います . まず,今回はTMOW出力は使用しないので,TMAの上位3Bit(TMA7~TMA5)は0にしま す. 4Bit目はリザーブビットなので,1とします. プリスケーラSを使用するので,3Bit目(TMA3)は0とします. φ/512をTCAへの入力クロックとするので,2Bit目(TMA2)~0Bit目(TMA0)は B 011となります. 以上をまとめると,次のようになります. TA.TMA.BYTE = 0x13; これにより,周波数20/512[MHz]でTCAがカウントされていきます. さて,では1[ms]待つように少し計算しましょう. 20/512[MHz]を周期に直すと,2.56x10-5[s] = 2.56x10-2[ms]です. つまり,TCAは2.56x10-2[ms]周期でインクリメントされることになりま す. そのため,カウントを39回繰り返すと, 2.56x10-2x 39 = 0.9984[ms] となり,およそ1[ms]とすることが出来ます. 故に,TCAが39になるまで待てば,そこでおよそ1[ms]待つことができます. while(TA.TCA 39); これで,TCAが39になるまで待ち続けることができます. (設定次第では他の割り込み動作は当然入ります) ・レジスタ解説(詳細はハードウェアマニュアル参照) タイマモードレジスタA(TMA) アドレス:H FFA6タイマAの動作モードの選択,分周クロック出力,入力クロックの設定を 行います. TMA7~TMA5:アウトプットセレクト(TMOWからの出力設定) TMA3:インターナルクロックセレクト(タイマA動作モード選択≒プリスケーラ選択 ) TMA2~TMA0:インターナルクロックセレクト(分周比,またはTCAオーバーフロー周 期選択) タイマカウンタA(TCA) アドレス:H FFA7 8Bitのリード可能なアップカウンタです.ライトはできません. オーバーフロー時に割り込みフラグレジスタ(IRR1)のIRRTAがセット(1になる)さ れます. オーバーフローすると,TCAは値がH 00に戻り,再びカウントアップされていきます . TMAのTMA3及びTMA2をセットすることでTCAはH 00にクリアされます. 課題プログラム③ 『LEDをきっちり1秒置きに全点滅させよ』
https://w.atwiki.jp/ibadaiunics/pages/17.html
プログラムの詳細 使用するソフト HSP ホットスーププロセッサ Wonderfl Build Flash Online ブラウザ上でFLASHのソースを書くと、その場でコンパイル・実行してくれる素敵ページ。 他の人が書いたコード・作品を見れるので、まずは見てみる事をお勧め! ニコニコ動画 「自作ゲーム」 タグ とりあえずコレでも見て刺激を受けようか。 作成の仕方 サークル室にある書籍
https://w.atwiki.jp/thiroyoshi/pages/36.html
Today's Access - Yesterday's Access - 研究日誌・プログラム輪講編。 研究室配属直後の辛く、苦しいプログラム 輪講地獄を乗り越えた軌跡。 2009/6/25(THU) 今日はプロ輪の最終発表日でした。 なんだか思ってたよりもあっさりと終了した。質問には答えられる範囲でちゃんと答えられていたとも思う。 みんなもいい感じで終えられていたようで一安心。 が、卒研にスパコンが含まれるかもしれないというのは安心できないよね・・・。 そんなわけで、ここで研究日誌は一旦休止することにする。 みんなは院試勉強やるやろうし、しばらくは最後の輪講に向けてまったり勉強していくことにしよう。 おそらく、次に書くのは卒研が始まってからになるやろうな。 では、研究日誌・プロ輪編は終了しておく。 2009/6/24(WED) 今日はほぼ朝で実験は終了した。しかし、なんだか疲れた。 輪講 今日はNLP輪講。同期J君の発表。昨日わからんとか言ってたとこを、「もういいんちゃう?」って言ったけどなんとかなったみたいだw 基本的に何したいかはわかったから、それでいいと思う。 プロ輪 昨日の夜のうちに実験を素早くする方法を考えてて、結局スパコンに頼ることに。 そして、今日やったこと。 kccaのパラメータ実験を完了 →スパコンでインライン化などの高速化を施した上、各パラメータで複数プログラムを実行した。単純に効率5倍! 実験結果を元に、ローカル・スパコン(MPI未使用)・スパコン(MPI使用)の速度実験 実験結果から資料を作成 発表練習・見直し・心構え 一応プロ輪は完了した。発表できるだけの資料は揃えたが、どれだけ突っ込みに耐えられるかは未知数だ。 とりあえずスムーズに発表が終わればいいなと、願うのみです。 そう。明日は待ちに待ったプロ輪の最終日。終わるというだけでうれしいです。もうなんとでもなれ。 2009/6/23(TUE) 今日は順調でした。自分だけ進んでるみたいなのが心苦しい。明日余裕があればお手伝いします。 輪講 今日はCV輪講。担当オレ。資料に不備がありすぎてしまった・・・。申し訳なかったです。 が、図がきれいにできたのはよかった。そして、質問がなかった。恐かったので助かったw プロ輪 今日は同期O君に教えてもらった方法でプログラムを組みなおす。 結局今までやってたMPIの部分は使わず。泣けるで・・・。 では、今日やったこと。 スパコン上のプログラムをMPI化(固有値計算のみ) ローカルでのkccaのパラメータ実験(正規化定数について) 最終発表の資料作成 実験にはかなり時間がかかっている。明日はかなりやりこまなければならないか。 が、それ以外にはあまりすることがないと思われる。資料を完璧に、発表練習をしっかりすることにしよう。 そこで、明日の課題。 ローカルkccaのパラメータ実験継続 上記実験のパラメータを用いての速度実験(スパコン[MPI未使用]・スパコン[MPI使用]) 発表資料完成(先生に添削をお願いする) ということで、いよいよ明後日に迫ってまいりました最終発表。もう延期しないよね? 2009/6/22(MON) なんか当日書くのを忘れていた。とりあえず、この日にやったことだけ書いておく。 最終発表の資料作り CV輪講の資料作り この日、夜までスパコンが動かなかったためにほとんどなにもできなかった。 それと、雨という憂鬱さにはいくつになっても勝てません。 2009/6/19(FRI) そして金曜が過ぎていきました。明日明後日は全くプログラムはできません。妄想するしかありません。 輪講 今日はAI輪講。前から興味深かったSVMの話もあったりで、ちょっと気合入ってたw そこそこ理解はできたが、やっぱりムズイので使う時には復習は必須ですね。 それにしても、同期J君のしゃべりのトーンはラリホーですか?w プロ輪 今日は終始MPIに努める。 昨日のうちにおおよそ必要な関数を作り上げはしたが、やはり実装ではうまくいかない。 とりあえず、やったことを書いてみる。 ノード数とデータ数に基づいて、使用ノード数を決定する カーネル関数を求める部分を並列化 kccaのパラメータ実験 こう書くとできてることがかなり少ない。なんてこった。 正直かなり手間取っている。とにかく配列の添え字がややこしくてよく間違えるから、大元ができていても実装完了しない。 それから、今回完成できなかったのは、逆行列を求めた後それを各プロセスに分割配布し、昨日作った行列計算関数に適用すること。 逆行列を求めること自体を並列化するには、無理そうな感じを受けたので今回は無視。ということで、分散して求めたカーネル行列をまとめなおすことには成功。 そこから、逆行列を求めることも成功。 問題は、「逆行列の分割配布→行列積計算」って部分。 これができれば、かなり進めることができるが、はてさてどうなることやら。 2009/6/18(THU) 言うてる間に木曜が終わった。本当は明日最終発表だったらしいよ? 輪講 今日は雑誌会。今日のは半分以上理解できたと思う。 でも、質問を考えようとするとあんまり浮かんでこない。結構人の話を鵜呑みにしてしまうところがあるからか。直さなければ。 それから、CV輪講の資料が完成した。眠たいときにでも見直すかな。 プロ輪 今日はスパコンが動きはじめたということで、MPI再開。 kccaのパラメータ実験も継続中。発表で使うかわからんけど、損はないと信じてる。 てことで、今日やったこと。 MPIで「行列×ベクトル」を関数に MPIで「行列×行列」を関数に 更新していたkccaでスパコン上のkccaをアップデート スパコン上のデータセットのバグを修正(javaでのデータセット生成メソッドのバグを修正) 今日は特に問題も残っていない。 が、vectorの扱いに慣れない・・・。どこかしら添え字の定義やらなんやら間違えて、タイムロス。めんどくせー。 とにもかくにも、明日の課題。 kccaのMPI化 kccaのパラメータ実験 CV輪講の資料見直し・理解 明日は今日のそのままの続き。土日はスパコンもローカルも使えないということで、それを踏まえて進めなければ。 ・・・めんどくせー。 2009/6/17(WED) プロ輪がまた延期になりました。しんどい期間がのびました。最初から覚悟しているのと、ギリギリで変えられるのでは精神的ダメージが違います。 そして、日曜の停電。どうしたいの? 輪講 今日はNLP輪講。隠れマルコフモデルというなんともわかりにくいところ。しかし、発表者のOくんの説明がわかりやすくて、思ったより理解できた。 実装はムリw あと、今日はスパコンが使えないということだったのでCV輪講の資料作りばっかりしてました。もう9割完成。 しかし、理解はまだまだ。ちょっとずつやろう。 プロ輪 今日はスパコンが使えないということで、そっちは手をつけず。 が、やったことはちょっとある。 kccaのプログラムのエラーを回避 →やはり、ループでvectorなどを解放せずに何度も定義していたのがまずかったらしい。 実験・計算部分はすべて関数に落とし込み、メモリを逐次解放させるようにする。 →関数にしたことで、各ファイル毎での実験についてパラメータを簡単に変更できるように。 パラメータを少し変えながら、精度実験 かなり片手間でやってました。明日も片手間で実験しながら色々しようと思う。 明日はスパコンが使えるようになるはずなので、MPIを試していくのが中心になるか。 ってことで、明日の課題。 kccaのパラメータ実験を進める CV輪講の資料を完成 MPIを進める(行列×行列の関数を作る) 昨日も書いていたとおり、オレの場合はMPIについての最大の目標は「行列×行列を行う関数」を作ることにある。 今日はなんにも考えてないので、昨日書いた枠組みから進んでない。 明日はなにか進むはず・・・。はず! 2009/6/16(TUE) 今日はなんかだるかった。わりには色々やってた。サボりとかキャッチボールとか・・・。 輪講 今日はCV輪講。来週のオレの発表につながる部分。なんとか理解できた。 そして、今日はほとんどCV輪講の準備を進めていた。半分はおわったかな。しかし、もっと理解を深めておかなければ。 プロ輪 今日はあんまりなんもやってない。なんでって、スパコンが使えないから。 スケジュールでは、今週はスパコンにかかりっきり!・・・ってなってるはずやったのに。明日も使えへんらしいな。 しかしながらも、今日やったこと。 kccaをちょっとパラメータを変えて実験してみる。 →一括で実験できるようにしたところ、なんかメモリ関連のエラーが出ている。とりあえず、結果は出てるから今回は無視。 発表資料を完成に近づける。 →例によって速度実験部分は白紙 MPIで、「行列*ベクトル」のサンプルを元に「行列*行列」を作ってみる →例によって動作実験はしてない なんか散々やん・・・。とりあえず、明日はkccaのエラーを取り除くあたりしとこうかな。 そして、明日の課題。 kccaのエラー除去 →最悪一括実験は断念するか 発表資料を進める →先生に添削してもらう→直す CV輪講の資料作成を進める 今日とあんま変わらん感じで。が、こうなるとMPIやってる時間がマジでない。また期間延長って話が出てるけど、どっちにしても時間が足りんことに変わりはない。 一応、MPI化する際に欲しい感じの関数を考えておくことにはする。Foxはめんどいから断念するかも。 こんなんできたらいいなー、ってやつ。 vector vector double MM_prod(vector vector double X, vector vector double Y){ vector vector double Z; ・・・(MPIでたらったら~) return Z; } 細かい引数とかは追加・変更があるにしても、こんな感じでしておけば、現在行列同士の掛け算をしている部分を行列を引数にして差し替えるだけで並列化できると思う。 あとの問題は入力となる引数の分割の仕方。行列をどこで区切るかとかはノードの使い方で決まってしまうからそれを使えばいい形にできるけど、行列を導出するところでどこまで並列化できるかがポイントになりそうな予感。・・・そんなんいうてるけど、上に書いたのも中身考えてないし、どーしよーもない。 ・・・ほんま、どーしよーもないわ。 2009/6/15(MON) 今日は特筆すべきことはない。ということが特筆すべきこと。 輪講 今日はプレ輪。いつもどおりユルイ感じでいい感じ。 今度、テクニカルの本を読もう。プレゼンも。あれは一読の価値があるよね。 プロ輪 wekaとkccaが完成。実験とかがやりやすいように改変は随時する。 にしても、スパコンが使えへんのは痛すぎる。ってか、プロ輪進まねぇよ。どーしたらええねん・・・。 にしても、今日やったこと! wekaのプログラムを完成(実行のみで10-fold cross varidationによる精度評価を行う) kccaのプログラムを完成(実行のみで10-fold cross varidationのデータを使ってラベル付けから、ファイル出力までを行う) 3つのデータセットについて試験的に実験(一応ノートにメモ) 最終発表のプレゼン資料を作り始める なんだかんだで時間のかかる作業が多かった。来週はCVもあるし、平行してやらんと。 そして、明日の課題。 改変したkccaで、スパコン上のkccaをアップデート kccaのMPI化を進める 最終発表のプレゼン資料を進める →目的 →実験結果 ほんまにスパコンはどーなってるねん。やることがなくなっちゃうんですけどー。 2009/6/13(SAT) 日曜が朝早かったために、土曜夜は早く寝て、日曜の執筆。とりあえずやったことだけでもまとまめておく。 プロ輪 基本的にwekaのプログラムを作っていく。そろそろ実験のための色々を仕上げなければ。 kccaのファイル出力をwekaのプログラムへの入力形式に対応 スパコンに上げたkccaに実行時間計測を追加 kccaのスパコン上での動作を確認(ファイル入出力もOK) wekaのファイル入出力関数を整備 →スパコン用ファイル出力・kccaからのファイル入力 分類器の訓練・実験のメソッドを作成(未完成) 一応は進んでいる。が、MPIが思いのほか進んでいない。 しかし、今日見ていた限りではMPIはそこまで頑張らんでも、しっかり並列化できればそこそこいい結果になりそう。 FOXアルゴリズムはいまだによくわからんけど、使わんでもいいかな・・・? とりあえず、明日の課題。 wekaの分類器生成メソッドを完成 分類精度評価メソッドを作成 スパコン上のkccaプログラムのMPI化に着手 最終発表の概要をまとめる 最後の1週間が始まる。死なない程度に頑張りまっしょい!! 2009/6/12(FRI) 今日はキャッチボールは軽くしかできんかった。みんなにもっとうまくなってもらいたい。 輪講 今日はAI輪講。色々な分類手法があるということがどんどんわかってきた。 細かい理解や使い方は実際使うときでよし! プロ輪 今日はJavaでの分類器のプログラムを重点的に。 色々試しながらってことでのプログラムになるから、仕様がどんどん変化してわけわからんくなってきた。 ファイルの整理がかなり大変だ。 ってことで、今日やったこと。 各分類手法を使うためのクラス・メソッドを作成(半教師付き学習による) 10-fold cross varidationのメソッドを整備 →ローカルのkcca・スパコンのkcca・kccaなしの3つのやり方で使えるファイルを出力する kccaを使う・使わないの場合のファイルの利用法の整理 kccaのプログラムをスパコン用に加工 発表の概要についても先輩と話したので、ちょっと話をまとめることを考え始めないと。 てか、今日夕方からスパコンにジョブが投げられなかったのはなんで?誰かが占有してんのか?やめてよ・・・。 2009/6/11(THU) ハッピーバースデー、オレ。祝ってくれたみなさんに感謝。 ちょっと早起きすることを心がけると、なんと心地のいい日か。晴れやったからってのもあるやろうが。 輪講 今日は雑誌会。話された内容については何してるかはわかった。が、先生がわからんとこはやっぱりわからん。 後期にはあれやるんかー。こわっ。 プロ輪 今日はkccaに戻る。以前ファイル出力が正常に動作しなかったが、今日は機嫌よくスイっといく。 ・・・あのときのオレの苦悩はなんだったのか('A`) やっぱり、あのときはいろいろ動かしたあとでメモリにキャッシュがたまったりなんかしてたらしい。・・・これってプログラムに問題あるような・・・・・・。 ってことで、今日やったこと! ファイル出力関数を確認→正常に動く 固有値計算を拡張(複数個の固有値を求めることに成功) 複数固有値を用いた類似度計算の関数を作成 ランキング関数を複数固有値に対応・改良 ランキング部分を関数に落とし込む→main関数がスッキリ ランキングを元に「正例・負例ファイル」と「ラベルなしファイル」の出力関数を作成 最初のファイル出力関数のバグを修正(表示が少しおかしかった) データ取得関数を修正(クラスの取得部分の正規表現を修正・データ取得時の読み込み条件を拡張) JavaにWekaを導入 Wekaのサンプルプログラムの動作確認→精度:19/30 なんかたくさんしてるな。自分ではそんなにしてない気がするんだが。 ひとまず、kccaが完成したことに一安心。が、まだ問題はある。 正規化定数κ(精度が大分変わる) べき乗法の収束条件と最大反復回数 これについては、やっぱりまた論文を読み返さなければ。でも、とりあえず先に進む! そこで、明日の課題! Wekaの仕様を確認 分類器を使うプログラムを作成 →分類器を訓練 →ラベル付け →ラベルありファイル出力(確認用) →さらに分類器を訓練 →評価ファイル出力 kccaをスパコン仕様にし、スパコンにアップする 発表の概要を考える 仕様も含めて考えることはまだ多そう。土日は研究室に行けへんし、スパコンでできることを多くするためにkccaの加工が最優先か。 明日も今日の調子でいきまっしょい! 2009/6/10(WED) 今日はなんか疲れた。あんまり作業してないのに。なんでやろ。 輪講 今日はNLP輪講。なんかすげーわかりにくいところで、集中しすぎて燃え尽きた。 もうちょい気楽に受けるかな・・・。 プロ輪 今日はMPIばっかりやった。 スパコン講習を受け、基本的な考えが間違っていなかったことは確認。資料のpdfを送ってもらえることも約束できてよかった。 そして、行列計算をするアルゴリズムを読んで、載ってたサンプルを打ってみたが、サンプルが中途半端すぎて動かせない。 アルゴリズムの理解も進まない。 明日からは一旦MPIをやめてkccaに戻るかな。発表の概要も考えないかんし、やっとかな。 ちょっとアイデアも出てきたところやし。 てことで、明日は 固有値計算を最大以外も出せるように拡張 その他の必要な関数を整備 →特に現在うまくいっていないファイル入出力の部分を重点的に しっかり集中しなければ。しかし、気楽にいこう。イライラしちゃだめだよね。 2009/6/9(TUE) 最近研究室にいながらにして研究していない。いや、してるよ?してる!・・・進んでないだけだもん。 輪講 今日はCV輪講。まとめの天才かつ天才の輪講はマジパネェっすw 質問しまくり。理解はそこそこ。先生が「そこはほとんど使わないよw」だって。 もっとはよ言って・・・。 プロ輪 とりあえず昨日の問題に取り組んでみるがあまり解決せず。 今日やったことはあまりないけど、やったこと! データファイル書き出しの関数は後回し。コメントアウト。 データセットを捏造して、所望の動きをしているか確認。が、よくわからず。精度がちぐはぐ。 それから、今日は担当の先生と先輩を交えてのミーティングをすることに。 やはり、重視すべきはスパコンを使いこなすことのようで、kccaは最悪できなくてもいいとか。 ・・・できなくてもいい!? いいえ、やりますよ。やりますとも。 課題に関しては、昨日と変わらないので、ここでは割愛。 てことで、重視すべきはスパコン→MPI。 今日は何してたってMPIやってたよ。明日はスパコンのスペシャリスト先生に頼み込んでの講義があるので予習。 とりあえず、早めに家に帰り、家からスパコンにログイン。作業ー。 成果をまとめたから見てもらうといいです。 MPIの使い方 スパコン講習でたくさん質問できるといいな。 2009/6/8(MON) 今日はかなり遊んでてしまった。反省。明日からはもうちっと気合入れます!・・・病まない程度に。 輪講 今日はプレ輪。オレの発表。もうちゃちゃっと終わらした。笑いのポイントも押さえて、いい感じ♪ が、誤字の多いこと、多いこと。気つけんと・・・。 プロ輪 今日はそんなに進んでないと思われますが、それなりに進んだような気がする。だって、また問題にぶち当たるくらいはやってるもん。・・・ぶち当たりたくない。 では、とりあえず今日やったこと。 類似度を求める関数を作成(前日の評価関数のこと) ランキング関数を作成 見た感じあんまり進んでない・・・。が、これはできたと思えただけのことで、実際にしたことはもう少しある。 問題が起きたのよ。起きた問題は以下。 ランキングするところまでテスト →正例に判定されたものが実際には負例で、負例に判定されたものが実際には正例だった。ラベル付ける前の判定です。 ラベルは無視するっつってもこれはまずいだろ・・・。 最初に使っていたデータセットがラベルの種類が3つのものだったので、positiveとnegativeだけのものに変更 →正常動作せず・・・。最初に使ってたファイル以外、今日試したものはダメだった・・・。 具体的には、 ・「正例ファイル」と「ラベルなしファイル」が正常に出力されず中身が見れない ・相関係数が小さすぎるときがある ・固有ベクトルがすべての要素が0の場合がある 1つ目の問題は、今日作ったランキング関数やら評価関数がどっかおかしいと思う。そう思う。思いたい。そのはず!・・・たぶん。 2つ目の問題は、ファイルの文字コードかと思う。一度少しだけ出力されたときに、データの部分だけ変な文字化け(変な文字が2文字だけ出てた)して、他のattributeの部分はすべて行間が広く表示されるという意味がわからんことに。ちょっと関係ありげ。以前javaでファイル入出力やってたときに同じことなったかな、ってね。確認してみる価値はありそう。 あとは、カーネル行列の逆行列を求めるときの正規化定数の設定をどうするかが問題になっているみたい。その値によって相関係数も若干変わってるし、そもそも逆行列が求まるかもこの値次第のようで。もう一回論文をしっかり見直そう。 また、固有ベクトルで類似度を計算しているが、勘違いして最大固有ベクトルだけでいいとおもったら、それは正準相関分析のお話。カーネルではいくつかいるとのこと。 メモリに気をつけて直しましょうか。これに関しても固有ベクトルはmペア必要ということでこのmの決め方を確認しなければ。 ということで、明日やること。 入力ファイルの文字コード確認 ランキング関数・評価関数を確認 正規化定数について調べる 固有値計算の部分をmペア導出できるように拡張 上記に関連して、評価関数の改善 なんか進んでるはずやのに、やることが減らない。がんばれオレ。 水曜にはスパコン講習が開かれる。MPIについての特別講義だ。ちょっとぐらい予習をしとくかな。 2009/6/7(SUN) 今日はちょろっと研究室に顔出した。ちょろっとだけプログラムやった。 プロ輪 メモリのエラーが出ていたが、今回のは2重開放ではなく、単に確保して使ってないメモリを解放したことによるエラーだったらしい。 今回のプログラムでは固有ベクトルは最大固有値に対するものだけでよかったので、その方向で修正。 具体的には以下。 べき乗法による固有値計算を最大固有値ひとつだけを求めるように変更 上記に伴って、様々な変数の型や代入方法などを変更 kccaの処理部分を関数としてmainから除去 ラベルの配列cの不具合を修正(ファイル書き出しができてなかった) 正例ファイルとラベルなしファイルの出力関数を作成 なんとか形になってきた。今後は以下。 評価関数の作成 評価関数によるランキング関数の作成 ランキング後のデータ列で正例・負例ファイル・ラベルなしファイルの生成関数の作成 ここまでは明日のうちにやってしまいたい。 自分の希望では水曜までには金曜に詰めたところまで作りたいと思う。 まずは・・・願書だw 2009/6/5(FRI) 今日は昨日と打って変わって、のんびりしてた。そして7時台に帰るという奇跡。・・・もっと早く帰っていいはずだよね? 輪講 今日はAI輪講。まとめの天才2人の資料は短くて簡潔ですごかったが、講義中の説明がいまいち理解できず。 質問とかめっちゃしたから大丈夫だけど。 それと、昼飯あとの眠いときにプレ輪をまとめ終わる。印刷も完了。誤字脱字はないと思う! プロ輪 今日は少し進めた。固有値計算の関数は初期値を設定してないものがあっただけで動かなかったというお粗末さ・・・。 それから、先輩に教えてもらいながらプログラムの仕様と今後の進め方を詰める。ちょっとまとめてみる。 kccaへの入力ファイルは「正例ファイル」と「ラベルなしファイル」 ・・・ただし、正例は1例のみ。ラベルなしファイルは、元のラベルありファイルをそのまま使ったもの。(プログラム内でラベルを無視して処理する) kccaの出力ファイルは「正例・負例ファイル」と「ラベルなしファイル」 ・・・正例・負例ファイルは、kccaでのラベル付けによる正例と負例のみを記述したファイル。ラベルなしファイルは上記と同じもので、正例・負例以外のもの。 また、出力ファイルはarff形式で出力する。(分類器の訓練はjavaでするため) 半教師付き学習はjavaのwekaで行う。入力ファイル形式はarff形式 「正例・負例ファイル」のみで分類器を訓練 作った分類器で「ラベルなしファイル」にすべてラベルをつけ「ラベルありファイル」を作る。 「正例・負例ファイル」と「ラベルありファイル」を使って分類器を再訓練。 kccaを使わない場合では、以下の流れ。上記同様、javaのwekaを使用。 最初の分類器を「正例ファイル(1例)」で訓練する。 訓練した分類器で「ラベルなしファイル」をラベル付けする。 「正例ファイル」と「ラベルありファイル」で再訓練。 評価に関しては、できれば「10-fold cross varidation」で行う予定。 やることがここにきてやっと明確になりました。来週は輪講の準備とかもないし頑張らねば。 しかし、まずはkccaのプログラムを完成させましょ。 目前の課題は以下。 メモリに関するものであろうエラーを取り除く 相関係数による評価関数、ランク・ラベル付けの関数、正例・負例ファイルの出力関数 とりあえずはこんなもん。これができれば、今日詰めたことまでいく。 ・・・そういえば願書も提出しなあかんねやったな(゚ω゚) 2009/6/4(THU) 今日は久々、ちょー気だるい日だった。朝からだるいと思ったら・・・。 輪講 今日は雑誌会。NLP輪講のおかげで言いたいことがだいたいわかった、話の中に専門用語がありすぎてわからんことも多かったけど、輪講の効果はあるらしい。 プロ輪 今日は、全く進んでません。 気だるさと色々なイライラにやられて、やろうとしたけど手につかず。 期限が延びたみたいやし、まあいい。明日がんばろう。 やったことといえば、研究計画書とプレ輪の資料読んだりしただけ。 こんな日もあってもいいよね。 2009/6/3(WED) できたと思った研究計画書にまさかのダメだし・書き直し。表現をぼかせ、だと。もう、いらんことさせんでくれ・・・。 輪講 今日はNLP輪講。助手先生のまさかの早期夏季休業を受け、学生のみに。議論は白熱。理解はそこそこ。 来週もまだ夏休みなんだってー。 ・・・プロ輪のこと忘れてないよな? プロ輪 昨日までに作り上げたプログラムを改良・追加実装。詳細は以下。 配列定義をすべてvectorに変更 スパコンでboostが使えないことを確認 → arff形式ファイルを、スパコンでも容易に読み込めるようにtxt形式に出力する関数を実装 逆行列を求める関数を実装 固有値を求める関数を実装中(デバッグ中) vectorの使い方がいまひとつ。メモリを余計に使ってたりせんか心配。スコープ抜けたら自動開放してるらしいが、確認したほうがよさそう。 明日からの課題は以下。 固有値を求める関数を実装完了 相関係数でのランキング関数の実装 ラベル付け関数の実装 評価関数の実装 ってもう進めるしかねーよw 明日は最悪でも固有値計算はできるようにならないとお話にならない。 周囲の進み具合もあまり芳しくない様子。自分に至っては、ここに来て詰まり始めてイラっときてます(#゚ω゚) そこに来て、研究計画書。イラっ(#゚ω゚) そして、明日は発表1週間前と目されるが、正式な通達はまだ。マジでプロ輪のこと忘れてないやろな? ・・・イラっ(#゚ω゚) 2009/6/2(TUE) この日誌を書くことが習慣になりつつある。いいことだ。しかし、この日誌を書くときに初めて曜日を認識する。 ・・・いいこと!? 輪講 今日はCV輪講。一回画像工学でやったことが多くて助かった。が、理解はしてない。納得はした。 ・・・使う時に理解すればいいのよ。 プロ輪 今日は引き続きカーネル正準相関分析のプログラムを進める。 朝にジーニアスM先輩のご助言により、自分だけで作るよりかなりよいプログラムに。ありがとうございました! 進捗状況としては、こんな感じ。 arff形式のファイル読み込みに対応(数値データのもののみ) カーネル関数(ガウスカーネル)実装 カーネル行列(カーネル関数で求めた値を並べたもの)を求める関数を実装 いずれも動作は確認。が、正しい出力かをじっくり確認してないので、なんか検証法を考えなくては。 ファイル読み込みに関しては、M先輩の言った通りboostを使った正規表現で実装。他の部分でも使えそうなので、余裕があればアップグレードする。 しかし、boostがスパコンで使えるかは未確認。明日します・・・。 てことで、明日の課題。 実装した関数の改めての動作確認 boostがスパコンでも使えるか(果ては、今のプログラムが動くか)確認 2次元配列での表現をvectorでの表現に書き換える(余裕があれば) 固有値計算の部分以降の実装を進める(明日で固有値計算は実装したい) なんか、こうやって見るとやること多いな(゚ω゚) 研究計画書ができたのがせめてもの救い。願書かいていかな・・・。 2009/6/1(MON) 6月初日。もう6月か。・・・感慨に浸っている暇もないのか。 輪講 今日はプレ輪だけ。いつものことながら20分くらいで終わるのはいくらなんでも早すぎませんか? 僕にはそんな早くできる自信はないです・・・。 プロ輪 今日からカーネル正準相関分析に取り掛かる。 アルゴリズムとかは覚えてたけど、おおざっぱで細かい計算とかは・・・(゚ω゚)? ってことですべて見直し。行列の行数とか列数とかから徹底的に見直し、やっとのことでまとめおk。 そして、プログラムに取り組む。 まずは、データの読み込み部分から。これがなくては動作確認もあったもんではないからね。 先輩にもらった.arff形式のファイルの読み込み部分を作った。 Classのラベルの部分がファイルによって若干違うのがウザい。いまだ未対応。明日やる。 ・・・あ、もう明日になってるやん。 さーて、明日からの課題は~ データ読み込み(Classの読み込み)完全対応 ガウスカーネルの関数作成 行列計算のやり方の確認 の3本です。やれるとこまでやりましょー。 2009/5/29(FRI) 当日につけられなかったので、土曜日に書く。さすがにねみー。 輪講 今日はAI輪講の発表。なんかすごいノド乾いててやばかった。 まとめる作業はあまりやってなかったので長くなり、案の定「もっと短く」と言われました。 がんばります…。 プロ輪 今日はほとんど手をつけず。 が、MPIが稼動することは確認。仕様等はまだよくわかってません。これからこれから。…これからなぁ。 んで、今日はなにしててんって研究計画書を書いていた。先輩の去年のものを参考にさせてもらいながら書くものの…骨が折れる。 院の2年間を賭けた壮大な嘘を書くには、それなりに練らないときついようです。面接もあるしねー。 とにかく土日は適度に休みたいと思います。誰かよく眠れる方法知らんかなー。 2009/5/28(THU) 昨日は寝つきが最悪だった。横になってから1時間寝れんて・・・。 輪講 今日は雑誌会。なんとなく話はわかったし、質問もしてみようかと思ったら、3賢人に先に質問された。 「もっと質問引き出せよw」ってボスはおっしゃった。全部言われたのにどうしろとw プロ輪 今日もOpenMPに明け暮れる。 の、前に。その効果がいまひとつわからないということで作ってたシェルスクリプトも利用した平均計算時間計測を2桁の実行回数が可能なように拡張。 コンパイルから、結果表示まで一括処理はちょー楽w エラーが表示されんことが難儀やけど、そこはまた考えよう。それくらいなら逐一見てもいいし。 これが、一応の形になったところでOpenMPに戻る。 何度も頭を悩ませていただけあって、そこそこ掴めてきたか。もうちょっと見直せば、並列処理できるところはまだありそう。 配列とメモリーの関係には要注意。 そして、明日の課題は引き続き。 MPIの利用 OpenMPの効果の判断(実装込み) 今のところ、OpenMPで2%ほどの速度改善。正味、2次元2組の10万個のデータではスパコン使うとミリ秒単位なんで不毛に思えてくる・・・。 2009/5/27(WED) 今日は6時・7時・8時に目が覚めた。変な夢を見た。また、病み始めてきた。早っ。 輪講 今日はNLPの発表。なんとか問題なくクリア。が、思った以上に誤字脱字多し。俺のボケ。 金曜にはAIの発表だ。あんなんの誤字脱字が見抜けるかー。 プロ輪 今日もOpenMPの実装を試みる。 と、なかなか速くならない。どころか遅くなる。なして(゚ω゚)? 調べてみると、スレッドでの並列はいいけれども、メモリアクセスの時点で不具合が生じていることがあるとか。 てことで、改善。ちょっと速くなった。 だがしかし。 実行するたびに実行時間に結構差がでる・・・。そこで、差があるなら平均をとろう! ということで、新たなプログラムとシェルスクリプトをいじって平均実行時間を見られるようにした。 これで、今後の評価もしやすくなった。 今後の課題はいろいろ追加。 MPIの利用 並列化の有効な場合、逆効果な場合を把握する スレッドのみの並列化には限界があるよう。ノードでの並列化を考えていかねばいけないらしい。 2009/5/26(TUE) 1時までネット麻雀をした後の朝。 今日はまたダルい!あそびたいー。 輪講 CV輪講は内容が抽象的で、実像が掴めない。何がしたいとかはわかったけど、具体的な部分は使うときでいいや。 明日はNLP輪講の発表。ということで、見直し………誤字脱字が多い…。俺のアホ。 プロ輪 実験結果をすこしづつ貯めていこうか。プログラムの改変具合と共に。 これに関しては、研究のほうに書いていこうか。 今日は終始上のことを踏まえて、OpenMPによる並列高速化を検証していった。 基本的にfor分ループの並列化を試していたが、効果的なところもあれば、やはり逆に遅くなったり。 ぐちゃぐちゃのループを無理やりバラして並列化するも、やはりものによる。 あまりスパコンのスペック、特に並列可能なスレッド数にあまり着目できていなかったかも。 「なんも書かんかったら、最大スレッド数やしなー」 って思ってたけど、スレッドの割り振りは考えず。これこそが考え物か。 今後の課題は、 for文以外の並列処理できるものを並列化する 並列化するときの、変数の割り振り(特にshareかprivateか)などを見極める 同期処理の必要なところは? 教授に「MPIの方は?」って言われましたが、そんな余裕ないっす。てか、あれは1台のパソコンで有効なの?俺はまだ知りませぬ。 3重ループって並列化できひんのー? …頭の処理が並列化できればいいのに。 2009/5/25(MON) インフル休講明け1日目。 マスク姿の人がちらほら。推薦入試の願書を受け取りにいく。 輪講 NLP輪講の資料見直し終了。印刷もばっちり。 AI輪講の資料作成(校正)。まだ、内容をまだ十分理解できず。が、資料は完成。要見直し。図が汚い…。 プロ輪 進捗状況を先輩に報告。「結構進んでるやん」って言われた。 だがしかし。だがしかしたかし。 疑問いっぱい。不安いっぱい。お腹は減った。 ここからは真面目に。 正準相関分析のプログラムの理解は大体済む。 octaveライブラリをスパコン上で使用可能か検証するつもりではいるが、その必要性は? というのも、ライブラリを使うと、行列計算における配列やループの並列処理をすべてライブラリにたよることになるので、スパコンによる恩恵を得られるのかわからないというもの。ライブラリの中身もしてくれんのかなー。 カーネル正準相関分析については、現在の正準相関分析のプログラムを応用すればなんとか作れそう。まだ、着手する気は起きていない。 先に、正準相関分析のプログラムをサンプルとして、スパコン上での最適化の方法をしっかりと検討していく。 現在使用可能なものは、-fastsse、-Mipa=inlineである。 Mconcurでの自動並列化ではSegmentation Faultで結果が出ず。OpenMPによる並列箇所の指定が必要だ。 #bf 名前 コメント
https://w.atwiki.jp/japanchina/
日中連携ビジネスプログラム(MBA)サイトへようこそ 当サイトは龍谷大学大学院経営学研究科(日中連携ビジネスプログラム)に在籍している3名を主に運営しています。 龍谷大学大学院 経営学研究科 日中連携ビジネスプログラム詳細はこちらをクリック WTO加盟後約5年を迎えた超大国中国。未だ衰える事無く成長を続けています。 今後の日中ビジネス投資環境を考えていきます。 - 方 徳輝 FROM CHINA 1973生 藤本 彰一 FROM JAPAN 1959生 前月 2021年12月 翌月 日 月 火 水 木 金 土 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 script type="text/javascript" charset="UTF-8" src="http //www35.atwiki.jp/japanchina/js/tagcloud" /script script type="text/javascript" charset="UTF-8" src="http //www35.atwiki.jp/japanchina/js/search" /script
https://w.atwiki.jp/sinapusu2002/pages/349.html
競技プログラムをどんなに頑張っても大工でいえば、細部の製造を習うようなもの。 書籍で簡素な犬小屋を作るレベルが多い。 自分でソフトを作るため、どこかで家の設計にあたるレベルの勉強や仕事場で家の設計レベルに参加する。 そういう実務のレベルを学ばない限り競技プログラムの問題を幾ら解いても意味がない。 会津大学オンラインジャッジの問題を636問自力で解いたがそういう範囲を学ばないとお金にならない。 勉強記録 2016年6月時点 楽しいRubyを一通り学び終えた。 次にJ言語を学ぼうと思ったが近隣の図書館に一冊もない。 しかたないので(なにが?)Cobolを学ぼうと思う。 Cobolは長大な文章をバッカスナウア記法に従って記述する能力を高めるのが大事なようだ。 J言語が無理ならRかな。 Rは書籍も豊富なのでRの入門書を図書館で借りようと思う。 あとerLangも学びたいな。 Prologは少しできるがPrologは時代遅れだし、書籍も図書館内での閲覧に限る貸出禁止図書になってて勉強しにくい、erLangなら図書館にもあるかもしれない、それにerLangは時代の寵児だしね。 C++のポインタと継承を賢く使ったプログラムもきちんと記述できるようになりたいな。 Lisp系統の言語の苦手意識もなくしたい。 SQLもちゃんと学ばねば。 TCP/IPも基礎教養として学ばないとな。 後GUIアプリできちんとしたものを一つは作らないと。 GUIソフト画面作りは苦手、苦手意識から勉強してない。 勉強しなくてはいけない物が多すぎるが人生の残り時間は短い。 どうしたものか。
https://w.atwiki.jp/game-libre/pages/16.html
+変数 変数 プログラムとは、コンピュータ内のパラメータを条件によって変化させ、目的を達成する事を目指す命令のまとまりである。 プログラムの世界では、変数とはパラメーターである。コンピュータ内に格納しているデータであり、可能なら変更できて、一定ではない 学校の数学だけ習っていると、変数と言う言葉は定数と同じような解釈をしてしまう 複数の式が提示され、その全てを満たす変数を求める、ってのが数学における基本的な変数の使い方だからだ -ゲームとしてのプログラム(アクション) ゲームとしてのプログラム(アクション) +初期設定 初期設定 画面表示や音響設定などを整える 表示する為の映像バッファ等を整える ゲームで使う入力機器を決定する ゲーム開始時の各パラメーターの初期値を設定する ゲームが終わる条件を満たさない限り、以下の行動を繰り返すプレイヤーの行動 敵プレイヤーの行動 他のオブジェクトの処理 画面表示 終わった状況に応じて、残りの処理を行う 終了 -プレイヤーの入力 プレイヤーの入力 入力の応じてパラメーターを変更する プレイヤーの位置 アクションを開始する。ショットを打つ -判断 判断 判断は基本、パラメーターがある特定範囲にあるかで判断し、あれば何か別のパラメーターを変更したり、別の命令を行なったりする -敵の行動 敵の行動 敵の行動は、あらかじめ定められた行動か、その時その時で判断をして、それにふさわしい行動(パラメータの変動)を行なう -表示 表示 各種キャラクター、オブジェクトの処理が終われば、その新しいパラメーターを元に画面描写を行う 基本、この表示は1フレーム(1/60秒)毎に行う