విఫలమైన ప్రాజెక్టు
బాబేజ్ తేడా యంత్రం నమూనాని 1822 లోనే తయారుచేశాడు. శాస్త్రజ్ఞులకి ప్రదర్శించాడు. అది పెద్ద సంచలనమే కలిగించింది. పట్టికలు తయారు చెయ్యడానికి మూడు పనులు చెయాలి: 1) సరిగా లెక్క కట్టడం, 2) వాటిని ప్లేట్ల మీదకి మార్చడం, 3) ప్రింటు చెయ్యడం. బాబేజ్ ఆ మూడింటినీ మధ్యలో మనిషి జోక్యం లేకుండా యాంత్రికం చేశాడు. దీని వలన కచ్చితమైన పట్టికలు తయారుచెయ్యవచ్చని ప్రజలకి నమ్మకం కుదిరింది. ముఖ్యంగా సముద్రయానానికి సంబంధించిన పట్టికలు, నౌకాబలం మీద ఆధారపడి ఉన్న ఇంగ్లాండు లాంటి దేశానికి అత్యవసరం. ప్రభుత్వం ప్రాజెక్టుని బలపరచింది. ముందుగా 1500 పౌండ్ల ధనం ఇచ్చింది.
యంత్రం సరిగా పనిచెయ్యాలంటే చాలా చక్రాలూ, లెవర్లూ, గేర్లూ కావాలి. కొలతలు కచ్చితంగా ఉండాలి. అప్పటికి ఇంకా పరికరాల్లో ప్రమాణాలు ఏర్పడలేదు. ఒకరు చేసిన మరమేకు మరొకరి మేకులా ఉండదు. తేడా యంత్రానికి ఒకే కొలతలు గల చక్రాలూ గేర్లూ కొన్ని వందలు కావాలి. అలాంటి అవసరం ఉన్న యంత్రం అప్పట్లో లేదు.
బాబేజ్ నైపుణ్యం కల మెకానిక్ కోసం చూసి, జోసెఫ్ క్లెమెంట్ అనే పేరున్న ఇంజనీరుకి పని కాంట్రాక్టుకిచ్చాడు. తేడా యంత్రానికి అవసరమైనా కాకపోయినా, క్లెమెంట్ ఎంతో నాణ్యత గల భాగాలను చేశాడు. అందుకు తగ్గట్లుగా బిల్లు వేశాడు! ప్రభుత్వం సరిగా డబ్బులివ్వలేదు. బాబేజ్ సొంత డబ్బు ఖర్చు పెట్టాడు. ప్రొఫెసరు ఉద్యోగం మానుకొని యంత్రాల మీదనే పనిచేశాడు కూడాను. 1830 నాటికి క్లెమెంట్ కొన్ని వేల భాగాలని తయారు చేశాడు కాని, వాటిని యంత్రంగా సమకూర్చలేదు.

తేడా యంత్రం
(©IEEE సౌజన్యంతో)
క్లెమెంట్ కీ బాబేజ్ కీ తీవ్ర భేదాలొచ్చాయి. క్లెమెంట్ తేడా యంత్రం కోసం చేసిన పరికరాలని వేరే వాటికి వాడుకున్నాడు. యంత్రానికి ప్రభుత్వం అప్పటికే పదిహేడు వేల పౌండ్లు భరించింది. ఇక డబ్బు ఇవ్వమని తేల్చేసి చెప్పింది. క్లెమెంట్ ఉన్న భాగాలతో యంత్రాన్ని సమకూర్చాడు. ప్రింటింగ్ భాగం లేదు కాని, కంప్యుటేషన్ భాగం దాదాపుగా పూర్తయింది. ఇంకొన్ని నెలలలో మరికాస్త వ్యయంతో తయారయి ఉండేది. బాబేజ్, క్లెమెంట్, ప్రభుత్వం – ఒకరినొకరు నమ్మకపోవడాన, యంత్రం మీద పని ఆగిపోయింది. ఉన్నభాగాలని క్లెమెంట్ సమకూర్చిన యంత్రాన్ని పక్కన చూడొచ్చు.
బాబేజ్ ఈ వైఫల్యాలనుంచి తేరుకొని వేరే యంత్రం, తేడా యంత్రం కన్నా విశేషమైనది, ఆధునిక కంప్యూటర్ కి దగ్గరయినదాని గురించి ఆలోచనలు మొదలెట్టాడు.
వైశ్లేషిక యంత్రం (The Analytical Engine)
తేడా యంత్రానికి ఉన్న ఓ ప్రాథమిక పరిమితి – చివరి తేడా నియమితమై ఉండాలి. మన ఉదాహరణలో రెండో తేడా విలువ 2 – అది మారదు. కొన్ని ముఖ్యమైన పట్టికలకి అది వర్తించదు. ఆ తేడా నిలకడగా ఉండక మారుతూ ఉంటుంది. కాని ఆమారే విధానంలో ఓ క్రమం ఉంది – పై తేడాలు క్రింద తేడాల మీదనో, పట్టిక విలువ మీదనో ఆధారపడి ఉంటాయి. తేడా యంత్రం అలా పనిచెయ్యలేదు. మనం ఇంతకు ముందు చూశాం: రెండో తేడాని మొదటి తేడాకి, మొదటి తేడాని పట్టిక విలువకి కలపగలదు కాని, తిరుగు మార్గంలో పనిచెయ్యలేదు. పట్టిక విలువని మొదటి తేడాకో రెండవ తేడాకో కలపలేదు.
ఈ పరిమితిని దాటకపోతే చాలా ముఖ్యమైన ఫార్ములాలకి పట్టికలని యాంత్రికంగా తయారుచెయ్యలేం. బాబేజ్ దీనిని తొందరగానే పరిష్కరించాడు; పట్టిక విలువలున్న ఇరుసు నుండి తేడా ఇరుసుకి విలువలని బదిలీ చేశాడు. దీనినే పునర్నివేశం (feedback) అంటారు. యంత్రం తన తోకను తానే తింటుందని బాబేజ్ చమత్కరించాడు. కాని వీటితో ప్రతి ఇరుసుకీ మరికొంత యంత్రాంగం సమకూర్చవలసి వచ్చింది. అలాగే కూడికలతో పాటు, హెచ్చవేతలు చెయ్యాలంటే, ప్రతి ఇరుసుకీ ఇంకా మరికొన్ని చక్రాలూ, గేర్లూ కలపాలి.
రెండు అంకెలని కూడినప్పుడు పది కన్నా మించితే పైస్థానానికి ఒకటిని బదిలీ చెయ్యాలి. ఆ కూడిక పదికి మించితే దాని పైస్థానానికి బదిలీ చెయ్యాలి. ఇలా ఒక స్థానం నుండి పై స్థానానికి మిగులుని బదిలీ చెయ్యడమంటే (carry propagation) యంత్రం నిదానమై పోతుంది. ఇప్పటి కంప్యూటర్ ఇంజనీర్ల లాగే బాబేజ్ కూడా యంత్ర వేగం ప్రాధాన్యతని ముందుగానే గుర్తించాడు. ఒక స్థానంలోనుంచి మరో స్థానంలోకి మిగులుని బదిలీ చెయ్యడానికి ఓ కొత్త మార్గాన్ని కనుగొన్నాడు – “ముందుగానే గ్రహించే మిగులు” (Anticipated Carry). దీనిమీద కొన్ని సంవత్సరాలు పనిచేశాడు; తను కనుక్కున్న విధానాన్ని చూసి గర్వపడ్డాడు. ఆధునిక కాలంలో డిజిటల్ సర్క్యూట్లని చదివే విద్యార్థులు ఇలాంటి సమస్యలని గురించే నేర్చుకుంటారు.
పునర్నివేశం (feedback), హెచ్చవేతలూ, మిగుళ్ళు ముందరే బదిలీ చెయ్యడం (anticipated carry) – ఇవన్నీ చెయ్యాలంటే ప్రతి ఇరుసుకీ చాలా తతంగం కలపాలి, యంత్రం జటిలమయిపోతుంది. దీనిని సులువుచేసే మార్గాన్వేషణలో బాబేజ్కి విప్లవాత్మకమైన ఆలోచన వచ్చింది – సంఖ్యలని నిలువ చేసే ఇరుసులూ, వాటి మీద ఆపరేట్ చేసే ఇరుసులూ వేరు వేరుగా ఉండాలన్నాడు. వాటిని వరసగా భాండాగారం (store), మర (mill) అని పిలిచాడు. ఆ పదాలు బట్టల పరిశ్రమ (textiles) లో వాడేవి – స్టోరులోని దారాలు తెచ్చి మిల్లులో నేస్తారు. ఇప్పటి కంప్యూటర్లలో కూడా ఇదే అమరిక – సంఖ్యలని మెమొరీ (memory) లో ఉంచి, కూడాలనుకున్న వాటిని సీపీయూ (CPU: Central Processing Unit) కి తీసుకొచ్చి, కూడి, ఫలితాన్ని తిరిగి మెమొరీ లో నిల్వ చేస్తారు.
ఈ యంత్రం నమూనాని, ప్లాన్ని ఈ లింకులలో చూడొచ్చు. మనం సంఖ్యా ఇరుసుల మీద చక్రాలని సరయిన స్థానంలో ఉంచి, ఏ సంఖ్యల మీద ఏ ఆపరేషన్ చెయ్యాలో చెప్పాలి. ఈ విషయాలు యంత్రానికి ఎలా చెప్పాలి అని సందిగ్ధంలో పడ్డ బాబేజ్ కి స్ఫూర్తినిచ్చి పరిష్కరించింది ఓ కొత్తరకపు నేత మగ్గం!