差分機

差分機（Difference engine），是英國科學家查爾斯·巴貝奇研發的自動化數學機器。

差分機一號
巴貝奇設計計算機器的基本想法是利用「機器」將計算到印刷的過程全部自動化，全面去除人為疏失（如：計算錯誤、抄寫錯誤、校對錯誤、印製錯誤等）。而差分機一號（Difference Engine No.1）則是利用N次多項式求值會有共通的N次階差的特性，以齒輪運轉，帶動十進位的數值相加減、進位。

差分機一號（Difference Engine No.1）由英國政府出資，工匠打造，預計完工需要25,000個零件（大致均分在計算和印刷兩部份），重達4噸，可計算到第六階差，最高可以存16位數（相當於千兆的數）。但因為大量精密零件製造困難，加上巴貝奇不停地邊製造邊修改設計，從1822到1832年的十年間，巴貝奇只能拿出完成品的1/7部份來展示，不過差分機運轉的精密程度仍令當時的人們嘆為觀止，至今依然是人类踏进科技的一个重大起步。

巴貝奇不斷延後完成期限的嚴重超支（英國政府在1842年的最後清算發現整個計畫一共讓國庫支出了￡17,500）、製作過程不斷修改設計、時常與克里門發生衝突等諸多原因，讓完整的差分機一號一直未能完成，一萬兩千多個還沒用到的精密零件後來都被熔解報廢。

運作原理 
簡單來說，差分機就是一台多項式求值機，只要將欲求多項式方程的前3個初始值輸入到機器裡，機器每運轉一輪，就能產生出一個值來。假設以「F(x)= x²+4」為例，差分機得出來的結果，就會是F(1)=5、F(2)=8、F(3)=13、F(4)=20……等，直到系統停止為止。機器運作最重要的基礎，在於求出多項方程式的結果完全只需要用到加法與減法。

在F(x)=x²+4這個例子中，第一步是先算出F(1)和F(2)之間的差（8-5=3），稱為第一階差（First Difference）。如果這個值和F(2)及F(3)之間的差（13-8=5）不同的話，就拿這兩個第一階差再算一次差（5-3=2），稱為第二階差（Second Difference）。在這個例子裡，每一個第二階差都是2，所以就不用再算下去了。所以可以推論出一次方程式最多只會有第一階差、二次方程式會有第二階差、N次方程則會到第N階差。而有了這個固定不變的差數後，就可以開始往前推算回去，接下來的每一個值，就是將差數和前一階的上一個值相加，即可獲得。例如求F(4)時，先將第二階差2加上第一階差的值5得到7，再將7加上F(3)的值13，就會得到F(4)=20，以此類推。不斷重複的特性卻很適合機械運算。

具体来讲巴贝奇差分机是用蒸汽机为动力，驱动大量的齿轮机构运转。 巴贝奇的分析机大体上有三大部分：其一是齿轮式的「存贮库」，巴贝奇称它为「仓库」（Store），每个齿轮可贮存10个数，齿轮组成的阵列总共能够储存1000个50位数。分析机的第二个部件是所谓「运算室」，它被巴贝奇命名为「作坊」（Mill），其基本原理与帕斯卡的转轮相似，用齿轮间的啮合、旋转、平移等方式进行数字运算。为了加快运算速度，他改进了进位装置，使得50位数加50位数的运算可完成于一次转轮之中。第三部分巴贝奇没有为它具体命名，其功能是以杰卡德穿孔卡中的「0」和「1」来控制运算操作的顺序，类似于电脑里的控制器。他甚至还考虑到如何使这台机器处理依条件转移的动作，比如，第一步运算结果若是「1」，就接着做乘法，若是「0」就进行除法运算。此外，巴贝奇也构思了送入和取出数据的机构，以及在「仓库」和「作坊」之间不断往返运输数据的部件。

差分機二號 
差分機二號（或稱大型差分機）在1849年設計出來，卻在有生之年只實作了很小一部分。這台機器可以進行相當複雜的數學計算，具有31位元精度。

相關條目
分析機

DE
D
DE
DE