2011-01-01から1年間の記事一覧
あの三日目にして今年の最終日。 風も穏やかになって静かな大晦日。
あの二日目。 天気快晴なれど風強し。 体感温度が下がる下がる。
あの一日目。 天気が良くて、さらに冬らしい寒さでいい感じ。
題記そのままの事柄についてである。 一部のノードに対して属性aが設定されたグラフを次のようなgvprプログラムに与える。 $ gvpr " > N [a] { > print('[a] ', name, ' has attrib a=', a); > } > > N [!a] { > print('[!a] ', name, ' doesn\'t have attri…
現世代のグラフを入力とし次世代のグラフを出力とするフィルタをgvprプログラムで書いてみる。 next_gen.g BEGIN { int count_alive(node_t n) { int count = 0; edge_t e; for (e = fstedge(n); e != NULL; e = nxtedge(e, n)) { if ((e.tail == n && e.hea…
人生でなくConwayの方のゲーム。 グラフ的見方からすると次のように表現できる。 時間とともに変化する真偽値を属性として持つノードから成るグラフを考える。 何らかの規則で標本化された各時点の真偽値のみで、その変化を完全に記述できるとする。 ある標…
<svg version="1.1" width="140" height="230" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <title> Tree crowned with Star </title> <defs> <radialGradient id="back_grad" cx="70" cy="40" r="60" gradientTransform="scale(1 2)" gradientUnits="userSpaceOnUse"> </radialgradient></defs></svg>
christmas_star.gv graph tree_topper_star { graph [bgcolor=darkgreen]; node [shape=point, height=0.01, width=0.01, color=yellow]; edge [style=bold, color=yellow]; 1 [pos="2,2"]; 2 [pos="1,0"]; 3 [pos="4,1"]; 4 [pos="0,1"]; 5 [pos="3,0"]; 1 …
少し素直に書き過ぎてコードが複雑になってしまった。 どのドアに当たりを入れるかをランダムに決めるのであれば、 最初に選択するドアは固定で構わないだろう。 選択を変えたときと変えなかったときとは表裏一体の関係であるから、 変えたときに当たった割…
問題に沿って素直に書いてみる。 #include <stdio.h> #include <stdlib.h> int main(void) { int i, iter, n_car[2], n_goat[2]; for (i = 0; i < 2; i++) n_car[i] = n_goat[i] = 0; srand48(20111222L); for (iter = 0; iter < 1000000; iter++) { int car = (int)(drand48() </stdlib.h></stdio.h>…
Squareの情報を表示するコンポーネントだけでなく、 Squareに値を設定するコンポーネントも加えてみる。 import java.awt.Dimension; import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.…
SquareParametersPaneとJLabelでSquareの情報を共有するアプレットを作ってみる。 SquareApplet.java import java.awt.Dimension; import java.awt.FlowLayout; import javax.swing.BorderFactory; import javax.swing.JApplet; import javax.swing.JLabel; …
せっかく正方形の情報Squareの変更を通知する仕組みができあがっているのに、 これまでSquareParametersPane自体が正方形の情報を内部で生成、保持していた。 これを外部で生成し、SquareParametersPaneに与えられるようにすることで、 他のクラスからも正方…
SquareParametersPaneを思い切り変更してみる。 import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.FocusEvent; import java.awt.event.FocusListener; import javax.swing.GroupLayout; import javax.swing…
とりあえずかなり中途半端にSquareParametersPaneに適用してみる。 ...snip public class SquareParametersPane extends JPanel implements ActionListener, FocusListener, SquareListener { private Square params = new Square(); private JTextField sid…
更新したJDKのうち、Windows XPに入れたJDK7u2のインストーラが気持ちの悪いことを。 %USERPROFILE%ディレクトリ直下に自分勝手なディレクトリを作成して70MBファイルを放り込んでいる。 作るなら直下ではなくApplication DataなりLocal Settings\Applicatio…
知らせる情報を表すクラスと知らされる側が持つべきインタフェイスについて定義したので、 今度は知らせる側を作成する。 正方形の諸元を表すSquareParametersにその変更を知らせる機構を付加したクラスSquareを定義する。 Square.java import java.util.con…
前に述べたJDK6とJDK7でのコンパイラ動作の差について、 両者ともに新しいもの(1.6.0_30と1.7.0_02)が出たので手元の環境を更新して試してみた。 結果は更新前と同じだった。
正方形の諸元を表すSquareParametersクラスの持つパラメータが変更されたときに、 変更されたことを知りたい者に知らせる機構を付加する。 変更されたという出来事をここではjava.util.EventObjectクラスのサブクラスとして定義しておく。 SquareEvent.java …
リソース読み込み用のクラスSquareParametersResをUTF-8のプロパティファイルベースに変更する。 といっても、デフォルトコントロールをPropertiesControlに変更するだけである。 ...snip public class SquareParametersRes { private static ResourceBundle…
PropertiesControlではReaderでプロパティファイルを読み込むように変更しているだけなので、 Unicodeエスケープされたものを解釈するResourceBundle側の振る舞い自体は変わっていない。 したがって、Unicodeエスケープに使われる文字エンコードとProperties…
本当は太陽と地球の共通接線で考えるべきという追記をわざわざしたが、 であり、 なので、結局、 となり、本影の円錐の頂点と地球中心との距離は以前に示したものと同じになる。
PropertiesControlを使ってみる。 以下の三つのプロパティファイルを用意する。 messages.properties 1 = message 1 2 = message 2 3 = message 3 messages_ja.properties (UTF-8) 1 = めっせーじ1 2 = めっせーじ2 messages_ja_JP.properties (UTF-8) 1 =…
月食は地球の影に月が入る現象だが、この影はどのくらいの大きさだろう。 太陽光線が平行であれば影の大きさは地球の大きさを底面とする円柱となるが実際は少しだけ複雑になる。 月食時の太陽、地球、月の位置関係をざっくり*1示すと、 太陽の直径をD、地球…
PropertiesControlのソースはJDK1.7以降でないとコンパイルに失敗する。 newBundleメソッドのPropertyResourceBundleによる取り込み部分でリソース付きtry文を利用しているためである。 これはJDK1.7から導入された文法なので、 1.6以前であればreaderをclos…
JDK1.6よりも前であれば面倒だったけれど、 1.6で導入されたResourceBundle.Controlクラスにより簡単に書くことができるようになった。 ResourceBundle.ControlクラスのAPI仕様にあるXMLベースのリソース取り込みのサンプルとあまり変わりない。 import java…
ResourceBundleクラスのgetBundleメソッドのデフォルトの振る舞いにしたがう場合、 プロパティファイルベースのリソースでは、文字エンコードがISO-8859-1でなければUnicodeエスケープする必要がある。 自動化されていたり一括管理されている場合なら大して…
gnuplotで関数p(x,y)を定義した際に、ガウスの誤差関数erfの代わりに相補誤差関数erfcを利用した。 考えてみるとC99で標準関数として導入されたのはerfだけでなくerfcもちゃんとあったような。 というわけで、1.0から引かなくて済む分、C99でももう少しだけ…
2種類のアイテムの獲得数がそれぞれx個、y個とする。 両者が等確率で得られると仮定すると、 獲得数の期待値はともにであるのでそのカイ二乗値は、 そのカイ二乗値での自由度1のカイ二乗分布の上側累積確率 をx-y平面上にgnuplotでプロットする。 set termin…
アイテム獲得数がそれぞれ15個と24個になった。 自由度1のカイ二乗分布のでの上側累積確率は0.149542である。 まだ等確率であることを否定できないが、15個の方のアイテムが欲しいので気になる。 このまま24個の方ばかりが得られ続けた場合、 での上側累積確…