T HE APPLET на гэтай старонцы можа вырашыць pentominos галаваломак. Аплет адлюстроўваецца ў выглядзе кнопкі знізу. Пры націсканні на гэтую кнопку, праграма сама будзе адкрыты ў асобным акне. Гэты аплет патрабуе Java 01/04 або вышэй. Вы можаце знайсці старэй і значна прасцей версія, якая працуе з любой версіяй Java на http://math.hws.edu/xJava/Pentominos_old/.
Малюнак злева паказвае, галаваломка, якая была вырашана ў рамках праграмы. Кожны колер адпавядае адной з 12 магчымых pentominos, у той час як чорныя квадраты былі адабраны, каб быць пустым. Інструкцыі па выкарыстанні праграмы дадзены ніжэй. Для атрымання больш падрабязнай інфармацыі аб pentominos, вы можаце праверыць артыкулаў рэкамэндуецца па гэтым пытанні.
Дэвід Эк, сакавік 2006
http://math.hws.edu/eck/
(З некаторымі зменамі ў красавіку.)
(Магчыма, спатрэбіцца два кліку на Windows.)
Калі вы не бачыце кнопку тут, паспрабуйце стары аплет на
http://math.hws.edu/xJava/Pentominos_old/
Зыходны код для праграмы даступная.
Выкананы файл. Банку файлclick here to see most Popular Pagesможа быць загружаны на
запусціць праграму ў якасці асобнага прыкладання.
Дадзеная праграма прымяняецца просты “алгарытм рэкурсіўнай адкат” да праблемы. Гэта азначае, што ён проста спрабуе pentominos ва ўсіх магчымых парадкаў, імкнучыся запоўніць існуючыя прабелы злева направа і зверху ўніз. Ён трымае размяшчэння частак да тых часоў, як ён знаходзіць тое, што адпавядае ў наступнае даступнае месца. Калі ён не можа знайсці кавалак, які ўпісваецца ў наступным месцы, гэта рэзервовае капіраванне і спрабуе рознымі частка на ранейшым узроўні.
Калі Pentominos акно на першы погляд, гэта стварае 8-па-8 галаваломка, у якой чатыры квадрата былі абраныя наўздагад, каб быць пустым. Яна пачынаецца рашэння гэтай галаваломкі, рухаючыся павольна. Ён спыняецца, калі ён знаходзіць рашэнне. Аднак, вы можаце кантраляваць, што адбываецца, выбраўшы любы з каманд меню ў любы час. Вы можаце кантраляваць хуткасць. Вы можаце змяніць памер дошкі. Вы можаце прыпыніць працэс рашэння і кроку праз яго адзін крок у той час. Вы можаце перазапусьціць з пустой дошкі і выберыце квадраты, якія будуць пакінутыя пустымі. Тое, што варта на астатняй частцы гэтай старонкі ёсць больш падрабязныя інструкцыі…
Хуткасць меню: Праграма можа працаваць на сямі розных хуткасцях. Павольней хуткасці прызначаныя галоўным чынам, каб дапамагчы вам зразумець, як працэс рашэння работ. У хуткасцю ад 2 да 6, кожны крок паказаны на дошцы, і, хоць рухаецца ехаць даволі хутка, з хуткасцю 2 і 3, выкарыстоўваючы часткі займае шмат часу – значна больш, чым знайсці рухаецца – і таму ён звычайна займае шмат часу, каб знайсці рашэнне на гэтых хуткасцях. Пры хуткасці 1, савет звяртаецца толькі адзін раз кожныя 1000 крокаў, які рухаецца ўздоўж рэчы значна хутчэй, але ўсё ж дае вам прадстаўленне аб прагрэсе, што робіцца. У кожнай з хуткасцяў ад 1 да 6, праграма будзе паўза, калі ён знаходзіць рашэнне. Хуткасць 0, мала чым адрозніваецца ад іншых хуткасцях. На такой хуткасці, плата толькі перамалёўвае, калі будзе знойдзена рашэнне. Акрамя таго, праграма не спыняецца, калі ён знаходзіць рашэнне – ён проста працягвае шукаць, пакуль не знойдзены ўсе магчымыя рашэнні. Напрыклад, вы можаце выкарыстоўваць хуткасць 0, калі неабходна падлічыць колькасць рашэнняў.
Дарэчы, рухацца ў гульні азначае паспяхова памяшканне аднаго фігурай на дошцы. Тэставанне кавалак, каб убачыць, ці падыходзіць ён не ў рахунак, як рухацца. Выдаленне часткі падчас адкату не ў рахунак, як рухацца.
Памер меню: Выкарыстоўвайце гэтае меню для змены памеру платы. “Custom Size” каманды дазваляе Вам выбраць любую колькасць радкоў або Стоўбцаў ў дыяпазоне ад 3 да 21. Вы можаце зрабіць невялікую плату, якая змяшчае менш 12 pentominos, праграма будзе спрабаваць на месца, як многія pentominos, колькі змесціцца. Вы можаце зрабіць вялікія дошкі, што маецца мноства дадатковых прастор. Вы можаце колеру гэтых квадратаў чорны для стварэння цікавых і дзіўна форме белай вобласці для праграмы, каб паспрабаваць запоўніць. Напрыклад:


Перазагрузка: У большасці выпадкаў, Ёсць тры “Перазагрузка” каманд у меню кіравання. Асноўныя “Перазагрузка” каманда спыніць бягучага рашэнні і выдаліць усе фігуры з дошкі. У гэты момант, вы можаце выбраць розныя чорныя квадраты, і вы можаце націснуць кнопку “Go”, каб прыступіць да вырашэння яшчэ раз. “Перазагрузка з пустой дошкі” аналагічна, але чорныя квадраты таксама здымаюцца з дошкі. “Перазагрузка са выпадковымі Савета” выдаліць усе фігуры з дошкі, выберыце набор чорных квадратаў крыва і наўскос, і пачаць вырашаць новыя галаваломкі адразу ж, як калі б вы таксама абралі “Go”. На дошцы, якая можа быць сапраўды запоўнены pentominos, не пустыя квадраты засталося, ёсць толькі адзін “Перазагрузка” каманды, і ён проста ачышчае дошкі і чакае вас, каб выбраць “Go”.
Выбар плошчы: Пры выбары плошчы, каб быць пустым, проста націсніце на белы квадрат, каб зрабіць яго чорным. Вы таксама можаце націснуць на чорны квадрат, каб уключыць яго назад на белы. Вы можаце выкарыстоўваць “Go” каманду ў любы момант, нават калі вы не абралі максімальна дапушчальная колькасць чорных квадратаў. Рашэнне, то сродкі напаўнення белую вобласць з як можна вялікім лікам pentominos, у выніку чаго некаторыя з белых квадратаў пусты
Randomize ордэнам Pieces Каманда: праграма мае пэўны парадак, у якім ён спрабуе штук. (У гэтым замове, праграма спрабуе больш сіметрычнай часткі па-першае, на тым падставе, што менш сіметрычных частак лягчэй месца, таму што яны прыходзяць у больш розных адлюстраванне і паварочваецца версіі). Гэта азначае, што на дадзенай дошцы, вы заўсёды будзеце бачыць Сапраўды гэтак жа паслядоўнасць хадоў. Калі вы ўключыце “Randomize ордэнам Pieces” варыянт, то перад пачаткам рашэнні, частцы размешчаны ў выпадковым парадку, якія дадуць іншай паслядоўнасці хадоў. Заўважым, што праграма будзе па-ранейшаму знайсці менавіта тыя ж рашэнні, толькі ў іншым парадку. Гэтая каманда недаступная, калі рашэнне ў прагрэс і Ёсць фігур на дошцы, яна даступная пасля “перазагрузкі”.
Праверце па зразумелых Блакаванне Каманда: Без гэтай опцыі, вы часам будзеце бачыць, што праграма, здаецца, робяць што-то дурное: Вы ўбачыце, ізаляваная група ад аднаго да чатырох белых квадратаў, што не дастаткова вялікі, каб займаць якую-небудзь Пентомино, але Праграма будзе буркатанне далёка спрабуе месцаў частак у іншыя часткі дошкі. Гэта асабліва відавочна, калі вы робіце дошка з 3 радкоў і 20 слупкоў, дзе гэтая праблема стаіць настолькі дрэнна, што ў мяне не было цярпення чакаць рашэння не знойдзена. (Вось чаму існуе 20-па-3 дошкі ў “Памер” меню, а не 3-ад-20;. 20-на-3 дошкі вырашаецца вельмі хутка) Калі вы ўключаеце “Праверка па відавочным Блакаванне “опцыі, праграма будзе правяраць для блакавання гэтага тыпу кожны раз, калі ён робіць крок. (На самай справе, ён правярае любы белай вобласці, памер якога не дзеліцца на пяць – ці нават больш складаныя праверыць, калі вы не абралі максімальную колькасць чорныя квадраты.) Гэтая опцыя можа істотна знізіць колькасць хадоў неабходна каб знайсці рашэння. Аднак, сам тэст даволі складаны і так чысты час кампутар на пошук рашэнняў ў многіх выпадках не вельмі адрозніваюцца. Адзін выпадак, калі розніца вельмі вялікая на 3-да-20 борт. З “Праверка па зразумелых Блакаванне” опцыя ўключаная, праграма знойдзена наступнае рашэнне ў 319093 руху:

Сіметрыя Праверце каманду: для некаторых плата [да якія-небудзь элементы дадаў], пры павароце або адлюстроўваць дошка, яна выглядае так жа пасля аперацыі, як гэта было раней. Гэта называецца “сіметрыя” дошкі. Ёсць сем магчымыя аперацыі сіметрыі: гарызантальнае адлюстраванне, вертыкальныя адлюстраванне, паварот на 180 градусаў, адлюстраванне праз змяншэнні дыяганалі, адлюстравання, хоць ўзыходзячай дыяганалі, паварот на 90 градусаў і паварот на 270 градусаў. (Апошнія чатыры з іх прымяняюцца толькі да квадратнай дошцы.) Калі ў вас ёсць адно рашэнне сіметрычнай дошцы, то аперацыі сіметрыі пераўтвораць, што рашэнне ў іншае рашэнне. Магчыма, вы захочаце, каб пазбегнуць гэтага падліку ператвараецца рашэнне ў якасці асобнага рашэння. Калі вы ўключыце опцыю Сіметрыя Праверце, вось што адбудзецца: толькі адзін з членаў кожнага набору сіметрычных рашэнняў будзе. Для рэалізацыі гэтага, некалькі orientatins часткі выдаляюцца з мноства магчымых арыентацый. Разгледзім, напрыклад, дошкі, сіметрычнага адносна двух дыяганальных адлюстравання і пры павароце на 180 градусаў, а не ў іншых сіметрыі. Разгледзім “Т” формы Пентомино. Гэтая частка складаецца з чатырох магчымых арыентацый. Любое рашэнне ўтрымлівае “Т” Пентомино ў адным з гэтых напрамкаў і, калі яно не ўтрымлівае “Т” у вертыкальным арыентацыі, можа быць ператворана па адным з трох аперацый сіметрыі ў рашэнні, што робіць. Сіметрыя варыянт Праверыць выдаляе тры арыентацыі “Т” Пентомино з разгляду, пакінуўшы толькі вертыкальнае становішча. Толькі рашэнні, якія ствараюцца тыя, якія ўтрымліваюць “T” у гэтай арыентацыі. Гэта ўключае ў сябе роўна адно рашэнне з кожнага набору з чатырох сіметрычных рашэнняў. Гэты варыянт, верагодна, карысная ў асноўным для падліку рашэнняў. Каманда Сіметрыя Праверце не з’яўляецца ў меню для Савета, які занадта малы, каб правесці ўсе 12 pentominos, так як метад, які выкарыстоўваецца для праверкі сіметрыі мяркуе, што ўсе часткі знаходзяцца на борце. Гэтая каманда недаступная, калі рашэнне ў прагрэс і Ёсць фігур на дошцы, яна даступная пасля “Перазагрузка.
Аднабаковая Каманда: Гэтая каманда была натхнёная pentominos галаваломка, у якой частцы пафарбаваны ў белы колер з аднаго боку і чырвоны, з другога. У гэтай галаваломцы, вы хочаце, каб знайсці рашэнне, у якім усе асабовым бокам уверх боку таго ж колеру. Вы можаце выкарыстоўваць аднабаковы каманда для вырашэння галаваломак ў гэтым родзе. Ён не змяняе колеру штук, але гэта перашкаджае частак ад перавярнуўся. Вы дабіраецеся, каб выбраць, які бок вы хочаце быць адным бокам уверх – ёсць выбар у выпадку толькі шэсць з дванаццаці pentominos, бо астатнія шэсць сіметрычных адносна фліп аперацыі. Пры выкарыстанні аднабаковай каманду, з’явіцца дыялогавае акно. У верхняй частцы акна сцяжок, які вызначае, ці будзе аднабаковы варыянт уключаны ці выключаны. Пасля таго як вы уключыце опцыю, вы можаце выбраць, якія часткі кожнага з шасці двухбаковы pentominos вы хочаце выкарыстаць. Па змаўчанні выбар (з левага боку абранага варыянту ў кожным канкрэтным выпадку) было абрана так, што 20-па-3 Савет будзе мець рашэнне. Заўважым, што калі вы ўключыце опцыю Сіметрыя ласка, праверце, а таксама адзін варыянт Двухбаковая, адбівальнай сіметрыі забароненыя, паколькі яны будуць фліп частак больш. Гэтая каманда недаступная, калі рашэнне ў прагрэс і Ёсць фігур на дошцы, яна даступная пасля “Перазагрузка.
Захаваць малюнак Каманда: Гэтая каманда не з’яўляецца ў аплет версіі праграмы, так як аплеты не могуць захоўваць файлы па меркаваннях бяспекі. Калі вы загружае выкананыя банку файл (або спампаваць зыходны код і скампіляваць яго самастойна), асобнае прыкладанне будзе мець “Захаваць малюнак” каманду ў “кантролі” меню. Гэтая каманда будзе захаваць вобраз бягучай савета ў фармаце PNG. “Захаваць малюнак” Каманда была выкарыстана для стварэння малюнка на гэтай старонцы. “Захаваць малюнак” Каманда даступная толькі, калі праграма будзе прыпыненая (на “Паўза” каманды або пасля знаходжання рашэння), альбо пасля “перазагрузкі” каманду, перш чым выбраць “Go”.