কনস্ট্রেইন্ট-ভিত্তিক অ্যালগরিদম সادا রুল জেনারেশন ফেজে (অ্যাসোসিয়েশন রুল তৈরি করার ধাপটি এক্সহাস্টিভ অ্যালগরিদমের মতো সঠিক) সার্চ স্পেস কমাতে কনস্ট্রেইন্ট প্রয়োজন।
কনস্ট্রেইন্টের গুরুত্ব ভালোভাবে সংজ্ঞায়িত এবং সেগুলো শুধু সেই অ্যাসোসিয়েশন রুল তৈরি করে যা ব্যবহারকারীদের কাছে আকর্ষণীয়। পদ্ধতিটি khá সরল এবং রুলস্পেস কমে যায় যেহেতু বাকি রুলগুলো কনস্ট্রেইন্ট ব্যবহার করে।
কনস্ট্রেইন্টের তিনটি প্রকার রয়েছে:
ইনস্ট্যান্সে কনস্ট্রেইন্ট (Constraints on instances)
ইনস্ট্যান্সে কনস্ট্রেইন্ট নির্ধারণ করে একটি জোড়া বা ইনস্ট্যান্সের সেটকে কীভাবে ক্লাস্টার বিশ্লেষণে গ্রুপ করা উচিত। এই ক্যাটাগরির থেকে দুটি প্রকার কনস্ট্রেইন্ট রয়েছে:
মাস্ট-লিংক কনস্ট্রেইন্ট (Must-link constraints) - যদি দুটি অবজেক্ট x এবং y-র ওপর একটি মাস্ট-লিংক কনস্ট্রেইন্ট সংজ্ঞায়িত করা হয়, তবে ক্লাস্টার বিশ্লেষণের আউটপুটে x এবং y-কে একই ক্লাস্টারে গ্রুপ করা আবশ্যক। এই মাস্ট-লিংক কনস্ট্রেইন্টগুলো ট্রানজিটিভ অর্থাৎ must-link(x, y) এবং must-link(y, z) হলে, must-link(x, z) হবে।
ক্যান্ট-লিংক কনস্ট্রেইন্ট (Cannot-link constraints) - ক্যান্ট-লিংক কনস্ট্রেইন্ট মাস্ট-লিংক কনস্ট্রেইন্টের বিপরীত। যদি দুটি অবজেক্ট x এবং y-র ওপর একটি ক্যান্ট-লিংক কনস্ট্রেইন্ট সংজ্ঞায়িত করা হয়, তবে ক্লাস্টার বিশ্লেষণের আউটপুটে x এবং y অবশ্যই ভিন্ন ক্লাস্টারের অন্তর্গত থাকবে। ক্যান্ট-লিংক কনস্ট্রেইন্ট অনুপ্রেরিত হতে পারে। যদি cannot-link(x, y), must-link(x, x'), এবং must-link(y, y') হয়, তবে cannot-link(x', y') হবে।
ক্লাস্টারে কনস্ট্রেইন্ট (Constraints on clusters)
ক্লাস্টারে কনস্ট্রেইন্ট ক্লাস্টারগুলোর ওপর একটি প্রয়োজনীয়তা নির্ধারণ করে, সম্ভবত ক্লাস্টারের অ্যাট্রিবিউট ব্যবহার করে। উদাহরণস্বরূপ, একটি কনস্ট্রেইন্ট একটি ক্লাস্টারে ন্যূনতম অবজেক্ট সংখ্যা, একটি ক্লাস্টার সর্বাধিক ব্যাসার্ধ বা ক্লাস্টারের আকৃতি (যেমন: কনভেক্স) নির্ধারণ করতে পারে। পার্টিশনিং ক্লাস্টারিং পদ্ধতির জন্য সংজ্ঞায়িত ক্লাস্টারের সংখ্যাকে ক্লাস্টারে কনস্ট্রেইন্ট হিসেবে চিহ্নিত করা যায়।
সাদৃশ্য মাপে কনস্ট্রেইন্ট (Constraints on similarity measurement)
একটি সাদৃশ্য মাপ, যেমন ইউক্লিডিয়ান দূরত্ব, ক্লাস্টার বিশ্লেষণে অবজেক্টগুলোর মধ্যে সাদৃশ্য হিসাব করতে ব্যবহৃত হয়। অনেক অ্যাপ্লিকেশনে ব্যতিক্রম থাকে। সাদৃশ্য মাপে কনস্ট্রেইন্ট সাদৃশ্য গণনার মেনে চলতে হবে এমন একটি প্রয়োজনীয়তা নির্দিষ্ট করে।
উদাহরণস্বরূপ, একটি চতরে চলমান মানুষকে ক্লাস্টার করা হলে, ইউক্লিডিয়ান দূরত্ব দুটি পয়েন্টের মধ্যে হাঁটার দূরত্ব দিতে পারে, কিন্তু সাদৃশ্য মাপে একটি কনস্ট্রেইন্ট হল যে শর্টেস্ট দূরত্ব অনুসরণ করা পথে কোনো দেওয়াল পার করা যাবে না।
ক্লাস্টারিং কনস্ট্রেইন্ট শ্রেণিবিন্যাসের একটি অন্য পদ্ধতি বিবেচনা করে কনস্ট্রেইন্টগুলো কত কঠোরভাবে মেনে চলতে হবে। একটি কনস্ট্রেইন্ট হার্ড যদি কনস্ট্রেইন্ট লঙ্ঘনকারী একটি ক্লাস্টারিং অগ্রাহ্য হয়। একটি কনস্ট্রেইন্ট সফট যদি কনস্ট্রেইন্ট লঙ্ঘনকারী একটি ক্লাস্টারিং অবাঞ্ছনীয় কিন্তু গ্রহণযোগ্য হয় যখন আরও ভালো সমাধান পাওয়া যায় না। সফট কনস্ট্রেইন্টকে পছন্দও বলা হয়।