शोधयंत्राचा शोध - भाग ४ -आल्टाव्हिस्टा आणि संचारक

आल्टाव्हिस्टा ह्या शोधयंत्राची स्थापना डिजिटल इक्विपमेंट कॉर्पोरेशनमधील (डेकमधल्या) एका संशोधकाने सहज बोलताबोलता केलेल्या एका टिप्पणीतून झाली, हे आपण याआधीच्या लेखात बघितले.

१९९५ मध्ये डेकमधल्या लुई मोनिए आणि माईक बरोज, ह्या संशोधकांनी, डेकचा अल्फा हा प्रक्रियक शोधयंत्राच्या विकसनासाठी उपयुक्त आहे, हे दाखवून देण्यासाठी स्वत:च एक शोधयंत्र बनवावे असा विचार केला. ह्यासाठी त्यांनी जी यंत्रणा उभारली, तीच आधुनिक शोधयंत्राचा पाया म्हणावी लागेल. ही यंत्रणा समजून घेण्यासाठी आपण आधुनिक शोधयंत्राचे तीन मुख्य भाग समजून घेणे आवश्यक आहे. ह्यातल्या पहिल्या भागाविषयी मी या लेखात विस्तृतपणे लिहिणार आहे.

शोधयंत्रातला 'शोध' कशाचा? तर, विश्वजाळावर उपलब्ध असलेल्या माहितीचा. ही माहिती कशी उपलब्ध असते? शब्दांचे संकलन असलेली पृष्ठे एकमेकांत दुव्यांच्या रूपाने गुंतलेली असतात, त्याला आपण 'विश्वजालावरची माहिती' असे म्हणतो. आणि ही पृष्ठे संकेतस्थळ चालकांनीच वेगवेगळी तयार केलेली असतात. अगदी एका पृष्ठाचे संकेतस्थळ असू शकते, आणि अनेक पृष्ठांची गुंतागुंत असलेलेही. विश्वजाळावरच्या सगळ्या संकेतस्थळांतील सगळी पृष्ठे एखाद्या संगणकाला कशी मिळवता येतील? ह्याचे उत्तर ज्या आज्ञावलीने मिळते, त्याला म्हणतात विश्वजालसंचारक (वर्ल्डवाईड वेब क्रॉलर). आज आपण माझ्या अनुदिनीला भेट देतो, किंवा मनोगतासारख्या चावड्यांवर वाचन करतो, त्यात एखादा लेख वाचत असताना, त्या लेखनाच्या संदर्भात आपल्याला मी किंवा आणखी कुणीतरी दिलेला दुवा दिसतो. त्याचे कुतूहल वाटून आपण त्या दुव्यावर टिचकी मारतो. ज्या न्याहाळकावर (ब्राउझरवर) आपण हे स्थळ बघत असतो, त्याला टिचकी मारल्यावर कळते, की कुठला दुवा आपल्याला बघायचाय, ते. तो न्याहाळक आपल्याला अपेक्षित दुवा विश्वजाळावरील कुठल्या स्थळावर आहे, ते समजून घेतो, आणि त्या स्थळाशी संपर्क साधून त्या दुव्याचे पृष्ठ संबंधित स्थळावरून उतरवून घेतो. ही यंत्रणा लक्षात घेतली, तर संचारकाची कार्यपद्धती तुम्हाला समजली. कारण संचारकाने त्यातला फक्त आपला (म्हणजे वाचकाचा) सहभाग रद्द केला आहे.

संचारकाला एक पृष्ठ मिळाले, त्या पृष्ठाच्या दुव्याला त्या पृष्ठाचे शीर्षक मानून तो आपल्या चुंबकीय तबकडीवर (हार्ड डिस्कवर) ते शीर्षक आणि त्यातला मजकूर साठवून घेतो. नंतर त्या मजकुरातले सगळे दुवे तो वेगळे करतो. त्या नवीन दुव्यांना अद्याप आपण भेट दिली आहे की नाही, ते आपल्या स्मृतिमंजुषेतून पडताळून पाहतो, आणि मग ज्या दुव्यांना अद्याप भेट दिलेली नाही, त्यांना भेट देतो, त्यांच्यातील मजकूर आणि दुवे शोषण्यासाठी. ह्या कृत्याचा अंत कधी होणार? जेव्हा 'अद्याप भेट दिलेली नाही' असे सगळे दुवे संपतील तेव्हा. आणि ह्या कृत्याचे फलित काय ? की दुवा, आणि त्यातील मजकूर अशी एक भली मोठी सूची. चला तर मग, आपण संचारकाचा हा कृतिक्रम (अल्गोरिदम) संगणकाला समजेल अशा मराठीत लिहून काढूया.

न वाचलेली पाने = {याहू!चे मुखपृष्ठ} वाचलेली पाने = {रिक्त संच} जोपर्यंत न वाचलेल्या पानांत एखादे तरी पान शिल्लक आहे, तोपर्यंत खालील गोष्टी करा:

न वाचलेल्या पानांतून पहिले पान निवडा. ते पान महाजाळावरून इथे आणा. त्यातला मजकूर वाचलेल्या पानांच्या संचात (पानाचा दुवा, मजकूर) अशा दुकलीच्या स्वरूपात टाका. त्या मजकुरातून दुवे वेगळे करा. आता प्रत्येक दुव्याचा अभ्यास करा:

हा दुवा वाचलेल्या पानांच्या संचात आहेत का ? नसल्यास, हा दुवा अद्याप न वाचलेल्या पानांच्या संचात टाका. असल्यास, हा दुवा विसरून जा.

अरे देवा. मराठीत संगणकाला समजवून सांगायला त्रास होतोय. असो, तुम्हा मानवांना तर कळले ना ? संगणकाची भाषा माणसाला कळावी असे लिहिले की त्याला नियमावली (स्युडोकोड) म्हणतात. तेच मी वर लिहिलेले आहे. संगणकाला कळण्यासाठी मात्र ते आज्ञावलीच्या (कॉम्प्यूटर प्रोग्राम) रूपाने लिहावे लागते.

तरी कळायला कठीण जातेय? तर मग मी आता तुम्हाला अगदी सोप्या उदाहरणातून ह्या संचारकाचे कार्य समजावून सांगतो.

एक घर आहे. त्यात अनेक खोल्या आहेत. एका खोलीतून दुसऱ्या खोलीत जायला दारे आहेत. ह्या घरातल्या प्रत्येक खोलीत बऱ्याच वस्तू आहेत. तुम्हाला असं सांगण्यात आलंय, की ह्या घरात कुठल्या खोलीत कुठल्या वस्तू आहेत, ह्याची खोलीनुसार यादी तुम्हाला करून आणायचीय. सोपं आहे ना ? (वरवर पाहता अगदी तसंच सोपं ह्या संचारकाचं कार्य आहे.) पण तुम्हाला ह्या घरात किती खोल्या आहेत, हे बाहेरून दिसत नाही! मग पूर्ण घर कसं फिरणार? असं करा, हातात एक वही, एक कागद, आणि एक लेखणी घ्या. त्या कागदावर 'खोल्या' असं लिहा. दुसरी वही जरा मोठी घ्या. त्यावर प्रत्येक पानावर 'खोलीचे नाव' असे शीर्षक द्या. पुढे लिहायला जागा ठेवायला विसरू नका. बरं का ?

आता, कागदावर दिवाणखाना असं लिहा. घराच्या मुख्य दारातून आत जा. तुम्ही दिवाणखान्यात आला आहात. त्यामुळे कागदावरचं 'दिवाणखाना' हे खोडून टाका. आणि त्या वहीत शीर्षकाच्या जागी 'दिवाणखाना' असं लिहा. दिवाणखान्यात आजूबाजूला कुठल्या वस्तू दिसताहेत? त्या सगळ्या वस्तूंची नावं वहीतल्या त्या कागदावर लिहा. आणि दिवाणखान्यातून कुठल्या इतर खोल्यांत जाण्याची सोय आहे, त्या खोल्यांची नावं त्या कागदावर लिहा. म्हणजे दिवाणखान्यात तक्तपोस असेल, तर वहीत तक्तपोस लिहा, खुर्च्या, गणपतीची मूर्ती असं सगळं लिहा आणि तिथून स्वयंपाकघरात, शयनगृहात, न्हाणीघरात जाता येत असेल, तर कागदावर 'स्वयंपाकघर', 'शयनगृह', आणि 'न्हाणीघर' असं लिहा. दिवाणखान्यातल्या सगळ्या वस्तूंची आणि तिथून ज्या खोल्यांत जायला मार्ग आहे त्या खोल्यांची अनुक्रमे वहीत आणि त्या कागदावर नोंद झाली? छान!

आता, तो कागद पहा. सर्वात वर कुठल्या खोलीचे नाव आहे ? अर्थातच दिवाणखान्याचे. पण आपण ते खोडलेले आहे ना? मग न खोडलेले असे कुठले नाव आहे? स्वयंपाकघराचे. मग चला त्या दारातून स्वयंपाकघरात. आणि स्वयंपाकघरात आत आल्यावर कागदावरचे स्वयंपाकघराचे नाव खोडायला विसरू नका. तिथे काय वस्तू आहेत, ते वहीतल्या वेगळ्या पानावर 'स्वयंपाकघर' असे शीर्षक देऊन नमूद करा. स्वयंपाकघरातून बाहेर जाणारी दारे बघा. कुठल्या खोल्यांत जाता येईल त्या दारांतून? अरे, हे तर ओळखीचे दार. ह्या दारातून मघा आपण दिवाणखान्यातून स्वयंपाकघरात आलोय. म्हणजे ह्या दारातून आपण पुन्हा गेलो, तर आधी पाहिलेल्या खोलीतच जाणार ! मग उगाच कशाला तिथे जायचे? उरलेले एक दार मात्र जेवणाच्या खोलीत जाते. ती खोली आपल्या कागदावर लिहिलेली आहे का? नाही ! चला, नवीन खोली सापडली.

तर असं करत, करत. आपण सर्व खोल्या धुंडाळून काढू, आणि घरातल्या सर्व वस्तूंची यादी करू शकू. होय ना ?

तसेच संचारक, विश्वजालातून सर्व मजकूर धुंडाळून काढू शकतो.

तुम्हाला एकट्याला ह्या अनोळखी घरातल्या सर्व वस्तूंची यादी करायला खूप वेळ लागला असेल ना? समजा, तुमच्यासारखेच आणखी काही लोक ह्या कामाला लावले असते. आणि "मी दिवाणखाना बघतो, तोवर तू स्वयंपाकघर बघ" अशा आज्ञा तुम्ही त्यांना देऊ शकले असते, आणि अहोआश्चर्यम् ! त्यांनी तुमच्या आज्ञेचे पालन केले असते, तर हे काम लवकर संपले असते, नाही ?

आल्टाव्हिस्टाने शोधयंत्रांच्या विकसनात केलेले मूलभूत योगदान म्हणजे, असा आखुडशिंगी बहुदुधी विश्वजाल-संचारकाचा शोध. त्यावेळी अस्तित्वात असलेले पूर्ण विश्वजाल लवकरात लवकर आपल्या चुंबकीय तबकडीवर कसे शोषून घेता येईल, हे आपल्याला आल्टाव्हिस्टाने शिकवले. शोधयंत्रातला ह्यानंतरचा महत्त्वाचा भाग म्हणजे सूची तयार करणे. तो आपण पुढच्या लेखात बघूया.

[गृहपाठः विद्यार्थीजनहो, याआधी दिलेला गृहपाठ तुम्ही केलेला नाही, हे माझ्या लक्षात आलेले आहे. तो करा, मगच मी पुढचा गृहपाठ देईन. आणि हो, परीक्षेत त्याविषयी प्रश्न देखील असतील बरं का?]