আমার একটি জটিল প্রশ্ন রয়েছে একটি ডেটাসেট অনুসন্ধান করতে ব্যবহৃত খুঁজতে । প্রতিটি ক্যোয়ারিতে গড় সময় লাগে তাই লিনিয়ার অনুসন্ধানের সামগ্রিক সময়। আমি একটি সহজ জিজ্ঞাসাটি সহজ সাব-কোয়েরীগুলিতে বিভক্ত করতে পারি এবং এবং যেখানে । প্রতিটি subquery অনেক গনা দ্রুত, তাই সামগ্রিক সেটা খুঁজে পেতে দ্রুততর এবং তারপর ব্যবহার এটি ।
প্রতিটি তে অনেকগুলি । বিভিন্ন মধ্যে ওভারল্যাপটি বেশি। আমি স্থির প্রশ্নাবলীর একটি সিদ্ধান্ত-বৃক্ষের মতো সেট নির্ধারণের জন্য একটি উপায় খুঁজছি যা অনুসন্ধানের প্রশ্নের একটি বৃহত নমুনার ভিত্তিতে এইচ_এক্স্যাক্ট সন্ধানের গড় সময়কে ন্যূনতম করে দেয়।
আরও বেশি কংক্রিট করার জন্য, ধরুন ডেটা সেটে বিশ্বের 7 বিলিয়ন মানুষ রয়েছে এবং জটিল প্রশ্নগুলি "5 ম কোণে রেড হাউসে বসবাসকারী মহিলা এবং বি থেকে শুরু হওয়া কোনও শহরে লেক্সিংটন" এর মতো জিনিস "
সুস্পষ্ট সমাধানটি হ'ল বিশ্বের প্রতিটি ব্যক্তি যাচাই করা এবং কোয়ের সাথে কে মিলছে তা দেখুন। এরকম একাধিক ব্যক্তি থাকতে পারে। এই পদ্ধতিতে দীর্ঘ সময় লাগে।
আমি এই ক্যোয়ারীটি ঠিক হ'ল প্রাক-গণনা করতে পারি, এক্ষেত্রে এটি খুব দ্রুত হবে .. তবে কেবল এই প্রশ্নের জন্য। তবে, আমি জানি যে অন্যান্য প্রশ্নগুলি সেই মহিলার জন্য যারা একই কোণে নীল বাড়িতে বাস করেন, একই কোণে যে লোকটি থাকেন, একই প্রশ্ন তবে সি দিয়ে শুরু করা শহরে বা সম্পূর্ণ ভিন্ন কিছু, যেমন ' সুইডেনের রাজা। '
পরিবর্তে, আমি জটিল প্রশ্নটি ভাঙ্গতে পারি সহজতর কিন্তু আরও সাধারণ সেটগুলিতে। উদাহরণস্বরূপ, উপরের সমস্ত প্রশ্নের একটি লিঙ্গ-ভূমিকা ভিত্তিক ক্যোয়ারী রয়েছে, তাই আমি বিশ্বের সমস্ত লোককে নিজেরাই 'নারী' বলে বিবেচনা করি the এই সাব-কোয়েরিতে মূলত কোনও সময় লাগে না, সুতরাং সামগ্রিক অনুসন্ধানের সময়টি প্রায় 1/2 দ্বারা হ্রাস পায়। (ধরে নিলাম যে অন্যান্য জ্ঞানের দ্বারা আমরা জানি যে সুইডিশ "রাজা" একজন "মহিলা" হতে পারে না। হাটসেপসুট ছিলেন একজন মিশরীয় মহিলা যিনি রাজা ছিলেন।)
তবে, মাঝে মাঝে এমন প্রশ্নগুলি পাওয়া যায় যা লিঙ্গ-ভিত্তিক নয়, যেমন "এ শহরের সাথে শুরু হওয়া কোনও শহরের লাল বাড়ীতে 8 তম রাস্তায় বসবাসকারী ব্যক্তি" like আমি দেখতে পাচ্ছি যে সাবকোয়ারি "একটি লাল বাড়িতে থাকে" সাধারণ, এবং লোহিত বাড়িতে যারা বাস করেন তাদের সমস্তের একটি তালিকা প্রাক-গণনা করুন।
এটি আমাকে একটি সিদ্ধান্ত গাছ দেয়। সাধারণ ক্ষেত্রে, সিদ্ধান্ত গাছের প্রতিটি শাখায় বিভিন্ন প্রশ্ন থাকে এবং সিদ্ধান্ত গাছের জন্য সর্বোত্তম পদ নির্বাচন করার পদ্ধতিগুলি সুপরিচিত। যাইহোক, আমি একটি বিদ্যমান সিস্টেম তৈরি করছি যা এর জন্য সমস্ত শাখাকে একই প্রশ্ন জিজ্ঞাসা করতে হবে।
এখানে সম্ভাব্য চূড়ান্ত সিদ্ধান্তের উদাহরণ রয়েছে: প্রশ্ন 1 হল 'ব্যক্তিটি কি একজন মহিলা?', প্রশ্ন 2 হ'ল 'ব্যক্তিটি কি লাল ঘরে বাস করে?', প্রশ্ন 3 হ'ল 'কোনও ব্যক্তি কীভাবে শুরু করে কোনও শহরে বাস করেন? A বা ব্যক্তি বি দিয়ে শুরু করে কোনও শহরে থাকেন? 'এবং প্রশ্নটি 4' ব্যক্তিটি কি একটি সংখ্যাযুক্ত রাস্তায় বাস করে? '
যখন কোন জিজ্ঞাসা ভিতরে আসে, আমি যদি এটি দেখতে পাই প্রাক-গণিত প্রশ্নের যেকোনটির সাথে মিল দিন আমি স্থির করেছি। যদি তা হয় তবে আমি সেই উত্তরগুলির ছেদ পেয়েছি এবং প্রশ্ন জিজ্ঞাসা করছিযে ছেদটি সাবসেটে। উদাহরণস্বরূপ, যদি প্রশ্নটি হয় "একটি দ্বীপের লাল ঘরে তারা থাকেন এমন লোকেরা" তবে এটি খুঁজে পাওয়া যায় যে "ব্যক্তি একটি লাল বাড়িতে বাস করেন" ইতিমধ্যে সংঘাতযুক্ত, সুতরাং এটি কেবল যারা একটি দ্বীপে বাস করেন তাদের সাবসেট অনুসন্ধান করার বিষয়।
অনেকের সেট দেখে আমি দামের মডেল পেতে পারি এবং সংশ্লিষ্ট আকার দেখতে চেক করুন । আমি গড় আকারটি হ্রাস করতে চাই।
প্রশ্নটি হল, আমি কীভাবে সম্ভাব্য নির্বাচনটি অপ্টিমাইজ করব এই সিদ্ধান্ত সিদ্ধান্ত গাছ করতে? আমি জিএ চেষ্টা করেছিলাম তবে এটি রূপান্তর করতে ধীর ছিল। সম্ভবত কারণ আমার বৈশিষ্ট্যটির জায়গাটিতে কয়েক মিলিয়ন সম্ভাবনা রয়েছে। আমি একটি লোভী পদ্ধতি নিয়ে এসেছি, তবে আমি ফলাফলটি নিয়ে সন্তুষ্ট নই। এটিও খুব ধীর এবং আমি মনে করি যে আমি ভুল জিনিসটি অনুকূল করছি।
আমার কোন বিদ্যমান গবেষণা আইডিয়াগুলির জন্য সন্ধান করা উচিত?