stylesheet

2017年6月30日金曜日

日本国憲法 前文 II

日本国民は、恒久の平和を念願し、人間相互の関係を支配する崇高な理想を深く自覚するのであつて、平和を愛する諸国民の公正と信義に信頼して、われらの安全と生存を保持しようと決意した。われらは、平和を維持し、専制と隷従、圧迫と偏狭を地上から永遠に除去しようと努めてゐる国際社会において、名誉ある地位を占めたいと思ふ。われらは、全世界の国民が、ひとしく恐怖と欠乏から免かれ、平和のうちに生存する権利を有することを確認する。
われらは、いづれの国家も、自国のことのみに専念して他国を無視してはならないのであつて、政治道徳の法則は、普遍的なものであり、この法則に従ふことは、自国の主権を維持し、他国と対等関係に立たうとする各国の責務であると信ずる。
日本国民は、国家の名誉にかけ、全力をあげてこの崇高な理想と目的を達成することを誓ふ。 

短くすると

日本国民は、諸国民の公正と信義に信頼し、われらの安全と生存を保持しよう。全世界の国民が、ひとしく恐怖と欠乏から免かれ、生存する権利を有する。いづれの国家も、他国を無視してはならない、主権を維持し、他国と対等関係に立たう。日本国民は、国家の名誉にかけ、全力をあげてこの崇高な理想と目的を達成する。

要するに

なにごとをやるにも相手の事をきとんと考えてやれ。それは戦争だってそうだ。おまえらのやった戦争はあまりにも自分勝手すぎるんだぞ。それを自覚してくれ。

考えるに

「と決意した」「を占めたいと思ふ」「を確認する」「と信ずる」「を誓ふ」いずれもがあやふやなものである。なんら根拠もない。どう思おうが勝手という類いのものだ。だがこう書くしかなかったのである。もしここに書いてあることが馬鹿らしく思えてきたなら、この憲法も死ぬ。だから、決意してくれ、思ってくれ、確認してみてくれ、信じてくれ、誓ってくれ、と起草者たちは今も訴えているのである。


日本国憲法 前文 I

日本国民は、正当に選挙された国会における代表者を通じて行動し、われらとわれらの子孫のために、諸国民との協和による成果と、わが国全土にわたつて自由のもたらす恵沢を確保し、政府の行為によつて再び戦争の惨禍が起ることのないやうにすることを決意し、ここに主権が国民に存することを宣言し、この憲法を確定する。そもそも国政は、国民の厳粛な信託によるものであつて、その権威は国民に由来し、その権力は国民の代表者がこれを行使し、その福利は国民がこれを享受する。これは人類普遍の原理であり、この憲法は、かかる原理に基くものである。われらは、これに反する一切の憲法、法令及び詔勅を排除する。

短くすると

日本国民は、政府によつて戦争が起ることのないやうに決意、主権国民を宣言する。国政は国民の信託、権威は国民に由来、権力は国民代表者が行使、福利は国民が享受。これ人類普遍の原理、これに反する一切の憲法、法令詔勅を排除する。

要するに

さきの戦争は大変だっただろ、こうなったのも民主主義が機能していなかったせいだ。軍部の独走を政府が止められなかったせいだ。これは民主主義の機能不全である (と我々は見ている)。国民が悪かったとは一概に言えない。だからこれからはまっとうな民主主義でやってけ。その方法をこれから記載する。 

考えるに

日本国憲法は女性的な憲法であると思う。この憲法は「日本国民」から始まるが、日本国民が書いた感じはしない。どちらかと言えば、子供に言い聞かせる母親の趣である。

だが制定された当時の状況を鑑みれば致し方ない。新しくアメリカの民主主義を日本国民に広く知らしめようとする時に、憲法ほど相応しい媒体はなかった。どんな教育や宣伝よりも憲法が相応しかった。憲法は宣言されたものであるが、日本国民にとっては、これから学んでゆくという意味合いが含まれている。

「人類普遍の原理」とは大仰ではあるし、その原理が否定されたらこの憲法の根幹は揺らがざるをえない。正直に言えばこれはアメリカの原理であろう。だがこれは不変ではなく「普遍」であると言う。民主主義は最低だが、他はもっと最低である。これ以外の選択肢がない、ここから外に行く方法もない。そういう点に我々はいる。

そこをわざわざ子供に言い含めるような言葉で「普遍」と説く所に、どこまで強く言った方が分かってくれるのだろうか、他の言い方では誤解されないだろうか、と憲法起草者たちが思い悩んでいた様が見てとれる。

「国民の厳粛な信託」は社会契約の考え方であろう。ジョンロックかルソーの社会契約かで国民に対する制限も変わるのであるが、いずれにしろ契約の大前提にある考えは、契約である以上、そこには条件がある、もしそれを破れば契約を破棄できる。その破棄してよい条件が憲法である。

結びにある「これに反する一切の憲法、法令及び詔勅を排除する。」は力強い。憲法でさえ排除するとは、そういう改正は認めないと言っている。この言葉を入れた時、いつか誰かがこの憲法を骨抜きにするだろう、という事態を想定していた事が分かる。

これはドイツのワイマール憲法がナチスによって死文化された歴史と無縁ではない。全権委任法とその前に成立した幾つかの法案によって憲法が死文化するという歴史がありそれがあの戦争を可能にした。それを食い止める確実な方法はこの世界に存在しない。だから起草者たちは「憲法」を含めて「排除する」と記載したのであろう。

その時に、この一文がそれに反する人々を擁護しようと言うのである。この一文は未来に向けて打ち込まれた楔である。

日本国憲法 上諭

は、日本國民の總意に基いて、新日本建設の礎が、定まるに至つたことを、深くよろこび、樞密顧問の諮詢及び帝國憲法第七十三條による帝國議會の議決を經た帝國憲法の改正を裁可し、ここにこれを公布せしめる。
御名 御璽
昭和二十一年十一月三日

要するに

新しい憲法は名前ごとまるまる変わっちゃうんだけど、帝国憲法の手続きにより採用された帝国憲法の正式な改正である。後からこんなの無効だのなんだの文句をいうなよ。

日本国憲法 はじめに


日本国憲法は昭和二十一年十一月三日に公布された。
日本国憲法

日本国憲法は非常に良くできていて、その条文を文字通りに理解するだけでは足りない。その背景に誰のどういう思想があるかを知る必要がある。それは義務教育で教えておくべきものだ。

戦後の 70 年間、憲法全文は教えられずに来た。その点ではこれ迄の世代に憲法を改正する権利はない。能力がそもそもない。まず今の子供たちに憲法を教え更にその子供たちに改正を託すべきである。

日本国憲法はとても良くできた思想の集合体であり、条文のそれぞれに起草者たちが託したアルゴリズムを内包している。本憲法を制定した目的は、ひとつには日本国民に向けて憲法とはこういうものだ、民主主義とはこういうものだと啓蒙・教育する意図があった。その次に、こうすれば同じ過ちは繰り返さないはずだという彼らの信条があった。

憲法は全文でひとつのプログラムである。憲法の条文がそれぞれの機能を実装したソースコードにあたる。日本国憲法というソースコードを読めばそれを作った人たちの顔が思い浮かべられる。さらにその背景にあるルソーだのジョン・ロックだのの思想家や独立宣言を起草した人々の顔までもが見えるように作ってある。もちろんバグだってある。これはプログラムだから。

日本国憲法と比べると、帝国憲法は伊藤博文の手作り感があっていいんだけど、プログラムとしては個々の関数はもちろん悪くないんだけど、全体は見えてなかっただろ、おまえ、って感じがある。実装力は凄いんだけど、構想力に不足を感じる。もちろん、最初に作ったものとしてはこれは天才のみに成しえる御業であって、とても良く出来ている。

だから、悪いのは帝国憲法であるとか伊藤博文であるとかよりも、それがまったく改定されなかったことだと思う。プロトタイプにどんな完全を求めていたんだ、という話だ。それを改修できなかった後に続いた者たちの責任が大きい。イデオロギーも社会構造も経済体制も科学技術も大転換する20世紀の初頭に憲法になんら改定が要求されないなど、憲法論がそもそも分かっていなかったと言わざるを得ない。それを語るのに憲法とは何かなど分かっている必要さえない。

我々は先人のその轍を踏まないようにしなければならない。改悪でも取り換えでもなく、憲法を正しく改正するとはどういう事かを知っておく必要がある。

もちろんこれからの話に特に必要な専門知識など不要だし、新しい概念も必要ない。ただ過去から未来に繋がる連綿とした流れの中にいる、という事だけを知っていればよろしい。過去はまだ流れ去っていないし、未来はまだ来ていないものではない。

2017年6月17日土曜日

針の長さが同じ時計問題

問題

長針と短針が同じ長さの時計がある。この時計で 0:00 から 12:00 までの間に、時間を決められないのは何回あるか?
  1. 外の明るさを知ることは出来ない(あなたは閉じ込められている)。
  2. 1分前の時間を覚えておくことは出来ない(あなたは記憶障害)。
  3. 第三者から時間を教えてもらうことは出来ない(あなたはひとりぼっち)。

時計

Hour:
Minutes:
Seconds:




時計1

短針と長針が同じ長さの次のような時計がある。
  1. 長針は一時間に360度を動く。
  2. 短針は一時間に360/12度を動く。
  3. 短針は毎時、長針は毎分に角度を変える。

考え方

このような時計の場合、文字盤を指していない針は長針に決まっている。よって時間の区別が付かなくなるのは、長針と短針が両方とも文字盤を指している場合である。

1時間の間に長針が文字盤を指す回数は12回。一時間に12回なので、12時間ならば12×12=144回ある。

そのうち、長針と短針が同じ文字盤を指す場合、つまり完全に重なる場合、例えば2時10分、3時15分などは12回ある。この場合は、時間は分かるので144回-12回=132回が答えとなる。

この時計の針が作る角度は次の式で求まる。
長針360/3600*Minutes(0~59)
短針30*Hour(0~11)

時計2

さて、次に短針と長針が同じ長さの次のような時計がある。
  1. 長針は一時間に360度を動く。
  2. 短針は一時間に360/12度を動く。
  3. 短針は毎分、長針は毎秒に角度を変える。

考え方

このような時計の場合、時計で時間の見分けがつかないのはどういう状況だろうか。

長針と短針が進む角度。
時間時°分°
360/12=30360
30/60=0.5360/60=6
0.5/60=0.0083336/60=0.1

3:26:40 の針の角度。
角度
長針360/3600*(26*60+40)160°
短針30*3 + 30/60*26103°



時計の針は、必ずどちらかが短針である。更に時計の針は多くない。だから、取り合えず任意の針を短針と仮定する。その針の角度から時間を求め、もう片方を長針と仮定して時間を求める。

この時、短針の角度には、"時"だけでなく、"分"の情報も含まれている事が大切である。時計2では短針だけで"時分"が分かるのである。よって本当は長針に存在価値などない。時間を示すだけなら短針だけで十分だからである。

それなのに、なぜ長針が必要かと言えば、人間の視覚がとろいからである。短針の角度だけでは"分"がよく分からない。だから長針でも分を示すことにした。だから短針にも長針にも"分"の情報が含まれているのである。

針が一本だけならそれは短針である。二本あるからどちらが短針かを見極めないといけなくなった。普通はそれを長さや太さや色で示す。一般的に棒状のものはそうやって見分けるのである。

そこで、ふたつの針(秒針は含まない)が異なる"分"を指しているならば、話は簡単である。長針と短針を間違えている。入れ替えて計算してみれば、"分"は一致するであろう(例えば長針だけが止まっているような壊れた時計の場合はその限りではない)。

ふたつの針で"分"の正しさ(本当の分を指している)の組み合わせにはどれだけのパターンがあるだろうか。
  1. 針1の分と針2の分が正しい分を指している場合
  2. 針1の分が正しく針2の分が正しくない場合
  3. 針1の分が正しくなく針2の分が正しい場合
  4. 針1の分と針2の分がどちらも正しくない場合
Matrixにすると
針1針2
分が一致する
×長針と短針を間違えている
×長針と短針を間違えている
××壊れている時計

短針だけで"分"が求まるという事は、その時にもう片方の針も同じ"分"を示しているかを確かめてみれば分かる。もし同じ"分"でないなら、その針を今度は短針にして同じ計算をすれば一致する。この場合は、時間がただひとつに決まる場合である。

よってふたつの針が同じ"分"を示しているのに、針を入れ替えても同じ"分"(先ほど求めた分と同じ数値ではない)になる場合がある、というのがこの問題である。世の中にはこれをオイラーの等式(e+1=0)を使って(角度はπを使って表現できる)カッコよく求めている人もいるが、ここはプログラムを使って総当たりで見つけてしまえという話。

x時y分z秒の角度は以下の式で求める。この求めたそれぞれの針の角度から時分秒を逆算して比較する。
長針360/3600*(Minutes*60+Seconds)
短針30*Hour + 30/60*Minutes
function calcCount (hmax) {
 var t = 0;
 var c = 0;
 var text = "";
 for(var h=0; h<hmax; ++h) {
  for(var m=0; m<60; ++m) {
   for(var s=0; s<60; ++s) {
    //h:m:sの角度を算出する。
    var ha = 30*h + 30/60*m;
    var ma = 360/3600*(m*60+s);
    //求めた角度に対して短針として時分を求める。
    var ha1h = (ha / 30)|0;
    var ha1m = (ha % 30) / 0.5;
    var ma1h = (ma / 30)|0;
    var ma1m = (ma % 30) / 0.5;
    //求めた角度に対して長針として分秒を求める。
    var ha2m = (ha / 6)|0;
    var ha2s = (ha % 6) * 10;
    var ma2m = (ma / 6)|0;
    var ma2s = (ma % 6) * 10;
    //どちらで計算しても時刻として矛盾しないならば、見分けが付かない。
    if( ha1m == ma2m ) if( ma1m == ha2m ) if( ha1h != ma1h ) {
      c += 1;
      text += "("+(h+":"+m+":"+s+") ("+ma1h+":"+ma1m+":"+ma2s+") - angle("+ha+", "+ma+")<br/>");
    }
    t += 1;
   }
  }
 }
 return [c,t,text];
}

結果





2017年6月4日日曜日

艦隊戦論 - とある新造戦艦の要求分析

概論


地球防衛軍装備庁は、次期戦闘艦(以下X艦と略す)の要求仕様を決定するために以下の戦闘分析を記す。本報告書にはX艦に求められる諸元と運用方法を記載する。本書で述べる内容は、地球防衛艦隊と地球外生命体侵略戦闘群(G)との衝突から得られた知見に基づく。

本書の構成は、まず従来型の艦隊運用思想を詳らかにし、その戦闘限界をまとめた後に、それを打開する戦術的革新について言及する。

従来型の砲塔配置


邦軍最大の戦闘艦は、三連砲を4基搭載したM式戦闘艦である。搭載している主力砲の仕様specificationは以下の通り。幾つかの資料では上部前方砲は前方構造物の関係から水平発射は不可との指摘があるが、それは資料上の錯覚で、実際には射撃の妨害にはなっていない。

主力兵装。
  • 三連装砲
  • 左右角十分(-170〜170度)
  • 仰角少なし(-8〜8度)
  • 口径巨大(2m以上)

配置構成。
  1. 上部前方(前面向)
  2. 上部中央(艦橋下前面向)
  3. 下部中央前面向(前面向)
  4. 下部後方(後面向)

本艦の主砲には当時の技術で最大の破壊力を得るため開発された巨大臼砲を採用した。この巨大臼砲は、砲身の真後ろにエネルギージェネレータを設置しており射出口と直結されている。開発当時の技術力では発生したエネルギーを曲げる技術がなかったためこの砲塔には仰角を設ける事が出来なかった。これが当時建造された艦船の最大の特徴であるが、これが艦隊運用に与えた制約は強いものであった。

本艦の主な射撃範囲は前面に集中している。臼砲は回転可能であり、左右にも攻撃可能である。

上面から見た射撃範囲。


側面からの射角範囲。


その戦闘モデル


この射撃範囲が示すように、本艦の攻撃面は同一平面上に限定される。そのため、戦闘対象に対して同一平面上に艦隊を配置せねばならず、敵艦隊を常にその平面に収めるように艦隊を運用しなければならない。

敵の航行する面に対して攻撃面が交差するように航行しなければならず、これは自由な三次元空間(つよい重力の影響を受けない)空間では強い制限となる。平面がずれると会敵しても有効な打撃を与えられないからである。

この戦闘モデルでは最初の戦闘は前面に開かれる。次第に敵艦隊に接近し砲撃を集中する。攻撃時間を長く稼ぐため、十分に接近したら敵艦隊と並行状態に移行し、併進戦、またはすれ違い戦を行う。これは回転砲塔であるから可能になるのであって、固定砲台を採用した突撃艦の場合はまた異なった戦闘モデルを採用する。

宇宙空間では、敵の侵入経路は全方面で想定しなければならない。高精度で観測可能な光学観測機器と強固な情報処理能力によって、遠方に位置する敵艦隊を補足する事はそう難しい事ではない。アステロイドベルトや巨大惑星の近くなどを除けば、敵艦をロストする可能性は小さい。

互いに遠方から識別できるので、艦隊戦を行う場合は、敵の侵入経路の頭を押さえるしかない。この点では侵入側が有利であるが、防衛側は防御する空間を限定する事で、敵の侵入経路を予測することができる。

レーザー砲塔は光速なので命中するまで検知できない。これは敵味方に変わらない条件であるから、より強力で長距離射撃が可能な砲塔が重要となる。宇宙空間で戦艦が主力となるのはこれが理由である。ミサイルは足の遅さから百km以内の超近接戦闘で使用される。

レーザー砲は数秒で100万kmを到達するのでその命中率は高い。敵の装甲に命中するとレーザー光線は熱に変換され装甲を溶融、蒸発させる。どの程度のエネルギーで装甲を貫通するかは主に装甲板の材質によるが、これは命中した時の発光スペクトルを分光分析することで解析する。装甲が十分に強化な場合は、命中したエネルギーはその装甲で発光するだけだが、その時も様々な情報を収集する。

いずれにしろレーザー砲に対しては回避運動は効果が薄い。そこで3階層の防御方法が開発されている。一つ目は装甲である。レーザー反射材、高熱耐性によって直撃したエネルギーに対抗する。

二つ目は装甲付近に超電磁気力を施し直撃する前にレーザーエネルギーを錯乱させるものである。これは光の波を打ち消すよう計算されておりレーザー光を減衰する。

三つ目は、艦船の周囲にレーザーの錯乱物質を放出するものである。放出するのは錯乱物質を含んだ水蒸気である。戦闘態勢に入った艦船は船体からこの特殊なスチームを放出する。艦の周囲を煙がたなびき蒸気機関の様相を帯びる。

艦船は、航空機と同じ三つの運動をする。
  1. ピッチング(pitching):前後軸を上下に振る/左右軸の回転(Vertigal Moving)
  2. ヨーイング(yawing):前後軸を左右に振る/上下軸の回転(Horizontal Moving)
  3. ローリング(rolling):前後軸を回転する(Rotation Moving)

主砲に仰角がないため、対象を射撃軸に収めるため以下の個別運動を実施する。
  • 前方への射撃:ピッチングによって射撃軸を変更する。
  • 側面への射撃:ローリングによって射撃軸を変更する。

G艦隊との会敵は地球人類に新しい技術的知見を齎した。地球で開発したエンジンは光速の 5% が限界であり、かつ、相対性理論による時間の遅れの影響を避ける事が出来なかった。G艦隊から鹵獲した艦船のエンジンをコピーしたものを搭載したF型研究船で人類は初めて光速の10%を超える事ができた。

この新技術は相対性時間の遅れを克服し、地球と同一時間内での亜光速を初めて実現したのである。しかし我々と戦闘するG艦隊には光速を超えられる艦船はなかった。それは亜くまで惑星系戦闘艦であって、恒星間、または銀河団航行が可能な艦船ではなかった。そのため、それらの鹵獲したエンジンを使用しても人類は光速を超える事は出来なかった。

従来型の欠点


前方に敵を捕捉する従来戦は常に敵が進行方向に居なければならない。距離を詰め、最終的には同航戦または反航戦を行う。この時が最大の火力を投入できるので、敵に与える被害も最大であるが、こちらの被害もここで最大になる。

そのため、この戦闘は多くても3回までしか行えない。従来艦はこのような運用を前提として設計されている。

この戦闘形式は、攻撃面に対して常に垂直に艦隊運動をしなければならず、艦隊運動の困難さのため、敵を失期する場合も多い。敵運動の左右を読み違えば簡単に逃亡を許す。

X艦の砲塔配置


その頃に入手した新しい技術により、我々は自分たちの艦船を抜本から設計しなす事になった。我々はここで初めて超光速、銀河間航行を可能とする艦船を建造したのである。X艦はその経験を踏まえて設計しなおす第二世代の艦船である。

主力兵装。
  • 三連装砲
  • 左右角十分(-125〜125度)
  • 仰角十分(-5〜84度)
  • 口径十分(50cm)

配置構成:
  1. 上部前方(前面向)
  2. 上部前方(前面向)
  3. 上部後方(後面向)
  4. 下部後方(後面向)

X艦は主兵装の全てを上部に集中させた。これは従来の艦隊戦思想からの大胆な転換である。

本艦に搭載するエンジンは従来の数百倍のエネルギーを発生する。そのエネルギーを主砲に援用する事で、射程距離の伸長、貫通力の増大、砲塔の小型化を実現した。特に大きな仰角、俯角が射撃範囲に与えた影響は大きい。

上面から見た射撃範囲。


側面からの射角範囲。


新戦闘モデル


仰角の大きさにより、X艦は攻撃面を天球で捉える事ができるようになった。砲塔を上甲板に集中し、上天球を攻撃面とする。この時、下天球を攻撃面としては考慮しない。単艦で全方面を一斉に攻撃する能力は要求項目ではない。

仮に、上部に二基、下部に二基の砲塔を搭載すれば、全球面を一度に攻撃する事は可能である。しかし、これを逆に考えれば火力の半分しか上天球に投射できないと言う事である。敵にとってはどちらかの球面に集結する方が有利という状況である。

単艦で全球面を射撃する場合は、ローリングしながら射撃すれば良い。全天球に敵が配置されているなら、複数艦を腹合わせに展開すれば宜しい。

従来は敵艦隊の展開面を平面として捉えていたが、X艦は球面として捉える。平面から球面への転換が齎す戦術的多彩さ可能性は従来の非ではない。平面をひとつしか攻撃面として設置できない従来艦と比べて、球面全体を戦闘面に設定できるX艦の優位性は相当に高いものである。

二次元から三次元空間へのドクトリン置換は、艦隊の編成にも大きな影響を与える。従来の艦艇は新しいドクトリンの中では配置する場所がない。従来の主力艦は補助艦隊として運用するか独立した別の任務に就航する事になるであろう。

新しい艦隊戦


近接するふたつの艦隊は、互いの侵入経路をお互いの上半球に収納するように運動する。敵艦隊の侵入面に対して、下に潜航するように経路する。艦隊は攻撃面を最大にするため升字型に配置する。

X艦隊では敵に接近するとか、突撃し、すれ違い戦に遷移する事は想定されない。接近する敵から防御する事はX艦の役割ではない。近接した敵艦からX艦を防御するのは補助艦艇が担う任である。

X艦の砲塔は十分な回転と仰角を持つので、常に上位球面に攻撃面を加える事が可能である。これは攻撃の継続性が高く、敵がその面を突破して侵入するのも困難である事を意味する。こちらの火力が十分である間、敵に許されるのは後方への撤退だけである。