Sunday, August 14, 2011

तूच तुझ्या कर्माचा शिल्पकार

तिला खाण्या-खिलवण्याची फार आवड आहे. कुठे काही पाककृती आढळली तर ती करून बघणारच. असाच एकदा एका मैत्रिणीकडे तिला नवीन पाककृती सापडली, लगेच तिने तिच्या डायरी मध्ये लिहून घेतली. आता घरी येऊन जेंव्हा ती तो पदार्थ करेन तेंव्हा तिच्या हे लक्ष्यात नाही येणार की ह्या steps आपणच लिहिल्या होत्या. ती त्या steps करत जाईल, जणू काही कोणीतरी त्या तिच्यासाठी लिहून ठेवल्या आहेत. तिनेच तिचे कार्य मांडून ठेवले असते पण तिच्या ते लक्ष्यात येत नाही.
त्याच हि असाच होतं. तो देवदूत, काहीतरी दैविसंकेत घडतो आणि त्याला जाग येते. त्याच काम एकच, त्याच्या वहीत लिहिलेल्या सूचना पाळायच्या. त्या वहीत पहिली सूचना हीच असते की अमुक एका ठिकाणी लिहिलेल्या सूचना त्याच वहीच्या विशिष्ठ पानावर उतरून घे.
आणि पुढील सुचनेमध्ये कोणत्यातरी पानाचा क्रमांक असतो, जिथे त्याला पुढील सूचना मिळणार असतात. तो क्रमांक त्याच विशिष्ठ पानाचा असतो जिथे त्यानेच काही वेळापूर्वी काही सूचना लिहून ठेवल्या आहेत. पण तो हे विसरलेला असतो. पण इथे हि स्वतःच कार्य अप्रत्यक्षरित्या तो स्वतःच ठरवतोय.
हा देवदूत म्हणजे कॉम्पुटर/microprocessor!!! आणि आपण कॉम्पुटर सुरु करण्यासाठी बटन दाबल की तो दैविसंकेत त्याला मिळतो आणि तो जागा होतो. आणि त्या अमुक ठिकाणी (first boot device) जाऊन तो तिथे लिहिलेल्या सूचना (operating system) त्याच्या वहीत (main memory/RAM ) नोंदवून घेतो. नंतर यथाकर्म तो त्या पानावर जाऊन त्या सूचनांच पालन सुरु करतो.
जवळून पाहिल्यावर हे लक्ष्यात येईल की प्रत्याक्ष्यात कॉम्पुटर "वाचा, करा, पुढे जा" याच तीन गोष्टींमध्ये अडकला असतो. या मध्ये पण तो आपल्यासाठी म्हणजे output देणार काम फक्त "करा" ह्या stage मध्येच करतो। आणि त्याला येणारी ती काम सुद्धा काही मोजकीच आहेत। जशी की बेरीज, वजाबाकी, logical operations(ANDing/ORing), आणि सगळ्यात महत्वाच कोणत्याही ठिकाणी (memory location) लिहिलेल वाचता येण, कोणत्याही ठिकाणी लिहिता येणं. "पुढे जा" या stage मध्ये तो एका ठराविक ठिकाणी (Program Counter/Instruction Pointer) असलेल्या पत्त्यावर जातो. एकदा त्याने "वाचा, करा, पुढे जा" हे पाळायला सुरुवात केली की तो कोणतीही काम करू शकतो (कोणताही काम करवून घेता येऊ शकतो). कोणताही काम करायला सांगायचं असेल तर त्याच्या सूचना (Executable file) त्यालाच कुठेतरी लिहायला सांगायचं आणि लिहायला सांगणारया सूचने खाली त्या ठिकाणी जाण्याची सूचना टाकायची. आणि गम्मत अशी आहे की त्याच्यासाठी आश्या सूचना लिहायला आपल्याला मदत करतात त्यानेच एका विशिष्ठ ठिकाणी लिहिलेल्या सूचना त्या म्हणजे Operating System...!!!

Saturday, April 18, 2009

Number game!!!!

फार-फार वर्षांपूर्वीची गोष्ट आहे. माणुस नुक्ताच वस्ति करुन रहायला शिकला होता. शेती शिकत होता. तो शेतीच्या कामात जनावरांचा वापर करायचा. त्याच काऴात सुरू झालेली हि गोष्ट, एका मेंढपाळाची हि गोष्ट. तो मेंढपाळ रोज आपल्याकडे असलेल्या मेंढ्या चरायला घेउन जायचा. असचं एके दिवशी त्याच्या लक्ष्यात आलं की सगळ्या मेंढ्या बांधुन झाल्यातरी काही खुंट्या रिकम्या आहेत. कालपर्यंत असं होत नव्हतं, सर्व मेंढ्या बांधुन झाल्या की रिकमी खुंटि नसायची. त्याला कळेना की असं का झालं? खूप विचार केल्यावर त्याच्या लक्ष्यात आलं की जर, ’आपण नवीन खुंट ठोकली नाहीत म्हणजेच खुंट आहे तेवढीच आहेत. याचाच अर्थ असा की मेंढ्या कमी झाल्या आहेत.’ कमी तर किती कमी? अजुन संख्यांचा शोध लागायचा होता. पण हे निश्चित होत की कहि मेंढ्या नाहीयेत...कमी आहेत. या कमीपणच काहिच मोजमाप त्याच्याकडे नव्हत. इथे त्याला प्रथम मोजमाप करायची गरज भासली असेल. पण मोजणार कस? संख्या-आकडे या गोष्टी त्याला माहितच नव्हत्या. त्याच्य़ा या मोजमापाच्या प्रयत्नातुनच त्यांच जन्म होणार होता.
विचार करता-करता त्याला एक कल्पना सुचली. दुसऱ्या दिवसापासून मेंढ्या चरायला सोडताना घराच्या भिंतीवर प्रत्येक मेंढिसाठी एक-एक उभी खूण करयला लागला आणि संध्याकाळी परत येताना प्रत्येक मेंढिसाठी एक खूण पुसायची. जर काही मेंढ्या हरवल्या तर तितक्या खूण शिलक्क रहायच्य़ा. आता त्याच्याकडे न-पुसलेल्या खूणांच्या रूपात मोजमाप होते. या खूणा म्हणजेच TALLYMARKINGs ie NUMBERS in their primitive stage. आता तो मेंढपाळ हे tallymarking बऱयाच ठिकणी मोजदाद/गणना करायला लागला होता, त्याची कामपण सोपी झाली होती. पण जेव्हा एकाच गणनेत खूणा वाढायला लागल्या तेंव्हा चूका वाढायला लागल्या. अश्या खूणातरी किती करत बसणार? त्याने खूणांच्या गटाला ठराविक चिन्हानी दर्शवायला सुरवात केली; उदा. III ऐवजी ३ किंवा IV ऐवजी ४. हिच ती digits...building blocks of Number System!!! पण अश्या प्रकारे किती चिन्ह तयार करणार? खूणांपेक्षा सोपी असली तरी नवनवीन चिन्ह तयार करणं आणि लक्ष्यात ठेवण हे काही त्याच्या प्रश्नाच उत्तर नव्हतं. त्याला अजून खूप काही मोजायच होती, चंद्र-सुर्याची अंतर मोजायची होती. त्या प्रत्येकासाठी नवीन चिन्ह वापरणं नक्कीच सोयीच नव्हतं. हे कोड सोडवता-सोडवता त्याला शुन्याचा शोध लागला. शुन्य म्हणजे फ़क्त काहीच किंमत नसणारी संख्या नाहीये. It is technique to generate new numbers from existing digits; 0-9. This technique could generate infinitly many numbers but still easy to handle. आता तो कितीहि मोठी गणना करु शकणार होता सहजपणे. त्याच्याकडे होती number system starting with 1,2,3,.....till you want!!! These are the numbers man found while counting the natural things are 'Natural Numbers'.
त्याला पडणारे प्रश्न त्याने गणितात मांडायला सूरवात केली. हे गणितातून मांडलेले प्रश्न म्हणजेच समीकरणं/equations. त्याच्या सगळ्या प्रश्नांची उत्तर त्याला natural numbersमध्ये सापडत होती, पण 'x=5-5'च उत्तर सापडेना. ५आंबे होते आणि ५आंबे खाल्ले तर शिल्लक किती ह्या प्रश्नाचं हे समीकरण. त्याला माहीत होत की ’काहीच शिल्लक राहत नाही’. काहीच नाही म्हणजे शुन्य. म्हणून ’x=5-5'च उत्तर 'x=0'. अश्याप्रकारे ’0’ आणि natural numbers मिळुन तयार झाल्या ’पूर्ण-संख्या’(Whole numbers). असाच कधीतरी 'x=9-13' सोडवताना ऋण संख्य़ांचा (negative numbers) शोध लागला. Positive value of 'saling price - cost price' is GAIN; whereas it's negative value is LOSS. These are the numbers having same magnitude as that of positive numbers but the exactly opposite effect. Zero doesn't have any value thus anything with value zero cann't have any effect. Hence zero is neither positive nor negative. Zero is the only number without a sign. Numbers found till then could be obtained by successive addition or subtraction of 1;unit value. All the numbers were integral, thus called Integers(पूर्णांक). Postive integers, negative integers and zero together forms set of Integers. आत्ता पर्यन्तच्या संख्या पूर्ण वस्तू मोजायला पुरेश्या होत्या, पण त्यात ’५ कलिंगडचे ४ सारखे भाग केल्यास एका भागात किती कलिंगड?’ हे सांगता येत नव्हतं. जर प्रत्येक एका भागात x कलिंगड असतील तर ४ही भाग एकत्र केल्यास ५कलिंगड होतील, म्हणजेच ’x+x+x+x=5'=>'4x=5'=>'x=5/4'. पण xची ही value integersमध्ये सापडत नव्हती. हे निश्चित होत की प्रत्येक भागात एक आख्खं कलिंगड आणि दुसऱ्या कलिंगडाचा ’थोडासा तुकडा’ येईल. म्हणजे xच उत्तर अशी संख्या असेल जी पूर्ण(पूर्णांक) नसेल. अश्याप्रकारे ’अपूर्णांकां’चा(Fractions) शोध लागला. Fractions are the numbers which are not integers. Thus can't be obtained by successive addition or subtraction of 1. Fractions are more powerful as they can count incomplete things such as ’1day, 14 hrs’ as '38/24days' or '1.583days'. Union of Integers and Fraction gives us a larger set of numbers called 'Real Numbers'.
Besides integer and fraction there is one more classification of real numbers which is more prominent. This classification gives two mutually disjoint sets viz. 'Rational numbers' and 'Irrational numbers'. Rational numbesr are the numbers which can be shown as ratio of two integers like 'x/y' and y is not equal to zero, x is called numerator and y is denominator. Thus set of integers is subset of rationals since every integer 'x' can be expressed as 'x/1'. Irrational numbers are the numbers which are not rational; thus cann't be expressed as ratio of two integers. Real numbers are the numbers which we find in nature. But property of real numbers which says 'multipliaction of two negative real numbers is always positive' gives rise to one more numbers which are not reals. This is an 'Imaginary Numbers'. Let 'i' be some number such that 'i*i=-1' ie 'i^2=-1'. If 'i' is real number then by property stated earlier; it's square will never be negative. Thus 'i' is not a real number.
छोट्या प्रयत्नातून सुरु झालेला हा खटाटोप अजून थांबलेला नाहीये. काय माहित नव-नवीन गरजांमधून अजून किती संख्य़ांचा जन्म होइल? पण गरजेतून तयार झालेल्य़ा या संख्या थक्क करणारे गुणधर्म दाखवतात. All these numbers follow same rules of all basic numerical operations. Still there is no example of case in which we start with correct equation, performed valid operations on both sides and end up with equation something like 1=2. What makes this happens?? What makes this number system so strong and full-proof?? Did really we invented the numbers or they were always there, we just discovered them....???