Сегодня мы подарим вам Разум. Искусственный Разум. Искусственный Интеллект! Вы никогда не мечтали о собственном роботе, который будет помогать вам строить и жить? Приносить тапочки, готовить обед, убирать квартиру и конкурентов, играть с вами в разные игры... Такой робот может стать реальностью. Если тапочки он приносить и не сможет, то достойным противником в игре станет. Достойным, потому что мы сделаем его сами. Века полтора назад писатели представляли ИИ стеклянным шариком, в котором странная жидкость бурлила и всячески изображала из себя умные мозги. Тонкие трубочки и проволочки выходили из шара, а на их концах плясали молнии. Ученые промахнулись: искусственным разумом они назвали перегонный аппарат, которым я сегодня утром из вампира фиолетовую кровь выкачивал. В конце того же века фантазии ученых поутихли, а образ ИИ осовременился. Теперь искусственный интеллект — это просто серый монолитный блок, напичканный медью и кремнием. Прагматичная молодежь и вовсе запихнула ИИ в параллельный мир — чтоб под ногами не мешался. Поколение Next, люди двадцать первого века придумали для Искусственного Разума образ куда поэтичнее. Что может быть поэтичнее башни из... спичечных коробков? Сегодня мы будем делать именно искусственный интеллект из спичечных коробков. Думаете, они не могут мыслить? Еще как могут! В этом мы с вами убедимся не далее как через пару минут. Чтобы подарок не казался слишком простым, ИИ будет самообучающимся и самосовершенствующимся.
Часть 1. Затариваемся Xbox'ами Для опытов с крестиками-ноликами (эту игру мы возьмем в качестве примера) нам понадобится ровно 300 пустых спичечных коробков. Не так уж и много. Срочно оббегайте старушек в своем подъезде — я уверен, за двадцатку они и вагон пустых коробков достанут. Ну а если со старушками туго, купите полный комплект за 100 рублей. Нам нужны какие-нибудь мелкие предметы — цветные бусины или леденцы или еще что-нибудь круглое, как минимум 8 цветов, можно
комбинации различных предметов, например болт-гайка-шайба-еще что-нибудь, в общем, это на совести вашей фантазии... Это — биты. А коробки — транзисторы. Также нам потребуются руки, растущие из нужного места.
Часть 2. Лед тронулся На верхней стороне каждого коробка рисуем одну из возможных в крестиках-ноликах (три на три) игровых ситуаций. Например, два нулика с краю, крестик посередине. Всего таких позиций 300. Допустим, робот играет крестиками. После вашего хода на поле возникает игровое положение, которое нарисовано на одном из коробков. Теперь ставим разноцветные крестики на рисунке коробка во все места, куда в следующий ход робот сможет поставить свой крестик. Для первого хода таких мест восемь, для второго — семь и так далее. Внутрь коробка кладем бусины таких цветов, что и крестики на картинке. То же самое делаем со всеми спичечными коробками: рисуем возможное игровое положение, проставляем разноцветные ходы, кладем внутрь бусины. Вот и все, робот готов.
Часть 3. ССМИСКДИВКН вступила в бой Робот готов, можно играть. Так как рук у него нет, придется играть и за себя и, частично, за него. Первый ход делаем мы. Следующий ход робота. Отыскиваем коробок, на котором изображена текущая игровая ситуация. Закрываем глаза, открываем коробок (но не наоборот), вытаскиваем первую попавшуюся бусину, открываем глаза и смотрим, какого она цвета. Смотрим также, какой ход нарисован на коробке тем же цветом. Вот туда наш робот и ставит свой крестик. Робот сходил, теперь ходим мы. И так далее. Сначала робот будет всегда проигрывать (вытягивание бусины с закрытыми глазами равносильно рэндому, хотя все зависит от вашей честности), а вот потом...
Часть 4. Учение — свет После каждой партии проводим разбор полетов и воспитательную беседу с нашим роботом. Так как он все равно не слушал, обучаем вручную. Если коробочное чудо выиграло, то во все открытые (а значит, и участвовавшие в игре) коробки надо добавить по две бусины того цвета, которые мы оттуда вынули. Если робот довел партию до ничьей (тоже прогресс), мы добавляем по одной бусине. Если робот проиграл, убираем по одной бусине. Потом делаем Reset — закрываем все коробки — и играем заново. После двадцатой игры робот начинает если не выигрывать, то доводить партии до ничьей. А после двухсотой партии ему уже нет равных.
Часть 5. Собственно, и все...
Особо нервные обитатели нашего шалаша уже помчались к старушкам за спичечными коробками. А мы пока зададимся вопросом, а почему это чудо работает? Каким-то шестым чувством мы смутно догадываемся, что в спичечном коробке разума ни на грош. В коробке нет, а в сообществе коробков — очень даже есть. Глубинный разум вещей и явлений складывается в разум глобальный. И получается, что не мы, плосколобые и прямоходящие, правим миром, а он нами. Пора положить конец заговору сообществ дискет в дискетнице и зубочисток в подстаканнике. Долой единый разум, да здравствует разум индивидуальный. Осведомлен — значит вооружен. Давайте проникнем в природу ближайшей недвижимой вещи — нашего робота. Если робот выиграл или привел партию к ничьей (что тоже можно считать его выигрышем), то все его ходы были более или менее удачны. А это надо поощрять. Добавляя бусины, мы увеличиваем вероятность того, что в следующий раз робот пойдет тем же путем, что может опять привести его к победе. Но остальные бусины в коробках надо оставить. Вдруг победа эта случайная, а тактика была неправильной. В будущем робот сможет найти другие ходы для этого игрового положения, возможно, более эффективные. Если он проиграл, то ходы были неправильными, и его надо наказать и уменьшить вероятность следования по этой же схеме в будущем. Этот метод "кнута и пряника" взят из жизни. Наш мозг устроен по такому же принципу, только сложнее.
Часть 6. И снова в бой! Наш робот — это модель простейшей нейронной сети с генетическим наследованием. Каждый спичечный коробок — отдельный нейрон в сети. К нему поступает информация — состояние дел на поле, он выдает информацию — следующий ход. Основная его функция — random, но в при обучении в памяти нейрона откладываются поправки на предыдущие верные и неверные решения. Так происходит генетическое наследование. Каждый нейрон постепенно совершенствуется, а вместе с ним совершенствуется и вся сеть. Этот метод можно применить и к любым другим играм. Но вряд ли кому-то захочется делать робота из спичечных коробков, например, для
шашек: потребуется несколько миллионов коробков. Но что нельзя смоделировать с помощью спичечных коробков, легко можно смоделировать на компьютере. Те же самообучающиеся шашки вполне по силам даже маломощному процессору. Сделать такую программу очень легко. А начальное обучение можно устроить так: зациклить программу, чтобы она исступленно играла сама с собой. Сыграв несколько миллионов партий сама с собой (около получаса на моем компьютере), программа достигнет уже очень высокого мастерства. А потом самообучающаяся часть будет использоваться, чтобы подстроиться под причуды конкретного игрока. Все это касается не только шашек, но и многих других игр. Вот только в шахматы такую программу научить хорошо играть пока (в ближайшие десятилетия) нереально. Уж очень много вариантов придется перебирать (где-то 10 в 120-й степени). Ни одна из существующих шахматных программ не пользуется методом прямой логики. Современные компьютеры этого просто не тянут. Все шахматные программы используют хитрые алгоритмы, которые основаны на некоторых известных навыках шахматистов (просто набор алгоритмов) и человеческих слабостях. Поэтому многие шахматные программы легко обыграть, чередуя профессиональные ходы с бессмысленными. К сожалению, а может и к счастью, самая совершенная нейронная сеть на сегодняшний день — человеческий мозг. Зато бриджит, го, нарды и другие игры можно запросто смоделировать виртуальными спичечными коробками.
Часть 7. Альтернативная Если в вашем подъезде мало дееспособных старушек, можно собрать робота попроще. Правда, он не будет таким впечатляющим, как модель №1. Будем обучать робота игре "в шесть пешек". На шахматной доске 3х3 играют три белые против трех черных пешек. Для игры нужны всего 24 коробка, но мастерство робота от этого ничуть не пострадает. Игрок победил, если ему удалось взять все пешки противника, блокировать его или провести свою пешку в третий ряд. Правила игры такие же, как в шахматах. Конечно, пешка не станет королем, если дойдет до конца доски, не сможет она и брать на проходе. Дрессируйте этого робота так же, как и предыдущего. Если подумать, мы сделали вам не один, а целых два сюрприза, несколько интересных находок и тайное знание о всеобщем заговоре вещей. Что со всем этим богатством делать — решайте сами. Лично у меня робот из спичечных коробков стоит рядом с системным блоком. Я его время от времени стравливаю с крестиками-ноликами в компьютере. Уже час, как разум, скрытый в коробках, обыгрывает компьютерную программу. То ли еще будет! А вдруг он вырвется на свободу? А вдруг разумы всех вещей взбунтуются и объединятся против батьки? А вдруг мы сами — вещи, только из параллельного мира, которым удалили самую суть? А суть — вот она, под столом лежит и под спичечные коробки маскируется? Все, я срочно побежал, надо отлавливать свою суть. А без сути-то как победить в вечной войне человека и вещей? Добро пожаловать в нейронную сеть!
1134 Прочтений • [Разум из коробка] [19.05.2012] [Комментариев: 0]