বুলিয়ান সন্তোষজনকতা সমস্যা সমাধানের জন্য ওয়াকস্যাট এবং জিএসএটি সুপরিচিত এবং সাধারণ স্থানীয় অনুসন্ধান অ্যালগরিদম। জিএসএটি অ্যালগরিদমের সিউডোকোড জিএসএটি অ্যালগরিদম বাস্তবায়ন করা প্রশ্ন থেকে অনুলিপি করা হয়েছে - উল্টাতে কোন আক্ষরিকটি কীভাবে নির্বাচন করবেন? এবং নীচে উপস্থাপন।
procedure GSAT(A,Max_Tries,Max_Flips)
A: is a CNF formula
for i:=1 to Max_Tries do
S <- instantiation of variables
for j:=1 to Max_Iter do
if A satisfiable by S then
return S
endif
V <- the variable whose flip yield the most important raise in the number of satisfied clauses;
S <- S with V flipped;
endfor
endfor
return the best instantiation found
end GSAT
এখানে আমরা ভেরিয়েবলটি ফ্লিপ করব যা সন্তুষ্ট ধারাগুলির সংখ্যা সর্বাধিক করে তোলে। এটি কীভাবে দক্ষতার সাথে করা হয়? সরল পদ্ধতিটি হ'ল প্রতিটি পরিবর্তনশীলকে ফ্লিপ করা এবং প্রতিটি ধাপের জন্য সমস্ত অনুচ্ছেদের মধ্য দিয়ে এবং তার মধ্যে কতজন সন্তুষ্ট হন তা গণনা করুন। এমনকি যদি একটি দফা ধ্রুব সময় satisfiability জন্য জানতে চাওয়া হতে পারে, সাদাসিধা পদ্ধতি এখনও চালানো হবে , সময় যেখানে ভী ভেরিয়েবল এবং সংখ্যা সি ক্লজ সংখ্যা। আমি নিশ্চিত যে আমরা আরও ভাল করতে পারি, তাই প্রশ্ন:
অনেক স্থানীয় অনুসন্ধান অ্যালগরিদমগুলি ভেরিয়েবলের অ্যাসাইনমেন্টটি ফ্লিপ করে যা সন্তুষ্ট ধারাগুলির সংখ্যা সর্বাধিক করে তোলে। অনুশীলনে, কোন অপারেটিং সিস্টেমটি দক্ষতার সাথে সমর্থন করে?
পাঠ্যপুস্তকগুলি প্রায়শই বাদ যায় বলে মনে হয় এটি। একটি উদাহরণ এমনকি বিখ্যাত রাসেল এবং নরভিগ বইটি ।