सुराग के बिना एक विशिष्ट सॉल्वेंट क्रॉसवर्ड ... बनाएं


21

क्या आप बिना किसी सुराग के न्यूयॉर्क टाइम्स पहेली पहेली को हल करने की कल्पना कर सकते हैं? हो सकता है कि आधुनिक वर्ग पहेली में दिखाई देने वाले सभी रचनात्मकता और नए शब्दों और वाक्यांशों के साथ न हों, लेकिन एक निश्चित शब्द सूची के साथ कुछ आशा है। इस चुनौती में, आप एक क्रॉसवर्ड पहेली ग्रिड बनाते हैं जिसमें यह सैद्धांतिक रूप से संभव है।

चुनौती

एक सफेद और काले-छायादार 15x15 क्रॉसवर्ड पहेली ग्रिड में सफेद वर्गों की संख्या को अधिकतम करें, ताकि सफेद वर्गों को अक्षरों से विशिष्ट रूप से भरा जा सके ताकि हर तरफ और नीचे का शब्द अंतरराष्ट्रीय स्क्रैबल शब्द सूची में दिखाई दे।

ग्रिड निर्माण स्पष्टीकरण

अमेरिकी अखबारों में, क्रॉसवर्ड ग्रिड का निर्माण आमतौर पर किया जाता है ताकि हर अक्षर "चेक" हो जाए, मतलब यह "भर" शब्द और "डाउन" शब्द दोनों का हिस्सा है। यूके और अन्य जगहों पर (विशेष रूप से क्रिप्टोकरेंसी में ), यह जरूरी नहीं है कि मामला: यदि एक "भर में" या "डाउन" शब्द केवल एक अक्षर होगा, तो इसे वास्तविक शब्द नहीं होना चाहिए (जैसे "ए" या "आई" ")। इस चुनौती के लिए, अधिक आरामदायक नियमों का पालन करें: शब्द सूची में एकल-अक्षर शब्दों की आवश्यकता नहीं है।

कई अन्य परंपराएं (अमेरिका और अन्य जगहों पर) हैं, जिनमें से किसी को भी इस चुनौती का पालन करने की आवश्यकता नहीं है। उदाहरण के लिए, शब्द केवल दो अक्षर लंबे हो सकते हैं, शब्दों को दोहराने की अनुमति होती है और ग्रिड को (घूर्णी) समरूपता की आवश्यकता नहीं होती है।

क्या यह भी संभव है?

हाँ! यह सत्यापित करने के लिए एक संक्षिप्त स्क्रिप्ट लिख सकता है कि बाईं ओर निम्नलिखित रिक्त ग्रिड का अनूठा समाधान दाईं ओर भरा ग्रिड है:

15x15 ग्रिड चार 15-अक्षर शब्दों के साथ उनके चौथे और पांचवें अक्षर को पार कर गए

एक भरे हुए ग्रिड को कंप्यूटर-पठनीय प्रारूप में निम्नानुसार प्रदर्शित कर सकते हैं:

###CH##########
###YE##########
###AM##########
CYANOCOBALAMINE
HEMOCHROMATOSES
###CH##########
###OR##########
###BO##########
###AM##########
###LA##########
###AT##########
###MO##########
###IS##########
###NE##########
###ES##########

आपका समाधान

ऊपर के ग्रिड में 15x15 ग्रिड में कुल 225 वर्गों में से 56 सफेद वर्ग हैं। यह इस चुनौती के लिए आधार रेखा के रूप में कार्य करता है। कम सफेद वर्गों वाले ग्रिड भी उनके स्कोर के अलावा अन्य कारणों से दिलचस्प हो सकते हैं, उदाहरण के लिए यदि वे ऊपर वर्णित कुछ सौंदर्य परंपराओं को पूरा करते हैं।

कृपया अपने समाधान को उसी प्रारूप में प्रस्तुत करें जैसे कि कंप्यूटर द्वारा पढ़ी जाने वाली आधार रेखा। कृपया उस कोड को शामिल करें जो यह सत्यापित करता है कि आपके ग्रिड का एक अनूठा समाधान है।

दिलचस्प कोड स्निपेट (जैसे संभावनाओं के स्थान की खोज के लिए) और इस बात की चर्चा कि आपने अपना ग्रिड कैसे सराहा।

शब्द सूची

अंतर्राष्ट्रीय स्क्रैबल शब्द सूची को पहले SOWPODS के रूप में जाना जाता था और अब इसे कोलिन्स स्क्रैबल शब्द (CSW) कहा जाता है । इसका उपयोग अधिकांश देशों (विशेष रूप से यूएस को छोड़कर) में किया जाता है। हम इस सूची का उपयोग करना पसंद करते हैं क्योंकि इसमें ब्रिटिश वर्तनी शामिल है और आम तौर पर अमेरिकी शब्द सूची की तुलना में काफी शब्द हैं। इस सूची के कई संस्करण हैं जो थोड़े अलग हैं। आप इस सूची के विभिन्न संस्करणों पा सकते हैं विकिपीडिया से जुड़ा हुआ पर, Github में, पीटर Norvig के प्राकृतिक भाषा कोर्पस और अन्य स्थानों पर अक्सर अभी भी "SOWPODS" कहा जाता है।

यह चुनौती शब्द सूची की पसंद की व्यापक प्रकृति के प्रति अत्यधिक संवेदनशील है, लेकिन छोटे विवरणों के लिए कम है। उदाहरण के लिए, ऊपर आधारभूत उदाहरण CSW के किसी भी संस्करण के साथ काम करता है, लेकिन CHअमेरिकी स्क्रैबल शब्द सूची में एक शब्द नहीं है। विसंगति की स्थिति में, हम CSW19 का उपयोग करना पसंद करते हैं, जो CSW का सबसे नवीनतम संस्करण है। (यदि हम इस सूची का उपयोग करते हैं, जो इस वर्ष जारी किया गया था, तो हम इस चुनौती के जवाबों को लंबे समय तक वैध रहने की उम्मीद कर सकते हैं)। आप इस सूची को आधिकारिक स्क्रैबल शब्द खोजक साइट पर अंतःक्रियात्मक रूप से क्वेरी कर सकते हैं या इसे डाउनलोड कर सकते हैं (साथ ही पिछले संस्करण, CSW15) बोर्ड और कार्ड गेम्स स्टैक एक्सचेंज या रेडिट के r / स्क्रैबल से

Tldr : इस चुनौती के लिए आधिकारिक शब्द सूची बोर्ड और कार्ड गेम्स स्टैक एक्सचेंज पर एक सादे पाठ फ़ाइल (279,496 शब्द, प्रति पंक्ति) के रूप में उपलब्ध है ।

आगे की चर्चा

प्रारंभिक उत्तर और टिप्पणी में उठाया गया एक मुद्दा यह है कि मौजूदा वर्गवार (जैसे, एनवाईटी में) इस प्रश्न का उत्तर क्यों नहीं देते। विशेष रूप से, एक प्रकाशित NYT क्रॉसवर्ड के लिए सबसे कम संख्या में काले वर्गों (और इस प्रकार सफेद वर्गों की सबसे बड़ी संख्या) के लिए रिकॉर्ड पहले से ही क्रॉसवर्ड में सबसे प्रसिद्ध रिकॉर्ड है। हम रिकॉर्ड ग्रिड का उपयोग क्यों नहीं कर सकते ? कुछ मुद्दे हैं:

  • NYT वर्ग पहेली में से कई उत्तर हमारी शब्द सूची में दिखाई नहीं देते हैं। उदाहरण के लिए, रिकॉर्ड ग्रिड में PEPCID(एक ब्रांड नाम), APASSAGETOINDIA(एक फिल्म और उपन्यास के लिए एक चार-शब्द उचित नाम, रिक्त स्थान के बिना लिखा गया है), और STE("सैंटे" के लिए एक संक्षिप्त नाम) शामिल हैं। ऐसा प्रतीत होता है कि रिकॉर्ड ग्रिड स्क्रैबल शब्दों के साथ हल नहीं है।

  • आवश्यक रूप से अधिक शब्दों को शामिल करने के लिए शब्द सूची का विस्तार करना इस चुनौती के साथ आवश्यक रूप से मदद नहीं करता है: भले ही रिकॉर्ड ग्रिड में सभी शब्द हमारी शब्द सूची में दिखाई दिए, लेकिन समाधान सुराग के बिना अद्वितीय नहीं होगा । सब कुछ एक शब्द रखते हुए उत्तर के सिरों पर कुछ अक्षरों को बदलना अक्सर संभव होता है। (उदाहरण के लिए, नीचे-दाएं सबसे पत्र एक से बदला जा सकता है Dएक करने के लिए R।) जब एक वर्ग लेखन, "बेहतर" शब्द प्राप्त करने के लिए कोशिश कर रहा है दरअसल, इस (मानव) निर्माण की प्रक्रिया का हिस्सा है।

    साधारण वर्ग पहेली (आमतौर पर) का एक अनूठा समाधान यह है कि सुराग सही उत्तरों को कम करने में मदद करते हैं। यदि आप केवल सुराग का उपयोग किए बिना शब्दों के साथ ग्रिड को भरने की कोशिश करते हैं, तो संभावना है कि या तो कोई संभावना नहीं होगी या कई संभावनाएं नहीं होंगी । यहां एक ही ग्रिड के लिए तीन अलग-अलग फिल्स (इस चुनौती के लिए शब्द सूची का उपयोग करके) का एक उदाहरण है (एक वह जो NYC में अपेक्षाकृत अक्सर उपयोग किया जाता है):

सबसे आम NYT क्रॉसवर्ड ग्रिड, स्क्रैबल शब्दों के साथ तीन अलग-अलग तरीकों से भरा हुआ है।

  • टिप्पणियों में उठाया गया एक और मुद्दा यह है कि यह सवाल एक कोडिंग चुनौती है । शायद यह तुरंत स्पष्ट नहीं है, लेकिन इस चुनौती का एक भी वैध उत्तर खोजना मुश्किल है । ऊपर की आधार रेखा को शामिल करना कई, विशेष रूप से तैयार किए गए खोज कार्यक्रमों में शामिल हैं जो एक उत्तर खोजने की गारंटी नहीं थे। यदि आप उचित समय में जवाब चाहते हैं, तो मुझे व्यक्तिगत रूप से एक अनियंत्रित ग्रिड को हल करने का सामान्य तरीका भी नहीं पता है । मौजूदा क्रॉसवर्ड निर्माण कार्यक्रम मदद कर सकते हैं, लेकिन मुझे लगता है (शायद गलत तरीके से) कि वे वास्तव में संभावनाओं की पूरी खोज नहीं करते हैं। (मैंने ऊपर के तीन साइड-बाय-ग्रिड ग्रिड के लिए इस तरह के एक कार्यक्रम का इस्तेमाल किया; यह काम किया क्योंकि यह विशेष ग्रिड कई समाधानों के लिए अनुमति देता है।)

2
इस सामान्य प्रकार के प्रश्नों से संबंधित मेटा पोस्ट: codegolf.meta.stackexchange.com/questions/18117/…
ए। रेक्स

3
1. सौंदर्य विकल्प (" Grids with fewer white squares may also be interesting for reasons other than their score, for example if they satisfy some of the aesthetic traditions mentioned above.") को छोड़ दें - इसी तरह कोड गोल्फ में बोनस से बचने के लिए, मैं कोड कोड को केवल एक चीज के बारे में बताता हूं। इसका मतलब है कि सभी उत्तरों की तुलना इस तरह की जा सकती है। यह इसे स्पष्ट रूप से वस्तुनिष्ठ बनाता है, जो फिर से वोट देने में मदद करेगा।
ट्राइकोप्लाक्स

4
2. एक एकल शब्द सूची चुनें और सभी उत्तरों के लिए उस पर जोर दें। Tldr में एक आधिकारिक शब्द सूची का उल्लेख है, लेकिन पहले से चर्चा लोगों को यह सोचने के लिए प्रेरित कर सकती है कि वे उल्लेखित किसी भी व्यक्ति को चुन सकते हैं। यह पोस्ट के शीर्ष के पास सख्त आवश्यकताओं को रखने में मदद कर सकता है, और यह बहुत स्पष्ट कर सकता है कि अन्य विवरण चुनौती के विनिर्देश का हिस्सा नहीं हैं। आदर्श रूप में, पोस्ट को छोटा और तुरंत अस्पष्ट रखने के लिए विशेष रूप से कुछ भी नहीं छोड़ें।
ट्राइकोप्लाक्स

2
3. एक वैध उत्तर के लिए समाधान की आवश्यकता को खोजने के लिए उपयोग किए गए कोड को शामिल करना।
ट्राइकोप्लाक्स

3
यह एक तरह की चुनौती है, जो लोगों के दृष्टिकोण पर चर्चा करने के लिए एक चैट रूम से लाभ उठा सकती है। यदि आप एक चैट रूम स्थापित करते हैं और कल्पना के अंत से इसे लिंक करते हैं, तो आप वहां प्रारंभिक पोस्ट के रूप में चर्चा पोस्ट कर सकते हैं, और इस चुनौती में उन लोगों के लिए उल्लेख कर सकते हैं जो अधिक जानना चाहते हैं।
ट्राइकोप्लाक्स

जवाबों:


9

180 सफेद वर्ग

खाली ग्रिड समाधान

मेरी रणनीति बस एक छोटे आयत को खोजने की थी जिसमें कोई काले वर्ग न हों, जैसे कि इसे विशिष्ट रूप से भरा जा सकता है। सभी 2×kआयतों के कई समाधान हैं। के लिए 3×kआयत, वहाँ के लिए कई समाधान कर रहे हैं k3 और 14 के बीच है, लेकिन वहाँ के लिए एक ठीक एक समाधान है k=15

मैं तब ग्रिड में 4 ऐसे आयतों को फिट करता हूं। इसका मतलब है कि प्रत्येक शब्द 4 बार समाधान में प्रकट होता है, जो आमतौर पर क्रॉसवर्ड निर्माण में डूब जाता है, लेकिन इस चुनौती के लिए ठीक है। दूसरी ओर, इस समाधान में बाएँ / दाएँ और ऊपर / नीचे दोनों समरूपता है!

कंप्यूटर-पठनीय ग्रिड:

HETERONORMATIVE
OVEROPINIONATED
POSSESSEDNESSES
###############
HETERONORMATIVE
OVEROPINIONATED
POSSESSEDNESSES
###############
HETERONORMATIVE
OVEROPINIONATED
POSSESSEDNESSES
###############
HETERONORMATIVE
OVEROPINIONATED
POSSESSEDNESSES

यहाँ आर कोड है जिसका उपयोग मैं किसी दिए गए ग्रिड आकार के लिए सभी समाधान खोजने के लिए करता था। 15-अक्षरों वाले शब्दों के सभी त्रिभुजों पर लूपिंग बहुत धीमी है। इसके बजाय, मैं आयतों में भरने की कोशिश करता हूं

  • पहले दो कॉलम सेट करना (दो 3-अक्षर शब्द)
  • फिर पहले दो अक्षरों से शुरू होने वाले सभी 15 अक्षरों वाले शब्दों के माध्यम से लूपिंग करें जो अब बसे हैं।
  • 15-अक्षर शब्दों के प्रत्येक संभव विकल्प के लिए, मैं तब सत्यापित करता हूं कि सभी 3-अक्षर शब्द उत्पन्न हैं या नहीं।

उदाहरण के लिए, अंतिम समाधान के लिए, कोड पहले में डाल HOPऔर EVO, फिर में पूरा कर लिया HETERNORMATIVE, OVEROPINIONATEDऔर POSSESSEDNESSES, और अंत में सत्यापित सभी 3 अक्षर का शब्द ( HOP, EVO, TES, ERS, ROE, OPS, NIS, ONE, RID, MON, ANE, TAS, ITS, VEE, EDS)।

आर कोड

library(fastmatch)
f = "scrabble-wordlist.txt"
d = read.table(f, skip=2, as.is=T, na.strings=NULL)

d$l = apply(d, 2, nchar)
d3 = d[d$l==3, 1]

sp = function(s) strsplit(s, "")[[1]]
cm = function(v) paste0(v, collapse="")
d3s = sapply(d3, sp)

f3 = function(l){
  m = matrix("", 3, l)

  md = sapply(d[d$l == l, 1], sp)
  nf = 0

  a1 = seq(1, 3*l, by=3); a2 = a1 + 1; a3 = a1 + 2

  for(i in 1:ncol(d3s)){
    m[, 1] = d3s[, i]

    id1 = as.matrix(md[, md[1, ] == m[1, 1]])
    id2 = as.matrix(md[, md[1, ] == m[2, 1]])
    id3 = as.matrix(md[, md[1, ] == m[3, 1]])

    if(any(ncol(id1) == 0, ncol(id2) == 0, ncol(id3) == 0)) next

    for(j in 1:ncol(d3s)){
      m[, 2] = d3s[, j]

      jd1 = as.matrix(id1[, id1[2, ] == m[1, 2]])
      jd2 = as.matrix(id2[, id2[2, ] == m[2, 2]])
      jd3 = as.matrix(id3[, id3[2, ] == m[3, 2]])

      if(any(ncol(jd1) == 0, ncol(jd2) == 0, ncol(jd3) == 0)) next

      for(k1 in 1:ncol(jd1)){
        m[1, ] = jd1[, k1]

        for(k2 in 1:ncol(jd2)){
          m[2, ] = jd2[, k2]

          for(k3 in 1:ncol(jd3)){
            m[3, ] = jd3[, k3]

            w = paste0(m[a1], m[a2], m[a3])
            if(all(w %fin% d3)){
              nf = nf + 1
              print(m)
            }
            if(nf >= 2){
              print(c(l, nf))
              return()
            }
          }
        }
      }
    }
  }

  return(nf)
}

के रूप में पुकारा गया f3(15)। मेरे निजी कंप्यूटर पर कुछ घंटे लगे।


@downvoter क्या आप टिप्पणी कर सकते हैं?
रॉबिन राइडर

मेरे जवाब को भी दरकिनार कर दिया गया। X
ए रेक्स

1

182 सफेद चौकोर

चार 3x15 क्षेत्रों में कुछ और सफेद वर्गों द्वारा जुड़ा हुआ है।

रॉबिन राइडर के जवाब से प्रेरित होकर , मैंने कुछ और सफेद वर्गों में निचोड़ने की कोशिश की। मेरा मानना ​​है कि यह समाधान अद्वितीय है, और मैं जल्द ही तदनुसार सत्यापन कोड पोस्ट करूंगा।

कंप्यूटर-पठनीय ग्रिड:

HETERONORMATIVE
OVEROPINIONATED
POSSESSEDNESSES
B##############
INCOMMUNICATIVE
NEUROANATOMICAL
DETERMINATENESS
###############
HETERONORMATIVE
OVEROPINIONATED
POSSESSEDNESSES
B##############
INCOMMUNICATIVE
NEUROANATOMICAL
DETERMINATENESS

184 के बाद से मोन? खाट मोनोकॉट के साथ विशिष्ट रूप से पूरा किया जा सकता है
जोनाथन एलन

... कि "हो सकता है ..." के बाद से मैं यह सत्यापित नहीं किया है कि बोर्ड भर में विशिष्टता तोड़ नहीं होगा!
जोनाथन एलन

मैं आपका सत्यापन कोड देखने के लिए उत्सुक हूं। आपके ग्रिड को सत्यापित करने के मेरे सभी प्रयास भयावह रूप से धीमे हैं।
रॉबिन राइडर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.