روشی برای حل مکعب روبیک
کالین جی جانسون(Colin G. Johnson)، دانشیار دانشگاه ناتینگهام می گوید: مکعب روبیک پازل بسیار پیچیدهای است و تلاش ما حل مساله با یادگرفتن هر مرحله به صورت جداگانه است.
این روش که در مقالهای در مجلهی "Wiley's Expert Systems" به چاپ رسیده است ابتدا برای حل مکعب روبیک طراحی شده بود.
کالین جی جانسون میگوید: هدف مقالهی ما استفاده از یادگیری ماشینی برای آموختن حل مکعب روبیک بود. مکعب روبیک پازل بسیار پیچیدهای است اما بسیاری از این معماها در بیشترین حالت ۲۰ قدم تا حل شدن فاصله دارند و رویکردی که ما پیش گرفتهایم تلاش برای حل این مسئله با یادگرفتن هر مرحله به صورت جداگانه است.
این روش که توسط جانسون ابداع شده مبتنی بر دو روش اصلی است: یادگیری گامبهگام و استفاده از شبکهی عصبی. در این روش سعی میشود تا مکعب روبیک مرحله به مرحله حل شود به جای آن که حل کردن کل آن به یک باره یاد گرفته شود. به عبارت دیگر تغییر دادن بخشهای آن برای رسیدن به شکلی سادهتر و تکرار چندین بارهی مراحل تا حل شدن مکعب روبیک.
جانسون توضیح میدهد: به جای آن که برنامه بیاموزد چگونه یک باره مکعب روبیک را حل کند میآموزد که چگونه آن را سادهتر کند تا زمانی که کاملا حل شود. در این ساختار هر مرحله از مرحله قبل سادهتر خواهد بود بنابراین من ابتدا روشی ابداع کردم که با آن بتوان میزان بهم ریختگی مکعب را تخمین زد. پس از آن که تخمین زده شده مکعب چند بار بهم ریخته شده، روش ابداعی جانسون از یک شبکهی عمیق عصبی استفاده میکند تا متوجه شود مکعب چند قدم تا حل شدن فاصله دارد و در نهایت با استفاده از این دادهها برای حل مکعب روبیک استفاده میکند.
جانسون این روش را با چند آزمایش بررسی کرد و آن را با روشهای قبلی که براساس گروهی از الگوریتمها به نام جنگل تصادفی(random forest) و سایر روشهای کامپیوتری مقایسه کرد. روش او به خوبی با همهی این روشها قبل مقایسه بود و مزیت آن حل مرحله به مرحلهی مسئله بود.
تاکنون جانسون از این روش تنها برای حل مکعب روبیک استفاده کرده است اما میتوان آن را در مسائل بزرگتری که به صورت مرحلهای حل میشوند نیز به کار برد.
در آینده این روش مرحلهای میتواند برای حل بسیاری از مشکلات دیگر که ریشه در علم و مهندسی دارد مورد استفاده قرار گیرد. برای مثال از آن میتوان برای مطالعه و درک بهتر نحوهی قرارگیری پروتئینها در درون سلول استفاده کرد.