October 24, 2005

OLOMOA日誌:GUIを実装する(2)

殺伐とした,素っ気の無いGUIができた.これで十分であると思われる..jarなファイルでも動作を確認.

Posted by ysk5 at 01:28 AM | Comments (0) | TrackBack

October 23, 2005

OLOMOA日誌:GUIを実装する(1)

殺伐としていてもGUIをつかった入力のほうがcontrolクラスとかをつかってソースをいじくるより,やっぱり設定が楽なようなきがする.

あとは残りの実験変数をぶち込んで,プログレスだけ表示できるようにすればいいや.

Posted by ysk5 at 01:34 PM | Comments (0) | TrackBack

October 22, 2005

OLOMOA日誌:実験ノート(3)

パラメータ1:
// 試行設定
n_steps = 200;
n_trials = 100;
// 高次学習の間隔
interval_se = 2;
interval_ad = 200;
interval_co = 5;
interval_pr = 200;
// GAパラメータ
n_firms = 30; // 企業ネットワークの企業数:1-30程度の自然数が入る.number of firms.
flag_ga[0] = 1;
flag_ga[1] = 0;
flag_ga[2] = 1;
flag_ga[3] = 0;
p_cross = 0.7; // GAの交叉確率:0-1までの小数が入る.probability of crossover.
p_mutation = 0.05; // GAの突然変異確率:0-1までの小数が入る.probability of mutation.
c_mult = 1.8;

パラメータ2:
// 試行設定
n_steps = 200;
n_trials = 100;
// 高次学習の間隔
interval_se = 2;
interval_ad = 200;
interval_co = 200;
interval_pr = 200;
// GAパラメータ
n_firms = 30; // 企業ネットワークの企業数:1-30程度の自然数が入る.number of firms.
flag_ga[0] = 1;
flag_ga[1] = 0;
flag_ga[2] = 0;
flag_ga[3] = 0;
p_cross = 0.7; // GAの交叉確率:0-1までの小数が入る.probability of crossover.
p_mutation = 0.05; // GAの突然変異確率:0-1までの小数が入る.probability of mutation.
c_mult = 1.8;

=====================================
t-検定 : 分散が等しくないと仮定した2標本による検定
変数 1 変数 2
平均 91.81591618 77.87267409
分散 46.5102794 29.08995359
観測数 100 100
仮説平均との差異 0
自由度 188
t 16.03622721
P(T<=t) 片側 2.46049E-37
t 境界値 片側 3.134191502
P(T<=t) 両側 4.92099E-37
t 境界値 両側 3.343011485
=====================================

Posted by ysk5 at 05:48 PM | Comments (1) | TrackBack

October 21, 2005

OLOMOA日誌:実験ノート(2)

やっぱこのシミュレーションは理論創出のためのものだわ.

パラメータ1:
// 試行設定
n_steps = 200;
n_trials = 100;
// 高次学習の間隔
interval_se = 2;
interval_ad = 4;
interval_co = 200;
interval_pr = 200;
// GAパラメータ
n_firms = 30; // 企業ネットワークの企業数:1-30程度の自然数が入る.number of firms.
flag_ga[0] = 1;
flag_ga[1] = 1;
flag_ga[2] = 0;
flag_ga[3] = 0;
p_cross = 0.7; // GAの交叉確率:0-1までの小数が入る.probability of crossover.
p_mutation = 0.05; // GAの突然変異確率:0-1までの小数が入る.probability of mutation.
c_mult = 1.8;

パラメータ2:
// 試行設定
n_steps = 200;
n_trials = 100;
// 高次学習の間隔
interval_se = 2;
interval_ad = 200;
interval_co = 200;
interval_pr = 200;
// GAパラメータ
n_firms = 30; // 企業ネットワークの企業数:1-30程度の自然数が入る.number of firms.
flag_ga[0] = 1;
flag_ga[1] = 0;
flag_ga[2] = 0;
flag_ga[3] = 0;
p_cross = 0.7; // GAの交叉確率:0-1までの小数が入る.probability of crossover.
p_mutation = 0.05; // GAの突然変異確率:0-1までの小数が入る.probability of mutation.
c_mult = 1.8;

=====================================
t-検定 : 分散が等しくないと仮定した2標本による検定
変数 1 変数 2
平均 88.99181667 77.87267409
分散 34.38712515 29.08995358
観測数 100 100
仮説平均との差異 0
自由度 197
t 13.95606017
P(T<=t) 片側 1.5627E-31
t 境界値 片側 3.132154234
P(T<=t) 両側 3.1254E-31
t 境界値 両側 3.34053766
=====================================

Posted by ysk5 at 11:23 PM | Comments (0) | TrackBack

October 19, 2005

OLOMOA日誌:実験ノート(1)

さあデータをとろう.データをとろう.

に関してデータをとる.

とりあえず今日は寝ているうちに(proposed learning, self-organization)のデータをとらせる.

# 追記:寝る前に終わったので,(no-learning, self-organization)のデータをとらせることにする.

以下,実験パラメータ.
=====================================
// 試行設定
n_steps = 300;
n_trials = 100;
// 高次学習の間隔
interval_se = 5;
interval_ad = 300;
interval_co = 300;
interval_pr = 300;
// GAパラメータ
n_firms = 20; // 企業ネットワークの企業数:1-30程度の自然数が入る.number of firms.
flag_ga[0] = 1;
flag_ga[1] = 0;
flag_ga[2] = 0;
flag_ga[3] = 0;
p_cross = 0.7; // GAの交叉確率:0-1までの小数が入る.probability of crossover.
p_mutation = 0.1; // GAの突然変異確率:0-1までの小数が入る.probability of mutation.
c_mult = 1.3;
=====================================

# 追記2:変数1:(proposed learning, self-organization),変数2:(no-learning, self-organization)で結果が出た.@0.001,平均
=====================================
t-検定 : 分散が等しくないと仮定した2標本による検定

変数 1 変数 2
平均 43.71549511 11.57476594
分散 54.24732497 52.17483448
観測数 100 100
仮説平均との差異 0
自由度 198
t 31.15585627
P(T<=t) 片側 1.44415E-78
t 境界値 片側 3.131863195
P(T<=t) 両側 2.88831E-78
t 境界値 両側 3.340392141
=====================================
@0.001,最大
=====================================
t-検定 : 分散が等しくないと仮定した2標本による検定
変数 1 変数 2
平均 93.12400552 66.92796386
分散 113.8784663 261.0200299
観測数 100 100
仮説平均との差異 0
自由度 172
t 13.52940892
P(T<=t) 片側 3.59043E-29
t 境界値 片側 3.138266038
P(T<=t) 両側 7.18086E-29
t 境界値 両側 3.347959137
=====================================

Posted by ysk5 at 12:54 AM | Comments (0) | TrackBack

OLOMOA日誌:実験データグラフ(3)

スケーリングをしっかりかけてみたら,なかなかにグッドなデータが出てきた.


=====================================
// 試行設定
n_steps = 300;
n_trials = 1;
// 高次学習の間隔
interval_se = 5;
interval_ad = 300;
interval_co = 300;
interval_pr = 300;
// GAパラメータ
n_firms = 20; // 企業ネットワークの企業数:1-30程度の自然数が入る.number of firms.
flag_ga[0] = 1;
flag_ga[1] = 0;
flag_ga[2] = 0;
flag_ga[3] = 0;
p_cross = 0.7; // GAの交叉確率:0-1までの小数が入る.probability of crossover.
p_mutation = 0.1; // GAの突然変異確率:0-1までの小数が入る.probability of mutation.
c_mult = 1.3;
=====================================

Posted by ysk5 at 12:50 AM | Comments (2) | TrackBack

October 17, 2005

OLOMOA日誌:実験データグラフ(2)


スケーリングがポイントっぽいのでチューニングしよう.


=====================================
// 試行設定
n_steps = 500;
n_trials = 10;
// 高次学習の間隔
interval_se = 5;
interval_ad = 5;
interval_co = 5;
interval_pr = 2;
// GAパラメータ
n_firms = 30; // 企業ネットワークの企業数:1-30程度の自然数が入る.number of firms.
flag_ga[0] = 1;
flag_ga[1] = 0;
flag_ga[2] = 0;
flag_ga[3] = 1;
p_cross = 0.7; // GAの交叉確率:0-1までの小数が入る.probability of crossover.
p_mutation = 0.1; // GAの突然変異確率:0-1までの小数が入る.probability of mutation.
=====================================

Posted by ysk5 at 02:39 PM | Comments (0) | TrackBack

October 15, 2005

OLOMOA日誌:実験データグラフ

健全にランニングできるようになったので,ランニングの様子をグラフ化してみた.
とりあえず理想的に何にも起きていない!

=====================================
// 試行設定
n_steps = 500;
n_trials = 10;
// 高次学習の間隔
interval_se = 5;
interval_ad = 5;
interval_co = 5;
interval_pr = 5;
// GAパラメータ
n_firms = 30; // 企業ネットワークの企業数:1-30程度の自然数が入る.number of firms.
flag_ga[0] = 0;
flag_ga[1] = 0;
flag_ga[2] = 0;
flag_ga[3] = 0;
p_cross = 0.6; // GAの交叉確率:0-1までの小数が入る.probability of crossover.
p_mutation = 0.1; // GAの突然変異確率:0-1までの小数が入る.probability of mutation.
=====================================

Posted by ysk5 at 10:10 PM | Comments (0) | TrackBack

OLOMOA日誌:データ・ディクショナリ(4)

=====================================
変数域には(1)自然数ならばN,(2)整数ならばZ,(3)小数ならばRを仮に示す.
コメント中には説明と変数命名の理由づけを書く.
=====================================

■シミュレーション設定
//
// シミュレーションの試行パラメータ
//
int n_steps = N; // 1試行あたりのステップ数:1-500程度の自然数が入る.number of steps.
int n_trials = N; // シミュレーションの試行数:1-100程度の自然数が入る.number of trials.
// 高次学習の間隔:1-10までの整数が入る.interval of higher level learning in XXX layer.
int interval_se = N; // 自己組織化層の高次組織学習の間隔
int interval_ad = N; // 適応層の高次組織学習の間隔
int interval_co = N; // 調整層の高次組織学習の間隔
int interval_pr = N; // プロセス層の高次組織学習の間隔
// GAパラメータ
int n_firms = N; // 企業ネットワークの企業数:1-30程度の自然数が入る.number of firms.
int [] flag_ga = new int [4]; // GAを行うかどうかのフラグ:0 or 1の整数.0:行わない,1:行う.flag for GA.
double p_cross = R; // GAの交叉確率:0-1までの小数が入る.probability of crossover.
double p_mutation = R; // GAの突然変異確率:0-1までの小数が入る.probability of mutation.
//
// 環境設定パラメータ
//
// タスクパラメータ
int n_tasks = N; // タスク数(=プロセス層の組織数):1-10程度の自然数が入る.number of tasks.
int l_tasks = N; // タスクのストリング長:1-10程度の自然数が入る.length of tasks.
int h_tasks = N; // タスクのストリング値の種類:1-10程度の自然数が入る.height of tasks.
// レスポンス関数のパラメータ
//
double [] b = new double [4]; // コスト定数:0-1までの小数が入る.beta XXX.

■シミュレーション中の主要な変数
int s; // 現在のシミュレーション試行数を表現する
int t; // 現在のシミュレーションステップ数を表現する
int u; // 現在の企業番号を表現する

■環境
int [] a = new int [n_tasks] ; // 潜在収益性alphaベクトル:1-100程度の自然数が入る.alpha vector.
int [][] q = new int [n_tasks][l_tasks] ; // タスク:1-l_tasks分の自然数が入る.qは定式化モデルより.
float [] d_r = new float [n_tasks]; // タスクの解決度:0-1までの小数が入る.degree of resolution for tasks.

float [] f = new float [n_firms]; // 現在の企業評価値:(-100)-(+100)程度の小数が入る.fitness of the firm.
float [] d_f = new float [n_firms][n_steps]; // 企業評価値の分析用データ:(-100)-(+100)程度の小数が入る.各ステップでの(1)平均評価値,(2)最大評価値,(3)最小評価値をストアする.data of fitness of the firms.

■自己組織化層
// 意思決定変数
int [][][] dv_so = new int [n_firms][2][n_tasks + 2]; // 企業uの自己組織化層意思決定変数を保持する配列.decision variables in the self-organization layer.int [][][] dv_ind_so = new int [n_firms][2][n_tasks + 2]; // 企業uの自己組織化層意思決定変数を保持する配列.decision variables of the agents in the self-organization layer.
// 内部モデル
int [][][] im_so = new int [n_firms][n_tasks + 2][dv_co[0]]; // 自己組織化におけるエージェント数s,資源量r,アクティブベクトルaの内部モデル:(n_tasks + 3)-128,(n_tasks)-128および0 or 1の自然数がはいる.internal model of an agent in self-organization layer.
// いらないっぽい
int [][][] tmp_im_so = new int [n_firms][dv_co[0]][n_tasks + 2]; // 企業uのi番目のエージェントの内部モデルの一時配列:(n_tasks + 3)-128,(n_tasks)-128および0 or 1の自然数がはいる.temporal arrangement of internal model of an agent in self-organization layer.

■適応層
// 意思決定変数
int [][][] dv_ad = new int [n_firms][2][n_tasks]; // 企業uの適応層における意思決定変数:1-50程度の自然数が入る.decision variables in the adaptation layer.
int [][][] dv_ind_ad = new int [n_firms][2][n_tasks]; // エージェントiの意思決定した政策:1-50程度の自然数が入る.decision variables of the agents in the adaptation layer.
// 内部モデル
int [][][] im_ad = new int [n_firms][n_tasks + 4][dv_co[1]]; // エージェントiの潜在収益性alphaとウェイトbetaについての内部モデル:alphaには1-100程度の自然数,betaには1-10程度の自然数が入る.internal model of an agent in adaptation layer.
// 評価値
double [][] df_ev = new double [n_firms][n_steps]; // 企業の予測した評価値と実現した評価値との差の絶対値:0-100程度の自然数が入る.difference between the expected evaluation and realized evaluation of the firm.

■調整層
// 意思決定変数
int [][][] dv_co = new int [n_firms][2][n_tasks + 3]; // 調整層におけるエージェントの割当てプラン:0-(128 - (n_tasks + 3))までの自然数が入る.decision variables in the coordination layer.
int [][][] dv_ind_co = new int [n_firms][n_tasks + 3][dv_co[2]]; // エージェントの意思決定変数(割り当てプラン)::0-(128 - (n_tasks + 3))までの自然数が入る.decision variables of agents in the coordination layer.
// 内部モデル
int [][][] im_co = new int [n_firms][n_tasks + 3][dv_co[2]]; // エージェントiの内部モデル.internal model of an agent in coordination layer.
// 割り当て変更
int th = 10; // 閾値の最大値:1-10位の数を想定する.threshold.
double [][][] int_p = new double [n_firms][2][n_tasks + 3]; // 各企業における各機能階層のパフォーマンス値:1-10位の数を想定する.internal performance of the functional layer.

■プロセス層
// 意思決定変数
int [][] dv_pr = new int [n_firms][n_tasks][l_tasks]; // 組織の生産プラン:0 - (h_tasks-1) 程度の自然数が入る.decision variables in the process layer.
int [][][] dv_ind_pr = new int [n_firms][n_tasks][l_tasks][dv_co[n]]; // 個人の生産プラン:0 - (h_tasks-1) 程度の自然数が入る.decision variables of agents in the process layer.
// 内部モデル
int [][][] im_pr = new int [n_firms][n_tasks][l_tasks][dv_co[n]]; // 個人の内部モデル.タスクの認知(需要の感知):0 - (h_tasks-1)程度の自然数が入る.internal model of an agent in process layer.

Posted by ysk5 at 12:31 PM | Comments (0) | TrackBack

October 12, 2005

OLOMOA日誌:クラス図(3)

今週中にはOOPな感じでシミュレーションを回せそうなめどが立ちつつある.

Posted by ysk5 at 10:48 PM | Comments (0) | TrackBack

OLOMOA日誌:データ・ディクショナリ(3)

=====================================
変数域には(1)自然数ならばN,(2)整数ならばZ,(3)小数ならばRを仮に示す.
コメント中には説明と変数命名の理由づけを書く.
=====================================

■シミュレーション設定
//
// シミュレーションの試行パラメータ
//
int n_steps = N; // 1試行あたりのステップ数:1-500程度の自然数が入る.number of steps.
int n_trials = N; // シミュレーションの試行数:1-100程度の自然数が入る.number of trials.
// 高次学習の間隔:1-10までの整数が入る.interval of higher level learning in XXX layer.
int interval_se = N; // 自己組織化層の高次組織学習の間隔
int interval_ad = N; // 適応層の高次組織学習の間隔
int interval_co = N; // 調整層の高次組織学習の間隔
int interval_pr = N; // プロセス層の高次組織学習の間隔
// GAパラメータ
int n_firms = N; // 企業ネットワークの企業数:1-30程度の自然数が入る.number of firms.
int [] flag_ga = new int [4]; // GAを行うかどうかのフラグ:0 or 1の整数.0:行わない,1:行う.flag for GA.
double p_cross = R; // GAの交叉確率:0-1までの小数が入る.probability of crossover.
double p_mutation = R; // GAの突然変異確率:0-1までの小数が入る.probability of mutation.
//
// 環境設定パラメータ
//
// タスクパラメータ
int n_tasks = N; // タスク数(=プロセス層の組織数):1-10程度の自然数が入る.number of tasks.
int l_tasks = N; // タスクのストリング長:1-10程度の自然数が入る.length of tasks.
int h_tasks = N; // タスクのストリング値の種類:1-10程度の自然数が入る.height of tasks.
// レスポンス関数のパラメータ
//
double [] b = new double [4]; // コスト定数:0-1までの小数が入る.beta XXX.

■シミュレーション中の主要な変数
int s; // 現在のシミュレーション試行数を表現する
int t; // 現在のシミュレーションステップ数を表現する
int u; // 現在の企業番号を表現する

■環境
int [] a = new int [n_tasks] ; // 潜在収益性alphaベクトル:1-100程度の自然数が入る.alpha vector.
int [][] q = new int [n_tasks][l_tasks] ; // タスク:1-l_tasks分の自然数が入る.qは定式化モデルより.
float [] d_r = new float [n_tasks]; // タスクの解決度:0-1までの小数が入る.degree of resolution for tasks.

float [] f = new float [n_firms]; // 現在の企業評価値:(-100)-(+100)程度の小数が入る.fitness of the firm.
float [] d_f = new float [n_firms][n_steps]; // 企業評価値の分析用データ:(-100)-(+100)程度の小数が入る.各ステップでの(1)平均評価値,(2)最大評価値,(3)最小評価値をストアする.data of fitness of the firms.

■自己組織化層
// 意思決定変数
int [][][] dv_so = new int [n_firms][2][n_tasks + 2]; // 企業uの自己組織化層意思決定変数を保持する配列.decision variables in the self-organization layer.int [][][] dv_ind_so = new int [n_firms][2][n_tasks + 2]; // 企業uの自己組織化層意思決定変数を保持する配列.decision variables of the agents in the self-organization layer.
// 内部モデル
int [][][] im_so = new int [n_firms][n_tasks + 2][dv_co[0]]; // 自己組織化におけるエージェント数s,資源量r,アクティブベクトルaの内部モデル:(n_tasks + 3)-128,(n_tasks)-128および0 or 1の自然数がはいる.internal model of an agent in self-organization layer.
// いらないっぽい
int [][][] tmp_im_so = new int [n_firms][dv_co[0]][n_tasks + 2]; // 企業uのi番目のエージェントの内部モデルの一時配列:(n_tasks + 3)-128,(n_tasks)-128および0 or 1の自然数がはいる.temporal arrangement of internal model of an agent in self-organization layer.

■適応層
// 意思決定変数
int [][][] dv_ad = new int [n_firms][2][n_tasks]; // 企業uの適応層における意思決定変数:1-50程度の自然数が入る.decision variables in the adaptation layer.
int [][][] dv_ind_ad = new int [n_firms][2][n_tasks]; // エージェントiの意思決定した政策:1-50程度の自然数が入る.decision variables of the agents in the adaptation layer.
// 内部モデル
int [][] im_ad = new int [n_tasks + 4][dv_co[1]]; // エージェントiの潜在収益性alphaとウェイトbetaについての内部モデル:alphaには1-100程度の自然数,betaには1-10程度の自然数が入る.internal model of an agent in adaptation layer.
// 評価値
double [][] df_ev = new double [n_firms][n_steps]; // 企業の予測した評価値と実現した評価値との差の絶対値:0-100程度の自然数が入る.difference between the expected evaluation and realized evaluation of the firm.

■調整層
// 意思決定変数
int [][][] dv_co = new int [n_firms][2][n_tasks + 3]; // 調整層におけるエージェントの割当てプラン:0-(128 - (n_tasks + 3))までの自然数が入る.decision variables in the coordination layer.
int [][][] dv_ind_co = new int [n_firms][n_tasks + 3][dv_co[2]]; // エージェントの意思決定変数(割り当てプラン)::0-(128 - (n_tasks + 3))までの自然数が入る.decision variables of agents in the coordination layer.
// 内部モデル
int [][][] im_co = new int [n_firms][n_tasks + 3][dv_co[2]]; // エージェントiの内部モデル.internal model of an agent in coordination layer.
// 割り当て変更
int th = 10; // 閾値の最大値:1-10位の数を想定する.threshold.
double [][][] int_p = new double [n_firms][2][n_tasks + 3]; // 各企業における各機能階層のパフォーマンス値:1-10位の数を想定する.internal performance of the functional layer.

Posted by ysk5 at 12:50 PM | Comments (1) | TrackBack

October 11, 2005

OLOMOA日誌:クラス図(2)

今日書き直したソース分だけ.

企業-各組織(各機能階層)-エージェントは上のように表現するようにする.
とりあえずextendsな方針でやってみよう.

Posted by ysk5 at 11:52 PM | Comments (0) | TrackBack

OLOMOA日誌:データ・ディクショナリ(2)

若干の記述ミスの修正と,データの追加.

=====================================
変数域には(1)自然数ならばN,(2)整数ならばZ,(3)小数ならばRを仮に示す.
コメント中には説明と変数命名の理由づけを書く.
=====================================

■シミュレーション設定
//
// シミュレーションの試行パラメータ
//
int n_steps = N; // 1試行あたりのステップ数:1-500程度の自然数が入る.number of steps.
int n_trials = N; // シミュレーションの試行数:1-100程度の自然数が入る.number of trials.
// 高次学習の間隔:1-10までの整数が入る.interval of higher level learning in XXX layer.
int interval_se = N; // 自己組織化層の高次組織学習の間隔
int interval_ad = N; // 適応層の高次組織学習の間隔
int interval_co = N; // 調整層の高次組織学習の間隔
int interval_pr = N; // プロセス層の高次組織学習の間隔
// GAパラメータ
int n_firms = N; // 企業ネットワークの企業数:1-30程度の自然数が入る.number of firms.
int []flag_ga = new int [4]; // GAを行うかどうかのフラグ:0 or 1の整数.0:行わない,1:行う.flag for GA.
double p_cross = R; // GAの交叉確率:0-1までの小数が入る.probability of crossover.
double p_mutation = R; // GAの突然変異確率:0-1までの小数が入る.probability of mutation.
//
// 環境設定パラメータ
//
// タスクパラメータ
int n_tasks = N; // タスク数(=プロセス層の組織数):1-10程度の自然数が入る.number of tasks.
int l_tasks = N; // タスクのストリング長:1-10程度の自然数が入る.length of tasks.
int h_tasks = N; // タスクのストリング値の種類:1-10程度の自然数が入る.height of tasks.
// レスポンス関数のパラメータ
//
double [] b = new double[4]; // コスト定数:0-1までの小数が入る.beta XXX.

■シミュレーション中の主要な変数
int s; // 現在のシミュレーション試行数を表現する
int t; // 現在のシミュレーションステップ数を表現する
int u; // 現在の企業番号を表現する

■環境
int [] a = new int[n_tasks] ; // 潜在収益性alphaベクトル:1-100程度の自然数が入る.alpha vector.
int [][] q = new int[n_tasks][l_tasks] ; // タスク:1-l_tasks分の自然数が入る.qは定式化モデルより.
float [] d_r = new float [n_tasks]; // タスクの解決度:0-1までの小数が入る.degree of resolution for tasks.

float [] f = new float [n_firms]; // 現在の企業評価値:(-100)-(+100)程度の小数が入る.fitness of the firm.
float [] d_f = new float [n_firms][n_steps]; // 企業評価値の分析用データ:(-100)-(+100)程度の小数が入る.各ステップでの(1)平均評価値,(2)最大評価値,(3)最小評価値をストアする.data of fitness of the firms.

■自己組織化層
// 企業の意思決定変数
int n_agents; // 企業のエージェント数:(n_tasks + 3)-128までの自然数が入る.number of agents.
int a_resources; // 企業の資源量:(n_tasks)-128までの自然数が入る.amount of resources.
int [] a_vector = new int [n_tasks]; // 当該タスクを実行するかどうかを指示するベクトル:0 or 1の自然数がはいる.0:実行しない,1:実行する.active vector.
// 内部モデル
int [] im_so = new int [n_tasks + 2][s[0]]; // 自己組織化におけるエージェント数s,資源量r,アクティブベクトルaの内部モデル:(n_tasks + 3)-128,(n_tasks)-128および0 or 1の自然数がはいる.internal model of an agent in self-organization layer.
int [][][] firm_dv_selforg = new int [n_firms][2][n_tasks + 2]; // 企業uの意思決定変数を保持する配列
int [][] tmp_im_so = new int [n_firms][s[0]]; // 企業uのi番目のエージェントの内部モデルの一時配列:(n_tasks + 3)-128,(n_tasks)-128および0 or 1の自然数がはいる.temporal arrangement of internal model of an agent in self-organization layer.

Posted by ysk5 at 11:50 PM | Comments (1) | TrackBack

October 10, 2005

OLOMOA日誌:クラス図

今日書き直したソース分だけ.

企業-各機能組織-エージェントっていうオブジェクト間の関係づけとかの設計をどうすればいいのかがちょっとわかりかねる.
なるたけ冴えたやり方でもってして実現するために今日はこれからJava言語自体を勉強する.

Posted by ysk5 at 08:26 PM | Comments (0) | TrackBack

OLOMOA日誌:データ・ディクショナリ

=====================================
変数域には(1)自然数ならばN,(2)整数ならばZ,(3)小数ならばRを仮に示す.
コメント中には説明と変数命名の理由づけを書く.
=====================================

■シミュレーション設定
//
// シミュレーションの試行パラメータ
//
int n_steps = N; // 1試行あたりのステップ数:1-500程度の自然数が入る.number of steps.
int n_of_trials = N; // シミュレーションの試行数:1-100程度の自然数が入る.number of trials.
// 高次学習の間隔:1-10までの整数が入る.interval of higher level learning in XXX layer.
int interval_se = N; // 自己組織化層の高次組織学習の間隔
int interval_ad = N; // 適応層の高次組織学習の間隔
int interval_co = N; // 調整層の高次組織学習の間隔
int interval_pr = N; // プロセス層の高次組織学習の間隔
// GAパラメータ
int n_firms = N; // 企業ネットワークの企業数:1-30程度の自然数が入る.number of firms.
int []flag_ga = new int [n_task+3]; // GAを行うかどうかのフラグ:0 or 1の整数.0:行わない,1:行う.flag for GA.
float p_cross = R; // GAの交叉確率:0-1までの小数が入る.probability of crossover.
float p_mutation = R; // GAの突然変異確率:0-1までの小数が入る.probability of mutation.
//
// 環境設定パラメータ
//
// タスクパラメータ
int n_tasks = N; // タスク数(=プロセス層の組織数):1-10程度の自然数が入る.number of tasks.
int l_tasks = N; // タスクのストリング長:1-10程度の自然数が入る.length of tasks.
int h_tasks = N; // タスクのストリング値の種類:1-10程度の自然数が入る.height of tasks.
// レスポンス関数のパラメータ
// 0-1までの小数が入る.beta XXX.
double b1 = R; // beta1
double b2 = R; // beta2
double b3 = R; // beta3
double b4 = R; // beta4

■シミュレーション中の主要な変数
int s; // 現在のシミュレーション試行数を表現する
int t; // 現在のシミュレーションステップ数を表現する
int u; // 現在の企業番号を表現する

■環境
int [] a = new int[n_tasks] ; // 潜在収益性alphaベクトル:1-100程度の自然数が入る.alpha vector.
int [][] q = new int[n_tasks][l_tasks] ; // タスク:1-l_tasks分の自然数が入る.qは定式化モデルより.
float []d_r = new float [n_tasks]; // タスクの解決度:0-1までの小数が入る.degree of resolution for tasks.

float []f = new float [n_firms]; // 現在の企業評価値:(-100)-(+100)程度の小数が入る.fitness of the firm.
float []d_f = new float [n_firms][n_steps]; // 企業評価値の分析用データ:(-100)-(+100)程度の小数が入る.各ステップでの(1)平均評価値,(2)最大評価値,(3)最小評価値をストアする.data of fitness of the firms.

Posted by ysk5 at 02:00 PM | Comments (0) | TrackBack