Mașină diferențială

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare
Mașină diferențială
BabbageDifferenceEngine.jpg
Părți ale motorului diferențial al lui Charles Babbage păstrate în London Science Museum .
Clasa de informatică Analogic mecanic
Țara de origine Regatul Unit
Creator Charles Babbage
Prezentare 1822

Mașina diferențială (în engleză Difference Engine) este un dispozitiv mecanic dezvoltat pentru tabelarea funcțiilor polinomiale .
Utilitatea sa derivă din faptul că atât logaritmii cât și funcțiile trigonometrice pot fi aproximate cu polinoame grație seriei Taylor . Astfel, mașina diferențială deschide posibilitatea de a accesa o gamă largă de calcule matematice.

Istorie

Detaliu al unei replici a mașinii expuse la London Science Museum .

Inginerul german JH Müller descrisese ideea unei astfel de mașini într-o carte publicată în 1786, dar, neputând găsi fondurile necesare, nu și-a dat seama [1] .

În 1822 Charles Babbage a propus dezvoltarea mașinii într-un articol trimis la 14 iunie către Royal Astronomical Society și intitulat „Notă privind aplicarea mașinilor la calculul unor tabele matematice foarte mari” [2] . Mașina ar fi folosit sistemul zecimal și ar fi fost alimentată mecanic de mișcarea unei manivele care ar fi rotit vitezele.

Guvernul britanic a finanțat inițial proiectul, dar mai târziu, când în 1842 a primit o cerere de noi fonduri de la Babbage, în ciuda dezvoltării aparatului aparent în impas, a decis să îl abandoneze. Între timp, însă, cheltuise deja o sumă egală cu 17.470 de lire sterline, deci de douăzeci de ori cheltuiala pentru locomotiva cu aburi . Decizia de a abandona proiectul a fost influențată și de opinia negativă asupra utilității mașinii exprimată de astronomul regal George Biddell Airy [3] .

Dispozitivul avea o complexitate considerabilă și dimensiuni structurale mari: credeți-vă că a necesitat asamblarea a 25.000 de piese, iar mașina completă ar fi avut aproximativ doi metri și jumătate înălțime, doi metri lățime și una adâncă, cântărind câteva tone.

Babbage, în timp ce proiecta motorul diferențial, a lucrat la motorul analitic mai general. Experiența dezvoltării acestuia din urmă i-a permis să îmbunătățească proiectarea mașinii diferențiale și să dezvolte o a doua versiune între 1847 și 1849.

Inspirat de proiectul lui Babbage, Per Georg Scheutz a construit mai multe mașini diferențiale începând cu 1855; una dintre acestea a fost vândută guvernului britanic în 1859. Martin Wiberg a îmbunătățit mașinile Scheutz și le-a folosit pentru a produce tabele logaritmice pe care le-a publicat ulterior.

Pe baza desenelor originale ale lui Babbage, Muzeul Științei din Londra a construit o versiune funcțională a celei de-a doua versiuni a motorului diferențial. Aceasta a fost construită sub supravegherea lui Doron Swade, care a urmat proiectul între 1989 și 1991. În 2000 a fost construită și imprimanta care, primind datele de la mașina diferențială, a permis reproducerea ei pe hârtie. Transcrierea desenelor originale în desene utilizabile pentru componente a arătat că Babbage a făcut câteva erori minore de proiectare, dar nimic care să nu poată afecta funcționarea mașinii. Mașina diferențială și imprimanta au fost construite cu materialele și toleranțele disponibile în secolul al XIX-lea și acest lucru a permis să demonstreze că proiectul Babbage, dacă ar fi fost finanțat corespunzător, ar putea funcționa cu adevărat.

Operațiuni

Mașina constă dintr-un anumit număr de coloane numerotate de la 1 la N. Fiecare coloană este capabilă să stocheze un număr zecimal. Singura operație pe care mașina este capabilă să o facă este adăugarea valorii prezente în coloana n + 1 la coloana n prin introducerea rezultatului în coloana n . Coloana N putea stoca numai constante, coloana 1 arăta rezultatul și, dacă este prezentă, imprimanta le-a permis să fie tipărite pe hârtie.

Mașina a fost programată prin plasarea valorilor inițiale în coloane. Coloana 1 a fost ajustată cu valoarea de pornire a polinomului. Coloana 2 cu valoarea primei derivate a polinomului la punctul X. Coloanele ulterioare conțineau valorile derivatelor succesive întotdeauna în același punct.

Sincronizare

Proiectul Babbage a presupus o sumă completă cu reportare la fiecare patru rotații ale cilindrilor care au format coloanele. Coloanele impare și pare alternau la fiecare două rotații. Operațiunile au urmat următoarea secvență:

  1. Adăugarea coloanelor n +1
  2. Propagarea reportărilor
  3. Adăugarea coloanelor n -1
  4. Odihnă

Metoda diferenței

Imagine a replicii expuse la London Science Museum. Proiectul a prevăzut aceeași precizie de calcul pentru toate coloanele, dar datorită convergenței polinoamelor, precizia ultimelor coloane ar putea fi mai mică.

Deoarece mașina nu a putut efectua multiplicări, nu a putut calcula valoarea polinoamelor. Cu toate acestea, dacă se cunoaște valoarea lui X și a derivatelor sale, mașina ar putea calcula valorile învecinate folosind metoda diferenței finite .

Metoda diferenței finite se bazează pe polinomul de interpolare al lui Newton . Operațiunea va fi ilustrată cu un scurt exemplu. Având în vedere următorul polinom pătratic:

Presupunând că vrem să tabelăm valorile p (0), p (0,1), p (0,2), p (0,3), p (0,4) etc., tabelul este construit după cum urmează: prima coloană conține valoarea polinomului , a doua coloană conține diferența valorilor conținute în prima coloană, a treia coloană conține diferența valorilor conținute în a doua coloană.

Polinom diferență diferență
p (0) = 2,0
2,0−1,72 = 0,28
p (0,1) = 1,72 0,28−0,24 = 0,04
1,72-1,48 = 0,24
p (0,2) = 1,48 0,24-0,20 = 0,04
1,48-1,28 = 0,20
p (0,3) = 1,28 0,20−0,16 = 0,04
1,28−1,12 = 0,16
p (0,4) = 1,12

Rețineți că valoarea celei de-a treia coloane este constantă. Acest lucru nu este întâmplător: pentru fiecare polinom de grad n coloana n +1 conține o valoare care este constantă; acest lucru este crucial pentru funcționarea mașinii.

Am arătat cum să construim tabelul începând de la stânga la dreapta, în timp ce lucrăm de la dreapta la stânga putem calcula celelalte valori ale polinomului.

Polinom diferență diferență
p (0,3) = 1,28 0,20− 0,16 = 0,04
1,28− 1,12 = 0,16
p (0,4) = 1,12 0,16 - 0,12 = 0,04
1,12 - 1 = 0,12
p (0,5) = 1 0,12 - 0,08 = 0,04
1 - 0,92 = 0,08
p (0,6) = 0,92

Pentru a calcula p (0,5) folosiți doar valorile deja prezente la sfârșitul tabelului. Începeți să știți că a treia coloană trebuie să conțină valoarea 0,04. Continuăm în a doua coloană știind că valoarea actuală este 0,16 și că această valoare minus cea necunoscută trebuie să aibă ca rezultat 0,04. Rezultă atunci că valoarea necunoscută este 0,12 (0,16-0,12 = 0,04). Acum că are valoarea celei de-a doua coloane, putem trece la prima coloană. Se știe că p (0,4) valorează 1,12, că p (0,4) - p (0,5) valorează 0,12, rezultă că p (0,5) valorează 1 (1,12-1 = 0,12). Pentru a calcula p (0,6) procedăm în același mod. A treia coloană trebuie să conțină 0,04, deci a doua trebuie să fie 0,08 și, prin urmare, prima coloană este 0,92. Prin urmare, valoarea lui p (0,6) este 0,92.

Această metodă poate fi repetată de câte ori doriți. Valorile polinoamelor sunt obținute prin scădere fără a fi nevoie să efectuați multiplicări și, prin urmare, mașina diferențială trebuia să poată efectua numai scăderi. Pentru efectuarea operațiunilor a fost necesar să se țină evidența valorilor înainte de a fi calculate. Astfel, dacă polinomul avea gradul n , atunci erau necesare n +1 coloane.

Proiectarea celei de-a doua mașini diferențiale a lui Babbage, construită în 1991, a prevăzut posibilitatea de a conține șapte numere de treizeci și una de cifre; aparatul ar putea deci calcula polinoame până la gradul 7 (amintiți-vă că ultima valoare este o constantă). Cea mai bună mașină a lui Scheutz a reușit să calculeze patru numere cu cincisprezece cifre.

Notă

  1. ^ Swedin, EG & Ferro, DL, Computers: The Life Story of a Technology , la books.google.com , Greenwood Press, Westport, CT, 2005. Accesat la 17 noiembrie 2007 .
  2. ^ John J. O'Connor, Edmund F. Robertson, Charles Babbage , pe arhiva The MacTutor History of Mathematics , School of Mathematics and Statistics, University of St Andrews, Scoția, 1998. Accesat la 14 iunie 2006 (arhivat din url original) la 16 iunie 2006) .
  3. ^ „The Reconstruction of Charles Babbage's Computing Machine”, de Doron D. Swade, publ. în „ The Sciences ( Scientific American )”, num. 297, mai 1993, pp. 40-46.

Bibliografie

Alte proiecte

linkuri externe