Пользователь
0,0
рейтинг
13 февраля 2010 в 14:25

Нейронная сеть на спичечных коробках

Я не помню где брал эту информацию, но она отражает суть нейросетей лучше всего. На пальцах.

Правила игры. НС обучается играть в игру «11 палочек». Можно брать либо 1 палочку, либо 2. Нужно вытянуть последним все палочки.

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

Например, НС начинает ход.

1. Закрываем глаза и вытаскиваем наугад пуговку из коробки под номером 11. Если черная, то берем одну палочку, если белая — две. (Пусть будет белая — 2 палочки).
2. Ход человека. Например, он взял 2 палочки.
3. Далее, берем коробок под номером 11-2-2 = 7 и вытаскиваем наугад из него пуговку.

Так до тех пор пока игра не закончится.

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

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

Тут, конечно, масштаб незначителен, но он хорошо показывает, что НС хороша тем, что есть возможность гибкого обучения и подстраивания под правила игры.
Андрей @asfd
карма
85,0
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое

Комментарии (64)

  • –7
    grammar nazi негодуе…
    и не совсем понятно написано, можно картинок?
    • +1
      Да, я опубликовал и только заметил сколько здесь ошибок. Правлю понемногу.
      • +1
        спасибо
      • 0
        Немного не понятно предложение «Если НС проиграла, то наказываем, убирая из последнего коробка вытянутую пуговку. „
        1. Последний коробок это всегда 11 коробок?
        2. И что если в каком-нибудь коробке не останется пуговиц, а ситуация сложится так, что надо будет от туда тянуть пуговицу?
        • 0
          Думаю, что 50/50 шанс нужно оставлять. То есть, если в коробке 2 пуговицы, то не стоит оттуда убирать пуговицу.
    • +2
      согласен.
      картинки весомо оживят статью и может даже привнесут ясности.
      • 0
        Зато статья обошлась без ката.
        Посему я прочитал её сразу в ридере, а не проскроллил дальше, как делаю со многими статьями, которые вступлением и картинкой меня не заинтересовали.
  • +1
    Спaсибо зa интeрeсный способ! Тeпeрь можно плeмянникa этому с дeтствa обучить.
  • 0
    Давным давно в Игромании была статья, в которой так же на спичичных коробках предлагалось сделать «машину» играющую в крестики-нолики, правда коробков требовалось намного больше.
    • 0
      По коробку для каждой ситуации на поле. Я эту систему писал. Потом обучал её на случайных ходах. Не работает. Возможно результаты были бы лучше, если бы противник тоже соображал. :)
    • 0
      Поподробней, пожайлуста.
      • 0
        вот в этом комментарии человек ссылку приводит, по которой есть что-то про крестики-нолики: habrahabr.ru/blogs/artificial_intelligence/84125/#comment_2508331
      • 0
        Вот статья, которую я имел ввиду. Тут рассказывается как из 300 коробков собрать ИИ для игры в крестики-нолики.
  • +3
    Отмечу, что этот также способ был опубликован в серии книг «Берсеркер» (издавались в рамках «Боевая фантастика») Фреда Саберхагена году этак 1995. По сюжету, ГГ должен был замаскировать своё отсутствие на космокорабле. Он обучил методу «спичечных коробков» свою неразумную мартышку, которая и имитировала игру с жутким космическим монстром.

    Это насколько я помню.
    • 0
      Мартышка была разумной, но не способной к логическому абстрактному мышлению.
      Он должен был замоскировать своё состояние комотоза под действием особого излучения Берсеркера, чтобы исключить нападение последнего, который знал — буть человек в здравом уме — он даст отпор.
  • +2
    >Берем 10 спичечных коробков
    >и вытаскиваем наугад пуговку из коробки под номером 11

    Както не сходиться
    • 0
      коробки нуменуются от 2-х до 11-ти, т.к. когда осталась одна палочка выбирать уже не нужно.
  • +5
    Прочитал два раза правила игры, и ничего не понял :(
    • +4
      А ничего понимать не надо, нейронная сеть всё сделает за Вас :))
    • +5
      Согласен, ничерта не понятно. Откуда коробки? Почему игра подчинена рандому? Какие пуговки? Зачем? Кто все эти люди и что они здесь делают?
      • 0
        «он как бы хочет нам сказать...» :)
      • +1
        В игре только палочки. Которые игрокам тянуть надо по одной или две.
        Играет человек с программой. Ее работа имитируется «на пальцах». Для этого используются коробки с пуговками. Алгоритм хода «программы»:
        1. Взять коробок, номер которого равен кол-ву оставшихся в игре спичек.
        2. Взять из коробка наугад пуговку.
        3. Если пуговка белая, тянуть 2 палочки. Иначе 1.
        После обучения изменяется кол-во пуговок в каждой коробке. Например, в коробке под номером 2 окажется куча белых и ни одной черной. тогда при двух оставшихся палочках и ходе программы будет вытянуто 2 палочки а не одна
      • 0
        Пуговки отражают весовые коэффициенты передачи. Рандом — потому что любая нейронная сеть работает стохастически. Коробки это соответственно сами нейроны.

        Нейронная сеть работает не так как обычный комп или программа. Любое ее действие вероятностно, как и ваше собственное поведение при обучении например настольному теннису.

        А вообще, вместо того, чтобы задавать подобные вопросы, обратитесь лучше к Википедии. Как вариант.
      • 0
        Ну обычный Ним. Чего здесь неясного…
        • 0
          Некропост! )
          • 0
            А что делать если инвайт достался только вчера, а статья понравилась напомнив интересный алгоритм?
            • 0
              Все, что заблагорасудится. Держите плюс в карму и ведите себя хорошо >.<
              • 0
                Спасибо. Я постараюсь.
  • +7
    «Игромания», «Берсеркер»… Кто раньше? Я читал о данной машине в книге Мартина Гарднера «Математические досуги». Это семидесятые годы.
    • +1
      Я тоже у Мартина Гарднера читал.
  • НЛО прилетело и опубликовало эту надпись здесь
    • 0
      > НС обучается играть в игру «11 палочек». Можно брать либо 1 палочку, либо 2. Нужно вытянуть последним все палочки.

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

      ТС, выдели как-нибудь эту строчку, чтобы всем понятно было, что на этом правила игры начинаются и заканчиваются.
      • 0
        КО подсказывает, что они взяли их из текста статьи…
    • 0
      Нет, пуговиц нужного цвета станет больше, соответственно шанс вытащить их — выше, вероятность победить — тоже.
  • +8
    Спичечные коробки умнее человека!!!
  • +3
    Прекрасная иллюстрацию нейросетей, не без огрехов, но суть передает отлично.
    • 0
      А нейросети ли?
      Мне кажется такая система самообучения называется как-то иначе…
      То ли выбор на взвешенных графах, то ли ещё чего-то взвешенное…
  • –9
    есть ли видео этого процесса?
    и да, s003.radikal.ru/i202/1002/22/594c594fb963.jpg
  • +4
    Вот нашел как раз эту задачку из книги, там с картинками Мартин Гарднер «Самообучающаяся машина из спичечных коробков»
    Будет грузиться долго, за то не уронит сайт…
  • 0
    Пойду поиграю со спичечными коробками.
  • 0
    Я ничего не понял, хотя глупо было ждать что в пять предложений пойму, что такое нейронные сети :))
    • 0
      Видимо, кто понимал и раньше, понял, одобряет, кто не понимал раньше — не понял
      • 0
        Я, например, не представлял принцип действия нейронных сетей. Теперь представил.
  • +1
    Хороший способ объяснить и показать «на пальцах» принцип работы подобного рода нейросетей, спасибо.
  • 0
    Замечательное объяснение. Ждем теперь рецепт, как на спичечных коробках предсказывать курсы валют и котировки акций.
    • 0
      Столько спичечных коробков и пуговиц придется купить, да и провинцию в Китае, чтобы пуговицы было кому переклдывать, никаких акций не хватит :)
    • +1
      Для этого сейчас модно обезьян использовать.
      • 0
        Это вам прийдётся коробки побольше взять-в спичешные обезьянки не поместятся.
  • НЛО прилетело и опубликовало эту надпись здесь
  • 0
    То, что вы описали — это статистическая модель. Её можно реализовать с помощью нейронной сети. Но не нужно.
    • 0
      Почему? Исходя из описания в данной задаче НС прекрасно выполнит свою функцию. Не поясните свою точку зрения?
      • 0
        Вот так, с помощью нехитрых приспособлений, буханку белого (или черного) ХЛЕБА можно превратить в троллейбус… НО ЗАЧЕМ!?
        • 0
          for fun ;-)
  • 0
    Каким образом это «нейронная сеть»?
    • НЛО прилетело и опубликовало эту надпись здесь
  • 0
    … что НС хороша тем, что есть возможность гибкого обучения и подстраивания под правила игры.
    , а так же возможность реализовать НС практически на любой платформе.
  • 0
    Для понятности стоило бы обозначить-таки параллели с понятиями нейронной сети — входы, связи, коэффициенты, выходы.
  • +2
    Объясните кто-нибудь предложение: «Если НС проиграла, то наказываем, убирая из последнего коробка вытянутую пуговку. „
    1. Последний коробок это всегда 11 коробок?
    2. И что если в каком-нибудь коробке не останется пуговиц, а ситуация сложится так, что надо будет от туда тянуть пуговицу?
    • 0
      1. Последний, из которого НС брала пуговку.
      2. Взять пуговку из ящика из под стола (где over 9000 и чёрных и белых).
      • 0
        а серьезно? =)
        • 0
          Я серьёзно.
          Если нету пуговок, это означает, что эта ситуация машине проигрышная.
          Значит, принимаем случайное рещение, всё равно оно, скорее всего, не влияет. Проблема шагом (двумя, десятью) раньше. И она решится натурально.
          • 0
            спасибо
      • 0
        Просто я очень хочу запрограмить эту штуку, но не полностью понял как она работает =(
  • 0
    Попробовал написать эту нейронную сеть и вот что получилось :)

    Реализация нейронной сети на спичечных коробках

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