Разработка игры "крестики-нолики" - Программирование, компьютеры и кибернетика контрольная работа

Разработка игры "крестики-нолики" - Программирование, компьютеры и кибернетика контрольная работа



































Разработка алгоритма, выполняющего поиск наилучшего решения на каждый ход в игре "крестики-нолики" (используя минимальный алгоритм). Обоснование выбора программных средств для решения задачи. Блок-схема интеллектуального алгоритма реализации программы.


посмотреть текст работы


скачать работу можно здесь


полная информация о работе


весь список подобных работ


Нужна помощь с учёбой? Наши эксперты готовы помочь!
Нажимая на кнопку, вы соглашаетесь с
политикой обработки персональных данных

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
· визуальное проектирование и разработка баз данных благодаря входящему в состав редакции Builder Architect профессионального средства моделирования Embarcadero ER/Studio. [9]
Обоснованием выбора служат следующие факторы:
Быстрота разработки . От быстроты разработки зависит, прежде всего, цена программного продукта. Для увеличения скорости написания Windows-приложений необходимо использовать средства визуального программирования. Code Gear/Builder C++ как нельзя более подходит для выполнения данной задачи, так как назначение Code Gear/Builder C++ - быстрая разработка приложений (RAD - Rapid Application Development). Разработка приложений интерфейса пользователя с помощью Code Gear/Builder C++ - в основном процесс проектирования, с весьма небольшим количеством фактического программирования, что существенно сокращает время на создание удобного интерфейса, отвечающего стандартам разработки Windows-приложений. Code Gear/Builder C++ может компилировать 32/64-битные программы, обеспечивая высокую скорость выполнения.
Характер задачи. Рассматриваемая в дипломной работе задача относится к разряду вычислительных с использованием баз данных. В состав Code Gear/Builder C++ входит высокоэффективный компилятор с языка C++, основанном на концепции объектно-ориентированного программирования. Данный компилятор генерирует оптимизированный код, позволяющий увеличить скорость выполнения программ, что немаловажно для данного программного продукта. Code Gear/Builder C++ создает действительно откомпилированные программы, готовые для исполнения. Кроме того, для увеличения быстродействия программы и уменьшения объема занимаемой памяти используется возможность работы с динамическими структурами данных.
Доступ к аппаратным средствам. Постановка задачи исключает необходимость доступа к аппаратным средствам ЭВМ, поэтому отсутствует надобность выбора языка низкого уровня для написания программы или ее частей.
Создание приложений “Клиент - Сервер”. В настоящее время широко используются многозвенные информационные системы. Code Gear/Builder C++ предоставляет широкие возможности для создания приложений, поддерживающих трехзвенную систему, компонентами которой являются “тонкий” клиент, сервер приложений и сервер баз данных.
Таким образом, среда программирования Code Gear/Builder C++ является оптимальным выбором для решения поставленной задачи, так как:
обеспечивает простоту написания вычислительных частей приложения, высокую скорость вычисления скомпилированной программы;
обладает широкими средствами визуального построения интерфейса;
Минимаксный критерий ( минимакс ) -- один из критериев принятия решений в условиях неопределённости. Условиями неопределённости считается ситуация, когда последствия принимаемых решений неизвестны, и можно лишь приблизительно их оценить. Для принятия решения используются различные критерии, задача которых -- найти наилучшее решение максимизирующее возможную прибыль и минимизирующее возможный убыток.
1. Строится матрица стратегий. Столбцы соответствуют возможным исходам. Строки соответствуют выбираемым стратегиям. В ячейки записывается ожидаемый результат при данном исходе и при данной выбранной стратегии.
2. Строится матрица сожаления. В ячейках матрицы величина сожаления -- разница между максимальным результатом при данном исходе (максимальном числе в данном столбце) и результатом при выбранной стратегии. Сожаление показывает величину, теряемую при принятии неверного решения.
3. Минимаксное решение соответствует стратегии, при которой максимальное сожаление минимально. Для этого для каждой стратегии (в каждой строке) ищут максимальную величину сожаления. И выбирают то решение (строку), максимальное сожаления которого минимально.
Пример работы алгоритма минимакс можно представить в виде следующего графа:
Поле n*m, где n - количество полей по горизонтали, m - количество полей по вертикали.
weights[i,j] - вес поля i, j (оценка) на определенном ходу игры.
depth - глубина минимаксного алгоритма.
В качестве оценок будем использовать следующую схему:
за каждую линию, в которой получиться по 1-ой заполненной клетке - 2 очка.
за каждую линию, в которой получиться по 2-е заполненных клетки - 4 очка.
за каждую линию, в которой получиться по 3-и заполненных клетки - 8 очков.
за каждую линию, в которой получиться по size - 1 заполненной клетке - 2 size-1 очков.
за каждую линию, в которой получиться по size заполненной клетке - 2 size очков.
В итоге на глубине depth мы получим оценки каждого поля, в которое может сходить AI, и на шаге depth-1 выбрать максимальную оценку. На шаге depth-2 минимальную, и так далее, до тех пор пока глубина не будет = 1. После чего выбирается оптимальная оценка и выполняется ход AI.
Альфа-бета отсечение. Альфа-бета отсечение (англ. Alpha-beta pruning ) -- это алгоритм поиска, стремящийся сократить количество узлов, оцениваемых в дереве поиска алгоритмом минимакс. Этот алгоритм предназначен для антагонистических игр и используется для машинной игры (в шахматах, го и других). В основе алгоритма лежит идея, что оценивание ветви дерева поиска может быть досрочно прекращено (без вычисления всех значений оценивающей функции), если было найдено, что для этой ветви значение оценивающей функции в любом случае хуже, чем вычисленное для предыдущей ветви. Альфа-бета отсечение является оптимизацией, так как результаты работы оптимизируемого алгоритма не изменяются.
Преимущество альфа-бета отсечения фактически заключается в том, что некоторые из ветвей подуровней дерева поиска могут быть исключены после того, как хотя бы одна из ветвей уровня рассмотрена полностью. Так как отсечения происходят на каждом уровне вложенности (кроме последнего), эффект может быть весьма значительным. На эффективность метода существенно влияет предварительная сортировка вариантов (без перебора или с перебором на меньшую глубину) -- при сортировке чем больше в начале рассмотрено «хороших» вариантов, тем больше «плохих» ветвей может быть отсечено без исчерпывающего анализа.
Изображение работы минимаксного алгоритма с альфа-бета отсечением:
Игра происходит простыми щелчками мыши по игровому полю, после чего выбранное поле помечается крестиком или ноликом в зависимости от того чей ход.
В этом поле можно указать параметры начала игры:
Столбцы и строки - это размер игрового поля.
Длина победной линии - количество крестиком или ноликов в ряд, которые необходимо построить чтобы победить в игре.
Режим игры определяет то в каком режиме будет происходить игра.
Глубина поиска - количество полуходов, которые совершает компьютер при поиске в глубину.
Проект программы "Крестики-нолики". Блок-схема алгоритма. Описание работы программного продукта. Инструкция по инсталляции. Инструкция программисту, возможность доработки с целью упрощения исполняемых кодов. Инструкция по проверке и тестированию. курсовая работа [235,8 K], добавлен 05.12.2009
Разработка программы логической игры в "крестики-нолики" пять в ряд на поле размера 15х15 клеток с применением графики на языке Pascal с использованием объектно-ориентированного программирования. Структура алгоритма программы и описание ее работы. курсовая работа [821,5 K], добавлен 13.02.2012
Разработка популярной развлекательной игры крестики-нолики. Возможность играть с компьютером, который играет согласно созданному алгоритму. Новые возможности Visual Studio. Легкое усвоение программы. Удобный интерфейс - "визитная карточка" приложения. курсовая работа [74,6 K], добавлен 20.12.2009
Разработка программы игры в крестики-нолики. Примеры игровой ситуации на игровом поле. Описание входных и выходных данных, переменных и функций программы. Реализация алгоритма работы программы на языке C++. Текст программы и примеры ее выполнения. курсовая работа [352,8 K], добавлен 14.04.2011
Технические и пользовательские характеристики игры, требования к программному обеспечению и среде разработки C#. Составление блок-схемы алгоритма, uml-диаграммы и текста программы, тестирование корректности компьютерного кода и результатов его работы. курсовая работа [1,8 M], добавлен 05.03.2013
Знакомство с интерфейсом пользователя и сценарием использования программы игры в крестики и нолики. Функциональные и нефункциональные требования для персонального компьютера. Исключительные ситуации и реакция программы. Пример кода игры и комментарии. курсовая работа [236,5 K], добавлен 27.01.2014
Программный продукт для игры "Крестики-нолики". Описание пользовательского интерфейса. Факт базы данных, определяющий состояние счёта. Предикат изменяющий состояние игрового процесса и подсчитывающий количество занятых ячеек поля. Исходный код программы. курсовая работа [34,6 K], добавлен 19.05.2014
Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д. PPT, PPTX и PDF-файлы представлены только в архивах. Рекомендуем скачать работу .

© 2000 — 2021



Разработка игры "крестики-нолики" контрольная работа. Программирование, компьютеры и кибернетика.
Курсовая работа по теме Уровень и качество жизни населения в России и за рубежом
Отчёт по практике: Отчёт о практике по профилю специальности. Скачать бесплатно и без регистрации
Курсовая Работа На Тему Государство И Церковь. Правовое Регулирование Их Отношений
Дипломная работа по теме Диспетчерский контроль движения поездов
Дипломная работа: Разработка автоматизированной системы для исследования устойчивости и автоколебаний в электромеханической следящей системе
Любовь Прекрасное Чувство Сочинение
Курсовая работа по теме Цена преступности и вопросы ее определения
Презентация На Тему Туристические Районы Крыма
Контрольная Работа На Тему Сущность Преступности, Не Зарегистрированной В Уголовной Статистике
Реферат: Технико-экономическое обоснование создания нового предприятия
Практическое задание по теме Географічне положення та береги Африки
Реферат: Совершенствование расчетов с бюджетом по единому налогу при УСН и ведения учета и отчетности
Рекомендуемый Объем Реферата
Сочинение Молекулы 7 Класс
Реферат: Документационное обеспечение
Доклад: Принятие решений в экологической геоинформационной системе на основе нечеткой модели классификации
Реферат по теме Качество пищевых продуктов
Восприятие Литературы Эссе
Профессиональная Деятельность Педагога Эссе
Курсовая Работа На Тему Кривые И Поверхности Второго Порядка
Концептуальные и организационно-правовые основы формирования кадрового резерва в крупной торговой организации (на примере ООО "ИКЕА") - Менеджмент и трудовые отношения курсовая работа
Жаккардовая ткань в интерьере. Керамика Древней Греции - Культура и искусство курсовая работа
Преступления против семьи и несовершеннолетних: особенности квалификации и назначения наказания - Государство и право курсовая работа


Report Page