fbpx

Каталог статей

Каталог статей для размещения статей информационного характера

Технології

Як Super Mario, Magic: The Gathering та PowerPoint стали малопомітними суперкомп’ютерами

Як Super Mario, Magic: The Gathering та PowerPoint стали малопомітними суперкомп’ютерами

У фільмі “Матриця” 1999 року життя, яким ми його знаємо, насправді є абстракцією віртуальної реальності; набором добре сформованих нулів і одиниць, які складаються в абсолютно переконливу симуляцію реального світу. Знання того, як маніпулювати цим кодом – як це вміють Морфей, Трініті, Нео та решта вбраних у лаковану шкіру хороших хлопців – дозволяє їм робити все, що завгодно: від божевільних прийомів кунг-фу до зупинки куль у польоті, згинання ложок силою думки чи перестрибування високих будівель в один стрибок. Коротше кажучи, це дозволяє їм перепрофілювати власні обчислення Матриці майже для будь-якого застосування, яке вони можуть собі уявити.

  • Досягнення повноти Тьюринга
  • Більше про те, звідки це походить
  • Почесна відзнака для гіків
  • У чому проблема з Тьюрингом?

Кілька років тому двадцятирічний комп’ютерний вчений на ім’я Сет Хендріксон (Seth Hendrickson) провів дивовижну (і не зовсім звичайну) демонстрацію, використовуючи класичний платформер з бічною прокруткою від Nintendo 1990 року, Super Mario World . Як і багато інших членів спільноти шанувальників Super Mario, Хендріксон, відомий як “SethBling” на своєму популярному каналі YouTube, був зачарований можливістю вивести гру далеко за межі, які уявляли собі її творці.

Хендріксон ввів 331 байт коду Flappy Bird у невикористану оперативну пам’ять Super Mario World, а потім наказав процесору виконати його.

Одним із способів зробити це було змусити його консоль Super Nintendo читати інструкції з оперативної пам’яті системи, а не з оригінального ігрового картриджа. Оскільки оперативна пам’ять використовується для відстеження всіх частин ігрового стану, вміле маніпулювання нею дає можливість встановлювати абсолютно нові ігрові стани.

  • ChatGPT: як користуватися вірусним чат-ботом зі штучним інтелектом, який підкорив світ
  • Хакери опускаються до нового мінімуму, викрадаючи акаунти Discord в атаках з вимогою викупу
  • Вам потрібно почати використовувати ці 5 прихованих функцій Xbox Series X

Замість того, щоб робити це за допомогою традиційного текстового кодування, цього можна досягти, граючи в саму гру; використовуючи елементи ігрового процесу, такі як Маріо, що закладає снаряди, щоб змусити процесор зчитувати певні інструкції з ділянки оперативної пам’яті, призначеної для відстеження розміщення цих снарядів. Оскільки ці координати зберігаються у вигляді серії байтів, це дозволяє хакеру (в даному випадку Хендріксону) контролювати те, що робить процесор гри протягом декількох тактів. Це дозволяє йому заволодіти кодом гри і робити з ним все, що він захоче.

Ін’єкція коду SNES – Flappy Bird в SMW

Збентежені? Цілком можливо – але повірте Хендріксону на слово, що це працює. Побачивши кілька обмежених прикладів цього “довільного виконання коду” в дії, у Хендріксона з’явилася ідея. “Інженер в мені знав, що якщо ви можете обдурити процесор, щоб він виконував трохи коду, то ви можете обдурити його, щоб він виконував багато коду”, – сказав він в інтерв’ю Digital Trends.

Хендріксон об’єднався з іншим членом спільноти, відомим як “p4plus2”. Разом вони показали, що можна використовувати цю техніку для написання абсолютно нової гри всередині архітектури Super Mario, яка була розроблена для, ну, Super Mario.

Вони обрали Flappy Bird, шалено захоплюючу мобільну гру, яка отримала короткий сплеск популярності в 2014 році. “[P4plus2] написав весь код, який в кінцевому підсумку увійшов в програму Flappy Bird, а я виконав більшу частину роботи, уточнюючи деталі процедури і практикуючись, щоб насправді бути в змозі виконати її”, – пояснив Хендріксон.

“Ласкаво просимо в світ випадково завершеного Тьюринга”.

Повторюючи ряд дій в грі, як танцюрист, що створює історію через рух, він ввів 331 байт коду Flappy Bird в невикористану оперативну пам’ять Super Mario World, а потім дав процесору вказівку виконати ці байти в якості інструкцій процесору. Коли після “ретельного планування” і “багатьох симуляцій” він закінчив це, він транслював всю демонстрацію в прямому ефірі для 12 000 здивованих глядачів на Twitch. Це залишається найбільшою кількістю одночасних глядачів, яку коли-небудь мав Хендріксон.

Досягнення повноти Тьюринга

“Ласкаво просимо в пустелю реального”, – каже Морфей у фільмі “Матриця” після того, як він позбавив віртуального світу симульованої реальності і показав йому маніпуляції, що лежать під нею. У випадку з Хендріксоном ця фраза могла б звучати так: “Ласкаво просимо у світ випадково повного Тьюринга”.

Досягнення повноти за Тюрінгом звучить як стан дзен для комп’ютерних програмістів. Насправді це стосується властивості обчислювальної системи – “універсальної машини Тюрінга” – яка здатна обчислити будь-що, в тому числі й інший комп’ютер у тій чи іншій формі. Висунута в 1936 році Аланом Тюрінгом, батьком сучасної інформатики, концепція машини Тюрінга заклала основу того, що ми сьогодні називаємо комп’ютером загального призначення.

Машина Тюрінга повинна бути здатна виконувати обчислення шляхом зміни станів, читання і запису на певну форму “стрічки”, переміщення згаданої “головки стрічки” вліво або вправо і виведення остаточної відповіді у формі “прийняти” або “відхилити”. Кожен відомий алгоритм може бути перетворений на машину Тюрінга і, як наслідок, може бути реалізований у будь-якій повній системі Тюрінга.

“У початкових класах я робив ігри в PowerPoint для розваги”.

Випадково повна за Тюрінгом система – це система, яка може робити все це, навіть не маючи на увазі цього. Випадково повна система Тьюринга може бути розроблена для того, щоб, скажімо, провести маленького італійського водопровідника через ігрові рівні і врятувати принцесу, але виявляється, що її також можна зробити такою, що обчислює число Пі, розв’язує судоку, запускає Microsoft Windows або робить майже все інше. Це еквівалент пересічного громадянина, який живе життям офісного трутня, який раптом виявляє, що він або вона є чимось більшим, ніж він або вона думають. Вони – Нео. Вони – Єдиний.

“Мені подобаються дивовижні демонстрації, тому що вони часто є проявом неабиякої винахідливості”, – сказав

Більше про те, звідки це походить

“У початковій школі я робив ігри в PowerPoint для розваги”, – сказав Том Вільденхейн, студент, який вивчає комп’ютерні науки в Університеті Карнегі-Меллона. “Спочатку я робив прості речі, такі як вікторини з декількома варіантами відповідей і лабіринти, але поступово я створював ігри з більш складною логікою. Насправді я використовував PowerPoint для багатьох інших завдань, не пов’язаних з презентаціями: редагування зображень, 2D анімації та веб-дизайну. У старших класах це було чимось на кшталт жарту. Мої друзі казали мені використовувати “справжнє програмне забезпечення”.

Про теорему Тьюринга про повноту PowerPoint (SIGBOVIK)

У коледжі Вільденгайн прослухав теоретичний курс інформатики, де він дізнався про машини Тюрінга. “Я подумав: “Б’юся об заклад, що PowerPoint може це зробити”, – сказав він. Виявляється, може, як він показав у демонстрації, проведеній для жартівливої наукової конференції 1 квітня, яку щороку проводить Карнегі Меллон. Ця жартівлива конференція демонструє “жартівливі реалізації серйозних ідей і серйозні реалізації жартівливих ідей”. “Машина Тьюринга в PowerPoint здавалася ідеальним варіантом”, – згадує Вільденхайн.

Останній приклад випадково завершеної системи Тьюринга? Всіма улюблена гіківська карткова гра Magic: The Gathering. “Я був на дошці оголошень, коли хтось запитав, чи є Magic: The Gathering повною системою Тьюринга”, – сказав Алекс Черчілль, дизайнер і кодер настільних ігор. “Я подумав: “Що б це взагалі могло означати?”

Кілька років цікавих досліджень і нещодавня стаття, яка переконливо демонструє цю ідею.

Почесний знак гіка

Почесна відзнака для гіків

“Багато випадків відкриття [повноти Тьюринга], здається, складаються з того, що ми просто помічаємо, що примітив в системі трохи занадто потужний або гнучкий”, – сказав Бранвен. Наприклад, якщо булева логіка може бути реалізована, це ознака того, що можливо більше, [що може] перетворити булеві схеми на повноцінну логіку для машини Тюрінга”. Заміни, визначення і скорочення, регулярні вирази або будь-який інший вид функціональності “пошуку і заміни” є ще одним червоним прапором, оскільки вони вказують на те, що приховується клітинний автомат або система міток. Це стосується всього, що може змінювати стан на основі “сусідів”, наприклад, комірки електронної таблиці або [навіть] пікселя”.

“Після того, як джин [повноти Тьюринга] був випущений з лампи, його важко заманити назад, і залатати шию

Здебільшого відкриття випадкової завершеності Тьюринга – це скоріше почесна відзнака для ботаніків, ніж щось, що має негайне застосування. Повертаючись ще раз до нашої аналогії з Матрицею, це скоріше еквівалент ментального згинання ложки, як трюк після вечері, ніж руйнівний час кулі, призначений для руйнування існуючого порядку. Простіше кажучи, з реальними комп’ютерами загального призначення, які є в наявності, немає ніякої неминучої необхідності робити нашу власну неелектронну версію, використовуючи колоди карт Magic: The Gathering.

Проблеми з Тьюрингом?

Але ризики все одно є. Можливість перепризначення звичайних інструментів для надзвичайних цілей має потенційну зворотну сторону. Ми не схильні думати про, скажімо, файл MS Word як про програму, здатну робити більше, ніж допомагати нам писати текстові документи. У нас є фіксоване уявлення про те, що таке програмне забезпечення – і, що більш важливо, що воно робить – і це нам на шкоду.

У чому проблема з Тьюрингом?

Розуміння спектру і розпаду

“Те, що ми вважаємо ці демонстрації дивовижними, саме по собі є демонстрацією нашого браку уяви і розуміння комп’ютерів, комп’ютерної безпеки і штучного інтелекту”, – сказав Бранвен. “Ми вдаємо, що запускаємо програми на цих простих абстрактних машинах, які роблять те, що ми інтуїтивно очікуємо. Але вони працюють на комп’ютерах, які є химерними, і наші програми самі виявляються комп’ютерами, які є ще більш химерними”.

Він вказує на вразливість безпеки Spectre, яка підняла свою потворну голову в 2018 році і продовжила сіяти хаос. “Spectre існував десятиліттями в архітектурах процесорів, які надзвичайно ретельно перевірялися на наявність проблем з безпекою, але просто потрапив в колективну людську сліпу зону”, – продовжив Бранвен. Ніхто не думав про контрольоване спекулятивне виконання як про “комп’ютер”, який можна “запрограмувати”. Як тільки хтось помітив – тому що це був потужний комп’ютер і, звичайно, завершений Тьюрінгом – його можна було використовувати багатьма способами для атак на речі”.

Бранвен припускає, що в майбутньому з’явиться ще більше “дивних машин”. “Безпечні системи повинні будуватися за принципом конструювання”, – сказав він. “Після того, як джин [повноти Тюрінга] випустив джина з лампи, його важко запхнути назад і залатати шийку пляшки”.

Наразі, принаймні, ми всі можемо об’єднати зусилля і здивуватися тому, як пара безстрашних комп’ютерних програмістів колись закодували версію Flappy Bird всередині Super Mario World.

Рекомендації редакції

Nvidia вбиває GameStream на Shield і направляє користувачів в Steam

Як користуватися новою функцією спільнот в Microsoft Teams

  • У двофакторній SMS-аутентифікації Twitter виникли проблеми з SMS-аутентифікацією. Ось як переключити методи
  • Gotham Knights не можна грати в Steam після останнього оновлення
  • Клапан

Source: digitaltrends.com

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *