पृष्ठभूमि
आपने अभी-अभी सीखा कि कॉम्बिनेशन लॉजिक क्या है। उन विभिन्न कॉम्बिनेटरों से परिचित हैं जिनके बारे में सीखने में आप काफी समय बिताते हैं। आप अंततः इस विशेष अभिव्यक्ति पर ठोकर खाते हैं:
(S I I (S I I))
आप ध्यान दें कि जब इसे अपने सामान्य रूप में कम करने की कोशिश की जाती है, तो यह तीन चरणों के बाद अपने आप कम हो जाती है:
(S I I (S I I))
= (I (S I I) (I (S I I))) (1)
= (S I I (I (S I I))) (2)
= (S I I (S I I)) (3)
आप अन्य भाव खोजने के लिए दृढ़ हैं जो इस विशेषता को साझा करते हैं और तुरंत इस पर काम करना शुरू करते हैं।
नियम
आप निम्नलिखित संयोजन के किसी भी संयोजन का उपयोग कर सकते हैं:
B f g x = f (g x) C f x y = f y x I x = x K x y = x S f g x = f x (g x) W f x = f x x
एप्लिकेशन को साहचर्य छोड़ दिया जाता है, जिसका अर्थ है कि
(S K K)
वास्तव में((S K) K)
।एक कमी न्यूनतम है कमी कदमों का कोई अन्य क्रम नहीं है जो कम चरणों का उपयोग करता है। उदाहरण: अगर
x
कमी हैy
, तो सही न्यूनतम कमी(W f x)
है:(W f x) = (W f y) (1) = f y y (2)
और नहीं
(W f x) = f x x (1) = f y x (2) = f y y (3)
मानक खामियां लागू होती हैं।
कार्य
हम एक अभिव्यक्ति के चक्र को दो समान भावों के बीच में कटौती की न्यूनतम संख्या के रूप में परिभाषित करते हैं ।
आपका काम अभिव्यक्ति का पता लगाना है, उपयोग किए गए कॉम्बिनेटरों की संख्या <100 के साथ, जो सबसे लंबे चक्र का उत्पादन करता है।
स्कोरिंग
आपका स्कोर आपकी अभिव्यक्ति के चक्र की लंबाई से निर्धारित होगा। यदि दो लोगों की अभिव्यक्ति में एक ही चक्र है, तो जवाब जो कम कॉम्बिनेटर का उपयोग करता है वह जीतता है। यदि वे दोनों समान संख्या में कॉम्बिनेटर का उपयोग करते हैं, तो पहले वाला उत्तर जीत जाता है।
गुड लक और मजा करें!
x
करने के लिए एक कमी है y
तो W f x -> W f y -> f y y
या W f x -> f x x -> f x y -> f y y
समान नहीं हैं।