人口シミュレーションサンプルプログラム
/////////////////////////////////////////
// gcc -g life_0813.c -o life_0813
/////////////////////////////////////////
#include <stdio.h>
#include <stdlib.h>
/// グローバル変数で強行する
struct date
{
int day;
int month;
int year;
};
enum sex {woman, man};
enum marrige {unmarried, married, divorce, remarriage};
struct person {
int age; //年齢
enum sex sex; // 性別
enum marrige marrige; // 成婚
struct person *prev; /* 前の構造体を示すポインタ */
struct person *next; /* 次の構造体を示すポインタ */
};
double men[100],women[100]; // 年齢別人口 平成22年データ 単位は1000人
double men_death_rate[100],women_death_rate[100]; //死亡率 平成22年データ
double men_unmarried_rate[100],women_unmarried_rate[100]; //未婚率 平成22年データ
double men_existance_matching_rate[100]; // 有配偶率 (平成22年)
double women_existance_matching_rate[100]; // 有配偶率 (平成22年)
// 初婚、再婚関係なく、その世代に対して。
// 結婚している比率
double men_divorce_rate[100]; // 有配偶離婚率
double women_divorce_rate[100]; // 有配偶離婚率
// ○ 結婚している人に対する離婚率
double men_remarrige_ratio[100];
double women_remarrige_ratio[100]; // 再婚率 (2010年)
int initial_data();// 死亡率 平成22年データ (資料 厚生労働省大臣官房統計情報部人口動態・保健統計課「人口動態統計」)
void delete_person(
struct person **p_person,
struct person **p_first_person,
struct person **p_last_person) // メモリを消す処理e
{
struct person *temp_p_person;
if (*p_first_person == *p_last_person){
//printf("p_first_person == p_last_person\n");
exit(0);
}
if (*p_person == *p_first_person){ // 最初の場合
*p_first_person = (*p_person)->next;
(*p_first_person)->prev = NULL;
//printf("C1");
free(*p_person);
*p_person = *p_first_person;
}
else if (*p_person == *p_last_person){ //最後の場合
*p_last_person = (*p_person)->prev;
(*p_last_person)->next = NULL;
//printf("C2");
free(*p_person);
*p_person = *p_last_person;
}
else {
(*p_person)->next->prev = (*p_person)->prev;
(*p_person)->prev->next = (*p_person)->next;
temp_p_person = (*p_person)->prev; // 一つ前のポインタに退避
//printf("C3");
free(*p_person);
*p_person = temp_p_person;
}
}
population_counter(struct person *p_first_person)
{
struct person *p_person;
int count;
p_person = p_first_person; //最初の一人
count = 0;
while (p_person != NULL){
count++;
p_person = p_person->next;
}
//printf("count=%d \n", count);
}
int main ()
{
int i, k, count;
struct person *p_person, *p_prev_person, *p_next_person;
struct person *p_first_person, *p_last_person;
int women_pop, men_pop;
double dd;
// 日本国民一億人のデータを作る
//printf("checked -1.\r\n");
initial_data(); // 初期データ入力
//printf("checked 0.\r\n");
srand(10); // 乱数のシード
//////////// 現状データの入力 ////////////
// 最初の一人(0人目) 99歳の女性と仮定する。
p_person= (struct person *)malloc(sizeof(struct person));
if(p_person == NULL) {
printf("メモリが確保できません\n");
exit(EXIT_FAILURE);
}
p_person->sex = woman;
p_person->age = 99;
p_first_person = p_person; //最初の一人
// (最後に)ポインタをリンクする
p_person->prev = NULL;
p_prev_person = p_person;
for(i=99; i>=0; i--){
women_pop = women[i] * 1000;
men_pop = men[i] * 1000;
for(k=0; k<women_pop; k++){
p_person= (struct person *)malloc(sizeof(struct person));
if(p_person == NULL) {
printf("メモリが確保できません %d\n",i);
exit(EXIT_FAILURE);
}
p_person->sex = woman;
p_person->age = i;
// (最後に)ポインタをリンクする
p_prev_person->next = p_person;
p_person->prev = p_prev_person;
p_person->next = NULL;
p_prev_person = p_person;
}
for(k=0; k<men_pop; k++){
p_person= (struct person *)malloc(sizeof(struct person));
if(p_person == NULL) {
printf("メモリが確保できません %d\n",i);
exit(EXIT_FAILURE);
}
p_person->sex = man;
p_person->age = i;
// (最後に)ポインタをリンクする
p_prev_person->next = p_person;
p_person->prev = p_prev_person;
p_person->next = NULL;
p_prev_person = p_person;
}
}
p_last_person = p_person;
//printf("checked 1.\n");
// 既婚(離婚も含む)・未婚の入力 (乱数で入力する) (離婚人口も含む)
p_person = p_first_person; //最初の一人
while (p_person != NULL){
if (p_person->sex == woman){ // 女性の場合
if (women_unmarried_rate[p_person->age] >= rand()/32768.0){
p_person->marrige = unmarried;
}
else {
p_person->marrige = married;
}
}
else{// 男性の場合
if (men_unmarried_rate[p_person->age] >= rand()/32768.0){
p_person->marrige = unmarried;
}
else {
p_person->marrige = married;
}
}
p_person = p_person->next;
}
//printf("count=%d \n", count);
// 離婚させる (ここは男女で分ける必要ないが、詳細データが手に入った時に反映)
p_person = p_first_person; //最初の一人
while (p_person != NULL){
if (p_person->sex == woman){ // 女性の場合
if ((p_person->marrige == married) || (p_person->marrige == remarriage)){ // 結婚している
if( women_divorce_rate[p_person->age] >= rand()/32768.0){
p_person->marrige = divorce; // 離婚させる
}
}
}
else{// 男性の場合
if ((p_person->marrige == married) || (p_person->marrige == remarriage)){ // 結婚している
if( men_divorce_rate[p_person->age] >= rand()/32768.0){
p_person->marrige = divorce; // 離婚させる
}
}
}
p_person = p_person->next;
}
// 再婚させる
// 離婚している人に対する再婚率 (に変換する式)
// =
// 再婚率 x その世代の人口数 / 離婚(×未婚、結婚)人口
// としなければなない
// 上記の解釈間違いの可能性あり
// 離婚した人を再婚させる (ここは男女で分ける必要がある)
p_person = p_first_person; //最初の一人
while (p_person != NULL){
if (p_person->sex == woman){ // 女性の場合
if (p_person->marrige == divorce){ // 離婚している
if( women_remarrige_ratio[p_person->age] >= rand()/32768.0){
p_person->marrige = remarriage; // 再婚させる
}
}
}
else{// 男性の場合
if (p_person->marrige == divorce){ // 離婚している
if( men_remarrige_ratio[p_person->age] >= rand()/32768.0){
p_person->marrige = remarriage; // 再婚させる
}
}
}
p_person = p_person->next;
}
// (T.B.D.)
//初期値チェックルーチン
#if 1
p_person = p_first_person; //最初の一人
printf("性別,年齢,成婚\n");
while (p_person != NULL){
if (p_person->sex == woman)
printf("女性,");
else
printf("男性,");
printf("%d,",p_person->age);
if (p_person->marrige == unmarried)
printf("未婚\n");
else if (p_person->marrige == married)
printf("結婚\n");
else if (p_person->marrige == divorce)
printf("離婚\n");
else if (p_person->marrige == remarriage)
printf("再婚\n");
p_person = p_person->next;
}
//printf("count=%d \n", count);
#endif
//初期値チェックルーチン 終り
//////////// 現状データの入力 終わり ////////////
p_person = p_first_person; //最初の一人
count = 0;
while (p_person != NULL){
count++;
p_person = p_person->next;
}
//printf("count=%d \n", count);
// (1)100歳以上は、いない(死んだ)ことにする。
// → person->age が100になったらオブジェクトを開放
#if 0
//時間計測の為、コメントアウト
for(i=0; i<100; i++){//100年分を回す
//printf("%d\n",i);
p_person = p_first_person; //最初の一人
while (p_person != NULL){
p_person->age++;
if (p_person->age == 100){ //100歳以上は削除
delete_person(&p_person,&p_first_person,&p_last_person);
}
p_person = p_person->next;
}
population_counter(p_first_person);
}
p_person = p_first_person; //最初の一人
count = 0;
while (p_person != NULL){
count++;
p_person = p_person->next;
}
//printf("count=%d \n", count);
#endif // 時間計測の為、コメントアウト
}
int initial_data()
{
men[ 0]=549 ; men_death_rate[ 0]=0.0025 ;
men[ 1]=535 ; men_death_rate[ 1]=0.0004 ;
men[ 2]=535 ; men_death_rate[ 2]=0.0002 ;
men[ 3]=550 ; men_death_rate[ 3]=0.0002 ;
men[ 4]=548 ; men_death_rate[ 4]=0.0002 ;
men[ 5]=544 ; men_death_rate[ 5]=0.0001 ;
men[ 6]=542 ; men_death_rate[ 6]=0.0001 ;
men[ 7]=562 ; men_death_rate[ 7]=0.0001 ;
men[ 8]=574 ; men_death_rate[ 8]=0.0001 ;
men[ 9]=589 ; men_death_rate[ 9]=0.0001 ;
men[10]=597 ; men_death_rate[10]=0.0001 ;
men[11]=604 ; men_death_rate[11]=0.0001 ;
men[12]=604 ; men_death_rate[12]=0.0001 ;
men[13]=613 ; men_death_rate[13]=0.0001 ;
men[14]=610 ; men_death_rate[14]=0.0001 ;
men[15]=607 ; men_death_rate[15]=0.0003 ;
men[16]=627 ; men_death_rate[16]=0.0003 ;
men[17]=632 ; men_death_rate[17]=0.0003 ;
men[18]=621 ; men_death_rate[18]=0.0003 ;
men[19]=631 ; men_death_rate[19]=0.0003 ;
men[20]=623 ; men_death_rate[20]=0.0006 ;
men[21]=632 ; men_death_rate[21]=0.0006 ;
men[22]=648 ; men_death_rate[22]=0.0006 ;
men[23]=668 ; men_death_rate[23]=0.0006 ;
men[24]=683 ; men_death_rate[24]=0.0006 ;
men[25]=697 ; men_death_rate[25]=0.0007 ;
men[26]=723 ; men_death_rate[26]=0.0007 ;
men[27]=745 ; men_death_rate[27]=0.0007 ;
men[28]=754 ; men_death_rate[28]=0.0007 ;
men[29]=754 ; men_death_rate[29]=0.0007 ;
men[30]=764 ; men_death_rate[30]=0.0008 ;
men[31]=797 ; men_death_rate[31]=0.0008 ;
men[32]=818 ; men_death_rate[32]=0.0008 ;
men[33]=852 ; men_death_rate[33]=0.0008 ;
men[34]=873 ; men_death_rate[34]=0.0008 ;
men[35]=917 ; men_death_rate[35]=0.0010 ;
men[36]=960 ; men_death_rate[36]=0.0010 ;
men[37]=1012 ; men_death_rate[37]=0.0010 ;
men[38]=1028 ; men_death_rate[38]=0.0010 ;
men[39]=1010 ; men_death_rate[39]=0.0010 ;
men[40]=982 ; men_death_rate[40]=0.0015 ;
men[41]=954 ; men_death_rate[41]=0.0015 ;
men[42]=937 ; men_death_rate[42]=0.0015 ;
men[43]=916 ; men_death_rate[43]=0.0015 ;
men[44]=915 ; men_death_rate[44]=0.0015 ;
men[45]=713 ; men_death_rate[45]=0.0024 ;
men[46]=882 ; men_death_rate[46]=0.0024 ;
men[47]=826 ; men_death_rate[47]=0.0024 ;
men[48]=805 ; men_death_rate[48]=0.0024 ;
men[49]=778 ; men_death_rate[49]=0.0024 ;
men[50]=765 ; men_death_rate[50]=0.0038 ;
men[51]=770 ; men_death_rate[51]=0.0038 ;
men[52]=783 ; men_death_rate[52]=0.0038 ;
men[53]=761 ; men_death_rate[53]=0.0038 ;
men[54]=740 ; men_death_rate[54]=0.0038 ;
men[55]=776 ; men_death_rate[55]=0.0063 ;
men[56]=803 ; men_death_rate[56]=0.0063 ;
men[57]=803 ; men_death_rate[57]=0.0063 ;
men[58]=850 ; men_death_rate[58]=0.0063 ;
men[59]=896 ; men_death_rate[59]=0.0063 ;
men[60]=949 ; men_death_rate[60]=0.0093 ;
men[61]=1018 ; men_death_rate[61]=0.0093 ;
men[62]=1111 ; men_death_rate[62]=0.0093 ;
men[63]=1099 ; men_death_rate[63]=0.0093 ;
men[64]=1042 ; men_death_rate[64]=0.0093 ;
men[65]=645 ; men_death_rate[65]=0.0146 ;
men[66]=684 ; men_death_rate[66]=0.0146 ;
men[67]=825 ; men_death_rate[67]=0.0146 ;
men[68]=794 ; men_death_rate[68]=0.0146 ;
men[69]=809 ; men_death_rate[69]=0.0146 ;
men[70]=780 ; men_death_rate[70]=0.0227 ;
men[71]=698 ; men_death_rate[71]=0.0227 ;
men[72]=599 ; men_death_rate[72]=0.0227 ;
men[73]=627 ; men_death_rate[73]=0.0227 ;
men[74]=631 ; men_death_rate[74]=0.0227 ;
men[75]=616 ; men_death_rate[75]=0.0396 ;
men[76]=571 ; men_death_rate[76]=0.0396 ;
men[77]=521 ; men_death_rate[77]=0.0396 ;
men[78]=501 ; men_death_rate[78]=0.0396 ;
men[79]=470 ; men_death_rate[79]=0.0396 ;
men[80]=430 ; men_death_rate[80]=0.0705 ;
men[81]=385 ; men_death_rate[81]=0.0705 ;
men[82]=350 ; men_death_rate[82]=0.0705 ;
men[83]=316 ; men_death_rate[83]=0.0705 ;
men[84]=281 ; men_death_rate[84]=0.0705 ;
men[85]=247 ; men_death_rate[85]=0.1200 ;
men[86]=202 ; men_death_rate[86]=0.1200 ;
men[87]=158 ; men_death_rate[87]=0.1200 ;
men[88]=122 ; men_death_rate[88]=0.1200 ;
men[89]=98 ; men_death_rate[89]=0.1200 ;
men[90]=78 ; men_death_rate[90]=0.2025 ;
men[91]=67 ; men_death_rate[91]=0.2025 ;
men[92]=44 ; men_death_rate[92]=0.2025 ;
men[93]=36 ; men_death_rate[93]=0.2025 ;
men[94]=28 ; men_death_rate[94]=0.2025 ;
men[95]=21 ; men_death_rate[95]=0.3188 ;
men[96]=15 ; men_death_rate[96]=0.3188 ;
men[97]=11 ; men_death_rate[97]=0.3188 ;
men[98]=7 ; men_death_rate[98]=0.3188 ;
men[99]=5 ; men_death_rate[99]=0.3188 ;
women[ 0]=520; women_death_rate[ 0]=0.0021 ;
women[ 1]=510; women_death_rate[ 1]=0.0004 ;
women[ 2]=511; women_death_rate[ 2]=0.0002 ;
women[ 3]=525; women_death_rate[ 3]=0.0001 ;
women[ 4]=522; women_death_rate[ 4]=0.0001 ;
women[ 5]=518; women_death_rate[ 5]=0.0001 ;
women[ 6]=517; women_death_rate[ 6]=0.0001 ;
women[ 7]=538; women_death_rate[ 7]=0.0001 ;
women[ 8]=545; women_death_rate[ 8]=0.0001 ;
women[ 9]=561; women_death_rate[ 9]=0.0001 ;
women[10]=568; women_death_rate[10]=0.0001 ;
women[11]=573; women_death_rate[11]=0.0001 ;
women[12]=576; women_death_rate[12]=0.0001 ;
women[13]=585; women_death_rate[13]=0.0001 ;
women[14]=583; women_death_rate[14]=0.0001 ;
women[15]=578; women_death_rate[15]=0.0002 ;
women[16]=595; women_death_rate[16]=0.0002 ;
women[17]=597; women_death_rate[17]=0.0002 ;
women[18]=589; women_death_rate[18]=0.0002 ;
women[19]=599; women_death_rate[19]=0.0002 ;
women[20]=596; women_death_rate[20]=0.0003 ;
women[21]=605; women_death_rate[21]=0.0003 ;
women[22]=622; women_death_rate[22]=0.0003 ;
women[23]=638; women_death_rate[23]=0.0003 ;
women[24]=655; women_death_rate[24]=0.0003 ;
women[25]=667; women_death_rate[25]=0.0003 ;
women[26]=697; women_death_rate[26]=0.0003 ;
women[27]=719; women_death_rate[27]=0.0003 ;
women[28]=729; women_death_rate[28]=0.0003 ;
women[29]=734; women_death_rate[29]=0.0003 ;
women[30]=742; women_death_rate[30]=0.0004 ;
women[31]=774; women_death_rate[31]=0.0004 ;
women[32]=794; women_death_rate[32]=0.0004 ;
women[33]=828; women_death_rate[33]=0.0004 ;
women[34]=849; women_death_rate[34]=0.0004 ;
women[35]=890; women_death_rate[35]=0.0006 ;
women[36]=931; women_death_rate[36]=0.0006 ;
women[37]=982; women_death_rate[37]=0.0006 ;
women[38]=1001; women_death_rate[38]=0.0006 ;
women[39]=981; women_death_rate[39]=0.0006 ;
women[40]=958; women_death_rate[40]=0.0008 ;
women[41]=931; women_death_rate[41]=0.0008 ;
women[42]=920; women_death_rate[42]=0.0008 ;
women[43]=902; women_death_rate[43]=0.0008 ;
women[44]=898; women_death_rate[44]=0.0008 ;
women[45]=705; women_death_rate[45]=0.0013 ;
women[46]=872; women_death_rate[46]=0.0013 ;
women[47]=815; women_death_rate[47]=0.0013 ;
women[48]=798; women_death_rate[48]=0.0013 ;
women[49]=772; women_death_rate[49]=0.0013 ;
women[50]=760; women_death_rate[50]=0.0019 ;
women[51]=768; women_death_rate[51]=0.0019 ;
women[52]=783; women_death_rate[52]=0.0019 ;
women[53]=765; women_death_rate[53]=0.0019 ;
women[54]=744; women_death_rate[54]=0.0019 ;
women[55]=783; women_death_rate[55]=0.0028 ;
women[56]=810; women_death_rate[56]=0.0028 ;
women[57]=813; women_death_rate[57]=0.0028 ;
women[58]=868; women_death_rate[58]=0.0028 ;
women[59]=918; women_death_rate[59]=0.0028 ;
women[60]=975; women_death_rate[60]=0.0039 ;
women[61]=1051; women_death_rate[61]=0.0039 ;
women[62]=1152; women_death_rate[62]=0.0039 ;
women[63]=1146; women_death_rate[63]=0.0039 ;
women[64]=1090; women_death_rate[64]=0.0039 ;
women[65]=685; women_death_rate[65]=0.0060 ;
women[66]=741; women_death_rate[66]=0.0060 ;
women[67]=903; women_death_rate[67]=0.0060 ;
women[68]=875; women_death_rate[68]=0.0060 ;
women[69]=899; women_death_rate[69]=0.0060 ;
women[70]=873; women_death_rate[70]=0.0098 ;
women[71]=793; women_death_rate[71]=0.0098 ;
women[72]=690; women_death_rate[72]=0.0098 ;
women[73]=738; women_death_rate[73]=0.0098 ;
women[74]=755; women_death_rate[74]=0.0098 ;
women[75]=753; women_death_rate[75]=0.0179 ;
women[76]=718; women_death_rate[76]=0.0179 ;
women[77]=675; women_death_rate[77]=0.0179 ;
women[78]=671; women_death_rate[78]=0.0179 ;
women[79]=646; women_death_rate[79]=0.0179 ;
women[80]=614; women_death_rate[80]=0.0343 ;
women[81]=573; women_death_rate[81]=0.0343 ;
women[82]=547; women_death_rate[82]=0.0343 ;
women[83]=515; women_death_rate[83]=0.0343 ;
women[84]=482; women_death_rate[84]=0.0343 ;
women[85]=454; women_death_rate[85]=0.0691 ;
women[86]=405; women_death_rate[86]=0.0691 ;
women[87]=349; women_death_rate[87]=0.0691 ;
women[88]=313; women_death_rate[88]=0.0691 ;
women[89]=276; women_death_rate[89]=0.0691 ;
women[90]=236; women_death_rate[90]=0.1312 ;
women[91]=213; women_death_rate[91]=0.1312 ;
women[92]=146; women_death_rate[92]=0.1312 ;
women[93]=128; women_death_rate[93]=0.1312 ;
women[94]=106; women_death_rate[94]=0.1312 ;
women[95]=87 ; women_death_rate[95]=0.2381 ;
women[96]=63 ; women_death_rate[96]=0.2381 ;
women[97]=49 ; women_death_rate[97]=0.2381 ;
women[98]=35 ; women_death_rate[98]=0.2381 ;
women[99]=25 ; women_death_rate[99]=0.2381 ;
/////////////////////////////////////////////
// 未婚率 (平成22年)
men_unmarried_rate[ 0]=1.000 ;
men_unmarried_rate[ 1]=1.000 ;
men_unmarried_rate[ 2]=1.000 ;
men_unmarried_rate[ 3]=1.000 ;
men_unmarried_rate[ 4]=1.000 ;
men_unmarried_rate[ 5]=1.000 ;
men_unmarried_rate[ 6]=1.000 ;
men_unmarried_rate[ 7]=1.000 ;
men_unmarried_rate[ 8]=1.000 ;
men_unmarried_rate[ 9]=1.000 ;
men_unmarried_rate[10]=1.000 ;
men_unmarried_rate[11]=1.000 ;
men_unmarried_rate[12]=1.000 ;
men_unmarried_rate[13]=1.000 ;
men_unmarried_rate[14]=1.000 ;
men_unmarried_rate[15]=1.000 ;
men_unmarried_rate[16]=1.000 ;
men_unmarried_rate[17]=1.000 ;
men_unmarried_rate[18]=0.975 ;
men_unmarried_rate[19]=0.975 ;
men_unmarried_rate[20]=0.910 ;
men_unmarried_rate[21]=0.910 ;
men_unmarried_rate[22]=0.910 ;
men_unmarried_rate[23]=0.910 ;
men_unmarried_rate[24]=0.910 ;
men_unmarried_rate[25]=0.645 ;
men_unmarried_rate[26]=0.645 ;
men_unmarried_rate[27]=0.645 ;
men_unmarried_rate[28]=0.645 ;
men_unmarried_rate[29]=0.645 ;
men_unmarried_rate[30]=0.413 ;
men_unmarried_rate[31]=0.413 ;
men_unmarried_rate[32]=0.413 ;
men_unmarried_rate[33]=0.413 ;
men_unmarried_rate[34]=0.413 ;
men_unmarried_rate[35]=0.370 ;
men_unmarried_rate[36]=0.370 ;
men_unmarried_rate[37]=0.370 ;
men_unmarried_rate[38]=0.370 ;
men_unmarried_rate[39]=0.370 ;
men_unmarried_rate[40]=0.229 ;
men_unmarried_rate[41]=0.229 ;
men_unmarried_rate[42]=0.229 ;
men_unmarried_rate[43]=0.229 ;
men_unmarried_rate[44]=0.229 ;
men_unmarried_rate[45]=0.166 ;
men_unmarried_rate[46]=0.166 ;
men_unmarried_rate[47]=0.166 ;
men_unmarried_rate[48]=0.166 ;
men_unmarried_rate[49]=0.166 ;
men_unmarried_rate[50]=0.189 ;
men_unmarried_rate[51]=0.189 ;
men_unmarried_rate[52]=0.189 ;
men_unmarried_rate[53]=0.189 ;
men_unmarried_rate[54]=0.189 ;
men_unmarried_rate[55]=0.139 ;
men_unmarried_rate[56]=0.139 ;
men_unmarried_rate[57]=0.139 ;
men_unmarried_rate[58]=0.139 ;
men_unmarried_rate[59]=0.139 ;
men_unmarried_rate[60]=0.068 ;
men_unmarried_rate[61]=0.068 ;
men_unmarried_rate[62]=0.068 ;
men_unmarried_rate[63]=0.068 ;
men_unmarried_rate[64]=0.068 ;
men_unmarried_rate[65]=0.042 ;
men_unmarried_rate[66]=0.042 ;
men_unmarried_rate[67]=0.042 ;
men_unmarried_rate[68]=0.042 ;
men_unmarried_rate[69]=0.042 ;
men_unmarried_rate[70]=0.015 ;
men_unmarried_rate[71]=0.015 ;
men_unmarried_rate[72]=0.015 ;
men_unmarried_rate[73]=0.015 ;
men_unmarried_rate[74]=0.015 ;
men_unmarried_rate[75]=0.012 ;
men_unmarried_rate[76]=0.012 ;
men_unmarried_rate[77]=0.012 ;
men_unmarried_rate[78]=0.012 ;
men_unmarried_rate[79]=0.012 ;
men_unmarried_rate[80]=0.012 ;
men_unmarried_rate[81]=0.012 ;
men_unmarried_rate[82]=0.012 ;
men_unmarried_rate[83]=0.012 ;
men_unmarried_rate[84]=0.012 ;
men_unmarried_rate[85]=0.011 ;
men_unmarried_rate[86]=0.011 ;
men_unmarried_rate[87]=0.011 ;
men_unmarried_rate[88]=0.011 ;
men_unmarried_rate[89]=0.011 ;
men_unmarried_rate[90]=0.011 ;
men_unmarried_rate[91]=0.011 ;
men_unmarried_rate[92]=0.011 ;
men_unmarried_rate[93]=0.011 ;
men_unmarried_rate[94]=0.011 ;
men_unmarried_rate[95]=0.011 ;
men_unmarried_rate[96]=0.011 ;
men_unmarried_rate[97]=0.011 ;
men_unmarried_rate[98]=0.011 ;
men_unmarried_rate[99]=0.011 ;
women_unmarried_rate[ 0]=1.000 ;
women_unmarried_rate[ 1]=1.000 ;
women_unmarried_rate[ 2]=1.000 ;
women_unmarried_rate[ 3]=1.000 ;
women_unmarried_rate[ 4]=1.000 ;
women_unmarried_rate[ 5]=1.000 ;
women_unmarried_rate[ 6]=1.000 ;
women_unmarried_rate[ 7]=1.000 ;
women_unmarried_rate[ 8]=1.000 ;
women_unmarried_rate[ 9]=1.000 ;
women_unmarried_rate[10]=1.000 ;
women_unmarried_rate[11]=1.000 ;
women_unmarried_rate[12]=1.000 ;
women_unmarried_rate[13]=1.000 ;
women_unmarried_rate[14]=1.000 ;
women_unmarried_rate[15]=1.000 ;
women_unmarried_rate[16]=0.984 ;
women_unmarried_rate[17]=0.984 ;
women_unmarried_rate[18]=0.984 ;
women_unmarried_rate[19]=0.984 ;
women_unmarried_rate[20]=0.898 ;
women_unmarried_rate[21]=0.898 ;
women_unmarried_rate[22]=0.898 ;
women_unmarried_rate[23]=0.898 ;
women_unmarried_rate[24]=0.898 ;
women_unmarried_rate[25]=0.607 ;
women_unmarried_rate[26]=0.607 ;
women_unmarried_rate[27]=0.607 ;
women_unmarried_rate[28]=0.607 ;
women_unmarried_rate[29]=0.607 ;
women_unmarried_rate[30]=0.374 ;
women_unmarried_rate[31]=0.374 ;
women_unmarried_rate[32]=0.374 ;
women_unmarried_rate[33]=0.374 ;
women_unmarried_rate[34]=0.374 ;
women_unmarried_rate[35]=0.250 ;
women_unmarried_rate[36]=0.250 ;
women_unmarried_rate[37]=0.250 ;
women_unmarried_rate[38]=0.250 ;
women_unmarried_rate[39]=0.250 ;
women_unmarried_rate[40]=0.224 ;
women_unmarried_rate[41]=0.224 ;
women_unmarried_rate[42]=0.224 ;
women_unmarried_rate[43]=0.224 ;
women_unmarried_rate[44]=0.224 ;
women_unmarried_rate[45]=0.154 ;
women_unmarried_rate[46]=0.154 ;
women_unmarried_rate[47]=0.154 ;
women_unmarried_rate[48]=0.154 ;
women_unmarried_rate[49]=0.154 ;
women_unmarried_rate[50]=0.114 ;
women_unmarried_rate[51]=0.114 ;
women_unmarried_rate[52]=0.114 ;
women_unmarried_rate[53]=0.114 ;
women_unmarried_rate[54]=0.114 ;
women_unmarried_rate[55]=0.073 ;
women_unmarried_rate[56]=0.073 ;
women_unmarried_rate[57]=0.073 ;
women_unmarried_rate[58]=0.073 ;
women_unmarried_rate[59]=0.073 ;
women_unmarried_rate[60]=0.055 ;
women_unmarried_rate[61]=0.055 ;
women_unmarried_rate[62]=0.055 ;
women_unmarried_rate[63]=0.055 ;
women_unmarried_rate[64]=0.055 ;
women_unmarried_rate[65]=0.053 ;
women_unmarried_rate[66]=0.053 ;
women_unmarried_rate[67]=0.053 ;
women_unmarried_rate[68]=0.053 ;
women_unmarried_rate[69]=0.053 ;
women_unmarried_rate[70]=0.033 ;
women_unmarried_rate[71]=0.033 ;
women_unmarried_rate[72]=0.033 ;
women_unmarried_rate[73]=0.033 ;
women_unmarried_rate[74]=0.033 ;
women_unmarried_rate[75]=0.044 ;
women_unmarried_rate[76]=0.044 ;
women_unmarried_rate[77]=0.044 ;
women_unmarried_rate[78]=0.044 ;
women_unmarried_rate[79]=0.044 ;
women_unmarried_rate[80]=0.078 ;
women_unmarried_rate[81]=0.078 ;
women_unmarried_rate[82]=0.078 ;
women_unmarried_rate[83]=0.078 ;
women_unmarried_rate[84]=0.078 ;
women_unmarried_rate[85]=0.033 ;
women_unmarried_rate[86]=0.033 ;
women_unmarried_rate[87]=0.033 ;
women_unmarried_rate[88]=0.033 ;
women_unmarried_rate[89]=0.033 ;
women_unmarried_rate[90]=0.033 ;
women_unmarried_rate[91]=0.033 ;
women_unmarried_rate[92]=0.033 ;
women_unmarried_rate[93]=0.033 ;
women_unmarried_rate[94]=0.033 ;
women_unmarried_rate[95]=0.033 ;
women_unmarried_rate[96]=0.033 ;
women_unmarried_rate[97]=0.033 ;
women_unmarried_rate[98]=0.033 ;
women_unmarried_rate[99]=0.033 ;
// 有配偶率 (平成22年)
// 初婚、再婚関係なく、その世代に対して。
// 結婚している比率
//国勢調査の男女別の有配偶者の数はなぜ違うのか
men_existance_matching_rate[ 0]=0.000 ;
men_existance_matching_rate[ 1]=0.000 ;
men_existance_matching_rate[ 2]=0.000 ;
men_existance_matching_rate[ 3]=0.000 ;
men_existance_matching_rate[ 4]=0.000 ;
men_existance_matching_rate[ 5]=0.000 ;
men_existance_matching_rate[ 6]=0.000 ;
men_existance_matching_rate[ 7]=0.000 ;
men_existance_matching_rate[ 8]=0.000 ;
men_existance_matching_rate[ 9]=0.000 ;
men_existance_matching_rate[10]=0.000 ;
men_existance_matching_rate[11]=0.000 ;
men_existance_matching_rate[12]=0.000 ;
men_existance_matching_rate[13]=0.000 ;
men_existance_matching_rate[14]=0.000 ;
men_existance_matching_rate[15]=0.011 ;
men_existance_matching_rate[16]=0.011 ;
men_existance_matching_rate[17]=0.011 ;
men_existance_matching_rate[18]=0.011 ;
men_existance_matching_rate[19]=0.011 ;
men_existance_matching_rate[20]=0.036 ;
men_existance_matching_rate[21]=0.036 ;
men_existance_matching_rate[22]=0.036 ;
men_existance_matching_rate[23]=0.036 ;
men_existance_matching_rate[24]=0.036 ;
men_existance_matching_rate[25]=0.241 ;
men_existance_matching_rate[26]=0.241 ;
men_existance_matching_rate[27]=0.241 ;
men_existance_matching_rate[28]=0.241 ;
men_existance_matching_rate[29]=0.241 ;
men_existance_matching_rate[30]=0.497 ;
men_existance_matching_rate[31]=0.497 ;
men_existance_matching_rate[32]=0.497 ;
men_existance_matching_rate[33]=0.497 ;
men_existance_matching_rate[34]=0.497 ;
men_existance_matching_rate[35]=0.530 ;
men_existance_matching_rate[36]=0.530 ;
men_existance_matching_rate[37]=0.530 ;
men_existance_matching_rate[38]=0.530 ;
men_existance_matching_rate[39]=0.530 ;
men_existance_matching_rate[40]=0.694 ;
men_existance_matching_rate[41]=0.694 ;
men_existance_matching_rate[42]=0.694 ;
men_existance_matching_rate[43]=0.694 ;
men_existance_matching_rate[44]=0.694 ;
men_existance_matching_rate[45]=0.741 ;
men_existance_matching_rate[46]=0.741 ;
men_existance_matching_rate[47]=0.741 ;
men_existance_matching_rate[48]=0.741 ;
men_existance_matching_rate[49]=0.741 ;
men_existance_matching_rate[50]=0.700 ;
men_existance_matching_rate[51]=0.700 ;
men_existance_matching_rate[52]=0.700 ;
men_existance_matching_rate[53]=0.700 ;
men_existance_matching_rate[54]=0.700 ;
men_existance_matching_rate[55]=0.765 ;
men_existance_matching_rate[56]=0.765 ;
men_existance_matching_rate[57]=0.765 ;
men_existance_matching_rate[58]=0.765 ;
men_existance_matching_rate[59]=0.765 ;
men_existance_matching_rate[60]=0.842 ;
men_existance_matching_rate[61]=0.842 ;
men_existance_matching_rate[62]=0.842 ;
men_existance_matching_rate[63]=0.842 ;
men_existance_matching_rate[64]=0.842 ;
men_existance_matching_rate[65]=0.824 ;
men_existance_matching_rate[66]=0.824 ;
men_existance_matching_rate[67]=0.824 ;
men_existance_matching_rate[68]=0.824 ;
men_existance_matching_rate[69]=0.824 ;
men_existance_matching_rate[70]=0.838 ;
men_existance_matching_rate[71]=0.838 ;
men_existance_matching_rate[72]=0.838 ;
men_existance_matching_rate[73]=0.838 ;
men_existance_matching_rate[74]=0.838 ;
men_existance_matching_rate[75]=0.817 ;
men_existance_matching_rate[76]=0.817 ;
men_existance_matching_rate[77]=0.817 ;
men_existance_matching_rate[78]=0.817 ;
men_existance_matching_rate[79]=0.817 ;
men_existance_matching_rate[80]=0.730 ;
men_existance_matching_rate[81]=0.730 ;
men_existance_matching_rate[82]=0.730 ;
men_existance_matching_rate[83]=0.730 ;
men_existance_matching_rate[84]=0.730 ;
men_existance_matching_rate[85]=0.708 ;
men_existance_matching_rate[86]=0.708 ;
men_existance_matching_rate[87]=0.708 ;
men_existance_matching_rate[88]=0.708 ;
men_existance_matching_rate[89]=0.708 ;
men_existance_matching_rate[90]=0.708 ;
men_existance_matching_rate[91]=0.708 ;
men_existance_matching_rate[92]=0.708 ;
men_existance_matching_rate[93]=0.708 ;
men_existance_matching_rate[94]=0.708 ;
men_existance_matching_rate[95]=0.708 ;
men_existance_matching_rate[96]=0.708 ;
men_existance_matching_rate[97]=0.708 ;
men_existance_matching_rate[98]=0.708 ;
men_existance_matching_rate[99]=0.708 ;
women_existance_matching_rate[ 0]=0.000 ;
women_existance_matching_rate[ 1]=0.000 ;
women_existance_matching_rate[ 2]=0.000 ;
women_existance_matching_rate[ 3]=0.000 ;
women_existance_matching_rate[ 4]=0.000 ;
women_existance_matching_rate[ 5]=0.000 ;
women_existance_matching_rate[ 6]=0.000 ;
women_existance_matching_rate[ 7]=0.000 ;
women_existance_matching_rate[ 8]=0.000 ;
women_existance_matching_rate[ 9]=0.000 ;
women_existance_matching_rate[10]=0.000 ;
women_existance_matching_rate[11]=0.000 ;
women_existance_matching_rate[12]=0.000 ;
women_existance_matching_rate[13]=0.000 ;
women_existance_matching_rate[14]=0.000 ;
women_existance_matching_rate[15]=0.008 ;
women_existance_matching_rate[16]=0.008 ;
women_existance_matching_rate[17]=0.008 ;
women_existance_matching_rate[18]=0.008 ;
women_existance_matching_rate[19]=0.008 ;
women_existance_matching_rate[20]=0.052 ;
women_existance_matching_rate[21]=0.052 ;
women_existance_matching_rate[22]=0.052 ;
women_existance_matching_rate[23]=0.052 ;
women_existance_matching_rate[24]=0.052 ;
women_existance_matching_rate[25]=0.312 ;
women_existance_matching_rate[26]=0.312 ;
women_existance_matching_rate[27]=0.312 ;
women_existance_matching_rate[28]=0.312 ;
women_existance_matching_rate[29]=0.312 ;
women_existance_matching_rate[30]=0.569 ;
women_existance_matching_rate[31]=0.569 ;
women_existance_matching_rate[32]=0.569 ;
women_existance_matching_rate[33]=0.569 ;
women_existance_matching_rate[34]=0.569 ;
women_existance_matching_rate[35]=0.667 ;
women_existance_matching_rate[36]=0.667 ;
women_existance_matching_rate[37]=0.667 ;
women_existance_matching_rate[38]=0.667 ;
women_existance_matching_rate[39]=0.667 ;
women_existance_matching_rate[40]=0.229 ;
women_existance_matching_rate[41]=0.229 ;
women_existance_matching_rate[42]=0.229 ;
women_existance_matching_rate[43]=0.229 ;
women_existance_matching_rate[44]=0.229 ;
women_existance_matching_rate[45]=0.712 ;
women_existance_matching_rate[46]=0.712 ;
women_existance_matching_rate[47]=0.712 ;
women_existance_matching_rate[48]=0.712 ;
women_existance_matching_rate[49]=0.712 ;
women_existance_matching_rate[50]=0.755 ;
women_existance_matching_rate[51]=0.755 ;
women_existance_matching_rate[52]=0.755 ;
women_existance_matching_rate[53]=0.755 ;
women_existance_matching_rate[54]=0.755 ;
women_existance_matching_rate[55]=0.789 ;
women_existance_matching_rate[56]=0.789 ;
women_existance_matching_rate[57]=0.789 ;
women_existance_matching_rate[58]=0.789 ;
women_existance_matching_rate[59]=0.789 ;
women_existance_matching_rate[60]=0.733 ;
women_existance_matching_rate[61]=0.733 ;
women_existance_matching_rate[62]=0.733 ;
women_existance_matching_rate[63]=0.733 ;
women_existance_matching_rate[64]=0.733 ;
women_existance_matching_rate[65]=0.663 ;
women_existance_matching_rate[66]=0.663 ;
women_existance_matching_rate[67]=0.663 ;
women_existance_matching_rate[68]=0.663 ;
women_existance_matching_rate[69]=0.663 ;
women_existance_matching_rate[70]=0.650 ;
women_existance_matching_rate[71]=0.650 ;
women_existance_matching_rate[72]=0.650 ;
women_existance_matching_rate[73]=0.650 ;
women_existance_matching_rate[74]=0.650 ;
women_existance_matching_rate[75]=0.462 ;
women_existance_matching_rate[76]=0.462 ;
women_existance_matching_rate[77]=0.462 ;
women_existance_matching_rate[78]=0.462 ;
women_existance_matching_rate[79]=0.462 ;
women_existance_matching_rate[80]=0.326 ;
women_existance_matching_rate[81]=0.326 ;
women_existance_matching_rate[82]=0.326 ;
women_existance_matching_rate[83]=0.326 ;
women_existance_matching_rate[84]=0.326 ;
women_existance_matching_rate[85]=0.093 ;
women_existance_matching_rate[86]=0.093 ;
women_existance_matching_rate[87]=0.093 ;
women_existance_matching_rate[88]=0.093 ;
women_existance_matching_rate[89]=0.093 ;
women_existance_matching_rate[90]=0.093 ;
women_existance_matching_rate[91]=0.093 ;
women_existance_matching_rate[92]=0.093 ;
women_existance_matching_rate[93]=0.093 ;
women_existance_matching_rate[94]=0.093 ;
women_existance_matching_rate[95]=0.093 ;
women_existance_matching_rate[96]=0.093 ;
women_existance_matching_rate[97]=0.093 ;
women_existance_matching_rate[98]=0.093 ;
women_existance_matching_rate[99]=0.093 ;
//有配偶離婚率 Divorce rates for married population
// 平成22年データ
// ○ 結婚している人に対する離婚率
// × 人口に対する離婚率
men_divorce_rate[0] = 0.0000 ;//結婚できないから、
men_divorce_rate[1] = 0.0000 ;//離婚もできない
men_divorce_rate[2] = 0.0000 ;
men_divorce_rate[3] = 0.0000 ;
men_divorce_rate[4] = 0.0000 ;
men_divorce_rate[5] = 0.0000 ;
men_divorce_rate[6] = 0.0000 ;
men_divorce_rate[7] = 0.0000 ;
men_divorce_rate[8] = 0.0000 ;
men_divorce_rate[9] = 0.0000 ;
men_divorce_rate[10] = 0.0000 ;
men_divorce_rate[11] = 0.0000 ;
men_divorce_rate[12] = 0.0000 ;
men_divorce_rate[13] = 0.0000 ;
men_divorce_rate[14] = 0.0000 ;
men_divorce_rate[15] = 0.0000 ;
men_divorce_rate[16] = 0.0000 ;
men_divorce_rate[17] = 0.0000 ;
men_divorce_rate[18] = 0.4809 ;
men_divorce_rate[19] = 0.4809 ;
men_divorce_rate[20] = 0.4705 ;
men_divorce_rate[21] = 0.4705 ;
men_divorce_rate[22] = 0.4705 ;
men_divorce_rate[23] = 0.4705 ;
men_divorce_rate[24] = 0.4705 ;
men_divorce_rate[25] = 0.2283 ;
men_divorce_rate[26] = 0.2283 ;
men_divorce_rate[27] = 0.2283 ;
men_divorce_rate[28] = 0.2283 ;
men_divorce_rate[29] = 0.2283 ;
men_divorce_rate[30] = 0.1521 ;
men_divorce_rate[31] = 0.1521 ;
men_divorce_rate[32] = 0.1521 ;
men_divorce_rate[33] = 0.1521 ;
men_divorce_rate[34] = 0.1521 ;
men_divorce_rate[35] = 0.1165 ;
men_divorce_rate[36] = 0.1165 ;
men_divorce_rate[37] = 0.1165 ;
men_divorce_rate[38] = 0.1165 ;
men_divorce_rate[39] = 0.1165 ;
men_divorce_rate[40] = 0.0939 ;
men_divorce_rate[41] = 0.0939 ;
men_divorce_rate[42] = 0.0939 ;
men_divorce_rate[43] = 0.0939 ;
men_divorce_rate[44] = 0.0939 ;
men_divorce_rate[45] = 0.0703 ;
men_divorce_rate[46] = 0.0703 ;
men_divorce_rate[47] = 0.0703 ;
men_divorce_rate[48] = 0.0703 ;
men_divorce_rate[49] = 0.0703 ;
men_divorce_rate[50] = 0.0495 ;
men_divorce_rate[51] = 0.0495 ;
men_divorce_rate[52] = 0.0495 ;
men_divorce_rate[53] = 0.0495 ;
men_divorce_rate[54] = 0.0495 ;
men_divorce_rate[55] = 0.0309 ;
men_divorce_rate[56] = 0.0309 ;
men_divorce_rate[57] = 0.0309 ;
men_divorce_rate[58] = 0.0309 ;
men_divorce_rate[59] = 0.0309 ;
men_divorce_rate[60] = 0.0194 ;
men_divorce_rate[61] = 0.0194 ;
men_divorce_rate[62] = 0.0194 ;
men_divorce_rate[63] = 0.0194 ;
men_divorce_rate[64] = 0.0194 ;
men_divorce_rate[65] = 0.0110 ;
men_divorce_rate[66] = 0.0110 ;
men_divorce_rate[67] = 0.0110 ;
men_divorce_rate[68] = 0.0110 ;
men_divorce_rate[69] = 0.0110 ;
men_divorce_rate[70] = 0.0040 ;
men_divorce_rate[71] = 0.0040 ;
men_divorce_rate[72] = 0.0040 ;
men_divorce_rate[73] = 0.0040 ;
men_divorce_rate[74] = 0.0040 ;
men_divorce_rate[75] = 0.0040 ;
men_divorce_rate[76] = 0.0040 ;
men_divorce_rate[77] = 0.0040 ;
men_divorce_rate[78] = 0.0040 ;
men_divorce_rate[79] = 0.0040 ;
men_divorce_rate[80] = 0.0040 ;
men_divorce_rate[81] = 0.0040 ;
men_divorce_rate[82] = 0.0040 ;
men_divorce_rate[83] = 0.0040 ;
men_divorce_rate[84] = 0.0040 ;
men_divorce_rate[85] = 0.0040 ;
men_divorce_rate[86] = 0.0040 ;
men_divorce_rate[87] = 0.0040 ;
men_divorce_rate[88] = 0.0040 ;
men_divorce_rate[89] = 0.0040 ;
men_divorce_rate[90] = 0.0040 ;
men_divorce_rate[91] = 0.0040 ;
men_divorce_rate[92] = 0.0040 ;
men_divorce_rate[93] = 0.0040 ;
men_divorce_rate[94] = 0.0040 ;
men_divorce_rate[95] = 0.0040 ;
men_divorce_rate[96] = 0.0040 ;
men_divorce_rate[97] = 0.0040 ;
men_divorce_rate[98] = 0.0040 ;
men_divorce_rate[99] = 0.0040 ;
women_divorce_rate[0] = 0.0000 ;//結婚できないから、
women_divorce_rate[1] = 0.0000 ;//離婚もできない
women_divorce_rate[2] = 0.0000 ;
women_divorce_rate[3] = 0.0000 ;
women_divorce_rate[4] = 0.0000 ;
women_divorce_rate[5] = 0.0000 ;
women_divorce_rate[6] = 0.0000 ;
women_divorce_rate[7] = 0.0000 ;
women_divorce_rate[8] = 0.0000 ;
women_divorce_rate[9] = 0.0000 ;
women_divorce_rate[10] = 0.0000 ;
women_divorce_rate[11] = 0.0000 ;
women_divorce_rate[12] = 0.0000 ;
women_divorce_rate[13] = 0.0000 ;
women_divorce_rate[14] = 0.0000 ;
women_divorce_rate[15] = 0.0000 ;
women_divorce_rate[16] = 0.8274 ;
women_divorce_rate[17] = 0.8274 ;
women_divorce_rate[18] = 0.8274 ;
women_divorce_rate[19] = 0.8274 ;
women_divorce_rate[20] = 0.4834 ;
women_divorce_rate[21] = 0.4834 ;
women_divorce_rate[22] = 0.4834 ;
women_divorce_rate[23] = 0.4834 ;
women_divorce_rate[24] = 0.4834 ;
women_divorce_rate[25] = 0.2288 ;
women_divorce_rate[26] = 0.2288 ;
women_divorce_rate[27] = 0.2288 ;
women_divorce_rate[28] = 0.2288 ;
women_divorce_rate[29] = 0.2288 ;
women_divorce_rate[30] = 0.1480 ;
women_divorce_rate[31] = 0.1480 ;
women_divorce_rate[32] = 0.1480 ;
women_divorce_rate[33] = 0.1480 ;
women_divorce_rate[34] = 0.1480 ;
women_divorce_rate[35] = 0.1090 ;
women_divorce_rate[36] = 0.1090 ;
women_divorce_rate[37] = 0.1090 ;
women_divorce_rate[38] = 0.1090 ;
women_divorce_rate[39] = 0.1090 ;
women_divorce_rate[40] = 0.0833 ;
women_divorce_rate[41] = 0.0833 ;
women_divorce_rate[42] = 0.0833 ;
women_divorce_rate[43] = 0.0833 ;
women_divorce_rate[44] = 0.0833 ;
women_divorce_rate[45] = 0.0560 ;
women_divorce_rate[46] = 0.0560 ;
women_divorce_rate[47] = 0.0560 ;
women_divorce_rate[48] = 0.0560 ;
women_divorce_rate[49] = 0.0560 ;
women_divorce_rate[50] = 0.0322 ;
women_divorce_rate[51] = 0.0322 ;
women_divorce_rate[52] = 0.0322 ;
women_divorce_rate[53] = 0.0322 ;
women_divorce_rate[54] = 0.0322 ;
women_divorce_rate[55] = 0.0172 ;
women_divorce_rate[56] = 0.0172 ;
women_divorce_rate[57] = 0.0172 ;
women_divorce_rate[58] = 0.0172 ;
women_divorce_rate[59] = 0.0172 ;
women_divorce_rate[60] = 0.0113 ;
women_divorce_rate[61] = 0.0113 ;
women_divorce_rate[62] = 0.0113 ;
women_divorce_rate[63] = 0.0113 ;
women_divorce_rate[64] = 0.0113 ;
women_divorce_rate[65] = 0.0073 ;
women_divorce_rate[66] = 0.0073 ;
women_divorce_rate[67] = 0.0073 ;
women_divorce_rate[68] = 0.0073 ;
women_divorce_rate[69] = 0.0073 ;
women_divorce_rate[70] = 0.0028 ;
women_divorce_rate[71] = 0.0028 ;
women_divorce_rate[72] = 0.0028 ;
women_divorce_rate[73] = 0.0028 ;
women_divorce_rate[74] = 0.0028 ;
women_divorce_rate[75] = 0.0028 ;
women_divorce_rate[76] = 0.0028 ;
women_divorce_rate[77] = 0.0028 ;
women_divorce_rate[78] = 0.0028 ;
women_divorce_rate[79] = 0.0028 ;
women_divorce_rate[80] = 0.0028 ;
women_divorce_rate[81] = 0.0028 ;
women_divorce_rate[82] = 0.0028 ;
women_divorce_rate[83] = 0.0028 ;
women_divorce_rate[84] = 0.0028 ;
women_divorce_rate[85] = 0.0028 ;
women_divorce_rate[86] = 0.0028 ;
women_divorce_rate[87] = 0.0028 ;
women_divorce_rate[88] = 0.0028 ;
women_divorce_rate[89] = 0.0028 ;
women_divorce_rate[90] = 0.0028 ;
women_divorce_rate[91] = 0.0028 ;
women_divorce_rate[92] = 0.0028 ;
women_divorce_rate[93] = 0.0028 ;
women_divorce_rate[94] = 0.0028 ;
women_divorce_rate[95] = 0.0028 ;
women_divorce_rate[96] = 0.0028 ;
women_divorce_rate[97] = 0.0028 ;
women_divorce_rate[98] = 0.0028 ;
women_divorce_rate[99] = 0.0028 ;
// 再婚率 (2010年)
// × 離婚している人に対する再婚率
// ○ 世代人口(未婚、結婚、離婚関係なし)に対する再婚率
// ということで、計算式に注意しなければならない。
// (というか、なんで、最初からそういう数値にしないんだ!)
// 離婚している人に対する再婚率 (に変換する式)
// =
// 再婚率 x その世代の人口数 / 離婚(×未婚、結婚)人口
// としなければなない
//表6-6 性,年齢(5歳階級)別再婚率:1930~2010年
//(‰)
//年 齢 2010年
men_remarrige_ratio[0] = 0.0000;
men_remarrige_ratio[1] = 0.0000;
men_remarrige_ratio[2] = 0.0000;
men_remarrige_ratio[3] = 0.0000;
men_remarrige_ratio[4] = 0.0000;
men_remarrige_ratio[5] = 0.0000;
men_remarrige_ratio[6] = 0.0000;
men_remarrige_ratio[7] = 0.0000;
men_remarrige_ratio[8] = 0.0000;
men_remarrige_ratio[9] = 0.0000;
men_remarrige_ratio[10] = 0.0000;
men_remarrige_ratio[11] = 0.0000;
men_remarrige_ratio[12] = 0.0000;
men_remarrige_ratio[13] = 0.0000;
men_remarrige_ratio[14] = 0.0000;
men_remarrige_ratio[15] = 0.0000;
men_remarrige_ratio[16] = 0.0000;
men_remarrige_ratio[17] = 0.0000;
men_remarrige_ratio[18] = 0.0001;
men_remarrige_ratio[19] = 0.0001;
men_remarrige_ratio[20] = 0.0048;
men_remarrige_ratio[21] = 0.0048;
men_remarrige_ratio[22] = 0.0048;
men_remarrige_ratio[23] = 0.0048;
men_remarrige_ratio[24] = 0.0048;
men_remarrige_ratio[25] = 0.0226;
men_remarrige_ratio[26] = 0.0226;
men_remarrige_ratio[27] = 0.0226;
men_remarrige_ratio[28] = 0.0226;
men_remarrige_ratio[29] = 0.0226;
men_remarrige_ratio[30] = 0.0448;
men_remarrige_ratio[31] = 0.0448;
men_remarrige_ratio[32] = 0.0448;
men_remarrige_ratio[33] = 0.0448;
men_remarrige_ratio[34] = 0.0448;
men_remarrige_ratio[35] = 0.0476;
men_remarrige_ratio[36] = 0.0476;
men_remarrige_ratio[37] = 0.0476;
men_remarrige_ratio[38] = 0.0476;
men_remarrige_ratio[39] = 0.0476;
men_remarrige_ratio[40] = 0.0371;
men_remarrige_ratio[41] = 0.0371;
men_remarrige_ratio[42] = 0.0371;
men_remarrige_ratio[43] = 0.0371;
men_remarrige_ratio[44] = 0.0371;
men_remarrige_ratio[45] = 0.0261;
men_remarrige_ratio[46] = 0.0261;
men_remarrige_ratio[47] = 0.0261;
men_remarrige_ratio[48] = 0.0261;
men_remarrige_ratio[49] = 0.0261;
men_remarrige_ratio[50] = 0.0180;
men_remarrige_ratio[51] = 0.0180;
men_remarrige_ratio[52] = 0.0180;
men_remarrige_ratio[53] = 0.0180;
men_remarrige_ratio[54] = 0.0180;
men_remarrige_ratio[55] = 0.0123;
men_remarrige_ratio[56] = 0.0123;
men_remarrige_ratio[57] = 0.0123;
men_remarrige_ratio[58] = 0.0123;
men_remarrige_ratio[59] = 0.0123;
men_remarrige_ratio[60] = 0.0091;
men_remarrige_ratio[61] = 0.0091;
men_remarrige_ratio[62] = 0.0091;
men_remarrige_ratio[63] = 0.0091;
men_remarrige_ratio[64] = 0.0091;
men_remarrige_ratio[65] = 0.0056;
men_remarrige_ratio[66] = 0.0056;
men_remarrige_ratio[67] = 0.0056;
men_remarrige_ratio[68] = 0.0056;
men_remarrige_ratio[69] = 0.0056;
men_remarrige_ratio[70] = 0.0025;
men_remarrige_ratio[71] = 0.0025;
men_remarrige_ratio[72] = 0.0025;
men_remarrige_ratio[73] = 0.0025;
men_remarrige_ratio[74] = 0.0025;
men_remarrige_ratio[75] = 0.0025;
men_remarrige_ratio[76] = 0.0025;
men_remarrige_ratio[77] = 0.0025;
men_remarrige_ratio[78] = 0.0025;
men_remarrige_ratio[79] = 0.0025;
men_remarrige_ratio[80] = 0.0025;
men_remarrige_ratio[81] = 0.0025;
men_remarrige_ratio[82] = 0.0025;
men_remarrige_ratio[83] = 0.0025;
men_remarrige_ratio[84] = 0.0025;
men_remarrige_ratio[85] = 0.0025;
men_remarrige_ratio[86] = 0.0025;
men_remarrige_ratio[87] = 0.0025;
men_remarrige_ratio[88] = 0.0025;
men_remarrige_ratio[89] = 0.0025;
men_remarrige_ratio[90] = 0.0025;
men_remarrige_ratio[91] = 0.0025;
men_remarrige_ratio[92] = 0.0025;
men_remarrige_ratio[93] = 0.0025;
men_remarrige_ratio[94] = 0.0025;
men_remarrige_ratio[95] = 0.0025;
men_remarrige_ratio[96] = 0.0025;
men_remarrige_ratio[97] = 0.0025;
men_remarrige_ratio[98] = 0.0025;
men_remarrige_ratio[99] = 0.0025;
women_remarrige_ratio[0] = 0.0000;
women_remarrige_ratio[1] = 0.0000;
women_remarrige_ratio[2] = 0.0000;
women_remarrige_ratio[3] = 0.0000;
women_remarrige_ratio[4] = 0.0000;
women_remarrige_ratio[5] = 0.0000;
women_remarrige_ratio[6] = 0.0000;
women_remarrige_ratio[7] = 0.0000;
women_remarrige_ratio[8] = 0.0000;
women_remarrige_ratio[9] = 0.0000;
women_remarrige_ratio[10] = 0.0000;
women_remarrige_ratio[11] = 0.0000;
women_remarrige_ratio[12] = 0.0000;
women_remarrige_ratio[13] = 0.0000;
women_remarrige_ratio[14] = 0.0000;
women_remarrige_ratio[15] = 0.0000;
women_remarrige_ratio[16] = 0.0004;
women_remarrige_ratio[17] = 0.0004;
women_remarrige_ratio[18] = 0.0004;
women_remarrige_ratio[19] = 0.0004;
women_remarrige_ratio[20] = 0.0103;
women_remarrige_ratio[21] = 0.0103;
women_remarrige_ratio[22] = 0.0103;
women_remarrige_ratio[23] = 0.0103;
women_remarrige_ratio[24] = 0.0103;
women_remarrige_ratio[25] = 0.0345;
women_remarrige_ratio[26] = 0.0345;
women_remarrige_ratio[27] = 0.0345;
women_remarrige_ratio[28] = 0.0345;
women_remarrige_ratio[29] = 0.0345;
women_remarrige_ratio[30] = 0.0501;
women_remarrige_ratio[31] = 0.0501;
women_remarrige_ratio[32] = 0.0501;
women_remarrige_ratio[33] = 0.0501;
women_remarrige_ratio[34] = 0.0501;
women_remarrige_ratio[35] = 0.0438;
women_remarrige_ratio[36] = 0.0438;
women_remarrige_ratio[37] = 0.0438;
women_remarrige_ratio[38] = 0.0438;
women_remarrige_ratio[39] = 0.0438;
women_remarrige_ratio[40] = 0.0269;
women_remarrige_ratio[41] = 0.0269;
women_remarrige_ratio[42] = 0.0269;
women_remarrige_ratio[43] = 0.0269;
women_remarrige_ratio[44] = 0.0269;
women_remarrige_ratio[45] = 0.0176;
women_remarrige_ratio[46] = 0.0176;
women_remarrige_ratio[47] = 0.0176;
women_remarrige_ratio[48] = 0.0176;
women_remarrige_ratio[49] = 0.0176;
women_remarrige_ratio[50] = 0.0115;
women_remarrige_ratio[51] = 0.0115;
women_remarrige_ratio[52] = 0.0115;
women_remarrige_ratio[53] = 0.0115;
women_remarrige_ratio[54] = 0.0115;
women_remarrige_ratio[55] = 0.0069;
women_remarrige_ratio[56] = 0.0069;
women_remarrige_ratio[57] = 0.0069;
women_remarrige_ratio[58] = 0.0069;
women_remarrige_ratio[59] = 0.0069;
women_remarrige_ratio[60] = 0.0043;
women_remarrige_ratio[61] = 0.0043;
women_remarrige_ratio[62] = 0.0043;
women_remarrige_ratio[63] = 0.0043;
women_remarrige_ratio[64] = 0.0043;
women_remarrige_ratio[65] = 0.0025;
women_remarrige_ratio[66] = 0.0025;
women_remarrige_ratio[67] = 0.0025;
women_remarrige_ratio[68] = 0.0025;
women_remarrige_ratio[69] = 0.0025;
women_remarrige_ratio[70] = 0.0007;
women_remarrige_ratio[71] = 0.0007;
women_remarrige_ratio[72] = 0.0007;
women_remarrige_ratio[73] = 0.0007;
women_remarrige_ratio[74] = 0.0007;
women_remarrige_ratio[75] = 0.0007;
women_remarrige_ratio[76] = 0.0007;
women_remarrige_ratio[77] = 0.0007;
women_remarrige_ratio[78] = 0.0007;
women_remarrige_ratio[79] = 0.0007;
women_remarrige_ratio[80] = 0.0007;
women_remarrige_ratio[81] = 0.0007;
women_remarrige_ratio[82] = 0.0007;
women_remarrige_ratio[83] = 0.0007;
women_remarrige_ratio[84] = 0.0007;
women_remarrige_ratio[85] = 0.0007;
women_remarrige_ratio[86] = 0.0007;
women_remarrige_ratio[87] = 0.0007;
women_remarrige_ratio[88] = 0.0007;
women_remarrige_ratio[89] = 0.0007;
women_remarrige_ratio[90] = 0.0007;
women_remarrige_ratio[91] = 0.0007;
women_remarrige_ratio[92] = 0.0007;
women_remarrige_ratio[93] = 0.0007;
women_remarrige_ratio[94] = 0.0007;
women_remarrige_ratio[95] = 0.0007;
women_remarrige_ratio[96] = 0.0007;
women_remarrige_ratio[97] = 0.0007;
women_remarrige_ratio[98] = 0.0007;
women_remarrige_ratio[99] = 0.0007;
}
メモリ消去用の実験テストプログラム
///////////////////////////////////////////////////////////
// //
// //
// メモリ消去用の実験テストプログラム //
// //
// //
// //
// 2014/06/29 //
///////////////////////////////////////////////////////////
#include <stdio.h>
#include <stdlib.h>
enum sex {woman, man};
typedef struct person {
enum sex sex; //性別
int age; //年齢
struct person *prev; /* 前の構造体を示すポインタ */
struct person *next; /* 次の構造体を示すポインタ */
} person;
int main ()
{
// 10人分のデータを作る
int i, k, count;
person *p_person, *p_prev_person, *p_next_person;
person *p_first_person, *p_last_person, *temp_p_person;
printf("checked 0.\n");
//////////// 現状データの入力 ////////////
p_person= (person *)malloc(sizeof(person));
if(p_person == NULL) {
printf("メモリが確保できません\n");
exit(EXIT_FAILURE);
}
p_person->sex = woman;
p_person->age = 10;
p_first_person = p_person; //最初の一人
// (最後に)ポインタをリンクする
p_person->prev = NULL;
p_prev_person = p_person;
for(i=9; i>=0; i--){
p_person= (person *)malloc(sizeof(person));
if(p_person == NULL) {
printf("メモリが確保できません %d\n",i);
exit(EXIT_FAILURE);
}
p_person->sex = woman;
p_person->age = i;
// (最後に)ポインタをリンクする
p_prev_person->next = p_person;
p_person->prev = p_prev_person;
p_person->next = NULL;
p_prev_person = p_person;
}
p_last_person = p_person; //最後の一人
printf("checked 1.\n");
//////////// 現状データの入力 終わり ////////////
//////////// データ削除の処理例 ////////////
p_person = p_first_person; //最初の一人
while (p_person != NULL){
if (p_person->age == 3){
// メモリを消す前の処理
if (p_person == p_first_person){ // 最初の場合
p_first_person = p_person->next;
p_first_person->prev = NULL;
free(p_person);
p_person = p_first_person;
printf("C1:");
}
else if (p_person == p_last_person){ //最後の場合
p_last_person = p_person->prev;
p_last_person->next = NULL;
free(p_person);
p_person = p_last_person;
printf("C2:");
}
else {
p_person->next->prev = p_person->prev;
p_person->prev->next = p_person->next;
temp_p_person = p_person->prev; // 一つ前のポインタに退避
free(p_person);
p_person = temp_p_person;
printf("C3:");
}
}
p_person = p_person->next;
}
//////////// 確認フェーズ ////////////
if (p_first_person == p_last_person){
printf("passed exit\n");
exit(0);
}
p_person = p_first_person;
while (p_person != NULL){
printf("%d ",p_person->age);
p_person = p_person->next;
}
}
#if 0
p_person = p_first_person;
while (p_person != NULL){
printf("%d ",p_person->age);
p_person = p_person->next;
}
p_person = p_last_person;
while (p_person != NULL){
printf("%d ",p_person->age);
p_person = p_person->prev;
}
#endif
もう一度、あの日の恐怖を思い出してみましょう。
先日国会で成立した、国土強靭化基本法を熟読しています。
I read letters of the law named "Basic Law of National Land Enhancement."
一見無味乾燥な法令に見えますが、これは読み方によっては、とても面白いです。
At first glance, it looks like monotony law, but it is exciting from another perspective.
「省庁の縦割りを解消し」などという識者もいるようですが、私は、まったく逆に「縦割りを明文化した」というくらいに読めました(第11条~21条)。
Though some analysts tell us that this law results in compartmentalized public administration, I think it is the opposite; the law defines it.
私は、シミュレーション結果で、100年後に現在の人口の20%にまで落ち込むと予想しているので、人口を大都市に集中して社会インフラを集結することを考えていました。
I estimate that the population in Japan has decreased by 20% from the present after 100 years ago. I am afraid we must migrate to urban areas and integrate social infrastructures.
つまり、「地域を切り捨てる」しか日本が生き残る道はない、と思っていたのですが、この法律では、完全にその逆を唱えています(第2条:多極分散型の国土の形成)。
I mean, "Discarding rural areas." I think it is a final decision to survive in this country. But this law says the opposition against my opinion(Article 2: multiple cities)
といいつつ、その分散を3つに定義しています。具体的には、(1)首都圏、(2)近畿圏、(3)中部圏です(第8条)。
On the other hand, the law also defines the three decentralized areas: "Tokyo Metropolitan District," "Osaka Metropolitan District," and "Chuubu Metropolitan District"(Article 8).
―― という話を、後輩にしたところ、
I told the above issue to a junior fellow,
後輩:「江端さん。そりゃ分散のアプローチが間違っていませんか? 南海トラフで、その3つの分散は、纏めて全滅ですよ」
Ebata-san, I think there seems to be a wrong approach. The big earthquake in the Pacific zone will hit the three areas at the same time.
江端:「ま、一気に撃たれることはない、という見込みなのだろうと思う。でも、災害を想定した本当に分散する気があるなら、札幌圏、首都圏、高松圏、福岡圏の4つかなぁ」
Probably, I think they estimate not to do it simultaneously. If I were an administration, I would define four areas, "Sapporo," "Tokyo," "Takamatsu," and "Fukuoka."
まあ、「地域を捨てる」などという方針が出たとすれば、法案が潰されるのは当然として、政権与党の存続だって危ういだろうな、とは思うのです。
If "discarding rural areas" were included in the law, the Diet refused the bill and upset the regime.
それに、まだ「地域を切り捨てる」という決断をするには早いかもしれません。少子化の問題だって、何かの奇跡が起きて、持ち直すかもしれないじゃないですか ―― その奇跡に、全く心辺りがないとしても、です。
And it seems to be too early to judge it. The problem of a society with fewer children might be resolved in some miracle works -- I don't know them at all.
-----
なぜ、このような法律を調べているかというと、災害時を想定したシステムの提案資料を作る為です。
I investigated the law to make a proposal material for the system against some kinksters in Japan maJapan'sd.
で、その他の資料も色々見付けているのですが、これはいいですよ。是非御一読を。
I strongly encourage you to read the following paper.
その辺の小説より、ドキドキできます。
You must be excited, more than crisis novels around you.
-----
特に、地震直後に、停電→テレビ・ラジオ・PC全滅→情報ゼロ という状況は、リアルです。
Significantly, the story of a blackout, inactivate of TV, radio, and PC, and no information is authentic.
震災の時も、電池式のラジオだけが、最後の砦でした。
The cell radio is the last straw on the day of the earthquake disaster.
これも何かの機会です。もう一度、あの日の恐怖を思い出してみましょう。
This is a good change. Let us try to remember the fear of the day.
心底から敬意に値する「低能さ」
最近、非常識な悪ふざけを、Twitter等のソーシャルメディアに投稿して、騒ぎになる事件が後を立たないようです。
かかる事件を置こす彼ら/彼女らは、共通して、以下に示す「5重の低能さ」を露呈していると考えます。
-----
(1)そのような所業しなれば、自己アピールができないという「低能さ」
(2)上記(1)を記録媒体に残すという「低能さ」
(3)上記(2)をネットワーク上に配布するという「低能さ」
(4)上記(3)の行為が社会的に認容されるという見込の甘さや、そのような自体によって発生する影響を推定できないという「低能さ」
(5)ニュース、新聞等のメディアを全く視聴していないという「低能さ」
-----
これは、「低能 of 低能s」、まさに「低能のエリート」「低能の帝王」といっても言いくらいの、低能さです。
これは、冗談でも皮肉でもなく、心底から敬意に値する「低能さ」だと私は思っているのです。
同じ「低能」であるなら、ここまで極めなければならない。
人間は、どうしても、ここまでの「低能さ」を発揮することは難しいと思うのです。
-----
それともう一つ、彼ら/彼女らの行為は、素晴しいことをしてくれています。
このような、ニュースになっている程度の規模を発生させている「低能者」は、私の計算する限り、100人には至っていないように思います。
この数は、本当に事件を発生された確定的にGivenな固定の人数であり、その人数以外には当て嵌まらないと言って良いでしょう。つまり、この100人以上の人間には、無関係であることが、はっきりしているからです。
我が国の15~22歳の人口は、ざっくり、960万人ほどいるのですが、その内の、100人というのは、
「10万人に1人」程度です。
これは統計的な観点から見た「母集団に対する歩留まり」から考えても、
―― 驚異的に小さい値です。
このような観点から見ると、「5重の低能さ」は、間違いなく個人の資質に起因するものと断定して良いでしょう。
このような「低能」さを、若い世代全体に一般化する人(マスコミや評論屋も含めて)は、若者に対して「失礼にも程がある」上に、その程度の計算もできない程、自分自身が「低能」であることを主張しているようにさえ見えます。
-----
私達の世代は「しらけ世代」「遊んでばかりいる大学生」と批難されていました。
しかし、私が知る限り「しらけ」つづけていて、続けられるような勉学ではなかったし、「遊んでばかり」いて、卒業できるほど大学のカリキュラムは甘くはなく、本当に、日々、勉学とのバトルでした(少くとも、私には余裕などなかった)。
ですから、無神経に、このような「一般化」を、マスコミや世間を、心底から
―― 「憎悪」していました。
-----
若い世代に対する、根拠のない不当な「一般化」は止めましょう。
「五重の低能者」は、その資質として「選ばれし低能者」であり、
世代とは全く無関係に、本質的に根本的に絶対的に「低能」なのです。
「特許明細書」という物語
昨日、特許のお話をしたので、その続きということで。
特許権に関する幻想を持っている人って多いと思うのですが、我々研究員からすれば、発明は単なる業務です(なお、上記の内容は古い上に、若干の嘘もあります。特許法は殆ど隔年で改正されていますから)
もっと直接的に言えば「ノルマ」。
「発明」がノルマでできるのか、と思われるかもしれませんが、特許発明というのは、一種の小説とかコミックマンガと同じような「創作物」でもあるのです。
「発明」を記載する明細書には、物語、すなわち「ストーリー」が記載されなければなりません。
それを読む特許庁の審査官を、「感動」させなければならないからです。
-----
特許明細書の内容は、概ね、こんな感じになっています。
(Step.1)まず、巨大な悪の帝国を記載します(課題)。この巨大な悪の帝国を滅ぼす為の兵器を登場させます(課題を解決する公知の技術)。
(Step.2)ところが、この兵器が全く悪の帝国の帝国軍に太刀打ちできず、自由同盟軍は敗走します(公知技術でも解決できない課題)。
(Step.3)そこに、自由同盟軍の新型兵器が登場します(本願発明)。この新型兵器は、誰も見たことがなく(特許法29条1項)、そして誰も思いつくことができな かった(同2項)ものです
(Step.4)自由同盟軍の新型兵器が、帝国軍のくりだす全ての兵器を撃破し、自由同盟軍は最終的に勝利を収めます(本願発明の効果)。
こうして、皆が幸せになることで、物語・・・もとい、明細書は終了します。
-----
前回の特許明細書で、私は8割を書き上げたところで、「あれ?」と気がつきました。
―― この新型兵器では、悪の帝国の反撃で、撃破されてしまうじゃないか?
こうなると、最初からストーリーを組み直すことになります。
仕事の大半がパーになって、かなり泣けます。
とはいえ、もっと優れた新型兵器をホイホイ発明するのは難しいです。
ですから、ストーリーの再構築に際しては、姑息な手段を考えることになります。
例えば、―― 悪の帝国を最初から「弱く」設定しておく、とか。
-----
特許明細書という楽しくもない文章を、特許庁の審査官に読んで貰うには、それ相応の技も必要なのです。
江端さんのひとりごと「英会話スクール出逢い機関論」
特許明細書が書き上がりません。
最近、クリスマスの思い出と言うと、特許を執筆していた記憶以外にありま せん。 時期的にも、下期の特許提出の時期にぶつかることもあって、私にとって、 「クリパ」と言われれば、クリスマスパーティなんぞではなく、クリスマスパ テント(特許)です。
本当は、このような愚にもつかない駄文を書いている間に、明細書の第二の 実施例を執筆しなければいけないのですが、システム構成図を書き直すのが面 倒なのです。 なんとか手を抜けないかと、現実逃避の考案をしている時、私の駄文執筆能力は、最高潮に達するようです。
嫁さんの気質や思想やポリシーに影響されるところ大なのですが、私は、結 婚してから色々なことから解放され自由になり、人生が楽に、そして楽しくな りました。 また、嫁さんとは関係なく、結婚というシステムの観点からだけでも、いく つかのことから自由になったことがあります。 その中の一つに、「クリスマス脅迫症候群」とも言うべきものがあります。
この時期、駅前、商店街、デパート、繁華街、どこにいても出現する緑と赤 の装飾、巨大なクリスマスツリーの電飾イルミネーション、そして、どこまで もしつこく追いかけてくるクリスマスソング。 会社の帰りに、夕食のコロッケを買っているところに、ユーミンや山下達郎 なんぞ、出現させるんじゃない(ちと古いが)。
-----
若い頃、私は、
―― 一人で街を歩いたら、いかんのか!
と怒鳴りたくなる衝動にかられていました。
そのようなものから逃げる為に、イブの夜に嫁さんに担保をお願いしていた 若い頃の自分は、愚かだったと思います。 だが、この青春の愚かなプロセスなくして、今の家庭や家族がないのも、ま た真実です。 その時、若さ故の愚かさを、シニカルに笑っていただけなら、今、食卓を囲 んで家族で笑っていることはできなかったでしょう。
逆説的な結論ではありますが、「クリスマス脅迫症候群」によって「クリスマス脅迫症候群」から離脱する、というこの一連の理論は、物質が他の物質に 変化するプロセスで、一時的に高エネルギー状態に至らなければならないとい う「励起状態」を思い起こさせます。
いずれにしても、今の私には、街中のクリスマスソングも、電車の中で若い 恋人達がいちゃつく様も(そして愚にもつかない彼等の会話も)、まるで、梅が 咲きほこる雅な茶会の席で、俳句をしたためながら、ホトトギスの声を遠くに 聞くくらい、気になりません。
ともあれ、こういう下らない脅迫観念から離脱できただけでも、結婚は私に とって意義があったと断言できます。
閑話休題。
-----
実際のところ、一体どれ程の効果があるのだろうか良くわからない「英会話ス クール」ですが、この不景気日本にあって、しぶとく生き残っているようです。
先日、先輩と話していた時に、「英会話スクール」の目的は、勿論英会話の 向上にあることの他、「異性と出逢う場」としての役割もあるそうです。
なるほど。 そういうことなら、あのふざけた高価な授業料も、投資としてはむしろ安い。
個人を主体とする現代の社会構造上、異性と出逢うチャンスがないと言うの は、至極当然のことではあるのですが、出逢いを求めている当の本人達にとっ ては、深刻な問題です。
近い未来、自力で彼氏や彼女を見つけてきた者は、会社や地元の自治会から 表彰されるような未来がくる、と私は真面目に考えております。 実際、政府が国営のお見合い期間の設立に動いています(2002年11月14日の 朝日新聞より)
これは本当の話ですが、私は10年も前に、日立のスーパーコンピュータのア プリケーションとして「お見合いシステム」を提言していました。
スーパーコンピュータの性能と言うと、円周率の計算くらいしかやることが ないように思われていますが、これからのスーパーコンピュータはスペックは、 MIPSやディスクアクセス速度、トランザクション処理数などではありません。
目標は、単位時間あたりに、どれだけの大量のカップルを生成させることが できるか、そして、そのカップルをどれだけの時間維持させえるか、さらには、 定着率(結婚率)などが競われるようになる、と予言していました。
MTTR(Mean Time To Repair 平均修復時間)は、システムの平均復旧時間から、 カップルの平均復旧時間へと解釈が変更され、MTBF(Mean Time Between Failure 平均故障間隔)は、言うまでもなく、カップルの平均交際停止間隔と 解釈される訳です。
こんな風に考えていくと、「システム」と「恋愛」は恐しく良く似ているこ とに気がつきます。 セキュリティの観点から言えば、機密性、可用性、抑制機能、予防機能、回 復機能等、メンテナンスの観点からは、初期不良、経年劣化、リプレース・・・
まあ、この辺で止めておきましょう。
結婚の問題とは関係なく、異性と付き合うことは、それ自体が人生を豊かに するし、そもそも楽しいものです。 勿論、苦しさや面倒も半端じゃありませんが。
この機会を、英会話スクールが提供しているのだとすれば、大変コストパフォー マンスな「場の提供」と言えるでしょうし、次世代の新しいコミュニティ創成 の場として大変有望なものであると、私は考えました。
-----
「そうかな?」
私が得意げに、「英会話スクール出逢い機関論」を唱えていると、嫁さんが 異議をはさんできました。
私 :「どうして? 出会い系のメールやWebなどに比べて、身元や面が割れ る分、健全で安全で安心だし、勉強で集うと言う点も、さらに高品 質のフィルターを通っているとも解釈できるぞ」
嫁さん:「『出逢う』為には、男性と女性が、少なくとも同じクラスにいなけ ればいけないよね」
私 :「そりゃ、まあね」
嫁さん:「で、まあ当然、英会話を始める人なら、初級コースから入会するよね」
私 :「そうだろうね」
嫁さん:「自然に無理なく親しくなるためには、それなりに時間もかかるよね」
私 :「あからさまに、『異性を探しています』てな感じの奴なんて、いや だろうからな」
嫁さん:「英会話クラスの初級コースなんぞに、うだうだといつまでも居残っ ている男ってことは、『私には将来性がありませんよ』と宣言して いるようなものじゃない? 私なら、私と同じクラスにいるような 男は嫌だな」
私 :「・・・あっ」
盲点でした。
確かに、そんな将来性の見えない異性を探しすために、金を出しているとし たら、投資以前の問題です。 金をドブに捨てているようなものです。
嫁さんの提示したアンチテーゼは、英会話スクール以外にも、テニススクー ル、その他のスクール全部に適用が可能のようです。 いつまでたっても、初級コースから抜けられない野郎と付き会いたい女性は 少ないだろうからです。 むしろ、検討除外の明確な指針となってしまう恐れもあります。
まあ、別の異性へのアクセスのポインタくらいにはなるのかもしれませんが。
-----
「出逢い」が難しい時代になりました。
「出逢い」を構築するために、自分ではない、不本意な自分を演出する必要 性に苦しんでいる人も多いと思います。 口ばかりが上手くて、綺麗に装うのが上手い奴だけが、出逢いの門に立てる のだろうかと問われれば、私は自信を持って答えることができます。
その通りです。
ですから、「一緒になって貰うために、地に這いつくばい、泥をすすり、自 尊心を投げうって、彼女の足を舐めるような屈辱を経て、結婚を承諾して貰った」(http://www.kobore.net/mail8.txtより抜粋)と言う、私の尊敬する人の言葉が、私の胸を熱く打つのです。
------
クリスマスイブの今日、私より皆さんに、新約聖書の「マタイによる福音書」 7章13節を贈ります。
「狭い門からはいれ。滅びにいたる門は大きくその道は広い。そして、そこ からはいって行く者が多い。命にいたる門は狭くその道は細い。そして、それ を見いだす者が少ない」
最後に、江端による福音書、第3節A項の第5号にて、今日はお別れしたいと 思います。
皆さん、よいクリスマスを。
「狭い門から入る必要なんぞないし、できれば避けたいのは山々だが、本当の 自分を好きになってくれる人と出逢う為の門は狭い。天国の門なんぞお話にな らんくらい狭い。ナノテクノロジーですら解決できないほど狭い。とにかくうんざりするほど狭い。それを見いだす者は、かなり運が良い」
(本文章は、全文を掲載し、内容を一切変更せず、著者を明記する限りにおい て、自由に転載して頂いて構いません。)
江端さんのひとりごと「クリスマス脅迫症候群」
2002年12月24日
書き人知らず
Tomoichi Ebata さんは書きました: >
> クリスマスプレゼント、と言うことで。
共に秀逸なコンテンツでした。
久しぶりに駄文の妙味というものを味わわせてもらったと思います。
> その中の一つに、「クリスマス脅迫症候群」とも言うべきものがあります。
最近は不景気のせいで沈静化した感があったが、まだバブルの残滓が漂ってい た90年代前半頃までは、ホテルが軒並み予約で満杯であったという。 今思えば、当時の若人は何と愚かしい真似をしていたことか。
> 若い頃、私は、
> 一人で街を歩いたら、いかんのか!
> と怒鳴りたくなる衝動にかられていました。
確かに誰彼なく殴りつけたくなるような、荒んだ心象風景を抱えねばならなかっ た時期もあった...(遠い目)
> ともあれ、こういう下らない脅迫観念から離脱できただけでも、結婚は私に
>とって意義があったと断言できます。
この脅迫観念から解脱する解として、もう1つ「枯れてしまう」という解もあ る事を忘れてはなりません。
小生はもう何年も前から、この方法による解脱に成功し、
> いずれにしても、今の私には、街中のクリスマスソングも、電車の中で若い
> 恋人達がいちゃつく様も(そして愚にもつかない彼等の会話も)、まるで、梅が
> 咲きほこる雅な茶会の席で、俳句をしたためながら、ホトトギスの声を遠くに
> 聞くくらい、気になりません。
という境地に立っており、サカリのついたオスとメスが演ずる茶番を、 完全なる「他人事」として相対化する視線を獲得し得ております。
それは、あたかも路傍の石を眺めるがごとき視線です。
イブの本日、みっともなくも若い衆の中には、本当は何の用もないのに そそくさと定時速攻で退社し、周囲にプライベートな用件があることを 無言でアピールする哀しい連中もおります。
無論、解脱した小生はそのようなみっともなさとは無縁であります。
本日は断固として圧倒的に残業を敢行し、小生にはプライベートな用件など 微塵も存在しないことを雄雄しくも広く天下万民に知らしめ、 もって「枯淡の域」とはいかなるものかを、無知蒙昧なる大衆に身をもって 示す所存であります。
※ 本当はね、まるっきり用件がない訳でもなくて、一人で呑み屋に行くの。 そんで、明日は明日で野郎ばかりで寿司屋で呑むの。
SILって何だろう
SILって何だろう
本ページは、 SILに関するコラム(その1) と、 SILに関するコラム(その2) に対してのご批判と、その後のご指導を頂いた、 「真っ赤なレモン @_red_lemon 」さん から頂いたSILに関する有益なご意見を、 可能な限り変更を加えず、掲載したものです。
今回、このような形で、「真っ赤なレモン @_red_lemon 」さんのご意見を 掲載させて頂くに至ったのは、
- 「真っ赤なレモン @_red_lemon 」さん のSILのご解説が、恐しく分かりやすいこと
- SILに関する基本的な概念を説明する書籍が、現時点において絶無であること
- 今後の製造業のグローバル対応を考えた時、このご解説の内容は、技術者の皆さんにとって、素晴しく役に立つであろうこと
という理由に因ります。
この度、「真っ赤なレモン @_red_lemon 」さん のご許諾を頂き、この文章を公開 させて頂くことにしました。
なお、本文に関する文責は、全て、この文章を編集した江端智一に帰するものと致します。
2012年11月11日(日) 江端智一
Q SILってなんですか?
A SILとは、機械の信頼性に関する指標で、平均故障間隔(MTBF:Mean Time Between Failures)という考え方を使います。
簡単に言うと、
「昨日クーラーが壊れたので、今修理してもらった。次はいつ故障しそう?」
「そうだねえ、大体5年後かなぁ」
と言えば、この場合のMTBFは、5年=43800時間 となります。
SILとは、このMTBFで、その装置やシステムの信頼性を示す指標です。ざっくりこんな感じです。
・SIL0:MTBFが10年未満
・SIL1:MTBFが10年以上~100年未満
・SIL2:MTBFが100年以上~1000年未満
・SIL3:MTBFが1000年以上~1万年未満
・SIL4:MTBFが1万年以上~10万年未満
まず、SIL0(シルゼロ)、SIL1(シルワン)、SIL2(シルツー)……という分け方をしているのは、昼定食を「人件費と材料費が1647円の定食」というのを、単に「梅定食」と呼んでいるのと同じことで、単にこうしたほうが、理解と管理がラクというだけのことです。
Q SIL1やSIL2というのは分かります。SIL3,SIL4などというものがあるのは何故 ですか。これは、巨大事故発生時の被害者数の期待値と考えれば良いのですか。
A SILは製品の期待値がSIL2になるようにするための道具だ、と言ってよいです。
江端さんがコラムで書いている、
>「SIL2の私(原発、電車、旅客機)は、あんたの人生において、1度だけは、あんたを殺すかもしれないよ」ということです。
も、
>つまり、「人を殺すことを前提とした安全」の概念が含まれていると考えれば、SILを理解できるわけです。
も、全くそのとおりです。大局としては間違っていません。
では、私が気になったのはどこか。次の部分です。
>SIL3(MTBF:1000年~1万年未満)やSIL4(MTBF:1万年~10万年)がなぜ必要なのだろう? という疑問が残ります。その答えは「期待値」です。
この考え方の筋道は、的外れです。
SIL3やSIL4が必要な理由は、次の考え方からです。
「壊れない」製品を作ることは、できない。(←ここはあきらめている)
そこはあきらめないと、話が先に進まない。
現実を見て物事を前に進められる我々工学の世界の住人は、 理屈にこだわって何もできない人たちよりも、ずっとマシ!
では、どれくらいの頻度の故障だったら、世間は納得してくれるだろうか?
↓
まあ、製品のSILがSIL2だったら、世間は納得してくれるんじゃね?
受容されるんじゃね?
(これは、まさにALARA。納得できるかどうかを厳密に突き詰めることはできない。 人それぞれの価値観の相違があるため、泥沼になる)
↓
それはともかく、最近は部品の集積度が上がった。
「部品の集積度が高い製品」ほど、壊れる確率は高くなっちゃうよね。 どの部品が壊れるか分からないし、製品を使って100年もかかる試験が できるわけないよね。
↓
部品単体なら、加速試験ができるんじゃね?
それに、部品単体のMTBFをすごーく長くしておけば、 製品での試験をしなくてもいいじゃん!
「そ、それだ!」
↓
部品単体のMTBFをどれくらいにすれば、製品の試験をしなくてすむんだろう?
自動車の部品が、約1万個。そのうち、壊れたら安全性に関わる部品は 100個くらい。この100個が壊れなければ安全性には問題ない。
他の部品が壊れても、保証修理でタダで修理すれば済む話だし。
とすると・・・この100個の部品をSIL4(MTBF:1万年~10万年)に できれば、自動車じたいは、ざっと計算してSIL2(MTBF:100年~1000年)だ!
↓
というワケで、部品メーカーのみなさん。SIL4の部品を我が社に納入してください。
↓
部品メーカー「ええ~~!」
どんどんグダグダになっていきましたが、これが真相です。
部品の段階でのSILをSIL4まで上げておくと、 ほとんどの製品(全部品が約1万個、そのうち安全に関わる部品が約100個の製品)で、 ほぼSIL2が達成できます。そのために、SIL4が必要。
安全に関わる部品がもっと少ない場合は、SIL3で足ります。
製品メーカーは、部品代に高いお金を払うかもしれませんが、ラクをします。
なお、SILをいう考え方を自動車業界が強く推進している背景には、 電子部品が自動車に多数使用されるようになった、ということがあります。
電子部品は、機械に比べて部品の集積度が非常に高い。
それまでは自動車の部品を「できるだけ細かいレベルに分けて」数えても、 1万個程度でしたが、電子部品が使われるようになった途端に2~3万個に増えました。 (抵抗1個でもバラして4個と数えるような、極端な数え方ですけれど。)
SILは、「部品の集積度が高い製品」を前提とした考え方から生まれています。
Q SILがあって嬉しいことって何ですか?
A リスクを抽出し(想定し)、その個々のリスクレベルを全て「社会的に受容できる程度まで低減する」ことです。
これはISOに規定されていることです。
ISOの制定は欧州が主導しており、欧州の考え方の根底には「モノは壊れる。 人は間違える」があります。だから、考え方は「故障をゼロにする」のではな く、「モノは壊れる。人は間違える。それで発生するリスクを含めて、受容で きるレベルまでリスクを低減する。受容できるレベルまで低減されたリスクは、 社会が受け入れるべき」となり、現実的に安全性を確保していこうとしていま す。
つまりは、「社会に受容してもらう」=「人々に納得してもらう。納得させる」 ことも、メーカーにとっては重要になります。
どうやって人々に納得してもらうか。
モノをベースに、客観的な理解を得ようとする取り組みが、SILのような考え 方を導入する動機の一部分としてあります。
通常のメーカーはそうやって、なんとかお客さまや社会に納得してもらえるよ うに努力をしています。
しかし、この考え方には弱点もありました。
例えば、原発の場合、モノを変えずに人を納得させようとしました。
「中長時間の全電源喪失を考えなくて良い理由を作文して下さい」などといった、 モノや実態を見ずに口先だけで人を納得させようとする姑息なやり口をしました。
そして、作文能力の高い人が多かったのでしょう。 優秀な作文がたくさんできたでしょう。
人々は納得させられてしまいました。モノは何も変わっていないのに。 [事故が発生する頻度]は非常に低いものの、ゼロではありません。 それを、ゼロだと思わせ、想定外ということにしました。
Q SILが基準としている「物差し」は何ですか。
A 人命です。
「SILで想定している『故障』とは、人命に関わるような故障のみを指している」 ということは、知っておかなければなりません。
極端に言うと、
「『安全に停止できるような故障』なら、1年に何回起こってもかまわない」
ということです。
(もちろん、お客さまからクレームが来ないようにしなければなりませんので、 『安全に停止できるような故障』も減らそうとはします。)
Q 「SIL4」と言葉で言うのは簡単ですが、1万年以上故障しない部品なんて、 一体、どうやって実現するのですか?
A 基本的には電子部品のSIL4などは部品の多重化で達成します。
大雑把に書くと
Aという部品をSIL4にするためには Aの機能を達成する部品を作ります。aとします。
aを試験すると、SIL2でした。
(aの試験は、実際に時間をかけたり、加速試験をしたり、様々な方法で調べます。) aを2個(a1とa2と呼ぶ)、論理的に並列に(or回路、でしたっけ?)組み合わせて、 部品Aとします。
Aはa1とa2の両方が壊れないかぎり正常に機能しますので、
SIL2 × SIL2 = (100年に1回) × (100年に1回) = (10000年に1回) = SIL4
です。 掛け算って素晴らしい。or回路って素晴らしい。
ただこれは、電子部品のような小さい部品だから多重化が可能なのです。
機械部品(歯車とか)では、こうはいきません。
ただしジレンマもあります。
SILには、故障検知という考え方が、どこまでもつきまといます。
SIL2の部品であっても、その部品が故障したことを検知でき、故障検知するこ とで「製品を安全に停止できる」手段があるのならば、「人命に関わるような 故障」には至らないとできます。
できますが、そのためには故障検知するための部品を追加しなければなりませ ん。
そして、故障検知する部品は、たいていはセンサー、電気部品です。
はて?部品の数は減らしたいのに、安全のために部品を増やすとは?では、そ のセンサーが故障したらどうなるのか?センサーの故障を検知するセンサーも 必要?じゃあ、センサーの故障を検知するセンサーが故障したらどうなる の?・・・以下、延々と続きます。
結果として、故障を検知するセンサー部品は、SIL4にせざるをえないことが多 いです。
センサーがSIL4であれば、[SIL4のセンサー]と[SIL2の部品]を論理的に直列に 組み合わせることで(and回路にすることで)、「製品を安全に停止できる」 道は切り開けます。
ただし、センサーという部品が増えるということ自体の解決にはなりません。
なお、どうしてもSIL4の部品を論理的に直列に10個組み合わせた部品を使わな ければならない場合もあり、その場合は組み合わせた部品のSILはSIL3に下がっ てしまいます。
([SIL4]+[SIL4]+・・・+[SIL4]=[SIL4]×10=[SIL3])
そういう事情を勘案した上で、「SIL4の部品を論理的に直列に10個組み合わせ た部品」にはSIL3を割り振ってあげるという措置も必要になってきます。
Q ソフトウェアSILというのが、まったくチンプンカンプンです。 「ソフトウェアが1万年故障しない」という概念を、どうやって導き出すので すか?
A 天が導き出します。
製品の場合は、初めに機械の仕様を定めます。
「この製品は、10年の寿命(使用)を想定する」とか
「この製品は、30年の寿命(使用)を想定する」とか。
その時点で決定です。
部品の場合は、システム内の各部品に割り当てられます。
「各部品がそれぞれSIL0~4のどれであれば、システムとしてSIL4を達成できるか」 を検討して決定し、割り振るのが、『Vモデル』の前半です。
『Vモデル』の後半で、それが達成できているかをテスト・検証します。
Q 「SILが達成された」は、どういう状態を言うのですか
A SILが実現できていなかった際には、「どの過程が悪い」とか「どの部品が悪い」とか「どの人が悪い」ということを明確に突き止めることができる状態を言います。
原則的には、自動車を初めとする機械製品に使用される電気電子部品も、 JISB9700-1の枠組みでリスクアセスメントをしリスク低減をし、安全性の確保 を図ることになります。
ですが、そこから話を始めるのでは、電気屋さんやソフト屋さんには敷居が高 すぎます。
「要は、我々は何をしたらいいんだ?」ということで、自動車に使用される電 気電子部品およびソフトウェアの機能安全に特化して定めた規格が、ISO26262 です。
ISO26262の考え方はJIS B9700-1と同じで、「リスクを低減すること」です。
(リスク=[事故が実際に発生した時の重大度(被害の程度)]×[事故が発生する頻度])
こういう枠組みは、責任の所在を明確にするという目的があります。
ISO26262をきっちりと理解し準拠していれば、「SILが実現できた」と言える 枠組みになっています。もしも製品のSILが実現できていなかった際には、 「どの過程が悪い」とか「どの部品が悪い」とか「どの人が悪い」ということ を明確に突き止めることができる、という枠組みです。
たとえば、「製品のSILを元に、各部品にSILを割り振ることができる」ことが 適切に行えなければ、SILが実現できません。割り振った人が悪かった、とい うことになります。
「それじゃあ、結局は人の能力の良し悪しによって製品の安全性が左右される じゃん!」と思われるでしょうが、そうではありません。
認証という話があります。
認証は製品自体のみに行われるのではなく、「製品の安全性に関わる組織」に 対する認証も含まれます。組織内のマネジメントによって適切な能力のある人 材を育成し、適切な人材を配置する(組織マネジメントの)システムが構築さ れているかを監査し認証します。
ですから、「製品のSILを元に、各部品にSILを割り振ることができる」ことが 適切に行えなければ、「そういう人をその業務に携わらせたのが悪い。組織マ ネジメントのシステムの、不備」と結論付けられます。
認証の話に首を突っ込むと、「メーカーに認証を与える機関」に認証を与える 機関やら、『「メーカーに認証を与える機関」に認証を与える機関』に認証を 与える機関やらといった、何がなんやら分からない話が待っています。またし ても、長ーい説明に突入してしまいます。
Q なぜ「SIL」の分かりやすい本や解説がないんですか
A 製品の安全性に関わる業務をしている人は、忙しすぎるからです。
製品の安全性については、部分的に理解をしている人は多くいますが、それで は全容が語れないのです。全容を理解して語るには、基本原則から実務(具体 的に何をすればいいの?)までを、浅く広く知っていなければ難しい。予備知 識として知っておかなければいけないことが多すぎます。
そして、そういうことをやりたがる人は少ない。いや、仮にやりたがる人が多 かったとしても、多くの人が予備知識を身につけるには、時間がかかりすぎて (コストがかかりすぎて)現実的ではない。「ごく少数の、知っている人だけ が知っていれば良い」という状況になっています。
「分からないことがあれば、そのごく少数の人に尋ねればいいではないか」と。
なので、「具体的に何をすれば良いか?」を尋ねてくる人に回答やアドバイス を与えることだけで忙殺されます。ちょっと詳細に背景や目的まで解説しよう としても、すぐに「もういいや」と言われます。メーカー内でもそんな状況な のに、社会に向けて一般の人に説明しようとすればどうなるか。途中で「ああ、 もういいや。なんやら分からんけども、メーカーでしっかりとやってくれれば いいんだから」と聞くのを諦められるのが必至。
だから、「忙しい」のと「解説を理解してもらうことを諦めている」のが、解 説をしない理由です。
本当に「想定外」なのですか?(2011-03-29の日記)
官房長官が、一番最初に「ミリシーベルト」の単位を発した時の恐怖は今でも覚えていますし、「1時間当り300ミリシーベルト」が出てきた時には、本当に倒れそうになりました。
3000ミリシーベルトで人は死ぬ。
私が、原発正面玄関前(原子炉建屋ではない)に10時間立っているだけで死ぬ。
真っ青になったことを覚えています。
-----
それなのに、今や「1000ミリシーベルト」単位が日常的に語られている。
これは、もの凄く恐しいことだと思います。
私のイメージでは、今回の事故が人類史上の最悪の地震で発生したものでなかったとすれば、
○東京電力の社長以下、重役クラスは10回辞任し、
○内閣は20回倒れて、政権政党もなくなってしまっている、
というくらいの大惨事です。
-----
もうこれ以上の悪くなり事態は考えられないだろう、と思っているところに、
○建屋が水素で爆発し、
○放射能物質の放出を前提とした格納器の蒸気を大気に排出し、
○単なる保管しておいただけの使用済み核燃料が3000度近い熱で溶け出し、
○放射線の暴風圏内に突入するという命と引き換えの放水作業が行われ、
○"1000万倍"という高濃度の汚染水で作業員が被爆する
そして、
○修理したくても強烈な放射線で原子炉建屋に近づけず、その間にも燃料棒が溶解して、さらに放射線量が増えていく。
腹立たしく思っても、暴走中の原子炉をミサイルで破壊でもしようものなら、それこそ日本全土が高濃度放射能物質で汚染されるし、原子炉を運搬しようにも、その間の被爆で間違いなく死者が出る。
-----
私は、これまで、数多くの「原発クライシス」に関する書籍、映画、ドキュメントを見てきましたが、どれもこれも、
『我が国で、現在進行形で起きている事態以上のシナリオはどこにもなかった』
と断言できます。
--------------------
今回の福島原発事故は、想定外の津波に因るものとされています。
でも、少し考えてみたいと思います。
その「想定外」が事実であったとしても、津波は原子炉への直接の
被害は与えていないのです。
津波は、バックアップ用のディーゼル発電機とその周辺機器を無力化しただけです。
-----
では、私が10人くらいのテロリストを募って、3年くらいの破壊工作の訓練を受けて、福島原発に侵入してみたらどうでしょうか。
ダイナマイトで、送電塔を全部倒壊させて、ディーゼル発電機を破壊し、その後、武器で発電所を制圧して、建屋の人間を全部人質として立て籠ったら?
燃料棒溶解なんぞ待たないで、拳銃で職員を脅して、中央制御室から、燃料棒を引き上げさせてそのまま放置しておいたら?
警察の姿が視認できる度に、人質を纏めて数人くらい殺害して、原子力発電所に誰も入れないようにしたら?
勿論、テロリストである私とその同士達は、端から自分の命が助かろうという気持ちは欠片もありません。
-----
放射性核燃料が手がつけられなくなる前に、民間人の犠牲者を前提に、特殊部隊は、私達テロリスト全員をきちんと殲滅してくれるでしょうか。
なんか、別の福島原発事故を「創り出す」ことは、そんなに難しくないように思えます。
-----
残念ながら、この発想、私のオリジナルではなく、「神の火」(高村薫著)の最後のシーンから盗用しています。
この著書の中では、主人公とその友人のたった二人が、冬の夜の原発に襲撃をかけ、原子炉格納容器の蓋を開くというテロに成功します。
しかも、その緻密な計画は、読者からしても全く無理がなく、十分に現実可能な範囲にあると思えました。
このテロを防ぐには、武装した一個分隊を、日本の稼働中の原発の全てに配置しないと駄目だろう、と思えます。
-----
もっと話を簡単にしてみましょうか。
我が国と仲が良いとは言えない隣国が、「瀬戸際外交」を踏み越えて、日本の原子炉全部をミサイル攻撃、または空爆してきたら、どうなるのでしょうか。
血の気の引くような思いをする時間もなく、一瞬で国土と水は放射能で汚染され、(国家の存亡はどうでも良いですが)、国民の大半は生命と引き換えの被曝に晒されるのでしょうね。
知らない人も多いかと思いますが、1981年に、現実にイスラエルがイラクの原子力発電所を空爆しています(バビロン作戦)。
戦争となれば、なんでもありです。
-----
という訳で、私は尋ねたいのです。
今回の福島原発事故は、本当に「想定外」なのですか?