Алгоритмы используемые в играх

Содержание

Алгоритмы используемые в играх

В статье рассмотрены способы создания универсальной компьютерной программы, играющей в логические игры («Крестики-нолики», «Реверси» и т.п.). Также проведен анализ некоторых универсальных алгоритмов выбора оптимального хода.

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

Антагонистическая игра (или игра с нулевой суммой) — некооперативная игра, в которой участвуют два игрока, выигрыши которых противоположны.

Рассмотрим каждую часть отдельно.

1. Алгоритм выбора оптимального хода

Алгоритм должен быть универсальным (не зависеть от правил игры) и обеспечивать хороший уровень игры. Первый рассматриваемый алгоритм, удовлетворяющий этим условиям – алгоритм минимаксного дерева.

Игрок в текущей позиции пытается сделать все возможные ходы и максимизировать свой выигрыш, а также минимизировать выигрыш другого игрока. Перебор позиций проводится при помощи поиска в глубину (depth-first search, DFS) до достижения некоторой заданной глубины или конца игры.

  • – текущая позиция;
  • – все позиции, доступные из позиции ;
  • – выигрыш игрока в позиции .

Если позиция p является терминальной, то для нее определена функция , определяющая выигрыш игрока, которому принадлежит ход в этой позиции.

Позиция называется терминальной, если из нее нет разрешенных ходов (достигнуты конец игры или необходимая глубина перебора).

Выигрыш игрока будет равен:

если позиция – терминальная, иначе

  • Простая реализация.
  • Гарантированно будут рассмотрены все ходы.

Недостаток: требуется проверять все возможные ходы и при увеличении глубины перебора количество рассматриваемых позиций растет экспоненциально.

Количество перебираемых вариантов можно уменьшить, если прекращать поиск точной оценки хода, когда стало известно, что этот ход не может стать лучше, чем один из ходов, рассмотренных ранее[1].

Алгоритм альфа-бета отсечений при вычислении оценки позиции иcпользует верхнюю и нижнюю допустимые границы.

  • alpha – верхняя граница;
  • beta – нижняя граница;
  • – функция, вычисляющая оценку позиции методом альфа-бета отсечений.

Функция Fab должна удовлетворять условиям:

  • В большинстве случаев значительно уменьшается количество рассматриваемых позиций при переборе.
  • Реализация легко получается из реализации алгоритма мини-максного дерева.
  • Результат не хуже, чем при полном переборе позиций.

Недостаток: сложность алгоритма остается такой же, как и при полном переборе позиций (экспоненциальной). Существуют случаи, когда выигрыш от оптимизации незначителен или отсутствует.

Сравнение количества перебранных позиций для первых 10 ходов в игре «Реверси» на поле 8х8 при использовании алгоритмов минимаксного дерева и альфа-бета отсечений (глубина перебора 6 позиций, программа играет против человека, человек делает ход первым)

Номер хода Минимаксное дерево поиска (полный перебор) Перебор с использованием альфа-бета отсечений
1 16 251 1 015
2 61 730 1 712
3 568 484 10 948
4 1 083 976 14 325
5 1 624 623 13 598
6 2 412 356 18 287
7 1 847 605 15 328
8 5 389 480 30 807
9 4 870 334 22 508
10 3 390 729 21 994

Альтернативой алгоритму минимаксного дерева является использование метода Монте-Карло.

Метод Монте-Карло — общее название группы численных методов, основанных на получении большого числа реализаций случайного процесса, вероятностные характеристики которого совпадают с аналогичными величинами решаемой задачи.

В нашей задаче (поиск оптимального хода): для текущей позиции выбираются все возможные позиции и с каждой из этих позиций разыгрывается большое количество случайных партий. Позиция, для которой соотношение побед и поражений будет наилучшим, выбирается для следующего хода.

  • Высокий уровень игры при большом количестве разыгрываемых случайных партий.
  • Хорошо поддается распараллеливанию.
  • Линейная сложность.
  • Хорошие ходы могут не попасть в случайную выборку.
  • Для сильной игры требуется производительный компьютер.

Например, одна из сильнейших программ для игры в го, «MoGo», использующая этот метод, запускалась на компьютере производительностью 15 Терафлопс[3] (для сравнения, производительность процессора Intel Core i7-975 0.06 Терафлопс[2], а производительность суперкомпьютера СКИФ МГУ 47,17 Терафлопс[4]).

График зависимости количества выигранных партий в игру «Реверси» на поле 8х8 для программы, использующей метод Монте-Карло с разным числом разыгрываемых случайных партий, играющей против программы, использующей алгоритм альфа-бета отсечений с глубиной перебора 6 позиций.

2. Способы описания правил.

В программе алгоритм получает сведения о правилах игры через вызов специальных функций. Пример набора функций, достаточного для большинства логических игр:

  • Задание начальных условий.
  • Проверка возможности хода.
  • Выполнение хода и оценка позиции.
  • Проверка условия конца игры.

Для обеспечения универсальности, функции должны поддерживать выбор правил для разных игр. Правила могут быть представлены разными способами.

1. Набор функций для каждой игры описывается вместе с остальными функциями (алгоритмом выбора хода и т.п.) и компилируется в один исполняемый файл.

  • Простая реализация.
  • Высокая скорость работы игровых функций.
  • Для добавления правил игры необходимы весь исходный код программы и компилятор.
  • Необходимо знание языка программирования, на котором написана программа.

2. Подключение набора функций в виде внешнего модуля (например, DLL).

Большинство шахматных программ подключается к шахматным оболочкам в виде внешних модулей (для взаимодействия обычно используется специальный протокол UCI — Universal Chess Interface).

  • Возможность создания любого количества игр, не изменяя исход-ный код программы.
  • Высокая скорость работы функций, реализованных в модулях.
  • Необходимость знания языка программирования, программу на котором можно скомпилировать в модуль.
  • Нужен интерфейс для взаимодействия с модулями.

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

  • Количество возможных игр не ограничено.
  • Не требует средств разработки и каких-либо компиляторов.
  • Язык должен быть очень простым и обучение программированию на нем не должно занимать много времени. (В язык могут быть встроены функции, облегчающие какие-либо часто встречающиеся операции (например, функции, подсчитывающие количество идущих подряд клеток определенного цвета).
  • Требуется изучение специального языка.
  • Язык может уступать по функциональности распространенным языкам высокого уровня.
  • Скорость работы значительно ниже, чем при использовании скомпилированного кода, т.к. тратится дополнительное время на интерпретацию.

Пример программы на интерпретируемом языке, описывающей правила игры “Крестики-нолики” на поле 3х3:

4. Правила создаются при помощи визуального редактора. Наборы действий для каждой функции могут собираться из большого числа стандартных блоков, которые могут отображаться в удобном для пользователя виде.

Такой подход использует среда разработки Scratch, разработанная в MIT.

Схема из блоков может быть автоматически преобразована в программный код, который может интерпретироваться, либо компилироваться в программный модуль.

  • Не требуется специального обучения программированию.
  • Функции, составленные из блоков, удобно редактировать.

Недостаток: высокая сложность реализации подхода.

Это был краткий обзор универсальных алгоритмов выбора оптимального хода и способов определения правил для логических антагонистических игр.

  1. An Analysis of Alpha-Beta Pruning [Article] / auth. Knuth D. E. Moore R. W. // Artificial Intelligence. — 1975. — 4 : Vol. 6
  2. Processors — Intel® microprocessor export compliance metrics [Online]. — http://www.intel.com/support/processors/sb/cs-023143.htm
  3. Sensei’s Library: MoGo [Online]. — http://senseis.xmp.net/?MoGo
  4. SKIF MSU [Online] // TOP500 Supercomputing Sites. — http://www.top500.org/system/ranking/9240

Данная статья была опубликована в сборнике “Энергия и талант молодёжи — залог развития наукоёмких производств. Сборник научных трудов XII Областной научно-практической конференции молодых учёных. — Т. 1 — Псков: Издательство ППИ, 2010.

Знакомьтесь, Алекс: хакер из России расшифровал алгоритм игровых автоматов

Российский математик, программист и выпускник Академии ФСБ разгадал алгоритм, по которому работают игровые автоматы.

Источник фото: News of Gambling

В интервью американскому изданию Wired хакер под псевдонимом «Алекс» рассказал, что после того как расшифровал алгоритм работы слот-машин, зарабатывает 250 000 USD в неделю.

Алекс смог понять принципы, более известные как генераторы псевдослучайных чисел или PRNG (Pseudorandom number generator), определяющий модель воспроизведения игр в игровых автоматах. Три его агента путешествуют по казино всего мира: с Польши в Макао, а потом в Перу в поисках автоматов, PRNG которых расшифровал Алекс. Так называемые сотрудники записывают работу игровых автоматов и отправляют видео своему «наставнику» для определения шансов на выигрыш.

Что интересно, выбранные агенты не обладают какими-то особыми умениями, более того они даже не уведомлены о работе механизма, а «обучение» занимает всего два часа. Сам «герой» утверждает, что больше всего сотрудниках ценит осторожность.

Алекс ищет людей, которые, по его словам, «понимают важность скрытности в своих действиях и общем поведении», при этом «выглядят достаточно респектабельными, чтобы не вызывать лишних подозрений». А в случае ареста организация гарантирует юридическую помощь.

Россиянин потребовал в австралийского разработчика игровых автоматов Aristocrat Leisure восьмизначную сумму выкупа за то, что якобы взломал их PRNG. Также он заявил, что в случае отказа выложит в сеть алгоритмы компании. Но компания отказалась от сделки, сославшись на то, что их система защиты генераторов псевдослучайных чисел надежна. После этой истории также не стоит исключать возможность того, что Алекс на самом деле ничего не взламывал, а занимается мошенничеством, но надо признать делает он это весьма профессионально.

В интервью Wired Алекс также рассказал, что иногда мечтает выложить взломанный алгоритм в открытый доступ, но, конечно же, после своего ухода со столь «прибыльного бизнеса». Сам хакер думает, что подобные действия приведут к «зомби-апокалипсису» и искоренению игровых автоматов как явления.

Напомним, что в феврале появилась информация о том, что инженеры изобрели метод, позволяющий обыгрывать игровые автоматы. Изучив принципы работы слотов, они разработали формулу, позволяющую получать выигрыш с минимальной ставкой.

Разновидности игры “Баше”. Выигрышные алгоритмы для компьютера

Добрый вечер.
Друзья, многие из вас наверняка слышали, или играли в игру «Баше».

Суть игры, классический случай:

  1. Играют двое.
    На столе лежит N предметов, игроки по очереди берут от 1 до k предметов.
    Проигравшим, считается игрок, взявший последний предмет.

Думаю теперь всё понятно, и большинство поняли, о чем я говорю.

Для классического случая, и двух модернизированных(о них ниже), нужно составить алгоритм хода, при котором компьютер будет выигрывать человека(не знающего выигрышных алгоритмов).

Не стандартные случаи:

  1. Играют двое.
    На столе лежит N предметов, игроки по очереди берут любое количество предметов, но не больше — «2 * (сколько взял предыдущий игрок)», ноль брать нельзя. Победителем считается игрок, взявший последний предмет.
  1. Играют двое.
    На столе лежит N предметов, игроки по очереди берут любое количество предметов, но не больше, чем взял предыдущий, ноль брать нельзя.
    Победителем считается игрок, взявший последний предмет.

Как я уже говорил, для каждого случая, нужно составить алгоритм, при котором компьютер будет выигрывать юзера.

Для начала нужно определить 100% выигрышные позиции для каждого случая. Выигрышная позиция, это та позиция, которую ты оставляешь после своего хода, и побеждаешь при любых ходах соперника.

1 случай: Все выигрышные позиции стоят на местах — (k+1) -> 2(k+1) -> 3(k+1) -> etc.

2 случай: Все выигрышные позиции — это числа фибоначчи — 1, 2, 3, 5, 8, 13, 21, 34, etc

3 случай: Все выигрышные позиции — это степени двойки — 2, 4, 8, 16, 32, etc.

Выигрышные позиции определили. Следующая(и окончательная) задача, составить алгоритм хода компьютера.

Мне удалось написать процедуру хода только для первого случая, с остальными я прошу помощи.

Я использовал паскаль, вы можете писать на любом удобном вам языке.

1 случай:

2 случай: нет идей, прошу помощи.

3 случай:

С третьим случаем вопрос остаётся открытым, моё вариант побеждает не постоянно.

Прошу помощи в реализации 2го и 3го случая. Спасибо за внимание)

Алгоритм и система работы онлайн-слотов

Предыстория

До появления интернета игровые автоматы были электромеханическими. В таком автомате была специальная тормозная система и датчики, которые анализировали выпавшую комбинацию.

Позже на смену электромеханическим аппаратам пришли электрические. В них был встроен электродвигатель, а значит игрокам уже не нужно было нажимать на ручку, чтобы поиграть, однако датчики продолжали работать по старому принципу.

Сейчас физические слот-машины — это компьютеры, а выпадение определенных комбинаций происходит за счет генератора случайных чисел или ГСЧ (англ. “Random Number Generator”). Эта же система используется и в онлайн-слотах.

Что такое генератор случайных чисел (ГСЧ)

Генератор случайных чисел — это программа, которая работает по определенному алгоритму и определяет, какая комбинация выпадет на экране. Это абсолютно случайный процесс, результат которого не могут знать ни оператор казино, ни игрок, ни создатель игры.

Даже несмотря на то, что с момента появления первых игровых аппаратов прогресс ушел вперед, принцип и надежность генератора случайных чисел остаются неизменными. Механизм регулярно дорабатывается, учитывая особенности современного игрового программного обеспечения.

В создании генератора случайных чисел принимали участие математики, программисты и даже психологи, и существовали подобные генераторы с давних времен — их надежность проверена временем.

Тот генератор, который используется сегодня — это разработка профессора Массачусетского технологического университета, которая представляет собой 128-битный алгоритм md5. При этом используется она не только в онлайн-слотах, но и в охранных системах и персональных компьютерах.

Можно ли доверять ГСЧ

В интернете можно найти программы, которые якобы могут предугадывать будущие комбинации, но на деле они не работают. Что действительно такие программы могут сделать, так это украсть данные игрока, поэтому от их использования стоит воздержаться.

Вот от чего воздерживаться не обязательно, так это от проверки программного обеспечения. Такой тактики придерживаются все ответственные производители игр, предоставляя софт на тестирование известным и надежным лабораториям:

Софт проходит серьезную проверку, в ходе которой исключается использование любых манипуляций, а значит можно с полной уверенностью утверждать, что играть в слоты, прошедшие такую проверку, безопасно, и никакого обмана нет.

Логика работы ГСЧ

Первое, что можно отметить, это то, что у механизма слотов нет памяти. Компьютер не знает, выиграл ли игрок или проиграл, сел ли он за игру 5 минут назад или играет несколько часов. Комбинации определяются путем математических алгоритмов.

Важно, что результаты игры не приводит к какому-то запланированному или “логичному” результату — это просто последовательность комбинаций. Например, технически человек может выиграть два джекпота почти подряд, хотя это выглядит неправдоподобно. Другое дело, что это маловероятно, ведь количество возможных комбинаций, генерируемых программой, огромно, учитывая то, что каждая комбинация состоит из 32-ух шестнадцатеричных символов.

Когда игрок начинает игру, механизм выдает по сто случайных чисел в минуту, которые означают определенную комбинацию. То, какие числа будут выбраны генератором в момент клика на кнопку, и определяет, какие символы появятся на экране. Таким образом, единственное, как игрок может “повлиять” на исход игры — это выбрать момент, в который жать на кнопку. На деле же это чистая удача. Когда результат появляется на экране, система мгновенно считает, сколько игрок выиграл или проиграл, и обновляет информацию о его балансе. Во время фриспинов и бонусных раундов работает та же самая система.

Заключение

Таким образом, логика работы онлайн-слота заключается в том, что логики нет. Генератор случайных чисел потому так и называется, что шансы на выигрыш случайны, и частота выигрышей зависит от правил конкретной игры, которые можно узнать у оператора.

Алгоритм и система работы слот автоматов в онлайн казино

В памяти многих людей остались «однорукие бандиты», стоящие в переходах и небольших кафе, где можно было бросить монету и попытать счастье. Алгоритм работы игровых автоматов с тех пор существенно изменился, ведь на смену ему пришли новые технологии.

Несмотря на процветание наземных казино, многие игроки потянулись в интернет-пространство, где доступны разнообразные автоматы от известных разработчиков игрового софта. В этой статье команда Slotegrator предлагает разобраться в принципах работы слотов, которые нужно знать каждому оператору онлайн-казино.

Как устроены игровые автоматы?

Известные всем «однорукие бандиты» ранее были электромеханическими. Игрок дергал ручку, барабаны вращались, а затем останавливались на некоторых картинках благодаря тормозной системе с определенным алгоритмом. Датчики анализировали выпавшую комбинацию и выдавали выигрыш в случае совпадения символов. Позднее электромеханические слоты заменили электрические. Барабаны приводились в движение электродвигателем, пока не были вытеснены электронными игровыми автоматами.

Современные игровые автоматы имеют электронную начинку — процессор со встроенным генератором случайных чисел (ГСЧ). Таким образом, становится понятно, как работает слот в казино: генератор выдает случайные числа, соответственно, выпадающие комбинации на барабанах нельзя предугадать.

Можно ли доверять ГСЧ?

Генератор случайных чисел защищен криптостойким 128-битным алгоритмом MD5. Данный алгоритм, разработанный профессором Массачусетского технологического университета, широко используется в электронных охранных системах.

Несмотря на то, что алгоритм создан несколько десятилетий назад, взломать его достаточно сложно. К тому же он постоянно совершенствуется: используются новейшие решения, которые делают алгоритм надежно защищенным от мошенников.

Разработчики игрового софта исключают возможность перепрограммирования чипов уже на стадии их выпуска. Они утверждают, что теоретически взлом игровых автоматов с ГСЧ возможен, но на практике такого не случалось. Таким образом, благодаря алгоритму MD5 онлайн-казино не может повлиять на результаты игры, обеспечивая случайность выпадающих комбинаций. Это гарантирует лояльность гемблеров к азартному ресурсу, а также защиту казино от мошенничества со стороны игроков.

Разновидности слотов

Современная индустрия выпускает огромное количество игровых автоматов, имеющих разное тематическое оформление, сюжетные линии и бонусные функции.

Зачастую производители выпускают игровые автоматы в виде слотов с тремя или пятью барабанами. На них может быть нанесено 20-25 и больше различных символов, внешний вид которых зависит от тематики слота.

Многие разработчики используют в играх спецсимволы, повышающие привлекательность автомата для гемблеров – wild, scatter, bonus, joker и другие. Часто они приносят крупные денежные вознаграждения и открывают доступ к новым призовым уровням.

Благодаря лояльным бонусным системам оператору онлайн-казино легче привлечь пользователей на свой игорный ресурс и тем самым завоевать их доверие.

Призовые линии и процент выплат

Размер выигрыша гемблера зависит от величины ставки и выпавшей комбинации. Существуют игровые автоматы с небольшими ставками (иногда менее $1) и частыми призами, доступные широкому кругу геймеров, а также – с более дорогими спинами, начинающимися от $5. Зачастую слоты второго типа используются хайроллерами (гемблерами, которые делают исключительно высокие ставки).

В игровые автоматы закладываются выигрышные комбинации, которые выпадают на фиксированных призовых линиях или в свободном порядке. Число линий выплат может варьироваться от 5 до нескольких сотен. Удачные комбинации начинаются от 2-3 одинаковых изображений, выпавших на активных линиях. В случае выигрыша призовая цепочка подсвечивается, а на счет игрока начисляются бонусы или реальные деньги.

Для азартных игроков очень важным фактором является отдача игрового автомата (Return To Player). Законодательства многих стран требуют, чтобы уровень RTP составлял не менее 90%, поэтому ведущие производители игрового софта стараются выпускать слоты с возвратом до 98%. Среди них стоит выделить такие известные компании, как Microgaming, Endorphina, Habanero и другие. Выбирая игры для онлайн-казино от лучших провайдеров, вы обеспечите успех вашего проекта и преданность игроков.

Алгоритм работы слота на примере игры Taboo от Endorphina

Разберем основные аспекты работы игрового автомата на примере слота от известного провайдера Endorphina. Игра Taboo имеет достаточно высокий уровень возврата – RTP 96% и полностью оправдывает свое название.

С первых секунд она погружает в атмосферу азарта благодаря яркой заставке с изображением каблуков и плетки. После запуска слота открывается игровое поле с 5 барабанами на 3 строки.

В верхней части экрана находится игровой банк и удобное меню с правилами игры, распределениями выплат, а также настройками звука, языков и других параметров.

В нижней части есть панель со следующими показателями:

  • размером ставки, которую можно регулировать кликами мыши (от 1 до 250 €);
  • количеством выигрышных линий на выбор гемблера (от 1 до 25);
  • общей суммой ставки, зависящей от числа активных линий;
  • размером текущего выигрыша.

Также на данной панели присутствуют кнопки:

Turbo – ускоренная игра.
Auto – режим автоматической игры, может превращаться в Take Risk при выпадении выигрышной комбинации. Конфигурация авторежима регулируется в меню.
Spin – ручной запуск барабанов.

На игровом поле гемблеры найдут различные иконки: кожаные плетки, наручники, туфли, золотые буквы на черном фоне, а также бонусные символы Wild и Scatter.

При выпадении на барабанах 3,4 и 5 трех картинок Bonus запускается специальная функция Triskele Wheel Game и открывается игровое колесо с различными секторами. В каждом из них находятся мультипликаторы: X10, X12, X15, X20 и X25. При этом у игроков есть шанс забрать текущий выигрыш или использовать 3 попытки, чтобы увеличить победу.

Если гемблер попадает на бонус-сектор, в слоте автоматически запускается еще одна интересная функция – Red Room Bonus. Это специальная игра с 5 уровнями, где нужно выбирать 1 из 5 объектов, расположенных на экране. В ходе бонус-игры на каждом уровне пользователь будет получать ответы:

Yes – игрок сделал правильный выбор;
No – гемблер не получает приз за текущий уровень;
Stop – бонусная игра завершена.

В игровом автомате Taboo также предусмотрена карточная игра на риск, в которой можно удвоить выигрыш до 10 раз. Гемблерам необходимо побить карту дилера путем случайного выбора одной карты из четырех предложенных. Если у игрока и дилера выпадают равные по масти карты, – игра продолжается. Если гемблер хочет отказаться от Risk Game и сохранить текущий выигрыш, – необходимо нажать кнопку Take Win.

Подведем итоги

На примере слота Taboo, выпущенного компанией Endorphina, можно увидеть, насколько интересны современные игровые автоматы. И хотя алгоритм работы слотов основан на схожих принципах, все они отличаются тематическим оформлением, интересными сюжетными линиями и бонусными функциями. Ведущие разработчики стремятся создать как можно больше вариантов игр, чтобы не терять интерес гемблеров и каждый раз впечатлять их новинками.

Чтобы ваш ресурс онлайн-казино всегда оставался успешным и востребованным, необходимо постоянно обновлять имеющийся софт, выбирая только лучшие лицензированные продукты.

Наша компания предлагает игры от мировых провайдеров, которые можно получить всего за 1 интеграцию с помощью услуги APIgrator. Узнать детали подключения софта и получить выгодное коммерческое предложение вы можете у менеджеров Slotegrator.

Генетический алгоритм учится играть

Дубликаты не найдены

Для меня штучный интеллект до универа был if-else

И всё? Я уж думал в конце эпик увидеть

через несколько лет это может превратится в робота Чаппи.

это ты сам придумал или он так реально сказал? есть ссылка на видеоо?

«не знают, что это за игра, как стрелять, двигаться и что делать»

Похоже на мою жизнь.

В своё время был похожий проект — «Амёбы», проводилась рандомная мутация в огромной популяции и серия «спаррингов» для определения наиболее удачных. И так пока человек не нажмёт «стоп». Конечный результат можно было скинуть на чемпионат и узнать результат или посмотреть реплеи, как вашего «чемпиона» жестоко избивают. Вот если разводить популяцию на серваке.

В вк помню игра была «битва амеб», это типа демоверсии, а на сайте были инструкции и тд и тп, очень годная игрушка, залипал в нее много, жаль, со смертью винта потерял своих детишек, да и проект вроде уже пару лет как умер. Если есть похожие — дайте знать, очень интересно это, генетические игрушки :)

Судя по описанию то что ищете. Даже не знал про подобный жанр симуляторов) Немного залип

оставлю коментарий ,чтобы вернуться

Народ требует ссылку.

Напишу в этой ветке — давным давно была игрушка какая-то, там персонаж получал с уровнем случайное оружие и соучайные умения рандомом, и можно было в итоге получить имбу, или напротив какой-то УГ. Играл в году так 2006. Знаю, описание не особо конкретное, но может кто играл в одобное и помнит, как она называлась.

My brute она называется. Успех достигается за счет кучи фейковых акков, зареганных как реферралы.

О, точно) Благодарю, вчера весь вечер пытался вспомнить)

«Зачем нам убивать друг друга? Давай убивать человеков!»

Случайным образом меняют параметры модели, проводят симуляцию, выбирают модель с самым удачным результатом. Это и есть генерация. Далее случайно меняют выбранную модель и проводят следующую симуляцию.

Удачнее всё-таки будет сказать поколение, нежели генерация.

Возможно, проблема перевода. Я не знаток лингвистики и не знаю, как связаны понятия «генерация» и «поколение», возможно, это одно и тоже

«Генерация» и «поколение» в русском языке практически никак и не связаны, но зато «generation» может переводиться на русский как «поколение»

Что значит «может»?

Оно так и переводится.

Я отвечал на вопрос Kriuger.

это что, эволюция.

Да. Наследственность, изменчивость, отбор — всё как у людей. :)

«Игрок» поощряется за попадание в соперника и видимо за уклонение от снарядов.

В первом поколении «Игроки» не знают что делать и просто нажимают разные кнопки хаотично. Те «игроки» которые изредка попадали в соперника, становятся «родителями» следующего поколения. Так проходит естественный отбор нужных качеств.

В конечном итоге в 55 поколении «Игроки» отлично стреляют и уклоняются от снарядов.

0:53 — 360 No Scope !!

мм. SkyNet — начало?

Когда у нас был предмет где всякие клеточные автоматы , Генетические алгоритмы , для меня все это казалось такой магией )

Шах и мат, креационисты!

ну причем тут нейроэволюционная технология? автор, такого слова даже нет.
Это обычный генетический алгоритм отбора.

В видео ясно сказано, что используются нейронные сети и генетический алгоритм отбора этих сетей. Так что да, нейроэволюция)

Интересно, как долго ждать ботов-врагов в игрушках на основе этого, я бы поиграл в что-то типа дарк соулса с обучающимися врагами

Моя девушка так же играет

У меня для тебя плохие новости.
Твоя девушка — всего лишь робот.

за красного болел

https://www.youtube.com/watch?v=qv6UVOQ0F44 У Сета Блинга веселее алгоритм, он у него учится играть в Марио.

http://www.twitch.tv/sethbling а тут уже 3 дня идет стрим, как этот же алгоритм учится играть в Super Mario Cart 64.

Такое ощущение, что это итерации алгоритма для какой-то игрушки.

Потому что как-то осталось за скобками, зачем надо стрелять, зачем надо двигаться, зачем надо уворачиваться, зачем надо видеть другого.

Те же вопросы можно задать и людям :)

Зачем двигаться, зачем размножаться и даже зачем стрелять

Если не двигаться, не размножаться и не стрелять, то с высокой вероятностью умрёшь.

Но там же таких установок нет.

Да, согласен, там не сказано как именно определяется эффективность действия.

Может быть считается нанесённый урон и полученный, затем разность и так выходит эффективность, но всё это гадания.

«Игрок» поощряется за попадание в соперника и видимо за уклонение от снарядов.

В первом поколении «Игроки» не знают что делать и просто нажимают разные кнопки хаотично. Те «игроки» которые изредка попадали в соперника, становятся «родителями» следующего поколения. Так проходит естественный отбор нужных качеств.

В конечном итоге в 55 поколении «Игроки» отлично стреляют и уклоняются от снарядов.

как читаки с аимом

Очередное разводилово с искусственным интеллектом. Кому то денег не жалко. А кому-то не жалко того, кому этих денег не жалко :)

Потому что западная наука это чистый бизнес. Потому что западная наука имеет смутное представление о устройстве мозга и на этой мутной основе пытается что-то придумать.

Я бы не хотел сейчас вдаваться в подробности об устройстве мозга и в частности интеллекта и почему воссоздать что-то подобное невозможно в ближайшие тысячу лет (утрированно).

Но есть огромное колличество свободного многомиллиардного капитала, который можно использовать, который можно обмануть и убедить вложить в свой проект А для пущей убедительности назвать этот проект исскуственным интелектом. Хотя до интелекта там как раком до Китая. Чистая комбинаторика. Какие нахрен нейроные сети. Они там сума сходят. До сих пор верят что суть интелекта — это нейронные сети, клоуны :) Верней хитрецы :)

История развития ИИ в играх: эволюция, алгоритмы, хардкор

Как развивался игровой ИИ на протяжении десятилетий

Искусственный интеллект — симуляция человеческого мышления. Это определение уместно и к игровым ИИ, ведь времена меняются, как и методы алгоритмизации игрового искусственного интеллекта. Невозможно представить NPC в AAA проекте, ИИ которого соответствовал бы уровню первого Wolfenstein. Нет, нет и нет, не тот шутер от первого лица, а самый настоящий Castle Wolfenstein, который помнят только истинные олдфаги. Сегодня технологии ИИ в современных играх действительно хороши, но, если вы прыгнете на камень перед Яо-Гаем в Fallout 4, он просто охренеет от жизни и будет ломать свою искусственно-интеллектуальную голову. А с чего же всё начиналось? Об этом мы также расскажем в данной статье.

Ну что, олды здесь? Если все собрались, то мы начинаем. Приветствуем всех Стопгеймоградцев! Сейчас мы поговорим об Искусственном Интеллекте в видеоиграх и истории его развития. В трёх словах о том, что ждет вас дальше: определения, факты и история.
Поехали!

По-сути, искусственный интеллект не представляет собой ничего, кроме набора алгоритмов, которые он должен выполнять при условиях в стиле «если это меньше, чем то, тогда не выполнять действие«. В итоге, создаётся довольно неплохая иллюзия реакций и рационального человеческого мышления, но это, повторюсь лишь набор исполняемых команд, но чем он обширней и продуманней, тем реалистичнее ощущается NPC. Самый удачный пример — это чужой из игры

Alien: Isolation

Откладывать кирпичи вы начнете не столько от его жуткого вида и походки, как от реалистичного поведения. Видно, что разработчики знатно постарались над игрой в этом плане. Возможно, причиной тому служит то, что это единственный NPC в игре и на его разработке можно было сосредоточить все свои силы и навыки. Этот гладкоголовый парниша может обвести вас вокруг пальца, дав вам знать, что вот, друг мой, я пошёл в этот сектор корабля искать твою тушу, но как только ты выйдешь у меня за спиной, то можешь меня ждать в ближайшей вентиляции.

А теперь обратимся к истокам

Концепт ИИ зародился ещё в далёком 1956 году, а определение не было связано напрямую с понятием интеллекта, да и вообще русский язык, ака великий и могучий, не способен в двух словах передать суть этого определения точнее. На английском это звучит, как artificial Intillegence, что из контекста означает «искусственное рациональное мышление».
Что ж, раньше система была намного проще. Первый бот в видеоигре был введён в 1951г, за 5 лет до самого определения концепции ИИ. Он создавался для игры в шахматы и представлял собой сравнительно простой список алгоритмов, так что в мире современных игр оказался бы наравне, разве что, с твоими тиммейтами и легкими ботами из Counter-Strike. Кстати говоря, шахматные программы для роботов до сих пор совершенствуются и используются даже на чемпионатах среди роботов из разных стран. Только вот я не интересовался этой темой так, чтобы посмотреть хотя бы одну подобную игру. А интересно, был ли случай, когда роботы застревали в условии бесконечного цикла? (¬‿¬ )
К слову, первые видеоигры 60-х и 70-х, в большинстве своём, не имели NPC, а были созданы как игры для двух игроков.

Системы игрового ИИ

Пытался расписать для вас эту схемку как можно яснее и проще :)
(Шрифты — Ovsyanka и Muller)

Их можно условно разделить на два типа — локальный и глобальный.
Локальный — это ИИ отдельной единицы, как например, солдат или автоматический механизм. Такие системы состоят из основных четырех элементов:
1.Ввод информации
2.Память
3.Модуль принятий решений
4.Система реагирования на запросы.
Первый элемент отвечает за то, чтобы объект воспринял все факторы окружающего мира: местонахождение цели, наличие препятствий, звуки и т. д. Принимая во внимание внешние факторы, объект, благодаря вычислениям, решает, что ему делать в следующий момент времени. NPC, патрулирующий местность, должен перемещаться по заранее указанным линиям, проверяя наличие объекта (например… вас).

Если он (NPC) заметил врага, то алгоритм, заданный системой, подает новый сигнал, говорящий о том, что этот парень (ты) попался в поле твоего обзора и теперь тебе нужно его атаковать, либо смотреть на него ещё 10 секунд, а потом, когда он исчезнет, проговорить реплику в стиле «О боже, что это было?». И нет, это не отсылка на суперский «интеллект» NPC серии игр Far Cry :)
ИИ также должен правильно оценивать обстановку и принимать решение об отступлении или атаке.Самое интересное, что в роли ИИ может выступать даже локация. Допустим, комната из Skyrim, в которой нужно было выставить плиты в определённом порядке. Алгоритм себе можно представить так:

Да, эта система 100% куда сложнее, но в общей картине это выглядит так. Что ж, надеюсь, объяснил доходчиво :)

Глобальный ИИ в стратегиях, например, управляет армией NPC, НО все боты, находящиеся в группе, вольны выполнять отдельные действия, заданные алгоритмами в рамках глобального ИИ. То есть, если мы ввели войска на определенную территорию и приказали им атаковать, то некоторые солдаты могут впасть в бегство/занять место в укрытии, так как состояние здоровья находится на минимуме.

Охота на Вампуса

Немного о неумирающей классике

В игре присутствует несколько видов привидений:

Именно в этой игре ИИ был наиболее развитым, в сравнении с теми проектами, которые выходили с Pac-Man в одно время.

Появление легендарных серий файтингов

Вы нашли ну очень мощную комбинацию за персонажа из Tekken, повторяете её уже 3 раз за раунд, предвкушая победу, но тут ехидный ИИ осознаёт, что нужно подбирать другой метод подхода к вам и начнет либо атаковать вас в прыжке, либо блокировать удары с последующей контратакой. Проще говоря, NPC начинает искать альтернативные пути выхода из ситуации, анализируя ваши действия, что зачастую усложняет игру. Хотя файтинги того времени, как и сейчас, были рассчитаны больше на противостояние двух реальных игроков, но даже при тех условиях, ИИ тогда был весьма хорош.

Golden Eye 007

В 98 году вышла игра Golden Eye 007, преподносящая геймеру довольно продвинутый искусственный интеллект. NPC активно реагировали на ваши движения и стрельбу, прячась в укрытия. Также враги отлично подбирали момент для метания гранат под ноги, но огромный минус неписьного разума был в том, что они точно знали ваше местоположение, где бы вы ни были. Да, ещё я много раз слышал про то, что с этой игры и пошёл прикол с увеличенными головами врагов. Насколько я помню, нужно было пройти миссии либо за определённое время, либо выполнив определённые условия и… да здравствует фан и вакханалия!

FarCry 1

Позднее вышедший Far Cry был очень хорош, так как NPC адаптировались под ваш стиль игры. При обнаружении протагониста, враги выслеживали вас и прочесывали местность, где видели главного героя в последний раз, в случае, если они его потеряли. Если враг найдет чей-то труп, то он поднимет тревогу, что в принципе логично, но иногда система давала сбой и боты могли даже спокойно пройтись по трупам своих товарищей, ничего не заметив. Не, ну а что, лежит и лежит, я-то тут причём? Стелс, как и в 5 части являлся самым интересным путём прохождения. Также, что почти не поменялось — уровень продуманности игрового интеллекта, который в 2004 году восторгал души геймеров, но сейчас это выглядит нереалистично, хотя поначалу этим можно воспользоваться, издеваясь над бедными неписями.

F.E.A.R., вышедший в 2005-м очень порадовал игроков и игровых аналитиков, своим искусственным интеллектом. Отличало F.E.A.R. от других игр похожего типа — превосходно продуманное поведение врагов. Главное преимущество над NPC других проектов заключалось в том, что они действовали сообща. Не просто бездумно пёрлись в одну точку толпой, а тактично распределялись между укрытиями, используя определенные тактики для выкуривания вашего персонажа, ставя вас в неудобное положение. ЭТО и является примером глобального ИИ, когда команда работает в одной связке, в рамках указанных действий. К слову, если кто не играл в этот шшшедевр, то настоятельно рекомендую хотя бы попробовать, потому что весит игра довольно мало, но она того стоит!

А что же Left4Dead?

Зомби в этой игре — довольно тупые создания. Мы будем говорить сейчас не о них, а как раз-таки о глобальном ИИ. Да, здесь есть уровни сложности, но они влияют больше на количество врагов и вашу чувствительность к урону. Система адаптации сложности, названая Valve «режиссёр», тщательно проверяет ваш «скилл», после чего определяет, когда послать на вас орду зомби, вызвать Танка или в несколько неудобном для вас и вашей команды положении, поставить Ведьму. Так что каждое прохождение является по-своему уникальным. В этом матче, ты — подстилка под сотню Жокеев, а в следующем — он только раз всплывал и лишь единожды за игру, чуть не изнасиловал твоего тиммейта. Однако это не спасло проект от гибели, так как даже «режиссёр» через какое-то определённое время засел в печёнках у каждого игрока.

Akinator

Это хоть и не видеоигра, а скорее уж приложение сделанное в развлекательных целях, которое почти всегда угадывает загаданные вами вещи или людей, задавая вам определённые вопросы. Те, кто сталкивался с Акинатором, наверное, хоть раз удивлялись тому «Как оно, блин, работает?». Сам Акинатор представляет из себя базу данных, которую можно представить в виде разветвляющейся блок-схемы с элементами рандома. Потому что в зависимости от нашего ответа «да», «нет» или «затрудняюсь ответить» этот восточный парниша выводит нас на один из следующих вопросов, соответствующих условию ответа и блок-схемы. Этот текст я написал спонтанно, поэтому не знаю, насколько хорошо я объяснил, но как мне кажется, что это удачный пример на тему Искусственного Интеллекта.

Алгоритмы, применяемые при разработке игр.

bllem

Guest

А какие вы знаете/применяли?

Начну. Самая большая проблема в играх — поиск пути (будь то боты, или управление персом в логической игре). Яркий пример игра Герои меча и магии.

Мой способ решения: Создается дополнительный массив такого же размера. Далее пошаго во берется отточки отсчета все точки вокруг, на которые можно ступить, и проставляются туда 1, дальше от каждой единицы в каждую свободную, и еще н занятую числом клетку выставляется число 2 и тд. Думаю, где путь увидеть не сложно

Пример
1111111
00011Х1
1011101
1000001
1000001
1111011

FEOFAN

http://feofan.com
Member

Довольно много полезных алгоритмов. Есть что почитать.

Изучал алгоритм поиска пути, когда писал скрипты для UO (но было это давно, ничего не осталось). За основу брал

bllem

Guest

Есть вопрос по вышке (скорее всего).
У меня есть декартова система коордиат в пространстве (xyz), и плоскость, поделенная на сектора (квадраты), каждый квадрат 5х5 юнитов. Нужно, знаяя только координаты мыши на экране вычислить на какой квадрат (массив (-беск.;+беск)) попала мышка.

Пробовал решать через отношение между вектором OZ и вектором камеры, но мало что выходит.
Пробовал находить производную от уравнения вектора камеры (tg угла наклона к OX), и расчитывать исходя из этого отношения как с обыной плоскостью, но опять же не выходит.

Dre.hz

Active Member

Довольно много полезных алгоритмов. Есть что почитать.

Изучал алгоритм поиска пути, когда писал скрипты для UO (но было это давно, ничего не осталось). За основу брал

GrAndSE

Тёмный

Муравьи и математические алгоритмы

Алгоритм, описываемый в этой статье необходимый для оптимизации процесса разработки GPS сетей, базируется на поведении муравьев — «провизиантов». Муравьиная колония разрабатывает сеть оптимальных маршрутов (кратчайших и быстрейших) к источникам пищи используя вероятностный метод проб и ошибок. Муравьи — «провизианты» отмечают свои маршруты с помощью выброса химических веществ, называемых феромонами, варьируя их количество в зависимости от качества пищи и удаленности от гнезда. Муравьи, находящие кратчайший маршрут, могут возвращаться назад и курсировать между гнездом и источником пищи, накапливая на маршруте более высокий уровень феромонов при каждом проходе. Другие муравьи, находя феромоновый след, начинают следовать ему и закрепляют его добавочными феромонами.

Такое поведение является формой автокаталитического действия: чем больше муравьев следуют по маршруту, тем более привлекательным он становится. Поведение муравьев вызвало появление алгоритма оптимизации муравьиной колонии (ACO), разработанного Marco Dorigo из IRIDIA и успешно применяемого для решения многих комплексных задач оптимизации. Основная идея, лежащая в основе алгоритма ACS заключается в использовании механизма положительной обратной связи, который помогает найти наилучшее возможное решение в сложных задачах оптимизации. Результаты, получаемые при применении алгоритмов, основанных на действиях муравьиной колонии, так же хороши, как и при применении алгоритмов, основанных на метаэвристических алгоритмах общего назначения. Алгоритм ACS, являющийся частным случаем ACO, использует колонию виртуальных муравьев, ведущих себя как кооперативные агенты в математическом пространстве, в котором они могут искать и подтверждать найденные пути (решения) в целях поиска одного наиболее оптимального. Эти пути могут содержать в себе очень много информации. Наши искусственные муравьи имеют некоторую память и не действуют вслепую. Кроме того, мы принимаем, что время дискретно, а не непрерывно. В рамках алгоритма ACS, где каждый муравей двигается по замкнутому маршруту, количество феромонов вдоль маршрута увеличивается в зависимости от качества решения, найденного муравьем.

Структуры данных и алгоритмы

Содержание раздела

1. Эффективность алгоритмов (нуждается в переписывании, можно не читать). Перейти.
2. Стеки и очереди. Перейти.
3. Связные списки. Часть 1. ПерейтиПерейти.
4. Битовые шкалы.
5. Сортировка методом пузырька.
6. Рекурсия. Ханойская башня.
7. Связные списки. Часть 2. .
8. Графы.

Материал из данного раздела вступит в игру, когда мы освоимся с уроками из других разделов. И тем не менее, уроки представленные здесь чрезвычайно важны.

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

Роботы Образование Творчество

  • Министерство образования и науки РФ
  • Дошкольное образование
    • Конструирование
      • Конспекты
      • Программы
      • Дневник педагога
      • Метод копилка
    • Робототехника
      • Программы
      • Конспекты
      • Метод копилка
    • Исследовательская деятельность
      • Программы
      • Конспекты
      • Метод копилка
    • Руководителям ДОУ
    • Кейс конспектов «ЖУРАВЛЁНОК»
  • Основное образование
    • На уроках физики
    • На уроках технологии
      • Современный урок технологии
        • Материалы к августовским совещаниям
        • Проектная деятельность на уроках
        • Методическая копилка
        • Анонс
        • Прошу слова!
        • Интервью
    • На уроках информатики
    • На других уроках
    • Начальное образование
      • Личный взгляд
      • Уроки
      • В центре внимания
  • Дополнительное образование
    • Техническое творчество
    • Водородный клуб
    • Художественное творчество
      • Декоративно-прикладное искусство
      • Изобразительное искусство
      • Шитье и вязание
      • Дизайн
    • Сборка роботов
    • Программы
    • Дневник педагога
    • Новости дополнительного образования
  • Инклюзивное образование
    • Реабилитационная робототехника
    • Дети с нарушением слуха (глухие, слабослышащие, позднооглохшие)
    • Дети с задержкой психического развития
    • Дети с нарушением речи (логопаты)
  • Соревновательная робототехника
    • РОБОФЕСТ
    • Всероссийская робототехническая олимпиада
    • Word Robot Olimpiad
    • ИКаР
    • ИКаРёнок
    • Документы в помощь педагогу-робототехнику
    • Документы к соревнованиям
    • «РОБОСПОРТ»
  • Дистанционные конкурсы

Как познакомить дошкольника с понятием «Алгоритмика»? Как просто объяснить, что такое цикличность и программирование. Своим педагогическим опытом в этой области делится Гульнара Минзабировна Хисамутдинова, воспитатель МАДОУ «Детский сад №7» городского округа Красноуральск.

«Каждый человек должен учиться программировать,
потому что это учит нас думать»

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

Раскрывая понятие программирование, как процесса создания компьютерных программ, ключевыми непосредственными задачами которого являются создание и использование алгоритмов.

Алгоритмика – это наука, которая способствует развитию у детей алгоритмического мышления, что позволяет строить свои и понимать чужие алгоритмы. Поэтому в своей деятельности считаю важным уделять внимание умению видеть, понимать и использовать алгоритмы в робототехнике.

Изучая алгоритмику, дети развивают умение планировать этапы и время своей деятельности. Развивают умение разбивать одну большую задачу на подзадачи. Дети способны оценивать эффективность своей деятельности. Алгоритмика даёт возможность понять буквально, что такое последовательные действия.

В своей работе я попробовала выстроить поэтапное вхождение в алгоритмику, в зависимости от возрастных особенностей детей.

Анализ психолого-педагогических предпосылок формирования алгоритмических умений у детей дошкольного возраста показал, что дошкольники второй младшей группы еще не способны к усвоению алгоритмов, они не могут продолжительное время удерживать цель и план деятельности, точно следовать образцу, инструкции, основы алгоритмической деятельности для них еще трудны. Поэтому в этом возрасте проводила подготовительную работу по формированию данных умений. Под моим руководством в процессе игровой деятельности дошкольники осваивали нормы и правила поведения за столом во время еды, правила умывания, культурно-гигиенических навыки по использованию предметов личной гигиены, то есть действия, носящие алгоритмический характер.

Целенаправленную работу по формированию алгоритмических умений начинала со средней группы. В своей практике с детьми я использую линейные алгоритмы. Это алгоритмы, в которых все действия выполняются однократно, последовательно, в заданном порядке. Например, алгоритм кормления рыб в аквариуме: 1) взять корм, 2) открыть крышку аквариума, 3) насыпать корм в кормушку, 4) закрыть крышку аквариума, 5) постучать по стенке аквариума. В процессе работы дети учились осмысливать линейные алгоритмы и применять их в образовательной деятельности и повседневной жизни.

Алгоритмическое мышление непосредственно связано с логическим мышлением, а также, с умением мыслить абстрактно. Поэтому в своей работе я также использую лабиринты. Лабиринт – это головоломки с различными вариантами сложности. Начинаю знакомство детей с лабиринтов-веревочек, лабиринтов-ниточек, где всего один путь следования. Например, ребенку предлагается помочь зайчику найти морковку или помочь девочке дойти до дома. Ребенок, используя пальчик, карандаш или небольшие фигурки проводит по веревочке от начала пути до конечного пункта назначения.

Потом задания усложняются, в лабиринте появляется дополнительная дорожка-веревочка, на которой появляется препятствие. Например, помоги мышонку найти маму, не попав в лапы кошки. Затем переходим к лабиринтам-дорожкам, где появляется множество вариантов прохождения от входа до выхода. Ребенок учится ориентироваться в пространстве, обобщать и анализировать, развивает интеллектуальные способности, контролирует свои действия.

В своей практике использую напольную авторскую дидактическую игру «Напольный лего-алгоритм». В игре имеется игровое поле, которое разбито на квадраты, в каждом изображен рисунок и набор карточек с изображением картинок, которые используются на игровом поле. Обучение игре проходит в несколько этапов.

На 1 этапе обучения игры, ребенку предлагаю пройти по полю от клетки-старта к определенному предмету (например, кукла), передвигаясь по квадратам. Но сразу оговаривая, что двигаться можно только по вертикали и горизонтали. Затем прошу ребенка пройти по клеткам к заданному предмету, проговаривая при этом названия предметов изображенных в клетках.

На 2 этапе, помимо прохождения пути, ребенку предлагаю откладывать по порядку карточки с изображением тех предметов, по которым он передвигается. Затем, совместно с ребенком, просматриваем пройденный путь. Потом ребенку предлагаю пройти по пути, который выстроен воспитателем.

На этом этапе идет знакомство и изучение построения первых алгоритмов движения. Ребенок принимает на себя роль РОБОТА, выполняет последовательность своих действий или действий, предложенных воспитателем.

Далее ребенку предлагаю самому выстроить маршрут движения, а другому ребенку его пройти. Ребенок осваивает в игре роль ПОМОЩНИКА, помогая передвигаться по полю другому роботу.

На 3 этапе названия предметов заменяются на направления: вперед, налево, направо. Если возникала трудность в усвоении действий направо, налево, то я использовала визуальные ориентиры, например, круг синего цвета размещала слева от ребенка, круг желтого цвета размещала справа. Следовательно, действие (команда) налево выполняется как поворот в сторону синего круга, действие направо как поворот в сторону желтого круга.

В старшем дошкольном возрасте работу начинаю с использования циклического алгоритма. Это алгоритм, в котором определенная последовательность действий повторяется несколько раз, пока не будет выполнено заданное условие. Например, предложить ребенку собрать ягоды в корзину на поляне, выполняя предложенный алгоритм. 1) взять одну ягоду положить ее в корзину; 2) взять другую ягоду положить в корзину и т.д. пока не закончатся ягоды, а потом принести корзину домой. Происходит знакомство с понятием цикл и принципом построения циклического алгоритма.

Затем провожу знакомство с разветвляющимся алгоритмом. Это алгоритм, в котором проверяется некоторое условие; если оно выполняется, то осуществляется одна последовательность действий, если нет, то другая. Например, предложить ребенку помощь разделить красные и синие шары: 1) берем шар; 2) проверяем условие – «Шар красный?», 3) если да, то кладем шар в правую корзину, если нет, то в левую.

Благодаря Циклическому и разветвленному алгоритму формируются первоначальные умения по составлению алгоритмов различных видов, происходит формирование умения осуществлять целеполагание, контроль, коррекцию и рефлексию.

В старшем дошкольном возрасте использую лабиринты, но более усложненные, по принципу разветвляющегося алгоритма. С помощью этих лабиринтов ребенок не только сам проходит путь (заранее составленный) по маршруту движения, но может и сам составить свой маршрут движения для других ребят.

Усвоить элементарные навыки алгоритмической культуры мышления помогает развивающая игра Блоки Дьенеша. Например, выкладываю перед ребенком 8 логические блоков Дьенеша и, пока он не видит, под одним из них прячу «клад» (монетку, камешек, вырезанную картинку и т.п.). Ребенок задаёт мне наводящие вопросы, а можно отвечать только «да» или «нет»: «Клад под синим блоком?» — «Нет», «Под красным?» — «Нет». Ребенок делает вывод, что клад под желтым блоком, и расспрашивает дальше про размер, форму и толщину. Затем «клад» прячет ребенок, а взрослый задает наводящие вопросы. В игре в домино фигуры делю между участниками поровну. Каждый игрок поочередно делает свой ход. При отсутствии фигуры ход пропускается. Выигрывает тот, кто первым выложит все фигуры. Ходить можно по-разному: фигурами другого цвета (формы, размера).

Далее ребенку предлагаю выложить блоки Дьенеша по начерченной схеме-картинке, например, нарисован красный большой круг, за ним синий маленький треугольник и т.д.

Затем добавляю усложнения, где задания выполняются с использованием символов-знаков игры. Например, найди фигуру, используя карточку-подсказку, которая красным цветом, большая, толстая, треугольной формы. В дальнейшем ребенок сам создает карточку-подсказку. Более сложное задание-лабиринт, где ребенку нужно пройти путь по схеме-маршруту. В игре используется принцип разветвленного алгоритма.

В игре с блоками Дьенеша ребенок учится логически мыслить, осознавать пространство, настойчиво идти к достижению цели, справляться с трудностями, проявлять инициативу, выполнять мыслительные операции. В игровой деятельности дети знакомятся с основными принципами кодирования (зашифровывания) и декодирования (расшифровывания) блоков по их свойствам.

После того как дошкольники освоили основы алгоритмики, ввожу игру «Занимательная алгоритмика». Игра предназначена для составления алгоритма маршрута движения исполнителем (фигурки человечка). Ребенку необходимо в таблице выложить из пиктограмм программу маршрута движения исполнителя согласно полученной индивидуальной схеме.

Для обыгрывания задания ребенок использует фигурки человечков. Ребенок размещает на схеме маршрута исполнителя (фигурку человечка), устанавливая его в зону старта, на клетку старта в исходное положение – лицом вперед по направлению стрелки. Исполнитель (фигурка человечка) может двигаться только по пустым клеткам. В дальнейшем в игру добавляется еще один игрок и появляется соревновательный момент.

Такая игра способствует развитию логического мышления и пространственного воображения. В процессе игры формируются важные способности и навыки для юных инженеров, составление алгоритма движения исполнителя.

Продолжая работу по обучению основ алгоритмике, использую конструктор УАРО.

Играя конструктором УАРО дети, составляя последовательные действия движения, уже используют панель управления, заставляя оживать роботов. Это в свою очередь, позволяет обучать детей процессу кодирования программ.

Программирование моделей дети производили путем перестановки программных блоков на программной плате. С помощью конструктора УАРО детьми осваивали базовые принципы программирования.

В своей работе я использую информационно-коммуникационные технологии: мобильное приложение ПиктоМир, комплекс интерактивных развивающих и обучающих игр «Волшебная поляна».

В мобильном приложении ПиктоМир главным персонажем является Робот-Вертун, который ремонтирует поля. Задание ребенок выполняет в форме игры, дискуссии, демонстрации, сотрудничества в малых группах и индивидуальной или парной работы. В процессе работы дети составляют из пиктограмм простейшие программы управления виртуальным роботом, движения которого изображаются на экране компьютера.

Комплекс интерактивных развивающих и обучающих игр «Волшебная поляна» я использую в процессе обучения одного ребенка или группы детей. С помощью данных игр дети могут с легкостью задавать роботу план действий, выполняя поставленные задачи. Например, помощь скорой помощи добраться до нужного дома, добраться на ракете до планеты.

Благодаря проведенной работе дети овладели начальными знаниями и элементарными представлениями об алгоритмике, знают компьютерную среду, включающую в себя графический язык программирования, создают действующие модели роботов-исполнителей с помощью предметов; демонстрируют технические возможности роботов исполнителей с помощью создания алгоритма их действий.

Илон Маск рекомендует:  Тег p
Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL