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

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

Read More

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

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

Read More

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

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

Read More

লুপ থেকে রিকার্শন

রিকার্শন নিয়ে এর আগে একটি লেখা লিখেছি। যেখানে রিকার্শন সম্পর্কে বিস্তারিত জানা যাবেঃ রিকার্শন/ Recursion , রিকার্সিভ অ্যালগরিদম, রিকার্সিভ ফাংশন ও সি প্রোগ্রামিং এ প্রয়োগ   যা কিছু লুপ দিয়ে করা যায়, তার সব কিছুই রিকার্শন দিয়ে করা যায়। যেমন আমরা একটা লুপ লিখি এভাবেঃ এটিকে সহজেই রিকার্শনে পরিবর্তন করে আমরা লিখতে পারি এভাবেঃ সম্পূর্ণ প্রোগ্রামঃ […]

Read More

R প্রোগ্রামিং ল্যাঙ্গুয়েজ

R বা আর ল্যাঙ্গুয়েজ হচ্ছে স্ট্যাটিস্টিক্যাল এনালাইসিস, গ্রাফ রিপ্রেজেন্টেশন এবং রিপোর্টিং এর জন্য প্রোগ্রামিং ল্যাঙ্গুয়েজ। মূলত ডেটা সাইন্সে ডেটা এনালাইসিস এর জন্য আর ল্যাঙ্গুয়েজ ব্যবহৃত হয়। ডেটা নিয়ে কাজ করাই ডেটা সাইন্স এর কাজ। বিগ ডেটা এখন খুব জনপ্রিয় একটা টার্ম। যেখানে ডেটা অনেক বেশি, অনেক অনেক বেশি, সেগুলোকেই বিগ ডেটা বলে। আর ডেটা এনালাইসিস […]

Read More

মেশিন লার্নিং সম্পর্কে ধারণা

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

Read More

গ্রাফ থিওরি, গ্রাফের রিপ্রেজেন্টেশন এবং ইমপ্লিমেন্টেশন

গ্রাফঃ গ্রাফ হচ্ছে কত গুলো নোড (Node) বা ভার্টেক্স(vertice)  এবং এজের (Edge) সমষ্টি। নিচে একটি গ্রাফের ছবি দেওয়া হলোঃ এ গ্রাফে পাঁচটি নোড বা ভার্টেক্স রয়েছে। নোড গুলো হচ্ছেঃ 0,1,2,3,4,5. আর উপরের গ্রাফে এজ রয়েছে ৭টি। নোড গুলোর সংযোগ কারী রেখা হচ্ছে এজ।   গ্রাফকে নিচের মত করে ভাগ করা যায় : Directed, weighted edges […]

Read More

টেনসরফ্লো / TensorFlow – মেশিন লার্নিং লাইব্রেরী ইন্সটলেশন এবং ব্যবহার

টেনসরফ্লো / TensorFlow হচ্ছে গুগলের মেশিন লার্নিং ওপেনসোর্স লাইব্রেরী। যে কেউ এই লাইব্রেরী ব্যবহার করতে পারে। এটি আর্টিফিশিয়াল ইন্টেলিজেন্স সিস্টেমে ডীপ লার্নিং ইমপ্লিমেন্ট করতে ব্যবহার করা হয়। টেনসর ফ্লো প্রথমে গুগলের রিসার্চ টিমে মেশিন লার্নিং এবং ডীপ নিউরাল নেটওয়ার্ক রিসার্চে ব্যবহার করা হত। এখন যা সবার জন্য উন্মুক করে দেওয়া হয়েছে। টেনসরফ্লো সম্পর্কে একটা ধারণা পেতে […]

Read More

পাইথন Pandas

Pandas ইন্সটল করার আগে আমাদের Anaconda ইন্সটল করতে হবে। উইন্ডোজ, লিনাক্স বা ম্যাকের জন্য ইন্সটলার রয়েছে। ইন্সটলের পরের কাজ হচ্ছে Pandas ইস্টল। pandas NumPy এর উপর নির্বরশীল। তাই Pandas ইন্সটলের আগে খেয়াল রাখতে হবে নামপাই ইন্সটল করা রয়েছে কিনা। নামপাই সম্পর্কে এখানে বিস্তারিত রয়েছে।   Pandas ইন্সটলের বিস্তারটি ডকুমেন্ট এখানে পাওয়া যাবে। pandas ইন্সটল করার […]

Read More

ন্যাশনাল হ্যাকাথন ২০১৬

৬ এবং ৭ এ এপ্রিল দুই দিন ব্যাপি, পুলিশ স্টাফ কনভেনশন হলে আয়োজিত হয়েছে ন্যাশনাল হ্যাকাথন ২০১৬। এটা একটানা ৩৬ ঘন্টার একটা প্রোগ্রাম। ন্যাশনাল হ্যাকাথনে কি হয়েছে বলি। Sustainable Development Goal এর উদ্দেশ্যে এবার দশটি লক্ষ্য নির্বাচন করা হয়েছে। এ লক্ষ্য পূরণের জন্য সবাই নিজ টিম নিয়ে নিজ নিজ আইডিয়া নিয়ে কাজ করবে, একটানা ৩৬ ঘন্টা। আয়োজন করেছে […]

Read More