Кіріспе

Логикалық жұмбақ Light Up, Nikoli баспасынан жарық көрген.

Light Up (жапонша: 美術館 bijutsukan, өнер галереясы), сондай-ақ Акари (明かり, жарық) деп те аталады – Nikoli баспасынан шыққан бинарлық анықтау логикалық жұмбақ. 2011 жылға дейін Nikoli толыққандай Light Up жұмбақтарынан тұратын үш кітап шығарды.

Ережелер

"Light Up" ойыны ақ және қара түсті шаршы торда ойналады. Ойыншы ақ шаршыларға шамдарды орналастырады, екі шам бір-біріне бағытталмауы керек, бүкіл тор жарықтанғанша. Шам горизонтальды және вертикальды бағытта жарық сәулелерін жібереді, қара шаршылармен тоқтатылмаса, толық қатар мен бағананы жарықтандырады. Қара шаршыда 0-ден 4-ке дейінгі сан болуы мүмкін, ол оның төрт жағына қанша шам орналастыру керектігін көрсетеді; мысалы, 4 саны бар шаршының әр жағында бір-бірден төрт шаммен қоршалуы керек, ал 0 саны бар шаршының ешбір жағында шам болмауы керек. Сансыз қара шаршының жанында кез келген санында шам болуы мүмкін немесе шам болмауы да мүмкін. Санды шаршыға диагональды түрде іргелес орналасқан шамдар шамдардың жалпы санына есептелмейді.

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

Light Up жұмбағын шешудегі әдеттегі бастапқы нүкте – 4 саны бар қара ұяшықты табу немесе бір немесе бірнеше жағынан тосылған кішірек саны бар ұяшықты табу (мысалы, қабырғаға тірелген 3 немесе бұрыштағы 2), осылайша айналасындағы шамдардың жалғыз конфигурациясы болуы мүмкін. Осы қадамнан кейін, басқа нөмірленген ұяшықтардың бір немесе бірнеше жағы жарықтандырылуы мүмкін, олардың айналасындағы шамдардың ықтимал конфигурацияларын тарылтады және кейбір жағдайларда тек бір конфигурацияны ғана мүмкін етеді. Тағы бір жиі қолданылатын тәсіл – әлі жарықтанбаған ұяшықты іздеп, оны жарықтандыру үшін шамды орналастыруға болатын жалғыз ұяшықты анықтау. Егер шамды қайда орналастыру белгісіз болса, 0-дың маңында немесе шамға қайшылық тудыратын жерлерде шамдар бола алмайтын ақ ұяшықтарға нүктелер қоюға болады. Мысалы, 3-ке диагональды түрде іргелес орналасқан шам, оның айналасындағы екі ұяшықты тосып, оның айналасында үш шам болуына мүмкіндік бермейді; сондықтан 3-тің айналасындағы диагональды ұяшықтарда шамдар болмайды және оларға әрқашан нүкте қоюға болады. Сол сияқты, шам жарықтанбаған басқа ұяшықты "қоршап" алатын жерлерге нүктелер қоюға болады, осылайша ережелерді бұзбай оны жарықтандыру мүмкін болмайды. Күрделірек тәсілдер әдетте әртүрлі қысқарулардың комбинацияларына назар аударады. Мысалы, араларында немесе аралық ұяшықтың басқа екі жағында ештеңе жоқ екі 3 саны бір-бірінен бір ұяшық қашықтықта орналасқан болса, олардың арасында шам болуы керек, сондай-ақ оларды байланыстыратын түзу бойындағы екі 3-тің жанындағы екі ұяшықта да шам болуы керек. Әйтпесе, екі шам бір-бірін жарықтандырады. Бұл қорытындыдан, үштіктерді қоршап тұрған қалған төрт ұяшықта екі шам болуы керек. Еске сақтаңыз, төрт орын екі қатарға орналасқандықтан және олардың арасында ештеңе жоқ болғандықтан, әр қатарда бір шам болуы керек, сондықтан сол қатардағы қалған барлық орындарды бос деп белгілеуге болады. Тағы бір жиі кездесетін үлгі – 1 саны 2 санына диагональды түрде іргелес орналасқанда, 2 санының жанындағы орындардың бірі, бірақ 1 санына іргелес емес, бос немесе қабырғамен тосылған. Екі қысқаруға ортақ екі ұяшыққа ең көп дегенде бір шам орналастырылуы мүмкін, сондықтан соңғы шам 2 санының айналасындағы соңғы бос орынға орналасуы керек. Осы ұяшықтарда бір ғана шам бар екені белгілі болғандықтан, 1 санына жақын ұяшықтардың екеуі де бос болуы керек.

Есептеу күрделілігі

Light Up жұмбағының шешімі бар-жоғын анықтау NP-толық мәселе. Бұл, NP-толық екені белгілі Схемалық SAT мәселесінен Light Up жұмбақтарына полиномиалдық уақытта келу арқылы дәлелденеді. Light Up жұмбағының бастапқы нұсқаларында, сандары жоқ қабырғалармен қатар, бір нақты сан бар қабырғалар (яғни 0, 1, 2, 3 немесе 4) кездеседі, мұндай нұсқаларды біз Акари деп атаймыз, олардың күрделілігі де зерттелді. Схемалық SAT мәселесінен полиномиалдық уақытта келу арқылы Акари 1, Акари 2 және Акари 3 NP-толық екендігі көрсетілді; ал Акари 4 және сандары жоқ жұмбақтар P класына жататыны дәлелденді; Акари 0 әзірге жіктемелген жоқ.