Проет, описываемый в настоящей статье, предназначен для исполнения старшеклассниками (а возможно - студентами младших курсов в качестве курсовой работы). Важно отметить, что реализация первой части проекта (компьютерной программы, решающей конкретную раскладку пасьянса) представляет собой весьма незначительную часть работы, предлагаемой для выполнения в этом проекте. Однако и эта часть - создание компьютерной программы для решения конкретной раскладки - тоже является задачей, относящейся к искусственному интеллекту. В качестве основного критерия качества программы-решателя мы предлагаем использовать процент решения ею случайно сгенерированных раскладок, причём решение должно быть осуществлено без возможности взятия хода назад. Для программирования решения некоторой заданной раскладки мы предлагаем смоделировать процесс решения этой задачи человеком, мышление которого сильно отличается от «мышления» компьютера, в частности, отличатся объёмом запоминаемой информации. Для этого моделирования запрещается, например, программе запоминать фишки, которые уже вышли из игры. Мы рассматриваем только «заведомо разрешаемые» раскладки. В качестве первого варианта (то есть в качестве начала реализации), мы предлагаем ученику реализовать программу, которая только решает раскладки, полученные случайным заполнением - заполнением пустого поля «с конца». Возможный подход к реализации программы-решателя - применение генетических алгоритмов. Отметим, что даже в этом случае решатель можно назвать небольшой экспертной системой. Мы также кратко описываем в статье некоторые другие области искусственного интеллекта, знание и применение которых возможно в рассматриваемой задаче. Ранее авторы уже предагали аналогичные проекты студентам младших курсов, было реализовано несколько из них, но бóльшая часть материала, описанного в статье, ещё не реализована, поэтому документ озаглавлен как научный проект для реализации. С. 41-51.
The project described in this article is intended to be performed by high school students (and possibly by undergraduate students as a term paper). It is important to note that the implementation of the first part of the project (the computer program that solves the specific layout of the solitaire) is a very small part of the work proposed for implementation in this project. However, this part --- the creation of a computer program for solving a particular layout - is also a task related to artificial intelligence. As a general criterion for the quality of the solver program, we propose to use the percentage of the solved layouts — which are randomly generated by the program --- with the condition that the solution was found without the possibility of taking a step back. To program the solution of a given layout, we propose to model the process of solving this problem by a person --- whose thinking is very different from the computer’s “thinking”, in particular, it will differ in the amount of information stored. For this simulation, for example, we prohibit the program to memorize the chips that have already left the game. We consider only ``knowingly solvable'' solitaire layouts. As the first option (that is, the beginning for implementation), we suggest to the student to implement a program that solves the layouts obtained by random generation ``from the end''. A possible approach for the implementation of the solver program is the application of genetic algorithms. Note that even in this case, the solver can be called a small expert system. We also briefly describe in the article some other areas of artificial intelligence, the knowledge and application of which is possible in the task at hand. Previously, the authors had already presented similar projects to undergraduate students, several of them were implemented, but most of the material described in the article has not yet been implemented; therefore, the document is entitled as a science project for implementation.
Ключевые слова: оптимизационная задача, пасьянс Мхаджонг, первый шаг в науке, искусственный интеллект.
Keywords: Mahjongg solitaire, optimization problem, the first step in science, artificial intelligence.