高信頼性システムの考え方

フェールソフト
障害が発生した場合は故障部分を切り離すなど、機能を低下させてでも最低限の処理は継続しようとする考え方。故障部分を切り離して継続的に稼働させることを、縮退運転(フォールバック)と呼ぶ
フェールセーフ
障害による影響の拡大を防ぎ、システムをできるだけ安全な状態に導こうとする考え方。状況によっては処理の停止もやむを得ないとする。
フールプルーフ
誤入力などの人為的ミスが起こりにくいように設計するという考え方。
フォールトアボイダンス
システムを各構成要素の信頼性を上げるなどして、障害の発生を防ぐ
フォールトマスキング
ある部分に障害が発生したとき、補正などを行って外部から障害が解らないように隠蔽しながら(稼働を継続しながら)、同時に自立的な障害修復も行う

かつて勉強したはずだが、朧気にしか覚えていない…

同値類・商集合

集合\mathbf{X}の元x,yの間に、関係\mathbf{R}があるとき

x\sim y

と書く。関係\mthbf{R}が次の3つの条件を満たすとき同値関係という。

  • \forall x\in\mathbf{X},x\sim x(反射)
  • \forall x,y \in\mathbf{X},x\sim y\Rightarrow y\sim x(対称)
  • \forall x,y,z \in\mathbf{X},x\sim y\wedge y\sim z \Rightarrow x\sim z(推移)

また、このときx\sim yxy\simについて同値という(中略)一つの集合を同値類に分けるとは、一定の基準によっていくつかの小集団(部分集合)に分割することに過ぎません。その際の小集団への分割のルールが「同値関係」であり、分割されて得られた一つ一つの小集団が「同値類」です。

\mathbf{X}の同値関係\simによる同値類をそれぞれ一つの元とみなして、これらの元からなる集合を\mathbb{X}\simによる商集合といい\mathbf{X}/\simと書く

これだけは知っておきたい数学ビギナーズマニュアルより

同値関係・同値類・商集合などビギナーの自分にはとても解りやすい一冊。

数学ビギナーズマニュアル 第2版数学ビギナーズマニュアル 第2版
佐藤文広

日本評論社 2014-02-20
売り上げランキング : 272988

Amazonで詳しく見る by G-Tools

問題2(小学生・算数)

Aさんが1人ですると20日かかり、Bさんが1人でする30日かかる仕事があります。AさんとBさん2人でこの仕事を始めましたが、途中でBさんが抜けたため完了まで16日かかってしまいました。Aさんが1人になったのは何日目からですか?

Aさんの一日あたりの仕事量は、1\div 20=\frac{1}{20}。Bさんの一日あたりの仕事量は、1\div 30=\frac{1}{30}。Aさんの16日間の全仕事量は\frac{1}{20}\times 16=\frac{4}{5}。したがってBさんのした仕事量は、1-\frac{4}{5}=\frac{1}{5}となる。この\frac{1}{5}の仕事にかかる日数は、Bさんの一日あたりの仕事量が\frac{1}{30}だから、\frac{1}{5}\div\frac{1}{30}=6となる。つまり、AさんとBさんは2人で6日働き、7日目からはAさん1人で仕事を行った。

小学校6年生の問題。これ初見で解ける子いるのかな?と思う。特に、Bさんが働いた日数を求めるのではなく、「何日目からAさん1人になった?」あたりがいかにも受験問題っぽくてイヤラシイ。でも、いわゆる御三家とか狙う子は解いちゃうんだろうなぁ。うちの子は思考停止でした。

整数分割2

続き、

  • The partition after [1, 1, 3, 3] is [1, 2, 2, 3], for after subtracting 1 from 3, we should pack the three units that result in parcels of size 2.

そのまま訳せば、分割アルゴリズの過程において[1,1,3,3]の次の分割は[1,2,2,3]である。[1,1,3,3]のうち1を除いた最小の数は3であるからm = 3となり、m - 1 で2。とここまでは良い。次が、”we should pack the three units that result in parcels of size 2″なんだけど、「残り3つの要素を最大サイズ2にまとめなければならならない」で良いのだろうか?

The partition after [1, 1, 1, 1, 1, 1, 5] is [3, 4, 4], for after subtracting 1 from 5, we should pack the seven units that result in parcels with maximum size 4, which gives three units and one parcel of size 4, which in turn gives one parcel of size 3 and one of size 4. The partition after [3, 3, 5] is [1, 2, 3, 5]. The partition after [1, 3, 3, 4] is [2, 2, 3, 4].

[1,1,1,1,1,1,5]の次は[3,4,4]。ここでも1以外の最小値 m = 5とし、ここまでは前段の例と同じ。でも次の一文が”we should pack the seven units that result in parcels with maximum size 4,”とある。前段では”we should pack the three units”、が今度は”we should pack the seven units”とあって、前段の例に合わせるのであれば”six units”じゃないかな?あるいは後段合わせるなら最初の例は”four units”になるか…

ヒントは続く一文?”which gives three units and one parcel of size 4, which in turn gives one parcel of size 3 and one of size 4.” 4つある要素”1″の3つとm - 1 の”1″を合わせて4と、残りの3つの”1″を合計して3ってこと?

問題1(小学生・算数)

A子さんは、下のように半分に折った長さADと同じ長さをACにとり、図のようにBCで折り曲げ正三角形\bigtriangleup PABを作ろうとしました。しかしB君は、「それは正三角形にはならないよ」と言いました。そしてB君は、「BCで折っても、はじめに折ってできた折り目の線上に点Pはこないよ。」と言いました。なぜ、B君は「折り目の線上に点Pはこないよ。」と言ったのでしょうか。そのわけを\bigtriangleup CAPに着目して、3つの辺の長さを使って言葉や式を使って書きましょう。

問題

CBで折り返すのであれば、CA=CPであるはずである。したがってPCを中心とした半径ADの円周上になければならない。円周が折り目と接する点はCP\parallel ADとなる場合だけである。したがって、CBで折り返すとき点Pは折り目上にはこない。

problemA1

数学の記号

なんだかんだ言っても読めないと数式を読み込んでいくのはツライ。

記号読み大文字
\alphaアルファ
\betaベータ
\gammaガンマ\Gamma
\varepsilonイプシロン
\zetaゼータ
\etaエータ
\thetaシータ
\iotaイオタ
\kappaカッパ
\lambdaラムダ\Lambda
\muミュー
\nuニュー
\xiクシー\Xi
\piパイ\Pi
\rhoロー
\sigmaシグマ\Sigma
\tauタウ
\upsilonウプシロン\Upsilon
\chiカイ
\phiファイ\Phi
\psiプサイ\Psi
\omegaオメガ\Omega

また、自然数全体を表す\mathbb{N}や整数全体を表す\mathbb{Z}が、\boldsymbol{N}\boldsymbol{Z}の板書(黒板)版だとは知らなかった。確かに講義などでボールド書体は面倒だからなぁ。

鏃型の角度

下図のような鏃型の角度は

鏃型の角度1

★+●+◇になるという風に子供が塾で習ってきた。角度の問題においてこの形は頻出なのでしっかりと何故そうなるかを覚えておく必要がある。まず、補助線を一本引いて

鏃型の角度2

角Aは、三角形の外角の定理より、★+●。さらに補助線をもう一本引いて、

鏃型の角度3

角Bも、外角の定理より A+◇となる。したがって★+●+◇となる。

一応、納得できたようで安心。小学生の問題とは言え、ゼロから考えるのはなかなかに大変。塾ではこういったエッセンスだけを教えているのだろうが、フォローが大変だ。かといって、細かい説明してたら時間がいくらあってもたりないのもまた事実だろう。

序破急

子供の入試に付き合っているのだけど国語の問題で、「序破急」なる単語に生まれて初めて出会う。

本来は雅楽の演奏についての言葉である。雅楽の唐楽などで、曲を構成する三つの部分をいい、ほぼ西洋音楽の楽章に相当する。「序」が無拍子かつ低速度で展開され、太鼓の拍数のみを定めて自由に奏され、「破」から拍子が加わり、「急」で加速が入り一曲三部構成を成す。序破急一組で楽式とも考えることができる。ただし、序破急すべてを備えていない(失われたか、始めから存在しない)曲も多い。
(中略)
現代日本では、物語などにおける四段構成(起承転結)に対する三段構成を指す概念として用いられ、演劇等の“三幕構成”の同義語として使われることがある。また、起承転結とともに小中学校の作文技法として使われる。(https://ja.wikipedia.org/wiki/序破急)

え、ええ!?「起承転結とともに小中学校の作文技法として使われる」って。衝撃の事実。

ゼロのゼロ乗は?

aのゼロ乗は1。

    \begin{eqnarray*} a^{0} &=& a^{3-3} \\ &=& a^{3}\times a^{-3} \\ &=& a\times a\times a\times \frac{1}{a\times a\times a} \\ &=& \frac{a\times a\times a}{a\times a\times a} \\ &=& 1 \end{eqnarray*}

これは納得だけど、a = 0の時は?
途中式に”ゼロ除算”がでてきちゃう。これは未定義で良いのだろう。Hashkellで試すと

ghci>0^0
ghci>1

rubyなら、

irb(main)> 0**0
=> 1
irb(main)>

だった。プログラミング言語ではこれを不定とすると都合が悪いのだろう。それとも、

    \begin{eqnarray*} a^{3} &=& 1\times a\times a\times a \\ a^{2} &=& 1\times a\times a \\ a^{1} &=& 1\times a \\ a^{0} &=& 1 \end{eqnarray*}

を採用するのだろうか?これなら、a=0の時0乗もまた1である。しかし、それだとa^{m}においてm>0の時すべてがゼロである。悩ましい。haskellもrubyもm=0の時は1、m>0の時は0であるから、この方式を採用しているのだろう。