Stack and Queue

You might also like

Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 9

// This function push ann element into the stack

void push (int stack[] , int x , int n) {


if ( top == n-1 ) {
cout << “Stack is full.Overflow condition!” ;
}
else{
top = top + 1 ;
stack[top] = x ;
}
}

//This Function pop the top value of the stack


void pop (int stack[ ] ,int n ) {
if( isEmpty ( ) )
{
cout << “Stack is empty. Underflow condition! ” << endl ;
}
else
{
top = top - 1 ;
}
}

int topElement ( ) {
return stack[ top ];
}

bool isEmpty ( ) {
if ( top == -1 ) return true ;
return false;
}

int size ( ) {
return top + 1; // returns the size of a stack
}

//Implementation of Stack data structure


#include <iostream>
using namespace std;
int top = -1; //Globally defining the value of top as the stack is empty

void push (int stack[ ] , int x , int n)


{
if ( top == n-1 ) //If the top position is the last of position of
the stack, this means that the stack is full.
{
cout << "Stack is full.Overflow condition!" ;
}
else
{
top = top +1 ; //Incrementing the top position
stack[ top ] = x ; //Inserting an element on incremented position
}
}
bool isEmpty ( )
{
if ( top == -1 ) //Stack is empty
return true ;
else
return false;
}
void pop ( )
{

if( isEmpty ( ) )
{
cout << "Stack is empty. Underflow condition! " << endl ;
}
else
{
top = top - 1 ; //Decrementing top’s position will detach last element
from stack
}
}
int size ( )
{
return top + 1;
}
int topElement (int stack[])
{
return stack[ top ];
}
//Let's implement these functions on the stack given above

int main( )
{
int stack[ 3 ];
// pushing element 5 in the stack .
push(stack , 5 , 3 ) ;

cout << "Current size of stack is " << size ( ) << endl ;

push(stack , 10 , 3);
push (stack , 24 , 3) ;

cout << "Current size of stack is " << size( ) << endl ;

//As the stack is full, further pushing will show an overflow condition.
push(stack , 12 , 3) ;

//Accessing the top element


cout << "The current top element in stack is " << topElement(stack) <<
endl;

//Removing all the elements from the stack


for(int i = 0 ; i < 3;i++ )
pop( );
cout << "Current size of stack is " << size( ) << endl ;

//As the stack is empty , further popping will show an underflow condition.
pop ( );

// this is the code for valoid bracket matching


#include <bits/stdc++.h>
using namespace std;

int main() {
stack <char> a;
string s;
cin >> s;
int l=s.size();
for(int i=0; i<l; i++){
if(s[i]=='(' || s[i]=='{' || s[i]=='['){
a.push(s[i]);
}
else{
if(s[i]==')'){
if(a.empty()){
cout << "NO" << endl;
return 0;
}
else if(a.top()=='('){
a.pop();
}
else{
cout << "NO" << endl;
return 0;
}
}
else if(s[i]=='}'){
if(a.empty()){
cout << "NO" << endl;
return 0;
}
else if(a.top()=='{'){
a.pop();
}
else{
cout << "NO" << endl;
return 0;
}
}
else{
if(a.empty()){
cout << "NO" << endl;
return 0;
}
else if(a.top()=='['){
a.pop();
}
else{
cout << "NO" << endl;
return 0;
}

}
}
}
if(a.empty()) cout << "YES" << endl;
else cout << "NO" << endl;
return 0;
}
// this is the code for valid bracket matching

#include<stack>
#include<string>

class ValidBalancedParenthesis {
public:
// When a closing parenthesis is encountered, it must be matched with the
nearest unmatched opening parenthesis
// To do this, keep a stack of unmatched opening parenthesis and whenever a
closing parenthesis is encountered,
// validate that the top of the stack has the corresponding opening
parenthesis
bool isValid(std::string expr) {
std::stack<char> openingStack;
for(char c: expr) {
// If opening parenthesis, push into the stack
if(c == '(' || c == '{' || c == '[') {
openingStack.push(c);
} else {
// There must be a unmatched opening parenthesis
if(openingStack.empty()) return false;
// Match with the top of the stack. If not matching, return false
immediately
if(c == ')' && openingStack.top() != '(') return false;
if(c == ']' && openingStack.top() != '[') return false;
if(c == '}' && openingStack.top() != '{') return false;
// If not returned false so far, it means the top of the stack has
been matched with the closing parenthesis
// So, remove the matched parenthesis from top of the stack
openingStack.pop();
}
}

// Valid only if there are no unmatched opening parenthesis pending


return openingStack.empty();
}
}

//stack implementation using array


class Stack {
public:
vector<int> stack;
int topTrack, capacity, currentSize;
Stack (int capacity) {
this->capacity = capacity;
topTrack = -1;
currentSize = 0;
stack.resize(this->capacity);
}

bool isEmpty() {
return currentSize == 0;
}

int size() {
return currentSize;
}
int top() {
if(topTrack < 0) {
return -1;
}
return stack[topTrack];
}

void push(int element) {


if(topTrack >= capacity - 1) {
return;
}
stack[++topTrack] = element;
currentSize++;
}

void pop() {
if(topTrack < 0) {
return;
}
topTrack--;
currentSize--;
}
};

//Queue implementation using array


class Queue {
public:
vector<int> queue;
int f, r, c, currsize;
Queue (int capacity) {
this->c=capacity;
f=-1, r=-1;
currsize=0;
queue.resize(this->c);
}

bool isEmpty() {
return currsize == 0;
}

int size() {
return currsize;
}

int front() {
if(f == -1) return -1;
return queue[f];

int back() {
if(r == -1) return -1;
return queue[r];

void push(int element) {


if(r+1 == c) return;
if(r == -1){
f=0, r=0;
currsize++;
queue[0]=element;
return;
}
currsize++;
r++;
queue[r] = element;
}

void pop() {
if(f == -1) return;
if(f+1 == c) return;
if(f==r) {
f=-1;
r=-1;
currsize--;
return;
}
f++;
currsize--;
}
};

//Minstack implementation using two stack


class MinStack {
public:
stack<int> stack1, stack2;
void push(int x) {
stack1.push(x);
if (stack2.empty() || x <= getMin()) {
stack2.push(x);
}
}
void pop() {
if (stack1.top() == getMin()) {
stack2.pop();
}
stack1.pop();
}
int top() {
return stack1.top();
}
int getMin() {
return stack2.top();
}
};

জামান ইঞ্জিনিয়ারিং শেষ করে বিসিএস দিয়ে ম্যাজিস্ট্রেট হয়েছে। আজ তার প্রথম কর্মদিবস। অফিসের উদ্দেশ্যে বাসা
থেকে বের হওয়ার সময় জামানের বাবা আখলাক উদ্দিন ছেলেকে ডেকে নিয়ে বললেন, 'আজ আমি খুব খুশি৷ তুমি
একজন বিসিএস ক্যাডার হিসাবে গড়ে উঠতে পেরেছো। এখন এতোদিন কষ্ট করে যত লেখাপড়া করেছ সেগুলো বাকি
জীবন প্রাকটিক্যালি প্রয়োগ করার সময় এসেছে। এতোদিনের শিক্ষাটুকু সারাজীবন মনে রাখলেই তুমি জীবনের সব
পর্যায়ে সফল হবা। তোমার জন্য আমার পক্ষ থেকে শুভকামনা।'
জামানের চোখে জল চলে আসলো। বাবার স্বপ্ন পূরণ করতে পারা খুশির জল। আখলাক সাহেবের পায়ে হাত দিয়ে
সালাম করে জামান প্রতিজ্ঞা করলো। বললো, 'তোমার কথামতো আমি আমার এতোদিনের শিক্ষা কর্মক্ষেত্রে ঠিকভাবে
প্রয়োগ করবো। কথা দিলাম।'
.
অফিসের তৃতীয় দিনেই সে সুযোগ আসলো। ভ্রাম্যমাণ আদালত হিসাবে একটা গ্রামে গেলো জামান। কলেজের এক ছেলে
তার জুনিয়র মেয়েকে রাস্তায় টিজ করেছে। কিন্তু ছেলে স্বীকার করবে না। তার একই কথা, 'আমি কিছু করিনি।
মেয়ে আমার সাথে প্রেম করতে চেয়েছিলো, আমি রাজি হইনি বলে আমাকে ফাসাচ্ছে।'
বেশ ঝামেলায় পড়লো জামান। এখন কি করবে? মাথায় হঠ্যাৎই বাবার উপদেশ ভেসে উঠলো। এতোদিনের শিক্ষা কাজে
লাগাও। বড় একটা শ্বা স ছেড়ে জামান ছেলেটাকে প্রশ্ন করলো, 'জিএইট ভুক্ত দেশগুলোর নাম কি?'
ছেলেটা অবাক হয়ে চেয়ে আছে। জামান আবার প্রশ্ন করলো, 'বলো ন্যাটোর সদর দপ্তর কোথায় অবস্থিত?'
ছেলেটা উত্তর দিতে পারলো না। জামান ঘোষণা করলো, 'এই ছেলেই নিশ্চিত ইভ টিজিং করেছে।'
ভ্রাম্য মা ন আদালত ছেলেটাকে ছয় মাসের কারাদন্ড দি লো, সাথে ত্রিশ হাজার টাকা জরিমানা।
.
এভাবে আরো কিছু কেস সলভ করার পর জামান রিয়েলাইজ করলো, বিসিএসের পড়ালেখা রিয়েল লাইফে আসলেই অনেক
কাজে দেয়। মানুষ শুধু শুধুই এটা নিয়ে ট্রল করে৷ যারা ট্রল করে তারা কোনোদিন বিসিএস পাশ করতে পারেনা
বলেই ট্রল করে।
এই লেখাপড়া যে রিয়েল লাইফে আসলেই কাজ করে জামান পুরোপুরি নিশ্চিত হলো আরো কিছুদিন পর। নাতাশা
নামের এক অপূর্ব সুন্দরী মেয়ের প্রেমে পড়েছে সে। কিন্তু বুঝে উঠছে না কিভাবে প্রপোজ করবে। কর্মক্ষেত্রে
জাদরেল ম্যাজিস্ট্রেট হলেও প্রেমের রাস্তায় সে নিতান্তই বাচ্চা। শেষমেশ অনেক সাহস সঞ্চয় করে একদিন নাতাশার
সামনে গিয়ে দাড়ালো জামান। বললো আমার কিছু কথা আছে।
নাতাশা মুচকি হাসলো, 'কি কথা? বলেন।'
জামান কোনোমতে চোখমুখ শক্ত করে বললো, 'পল্লীকবি জসিম উদ্দিনের কবর কবিতায় 'কবর' শব্দটি ব্যবহৃত
হয়েছে এগারো বার। আর সোনার তরী কবিতায় 'সোনার ধান' কথাটা ব্যবহার হয়েছে দুইবার।'
নাতাশা অনেক্ষণ চুপ করে রইলো। তারপর জামানের হাত ধরে বললো, 'আমি বিয়েতে রাজি।'
.
বিয়ের পর জীবনটা ভীষণ আনন্দে কাটতে লাগলো জামানের। হানিমুনে গেল থাইল্যান্ড। প্রথমবার বিমানে উঠে
সিস্টেম দেখে সে তো পুরোপুরি অবাক। পাইলটের কাজ হলো প্রথমে শরৎচন্দ্রের সবগুলো উপন্যাসের নাম মুখস্ত
বলা। এতেই বিমান রানওয়ে দিয়ে চলতে শুরু করে। তারপর মানিক বন্দোপাধ্যায়ের ছোটগল্পগুলোর নাম বললেই
বিমান উড়তে শুরু করে। এমনকি জামান দ্বিতীয় বিশ্বযুদ্ধের অক্ষশক্তির দেশগুলোর নাম জানে বলে তার সিটবেল্টও
পরা লাগেনাই।
.
জীবন যেন জামানের জন্য আরো অবাক হওয়ার ব্যবস্থা করে রেখেছিলো। দেশে ফিরে বাড়ি করার জন্য ব্যাংক থেকে
লোন নিতে গিয়ে দেখে পু রো ব্যাং কিং সিস্টে মটাই দাঁ ড়ি য়ে আছে বি শ্বে র বড় দশটা জলপ্রপাত আরমরু ভূ মি র
নামের ওপর। সবগুলো মুখস্ত বলতে পারায় একপ্রকার বিনা সুদে লোন পেয়ে গেলো জামান। বাড়ির কাজ শুরু
করতে গিয়ে অবাক হলো আরো। ইঞ্জিনিয়াররা পুরো বাড়ির ডিজাইন করছে শুধুমাত্র কিছু ইংরেজি সিনোনিম আর
এন্টোনিমের ওপর ভিত্তি করে। জামানের ইঞ্জিনিয়ারের ভোকাবুলারি ভালো ছিলো বিধায় তার বাড়িটাও হলো বেশ
সুন্দর আর মজবুত।
.
এদিকে নাতাশা প্রেগনেন্ট৷ দশ মাস পর এক রাতে নাতাশার ব্যাথা উঠলো৷ দ্রুত হাসপাতালে নেয়ার পর ডাক্তার
চিন্তিত গ লায় বল লো, 'বড় একটা ঝামেলা হয়ে গেছে। মা আর বাচ্চাকে একসাথে বাঁচানোর একটাই মাত্র উপায়
আছে।'
জামান উৎকণ্ঠিত গলায় জানতে চাইলো, 'কি সে উপায় ডাক্তার সাহেব?'
ডাক্তার অনেক্ষণ চু প করে থেকে বললো, 'সে উপায়টা হলো মধ্যপ্রাচ্যের সবগুলো দেশের রাজধানী ও মুদ্রার নাম
জানতে হবে। একটা ভুল হলেই শেষ।'
জামান ডাক্তারের দিকে তাকিয়ে বললো, 'আপনিও বিসিএস ক্যাডার?'
ডাক্তার হ্যা সূ চক মা থা নাড়লো, 'আমিও ক্যাডার।'
জামানের ভাগ্য ভালো ছিলো৷ এই ডাক্তার বেশ মেধাবী। কিচ্ছু ভোলেনাই। ইরাক সিরিয়া হয়ে কাতারের রাজধানী
আর মুদ্রার নাম বলতে না বলতেই বাচ্চা ডেলিভারি হয়ে গেল। ডাক্তার স্বস্তির নিশ্বাস ফেলে বললো, 'মা আর
বাচ্চা দুজনেই সুস্থ আছে।'
.
পরিশিষ্টঃ জামানের বয়স চুরাশি বছর। মৃত্যুশয্যায় শায়িত। সফল একটা জীবন কাটিয়ে এখন তার শেষ সময়
উপস্থিত। ছেলে মেয়ে নাতিপুতিরা সবাই তাকে ঘিরে বসে আছে। জামান সবার দিকে একবার তাকিয়ে বললো, 'আজ
আমি তোমাদের একটা কথা বলে যেতে চাই মরার আগে। জীবনে যা কিছুই হোক না কেন, যত বিপদই আসুক না
কেন, সবসময় এই কথাটা মনে রাখবা। তাহলে কোনো সমস্যাই আর সমস্যা থাকবে না।'
'কি সেই কথা বাবা? ব্যাকুল হয়ে জানতে চাইলো জামানের বড় ছেলে।'
জামান অল্প একটু হেসে বললো, 'কথাটা হলো উগান্ডার প্রেসিডেন্টের নাম ইয়োবেরি মুসেভেনি।' বলেই শেষ
নিশ্বাস ত্যাগ করলো জামান। তার চোখেমুখে তখনো অন্যরকম এক তৃপ্তির ছোয়া!

এই সেমিস্টারে Artificial Intelligence কোর্স থাকার সুবাদে Neural Network টপিক্স পড়তে গিয়ে
কৌতুহল বশত এটা নিয়ে নেটে আরেকটু ঘাটাঘাটি করি। আর রীতিমতো স্রষ্টার সৃষ্টি দেখে আবারো অবাক হই।
আল্লাহ তায়ালা আমাদের ব্রেইনের এই জটিল সব প্রসেসকে এতো নিখুত আর পারফেক্টলি সাজিয়েছেন যে, এটা নিয়ে কেউ
স্টাডি করলে যে কেহই অবাক হবে।
ধরেন একজন লোক যে কোনদিন লবণের পরিমাণ টেস্ট করে দেখে নাই। মানে কতটুক পরিমাণ লবণের টেস্ট কতটুকু
নোনতা হবে এই ব্যাপারে তার কোন পুর্ব অভিজ্ঞতা নেই। এখন তাকে রান্না করতে দেওয়া হলো। শর্ত হচ্ছে লবণের
টেস্ট যেন মোটামোটি ঠিক থাকে। যেহেতু তার লবণের টেস্ট নিয়ে কোন পুর্ব অবিজ্ঞতা নেই, হয়তো সে আমার
মতো বেক্কেল হলে প্রথমবার পুরো প্যাকেট ই ঢেলে দিবে অথবা চিনির মতো মনে করে কয়েক চামচ ঢালবে অথবা
এক/দুই চিমটি দিবে। প্রথমবার ফেইল হবে, দ্বিতীয়বার ও ফেইল হবে(আগের চেয়ে বেটার), তৃতীয়বার ... এভাবে
কয়েকবার অনুশীলন করে এক পর্যায়ে মোটামোটি একিউরেসিতে চলে আসবে। আরো অনুশীলন করলে একদম পারফেক্টে
চলে আসবে। এভাবেই আমরা অনুশীলনের মাধ্যমে ছোটবেলায় হাটা, সুইমিং, সাইক্লিং, ক্রিকেট কিংবা ফুটবল
শিখেছি।
আমরা হয়তো ব্যাপার টাকে খুব সহজে এভাবেই চিন্তা করেছি। কিন্তু এই অনুশীলনের ইনফরমেশন গুলো যে
কিভাবে আমাদের মাথায় ঢুকে কিংবা কিভাবে প্রসেসিং করে সেটা এতোটাও সহজ নয়। একটা আর্টিফিসিয়াল
ইন্টিলিজেন্স যুক্ত মেশিন কিংবা রোবট কে আপনি কিভাবে শিখাবেন বা ওই রোবট কিভাবে চিন্তা করবে? বা
কিভাবে রোবট বুঝতে পারবে এখন হয়তো আগের চেয়ে বেটার রেজাল্ট দিচ্ছে বা এখন একদম পারফেক্ট?
একটি আর্টিফিসিয়াল ইন্টিলিজেন্স যুক্ত মেশিনকে শিখাতে কয়েকটা প্রসেসের মধ্যে দিয়ে যেতে হয় যেটাকে বলা হয়
লা র্নিং প্রসেস। এই লার্নিং প্রসেসে মেশিনকে ট্রেইনিং করা হয় কতগুলো রেন্ডম weight factor দ্বারা। এখন
প্রশ্ন হচ্ছে weight factor কি? সিম্পলি বলতে গেলে এইটা একটা ভ্যালু, যেটা বারবার আপডেট হতে থাকে। এই
weight factor টাই ডিসাইড করবে ফাইনাল আউটপুট কতটা নিখুত হবে। যেমন একটু আগে যে লোক তরকারিতে
প্রথমে পুরো লবণের প্যাকেট দিলেও পরেরবার নিশ্চয়ই আগের থেকে একটু কম দিবে৷ অথবা ওই লোক যদি প্রথমবার
কয়েক চিমটি লবণ দিয়ে থাকে তাহলে এখন নিশ্চয়ই আরো কয়েক চিমটি বাড়িয়ে দিবে। এভাবেই কমিয়ে বাড়িয়ে এক
পর্যায়ে পারফেক্ট পরিমাপ টা পেয়ে যাবে। এটাকেই আর্টিফিসিয়াল ইন্টিলিজেন্সে weight factor বলে এবং আপডেট
করে করে যখন পারফেক্ট পরিমাপে চলে আসে তখনই মেশিনকে ট্রেইনিং করানো বন্ধ করা হয়।
এখন এই weight factor বাড়ানো নাকি কমানো দরকার এইটাকে নিয়ন্ত্রণ করা হয় Activation function
দ্বারা। আবার ভিন্ন ভিন্ন কাজের অনুশীলনের জন্য ভিন্ন ভিন্ন Activation function এর দরকার হয়। যেমন
রান্নায় লবণের টেস্টের স্কিল দিয়ে তো আর সাইক্লিং শিখা সম্ভব না কিংবা ক্রিকেট খেলার স্কিল দিয়ে তো আর
ফুটবল শিখা সম্ভব নয়। কিন্তু স্রষ্টা আমাদের অজান্তেই এই Activation function গুলো দিয়ে রাখছেন যার
ফলে ৭.৮৩৭ বিলিয়ন মানুষের পৃথিবীতে একেক জন দক্ষ গবেষক, সাইন্টিস্ট, এথলেট, প্রোগ্রামার, ডিজাইনার,
কম্পোজার ইত্যাদি।
এইবার আসি মেশিন এবং ব্রেইনের প্রসেসিং ক্যাপাবিলিটি নিয়ে, একটি আর্টিফিসিয়াল ইন্টিলিজেন্স যুক্ত মেশিনের
একটি নিউরনের ফায়ারিং সিমুলেশন করতে প্রসেসরের প্রায় কয়েক 'শ' সাইকেলের (স্টেপ) দরকার হয়। আর আমাদের
হিউম্যান ব্রেইনে অন এভারেজ ৮৬ বিলিয়ন নিউরন রয়েছে যা আমাদের ব্রেইন এক স্টেপেই সবগুলো নিউরনের ফায়ারিং
সিমুলেশন করতে সম্ভব!!
জাপানের গবেষকরা এই পুরো হিউম্যান ব্রেইনের এক্টিভিটি জাস্ট ১ সেকেন্ডের জন্য সিমুলেট করতে একটি শক্তিশালী
সুপার-কম্পিউটার ব্যবহার করেন। যা পৃথিবীর চতুর্থ পাওয়ারফুল সুপার-কম্পিউটার হিসেবে ধরা হয়। এই
সুপার-কম্পিউটারের প্রায় ৪০ মিনিট কম্পিউটিং টাইম লাগছে জাস্ট আমাদের ব্রেইনের ১% এক্টিভিটিকে সিমুলেট
করতে। ধারণা করা হয় এই পুরো ব্রেইনকে সিমুলেট করতে Tianhe-2 (পৃথিবীর সবচেয়ে পাউয়ারফুল সুপার-
কম্পিউটার) এর প্রায় ৩,১২০,০০০ প্রসেসর দরকার যা ধারণ করতে প্রায় ১০ টা মিডেল সাইজে এপার্টমেন্টের সমান
পরিমাণ জায়গা লাগবে। যার বিদ্যুৎ খরচ হবে প্রায় ১৭.৮ মেগাওয়াট (যা ৬০০০ বাড়িতে বিদ্যুৎ সরবরাহ করতে
সক্ষম)। আর আমাদের এই ১৫ সেমি সাইজের ব্রেইন ১ সেকেন্ডেই সিমুলেট করতে সম্ভব যার বিদ্যুৎ খরচ ধরা হয়
মাত্র ২০ ওয়াট।
৮৬ বিলিয়ন নিউরনের প্রতিটি আবার ১০০০ টি সিন্যাপ্স কানেকশন দ্বারা গঠিত। তার মানে ৮৬*১০০০ = ৮৬ ট্রিলিয়ন
সিন্যাপ্স কানেকশান রয়েছে!! প্রত্যকটি সিন্যাপ্স ৪.৭ বিট করে ডাটা স্টোর করতে পারে। অন এভারেজ আমাদের
পুরো ব্রেইন ২.৫ পেটাবাইট ডাটা স্টোর করতে পারে, যা হিসেব করলে দাঁড়ায় ২.৫ মিলিয়ন গিগাবাইট!! যা
দিয়ে আগামী ৩০০ বছরের সব টিভি শো ধারণ করা সম্ভব। আর এই ৮৬ বিলিয়ন নিউরনের মাত্র ৬-৮% ই মানুষ এখন
পর্যন্ত ইউজ করতে পেরেছে। বাকি ৯২-৯৪% খালিই পরে থাকে। একমাত্র আইন্সটাইন ই সর্বোচ্চ ১১% পর্যন্ত ইউজ করতে
পেরেছিলেন। চিন্তা করেন, আইনস্টাইন মাত্র ৩% বেশি ইউজ করতে পেরেই ওই ব্রেইন থেকে বিপ্লবী কিছু থিউরি
বেরিয়ে আসছে। আর যদি কখনো এই ব্রেইনের ৫০% আমরা ইউজ করতে পারি তাহলে ভাবা যায়?? সভ্যতা কিংবা প্রযুক্তি
কয় মিলিয়ন বছরের জন্য এগিয়ে যাবে?
বাট মানুষ এই ৮% ক্ষুদ্র জ্ঞ্যানের বাহাদুরিতে সেই স্রষ্টাকেই পর্যন্ত অস্বীকার (নাস্তিক) করে ফেলে কিংবা তার
অস্তিত্ব নিয়ে প্রশ্ন তুলে। একবার ও কি ভেবে দেখেছি সৃষ্টিকর্তাকে প্রশ্ন করার মতো কোন রাইট আমাদের নেই?
কখনোই দাবী করতে পারবো না ব্রেইনের ক্যাপাসিটি আর একটু বেশি দিলে হয়তো আমি কাজে আরো পটেনশিয়াল
হতে পারতাম। কিংবা এই Activation function নেই বলে আমি দক্ষ গবেষক হতে পারি নি কিংবা একজন দক্ষ
এথলেট। আমাদের চাওয়ার আগেই সৃষ্টিকর্তা আমাদেরকে সবকিছু লিমিটলেস দিয়ে রেখেছেন। ব্রেইনের এতো এতো
কমপ্লেক্স ফাংশনালিটি, বিলিয়ন বিলিয়ন কানেকশান মাত্র ১৫ সেমি জায়গায় কি সুনিপুণভাবে আমাদের মাথায় সেট
করে রাখছেন। যেটা আজকের এই ন্যানু টেকনোলজিতে হিউম্যান ব্রেইনের সমান ক্যাপাবিলিটির একটা ইন্টিলিজেন্স
মেশিন বানাতে ১০ টা মিডেল সাইজ এপার্টমেন্টের সমান পরিমান জায়গার দরকার পরবে!!

"ভাই, এত বই পড়েন কেমনে?"


ছুটির দিনে এই হাজারবার পাওয়া প্রশ্নের উত্তর আবারও দিতে ইচ্ছা করলো।
প্রথমত: আমি প্রচুর বই কিনি, সংগ্রহ করি, ফেসবুকে শো অফ করি। এর মানে এই না যে সব বই পড়ে আমি উল্টায়ে
ফেলেছি। বেশিরভাগ ক্ষেত্রেই এক দুই পৃষ্ঠা পড়ি, তারপর "ভবিষ্যতে পড়ব"-নিজেকে এই মিথ্যা বুঝ দিয়ে শেলফে
রেখে দেই। পেশাগত ও পারিবারিক কারণে আগে যা বই পড়তাম তার কিছুই নাই, এবং তা দিন দিন কমতেসে। এই
আফসোসের কোনো তুলনা নাই। বই শো অফ করার কারণ: বই ছাড়া আমার কাছে দামী আর কিছুই নাই যেটা শো
অফ করা যায়। থাকলে করতাম।
দ্বিতীয়ত: জ্ঞান অর্জনের একটা অদম্য নেশা অনুভব করি ভেতরে ভেতরে। মুশকিল হচ্ছে, সাধ থাকলে সাধ্যও তো
থাকতে হয় তাইনা? আমার সেটা নাই। তবে আগ্রহটুকু রয়ে গেছে।পুলিশের চাকুরি করে অন্য কিছু নিয়ে
সত্যিকারের জ্ঞান অর্জন করা খুব, খু ব কঠিন একটা কাজ। আমার দ্বারা এটা সম্ভব হবার মত কোনো কারণই নাই।
যার যেটার অভাব সে তো সেটার পেছনেই ছুটবে, আমি তাই মিছিমিছি জ্ঞানের পেছনে ছোটার চেষ্টা করি বই
কিনে। হয় না জানি, তাও মনের মধ্যে কিছু সান্ত্বনা আসে।
আরেকটা জীবন পেলে শুধু পড়তাম, শিখতাম এবং শেখাতাম।

২০২২ সালে ফুটবল কাপ জিতলা, ক্রিকেট কাপ দেখলা, KGF, RRR, পুষ্পা, কাইল্লা আদম দেখলা। ইউক্রেনে যুদ্ধ
করলা, পদ্মা সেতু পাড়ি দিলা, মেট্রোরেলে চড়লা, অনেক কিছু এনজয় করলা। সবই ঠিক আছে, সব কিছুর দরকার
আছে। তবে এখন একটু নিজেকে জিজ্ঞেস করে দেখো, সারা বছরের মধ্যে কয় ঘন্টা সময় নিজের জন্য দিছো? এই
বছর যা যা করতে চাইছিলা, তার কয়টা জিনিস করতে পারছো? যদি একটাও বাকি থাকে, এখনই আফসোস শুরু করে
দিও না। কারণ ২০২২ এখনো পুরাপুরি শেষ হয়ে যায়নি। বলতে গেলে এখনো অলমোস্ট ২ দিন বাকি। এই
দুইদিনের মধ্যে আজকে (৩০ ডিসেম্বর), এই বছরের শেষ শুক্রবার। বছরের শেষ ছুটির দিন। তাই এই দিনটা তোমার
নিজের জন্য রাখ।
.
ফ্রেন্ড-ফ্যামিলি-মেসি-নেইমার, এমনকি তোমার ইয়ে এর জন্য না। বরং শুধু তোমার জন্য। ২০২২ তে যে কাজগুলা
করতে চাইছিলা বা যে জিনিসগুলা শিখতে চাইছিলা; কিন্তু কোন না কোন কারণে করা হয়নি। সেগুলার মধ্যে
জাস্ট একটার জন্য আজকে মাস্ট সময় করবা। কারণ এইটাই ২০২২ সালে ছোট হলেও, পুচকা হলেও, কিছু একটা করার
শেষ সুযোগ বা আখেরি মওকা।
.
আখেরি মওকা দিবস, তোমার নিজের জন্য কিছু করার দিবস। কিছু শিখার দিবস। কিছু ট্রাই করার দিবস। হয়তো
প্রোগ্রামিং, ফটোশপ, গ্রাফিক ডিজাইন, ওয়েব ডেভেলপমেন্ট, ভিডিও এডিটিং , রুবিকস কিউব সলভ, গিটার বাজানো,
মিম বানানো, ভিডিও গেমস, ড্রয়িং শিখা দরকার। টেনশন কি? জাস্ট ইউটিউবে টিউটোরিয়াল খুলে বসো। পারো
আর না পারো, ইউটিউব ভিডিও খুলে পাঁচ ঘন্টা ট্রাই করলা।
.
ChatGPT কে ভয় পাচ্ছ? পাঁচ ঘন্টা চেক করে দেখো। এইটা খায় পিন্দে নাকি মাথায় দেয়? ইউটিউব ভিডিও
বানানোর ইচ্ছা- মোবাইল ক্যামেরা দিয়ে ভিডিও করে আপলোড করে দিলা। কি আছে জিবনে? রেজুমি বা সিভি
বানানো দরকার, ইন্টারনেট ঘেঁটে বানিয়ে ফেললা। জব/ইন্টার্ন দরকার, ৫০ জনকে নক দিলা। ইন্টারনেট ঘেঁটে
৩০ জায়গায় এপ্লাই করে দিলা। সামনে পরীক্ষা ক্লাসের পড়াতে সিরিয়াস হতে পারতেছো না, আজকের দিন জোর করে
হলেও পড়ালেখার সাথে নিজেকে আটকে রাখলা।
.
তোমার যদি খায়েশ হয়; তুমি একটা স্পেসিফিক বই পড়বা, কিন্তু কোন না কোন কারনে বসা হচ্ছে না। প্যারা
কি? আজকেই বই নিয়ে বসে পড়ো। সিনেমা বা ওয়েভ সিরিজ দেখতে চাচ্ছিলা কিন্তু শুরু করি করি করে শুরু করা
হচ্ছে না। আজকেই শুরু করে ফেলো। বা কারো সাথে দেখা করবা, ঘুরতে যাবা; চলে যাও। কোন রেস্টুরেন্ট
চেকআউট করবে? আজকেই করে ফেলো। কোন কিছু নিয়ে ব্লগ বা আটিকেল লিখবা, লিখে ফেলো। এমনকি কাউরে
প্রপোজ করার ইচ্ছা, সাহস করে প্রপোজ করে ফেলো। তারপর যা হবার হবে।
সো, মেইন কথা হচ্ছে যে জিনিসটা করা হচ্ছে না, সেটাই শুরু করে দিবা।
.
এই আখেরি মওকা দিবসে কে কি এচিভ করলো, সেটা দেখার বিষয় না। বরং দেখার বিষয় হচ্ছে, কে কে চেষ্টা
করলো। কে কে মিনিমাম চার-পাঁচ ঘন্টা লেগে থাকলো। কে কে স্বপ্ন দেখা, প্লানিং করা বন্ধ করে, কাজটা
শুরু করে দিলো।
এই দিনটা তোমার দিন। তোমার ভিতরে নতুন বীজ বপন করার দিন। আরাম, আয়েশ, আলসেমি, ফাঁকিবাজিকে বাক্স
বন্দি করার দিন। তোমার দৃঢ়তা, তোমার ক্ষিপ্ততা, তোমার সিরিয়াসনেসকে জাগ্রত করার দিন। মিনিমাম চার-
পাঁচ ঘন্টা ডেডিকেটেডলি স্পেন্ড করলে, তুমি নিজেই তোমার ভিতরে নতুন সম্ভাবনা অনুভব করতে পারবে।
.
আমি চাই, যদি একজনও আখেরি মওকা দিবসে তার নিজের জন্য পাঁচ ঘন্টা স্পেন্ড করে, সেটা হবে তুমি। ইয়েস,
সেটা হবে তুমি। এই তুমিই তোমার নিজের জন্য আজকের শুক্রবারটা বরাদ্দ রাখবা। মজা পাও বা না পাও, নিজের
উপর জোর খাটাবা। চেষ্টা করবা। মিনিমাম পাঁচ ঘন্টার চ্যালেঞ্জ একসেপ্ট করবা। তুমি যে চেষ্টা করতে পারো
সেটা প্রমাণ করে ছাড়বা। তারপর তুমি কি ট্রাই করছো সিটা নিচে কমেন্ট করো। সম্ভব হলে, যে কাজ করছো
সেটার পিক তুলে নিচে কমেন্ট করো ।
দেখি, তুমি কি করতে পারো আজকে রাত ১১.৫৯ এর মধ্যে।

You might also like