Автор Тема: Нейросети, ИИ и всё, что с ними связано  (Прочитано 8683 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Vlad666

  • Пользователь
  • Сообщений: 595
    • Просмотр профиля
Нейросети, ИИ и всё, что с ними связано
« Ответ #390 : 18 Август 2025, 07:47:34 »
Попросил GPT-5 high увеличить скорость работы алгоритма ИИ в игре "Русские шашки" (создана нейронками Claude 4 Opus и Gemini 2.5 Pro). И каково было мое удивление, когда он предложил мне аж более 10 вариантов. Я выбрал те, которые увеличивают скорость работы больше всего + небольшие улучшения интерфейса.

Ниже — структурированный обзор (от GPT-5 high) изменений между оригинальной и обновленной версиями, в формате: было > стало > что это дает.

---------------

- Представление позиции для ИИ
  - Было: В воркер отправлялась массивная структура (массивы объектов фигур).
  - Стало: Передаётся компактный массив байтов 8x8 с битовыми кодами фигур; буфер передаётся по переносу.
  - Что даёт: Резкое снижение объёма данных, меньше аллокаций в GC, быстрее обмен с воркером.

- Zobrist/хеши и таблица транспозиций
  - Было: Таблица Zobrist генерировалась в основном потоке и сериализовалась в воркер; ключи TT хранились как строки.
  - Стало: Таблица Zobrist генерируется внутри воркера один раз; ключи TT — BigInt напрямую.
  - Что даёт: Меньше сериализации и накладных расходов; ускорение доступа к TT и экономия памяти.

- Представление ходов
  - Было: Ходы как объекты с from/to/capture на всех этапах.
  - Стало: Внутри ИИ используются «плоские тройки» индексов (from, to, capture); в объекты конвертируются только на границе (для UI/логов).
  - Что даёт: Меньше временных объектов, быстрее сортировки, переборы и откат ходов.

- Сортировка ходов
  - Было: Сортировка всегда (по эвристике).
  - Стало: Сортировка включается только при достаточном количестве ходов; эвристика перенесена на плоские структуры.
  - Что даёт: Уменьшение ненужной работы на «узких» местах дерева поиска.

- Quiescence Search
  - Было: На объектном представлении; зависел от внешней передачи таблицы Zobrist.
  - Стало: На плоских тройках и внутреннем Zobrist; добавлена быстрая проверка наличия взятий.
  - Что даёт: Стабильные тактические оценки при меньших накладных расходах.

- Копирование позиции в воркере
  - Было: Позиция копировалась/клонировалась перед обработкой.
  - Стало: Нет копий; используется переданный по переносу массив и симметричный make/unmake.
  - Что даёт: Существенный выигрыш по времени/памяти при глубоком поиске.

- Ключи TT
  - Было: Ключи — строки (преобразование из BigInt).
  - Стало: Ключи — BigInt напрямую.
  - Что даёт: Быстрее хеш-таблица, меньше памяти.

---------------

Эти оптимизации от нейронки увеличили скорость игрового ИИ, например, с 52 до 20 секунд на первый ход в самом начале игры на слабом компьютере и при максимальной глубине поиска. И никаких негативных последствий. Компьютер играет точно так же, как и до оптимизации, но гораздо быстрее, а значит можно увеличивать глубину поиска для увеличения его мастерства.

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

Вывод: GPT-5 high на данный момент - самая мощная нейронка, превзошедшая, на мой взгляд, всех своих конкурентов.

Оффлайн Vlad666

  • Пользователь
  • Сообщений: 595
    • Просмотр профиля
Нейросети, ИИ и всё, что с ними связано
« Ответ #391 : 19 Август 2025, 14:26:05 »
Логическое движение вперед https://3dnews.ru/1127837/issledovanie-google-pokazalo-chto-pochti-90-razrabotchikov-videoigr-primenyayut-v-proizvodstve-generativniy-ii. Сначала было подозрение, потом отверждение, затем смирение и покорение технологиям ИИ.

Оффлайн Vlad666

  • Пользователь
  • Сообщений: 595
    • Просмотр профиля
Нейросети, ИИ и всё, что с ними связано
« Ответ #392 : 21 Август 2025, 13:55:15 »
Попросил GPT-5 high создать браузерный эмулятор аркадной Space Invaders. Вот что получилось со слов нейронки:

------------------

Этот эмулятор Space Invaders на базе процессора Intel 8080 включает:

Полная архитектура оригинальной платы Space Invaders (Intel 8080):
- 8-битный процессор Intel 8080 с регистрами A, B, C, D, E, H, L, SP, PC и флагами Z/S/P/CY/AC
- 64 КБ адресного пространства
- Память/маппинг, совместимый с аркадой:
  - 0x0000–0x07FF — ROM invaders.h
  - 0x0800–0x0FFF — ROM invaders.g
  - 0x1000–0x17FF — ROM invaders.f
  - 0x1800–0x1FFF — ROM invaders.e
  - 0x2000–0x23FF — RAM
  - 0x2400–0x3FFF — видеопамять (VRAM)
- Аппаратный 16-битный сдвиговый регистр:
  - OUT 2 — установка смещения
  - OUT 4 — загрузка данных
  - IN 3 — чтение результата со смещением
- Порты ввода:
  - IN 0 — 0x0F (DIP по умолчанию)
  - IN 1 — кнопки игрока 1 и монета
  - IN 2 — кнопки игрока 2
- Прерывания 60 Гц (два полукадра):
  - Полукадр 1: RST 1 (0x0008)
  - Полукадр 2: RST 2 (0x0010)
- Тактирование CPU ~ 2 МГц (2000 циклов/мс); синхронизация с кадровой развёрткой

Набор команд Intel 8080:
- Реализованы инструкции, необходимые для Space Invaders:
  - Передача данных, стековые операции PUSH/POP
  - Арифметика и логика: ADD/ADC/SUB/SBB/ANA/XRA/ORA/CMP/DAA
  - Сдвиги/ротации: RLC/RRC/RAL/RAR, CMA, STC/CMC
  - Переходы/вызовы/возвраты (условные и безусловные), RST-векторы
  - IN/OUT (порты 0–5: сдвиговый регистр и звук)
- Неиспользуемые/недокументированные опкоды вызывают ошибку (в ROM игры не нужны)

Графическая система:
- Монохромный дисплей 224x256 пикселей (вертикальная ориентация)
- Масштабирование x2 для чётких «пикселей»
- Чтение VRAM по схеме 0x2400 + X*32 + Y/8 (вертикальные байтовые столбцы)
- Цветной оверлей (как на реальном автомате):
  - Верх — белый; зона UFO — красная; игровое поле — зелёное; низ интерфейса — белый/зелёный
  - Переключатель Color overlay

Ввод:
- Игрок 1: A/D — влево/вправо, W — выстрел
- Игрок 2: ←/→ — влево/вправо, ↑ — выстрел
- Монета/Старт: C — coin, 1 — старт 1P, 2 — старт 2P
- Маппинг по KeyboardEvent.code (работает в любой раскладке), предотвращается скролл страницы

Звук (Web Audio API):
- Эмуляция основных эффектов:
  - НЛО (порт 3, бит 0), выстрел (бит 1), попадание по базе (бит 2), попадание по пришельцу (бит 3)
  - Шаги флотилии (порт 5, биты 0–3), сбитие НЛО (порт 5, бит 4)
- Синтез: осцилляторы, шум, би-квад фильтры, огибающие, мастер-гейн и компрессор
- Регулировка громкости, режим Mute

Примечание о звуке 
Эмуляция звука носит приблизительный характер и не является точной копией звучания оригинального аркадного автомата Space Invaders. На реальной плате использовались дискретные аналоговые цепи, тогда как в эмуляторе звук синтезируется средствами Web Audio. Поэтому тембры, огибающие, фильтрация и общая динамика могут заметно отличаться от оригинала.

Тайминг и синхронизация:
- Главный цикл 60 Гц; кадр делится на два полукадра с RST-прерываниями
- На полукадр CPU исполняет ~16 666 циклов; экран обновляется раз в кадр

Дополнительные возможности:
- Загрузка четырёх ROM-файлов: invaders.h, invaders.g, invaders.f, invaders.e
- Кнопки Start и Reset
- Переключатель цветного оверлея
- Настройка громкости и Mute
- Полностью в браузере: Canvas 2D + Web Audio

Как использовать:
1) Выберите 4 ROM-файла (invaders.h, invaders.g, invaders.f, invaders.e).
2) Нажмите Start — эмуляция начнётся.
3) Внесите «монету» клавишей C, затем 1 (1P) или 2 (2P).
4) Управление: A/D/W для игрока 1; ←/→/↑ для игрока 2.
5) При необходимости используйте Reset, Color overlay, Mute/громкость.

------------------

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

Вместе с файлом эмулятора выкладываю четыре рома игры.

Добавлено позже:
Интересная новость https://www.securitylab.ru/news/562633.php.
« Последнее редактирование: Сегодня в 16:24:19 от ghostdog3 »

Оффлайн Vlad666

  • Пользователь
  • Сообщений: 595
    • Просмотр профиля
Нейросети, ИИ и всё, что с ними связано
« Ответ #393 : Вчера в 11:38:52 »
Тоже решил провести с GPT-5 high небольшой эксперимент. В эмуляторе Space Invaders Emulator (Intel 8080), созданном этой же нейронкой, звук не такой, как на оригинальном аркадном автомате. Например, шаги инопланетян и звук пролетающего НЛО имеют другое звучание. Чтобы это исправить, я нашел в интернете две картинки со схемами электронных плат, которые синтезируют эти звуки. Отправил картинки нейронке; она анализировала полученные данные примерно 3 минуты и выдала исправленный синтезатор этих двух звуков в нашем эмуляторе. Звук стал намного правильнее, если верить видео с YouTube. Еще не оригинал, но уже сильно похоже. Также нейронка предупредила, что звук на разных ревизиях аркадного автомата может отличаться, а потому какого-то каноничного звучания не было, как и на консолях, и предложила вручную донастроить звук, если что-то не так, дав простую инструкцию, как это делать, которую поймет любой.
« Последнее редактирование: Вчера в 13:58:08 от Vlad666 »