2016/02/01

4色定理とコンピュータ


5. 4色定理とコンピュータ 

4色定理とは平面上に地図が書かれていてその国に色を塗るとき, どんな地図でも4色あれば足りるという定理である(一つの国は飛び地を持たないとする). これを証明するのにコンピュータが用いらた。この事について数学者(+世間の人たち?)の間で, 「コンピュータを用いたを証明と呼べるのか」という議論がなされたという事は聞いたことがあるかもしれない. 

コンピュータが用いられたといっても, 決してありとあらゆる地図に対する塗りわけをコンピュータにやらせた, というものではない. 地図の種類は無限にあるので, そんなことは不可能である. そして, 意味のある数学の定理は事実上全てが, 無限の対象に対する言明(全ての自然数は..., 全ての実数は...)だから, コンピュータによって「難しい」定理の証明の 「本質的な部分」がなされる可能性は今も昔も少ない. 

4色定理の場合まず, 何通りかの「部分地図」の形が定義され,
  1. どのような地図も必ずそれらのうちのどれかを一部に含む
  2. 一方, それらのどれも, 4色で塗り分けられない最小の地図(最小反例)には含まれ得ない,
という事が証明された. 4色定理が成り立たないとしたらその中で国の数が最小の例がある はずだが, 上の2つの事実により, そのような例は存在しないことになり, 定理の証明が完成する. 

上で何通りかの「部分地図」と述べたその部分地図の数が, 最初の証明(AppelとHaken)では1476種類あり, 前者の証明やプログラムも複雑であったため, その正しさに疑問がつけられたという. 後にThomasらによってより単純なプログラムによる証明が得られ, その際の「分類」の数は633種類だった. 

参考リンク:

私自身はコンピュータをやっている人間として, このような証明がなされたことに興味を覚えるし, 今後別の, もっと多くの数学者の関心を引いている問題で, 似たようなことが起きても不思議はないと思う。むしろそれが数学の進歩に役に立つのであれば喜ばしいと思う. そもそも命題自身の真偽がわかっていない状態では手段など選ばず, 「後はこれら有限個の場合をコンピュータでチェックするだけ」というところに持ち込んだら, コンピュータを利用するのは自然なことだ. そして4色問題を「有限個の場合のチェックを行えば良い」ところまで持ち込んだのは紛れもなく人間だ。今後別の問題の場合でもおそらくなるするだろう. 
これに対し, 「これを数学の証明と呼べるのか」という批判が起きるのもまた分からないこともない. 要するに証明は「白黒つける」だけが目的ではなく「分かる」事が目的であり, 要するに何を持って「分かった」とするかという問題だ. コンピュータの手続きがYESと答えたからと言って, それを見た人にとって「分かった」という満足が得られないではないかという感覚は理解できる. しかし, チェックのためのプログラムが十分理解可能で信頼に足るものであれば, 「わかった」と言えるのではないか. そもそも人が書いた証明であればそれが1000ページを越えており, 自分ではとても検証できなくても良しとするというのも不思議な話だ. 要するにプログラムを使うと「分かった」とは言えず, 使わなければ「分かった」というような 2者択一ではないということだ. 

そもそも同じ問題に何通りも証明があるのが普通であり, その問題が重要ならば, たとえ先にコンピュータを用いた証明がなされたとしても, より簡潔な, うまくするとコンピュータに頼らずに正しさが確認できるような別証が出てくるのが普通だろう. それは他の問題でも, 最初に長く複雑な証明が提出された後, より本質をついた, 整理された証明が出てくるのと同じ事だ. たまたま最初になされた証明がコンピュータを使った「人」によってなされたというに過ぎない. それを認めずに「コンピュータに先を越された」とか, 「コンピュータに人間が負けた」という類の感情論はナンセンスだ. そのような人にはぜひ以下の事実を思い起こしてもらいたい. コンピュータによる計算の原理も, その物理的な実現方法も, プログラムによる計算の表現方法も, 元はと言えばすべて人間が考えたものだ.

出典Motivation to learn computer  (一部変更)


 

機械学習(例からの関数近似または補間)


4. 機械学習(例からの関数近似または補間)

機械学習とは文字通り, 「機械による学習」=「学習する機械」の事であり, 擬人化して言えば使っているうちに勝手に頭がよくなる(正解を出し易くなる) コンピュータプログラムの事である. 人間も, ある日足し算の仕方を習うと 足し算が出きるようになり, 廊下を走って転べば廊下を走らなくなる. 元々できなかった事が出きるようになる事を学習というのだから, コンピュータにこれをやらせることができれば実に色々な事ができそうである.
後からがっかりされぬようもう少し現実的な話をしておくと, 典型的な応用としては手書き文字認識などがある. 例えば郵便番号の自動読み取りなどは実用的で, 色々な形で書かれた各数字 $0, 1, 2, \ldots , 9\,$ を, コンピュータに正解ともに覚えさせておく. 実際に与えられる形はそれらと正確に同じものではないが, コンピュータがそれらしいものを正解として出す.

f(File:One1.png) = '1', f(File:One2.png) = '1', 
f(File:One3.png) = '1', f(File:One4.png) = '1', 

f(File:Two1.png) = '2', f(File:Two2.png) = '2', 
f(File:Two3.png) = '2', f(File:Two4.png) = '2', 
画像に写っている物体を当てるという, 物体認識の問題でも, あらかじめこの画像は花です, この画像は象です, などとコンピュータに入力しておくと, これまで見たどの画像とも 同一ではない画像に対して, 花だ, 象だと, 答えるようになる.
少し問題を抽象化して考えると, 要するにここでやらせたいことは, ある「関数」の値を, いくつかの与えられた入力と出力の「例」から求める(推測する) 事であると考えられる. 文字認識の例では, 入力が画像であり, 出力が $0, 1, \ldots , 9\,$ のどれかの数字(記号)である. ありとあらゆる画像が「例」として与えられていれば問題はそももそ存在しないが, それは現実的ではない. 例えば1画素が白か黒かの2値であるとし, 画像が16画素x16画素という控えめな大きさであっても, 可能な画像は $2^{256}\approx 6\cdot 10^{26}$ 通りある. したがって, 例として与えられていない入力に対する出力を, いわば「補間」することが問題である. 統計学で, 「回帰」(観測データによく合う関数の形を求める問題)というのを習うと思うが, 目標はそれと同じと言ってよい. 求める関数として一次関数を仮定して, もっともよく合う一次関数がいわゆる回帰直線であり, それを求める手法として最小2乗法がある. 機械学習はそれをもっと複雑な関数に対して行う様々な方法を研究する分野である.
このための手段は非常に色々な方法が研究されていて, 私も専門家ではないのであまり知った顔で書く事はできないが, 例えば, 入力 $x\,$ に対し, $x\,$ に一番近い「例」を見つけてその出力を, $x\,$ に対する出力とする方法, 各文字に対して, 特定パターン画像が発生する「確率」を定義して, その確率がもっとも高いものを選ぶ方法, などがある.
一旦この様に抽象的に問題が(つまり, 入出力例からの関数を補間する問題として) 定式化されると, これらの方式が非常に広い範囲の問題に応用可能だということが分かるだろう. 例えば, 実用的によく用いられているのは, 迷惑メールの分類である. 事前に多くの迷惑メールと, そうでないメールのサンプルを入手しておき, 例として入力しておく. コンピュータは, 中に書かれている文章を人間並に理解して行っているのではなく (これはやりたくてもできない), 多くの場合は, メール全体を単なる単語の集まりとして見ている(この他にメールの差し出し人や, 送信したマシンのアドレスなども情報に含める). 後は未知のメールに対する答えを 「補完」する. 使える方法は, 原理的には手書き文字認識の場合と共通である.
機械学習はその原理から, 人間が「なぜか」できてしまうような処理を, 計算機に真似させる場面でしばしば力を発揮する. 「なぜか」できてしまう処理だから, そもそもコンピュータに正解を計算させる手順もよく分からない, あるいはそもそも正解を厳密に定義しようと思っても, 最後は曖昧な部分が残っていて, 人間にすらそれができないという場合もある. 手書き文字認識も, 画像認識も, 迷惑メールも全てそのような問題である.
私は, 機械学習という, 一見すると非常に高級に見える処理が, 少し冷静に分析すると, 関数の補間という問題に定式化され, そのおかげで非常に広範囲の応用があり, 特定の応用ごとに似て非なる方法を発明しなくてよく, それが「計算機に知能(に似たもの)を持たせる」というゴールに向けた一方であることに 感銘を受けるのですが, どうでしょうか.


出典Motivation to learn computer
 

乱数(試行)を用いた計算やシミュレーション

3. 乱数(試行)を用いた計算やシミュレーション


手計算で求めるのは割と厄介なのに,コンピュータにとっては非常に簡単になってしまう問題に,色々な確率の問題がある.例えば打率3割の打者が年間500回打席に立つとして,打席連続ヒットが出ない事が15回以上ある,というのは,どのくらいの確率で起きるのか?
コンピュータにこれを計算させるのは非常に簡単で,要は「実際に0.3の確率で「当たり」となるようなクジを500回引く」 ということを何度も繰り返し,「15打席連続ハズレが1回以上ある」回数を数えれば良い. 100000回繰り返して,31234回そのような事があったら,確率はおよそ0.31くらいと言うことだろう(試しに今やってみると0.51と出た.3割打者もシーズン中15連続無安打と言うことはざらにあるということ).
微分方程式の例と同じく,これは「試行」をコンピュータで行うことさえできれば,およそどんな確率でも計算できるし,期待値なども計算できる.例えば様々な要素で株の値段が上下する時に,自分の持っている株全体の値打ち(明日の株価の期待値)はいくらか,などという計算も簡単にできる.
これを用いて,元々は確率の計算ではなかったものを,乱数(試行)を用いて求める計算方法が存在する.例えば3次元空間内で,
\[x^2 + y^2 + z^2 \leq 1, x + y + z \geq \] で表される領域の体積を求めるという問題を考える(手計算でも求められるが,ここで例題として使う).方法は驚くほど単純で,

       1. 点 $(x, y, z)\,$ をランダムに生成する. ただし,
               $0 \leq x \leq 1$, $0 \leq y \leq 1$, $0 \leq z \leq 1$
           とする.
       2. $x^2 + y^2 + z^2 \leq 1$, $x + y + z \geq 1$ を満たしているかを検査
       3. 1と2を多数回繰り返し, 満たした回数の割合を答えとする.

というものである. 要するに,単位立方体の中に点をたくさん投げ込んで,考えている領域の中に入ったら当たり,入らなかったらハズレとして,当たりの確率を計算していることになる.
詳細は省略するが,この方法の発展として,実際に起きやすい点を重点的に生成するという方法(重み付きサンプリング)が存在する.つまり,上記では単位立方体の中に点を一様に生成したが,そうではなく例えば原点の近くによりたくさんの点が生成されるようにしたりすることが可能である.
この方法を用いると,コンピュータを用いて様々な問題の「解」を効率的に探索する事ができるようになる.例えばある関数 $f(x,y, z)\,$ を最大にする $(x,y, z)\,$ を求めたいが,その答えは解析的には求まらないとする.コンピュータを用いてこれを(運が良ければ)求める安直な方法は,色々な $(x,y, z)\,$ をひたすら生成し,その最大値をとるというものである(もちろん必ず正解が求まるという保証はないが).そうする代わりに, $f(x, y, z)\,$ の値が大きい点の付近だけを「重点的に」生成すると言う方法がある.

出典Motivation to learn computer

2016/01/31

数学を生き生きと理解するためのプログラミング


2. 数学を生き生きと理解するためのプログラミング 

コンピュータによる微分方程式のシミュレーションは強力で, その原理は簡単だが, 実際には数々難しい点がある. まず, 上でも書いたとおり数値シミュレーションで求めているのはあくまで近似解である. その近似解がどの程度現実に近いかは(厳密解をシミュレーションで求められない以上), 数学を用いて評価するしかない. それをしないままシミュレーションをすると, 現実と, 定性的にも全くかけ離れた結果(現実の解は発散しないのに, シミュレーションでは発散してしまうなど)を出し, 間違った結論を出してしまうこともあり得る. どのようにしたら, 誤差は許容しつつ, かつ「定性的に望ましい」解が得られるかというのは, 闇雲に分かるものではない. 

また, シミュレーションで現象をモデル化する場合でも, 現実をダイレクトにモデル化することは不可能な場合がほとんどである. 例えば銀河系をシミュレートするのに星一つ一つを質点とみなして計算したのでは, 銀河系一つで数十億個の質点間の引力を計算することになり, とてもできるものではない. このようなとき, どのように現実を近似してもよいか, あるいは支配方程式をどのように書き換えて, より効率的に解を得るかという考察のために数学が重要な役割を果たす. 

これを, コンピュータシミュレーションを学ぶためには数学も学ばなくては「いけない」 (事実その通りではあるのだが)と見ずに, むしろ数学を学ぶご利益を, コンピュータが非常にわかりやすく見せてくれると思うと良いのではないだろうか.
例えばこれから線形代数で, ガウスの消去法に始まり, 行列のランク, 固有値・固有ベクトル, 行列のJordan標準型, という一連のストーリーを学んでいくことだろう. 例えばJordan標準型のその導出は高校の時の「行列の対角化」と似ているが, それよりはるかに厳密で難しく, 結果も複雑である. 難しさの原因は高校の時と違って具体的に与えられた行列に対して大体計算が出きればよい, と言うだけでなく, 「全ての行列が」どのような標準型を持つのかを余すことなく, 完璧に論じようとするからである. そもそも大きな行列を何に使うか分からない状態で, これらをしっかり学ぶ気力を持続するのは中々大変である. 

コンピュータによって行列の固有値や固有ベクトルを求めるのに, 非常に簡単な方法があるのだが, その方法が「うまく行く」事をきちんと確認(証明)しようと思うと, 行列の標準型に関する理解が役に立つ. ここではその詳細が重要なのではなく, 大学で習うような「厳密な」数学が, あるプログラムが「全ての入力に対して」動作することをしっかり議論するのに本質的な役割を 果たすということである.

参考リンク
線形代数の本はいわゆる教科書以外に, 実践重視,イメージ重視など説明に工夫を凝らしたものがいくつもあるので探してみると良い.

出典Motivation to learn computer

微分方程式のシュミレーション

今日から数回に渡り,田浦健次朗氏がお書きになったWikimediaの5つの記事を紹介したいと思います。動機はそこに書かれている数式が氏の思惑どおりに表示されないことでした。原文そのままに転載いしたします。

  • 微分方程式のシュミレーション
  • 数学を生き生きと理解するためのプログラミング
  • 乱数(試行)を用いた計算やシミュレーション
  • 機械学習(例からの関数近似または補間)
  • 4色定理とコンピュータ

1. 微分方程式のシュミレーション

物理や化学,様々な工学の分野の問題は微分方程式(wikipedia)を解く事に帰着される.その理由は,自然の様々な現象の根本的な法則が微分方程式を用いて記述される事に起因する.たとえば高校の物理では,ニュートンの運動方程式
\[m a = F\,\]
を習うが,これは質点の動きを支配する方程式である(剛体や流体も質点の集まりとしてその支配方程式が導かれる).ここで$ a\,$は加速度,つまり質点の位置を時間で2階微分したもの. $F\,$は一般に質点の位置や速度(つまり位置を時間で一階微分したもの)の関数として書けるため上記は質点の位置時間の関数)を未知の関数とした方程式, つまり微分方程式になる.
バネにつながれたおもりが単振動をするのも, 太陽のまわりをまわる惑星が楕円軌道を描くのも, すべてここから導かれる.前者の微分方程式は,
\[m \ddot{x} = - k x\]
後者は,
\[m \ddot{x} = - G \frac{mM}{|x|^2}\]
である.その他に,回路の方程式,化学反応中の分子の量,なども同じくらい簡単な方程式で記述される.
コンピュータはこれらの微分方程式を「解く(=その関数を時間の関数として求める)」のに驚くほど簡単で統一的な方法を使う. (常)微分方程式は一般に

                                            ある量$x(t)\,$の微分(時間変化)=$x(t)\,$の関数

数式で書けば,
\[\dot{x}(t) = G(x(t))\]
という形をしている(説明は省略するが,元の方程式に2階以上の微分係数が含まれていても,結局はこの形に変形できる). これを解くとは,この式を満たす関数 $x(t)\,$ を求めることに他ならない. そのためにコンピュータでは,与えられた初期値 $x(0)\,$ から出発して,「ほんの少し時間がたったときの状態」を繰り返し求めていく. つまり,
\[x(t + h) \approx x(t) + \dot{x}(t) h = x(t) + G(x(t))\] という式(最初の$\approx\,$は微分係数の定義,次の等号は,微分方程式そのものによる)を使って,
\[
 \begin{array}{rcl}
x(h) & = & x(0) + G(x(0)) h \\
x(2h)& = & x(h) + G(x(h)) h \\
x(3h)& = & x(2h) + G(x(2h)) h \\
\ldots
\end{array} \] という計算を順に行う事で, $x(t)\,$ という関数の概形を求めていく.これを実行するプログラムは行数にして10行もあれば書ける.しかもこのやり方は $x\,$ が単なる実数であろうと,ベクトルであろうと,まったく同様に使える.
もちろん上記の式は正確には「近似式」であり,正確ではない.したがって方程式の「正確な」解からはある程度の誤差がある.また, 答えが sin, cos のようなよく知った関数で書けたとしても,解が sin/ cos そのものであるということまで教えてくれるわけではない. その意味で微分方程式の階が「本当に分かった」という知的満足度は,実際に答えを式で求める場合と比べて低いのかもしれない.
しかし,この驚くほど単純な方法はほとんど微分方程式の「形」によらず適用できるという強みがある.つまり手計算によって「解ける」微分方程式は非常にその範囲が限られており,解ける・解けないの境目が非常に細かい式の形に依存しているのに対し,ここで述べた解法は,右辺の形がある程度「まともな」関数であれば常に適用できることが期待される.そして実際の物理や工学で現れる微分方程式はほとんどの場合複雑で,答えを閉じた式として求めることは期待できない.さらにそもそも,「閉じた式」で求まるとは,解がたまたまよく知っている関数の組み合わせで書けるという事を意味するだけであって,解が閉じた式で求まる場合を特に有り難がる理由もないということになる.
数値的な解法は微分方程式が複雑になり混み入るほど有難い解法となる.例えば銀河は非常に多数の星の集まりで,そのような多数の星の集まり全体の動きも,星や星間ガスなどの質量の間の万有引力が支配している.この解が閉じた式として求まるということは期待すべくもないが,コンピュータによる数値的な近似解であれば,「原理的には」巨大な連立の微分方程式の解を求める事で求められると期待できる.それがうまく行けば,なぜ銀河はあのような渦巻き形をしているのか,銀河の行く末はどのようになるのか,などが理解できるようになると期待される(もちろんそれは非常に難しい問題であり,基本的なやり方を理解するだけですぐにできるという意味ではない).
File:Galaxy.png
式の形はどんどん難しくなるが,電磁気学のマックスウェル方程式,量子力学のシュレディンガー方程式,熱力学の熱伝導方程式,波動方程式,流体の動きを記述するナビエストークス方程式などもすべて(偏)微分方程式である.
これほど多様な現象に対する解が,同じ原理で求まるというのは非常におもしろいと思うのだがどうでしょうか? また,私にとっては現象を「理解する」ないし「分かったような気がする」ために,それをシミュレートするプログラムを書いてみる,そして,起こるべき事が起こるかどうかを確かめてみるというのは,非常に良い手段のように思われます.より基本的な法則から難しい方程式を導いたり,あるいはシュレディンガー方程式のように「これが法則だ」と言って与えられても,私のような)凡人にはなかなか「理解」した気にはなれないものです.どうなれば「理解」したことになるかは難しいところですが,やはりそれを用いて現象を予測するなどして,実際に使っているうちに各項が果たす意味のようなものが分かってくるのではないでしょうか.しかし実際には解析的に予測できる現象はなかなか少ないですし,できたとしてもむしろ式変形の難しさに埋没されてしまいがちです.数値的に解を求め,それが「それらしい」解であることを確かめることができれば,印象にも残りますし,使っているのは数式だけですから,微分方程式だけから確かにその現象が「導かれた」という感覚が自然に湧き上がって来ます.この後物理や化学で出てくる数々の微分方程式に対し,それをコンピュータにシミュレートさせてみようという動機を持つと(持っていたら),それらをより面白く学べる(た)のではないかと,思います (括弧内は,自分の事を言っています).
おすすめの本:
微分方程式によって色々な現象がモデル化できるということを説明したわかりやすい本
表計算ソフトExcel(だけ)で,微分方程式をはじめとするシミュレーションができてしまうという本.実は類似の本は多数あるので生協などで探索してみると良い.授業でもさわりを課題として取り上げる予定.

出典Motivation to learn computer

2015/06/30

Ubuntu  Grub を Grub2 にアップグレード

前回にも書いた通り、1号機に HDD を1台増設した。元からある HDD (マスター) には Lubuntu 15.04 がインストールしてあり、sda として認識されている。増設した HDD (スレイブ) には増設前に Ubuntu 12.04 をインストールしてあり、sdb として認識されている。あとは Grub2 を編集すればデュアルブートとして使える。

ところが sda にあるはずの /boot/grub/grub.cfg が存在せず、/boot/grub/menu.lst があった。つまり、ブートローダ*は Grub (Legacy) のままだ。Lubuntu 15.04 は Xubuntu 8.04 からデスクトップ環境を代えながら設定を変更せずにアップグレードしてきたので、 Grub (Legacy) のままだったのだろう。そこでここを Grub2 にアップグレードする。

Grub から Grub2 へのアップグレード



1. 以下のコマンドで Lubuntu 15.04 のレポジトリ情報を最新の状態にする。
 sudo apt-get update 

2. 以下のコマンドで grub-pc をインストールする。
 sudo apt-get install grub-pc 

3. インストールが始まると以下のような画面が現れるので、画面に従って設定していく。
   (Lubuntu 15.04 では既に日本語で表示されていた。)  
3-1. 書いてあることを読んでから、タブキーを使って<OK>へ移動し、Enterキーを押す。


3-2. 次の画面で Yes を押すと,以下の画面になる。
3-3. 特にしていしたいことがなければタブキーを使って<OK>へ移動し、Enterキーを押す。


3-4. UP/DOWNキーで移動して Grub2 をインストールする場所をスペースキーを押して選択する。


3-5. 再起動した時に以下のようにバージョンが上がっていればOK。



*ブートローダとは
ブートローダとはMBRに保存されているプログラムで、OSがインストールされているパーテーションを探し出す。もしOSがインストールされているパーテーションが一つならばそのパーテーション内のPBRをロードする。もし,複数あるならばそれらをユーザーに表示し,選択されるのを待つ。ここでユーザーがパーテーションを選択すると,そのパーテーション内のPBRをロードする。PBRに保存されているプログラムはIPLInitial Program Loader)と呼ばれるもので、OSを起動させるためのブートローダの残りの機能を呼び出す機能を持っている。(参照:ブートローダ

2015/06/28

Ubuntu  1号機のグレードアップ。

1年ほど前に友人から譲り受けたB機から256MBのメモリーを抜き取って1号機に増設し、HDDも40GBから80GBに増やした。OSもLubuntu 13.04 にアップグレードした。主なスペックは以下の通りになった。

システム要件
    CPU AMD Athlon 1.0 GHz
    motherboard   K7S5A
    memory 768 MHz
    HDD 80 GB

これでだいぶスムーズに動くようになった。しかし、Lubuntu 14.04 にアップグレードした頃から,CPUの使用率が100%を越えることが多くなり、反応も鈍くなる。改善するにははCPUを交換する他ない。しかし今となっては新たにAMD Athlon系のCPUをさがす気になれない。そのまま Lubuntu 15.04 までアップグレードを続ける。

CPUのアップグレード


そこへ今回 Fujitsu-Siemens の SCENIC N600 の中古が手に入った。


主なスペックは以下の通り。

システム要件
    CPU Intel Pentium® 4 2.4 GHz
    motherboard   D1562
    memory 2 GHz
    HDD 40 GB

これを1号機の代わりに使ってもよかった。しかし,

    - 写真のように寝かして使えるスペースがない
    - 拡張スペースが限られている
    - CPU冷却用ファンがなく、薄いファンでないと取り付けられない

という問題があった。ならばCPUを motherboard ごと1号機のそれと交換出来ないかと思いつく。(CPUだけの交換はソケットが合わないので不可能)

motherboard ごと交換するには電源のコネクタが対応するか調べなくてはならない。
幸い両方共ATXメインコネクタは20pinだし、1号機の電源にもATX12Vコネクタがある。D1562 には平型8pin の電源供給用のソケットがあるが、これはファンコントロールやディスプレイ表示用の電源なので、1号機では使わなくともよい。よって電源の問題はクリア。

HDDも両方共パラレルATA接続、DVDドライブも両方共パラレルATA接続なのでそのまま使える。FDDも同様だった。

よって交換は無事終了、CPU冷却用ファンも取り付けた。

1号機の新しいスペックは以下の通り。

システム要件
    CPU Intel Pentium® 4 2.4 GHz
    motherboard   D1562
    memory 2 GHz
    HDD 80 GB + 40 GB

これで1号機で Lubuntu 15.04 が普通に使えるようになった。