Журналы
Email: Пароль: Войти Регистрация
E-mail: ya.e.melnikova@yandex.ru

Кандидат физико-математических наук, доцент Российского государственного социального университета.

Статьи автора:

Проет, описываемый в настоящей статье, предназначен для исполнения старшеклассниками (а возможно - студентами младших курсов в качестве курсовой работы). Важно отметить, что реализация первой части проекта (компьютерной программы, решающей конкретную раскладку пасьянса) представляет собой весьма незначительную часть работы, предлагаемой для выполнения в этом проекте. Однако и эта часть - создание компьютерной программы для решения конкретной раскладки - тоже является задачей, относящейся к искусственному интеллекту.
В качестве основного критерия качества программы-решателя мы предлагаем использовать процент решения ею случайно сгенерированных раскладок, причём решение должно быть осуществлено без возможности взятия хода назад. Для программирования решения некоторой заданной раскладки мы предлагаем смоделировать процесс решения этой задачи человеком, мышление которого сильно отличается от «мышления» компьютера, в частности, отличатся объёмом запоминаемой информации. Для этого моделирования запрещается, например, программе запоминать фишки, которые уже вышли из игры.
Мы рассматриваем только «заведомо разрешаемые» раскладки. В качестве первого варианта (то есть в качестве начала реализации), мы предлагаем ученику реализовать программу, которая только решает раскладки, полученные случайным заполнением - заполнением пустого поля «с конца». Возможный подход к реализации программы-решателя - применение генетических алгоритмов. Отметим, что даже в этом случае решатель можно назвать небольшой экспертной системой. Мы также кратко описываем в статье некоторые другие области искусственного интеллекта, знание и применение которых возможно в рассматриваемой задаче.
Ранее авторы уже предагали аналогичные проекты студентам младших курсов, было реализовано несколько из них, но бóльшая часть материала, описанного в статье, ещё не реализована, поэтому документ озаглавлен как научный проект для реализации. С. 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.
С конца 1960-х годов изучается задача минимизации недетерминированных конечных автоматов. В практических программах для больших размерностей получение точного ответа обычно занимает неприемлемо большое время. В связи с этим нас интересуют, среди прочих, эвристические алгоритмы решения задачи - алгоритмы, <<ничего не обещающие>>, однако на практике в большинстве случаев дающие за приемлемое время работы решение, близкое к оптимальному.
Предлагаемый школьникам проект направлен на частичное решение одной из вспомогательных задач, возникающих в упомянутой оптимизационной задаче. Для этого мы специальным образом определяем отношение эквивалентности на множестве таблиц заданного размера M x N, заполненных элементами 0 и 1. Получение количества неэквивалентных таблиц размерности 8 x 10 будет являться серьёзным шагом на пути к доказательству того факта, что описанный ещё в 1970 г. пример <<плохого>> автомата (так называемого автомата Ватерлоо) - минимально возможный пример, не имеющий <<меньших>> аналогов.
Для решения задачи мы сначала предлагаем плохой алгоритм, заключающийся в~простом переборе матриц. Этот алгоритм хорошо работает на матрицах малых размерностей, но, как обычно в подобных ситуациях, при переходе к большим размерностям он работает неприемлемо долго. Для уменьшения времени работы алгоритма мы предлагаем несколько эвристик и приводим результаты работы разных версий программы. Цель проекта - создание новых эвристик, ещё большее убыстрение времени работы программы и, по возможности, получение ответа (количества таблиц) для размерности 8 x 10.
Для большинства описываемых в статье вариантов алгоритма мы приводим реализацию на языке C#, использующую принципы объектно-ориентированного программирования. Мы предполагаем, что дальнейшая работа над проектом будет заключаться в дальнейшей модификации приведённых нами программ. C. 87-107.

Since the late 1960s, the problem of minimizing non-deterministic finite automata has been studied. In practical programs for large dimensions, obtaining an exact answer usually takes an unacceptably long time. In this regard, we are interested in, among others, heuristic algorithms for solving the problem, i.e. in algorithms that ``do not promise anything'', which, however, in practice in most cases, they give a solution that is close to optimal for an acceptable working time.
The project proposed for schoolchildren is aimed at a partial solution of one of the auxiliary tasks arising in the mentioned optimization problem. To do this, we define in a special way the equivalence relation on the set of tables of a given size M x N filled with elements 0 and 1. Obtaining the number of nonequivalent tables of dimension 8 x 10 will be a serious step on the way to proving the fact that the example of the ``bad'' automaton described in 1970 (the so-called Waterloo automaton) is the minimal possible example, not having ``lesser'' analogues.
To solve the problem, we first propose a bad algorithm, which consists in a simple enumeration of matrices. This algorithm works well on matrices of small dimensions, but, as usual in such situations, it works unacceptably long when moving to large dimensions. To reduce the operating time of the algorithm, we offer several heuristics, and present the results of the work of different versions of the program. The goal of the project is the creation of new heuristics, an even greater increase in the operating time of the program and, if possible, obtaining an answer (the number of tables) for the dimension 8 x 10.
For the majority of variants of the algorithm described in the paper, we present the implementation in C# using the principles of the object-oriented programming. We assume that further work on the project will consist in further modification of the programs we have provided.

Ключевые слова: оптимизационная задача, конечный автомат, эвристический алгоритм, первый шаг в науке.
Keywords: optimization problem, finite automaton, heuristic algorithm, the first step in science.
Для пополнения баланса выберите страну, оператора и отправьте СМС с кодом на указанный номер. Отправив одну смс, вы получаете доступ к одной статье.
Закрыть