Как снести windows vista



МАСАРИКСКИЙ УНИВЕРСИТЕТ ФАКУЛЬТЕТ ИНФОРМАТИКИ. Онлайн-симулятор головоломки Палатки. Мартин Вардан

1 ФАКУЛЬТЕТ ИНФОРМАТИКИ УНИВЕРСИТЕТА МАСАРИКА Онлайн-симулятор логических головоломок Пазлы с палатками Диплом бакалавра Мартин Вардан Брно, весна

3 Декларация Я заявляю, что данная бакалаврская работа является моей оригинальной авторской работой, которую я разработал самостоятельно. Все источники, источники и литературу, которые я использовал или из которых черпал при подготовке, я правильно привожу в работе с полной ссылкой на соответствующий источник. Супервайзер: Mgr. Петр Ярушек III

4 Благодарности На этом этапе я хотел бы поблагодарить руководителя, Mgr. Петр Ярушек и Mgr. Радек Пеланек, доктор философии. за их готовность, ценные советы и замечания при проведении данной работы. IV

5 Резюме Работа посвящена разработке и реализации двух вариантов игры «Палатки и деревья» (головоломка «Палатки») и их интеграции в систему обучения Tutor. Также описаны принципы игры и различные выигрышные стратегии. В работу также входит генератор заданий и автоматический решатель игр. Цель работы — обеспечить сбор данных от пользователей и на основе этих данных предложить адекватно требовательные задания. Собранные данные были проанализированы, и результаты представлены в диссертации. В

6 Резюме Диссертация посвящена проекту и реализации двух версий игры «Палатки-головоломки» и их применению в образовательной системе «Тьютор». Также включает описание игры с целями, правилами и различными выигрышными стратегиями, а также автоматический решатель игры и генератор настроек. Симулятор был разработан для сбора пользовательских данных, необходимых для эффективной настройки игры в соответствии с уровнем навыков игрока. Все собранные данные были проанализированы и результаты включены в диссертацию. VI

7 Ключевые слова онлайн симулятор, логическая головоломка,выигрышная стратегия, Палатки и деревья, Головоломка с палатками, Javascript, Java VII

8 Содержание Введение Логические игры 3. История Игры для исследования Аналогичные работы по FI Игра Палатки и деревья 5 3. Версия игры Описание игры Выполнение ограничительных условий Стратегия выигрыша Онлайн-симулятор 9 4. Определение требований Выбор среды программирования Реализация HTML Javascript Подключение симулятора к PROSO System Tutor Связь с системой Tutor Генератор задач и решатель 7 5. Анализ игры Концептуальный поток Используемые инструменты Генератор задач Реализация автоматического решателя Анализ результатов 8 6. Размер выборки данных Диапазон сложности Детальный анализ Заключение 38 A Приложение 4 A. Симулятор Справочник A. Генератор Справочник A.3 Справочник Tutor A.4 Анализ Справочника VIII

9 Введение Образование – это процесс, посредством которого человек приобретает знания и деятельность, которые он трансформирует в знания, навыки и привычки посредством обучения. В настоящее время существует ряд исследований, посвященных методам обучения, их эффективности и психологическому воздействию. Группа Proso на факультете информатики Масарикова университета также занимается вопросами образования. В частности, в системе Tutor, которая предлагает логические головоломки и исследует, как люди решают их. Система репетиторов использует психологию потока, также называемую на чешском языке состоянием потока. Это состояние радости, сосредоточенности, полной вовлеченности в деятельность, во время которого человек забывает о течении времени. При получении новых знаний и навыков этого можно добиться, выбрав соответствующий уровень сложности. Этот метод уже входит в классическую учебную программу общей психологии, однако исследования в этой области становятся все более популярными. Целью представляемой бакалаврской работы является создание симулятора конкретной логической игры и встраивание его в существующую систему Tutor. Эта система позволяет решать логические головоломки, подстраиваясь под способности решателей ипорекомендовать им подходящее прохождение заданий в соответствии с психологией Flow. Он записывает информацию о ходе решения, и эта информация в дальнейшем используется для исследования того, как люди учатся. Для проработки я выбрал логическую задачу под названием «Деревья и палатки» (головоломка «Палатки» в оригинале). Цель игры — расставить палатки возле деревьев так, чтобы выполнялись условия задания. В данной работе мы будем различать два варианта этой игры. Необходимо создать достаточное количество различных игровых записей для симулятора. Он обеспечивает генератор случайных входных данных. Затем эти задания оцениваются вручную и с использованием программы, моделирующей человеческие решения, и выбираются задания с интересными свойствами. Одним из таких свойств является количество возможных решений. Поэтому другой важной частью программы является алгоритм, способный решить любую задачу и найти все ее правильные решения. Готовая программа будет интегрирована в систему Tutor, позволяющую решать головоломки через веб-интерфейс. По этой причине в качестве технического решения я выбрал язык HTML, а для расчетов и отдельных функций игры был использован язык Javascript. Результатом работы является готовая программа, имитирующая логическую игру «Палатки и деревья». Он общается с пользователем через графически дружественную веб-среду. Этот симулятор подключен к существующей системе обучения и собирает данные от своих решателей. Данные оцениваются и будут использоваться для дальнейших исследований. Более обширная система, собирающая данные из различных логических головоломок. Узнать больше глава 4.4. МИЛЛЕ Репетитор.

10. ВВЕДЕНИЕ Следующая глава посвящена логическим играм и работам по этой теме. Третья глава содержит подробности об игре «Палатки и деревья» и о том, как ее решить. Четвертая глава посвящена реализации плеера и его подключению к системе. В пятой главе я сосредоточусь на анализе игры, генераторе задач и решателе. Шестая глава содержит анализ иполученные результаты. В последней главе представлена ​​оценка полученного продукта и предложение возможных расширений для последующей работы.

11 Головоломки Игры-головоломки в наши дни становятся все более популярными среди широкой публики. Судоку, игра-головоломка родом из Японии, была в значительной степени ответственна за это. Благодаря расширению Интернета сегодня очень легко получить доступ к другим видам головоломок. Существует множество веб-сайтов, предлагающих множество более или менее сложных логических игр и головоломок. История Одной из старейших и самых известных игр, требующих логического мышления, несомненно, являются шахматы. Сложность шахмат, как и других настольных игр этого типа (шашки, го), определяется конфронтацией с другим игроком, а не сложностью самой игры. В этой работе мы больше будем иметь дело с играми, требующими более сложных логических рассуждений даже без присутствия второго игрока. Игры, где целью является сделать логический вывод из посылок, считаются одними из первых. Например: Основная посылка: Все люди смертны. Побочная предпосылка: Сократ — человек. Вывод: Сократ смертен. Создателем такого рода логических игр считается Льюис Кэрролл, более известный как автор книги «Алиса в стране чудес». Во второй половине. века математик Рэймонд М. Смаллиан продолжил эти логические словесные игры и представил в своих книгах игру «Рыцари и лжецы». Рыцарь всегда говорит правду, а лжец всегда лжет. Целью может быть, например, использование подходящих вопросов, чтобы узнать, говорим мы с рыцарем или нет. Однако проблема с этими играми-головоломками очевидна. Они привязаны к определенному языку или культуре, поэтому даже игры такого типа не очень подходят для исследования. Изображение: Пятнадцать. Задача игрока — передвигать камни так, чтобы они располагались в порядке возрастания. 3

12. ЛОГИЧЕСКИЕ ИГРЫ Примерно в то же время, что и Льюис Кэрролл.американский шахматист Сэм Лойд также начал работать над изобретением различных логических игр. Его партии часто были очень простыми, с ясной формой, но трудными для решения. Среди его известных игр — Rozdělovačka, Císelná skákačka или Patnáctka (см. рис. / стр. 3), которые также были очень популярны в Чехословакии в прошлом. Поэтому они подходят для тестирования на большой выборке людей. Другим преимуществом является возможность описать их математически и в информатике, а значит, и запрограммировать генераторы для их ввода и их автоматические решатели. Затем этот тип игры можно использовать для изучения того, от чего зависит их сложность и какие типы задач сложны для человека. Подойдут такие игры, как «Сокобан», «Нурикабэ» или игра «Палатки и деревья», решенные в этой работе. Информатика Масарикова университета. Это, например, бакалаврская работа, посвященная исследованию метрик определения сложности и сбору данных для игр Sokoban и Busy Clock [] или дипломная работа, посвященная возможностям генерации HEX-игры и разработке алгоритмов работы с этой задачей [9]. ]. Еще одной ролью, исследованной в дипломной работе, стала игра Нурикабэ. Автор исследовал сложность игры и для этой цели создал решатель, имитирующий поведение человека []. Во всех этих работах, как и во многих других, были достигнуты интересные результаты, особенно в области определения сложности игры для человека. В игру можно играть на веб-сайте Tutor. URL-адрес: 4

13 3 Игровые палатки и деревья Этот игровой жанр был изобретен Леоном Бальмакерсом и впервые опубликован в голландском журнале Breinbrekers (= Puzzlers) в 989 году. Статья называлась Alle Ballen gemellen. 3. V версия игрыработы мы различаем две версии этой игры. Классический вариант игры, который мы будем называть здесь цифрами, всегда допускает только одно правильное решение. Однако одним из исследуемых факторов, влияющих на сложность задачи для человека, является также и количество возможных решений. Вот почему мы также представляем версию без номеров, которая допускает любое количество решений. 3. Описание игры Оба варианта игры проходят на квадратном поле. В версии с цифрами справа и под полем есть ограничительные цифры. Вход в игру представляет собой пустое поле со случайно расположенными деревьями (см. рис./стр. 5). В варианте с цифрами будем работать с заданиями размера 6 6, 8 8 а. В варианте без номеров, то с размерами 8 8, а. На меньших игровых полях решение часто тривиально. Изображение: (слева) запись с цифрами для игрового поля размером 4 4. (справа) запись без цифр для поля 4 4. Правила Цель игры — поставить палатку рядом с каждым деревом так, чтобы они касались друг друга горизонтально или вертикально (краем). Однако палатки не должны касаться друг друга даже по диагонали (через угол). В варианте с номерами также необходимо соблюдать максимальное количество палаток в ряду (см. рис. 3/стр. 6). Количество палаток всегда совместимо с количеством деревьев. В очень специфических случаях даже больше одного. Подробнее в главе 6. Анализ игры Диапазон количества решений зависит от размера игрового поля. Подробнее в главе 6. Анализ игры 5

14 3. ИГРА С ПАЛАТКАМИ И ДЕРЕВЬЯМИ Рисунок 3: (слева) единственно возможное решение. (справа) Одно из возможных решений. Сортировка по репетитору В Tutor есть три типа логических задач. Транспорт: пересечение пространства состояний с использованием ходов (например, Sokoban) CSP: проблема удовлетворения ограничений (например, Sudoku) Образовательные: различные типы обучающих приложений (например, Robotiak) 3.3 Выполнение условий ограничений Большое количество логических игр, таких как игра Tents and Trees относится к категории CSP [8]. Проблема соответствия условиям (CSP)определяется как тройка (X, D, C), где: X = — конечное множество переменных, D = D. D n — конечное множество значений переменных, где x i D i C = есть конечный набор ограничений, заданных на X. Решение CSP представляет собой полную оценку переменных (d, d n ) D, D n, которая удовлетворяет всем ограничениям c и C. 3.4 Стратегия выигрыша Цель игры состоит в том, чтобы правильно разместить палатки в поле так, чтобы были соблюдены ограничивающие условия данной версии игры. Порядок размещения значения не имеет. Неважно, какую палатку мы ставим первой, а какую последней. Окончательная планировка является решающей. В обеих версиях игры у игрока больше возможных способов работать для достижения результата. Одной из возможностей может быть поиск в поле в глубину, 6

15 3. ИГРА С ПАЛАТКАМИ И ДЕРЕВЬЯМИ, точно так же, как алгоритм графа DFS (поиск в глубину). Однако эта процедура сильно зависит от размера поля, а крупные ответвления возникают уже на относительно небольших полях. Так как люди не могут систематически перемещаться по большому количеству вариантов, эта процедура не очень подходит. С этой точки зрения поиск с использованием случайного блуждания кажется более подходящим. Если у людей есть опыт решения данной проблемы, они могут хорошо угадать, какую ветвь выбрать[6]. Эта процедура оказалась эффективной, особенно для версии без номеров. Наоборот, в варианте с цифрами, где ограничительных условий больше, на маленьких полях уже недостаточно. В варианте с числами более уместным кажется использование простых эвристик. Эвристика: набор простых правил, помогающих найти правильное решение. Сочетание этих шагов часто приводит к результату, но не всегда. Отмечаем все поля, где палатки точно быть не может: (а) не позволяет ограничивать номера (только в варианте с номерами); (b) в пределах досягаемости нет незанятого дерева; (c) поблизости уже есть палатка.. Проверяем количество свободных полей на линии или встолбец не соответствует предельному номеру, если соответствует, то расставим палатки (только в варианте с номерами). 3. Мы проверим позиции, допускающие только одно развертывание. 4. Соединим принадлежащие друг другу деревья и шатры. 5. Повторяем все шаги -4 еще раз. Пример решения с использованием эвристики: Рисунок 4: Пример решения. Шаг (слева) и шаг (справа). Шаг : Вход в игру Палатки и деревья в версии с номерами. Шаг : Используем соображение (а) и отмечаем цифрами поле, на котором нельзя поставить палатку. 7

Читайте также:  Windows 10 как поделить экран на 2 части

16 3. ИГРА С ПАЛАТКАМИ И ДЕРЕВЬЯМИ Рис. 5: Пример решения. Шаг 3 (слева) и шаг 4 (справа). Шаг 3: С помощью правила (b) мы отмечаем поля, которые не находятся в пределах досягаемости дерева. Шаг 4: В первом столбце и последней строке ограничивающее число масштабируется с количеством свободных полей. Так что размещаем в них палатку по правилу. Рисунок 6: Пример решения. Шаг 5 (слева) и Шаг 6 (справа). Шаг 5: Воспользуемся правилом 4 и соединим палатки с деревьями. Шаг 6: Рассмотрение (б). Отмечаем поле без свободного дерева в пределах досягаемости. Рисунок 7: Пример решения. Шаг 7 (слева) и Шаг 8 (справа). Шаг 7: В первом ряду и в средней колонке достроим палатку по правилу. Шаг 8: Всем деревьям правильно назначены палатки. Мы нашли правильное решение. 8

17 4 Онлайн-тренажер Для исследования того, как люди решают проблемы и что для них сложно, необходимо получить большое количество данных о ходе их решения. Благодаря наличию Интернета и персональных компьютеров, а также популярности веб-порталов с играми онлайн-симулятор является идеальным решением. У этого подхода есть несколько преимуществ. Прежде всего, это избавляет от необходимости физически наблюдать за решающим человеком во время игры и записывать то, что он делает. В результате можно тестировать большое количество людей одновременно. Это также устраняет риск искажения результата из-за нервозности испытуемого. Еще одним преимуществом является простота получения новых решателей, например, с помощьюс помощью распространения сайтов в социальных сетях. Наконец, что не менее важно, этот метод удобен для пользователя и предлагает высокую интерактивность, например, в виде немедленного ответа на ход или сравнения результатов с другими игроками. 4. Определение требований Требования к обеим версиям игры практически одинаковы, поэтому нижеследующий текст будет описывать сразу обе версии и конкретно будут названы только те данные, в которых они различаются. Основное требование — перенести все возможности бумажной версии игры и на симулятор. Есть возможность установить палатку и отметить поле, на котором палатку нельзя поставить. Однако благодаря интерактивности веб-технологий не стоит останавливаться на достигнутом. Конечно, помимо возможности установки палатки, ее также можно в любой момент снести или перенести в другое место. Точно так же нет необходимости отмечать и снимать отметки с полей по одному, но можно отметить штрихом несколько полей. Возможность соединять палатки с деревьями, если мы точно знаем, что они принадлежат друг другу, также оказалась очень полезной. Мы ожидаем, что симулятор не только перенесет движения пользователя на игровую поверхность на мониторе, но и предложит дружественную графическую среду и упрощение для игрока. Мы хотим, чтобы симулятор следил за количеством установленных палаток и сообщал нам, если оно превышено. Точно так же, если мы устанавливаем палатку на запрещенном поле или соприкасаемся с другой палаткой, симулятор определяет это и реагирует соответствующим образом. Игра разработана таким образом, что игрок максимально ничем не ограничен. Так что, если он решит построить больше палаток, чем разрешено, или на запрещенную клетку, его ход не блокируется, а только графически предупреждается, что ход был неправильным. В зависимости от допущенной им ошибки выбираются разные предупреждения или их комбинация. Точно так же ни в коей мере не требуются соединения палаток и деревьев, разметка полей и прочие вспомогательные средства, которые предлагает тренажер.и только размещение палаток имеет решающее значение для правильного решения. Поле, в пределах диапазона которого нет дерева. 9

18 4. ОНЛАЙН СИМУЛЯТОР Последним, но очень важным требованием к симулятору является возможность его подключения к системе Tutor. Он должен иметь возможность правильно загружать пользовательские данные и отправлять данные о ходе решения. Tutor берет на себя функции показа справки, выхода из игры и перезапуска. По этой причине те же самые функции больше не нужны в симуляторе. 4. Выбор среды программирования Учитывая вышеперечисленные требования к тренажеру, необходимо выбрать подходящую среду программирования с достаточной функциональностью. Java-апплет или Javascript полезен для функций симулятора и подключения к веб-сайту системы Tutor. Апплет Java[7][] — это особый тип программы Java, которую можно загрузить из Интернета и запустить в браузере. Апплет обычно встраивается в веб-страницу и работает в контексте браузера. Апплет должен быть подклассом класса java.applet.applet, который обеспечивает стандартный интерфейс между апплетом и средой браузера. Преимуществом апплета является его независимость от операционной системы и веб-браузера. Он работает на стороне клиента, что облегчает работу сервера. Недостатком является то, что требуется поддержка Java. Некоторые браузеры и операционные системы не поддерживают его по умолчанию, поэтому необходимо установить подключаемый модуль. При запуске апплета одновременно должна запускаться и JVM 3, что замедляет весь процесс загрузки. Javascript[] — это кроссплатформенный объектно-ориентированный язык сценариев. Язык был создан в конце прошлого века компанией Netscape, в связи с растущими требованиями к интерактивности Всемирной паутины. Это также дало разработчикам веб-сайтов больше возможностей для создания, и сайт мог набрать обороты. Преимущество скрипта, как и апплета, в том, что он запускается на стороне пользователя 4 и, таким образом, меньше загружает сервер.Javascript не позволяет записывать и загружать данные из файлов, что способствует повышению безопасности посетителя сайта. Еще одним преимуществом является то, что он использует только элементы HTML и, таким образом, способствует более полному виду страницы. Несмотря на схожее название, он не имеет ничего общего с языком Java. Первоначально язык назывался LiveScript, но из-за бума вокруг языка Java он был переименован в Javascript по маркетинговым соображениям. 3 Виртуальная машина Java — набор компьютерных программ и структур данных, который использует модуль виртуальной машины для запуска других компьютерных программ и сценариев, созданных на языке Java. 4 Javascript также можно использовать на стороне сервера. Серверный Javascript был впервые реализован компанией Netscape в 1996 году под названием LiveWire.

19 4. ОНЛАЙН СИМУЛЯТОР Недостатком Javascript является несогласованность версий и некоторых функций в браузерах. Еще минус — невозможность работать с 5 файлами, но в нашем случае это не нужно. Java-апплет — это мощный инструмент, который подходит, если нам нужны, например, более сложные анимации или элементы, которые не предлагает HTML. Однако в нашем случае мы можем обойтись функциональностью HTML-кода с помощью Javascript. Это позволит нам быстрее запустить игру и сделать страницу более красивой. Еще одна причина использования Javascript — это система, которую Tutor использует для открытия справки по игре. Окно справки также расширяется командой Javascript, которая меняет страницу и перезагружает апплет. Когда это загружается, игра перезапускается, и игрок теряет все предыдущие ходы, что очень раздражает пользователя. После оценки плюсов и минусов, упомянутых выше, наиболее подходящим использованием кажется Javascript. 4.3 Реализация Игра реализована с использованием кода HTML, а для отдельных интерактивных функций используется Javascript. PHP-скрипт позаботится о запуске игры в Tutor, который также предоставит необходимыеинформацию о задании, решении и пользователе и генерирует HTML. Подробнее об этом скрипте в главе 4.4. Связь с системой. Таким образом, тренажер можно разделить на две части. HTML-часть с элементами Javascript и внешний Javascript, обеспечивающий все функции HTML-симулятора игры Tents and Trees, разыгрывается на квадратном поле. Поэтому для демонстрации игры был выбран стол. В Tutor введены записи о максимальном размере поля, поэтому таблица имеет диапазон всего 4 4. Каждому полю таблицы присваивается уникальный ID и один стиль, по умолчанию это пустой стиль. Кроме того, для каждого поля задаются события, на которые реагирует это поле. Рисунок 8: Пример присвоения идентификаторов в таблице. 5 Это недостаток для разработчиков. Наоборот, это преимущество для посетителя, как уже было сказано.

20 4. ОНЛАЙН-СИМУЛЯТОР Индивидуальные идентификаторы выбираются так, чтобы они соответствовали координатам заданного поля в таблице (см. рис. 8/стр.). В левом верхнем углу таблицы находится первое поле. В противоположном углу таблицы, в 3-й строке, в 3-м столбце, находится последнее поле. Благодаря этому типу маркировки не проблема получить доступ к соседним полям. Например, над полем с ID 88 находится поле 78, справа — поле 89 и т. д. Это выгодно используется во внешнем Javascript, где нам часто нужно знать стиль соседних полей для выполнения операции в поле. Всего для отдельных полей определено 4 разных стиля. Это стили изображения, текста и пусто (пусто). Все стили, кроме пустого, задают для ширины и высоты поля значение 39 пикселей. Пустой стиль установлен в px, поэтому поле с этим стилем вообще не будет отображаться в браузере. Стили изображения имеют один из различных фонов (см. рис. 9/стр.). Стили текста используются только в версии с цифрами. Это черный и красный стили, меняющие цвет ограничивающих цифр. Рисунок 9: Стили изображения симулятора. Индивидуальные стилизагружается в основном при нажатии на поле. Необходимо, чтобы новое изображение выскакивало сразу и не было раздражающей задержки между нажатием и загрузкой. Несмотря на то, что все изображения хранятся с 3-битной глубиной цвета в формате PNG 6 без потерь, средний размер одного изображения составляет около 5 байт. Даже при сегодняшнем уровне Интернета ниже среднего не должно быть значительной задержки между нажатием и загрузкой изображения. Однако вся графика предпочтительно предварительно загружена. В HTML-код включен Javascript, который загружает все изображения в память браузера еще до запуска симулятора. Сценарий загрузки выглядит следующим образом: Последняя часть каждого поля — это определение событий Javascript 7, on 6 Переносимая сетевая графика 7 Термин событие означает изменение одной из переменных состояния. Происходит событие

21 4. ОНЛАЙН СИМУЛЯТОР какое поле реагирует. В симуляторе используются события onmousedown (реакция на нажатие кнопки мыши), onmouseup (реакция на отпускание кнопки мыши) и onmouseover (реакция на прохождение указателя над определенной областью). Последнему полю с ID 33 назначается событие onload (реакция на завершение загрузки). Событие onload происходит, когда загружается вся страница (включая все изображения). В этот момент вся игра готова, и ввод может быть отображен игроку Javascript.Первой запускаемой функцией Javascript является функция nactihru(), которая вызывается событием onload (см. рис. /стр. 3). Используя другие вызовы функций, он очищает игровое поле, отображает ввод, считывает ограничивающие числа (только в числовой версии) и преобразует решение из текста в поле. Входные данные, решение, размер игрового поля и предельные числа передаются от Репетитора в виде строки в игровую переменную. Игра загружается с использованием этой переменной. Все реакции симулятора выполняются изменением стиляотдельные поля. Все события, вызываемые ими функции и последующая связь между функциями показаны на следующей схеме: onmouseup onmousedown onmouseover onload connect() click() mark() nactihru() spojto() zn() postavstan() makefree() nactireseni () nacticisla () checkstate() checksolution() checknumbers() checkneighbors() Изображение: красный: события Javascript. Черный: Особенности. В зеленой рамке: Функции, отправляющие данные о выполненном перемещении в интерфейс Tutor. Остальные три события запускаются мышью. Это события, например, щелчок мышью, нажатие клавиши, загрузка страницы, отправка формы и т. д. В Javascript можно отслеживать события, и если они происходят, можно воспользоваться ситуацию и выполнить скрипт []. 3

22 4. ОНЛАЙН-СИМУЛЯТОР, вызванный пользователем во время игры. Чтобы понять эти события, необходимо сначала определить элементы управления игрой. Управление: несмотря на то, что игра предлагает больше возможностей, все усилия были направлены на то, чтобы все управление осуществлялось всего двумя кнопками мыши. Левая кнопка используется для установки и снятия палатки. Отметка и снятие отметки с полей, где палатка невозможна, осуществляется нажатием правой кнопки, либо перетаскиванием на несколько полей. Еще одной особенностью игры является возможность соединять деревья и палатки и тем самым подчеркивать их принадлежность друг другу. Эта функция также выполняется перетаскиванием мышки с одного поля на другое (с дерева на палатку). Это можно сделать как правой 8, так и левой кнопкой мыши. Отменить связь можно, удалив палатку или повторно привязав палатку к другому дереву. Установите/снесите палатку и отметьте пустые поля: это запускается событием onmousedown, которое запускает функцию click(). Функция передает идентификатор поля, на которое нажал пользователь, и нажатой кнопки. В зависимости от того, какая кнопка была нажата, передается числовое значение. К сожалению не всебраузеры используют одинаковую разметку. Разметка в наиболее часто используемых 9 браузерах представлена ​​в таблице: navigator.appname event.button Название браузера Левый Средний Правый Firefox Netscape Chrome Netscape IE Microsoft Internet Explorer 4 Opera Opera — Safari Netscape Таблица: Названия браузеров и значения кнопок в Javascript. В симуляторе используются только левая и правая кнопки, поэтому разница только в случае с Internet Explorer. Функция click(), в зависимости от нажатой клавиши, решает, передать ли дальше ID в функцию zn(), которая пометит поле зеленым, или в функцию settent(), которая построит или снесет палатку, в зависимости от содержимого поля. Если в поле есть дерево или отмеченное поле, функция ничего не делает. Если в поле есть палатка, она удаляется, если поле пусто, палатка строится. В обоих случаях функция проверяет окружающие позиции. Функция должна решить, строить классическую синюю палатку или одну из красных (см. рис. 9/стр.), указав, что 8 В браузере Opera нажатие правой кнопки вызывает меню и переход к предыдущая страница, поэтому в Opera можно подключить палатки только левой кнопкой. 9 K.5.: Firefox (4,9%), Chrome (5,6%), Internet Explorer (4,3%), Safari (4%) и Opera (0,6%). Статистика по данным w3schools.com. 4

Читайте также:  Что это такое critical structure corruption windows 10 как исправить

23 4. ОНЛАЙН СИМУЛЯТОР не должен стоять на данном ID. Отметка пустых полей обводкой: событие onmouseover и последующая функция mark() используются для отметки полей обводкой. Событие возникает каждый раз, когда курсор мыши находится над полем. Однако поле будет помечено только в том случае, если правая кнопка мыши будет нажата одновременно с этим событием. Это состояние отслеживается функцией click(). Соединение деревьев и палаток: идентификатор регистрируется в событии onmousedown. Событие onmouseup вызывает функцию connect() и сравнивает два идентификатора. Если это два соседних поля, где в одном изиз них палатка, а во второй дерево, он соединит их с помощью функции connect(). 4.4 Подключение тренажера к системе Tutor Последним шагом, необходимым для работы симулятора, является его подключение к Tutor. Но сначала расскажем немного об этой системе и о группе Proso, в рамках которой разрабатывается PROSO Tutor — исследовательской группе, работающей на факультете информатики Масариковского университета. Ее исследования относятся к области когнитивных наук, пересечению информатики, психологии, искусственного интеллекта и образования. Вопросы, на которые они пытаются ответить, например: что делает проблему сложной для человека? Какие задачи трудны для человека, а какие, наоборот, для компьютера? Как компьютеры и люди могут помочь друг другу в решении сложных задач? Можем ли мы использовать рекомендательные алгоритмы для улучшения образования? В настоящее время выделяют две основные темы: Сложность задачи. Что стоит за разными уровнями сложности? Цель исследования – сконструировать модель поведения человека при решении задач и, благодаря этому, спрогнозировать сложность. Милле Наставник. Использование электронной коммерции и рекомендательных алгоритмов в образовании и для улучшения способности решать заданную проблему. Эти рекомендации по решению проблем. В настоящее время электронная коммерция в основном используется для рекомендации товаров в Интернете. 5

24 4. ОНЛАЙН-СИМУЛЯТОР основан не на заранее заданных критериях, а скорее на коллективном поведении всех пользователей Связь с системой HTML-код игры генерируется динамически с использованием PHP. Таким же образом передаются данные, необходимые для работы симулятора. В момент загрузки игры Tutor сделает все глобальные переменные доступными для симулятора, и симулятор загрузит их. В частности, эти глобальные переменные: $problem (идентификатор типа игры), $instance id (идентификатор уровня), $instance name (имя уровня), $user id (идентификатор пользователя),План $instance (ввод уровня), хэш $session (синтаксический сахар), идентификатор $session (игра + уровень + идентификатор игрока). В симуляторе следующий код PHP заботится о передаче значений в Javascript. Передача данных в симулятор происходит только один раз при его запуске. С другой стороны, симулятор отправляет данные репетитору сразу после каждого хода. Ходом считается любое изменение на доске. Когда правильное решение найдено, в дополнение к выигрышному ходу отправляется информация о выигрыше. Информация о ходе также включает контрольный хэш (синтаксический сахар), идентификатор уровня и идентификатор игры. Затем отправляется количество ходов или порядок только что сыгранных ходов. Последняя часть — это ключевое слово move или win, которое указывает, отправляем ли мы информацию о ходе или выигрыше. Результирующая строка в случае игры Tents and Trees выглядит так: var query = «session_id=»+id_game+»&session_hash=»+check_hash+»&move_number=»+number+»&move=»+coordinates; Затем строка передается интерфейсу Tutor. Интерфейс представляет собой классический PHP-скрипт, а для отправки данных используется функция senddatatointerface(query), которая уже реализована в Tutor. Функция использует асинхронную связь с сервером, которая поддерживается платформой MooTools. Затем PHP-скрипт записывает данные в базу данных. 3 символа для управления браузером 6

25 5 Генератор заданий и решатель Симулятор загружает игровые задания из Репетитора, поэтому частью этой работы является также создание заданий и вставка их в базу данных системы. В качестве гарантии того, что задание действительно решаемо, и для определения всех возможных решений, частью работы является автоматический решатель. Кроме того, необходимо хотя бы приблизительно оценить сложность данного задания. Для этого используется симулятор решения судоку человеком, адаптированный для решения «Деревьев и палаток». Прежде чем программировать симулятор и решатель, желательно сначала проанализировать игру и определитьобъем и свойства задания, которое мы будем генерировать. 5. Анализ игры Для создания задания необходимо задать несколько параметров. Это диапазон размеров поля, количество палаток в поле и количество решений. Цель состоит в том, чтобы подобрать такие параметры, чтобы игра не была слишком легкой или неразрешимой, и в то же время чтобы заданные параметры позволяли создавать максимально возможное количество различных задач и тем самым давали простор для их разнообразия. Размер поля был выбран таким, чтобы войти в него было не слишком просто. Для Палаток с номерами достаточно поля 6 6, для Палаток без номеров в качестве минимального было выбрано поле размером 8 8. Максимальный размер был выбран как, из-за размера этого поля. Желательно, чтобы игровое поле было достаточно большим, чтобы поместиться на экране целиком. В Репетитор было вставлено около 6 заданий для каждой версии игры. Для последующего анализа результатов рекомендуется, чтобы каждый размер поля был представлен несколько раз, чтобы статистика не стала слишком разбавленной. Поэтому были выбраны только конкретные размеры полей. Для варианта с номерами это 6 6, 8 8 а, для варианта без номеров 8 8, а.Также нужно было выбрать количество палаток, которые будут расставлены на каждом поле. Если выбрано несколько палаток, можно сделать несколько комбинаций, и входы также очень просты. Точно так же, если выбрано слишком много палаток, можно создать большое количество различных задач, но только очень небольшой процент этих задач имеет решения. Количество всех записей для варианта без номеров, которые можно сделать, рассчитывается по формуле для комбинаций без повторений: C k (n) = ( ) n = k n! к!(н к)! где n — количество полей, а k — количество палаток. Количество всех решаемых полей определялось алгоритмически таким образом, чтобы все задания для заданного размера поля и количества палаток были сгенерированы и решены полностью. Поскольку это операция, требующая значительных вычислительных ресурсов и увеличивающаяся с увеличением размера массива, этот симулятор не включен.Работа. Используется только на работе. Уже для поля 6 6 мы получаем более 93 миллионов записей с девятью палатками. 7

26 5. НАЗНАЧЕНИЕ ГЕНЕРАТОРА И РЕШАТЕЛЯ, а также время, необходимое для этого расчета, были рассчитаны только для полей 4 4, 5 5 и 6 6 (см. график / стр. 8). Однако очень похожие результаты можно ожидать и для больших полей Количество палаток Количество решений Количество решений Количество палаток График: Количество всех решаемых заданий в зависимости от количества палаток, для версии без номеров. Для полей 5 5 (слева) и 6 6 (справа). Из графика видно, что самые решаемые задания без номеров можно получить, если палатки заполняют -3% полей. В этом варианте другим важным показателем является размах числа решений 3 и распределение этих решений 4. Распределение дается следующим графиком (График), разброс дается следующей таблицей (Таблица): 4 Кратность палатки 4 палатки 5 палаток 6 палаток 7 палаток Количество решений График: Распределение количества решений для полей размером 5 5. Напр. с пятью палатками (желтые) можно сгенерировать 344 различных задания из шести возможных решений. 3 Диапазон количества решений указывает максимальное количество решений, которое может иметь задание с данным размером и количеством палаток. 4 Распределение показывает, сколько различных заданий с заданным количеством решений можно сгенерировать. 8

27 5. ГЕНЕРАТОР ЗАДАНИЙ И РЕШАТЕЛЬ Поле числа палаток Таблица: Диапазон количества решений в зависимости от количества палаток для полей 5 5 и 6 6. По этим данным число примерно % от всех полей был выбран как идеальное количество палаток для всех размеров. Для версии без номеров нас интересуют только задания, имеющие ровно одно решение. Самые разные записи могут быть сгенерированы и в том случае, если палатки занимают около % полей. Количество этих записей на порядок больше, чем количество записей для поля того же размера в версии без номеров. Количество решаемых заданий для варианта с номерами показано на следующей таблице: Количество палаток Количество заданий Количество палаток Таблица 3: Количество всехрешаемых задач в зависимости от количества палаток, для версии с номерами. Для полей 5 5 (слева) и 6 6 (справа). Количество записей Количество всех возможных записей может быть рассчитано только для записей без номеров. Количество решаемых заданий для обоих вариантов должно быть определено алгоритмически. Однако сложность расчета сильно зависит от размера месторождения, поэтому для более крупных месторождений этот расчет может оказаться неосуществимым на практике 5. Однако на основе полученных данных и, таким образом, количества решений для больших полей можно оценить. Версия с цифрами — интересные особенности: В версии с цифрами подавляющее большинство заданий имеют только одно решение. Это свойство задается предельными числами, обеспечивающими это свойство. Однако в очень редких случаях может возникнуть ситуация, когда палатки и номера рассредоточены. 5 Вычисления всегда возможны, но для больших полей они настолько требовательны с точки зрения времени и памяти, что не могут быть выполнены на современных компьютерах. 9

28 5. НАЗНАЧЕНИЕ ГЕНЕРАТОРА И РЕШАТЕЛЯ, чтобы он допускал больше решений (см. рис. /p. ). Такие задания нежелательны в рамках исследования и поэтому отбрасываются. Рис. : Назначение номера, допускающее два разных решения. Как уже упоминалось, игра предлагает возможность соединять деревья и палатки, которые принадлежат друг другу. Однако это соединение не является обязательным. Одной из причин является появление заданий, для которых эта проблема неразрешима (см. рис. /р. ). Изображение : Запись игры, в которой невозможно решить, какая палатка принадлежит какому дереву. 5. Концепция потока Как уже упоминалось во введении, Tutor использует элементы психологии потока. В работе, как и во всей системе Tutor, целью является получение данных от решателей. Поэтому важно предлагать задачу соответствующей сложности, чтобы она не обескураживала, а, наоборот, побуждала к решению других задач. Другими словами, усилия направлены на то, чтобы вызвать состояние Потока у пользователей системы. Это очень важно, хотя сама психологиясамо по себе не является частью исследования. Люди в системе Tutor решают головоломки только добровольно, в свободное время, и за предоставление этих данных им никак не платят. Поэтому, чтобы иметь возможность предоставлять пользователям задания соответствующей сложности, необходимо иметь возможность генерировать очень разные задания. Поэтому необходимо, чтобы

29 5. ГЕНЕРАТОР ЗАДАЧ И РЕШИТЕЛЬ Генератор мог генерировать задачи разного размера, а также с разными свойствами, влияющими на сложность. Происхождение Потока Концепция Потока встречается не только в современной психологии, но также встречается в истории и в различных культурах. Элементы этой психологии уже можно найти в буддизме или йоге. Однако более научно подошел к этому явлению только психолог Михай Чиксентмихайи. Примерно в 975 году во время своего исследования испытуемые описывали ощущение течения времени, отсюда и название «Психология потока». Состояние потока Работая, учась или решая логические задачи, мы пытаемся достичь идеального состояния. Мы находим его в тот момент, когда наши способности настолько соответствуют предъявляемым к нам требованиям, что являются для нас вызовом, но в то же время не являются непреодолимыми. В этом состоянии люди часто проявляют большую озабоченность делами и теряют счет времени. Распределение чувств решателей в зависимости от сложности решения и способностей видно из графика (см. рис. 3/стр.). Низкий уровень сложности Высокий уровень стресса Бедствие Апатия Волнение Скука Управление потоком Отдых Низкий уровень навыков Высокий Рисунок 3: Психология потока. Также была задокументирована сильная корреляция между состоянием Потока и хорошими результатами в образовании и обучении в различных областях. В частности, исследователи обнаружили, что это состояние значительно улучшает преподавание (Csíkszentmihályi, 996), обучение (Csíkszentmihályi et al., 993) и спорт (Jackson, Thomas,Марш, Сметерст, ; Stein, Kimiecik, Daniels, Jackson, 995)[].

30 5. ГЕНЕРАТОР НАЗНАЧЕНИЙ И РЕШИТЕЛЬ 5.3 Используемые инструменты Для реализации автоматического решателя и генератора случайных назначений использовался язык Java. В качестве среды разработки была выбрана IDE NetBeans. Java Язык Java на сегодняшний день является одним из наиболее широко используемых языков программирования. Это объектно-ориентированный язык третьего поколения 6 (3GL). Предшественником Java является язык C, или, скорее, его объектная версия C++, давшая Java его базовую форму. Концептуально разработчики Java смогли устранить множество ошибок из оригинального C++, поэтому получившийся язык стал намного чище, чем его предшественник[7]. Java разрабатывается с 99 г., но первая версия была выпущена только в 995 г. под названием Java, а с 7 мая разрабатывается как open source[3]. Мой предыдущий опыт работы с этим инструментом также оказал существенное влияние на выбор Java. Преимущество Java — легкая переносимость. Это не зависит от операционной системы или архитектуры платформы. Он имеет обширную онлайн-документацию. Он использует сборщик мусора для очистки непригодных объектов. Существует ряд качественных сред разработки на выбор. Он поддерживает написание документации по качеству (JavaDoc). Недостатком является особенно медленный запуск приложений. В отличие от C или C++, программа должна быть скомпилирована до запуска приложения, что увеличивает время выполнения. Другим недостатком является более высокая потребность в памяти для небольших программ. Однако оба недостатка в настоящее время компенсируются увеличением производительности конечных устройств. IDE NetBeans NetBeans — это среда разработки с открытым исходным кодом, которая позволяет программистам писать, компилировать, отлаживать и распространять программы. Проект разработан на языке Java и разделен на два основных продукта: среду разработки NetBeans (NetBeans IDE) и платформу разработки NetBeans (NetBeans Platform).Среда в первую очередь предназначена для языка Java, но также можно разрабатывать программы на C/C++, PHP или Ruby. Альтернативой NetBeans может быть, например, Eclipse или IntelliJ IDEA. 6 Сюда же относятся языки Pascal, C/C++, Basic и др. Языки третьего поколения более дружелюбны к программисту.

Читайте также:  Как поменять картинку на windows 7 на загрузке

31 5. ГЕНЕРАТОР ЗАДАНИЙ И СОЛВЕР 5.4 Генератор заданий Как уже упоминалось, задания не создаются непосредственно в симуляторе, а готовятся заранее. Генератор случайных чисел позаботится о подготовке. Цель этой программы — генерировать случайные записи, отвечающие заданным требованиям по размеру и количеству палаток. Задача должна иметь хотя бы одно возможное решение. В варианте с цифрами всего одно возможное решение. Проверка разрешимости осуществляется с помощью алгоритма, способного решить задание (см. главу 5.5 Автоматический решатель/стр. 4). К генерации можно подойти несколькими способами. В работе были рассмотрены следующие два метода: Генерация задачи с помощью решения При генерации задачи с помощью решения процедура заключается в том, чтобы сначала расставить палатки в поле и только потом расположить деревья рядом с ними. В версии с номерами предельные номера добавляются в соответствии с расположением палаток. Палатки расставляются на поле совершенно хаотично. С помощью генератора случайных чисел 7 выбирается число из диапазона количества полей. Предполагая, что в этом месте есть свободное поле и нет другой палатки в пределах досягаемости, ставится новая палатка. Если поле не соответствует условиям, номер отбрасывается и генерируется новый. Так делается до тех пор, пока не будут расставлены все палатки. После этого рядом с палатками случайным образом расставляются деревья или, в зависимости от версии игры, добавляется их предельное количество. Рисунок 4: Поле 5 5, где больше не может быть сгенерирована последняя пятая палатка. Преимуществом данной процедуры является относительно высокая скорость генерации. Это также устраняет необходимость сначала решать поле. Несомненно, что генерируетсязадание решаемо и при этом достаточно сохранить положения сгенерированных палаток, которые образуют правильное решение. Недостатком является то, что развертывание палатки, которое было сохранено как правильное решение, может быть не единственно возможным решением. Еще минус — необходимость после 7. В Java уже реализован генератор псевдослучайных чисел. Для генерации используется случайный метод из класса Math. 3

32 5. ГЕНЕРАТОР ЗАДАНИЙ И РЕШАТЕЛЬ Каждый раз, когда ставится новая палатка, проходите все поле и проверяйте количество свободных позиций. Если бы эта проверка не была включена, программа могла бы зациклиться. Петля может возникнуть, когда палатки размещены случайным образом настолько неподходящим образом, что больше невозможно разместить другие палатки (см. рис. 4/стр. 3). Таким образом, генерация задачи с использованием решения удобна там, где решаемая задача должна быть создана очень быстро. Этот порядок был бы выбран, если бы игра была только для развлечения и задания не давались заранее, а генерировались случайным образом всегда по желанию игрока. Создание задачи с использованием записи Другой способ создания задачи — использование записи. В этом случае разворачиваются не палатки, а деревья. Как и в предыдущем случае, генерируется случайное число. Дерево размещается в позиции, определяемой этим номером. Единственное требование — поле должно быть свободным. Сгенерированная таким образом задача затем передается автоматическому решателю, который находит все решения и в конечном итоге решает, что задача не имеет решения. Как и в предыдущем случае, предельные числа определяются только по расстановке палаток, т.е. только после решения задачи. Преимущество в том, что при этой процедуре четко определяется количество решений. Также сохраняются все возможные решения, а не одно конкретное, как было в предыдущем случае. Недостатком этой процедуры является ее медлительность. Большая часть сгенерированных заданий не имеет решения. В первую очередь запись для более крупного поля, где каждое решениезанимает больше времени, генерация значительно удлиняется. Другим недостатком является необходимость программирования автоматического решателя, без которого эту процедуру было бы невозможно использовать. Поэтому использование этой процедуры подходит в том случае, когда задание не нужно генерировать быстро, но необходимо гарантировать его разрешимость и определить все возможные решения. Таким образом, этот случай подходит для использования при создании заданий заранее, поскольку они генерируются в системе Tutor. 5.5 Автоматический решатель В случае генерации по входу также необходим автоматический решатель. Есть больше способов автоматически решать палатки и деревья. На некоторые из них кратко намекнули в главе 4.4 «Выигрышные стратегии». Проблема с большинством алгоритмов поиска решения заключается в том, что они находят только одно решение. Однако в рамках этой работы необходимо использовать решатель, который находит все решения. По этой причине кажется самым безопасным использовать алгоритм, который пробует все комбинации. Прежде чем описывать эту процедуру, необходимо дать определение термину игровое пространство. 4

33 5. ГЕНЕРАТОР ЗАДАНИЙ И СОЛВЕР Игровое пространство представляет собой набор полей, на которых происходит игра. В некоторых случаях размер игрового поля может быть таким же, как размер игрового поля 8, но в большинстве случаев игровое пространство меньше (см. рис. 5/стр. 5). Игровое пространство представляет собой поля, примыкающие к определенному дереву. Размер игрового поля представляет собой количество квадратов, составляющих игровое поле. Рисунок 5: Игровое пространство для поля 6 6. Размер игрового пространства. Алгоритм автоматического решателя ищет все возможные решения. Однако это работает не со всем игровым полем, а только с игровой зоной. Над этим пространством алгоритм пробует все возможные комбинации размещения палаток. Рисунок 6: Автоматическое дерево решений для массива 3 3. Обход работает по принципу DFS или обхода в глубину. Алгоритм следует за ветвью, которая является наиболееоставил. На данный момент при 8 Размер игрового поля означает количество полей без учета полей с деревьями. Например, для квадрата 6 6 размер игрового поля равен (6 6) 7 = 9,5

.

34 5. НАЗНАЧЕНИЕ ГЕНЕРАТОРА И РЕШАТЕЛЯ цели (находит решение), или в момент, когда он уже не может продолжаться, он рекурсивно возвращается и пытается искать другие ветки (см. рис. 6/стр. 5). Он сохраняет правильные решения в своей памяти. В случае с палатками с номерами решение такое же, только после завершения поиска все сохраненные решения еще сравниваются с предельными номерами. 5.6 Реализация Программа была реализована на языке Java. В работе была выбрана только генерация по заданию. Второй способ не подходит в рамках данной работы, поэтому реализован не был. Целью программы является не игра в игру, для этого используется симулятор, а только формирование заданий, проверка их решаемости и сохранение в текстовом формате, подходящем для Репетитора. По этой причине графический интерфейс не является частью программы. Сгенерированный ввод записывается только в стандартный вывод и сохраняется в файл. Вся программа состоит из двух занятий. Класс Main, содержащий методы генерации и решения, и класс Game, в котором хранится сгенерированный набор задач и все их решения. В классе Main методы enternumbers(), enternumbers(int min, int max) и save() вызываются из метода Main(), который записывает сгенерированные записи и решения в файл. Оба метода генерации действуют очень похоже. Весь расчет происходит над двумерным массивом, размер которого задается вручную перед выполнением в глобальной переменной размера массива. Количество генерируемых записей задается в глобальной переменной количество генерируемых записей. Для метода ввода без чисел (int min, int max) необходимо задать входные параметры. Переменная min представляет минимальное количество решений, которые будут иметь результирующие задания. Максимальная переменнаяопределяет максимальное количество решений. При использовании метода zadaniscisly() всегда требуется только одно правильное решение, поэтому нет необходимости задавать эти параметры. С другой стороны, в рамках этого метода могут быть установлены конкретные требования к размеру игрового пространства. При запуске метод многократно вызывает методы newgame() иsolve() до тех пор, пока не будет сгенерировано заданное количество записей. Метод newgame() генерирует новые случайные записи, методsolve() решает эти записи и сохраняет их в памяти. Оба метода работают так, как теоретически описано в главах 6.3 Генератор задач и 6.4 Автоматический решатель. Наконец, записи записываются в текстовый файл с помощью метода save() и записываются в стандартный вывод. Формат задания и решения: Задания пишутся и сохраняются в текстовом формате, с которым работает игровой симулятор. Для версии без номеров формат выглядит так (см. рис. 7/стр. 7): координаты дерева:координаты решения-. -координаты решения-;призма. 6

35 5. ГЕНЕРАТОР ЗАДАНИЙ И РЕШИТЕЛЬ Рис. 7: Задание и два возможных решения версии без номеров. Координаты дерева указаны на картинке слева. Входные данные для игры на рис. 7 сохраняются следующим образом: :3-3-;3 Для версии с числами (см. рис. 8/стр. 7) входные данные имеют следующий формат: координаты деревьев:координаты решений-; количество столбцов: количество строк- ;ребер массива. Рисунок 8: Ввод и решение версии с числами. Запись для игры на рисунке 8 хранится следующим образом: 44:334-;:-;4 Выбор записи для симулятора в системе Tutor: Выбор данных для симулятора происходит по-разному для обеих версий игры . Для версии без номеров решающее значение в основном имеет количество возможных решений. Для Репетитора были сгенерированы задания с количеством решений, 3, 5 и 5. Всего было сгенерировано около 3-х заданий. Они решались вручную и по результатам подбирались интересные задачи для Репетитора. В версии с числами для выбора использовался симулятор решения человека, изначально разработанный для судоку. Это былогенерируются по разным заданиям. Это было решено механически с помощью симулятора. Для каждого входа симулятор перечислил свойства этой спины 9. На основании этих свойств и ручного решения был выбран вход в систему. 9 Количество итераций, используемых методов решения и магических шагов, когда симулятор не мог продолжать работу и должен был заглянуть в решение. 7

36 6 Анализ результатов Для Pro Tutor для каждой версии игры было отобрано около 7 интересных заданий. Эти записи были загружены в систему и доступны другим пользователям. Система записывала и хранила данные о ходе решения пользователей. Базовый анализ собранных данных является частью этой бакалаврской работы. 6. Размер выборки данных. Анализ проводился на данных, которые были доступны на момент подачи диссертации. Версия с номерами была в эксплуатации около 3 месяцев, версия без номеров месяц. Все записанные Tutor данные для анализа доступны на прилагаемом компакт-диске (см. Приложение A/стр. 4). В следующей таблице приведены сводные статистические данные по данным, по которым был выполнен анализ. Палатки с номерами Палатки без номеров Количество входов 69 7 Количество игроков Не менее 5 решенных заданий 6 94 Всех решенных заданий 6 Всего решенных заданий 6 9 Всего сыгранных ходов Общее время игры [ч:мин:с] 49:58: 65:3 :4 Таблица 3: Диапазон данных, использованных для анализа. Данные для палаток с номерами Для версии с номерами анализ выполнялся на основе следующих данных (см. таблицу 4/стр. 9-3). В таблице показаны значения, полученные от Репетитора для каждого задания: Med (время) среднее время всех решателей, Avg (время) среднее время всех решателей и Avg (ходов) среднее количество ходов, необходимых для решения задачи. проблема. Ниже приведены данные, найденные симулятором человеческого решения: количество итераций IT, необходимых для решения, и магических шагов MS, то есть количество зависших, когда симулятор не мог продолжать и должен был изучитьполученные результаты. В последних двух столбцах перечислены свойства каждой записи. Это HP размер игрового пространства и HP- размер игрового пространства без нулей. Название каждого задания начинается с цифры 6, 8 или, указывая на то, что это поле 6 6, 8 8 или. Данные были загружены с сервера и проанализированы. Поля, находящиеся в строке или столбце с нулевым разделителем, не учитываются, даже если они находятся в дереве. 8

Поделиться с друзьями
ОС советы