Кіріспе

Логикалық жұмбақ

Нурикабе (хирагана: ぬりかべ) – екілік анықтау жұмбағы, жапон халық ертегілерінде жолдарды кесіп, жаяу өтуді қиындататын көрінбейтін қабырға атымен аталған. Нурикабе ойынды Николи ойлап тапқан және атаған; осы жұмбақтың басқа да атаулары (жергілікті тілге аудару әрекеттері) – «Жасуша құрылымы» және «Ағындағы аралдар».

Тарих

Нурикабе алғаш рет "ренин (れーにん)" есімді автор әзірлеген, оның псевдонимі "Лениннің" жапонша айтылуымен сәйкес келеді, ал автор есімін де солай оқуға болады. Бұл жұмбақ 1991 жылғы наурызда шыққан "Puzzle Communication" Николи журналының 33-ші санында жарияланды. Көп ұзамай ол қызығушылық тудырып, 38-ші санынан бастап бүгінгі күнге дейін осы журналдың барлық нөмірлерінде жарияланып келеді. 2005 жылға қарай, Николи компаниясы Нурикабе жұмбақтарынан ғана тұратын жеті кітап шығарды. (Бұл абзац негізінен "Николи қызықты жұмбақтардың толық жинағы (ニコリ オモロパズル大全集)" еңбегіне сүйенеді. https://web.archive.org/web/20060707011243/http://www.nikoli.co.jp/storage/addition/omopadaizen/)

Ерітінді әдістері

Нұрикабе жұмбағын шешу үшін жаңсақ болжаулардың қажеті жоқ. Керісінше, шешуші оларды қайда қолдануға болатынын байқаса, қарапайым процедуралар мен ережелерді жасап, орындауға болады. Жаңа бастаған шешушілердің ең көп жіберетін қатесі – тек қара немесе ақ түсті анықтауға ғана назар аудару, екіншісін ескермеу. Көптеген Нұрикабе жұмбақтарын шешу үшін қайта-қайта қарау қажет. Ақ жасушаларды белгілеу, қара жасушалардың бөлігі оқшауланбауы үшін басқа жасушаларды қара түске бояуға мәжбүр етеді, және керісінше. (Го ойынымен таныс адамдар, әртүрлі аймақтардағы белгісіз жасушаларды "бостандықтар" деп есептеп, олардың қалай өсу керектігін анықтау үшін "атари" логикасын қолдана алады.)

Негізгі стратегия

Екі арал тек бұрыштарда ғана жанаса алады, сондықтан екі жартылай аралдың (сандар мен олардың санына жетпеген іргелес ақ жасушалардың) арасындағы жасушалар қара болуы керек. Бұл көбінесе Нурикабе жұмбағын бастаудың жолы – екі немесе одан көп сандарға іргелес жасушаларды қара деп белгілеу арқылы. Арал "толық" болғаннан кейін – яғни, оның санына қажетті барлық ақ жасушалары болғаннан кейін – онымен қабырласып жатқан барлық жасушалар қара болуы керек. Әрине, бастапқыда '1' санымен белгіленген жасушалар өздері жеке аралдар болып табылады және оларды бастапқыда қара түспен бөліп көрсетуге болады. Егер үш қара жасуша "ішкі бұрыш" – L пішінін құраса, бұрылыстағы жасуша (L пішінінің бұрышынан диагональ бойынша) ақ болуы керек. (Басқаша айтқанда, жақсырақ термин табылмағандықтан, "қолаң" деп атауға болады.) Барлық қара жасушалар соңында бір-бірімен байланысуы керек. Егер қара аймақта тақтаның қалған бөлігімен байланысудың жалғыз жолы болса, онда жалғыз байланыс жолы қара болуы тиіс. Салдары: тік, көлденең немесе диагональ бойынша ақ жасушалардың үзіліссіз тізбегі тақта жиегіндегі бір жасушадан басқа жасушаға дейін созылуы мүмкін емес, өйткені мұндай жағдайда қара жасушалар байланыспайды. Барлық ақ жасушалар соңында тек бір ғана аралдың құрамына кіруі керек. Егер нөмірсіз ақ аймақ болса және оның нөмірленген ақ аймаққа қосылудың жалғыз жолы болса, онда жалғыз байланыс жолы ақ болуы тиіс. Кейбір жұмбақтар "жетілмейтін" жасушаларды табуды талап етеді – ешқандай санға қосыла алмайтын, олардан тым алыс немесе басқа сандармен кесіліп қалған жасушалар. Мұндай жасушалар қара болуы керек. Көбінесе мұндай жасушалардың басқа қара жасушалармен байланысудың жалғыз жолы болады немесе қажетті ақ жасуша (жоғарыдағы мәлімдемеге қараңыз) тек бір ғана санға жете алады, бұл одан әрі прогреске мүмкіндік береді.

Жоғары стратегия

Егер екі қара ұяшықтан және екі белгісіз ұяшықтан тұратын квадрат болса, ереже бойынша кем дегенде екі белгісіз ұяшықтың бірі ақ болуы керек. Осылайша, егер осы екі белгісіз ұяшықтың бірі (оны "A" деп атаңыз) нөмірленген квадратқа екіншісі арқылы ғана қосылуы мүмкін болса (оны "B" деп атаңыз), онда B міндетті түрде ақ болуы керек (және A ақ болуы мүмкін немесе болмауы мүмкін). Егер N өлшемді аралда N-1 ақ жасуша анықталған болса, және таңдау үшін тек екі жасуша ғана қалса, ал олар бұрыштарынан жанасқан болса, онда аралдың ең шеткі бөлігіндегі, осы екі жасушаның арасындағы жасуша қара болуы керек. Егер жасуша ақ болуы керек және оған тек екі арал қосылуы мүмкін болса, сондай-ақ қосылғаннан кейін белгіленбеген жасушалар қалмаса, онда егер аралдар 90 градус бұрышпен қосылса (мысалы, бір арал жоғарғы жағынан, ал екіншісі оң жағынан қосылуы мүмкін), онда бұрыштың ішіндегі жасуша (алдыңғы мысалдағы ақ жасушаның жоғарғы сол бұрышына жанасқан) екі аралдың бірігуіне жол бермеу үшін қара болуы керек. Қара жасушалардың тік қатарына (немесе тік бағанына) іргелес жатқан белгісіз жасушаларды қара болуына тексеруге болады, себебі егер олар қара болса, екі тізе пайда болады, ал аралдардан қол жетімді болуы тиіс екі іргелес ақ жасуша болады. Егер бұл талаптар шектеулер ішінде орындалмаса, онда қара түске тексерілген жасуша ақ болуы керек.