プログラミング

ambiguousで怒られた

このエラーで初めて怒られました。 Super.method( interfaceA ) と Sub.method( interfaceB ) で、引数として C implements interfaceA, interfaceB を渡していたのが原因っぽそうです。 クラス図がだいぶ複雑になってきているから、やはり根本的に設計を見…

JavaDoc

いま作ってるツールのソースのコメントを整備しています。もう2ヶ月近くコメントには手付かずだったので、ソースとの乖離が… 同期を取るために2時間ぐらいがんばったんだけど、力尽きました。明日一日つぶさないとダメかなあ。 早いとこドキュメントを公開…

金沢大会WEB予選問題D

http://ccserv.adm.ehime-u.ac.jp/ICPC/problems/domestic/d2002/problems/D.html 今日、コーチを引き受けているチーム(といっても、私はチームの登録をしただけで指導とかは何もしてない)から、実行効率の良いアルゴリズムについてのアイディアはないかと…

javax.imageio.ImageIO.read()

なんか、ImageIO.readを仕掛けると、時々スレッドが止まるんですが… マルチスレッドで動かしているのがいけないのか、それとも。。。ばぐ?

ソースコード一致度解析ツール

実装しました。そして、利用したときに感じたことです。 正規化の必要性 統計的な何かの必要性 構造解析の必要性 なお、採用したアルゴリズムは、2つのソースコードを字句で分割し、2配列のアライメントの問題へと帰着させ、ダイナミックプログラミングで…

ソースコード一致度測定ツール

1.要件 ソースコードを解析し、その内容がどの程度他のソースコードに一致するかを測定し、その関係図を図示する。 1.1.二つのソースコードの一致度 簡易化のため、ソースコードの構文解析は行わない。まず、行単位の一致度を求める。これは、Unixコマンドの…

プログラム・プロムナード

論文というわけじゃないけど、情報処理学会誌の連載記事。ACM/ICPCの問題を題材にし、アルゴリズムから実装にいたるまで、プログラミング全般について書かれている。久しぶりに情報処理学会のホームページに行ったら、この連載記事が一般公開されていたので…

LinkedListとEntry

JavaのLinkedListはうらやましい。なぜなら、その内部構造が完全に隠蔽されているからだ。LinkedListの構造はいってシンプルだ。双方向リンクリストの構成をとっていて、要素(element)と前後のエントリー(entry)への参照を持つエントリーが数珠上に構成され…

マルチスレッドプログラミングにおける単体テスト

研究用に開発しているグラフシミュレータは、各ノードがマルチスレッドで動作します(だから、機能シミュレーションしかできず、時間を正確に扱う必要があるシミュレーションはできない。サイクルアキュレートモデルみたいなもの)。で、現在マルチスレッド…

関数の変形@Effective JavaScript

http://www.interq.or.jp/student/exeal/dss/ejs/1/4.html この一つ前のセクションまでは、濃い内容だとは思っていたけど、lisp/schemeを勉強している身としてはまだ想像の範疇でした。しかし、今回の関数の変形はマジでやばいです。まさかJavascriptでここ…

ドキュメント作成

私が研究のために開発しているツール、グラフシミュレータのドキュメント整備を行っています。この場でのドキュメント整備とは、すべてのクラスがjavadocを通るようにすることを指します。 このツールの開発は私一人で行っており、もともとお遊びで作ってい…

piccolo

http://www.cs.umd.edu/hcil/jazz/ zooming interface frameworkであるpiccoloに.NET版が出来ている… スゲー、いつの間に!! という感じ。 APIドキュメントを見たら…Java版とほとんど同じじゃん!!

ライブラリの整理・現状

BasicCell PlasticPart CirReader CirWriter 4つのクラスを移植する。いままでただの関数だったCirReaderとCirWriterを新規に分割した。 BasicCellは4つのLookUpTableインスタンスを保持するだけのクラス。今のところまったく意味がない。 PlasticPartは、…

メーラー開発記

とりあえず、GUIの表示部分だけはできた。右上参照のこと。てか、見えない…

メーラー開発記

自分専用のメーラーの開発をスタートしました。暫定的にMyaMailと名づけました。まずはSMTPやPOP3でメールの送受信を行うことや、Swingを用いたGUIによる操作を実現したいと思います。 で、メール送受信の基幹部分はひとまず置いといて、GUIのコーディングを…

メーラー

自分が使いたい機能が簡単に使えるツールが欲しくて、私はプログラムを書きます。そして今、一番書きたいのがメーラーです。あまり環境依存したくないので、Javaで書こうと思います。で、Javaで書かれたメーラーについて軽く調べてみました。 GikoMail http:…

グラフシミュレータ

グラフシミュレータでまだ実装できていなかった、ポートの奪い合いの実装がうまく動きました。 簡単に言うと、ちょーキレーなお姉さんに男どもが群がって、その中で最初にお姉さんにタッチすることができた男だけが、お姉さんとお付き合いできる。そして、男…

TRS

先生から言われたことまとめ infixとprefixを混在した式表現フォーマット functionフォーマットをもっと融通が効くようにする critical pair ruleの逆もできるようにする critical pair ruleを2個に限定しない ボタンに機能を追加する

infixとprefixのごちゃまぜについて

1+2*f(x,y,g(z)) 上のような数式を認識するにはどうすればよいかを考えてみた。(てか、酒飲んでるし、疲れてるからこれぐらいしか考えられない。) まず、必要なルール・目標を先に決めておく。 infix演算子とprefix演算子をあらかじめ決めておく。 演算子…

TRS用ツール

Term Rewriting System の授業のプログラミングの課題の最後の宿題をメモ。微妙に覚えてないし。 infix notationとprefix notationをごちゃ混ぜにした表記を可能にする。 複数ルールによるcritical pairsを求められるようにする。 ボタンにルールを与える。 …

Completion

Term Rewriting System の Completionの実装が完了する。NormalFormの取得方法やCriticalPairのRewriteRuleへの追加順序など検討しなければならないことは山ほど残ってるけど、とりあえず、コアの実装は完了。あとはGUIをがりがりと書くだけ。

三角形(ry

htmlつき http://zxp044.u-aizu.ac.jp/~susumu/?down=triangle.html swfファイルのみ http://zxp044.u-aizu.ac.jp/~susumu/?down=triangle.swf とりあえずまだ詰めが甘いけど、一応動くものができた。あとは頂点の内包判定に失敗しているのを直すだけだけど…

三角形の重なり…

またflashで変なものを作ってるなあと思いつつ、二つの三角形の重なりの面積を求めるプログラムを書いています。 モンテカルロ法を使う方はできました。たくさんのループを回すところは、スレッドもどきを実装して何とかしのぎました。 問題は、包装問題を使…

Unificationの実装・その後

とりあえず、注文を付けられた場所の修正および新機能の追加が完了。満足。 色使いをもっと華やかに…? グレースケールから淡い青系に変更しました。 エラーメッセージをもっと分かりやすく なぜダメなのかを少しだけ詳しく書きました。 画面をきれいにでき…

二つの三角形の重なった部分の面積を求めるプログラム

モンテカルロ法を使ったプログラムをflashで軽く実装してみました。したら… 劇重!! たかだか1万回のループで軽くもたついてくれる。スレッドが存在しない以上、スレッドもどきを実装しないとだめということか。

Unificationの実装

月曜火曜と某合同説明会に行ってきました。いやあ、東京ってあんなに遠いところにあったんだね。久しぶりに実感。一泊二日で諭吉先生が二人もいなくなるとは思わなかったよ。 で、22時ぐらいに帰ってきたんですが、それから課題のプログラミングをずっとし…

Unificationの実装

項書き換え系の授業でUnificationの実装という課題が出されました。一番基本となるアルゴリズムは既に提示されているので、それをそのままコード化すれば終了します。てか、もう終わったし。実質30分かかってない。 ただ、入出力をどうしようかなあと考え…

2つの三角形が重なる部分の面積を求める

プログラミングのTAをしているときに話題に出た問題です。いろいろ考えて、やっと納得のいく結論が出ました。 二つの任意の三角形があります。この二つの三角形が重なったとき、重なった部分の面積はどのように求めたらいいかという問題です。 おそらく一…

Context.newObject()

context.newObject( scope [constructor="Object" [args=null ] ] ) scope : Scriptable constructor : String args : Object[] scopeからconstructorを探し出して、argsを引数としてオブジェクトの生成をします。ちなみに、scopeは自動的にトップレベルスコ…

Context.enter()について

各Java-Threadに1つのContextしか割り当てないようにするための仕組みのようです。Context.enter()が呼ばれると、既存のスレッドに対応付けられたcontextが存在する場合はそのcontextを返します。存在しない場合は、新規にcontextを生成してそれを現在のス…