এই সাইটটি বার পঠিত
ভাটিয়ালি | টইপত্তর | বুলবুলভাজা | হরিদাস পাল | খেরোর খাতা | বই
  • খেরোর খাতা

  • অধ্যায় ১: মৌলিক কথোপকথন বর্ণ, স্ট্রিং আর মেশিনের গল্প

    albert banerjee লেখকের গ্রাহক হোন
    ১৩ ফেব্রুয়ারি ২০২৬ | ৬১ বার পঠিত
  • 00 | 1
    শুরুটা এক বনের গল্প দিয়ে করি। এই বনের নাম বাইনারি বন। বনের প্রতিটি বাসিন্দা হয় ০ নয় ১। তাদের কখনো অন্য রূপ নেই, অন্য কোনো পরিচয় নেই। তারা শুধু ০ আর ১-এর মধ্যেই সীমাবদ্ধ। এই বনের প্রধান বিধান হলো, বনের প্রতিটি প্রাণীই এই দুই সংখ্যার কোনো না কোনো রূপ ধারণ করে।

    বনের এই দুই বাসিন্দাকে একসাথে বলা হয় অ্যালফাবেট। আর বনের পুরো নামটি হলো Σ, সিগমা। সিগমা হচ্ছে একটি সেট, যার ভেতর আছে মোট দুইটি উপাদান। যেমনটি লিখি:

    Σ = {০, ১}

    এটাই বাইনারি বনের বর্ণমালা। এই বর্ণমালার বাইরে আর কিছু নেই এখানে। কোনো ২ নেই, কোনো A নেই, কোনো ক নেই। শুধু ০ আর ১।

    এবার প্রশ্ন হলো, এই দুই বাসিন্দা কি একা একা থাকে? না, তারা দল বাঁধতে ভালোবাসে। যখন তারা একটির পর একটি সাজ হয়ে দাঁড়ায়, তখন সেই ধারাটি একটি স্ট্রিং এ পরিণত হয়। যেমন, ০০১০১। এটি একটি স্ট্রিং। আবার ১১০। আরেকটি স্ট্রিং। আবার ০। এটিও একটি স্ট্রিং। এমনকি কিছু না থাকলেও সেটি একটি স্ট্রিং, যার নাম ফাঁকা স্ট্রিং। তার চিহ্ন ε।

    স্ট্রিং জিনিসটা অনেকটা বন্ধুদের হাত ধরাধরি করে হাঁটার মতো। প্রথমে আছে ০, তার পেছনে আছে ০, তার পেছনে আছে ১। এভাবে একটি শৃঙ্খল তৈরি হয়। স্ট্রিং-এর দৈর্ঘ্য মাপা হয় এর ভেতর কটি চিহ্ন আছে, তা গুনে। যেমন ০০১০১-এর দৈর্ঘ্য ৫। ফাঁকা স্ট্রিং-এর দৈর্ঘ্য ০।

    এবার বনের ভেতর একজন রাজা আছেন। তার কিছু পছন্দ আছে, কিছু অপছন্দ। তিনি সব স্ট্রিং-কে সমান চোখে দেখেন না। রাজা ঠিক করলেন, যেসব স্ট্রিং-এর শেষ দুইটি চিহ্ন ০ আর ১ হবে, তাদের তিনি পুরস্কার দেবেন। এই পুরস্কারপ্রাপ্ত স্ট্রিং-গুলোর একটি তালিকা তৈরি করলেন রাজা। এই তালিকাটিই হলো একটি ভাষা, বা ল্যাঙ্গুয়েজ।

    ভাষা আসলে কী? ভাষা হলো কিছু স্ট্রিং-এর সমষ্টি, যা একটি নির্দিষ্ট নিয়ম মেনে চলে। আমাদের এখানে নিয়মটি হলো: শেষে ০১ থাকতে হবে। যেমন ০০১, ১০১, ১১০১ এরা প্রত্যেকেই শেষে ০১ থাকায় রাজার ভাষার অন্তর্ভুক্ত। অন্যদিকে ০১০০, ১১, ০০০ এরা শেষে ০১ নেই, তাই ভাষার বাইরে।

    এবার এই ভাষাকে কীভাবে সংজ্ঞায়িত করা যায়? আমরা লিখতে পারি: L = { w ∈ Σ* | w-এর শেষ দুটি চিহ্ন ০১ }। এখানে Σ* মানে হলো বর্ণমালা থেকে তৈরি সম্ভাব্য সকল স্ট্রিং-এর সেট। তার ভেতর থেকে কিছু স্ট্রিং বেছে নেওয়া হচ্ছে।

    এভাবে অসংখ্য ভাষা তৈরি করা যায়। যেমন, সব স্ট্রিং যাদের দৈর্ঘ্য জোড়। অথবা যেসব স্ট্রিং-এ ঠিক তিনটি ১ আছে। অথবা যেসব স্ট্রিং ০ দিয়ে শুরু। প্রতিটি ভাষাই একেকটি সমস্যার সমাধান বা প্যাটার্নের প্রকাশ।

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

    রোবটটি বুঝতে পারল, তাকে প্রতিটি স্ট্রিং পড়ে একটি সিদ্ধান্ত নিতে হবে। কিন্তু স্ট্রিং তো অসীম, প্রতিটি সম্ভাব্য স্ট্রিং-এর জন্য আলাদা নিয়ম মুখস্থ করা সম্ভব না। তাই রোবটটি একটি কৌশল বানালো।

    সে কয়েকটি অবস্থা তৈরি করল। প্রতিটি অবস্থা হচ্ছে তার মনের একটি বিশেষ মুহূর্তের ছবি। যেমন শুরুতে সে আছে শুরুর অবস্থায়। তারপর যখন সে ০ পড়ে, তখন সে এক অবস্থায় যায়। যখন ১ পড়ে, অন্য অবস্থায় যায়। প্রতিটি অক্ষর পড়ার পর তার অবস্থা বদলায়।

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

    এই রোবটটিই হলো অটোমেটন। অটোমেটন মানে এমন একটি যন্ত্র যা নিজের অবস্থা পরিবর্তন করতে পারে এবং ইনপুট পড়ে সিদ্ধান্ত নিতে পারে।

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

    এখন প্রশ্ন হচ্ছে, এই অটোমেটন কি সব ভাষা চিনতে পারে? না। কিছু ভাষা আছে যা অটোমেটন চিনতে পারে না। যেমন যে ভাষায় সমান সংখ্যক ০ আর ১ থাকতে হবে, সেটি সাধারণ অটোমেটন চিনতে পারে না। তার জন্য দরকার স্মৃতি, যেমন স্ট্যাক বা টেপ।

    কিন্তু আমাদের গল্পের রোবটটি একটি নির্দিষ্ট ভাষা চিনতে সক্ষম, যে ভাষার শেষে ০১ আছে। সে কীভাবে তা করে? তার তিনটি অবস্থা আছে। প্রথম অবস্থা q0, শুরুমানে সে এইমাত্র ০ পড়েছে। দ্বিতীয় অবস্থা q1, মানে সে এইমাত্র ১  পড়েছে। তৃতীয় অবস্থা q2, মানে সে এইমাত্র ০১ পড়েছে, অর্থাৎ স্বীকৃত অবস্থা।

    ট্রানজিশন গুলো হলো:
    q0-এ ০ পড়লে যায় q1-এ, ১ পড়লে থাকে q0-তেই।
    q1-এ ০ পড়লে থাকে q1-তেই, ১ পড়লে যায় q2-তে।
    q2-এ ০ পড়লে যায় q1-তে, ১ পড়লে যায় q0-তে।

    লক্ষ করো, q2 স্বীকৃত অবস্থা। স্ট্রিং শেষে যদি q2-তে থাকি, মানে শেষ অক্ষরদুটি ০১।

    এবার তুমি যদি ০০১ স্ট্রিংটি দাও, রোবটটি প্রথমে q0 থেকে শুরু করে। প্রথম ০ পড়ে q1। দ্বিতীয় ০ পড়ে q1-ই থাকে। তৃতীয় ১ পড়ে q2। স্ট্রিং শেষ। q2 স্বীকৃত অবস্থায় আছে। তাই রোবট বলে, ভাষার অন্তর্ভুক্ত।

    আর যদি ০১০০ দাও, শুরু q0, ০ পড়ে q1, ১ পড়ে q2, ০ পড়ে q1, ০ পড়ে q1। শেষ অবস্থা q1, যা স্বীকৃত নয়। তাই ভাষার বাইরে।

    এভাবে রোবটটি কাজ করে।

    এখন এই রোবট বা অটোমেটনের ব্যবহার কোথায়? ধরো, তুমি একটি ওয়াশিং মেশিন বানাচ্ছ। ওয়াশিং মেশিনের বিভিন্ন অবস্থা আছে: ওয়াশ, রিন্স, স্পিন, ড্রাই। ব্যবহারকারী যখন বোতাম চাপে, মেশিন এক অবস্থা থেকে অন্য অবস্থায় যায়। এটা কিন্তু একটি অটোমেটন।

    অথবা ধরো, তুমি একটি নেটওয়ার্ক প্রোটোকল বানাচ্ছ। যেমন TCP-র তিন-ওয়ে হ্যান্ডশেক। ক্লায়েন্ট SYN পাঠায়, সার্ভার SYN-ACK দেয়, ক্লায়েন্ট ACK দেয়। তারপর সংযোগ স্থাপিত হয়। প্রতিটি ধাপে অবস্থা বদলায়। এটিও একটি অটোমেটন।

    আরও বড় উদাহরণ হলো কম্পাইলার। তুমি C ভাষায় কোড লেখো, কম্পাইলার সেটিকে প্রথমে টোকেনে ভাগ করে। এই টোকেন শনাক্ত করার কাজটি করে লেক্সিক্যাল অ্যানালাইজার, যা একটি অটোমেটন মডেল ব্যবহার করে। যেমন if, while, variable name, number এদের প্রত্যেকটি নিয়মিত ভাষা দ্বারা সংজ্ঞায়িত, আর অটোমেটন তা চিনতে পারে।

    শুধু তাই নয়, রেগুলার এক্সপ্রেশন ইঞ্জিন, যেমন পাইথনের re মডিউল, সেটিও পেছনে অটোমেটন ব্যবহার করে। তুমি যখন [০-৯]+ লেখো, ইঞ্জিন সেটিকে একটি অটোমেটনে রূপান্তরিত করে, তারপর তা দিয়ে স্ট্রিং মেলানোর চেষ্টা করে।

    এমনকি গেম ডেভেলপমেন্টেও অটোমেটন ব্যবহার হয়। একটি গেমের ক্যারেক্টারের বিভিন্ন অবস্থা থাকতে পারে: আইডল, ওয়াক, অ্যাটাক, জাম্প, ডাই। কোন ইভেন্ট ঘটলে কোন অবস্থায় যেতে হবে, তা একটি স্টেট মেশিন নিয়ন্ত্রণ করে।

    হার্ডওয়্যার ডিজাইনেও এর ব্যবহার আছে। ভেরিলগ বা ভিএইচডিএল-এ যখন তুমি FSM লেখো , তখন তুমি আসলে একটি অটোমেটনের বর্ণনা দিচ্ছো। সেই অটোমেটন পরে সিলিকন চিপে বাস্তবায়িত হয় এবং ট্রাফিক সিগন্যাল, মাইক্রোওয়েভ ওভেন, লিফটের কন্ট্রোলার চালায়।

    তাহলে আমরা এ পর্যন্ত কী পেলাম?

    প্রথমত, বর্ণমালা হলো কিছু চিহ্নের সেট। দ্বিতীয়ত, স্ট্রিং হলো সেই চিহ্নগুলোর একটি ধারা। তৃতীয়ত, ভাষা হলো কিছু স্ট্রিং-এর সেট, যা কোনো নিয়ম মেনে চলে। চতুর্থত, অটোমেটন হলো একটি যান্ত্রিক মডেল যা সেই ভাষা চিনতে পারে।

    এবার এই চারটি জিনিসের সম্পর্ক বোঝা জরুরি। প্রতিটি অটোমেটন একটি নির্দিষ্ট ভাষাকে স্বীকৃতি দেয়। কিন্তু প্রতিটি ভাষার জন্য অটোমেটন নেই। যেসব ভাষার জন্য সীমিত স্মৃতি বিশিষ্ট অটোমেটন আছে, তাদের বলে রেগুলার ল্যাঙ্গুয়েজ। এরা সবচেয়ে সরল ভাষা।

    এরপর আছে কনটেক্সট-ফ্রি ল্যাঙ্গুয়েজ, যাদের চিনতে স্ট্যাক লাগে। যেমন S → (S) | SS | ε, এটি দিয়ে ব্যালান্সড প্যারেনথেসিস বোঝায়। এই ভাষা অটোমেটন চিনতে পারে না, কিন্তু পুশডাউন অটোমেটন চিনতে পারে।

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

    কিন্তু আমরা এখন আপাতত আমাদের বাইনারি বনের গল্পেই ফিরে যাই।

    আমাদের রোবটটি কিন্তু শুধু ০ আর ১-এর ভাষা চিনতে পারে। যদি কখনো বনে অন্য কোনো বাসিন্দা আসে, যেমন ২ বা A, তখন রোবটটি বলবে, এটি আমার বর্ণমালার বাইরে, আমি চিনতে পারছি না। তাই ইনপুট প্রত্যাখ্যান করবে।

    এখন ধরো, বনের রাজা বললেন, আমি চাই আমার ভাষায় যত বড় স্ট্রিং-ই আসুক না কেন, আমার রোবট যেন তা প্রসেস করতে পারে। তখন আমরা কি রোবটটিকে অসীম স্মৃতি দিতে পারি? না, কারণ রোবট তো বাস্তব যন্ত্র, এর স্মৃতি সীমিত। কিন্তু আমরা তো চাই যেকোনো দৈর্ঘ্যের স্ট্রিং প্রসেস করতে। তখন সমাধান কী?

    সমাধান হলো, রোবটটির অবস্থাগুলোকে চক্রাকারে সাজানো। প্রতিটি নতুন ইনপুটের জন্য রোবট তার অবস্থা বদলায়, কিন্তু নতুন কোনো স্মৃতি রাখে না। ফলে স্ট্রিং যত বড়ই হোক না কেন, রোবট ততক্ষণ কাজ করে যেতে পারে। যতক্ষণ ইনপুট আছে, ততক্ষণ ট্রানজিশন চলতে থাকে। ইনপুট ফুরালে সিদ্ধান্ত নেয়।

    এটাই অটোমেটনের সবচেয়ে বড় শক্তি। এটি সীমিত অবস্থা ব্যবহার করে অসীম দৈর্ঘ্যের স্ট্রিং প্রসেস করতে পারে। কারণ এটি প্যাটার্ন চিনতে পারে, পুরো স্ট্রিং মুখস্থ করে না।

    এবার আমরা একটু চিন্তা করি। আমাদের দৈনন্দিন জীবনে এরকম আর কী আছে? একটি লিফটের বাটন চাপলে লিফট এক তলা থেকে অন্য তলায় যায়। দরজা খোলা, দরজা বন্ধ, মুভিং, ওয়েটিং – এরা সবাই অবস্থা। বাটন চাপা, সেন্সর সক্রিয় হওয়া – এরা ইনপুট। আর ট্রানজিশন নির্ধারণ করে কোন অবস্থা থেকে কোন অবস্থায় যেতে হবে। এটি একটি অটোমেটন।

    একটি কফি ভেন্ডিং মেশিনও অটোমেটন। তুমি টাকা দাও, কফি বেছে দাও, মেশিন টাকা গণনা করে, কফি তৈরি করে, কাপ দেয়। প্রতিটি ধাপে তার অবস্থা বদলায়।

    তাহলে অটোমেটন আসলে চারপাশে ছড়িয়ে আছে। আর এই অটোমেটনের মূল ভিত্তি হলো এই অধ্যায়ের চারটি জিনিস: বর্ণমালা, স্ট্রিং, ভাষা এবং অটোমেটন।

    এবার আমরা গল্প ছেড়ে বাস্তব সংজ্ঞায় আসি।

    বর্ণমালা (Σ): একটি সসীম, অশূন্য প্রতীক-সেট।
    স্ট্রিং: বর্ণমালার সদস্যদের একটি সসীম ধারা।
    স্ট্রিং-এর দৈর্ঘ্য: ধারায় উপস্থিত প্রতীকের সংখ্যা।
    ফাঁকা স্ট্রিং (ε): দৈর্ঘ্য ০-বিশিষ্ট স্ট্রিং।
    ভাষা (L): Σ*-এর যেকোনো উপসেট, যেখানে Σ* হলো Σ থেকে তৈরি সম্ভাব্য সকল স্ট্রিং-এর সেট।
    অটোমেটন: (Q, Σ, δ, q₀, F) যেখানে Q = সসীম অবস্থার সেট, δ = ট্রানজিশন ফাংশন, q₀ = শুরুর অবস্থা, F = স্বীকৃত অবস্থার সেট।

    এই পাঁচটি উপাদানের মাধ্যমেই একটি ডিটারমিনিস্টিক ফিনাইট অটোমেটন সংজ্ঞায়িত হয়।

    এখন আমাদের বাইনারি বনে ফিরে গিয়ে আমরা কিছু অনুশীলন করতে পারি।

    ধরো, রাজা বললেন, এবার আমি চাই যেসব স্ট্রিং-এ ঠিক একটি মাত্র ১ আছে, সেগুলো আমার ভাষার অন্তর্ভুক্ত হবে। তাহলে সেটি একটি নতুন ভাষা। যেমন ০০১০০, ১০০০, ০১০ – এরা গ্রহণযোগ্য। কিন্তু ১১০০, ০০১১, ০০০ – এরা নয়।

    এই ভাষার জন্য রোবটটির কয়টি অবস্থা দরকার? শুরু অবস্থা q0, যেখানে এখনো কোনো ১ দেখিনি। তারপর যদি ০ পড়ি, থাকি q0-তেই। যদি ১ পড়ি, যাই q1-তে, মানে একটি ১ পেয়েছি। এরপর যদি আবার ১ পড়ি, তাহলে যাই q2-তে, মানে একাধিক ১ পেয়েছি, যা খারাপ অবস্থা। q1-এ থাকা অবস্থায় স্ট্রিং শেষ হলে স্বীকৃতি। q2 কখনোই স্বীকৃত নয়।

    এমনিভাবে আমরা যেকোনো নিয়মিত ভাষার জন্য অটোমেটন বানাতে পারি।

    তাহলে অধ্যায় ১-এর মূল বক্তব্য দাঁড়ায়:

    একটি বর্ণমালা, তার ওপর গঠিত স্ট্রিং, সেই স্ট্রিং-এর সেট হিসেবে ভাষা এবং সেই ভাষা চেনার যন্ত্র হিসেবে অটোমেটন – এই চারটি মিলিয়ে তৈরি হয় অটোমেটা তত্ত্বের ভিত্তি।

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

    আপাতত, তুমি যদি নিজে একজন অটোমেটন নির্মাতা হতে চাও, তাহলে নিচের ভাষাটির জন্য একটি অটোমেটনের নকশা করো:

    ভাষা: যেসব বাইনারি স্ট্রিং-এ ১১১ সাবস্ট্রিং নেই।

    এখন তুমি শুরু করো। তোমার অবস্থাগুলো কী হবে? কখন তুমি স্বীকৃতি দেবে? কীভাবে ট্রানজিশন সাজাবে?

    এই প্রশ্নের উত্তর খুঁজতে খুঁজতেই তুমি অটোমেটা তত্ত্বের প্রথম সোপানে পৌঁছে যাবে।

    পরবর্তী অধ্যায়ে আমরা ডিটারমিনিস্টিক ফিনাইট অটোমেটনের গভীরে যাব, তার বাস্তব কোড দেখব এবং  অ্যাপ্লিকেশন হাতে-কলমে শিখব।
     
    আরম্ভ করো https://finsm.io/
    পুনঃপ্রকাশ সম্পর্কিত নীতিঃ এই লেখাটি ছাপা, ডিজিটাল, দৃশ্য, শ্রাব্য, বা অন্য যেকোনো মাধ্যমে আংশিক বা সম্পূর্ণ ভাবে প্রতিলিপিকরণ বা অন্যত্র প্রকাশের জন্য গুরুচণ্ডা৯র অনুমতি বাধ্যতামূলক। লেখক চাইলে অন্যত্র প্রকাশ করতে পারেন, সেক্ষেত্রে গুরুচণ্ডা৯র উল্লেখ প্রত্যাশিত।
    00 | 1
  • মতামত দিন
  • বিষয়বস্তু*:
  • কি, কেন, ইত্যাদি
  • বাজার অর্থনীতির ধরাবাঁধা খাদ্য-খাদক সম্পর্কের বাইরে বেরিয়ে এসে এমন এক আস্তানা বানাব আমরা, যেখানে ক্রমশ: মুছে যাবে লেখক ও পাঠকের বিস্তীর্ণ ব্যবধান। পাঠকই লেখক হবে, মিডিয়ার জগতে থাকবেনা কোন ব্যকরণশিক্ষক, ক্লাসরুমে থাকবেনা মিডিয়ার মাস্টারমশাইয়ের জন্য কোন বিশেষ প্ল্যাটফর্ম। এসব আদৌ হবে কিনা, গুরুচণ্ডালি টিকবে কিনা, সে পরের কথা, কিন্তু দু পা ফেলে দেখতে দোষ কী? ... আরও ...
  • আমাদের কথা
  • আপনি কি কম্পিউটার স্যাভি? সারাদিন মেশিনের সামনে বসে থেকে আপনার ঘাড়ে পিঠে কি স্পন্ডেলাইটিস আর চোখে পুরু অ্যান্টিগ্লেয়ার হাইপাওয়ার চশমা? এন্টার মেরে মেরে ডান হাতের কড়ি আঙুলে কি কড়া পড়ে গেছে? আপনি কি অন্তর্জালের গোলকধাঁধায় পথ হারাইয়াছেন? সাইট থেকে সাইটান্তরে বাঁদরলাফ দিয়ে দিয়ে আপনি কি ক্লান্ত? বিরাট অঙ্কের টেলিফোন বিল কি জীবন থেকে সব সুখ কেড়ে নিচ্ছে? আপনার দুশ্‌চিন্তার দিন শেষ হল। ... আরও ...
  • বুলবুলভাজা
  • এ হল ক্ষমতাহীনের মিডিয়া। গাঁয়ে মানেনা আপনি মোড়ল যখন নিজের ঢাক নিজে পেটায়, তখন তাকেই বলে হরিদাস পালের বুলবুলভাজা। পড়তে থাকুন রোজরোজ। দু-পয়সা দিতে পারেন আপনিও, কারণ ক্ষমতাহীন মানেই অক্ষম নয়। বুলবুলভাজায় বাছাই করা সম্পাদিত লেখা প্রকাশিত হয়। এখানে লেখা দিতে হলে লেখাটি ইমেইল করুন, বা, গুরুচন্ডা৯ ব্লগ (হরিদাস পাল) বা অন্য কোথাও লেখা থাকলে সেই ওয়েব ঠিকানা পাঠান (ইমেইল ঠিকানা পাতার নীচে আছে), অনুমোদিত এবং সম্পাদিত হলে লেখা এখানে প্রকাশিত হবে। ... আরও ...
  • হরিদাস পালেরা
  • এটি একটি খোলা পাতা, যাকে আমরা ব্লগ বলে থাকি। গুরুচন্ডালির সম্পাদকমন্ডলীর হস্তক্ষেপ ছাড়াই, স্বীকৃত ব্যবহারকারীরা এখানে নিজের লেখা লিখতে পারেন। সেটি গুরুচন্ডালি সাইটে দেখা যাবে। খুলে ফেলুন আপনার নিজের বাংলা ব্লগ, হয়ে উঠুন একমেবাদ্বিতীয়ম হরিদাস পাল, এ সুযোগ পাবেন না আর, দেখে যান নিজের চোখে...... আরও ...
  • টইপত্তর
  • নতুন কোনো বই পড়ছেন? সদ্য দেখা কোনো সিনেমা নিয়ে আলোচনার জায়গা খুঁজছেন? নতুন কোনো অ্যালবাম কানে লেগে আছে এখনও? সবাইকে জানান। এখনই। ভালো লাগলে হাত খুলে প্রশংসা করুন। খারাপ লাগলে চুটিয়ে গাল দিন। জ্ঞানের কথা বলার হলে গুরুগম্ভীর প্রবন্ধ ফাঁদুন। হাসুন কাঁদুন তক্কো করুন। স্রেফ এই কারণেই এই সাইটে আছে আমাদের বিভাগ টইপত্তর। ... আরও ...
  • ভাটিয়া৯
  • যে যা খুশি লিখবেন৷ লিখবেন এবং পোস্ট করবেন৷ তৎক্ষণাৎ তা উঠে যাবে এই পাতায়৷ এখানে এডিটিং এর রক্তচক্ষু নেই, সেন্সরশিপের ঝামেলা নেই৷ এখানে কোনো ভান নেই, সাজিয়ে গুছিয়ে লেখা তৈরি করার কোনো ঝকমারি নেই৷ সাজানো বাগান নয়, আসুন তৈরি করি ফুল ফল ও বুনো আগাছায় ভরে থাকা এক নিজস্ব চারণভূমি৷ আসুন, গড়ে তুলি এক আড়ালহীন কমিউনিটি ... আরও ...
গুরুচণ্ডা৯-র সম্পাদিত বিভাগের যে কোনো লেখা অথবা লেখার অংশবিশেষ অন্যত্র প্রকাশ করার আগে গুরুচণ্ডা৯-র লিখিত অনুমতি নেওয়া আবশ্যক। অসম্পাদিত বিভাগের লেখা প্রকাশের সময় গুরুতে প্রকাশের উল্লেখ আমরা পারস্পরিক সৌজন্যের প্রকাশ হিসেবে অনুরোধ করি। যোগাযোগ করুন, লেখা পাঠান এই ঠিকানায় : guruchandali@gmail.com ।


মে ১৩, ২০১৪ থেকে সাইটটি বার পঠিত
পড়েই ক্ষান্ত দেবেন না। ভেবেচিন্তে মতামত দিন