गणितज्ञ 188 185 170 115 130 46 48 वर्ण
व्याख्या
पहले के संस्करणों में, मैंने एक दूसरे से 1 की दूरी की शतरंज की दूरी वाले पदों का एक ग्राफ बनाया। GraphComponentsतब द्वीपों की संख्या का पता चला, प्रति घटक एक।
वर्तमान संस्करण MorphologicalComponentsसरणी में उन लोगों के समूहों को खोजने और उनकी संख्या का उपयोग करता है - जिन क्षेत्रों 1में शारीरिक रूप से सन्निहित हैं। क्योंकि रेखांकन अनावश्यक है, इससे कोड की एक बड़ी अर्थव्यवस्था बन जाती है।
कोड
Max@MorphologicalComponents[#/.{"."->0,"*"->1}]&
उदाहरण
Max@MorphologicalComponents[#/.{"."->0,"*"->1}]&[{{".", ".", ".", ".", ".", ".", ".", ".", ".", "*", "*"}, {"*", "*", ".", ".", ".", ".", ".", ".", "*", "*", "*"}, {".", ".", ".", ".", ".", ".", ".", ".", ".", ".", "."}, {".", ".", ".", "*", ".", ".", ".", ".", ".", ".", "."}, {"*", ".", ".", ".", ".", ".", ".", ".", ".", "*", "."}, {"*", ".", ".", ".", ".", ".", ".", ".", ".", ".", "*"}}]
5
यह काम किस प्रकार करता है
डेटा एक सरणी के रूप में इनपुट हैं; गणितज्ञों में, यह सूचियों की एक सूची है।
इनपुट ऐरे में, डेटा को प्रतिस्थापन द्वारा 's' 1और 0's ' में बदला जाता है
/.{"."->0,"*"->1}
प्रतिस्थापन नियमों द्वारा पालन किया जाने /.वाला एक शिशु रूप कहां है ReplaceAll। यह अनिवार्य रूप से सरणी को एक काले और सफेद छवि में परिवर्तित करता है। सभी हम क्या करने की जरूरत है, समारोह लागू है Image।
Image[{{".", ".", ".", ".", ".", ".", ".", ".", ".", "*", "*"}, {"*", "*", ".", ".", ".", ".", ".", ".", "*", "*", "*"}, {".", ".", ".", ".", ".", ".", ".", ".", ".", ".", "."}, {".", ".", ".", "*", ".", ".", ".", ".", ".", ".", "."}, {"*", ".", ".", ".", ".", ".", ".", ".", ".", "*", "."}, {"*", ".", ".", ".", ".", ".", ".", ".", ".", ".", "*"}} /. {"." -> 0, "*" -> 1}]

सफेद वर्ग उन कोशिकाओं के अनुरूप होता है, जिनका मूल्य होता है, १।
नीचे दी गई तस्वीर कुछ चरणों को दिखाती है जो दृष्टिकोण का उपयोग करता है। इनपुट मैट्रिक्स में केवल 1's 0' और 's' शामिल हैं। आउटपुट मैट्रिक्स प्रत्येक आकृति विज्ञान क्लस्टर को एक संख्या के साथ लेबल करता है। (मैं MatrixFormउनके दो आयामी संरचना को उजागर करने के लिए इनपुट और आउटपुट मैट्रिसेस दोनों को लपेटता हूं ।)
MorphologicalComponentsजगह 1रों एक पूर्णांक प्रत्येक कोशिका के क्लस्टर नंबर करने के लिए इसी के साथ।

Max सबसे बड़ा क्लस्टर नंबर देता है।
द्वीपों का प्रदर्शन
Colorize प्रत्येक द्वीप को विशिष्ट रूप से रंग देगा।
