বিমূর্ত বীজগণিতের অনেকগুলি গুরুত্বপূর্ণ বিষয়ের মধ্যে একটি বাইনারি ফাংশন জড়িত একটি সেটে অভিনয় করে। এই জাতীয় বিষয়গুলির তদন্তে এই জাতীয় ফাংশনগুলির বেশ কয়েকটি বৈশিষ্ট্য সংজ্ঞায়িত করা হয়েছে।
আপনার চ্যালেঞ্জটি কোনও নির্দিষ্ট ডোমেনে প্রদত্ত বাইনারি ফাংশন এই পাঁচটি বৈশিষ্ট্যের অধিকারী কিনা তা নির্ধারণ করা হবে।
প্রোপার্টি
প্রতিটি সম্ভাব্য আউটপুট ডোমেনে থাকলে একটি বাইনারি ফাংশন বন্ধ থাকে।
বাইনারি ফাংশনটি সহযোগী হয় যদি ক্রমটি ইনপুটগুলির একটি সিরিজটিতে প্রয়োগ করা হয় ফলাফলটি প্রভাবিত করে না। এটি হ'ল সর্বদা সমান $
হলে সহযোগী হয়(a $ b) $ c
a $ (b $ c)
। নোট করুন যেহেতু মানটি (a $ b)
ইনপুট হিসাবে ব্যবহৃত হয়, তাই সহযোগী ক্রিয়াকলাপগুলি বন্ধ করতে হবে।
ইনপুটগুলির ক্রমটি অদলবদলে ফলাফল পরিবর্তন না হলে একটি বাইনারি ফাংশন পরিবর্তনীয় হয়। অন্য কথায়, যদি a $ b
সর্বদা সমান হয় b $ a
।
বাইনারি ফাংশনটির একটি পরিচয় উপাদান থাকে যদি e
ডোমেনে কিছু উপাদান থাকে যেমন ডোমেনের a $ e = a = e $ a
সকলের জন্য a
in
একটি বাইনারি ফাংশন আদর্শবান হয় যদি এটি দুটি অনুরূপ ইনপুটগুলিতে প্রয়োগ করে আউটপুট হিসাবে সেই সংখ্যাটি দেয়। অন্য কথায়, যদি সবার a $ a = a
জন্যa
ডোমেনে ।
ইনপুট
আপনাকে ম্যাট্রিক্স আকারে একটি ফাংশন দেওয়া হবে এবং ফাংশনের ডোমেন সংখ্যা হবে 0 ... n-1
যেখানে n
ম্যাট্রিক্সের পাশের দৈর্ঘ্য is
মানটি ম সারির (a $ b)
মধ্যে a
তম সারির b
তম উপাদান হিসাবে এনকোড করা হয় । যদি ইনপুট ম্যাট্রিক্স হয় Q
তবেa $ b
=Q[a][b]
উদাহরণস্বরূপ, **
ডোমেনে এক্সপেনসিয়েশন ফাংশন ( পাইথনে) এইভাবে [0, 1, 2]
এনকোড করা রয়েছে:
[[1, 0, 0]
[1, 1, 1]
[1, 2, 4]]
বাম এবং ডান ডোমেনগুলি একই, সুতরাং ম্যাট্রিক্স সর্বদা বর্গক্ষেত্র হবে।
আপনি ইনপুট হিসাবে কোনও সুবিধাজনক ম্যাট্রিক্স ফর্ম্যাট ব্যবহার করতে পারেন, যেমন তালিকার তালিকাগুলি, সারির একক তালিকা- বা কলাম- প্রধান ক্রম, আপনার ভাষার নেটিভ ম্যাট্রিক্স অবজেক্ট ইত্যাদি However তবে, আপনি ইনপুট হিসাবে সরাসরি কোনও ফাংশন গ্রহণ করতে পারেন না।
সরলতার জন্য, ম্যাট্রিক্স এন্ট্রিগুলি সবগুলি পূর্ণসংখ্যা হবে। আপনি ধরে নিতে পারেন যে সেগুলি আপনার ভাষার স্থানীয় সংখ্যার সাথে খাপ খায়।
আউটপুট
উপরের বৈশিষ্ট্যগুলির মধ্যে কোনটি আপনার চয়ন করা যে কোনও বিন্যাসে রয়েছে তা বুলিয়ানদের তালিকা, প্রতিটি সম্পত্তির জন্য আলাদা আলাদা অক্ষরের স্ট্রিং ইত্যাদি অন্তর্ভুক্ত রয়েছে However বৈশিষ্ট্য। এই আউটপুট অবশ্যই সহজেই মানব-পঠনযোগ্য।
উদাহরণ
N = 4 ডোমেনে সর্বোচ্চ ফাংশন:
[[0, 1, 2, 3]
[1, 1, 2, 3]
[2, 2, 2, 3]
[3, 3, 3, 3]]
এই ফাংশনে ক্লোজার, এসোসিয়েটিভিটি, চলাচল, পরিচয় এবং আদর্শের বৈশিষ্ট্য রয়েছে mp
N = 3 ডোমেনে এক্সপেনসিয়েশন ফাংশন:
[[1, 0, 0]
[1, 1, 1]
[1, 2, 4]]
এই ফাংশনটিতে উপরের কোনও বৈশিষ্ট্য নেই।
ডোমেন এন = 3 এ যুক্ত ফাংশন:
[[0, 1, 2]
[1, 2, 3]
[2, 3, 4]]
এই ফাংশনটিতে ভ্রমণ এবং পরিচয়ের বৈশিষ্ট্য রয়েছে।
ডোমেইনে কে সংযুক্তকারী n = 3:
[[0, 0, 0]
[1, 1, 1]
[2, 2, 2]]
এই ফাংশনটিতে ক্লোজার, এসোসিয়েটিভিটি এবং আদর্শের বৈশিষ্ট্য রয়েছে।
ডোমেন এন = 3 এ সম্পূর্ণ পার্থক্য ফাংশন:
[[0, 1, 2]
[1, 0, 1]
[2, 1, 0]]
এই ফাংশনটিতে ক্লোজার, চলাচল এবং পরিচয়ের বৈশিষ্ট্য রয়েছে।
N = 3 এ ডোমেনে গড় ফাংশন, সমান দিকে ঘুরবে:
[[0, 0, 1]
[0, 1, 2]
[1, 2, 2]]
এই ফাংশনটিতে বন্ধকরণ, চলাচল, পরিচয় এবং আদর্শহীনতার বৈশিষ্ট্য রয়েছে।
ডোমেন এন = 3 এ সমতা ফাংশন:
[[1, 0, 0]
[0, 1, 0]
[0, 0, 1]]
এই ফাংশনটিতে ক্লোজার এবং চলাচলের বৈশিষ্ট্য রয়েছে।
চ্যালেঞ্জ
এটি কোড গল্ফ। স্ট্যান্ডার্ড লুফোলস প্রযোজ্য। সর্বনিম্ন বাইট জয়।
c=all(l>)
?