গড়, মধ্যক ও প্রচুরক

গড় শব্দটির সঙ্গে তোমরা যারা স্কুলে বিষয়টি পড়ে ফেলেছ, তারা যেমন পরিচিত, তেমনি যারা ক্রিকেট খেলা দেখো, তারাও পরিচিত। এই বইটি যখন লেখা হচ্ছে, তখন তামিম ইকবালের টেস্ট ক্রিকেটে ব্যাটিং গড় হচ্ছ 40.34 আর সাকিব আল হাসানের 40.93। এই গড় কিভাবে হিসেব করা হলো আর এর মানেই বা কী?

আমাকে যদি দুটি সংখ্যা দিয়ে এদের গড় বের করতে বলা হয়, তখন আমি সংখ্যা দুটি যোগ করে দুই দিয়ে ভাগ করবো। যেমন : 5 ও 6, এই দুটি সংখ্যার গড় হচ্ছে (5 + 6) / 2 বা 11 / 2 বা 5.5। তিনটি সংখ্যা 6, 7, 8-এর গড় হচ্ছে (6 + 7 + 8) / 3 বা 21 / 3 বা 7। তাহলে আমাকে যদি n সংখ্যক সংখ্যা দেওয়া হয়, তাহলে তাদের গড় বের করতে হলে সবগুলো সংখ্যা যোগ করে n দিয়ে ভাগ করবো। তাহলেই হয়ে গেলো।

এখন আমরা পাইথন ব্যবহার করে একটি প্রোগ্রাম লিখবো, যার কাজ হচ্ছে অনেকগুলো সংখ্যার গড় বের করা।

def average(li):
   s = sum(li)
   n = len(li)
   return s / n

li = [1, 2, 3]
print("Average:", average(li))
li = [10, 20, 30, 40, 50, 60, 70, 80]
print("Average:", average(li))
li = [-1, 0, 1]
print("Average:", average(li))

প্রোগ্রামটি রান করলে আমরা আউটপুট পাবো এরকম :

Average: 2.0
Average: 45.0
Average: 0.0

ক্রিকেট খেলায় ব্যাটিং গড় কিভাবে বের করে? মোট রানকে ইনিংস দিয়ে ভাগ করতে হয়। তবে একটি মজার বিষয় হচ্ছে, কোনো ইনিংসে অপরাজিত থাকলে, অর্থাৎ, আউট না হলে, সেই ইনিংসকে ভাগ করার সময় গণনা করা হয় না। ধরা যাক, কোনো ব্যাটসম্যান প্রথম খেলায় করলো 50 রান, দ্বিতীয় খেলায় 100 রান (অপরাজিত), তৃতীয় খেলায় আবারো 50 রান করে আউট হলো। তাহলে তার ব্যাটিং গড় হবে, (50 + 100 + 50) / 2, বা 200 / 2 বা 100। এখানে 3 এর বদলে 2 দিয়ে ভাগ করার কারণ হচ্ছে, দ্বিতীয় খেলায় সে অপরাজিত ছিল।

এখন গড় আমাদের কী কাজে লাগে? ধরা যাক, আন্তর্জাতিক ক্রিকেট খেলায় নতুন একটি দেশের আগমন ঘটলো এবং বাংলাদেশের সঙ্গে ওই দলের খেলা। টসে হেরে ওই দল প্রথমে ব্যাটিং পেল। এখন ওদের যেই দুজন ব্যাটসম্যান ইনিংস ওপেন করতে এসেছে, ঘরোয়া লিগে একজনের ব্যাটিং গড় হচ্ছে 26 আরেকজনের হচ্ছে 41। এই তথ্য থেকে তুমি দুজন ব্যাটসম্যানের মধ্যে তুলনা করতে পারো যে, কে তুলনামূলক ভালো ব্যাটসম্যান। তবে আজকের ম্যাচে কে কত রান করবে, এটি কিন্তু ব্যাটিং গড়ের ওপর নির্ভর করে না। কারও ব্যাটিং গড় 26 মানে এই নয় যে, সে প্রতি ইনিংসে 26 রান করে। তাহলে গড় হচ্ছে কোনো কিছুর মান সম্পর্কে ধারনা করার জন্য একটি টুল মাত্র। ইংরেজিতে একে average বলে, তবে গণিতের ক্ষেত্রে mean শব্দটিই বেশি ব্যবহার করা হয়।

এখন আরেকটি উদাহরণ দেই। কোনো দেশের মানুষ কেমন ধনী বা গরিব, তা বোঝার জন্য অনেকসময় মাথাপিছু আয় ব্যবহার করা হয়। মাথাপিছু আয় মানে হচ্ছে গড় আয়। সেটি ব্যবহার করে সেই দেশের মানুষের অর্থনৈতিক অবস্থা সম্পর্কে ধারণা পাওয়া যায়। কিন্তু সেখানে যদি মানুষের আয়ের মধ্যে বৈষম্য অনেক বেশি হয়, তাহলে কিন্তু গড় ব্যবহার করে প্রকৃত ধারণা পাওয়া যাবে না। একটি উদহারণ দিয়ে বোঝাই। ধরা যাক, কোনো দেশে 10 জন মানুষ আছে। তাদের মধ্যে 2 জন প্রতি মাসে 10 হাজার টাকা আয় করে। 5 জন প্রতিমাসে 20 হাজার টাকা আয় করে। আর একজন আয় করে প্রতিমাসে 30 হাজার টাকা। বাকী দুইজন প্রতি মাসে 5 লক্ষ টাকা আয় করে। তাহলে প্রতিমাসে তাদের গড় আয় কত?

গড় আয় = (10000 + 10000 + 20000 + 20000 + 20000 + 20000 + 20000 + 30000 + 500000 + 500000) / 10 = 115000।
তার মানে গড় আয় এক লক্ষ পনের হাজার টাকা! তাহলে শুধু গড় আয় জানলে যেকেউ সেই দেশের মানুষকে ধনী ভাববে। তাই গড় ব্যবহার করে সবসময় প্রকৃত চিত্র পাওয়া যায় না। তবে এতে হতাশ হওয়ার কিছু নেই, কারণ আমাদের হাতে রয়েছে মধ্যক ও প্রচুরক।

মধ্যক

এখন ধরা যাক, তুমি কোনো ক্রিকেট দলের ম্যানেজার। তোমার দল তৈরির সময় দুই জন ব্যাটসম্যান – রবিন ও সমিত-এর মধ্যে একজনকে বেছে নিতে হবে। দুজনের মধ্যে যার ব্যাটিং গড় বেশি, তুমি তাকে দলে নিতে পারো। কিন্তু তুমি যদি আরেকটু সচেতন হও, তখন হয়ত তুমি জানতে চাইতে পারো যে, কে কতগুলো ম্যাচ খেলেছে। ধরা যাক, রবিন 50 টি ম্যাচ খেলেছে এবং তার ব্যাটিং গড় 30। আর সমিত খেলেছে 5টি ম্যাচ এবং তার ব্যাটিং গড় 38। তুমি কিন্তু বেশিরভাগ ক্ষেত্রেই রবিনকে দলে নেবে, যেহেতু সে সমিতের তুলনায় অনেক বেশি অভিজ্ঞ। কিন্তু দুইজন যদি সমান সংখ্যক ম্যাচ খেলে, তখন কি কেবল গড় হিসেব করবে? তুমি চাইলে তখন আরেক ধরনের টুল ব্যবহার করতে পারো, যার নাম মধ্যক (ইংরেজিতে বলে median)। ধরা যাক, রবিন ও সমিত – দুজনেই 10টি করে ম্যাচ খেলেছে। 10টি ম্যাচে রবিনের রান হচ্ছে 95, 88, 47, 0, 10, 1, 5, 12, 0, 3। আর সমিতের রান হচ্ছে 10, 40, 20, 37, 0, 1, 25, 35, 30, 33। রবিনের গড় রান সমিতের গড় রানের চেয়ে বেশি। তবে এখানে আমরা দেখতে পাচ্ছি, রবিন মাঝে-মধ্যে অনেক বেশি রান করে, তবে বেশিরভাগ সময়ই সে খুব একটা ভালো খেলে না। আর সমিত দুয়েকটা বাদের বাকি খেলাগুলোয় মোটামুটি রান করতে পারে। তাই শুধু গড়ের ওপর ভরসা করা আমাদের ঠিক হবে না। আমরা মধ্যক বের করবো। প্রথমে আমরা তাদের প্রতি ম্যাচের রান ছোট থেকে বড় ক্রমানুসারে সাজাবো। তাহলে রবিনের রান হবে 0, 0, 1, 3, 5, 10, 12, 47, 88, 95 আর সমিতের রান হবে 0, 1, 10, 20, 25, 30, 33, 35, 37, 40। মধ্যক বের করতে গেলে আমাদেরকে তালিকার মাঝামাঝি সংখ্যাটি নিতে হবে। মোট সংখ্যা যদি বিজোড় হয়, তাহলে মাঝামাঝি সংখ্যা হবে একটি। যেমন 11-এর ক্ষেত্রে 6 নম্বর সংখ্যাটি হচ্ছে মাঝামাঝি সংখ্যা। কারণ ওই সংখ্যার চেয়ে ছোট 5টি সংখ্যা আছে। আবার বড় সংখ্যাও আছে 5টি। কিন্তু জোড় সংখ্যার বেলায় একটি মাঝামাঝি সংখ্যা বের করা যায় না। যেমন 10টি সংখ্যার ক্ষেত্রে আমরা যদি 5 নম্বর সংখ্যাটিকে মাঝামাঝি সংখ্যা ধরি, তাহলে তার ছোটি 4টি আর তার বড় 5টি সংখ্যা থাকবে। আবার 6 নম্বর সংখ্যাকে মাঝামাঝি সংখ্যা ধরলে, তার ছোট 5টি আর বড় 4টি সংখ্যা থাকবে।

যেহেতু আমাদের 10 টি সংখ্যা, তাই আমরা 5 ও 6 নম্বর সংখ্যা দুটি নিয়ে তাদের গড় বের করবো, মানে সংখ্যা দুটি যোগ করে দুই দিয়ে ভাগ করবো। তাহলে রবিনের রানের মিডিয়ান হবে 7.5 আর সমিতের রানের মিডিয়ান হবে 27.5। এখানে আমরা মিডিয়ান ব্যবহার করে সিদ্ধান্ত নিতে পারি যে কাকে দলে নেব। কাজটি তোমরা খাতা কলমে করে ফেল, তবে আমি পাইথন ব্যবহার করে একটি প্রোগ্রাম লিখে দেখাবো।

def median(li):
   li.sort()
   count = len(li)
   if count == 0:
      return None
   if count % 2 == 1:
      mid = count // 2
      return li[mid]
   else:
      mid2 = count // 2
      mid1 = mid2 - 1
      return (li[mid1]+li[mid2])/2

robin_run = [95, 88, 47, 0, 10, 1, 5, 12, 0, 3]
shomit_run = [10, 40, 20, 37, 0, 1, 25, 35, 30, 33]

median_robin = median(robin_run)
median_shomit = median(shomit_run)

print("Median run for Robin", median_robin)
print("Median run for Shomit", median_shomit)

আমরা এখন আমাদের মাথাপিছু আয়ের হিসেবে ফেরত যাই। তোমরা যদি সেই উদাহরণ থেকে মধ্যক বের করো, তাহলে সেটি হবে 20000। তোমরা হাতে-কলমে কিংবা একটি প্রোগ্রাম লিখে সেটি বের করতে পারো। এখানে কিন্তু মধ্যক ব্যবহার করেই বাস্তব চিত্রের কাছাকাছি চিত্র পাওয়া যাচ্ছে।

প্রচুরক

কোনো একটি ওয়ানডে ম্যাচের আগে তোমার বন্ধুরা মিলে আলোচনা করছ, আজকের খেলায় মোস্তাফিজ কয়টি উইকেট পাবে। একেকজন একেক সংখ্যা বলছে। কিন্তু তুমি যদি গড় ও মধ্যক ঠিকভাবে বুঝে থাক, তাহলে তুমি মোস্তাফিজের সব খেলার তথ্য ইন্টারনেট থেকে যোগাড় করে গড় ও মধ্যক বের করে আজকে সে কয়টি উইকেট পাবে, তা অনুমান করে ফেলতে পারবে। যদিও সেই অনুমান সঠিক নাও হতে পারে। তবে আমি তোমাদেরকে এখন আরেকটি টুলের সঙ্গে পরিচয় করিয়ে দেব, যার নাম হচ্ছে প্রচুরক (ইংরেজিতে mode)।

একটি ওয়ানডে ম্যাচে একজন বোলারের পক্ষে সর্বোচ্চ ও সর্বনিম্ন কয়টি উইকেট পাওয়া সম্ভব? উত্তর হবে, যথাক্রমে 10টি ও 0টি। 0-এর চেয়ে কম কিংবা 10-এর চেয়ে বেশি উইকেট পাওয়া সম্ভব নয়। এখন ধরা যাক, মোস্তাফিজ এখন পর্যন্ত 20টি ওয়ানডে ম্যাচে বোলিং করেছে। সেই খেলাগুলোতে সে প্রতি খেলায় যতগুলো উইকেট পেয়েছে, তা হচ্ছে : 6, 5, 6, 4, 3, 1, 3, 2, 1, 0, 5, 3, 3, 2, 2, 1, 3, 4, 3, 3। এখন আমি একটি তালিকা তৈরি করবো, যে মোস্তাফিজ 0 উইকেট পেয়েছে কতবার, 1 উইকেট পেয়েছে কতবার … এরকম।

উইকেট ম্যাচের সংখ্যা
0 1
1 3
2 3
3 7
4 2
5 2
6 2
7 0
8 0
9 0
10 0

তাহলে আমরা দেখতে পাচ্ছি, মোস্তাফিজ সবচেয়ে বেশি পেয়েছে 3 উইকেট। 20টি খেলার মধ্যে 7 টি খেলাতেই সে 3 উইকেট করে পেয়েছে। তাহলে তুমি ধরে নিতে পারো যে, আজকের খেলাতে মোস্তাফিজের 3 উইকেট পাওয়ার সম্ভাবনাই সবচেয়ে বেশি। এখানে প্রচুরক হচ্ছে 3। কারণ উইকেটের লিস্টে 3 সবচেয়ে বেশি বার আছে। আমরা এখন ওপরের হিসেবটা একটি পাইথন প্রোগ্রাম লিখে করবো।

wkts_list = [6, 5, 6, 4, 3, 1, 3, 2, 1, 0, 5, 3, 3, 2, 2, 1, 3, 4, 3, 3]

for item in range(11):
   print("Wicket:", item, "Count:", wkts_list.count(item))

প্রোগ্রামটি রান করলে আউটপুট আসবে এরকম :

Wicket: 0 Count: 1
Wicket: 1 Count: 3
Wicket: 2 Count: 3
Wicket: 3 Count: 7
Wicket: 4 Count: 2
Wicket: 5 Count: 2
Wicket: 6 Count: 2
Wicket: 7 Count: 0
Wicket: 8 Count: 0
Wicket: 9 Count: 0
Wicket: 10 Count: 0

যে ঘটনাটি সবচেয়ে বেশি সংখ্যক বার ঘটে, সেটিই হচ্ছে প্রচুরক। বিভিন্ন রকম মতামত জরিপ করতে প্রচুরক ব্যবহার করা হয়। যেমন ধরো, তুমি একটি নতুন মোবাইল ফোন কিনতে চাও। কিন্তু কোন ব্র্যান্ডের ফোন ভালো সেটা বুঝতে পারছ না। তখন তুমি তোমার বন্ধুদের জিজ্ঞাসা করতে পারো এবং সবচেয়ে বেশি সংখ্যক বন্ধু যেই ব্র্যান্ডের মোবাইল ফোন ব্যবহার করে বা ভালো বলে, সেই ব্র্যান্ডের ফোন কিনতে পারো।

গড়, মধ্যক ও প্রচুরক হচ্ছে পরিসংখ্যানের একেবারে মৌলিক জিনিস। এগুলো ছাড়াও আরো অনেক ধরনের টুল আছে, যেগুলো ব্যবহার করে বিভিন্ন তথ্য-উপাত্ত বিশ্লেষণ করা যায়। এগুলো তোমরা ভবিষ্যতে পরিসংখ্যান পড়লে জানতে পারবে।

FAQ – পাইথন দিয়ে প্রোগ্রামিং শেখা

পাইথন দিয়ে প্রোগ্রামিং শেখা (লেখক তামিম শাহরিয়ার সুবিন) বই সম্পর্কে কিছু সচরাচর জিজ্ঞাসিত প্রশ্নের উত্তর –

১) কোন প্রকাশনী থেকে বইটি প্রকাশিত হয়েছে?

উত্তরঃ দ্বিমিক প্রকাশনী (ওয়েবসাইট http://dimik.pub )

২) বইয়ের দাম কত?

উত্তরঃ গায়ের দাম ২০০ টাকা (দোকানে একটু কম রাখার কথা)।

৩) বইতে পাইথন ২ নাকি পাইথন ৩ ব্যবহার করা হয়েছে?

উত্তরঃ পাইথন ৩।

৪) আমি (তামিম শাহরিয়ার সুবিন-এর) কম্পিউটার প্রোগ্রামিং ১ম ও ২য় খণ্ড বইটি পড়েছি, এখন কি পাইথন বইটি পড়ব?

উত্তরঃ পাইথন শেখার কোনো দরকার থাকলে পড়া যেতে পারে, নইলে পড়ার দরকার নাই।

৫) বইটা কাদের জন্য উপযোগি?

উত্তরঃ যারা প্রোগ্রামিংয়ে একেবারে নতুন, প্রোগ্রামিং শেখা শুরু করবে, তাদের জন্য উপযোগি। এছাড়া যারা আগে প্রোগ্রামিং শিখতে গিয়ে শিখতে পারে নাই, এখন আরেকবার চেষ্টা করবে, বইটি তাদেরও কাজে লাগতে পারে। যারা অভিজ্ঞ প্রোগ্রামার, বইটি তাদের জন্য নয়।

৬) “পাইথন পরিচিতি” ও “পাইথন দিয়ে প্রোগ্রামিং শেখা” বই দুটির মধ্য পার্থক্য কী?

পাইথন পরিচিতি বইতে পাইথন 2.x ব্যবহার করা হয়েছে, আর পাইথন দিয়ে প্রোগ্রামিং শেখা বইটিতে 3.x। পাইথন পরিচিতি বইটি অভিজ্ঞ প্রোগ্রামার যারা পাইথন শিখতে চায়, তাদের জন্য, আর পাইথন দিয়ে প্রোগ্রামিং শেখা বইটি যারা নতুন প্রোগ্রামিং শিখতে চায়, তাদের জন্য।

৭) বইটি কোথায় পাওয়া যাবে?

নীলক্ষেতের হক লাইব্রেরি, মানিক লাইব্রেরি ও রানা বুক পাবলিশার্স-এ (ফোন নাম্বার দ্বিমিকের ওয়েবসাইটে দেওয়া আছে)। এছাড়া ঘরে বসে অনলাইনে অর্ডার করা যাবে রকমারি ডট কম-এ।

৮) ঢাকার বাইরে থেকে কিভাবে কিনব?

উত্তরঃ উপরে উল্লেখিত (নীলক্ষেতের) তিনটি বইয়ের দোকানে যোগাযোগ করতে হবে (ঠিকানা দ্বিমিকের ওয়েবসাইটে দেওয়া আছে)। এছাড়া rokomari.com বাংলাদেশের যেকোনো জায়গায় বই পৌঁছে দেয়।

৯) বাংলাদেশের বাইরে থেকে কিভাবে কিনব?

উত্তরঃ জানি না।

১০) বইতে কী কী বিষয় আলোচনা করা হয়েছে?

উত্তরঃ বইয়ের ওয়েবসাইটে বিস্তারিত আছে ঃ http://dimik.pub/book/155/

১১) পাইথন সম্পর্কিত কিছু প্রশ্ন ছিল, কোথায় জিজ্ঞাসা করবো?

উত্তরঃ পাইথন নিয়ে জিজ্ঞাসা থাকলে নিচের দুটি গ্রুপে কিংবা প্রোগ্রামাবাদে প্রশ্ন করতে হবে:

১২) আচ্ছা, পাইথন কী?

উত্তরঃ বিস্তারিত লিখেছি এই লেখায় : পাইথন কী?

একজন টিম বার্নার্স লী, ওয়ার্ল্ড ওয়াইড ওয়েব এবং একটি টুরিং পুরষ্কার

স্যার টিম বার্নার্স লী

সম্প্রতি স্যার টিম বার্নাস লী কম্পিউটার বিজ্ঞানের নোবেল পুরষ্কার হিসেবে খ্যাত টুরিং পুরষ্কারে ভূষিত হয়েছেন। এই বছর ছিল টুরিং পুরষ্কারের ৫০ বছর পূর্তি। গত ৪ মে, বৃহস্পতিবার এ্যাসোশিয়েন অফ কম্পিউটিং মেসিনারিজ (ACM) ওয়ার্ল্ড ওয়াইড ওয়েব (www), প্রথম ওয়েব ব্রাওজার এবং ওয়েবকে মানসম্মত করার জন্য যে মৌলিক নিয়মনীতি ইত্যাদি তৈরির জন্য প্রফেসর স্যার টিম বার্নাস লী-কে টুরিং পুরষ্কারে ভূষিত করেন ( “inventing the World Wide Web, the first web browser, and the fundamental protocols and algorithms allowing the web to scale”)।

টুরিং পুরষ্কার কমিটি লী এর এই আবিষ্কারকে ইতিহাসের সবচেয়ে প্রভাবশালী কম্পিউটিং উদ্ভাবন হিসেবে বিবেচিত করেছে। ওয়ার্ল্ড ওয়াইড ওয়েব প্রতিদিন এক বিলিয়নের বেশি মানুষ যোগাযোগ, তথ্যের আদান-প্রদান, ব্যবসায়িক কাজের জন্য ব্যবহার করে থাকে।

টুরিং পুরষ্কার

১ মিলিয়ন ইউএস ডলার এসিএম টুরিং অ্যাওয়ার্ডের পুরষ্কার হিসেবে দেয়া হয়, যার আর্থিক সহায়তা প্রদান করে থাকে গুগল ইনকর্পোরেট। ব্রিটিশ গণিতবিদ অ্যালান টুরিং এর নামানুসারে এই পুরষ্কার দেয়া হয়ে থাকে। কম্পিউটার বিজ্ঞানের গুরুত্বপূর্ণ অবদানের জন্য এই পুরষ্কার দেয়া হয়ে থাকে।

এসিএম প্রেসিডেন্ট ভিকি এল হ্যানসন টিম লী এর টুরিং পুরষ্কার প্রাপ্তি সম্পর্কে বলেন, “ওয়ার্ল্ড ওয়াইড ওয়েব সর্বপ্রথম অনলাইনে আসে ১৯৯১ সালে। যদিও খুব বেশিদিন আগের কথা নয়, তারপরেও স্যার লী এর আবিষ্কারের আগের পৃথিবীর কথা ভাবাটা আমাদের জন্য কষ্টকর। বিভিন্ন দিক থেকে, ওয়ার্ল্ড ওয়াইড ওয়েবের অসামান্য প্রভাব সুস্পষ্ট। তারপরেও অনেকেই, WWW এর অন্তর্নিহিত প্রযুক্তিগত অবদানের স্বতঃস্ফূর্ত প্রশংসা করেন না। টিম বার্নাস লী, শুধুমাত্র ওয়ার্ল্ড ওয়াইড ওয়েবের মূল অংশটুকু উদ্ভাবন করেননি, একই সাথে তিনি URI (Uniform Resource Identifier) এবং ওয়েব ব্রাউজারও উদ্ভাবন করেছেন, যার দ্বারা Web এর ব্যবহার আমাদের কাছে সহজতর হয়েছে। WWW এর সামগ্রিক অংশের প্রতিটি উপাদান কিভাবে আলাদা আলাদা ভাবে কাজ করবে তার একটি সুস্পষ্ট ধারণা দিয়েছেন স্যার টিম বার্নাস লী।”

গুগলের বিশিষ্ট বিজ্ঞানী, অ্যান্দ্রেই ব্রোডার বলেন, “আমরা যেভাবে আইডিয়া এবং তথ্যের আদান-প্রদান করি, সেটির আমূল পরিবর্তন এনেছে এই ওয়েব এবং সেইসাথে বৈশ্বিক অর্থনৈতিক উন্নয়ন ও সম্ভাবনার চালিকাশক্তি হিসেবে নিজেকে প্রমাণ করেছে।” ভ্যানুভার বুশের একটি প্রবন্ধে ১৯৪৫ সালে ওয়েবের ধারণা পাওয়া গেলেও পরবর্তী কয়েক দশকে হাইপারটেক্সট, ইন্টারনেট, পারসোনাল কম্পিউটার ইত্যাদি নিয়ে ধোঁয়াশার সৃষ্টি হয়। কিন্তু টিম বার্নাস লী যখন Unified User Interface এর ধারণা দেন, তখন থেকেই মূলত ওয়েবের বিস্ফোরক বিকাশের সূচনা হয়।

১৯৮৯ সালে টিম বার্নার্স লী একাধারে এমআইটির কম্পিউটার সায়েন্স এ্যান্ড আর্টিফিসিয়াল ইন্টিলিজেন্স ল্যাব এবং ইলেক্ট্রিক্যাল ও ইলেক্ট্রিনিক্স প্রকৌশল বিভাগে কর্মরত ছিলেন, তখন এই ওয়ার্ড ওয়াইড ওয়েবের চিন্তা তাঁর মাথায় আসে। তাঁর চিন্তা ছিল পৃথিবী জুড়ে বিজ্ঞানীরা যেন সহজেই নিজেদের মধ্যে আইডিয়া এবং তথ্যের আদান প্রদান করতে পারে।

নিজের টুরিং পুরষ্কার পাওয়ার অনুভূতি ব্যক্ত করে লী বলেন, “একজন কম্পিউটার অগ্রদূতের নামাঙ্কিত পুরষ্কার অর্জন করে নিজেকে আমি অত্যন্ত সম্মানিত মনে করছি, যিনি দেখিয়েছেন কম্পিউটার দিয়ে একজন প্রোগ্রামার কী করতে পারেন।” তিনি আরো বলেন যে, টুরিং পুরষ্কার, যা কিনা পৃথিবীর সর্বোচ্চ মেধাবিদের দেয়া হয়ে থাকে, সেই পুরষ্কার অর্জন করার থেকে সম্মানের আর কিছুই হতে পারে না।

অক্সফোর্ড বিশ্ববিদ্যালয়ের অধ্যাপক টিম বার্নার্স লী World Wide Web Consortium এর প্রতিষ্ঠাতা এবং পরিচালক, যা ওয়েব ডেভেলপমেন্টের প্রযুক্তিগত মানদণ্ড স্থাপনের জন্য কাজ করে। একই সাথে তিনি World Wide Web Foundation এর প্রতিষ্ঠাতা, যার মূল লক্ষ্য জনস্বার্থে ওয়েবের ব্যবহার নিশ্চিত করা এবং ওয়েবের ব্যবহারকে মৌলিক অধিকার হিসেবে প্রতিষ্ঠিত করা।

CASIL এর ডিসেন্ট্রালাইজ ইনফরমেশন গ্রুপের পরিচালক, লী Http with Accountability (HTTPA) তৈরি করেন, যা Private-data এর ট্রান্সমিশন কিভাবে হচ্ছে সেটির উপর নজর রাখে এবং কিভাবে মানুষের দেয়া তথ্যের ব্যবহার হচ্ছে সেটি অনুসন্ধান করতে পারে। লী Solid (Social Linked Data) নামের একটি প্রকল্পের নেতৃত্ব দেন, যেটি একজন ব্যক্তিকে তার নিজস্ব ডাটা নিয়ন্ত্রণের অনুমতি দেয় এবং পছন্দসই অ্যাপ্লিকেশনে সেসব ডাটা ব্যবহারের জন্য যোগ্য করে তোলে।

এমআইটির প্রেসিডেন্ট এল র‍্যাফেল রেইফ বলেন, “টিম বার্নাস লী এর বর্নাঢ্য ক্যারিয়ার MIT এর মূল আসক্তি – প্রযুক্তির মাধ্যমে পৃথিবীর সৌন্দর্য বৃদ্ধির উদ্দেশ্যকেই ব্যাখ্যা করছে। আজ আমরা উদযাপন করছি আমাদের মানবজীবনের সর্বোৎকৃষ্ট প্রাপ্তি, যা টিম লী আমাদের জন্য করেছে এবং তাঁকে অভিনন্দন জানাচ্ছি এই সুন্দর পুরষ্কার প্রাপ্তিতে যা কিনা সত্যিকার অর্থেই তাঁর প্রাপ্য ছিল।”

গনিতের প্রতি আগ্রহ থেকেই টিম বার্নার্স লী এর প্রোগ্রামিং এর প্রতি আগ্রহ জন্মায়। অবশ্য, এর সাথে পারিবারিক যোগসূত্রও ছিল; কারণ লী এর বাবা-মার ছিল পৃথিবীর প্রথম General Purpose কম্পিউটারে কাজ করার অভিজ্ঞতা। এর পরের বছর, তিনি একটি প্রোগ্রাম লিখেন, যেটি বিভিন্ন আইডিয়া এবং প্রজেক্টের সাথে কীরূপ সম্পর্ক আছে সেটি চিহ্নিত করতে পারতো, যেটি কিনা পরোক্ষভাবে ওয়েবের প্রথম পদক্ষেপ ছিল।

CSAIL এর পরিচালক ড্যানিয়েলা রুস বলেন, “টিমের উদ্ভাবনী এবং স্বপ্লীল কাজগুলো আমাদের জীবনে এনেছে অভাবনীয় পরিবর্তন। এই পরিবর্তনের প্রভাব ছড়িয়ে গেছে যোগাযোগ এবং বিনোদন থেকে কেনাকাটা এবং ব্যবসা পর্যন্ত। তাঁর কাজ সারা বিশ্বের মানুষের উপর গভীর প্রভাব ফেলেছে, এজন্য আমরা CSAIL সকল সদস্য তাঁর কম্পিউটার বিজ্ঞানের সর্বোচ্চ সম্মান টুরিং পুরষ্কার প্রাপ্তিতে অত্যন্ত গর্ববোধ করছি।”

টিম বার্নার্স লী তাঁর কাজের জন্য বিভিন্ন সময়ে নানাবিধ সম্মাননায় ভূষিত হয়েছেন। তন্মধ্যে রানী এলিজাবেধের পক্ষ থেকে পাওয়া নাইট উপাধি অন্যতম। এছাড়াও টাইম ম্যাগাজিন তাঁকে একবিংশ শতাব্দির ১০০ জন গুরুত্বপূর্ণ ব্যক্তির একজন হিসেবে সম্মানিত করেছে। আসছে জুন মাসের ২৪ তারিখ ক্যালিফোর্নিয়ার সান ফ্র্যান্সিসকোতে আনুষ্ঠানিকভাবে ACM কর্তৃক টুরিং পুরষ্কার গ্রহণ করার মাধ্যমে টিম বার্নার্স লী এর মুকুটে যুক্ত হবে আরেকটি পালক।

লেখকঃ তামান্না নিশাত রিনি।