ज़ेब्रा पहेली एक प्रसिद्ध तर्क पहेली है। इसमें पाँच घर हैं और हर घर का रंग अलग है। इन घरों में रहने वाले लोग भी अलग-अलग हैं: सबकी राष्ट्रीयता अलग है, सबके पालतू जानवर अलग हैं, सब अलग-अलग पेय पीते हैं और सबके शौक भी अलग-अलग हैं।
पहेली हल करने में आपकी मदद के लिए आपको 15 दावे दिए गए हैं, जो बताते हैं कि हल क्या है। लेकिन पहेली का हल तभी मिल पाएगा जब आप सभी दावों में दी गई जानकारी को आपस में मिलाएँगे।
ज़ेब्रा पहेली एक कंस्ट्रेंट सैटिस्फैक्शन प्रॉब्लम (CSP) है। ऐसी समस्या में आपके पास संभावित वैल्यू का एक समूह होता है और कुछ कंस्ट्रेंट होते हैं, जो तय करते हैं कि कौन-सी वैल्यू मान्य हैं। एक और प्रसिद्ध CSP सुडोकू है।
आपको ज़ेब्रा पहेली हल करके इन दो सवालों के जवाब ढूँढने हैं:
नीचे दिए गए सभी 15 दावे सत्य माने जाते हैं:
इसके अलावा, पाँचों घरों में से हर एक अलग रंग में रंगा गया है। उनमें रहने वाले लोगों की राष्ट्रीयता, पालतू जानवर, पेय और शौक भी अलग-अलग हैं।
इस पहेली के 24 अरब (5!⁵ = 24,883,200,000) संभावित हल हैं, इसलिए जितने हल हो सके, उतने हटाने की कोशिश कीजिए।
इस अभ्यास में आपको डेटा के एक संग्रह पर काम करना है। आप लेज़ी सीक्वेंस का इस्तेमाल करके अपना कोड आसान बना सकते हैं। इससे परफॉर्मेंस भी बेहतर होती है। अधिक जानकारी के लिए यह पेज देखिए।
Exercism पर साइन अप कीजिए और C# को 62 कॉन्सेप्ट178 अभ्यास तथा असली इंसानों से मिलने वाली मेंटरिंग के साथ सीखिए और उसमें महारत हासिल कीजिए, वह भी बिल्कुल मुफ्त।
24 अरब संभावित हलों में से ज़ेब्रा पहेली का हल ढूँढने के 8 अलग-अलग तरीके जानिए, जिनमें अमान्य क्रमपरिवर्तनों को जितनी जल्दी हो सके अनदेखा करना, AC-3 एल्गोरिदम, तर्क पर आधारित एक बहुत संक्षिप्त हल और यहाँ तक कि एक जेनेटिक एल्गोरिदम भी शामिल है!