ডেপথ ফার্স্ট সার্চ অ্যালগরিদম – Depth-First Search

ব্রেডথ ফার্স্ট সার্চ অ্যালগরিদমে আমরা একটা নডের পরবর্তী লেভেলের যত গুলো নড রয়েছে, সব গুলো ভিজিট করেছি আগে। ডেপথ ফার্স্ট সার্চে হবে উল্টোটা। একটা নড থেকে পরের নডে, পরের নড থেকে পরের নডে এভাবে নিচের দিকের নড গুলো ভিজিট করবে প্রথমে। নিচের অ্যানিমেশনটা দেখি, ডেপথ ফার্স্ট সার্চ কিভাবে হয়, তার ভিজুয়াল চিত্রঃ ডেপথ ফার্স্ট সার্চ […]

Read More

ব্রেডথ ফার্স্ট সার্চ অ্যালগরিদম – Breadth-first search

আমাদের বাস্তব  জীবনের বেশির ভাগ সমস্যাকে গ্রাফ আকারে রিপ্রেজেন্ট করা যায়। এরপর গ্রাফ সার্চ করে সমস্যার সমাধান করা যায়। গ্রাফ সার্চ করার অনেক গুলো পদ্ধতি রয়েছে। সহজ একটা পদ্ধিতি হচ্ছে ব্রেডথ ফার্স্ট সার্চ। Breadth মানে আমরা ধরব কাছে বা পাশে। এ লেখাটি পড়ার আগে আমাদের গ্রাফ নিয়ে কিছু জ্ঞান লাগবে। গ্রাফ থিওরি, গ্রাফের রিপ্রেজেন্টেশন এবং […]

Read More

পাইথন প্রোগ্রামিং ল্যাঙ্গুয়েজ ব্যবহার করে প্রথম মেশিন লার্নিং প্রোগ্রাম

মেশিন লার্নিং নিয়ে কাজ করা কঠিন কিছু না। আমরা ছোট্ট একটা মেশিন লার্নিং প্রোগ্রাম লিখব। ৫ লাইনের মত মাত্র। নিজেরাই দেখব, কত সহজ একটা মেশিন লার্নিং প্রোগ্রাম লেখা যায়। প্রোগ্রামটা লিখব আমরা পাইথন প্রোগ্রামিং ল্যাঙ্গুয়েজ ব্যবহার করে। সাথে ব্যবহার করব scikit-learn। scikit-learn হচ্ছে পাইথনের মেশিন লার্নিং লাইব্রেরী। পাইথন নিয়ে এই ব্লগে অনেক লেখা রয়েছে। পাইথনের […]

Read More

অ্যালগরিদমঃ লিনিয়ার সার্চ

সবচেয়ে সহজ সার্চিং অ্যালগরিদম হচ্ছে লিনিয়ার সার্চ (Linear Search)। যেমন আমাদের কাছে একটা নাম্বার লিস্ট রয়েছে। সেখানে একটা নির্দিষ্ট নাম্বার আছে কিনা আমরা তা বের করতে চাই। তার জন্য ঐ লিস্টের প্রথম সংখ্যার সাথে আমারা যে সংখ্যাটা খুঁজছি, তা মিলিয়ে দেখি। যদি মিলে যায়, তাহলে আমরা আমাদের সার্চিং প্রসেসটা শেষ করি। না হয় পরের নাম্বারের […]

Read More

অ্যালগরিদমঃ বাবল সর্ট

সবচেয়ে সহজ সর্টিং অ্যালগরিদম হচ্ছে Bubble Sort. সর্ট মানে হচ্ছে সাজানো। যেমন আমাদের কাছে কিছু এলোমেলো সংখ্যা রয়েছে। আমরা চাচ্ছি যেগুলোকে ছোট থেকে বড় আকারে সাজাতে। এই সাজানোর আইডিয়াটা অনেক সহজ মনে হলেও বাস্তব জীবনে এর অনেক ব্যবহার রয়েছে। সর্টিং এর জন্য বাবল সর্ট করে কি, প্রথমে প্রথম দুইটা সংখ্যার মধ্যে তুলনা করে। তুলনা করে […]

Read More