AlphaZero. Нейронная сеть играет в шахматы

Тема в разделе "Машинное отделение", создана пользователем grizly, 6 дек 2017.

  1. zeroalphazero Учаcтник

    • Участник
    Рег.:
    14.12.2017
    Сообщения:
    133
    Симпатии:
    69
    Репутация:
    4
    Оффлайн
    Спрошу читателей: Гарри Кимович не успел обсудить со Стивеном Пинкером на Форуме свободы в Осло тему эволюции языка — к счастью или к несчастью?
  2. Mustitz Заслуженный

    • Заслуженный
    • Участник
    • Старожил
    Рег.:
    30.09.2006
    Сообщения:
    3.355
    Симпатии:
    832
    Репутация:
    26
    Адрес:
    Киев
    Оффлайн
    Может просто обновить драйвер? В принципе программе без разницы железо, важнее API. А что за GPU на ноуте?
  3. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    9.275
    Симпатии:
    2.642
    Репутация:
    91
    Адрес:
    Москва
    Оффлайн
    Это старый Sony Vaio начала 10-х, там вообще GPU нет, только интегрированная в чипсет графика.
  4. roman57 Учаcтник

    • Участник
    Рег.:
    23.09.2017
    Сообщения:
    116
    Симпатии:
    16
    Репутация:
    1
    Оффлайн
    Вчера пробовал воспроизвести игру А0 и Sf8 на андроид планшете в программе pbchess , всё получилось ход в ход на максимальном уровне , а вот в других программах не удавалось достичь такого эффекта , Sf8 играет по другому
  5. Mustitz Заслуженный

    • Заслуженный
    • Участник
    • Старожил
    Рег.:
    30.09.2006
    Сообщения:
    3.355
    Симпатии:
    832
    Репутация:
    26
    Адрес:
    Киев
    Оффлайн
    Там же написано, AMD или nVidia :)
  6. Rom Учаcтник

    • Участник
    Рег.:
    12.02.2012
    Сообщения:
    629
    Симпатии:
    261
    Репутация:
    27
    Оффлайн
    Насколько я понимаю, от видеоадаптера требуется ещё аппаратная поддержка OpenCL 1.2
    WinPooh нравится это.
  7. Mustitz Заслуженный

    • Заслуженный
    • Участник
    • Старожил
    Рег.:
    30.09.2006
    Сообщения:
    3.355
    Симпатии:
    832
    Репутация:
    26
    Адрес:
    Киев
    Оффлайн
    Боюсь что найти раритеты, которые бы не поддерживани OpenCL 1.2 сейчас непросто... Evergreen, который вышел в далёком 2009 году (воосемь лет назад) поддержавает OpenCL 1.2. Т. е. годяться последние восемь поколений видеокарт AMD.

    Я вот смотрю больше на такой элемент из TODO: Faster GPU usage via supporting multiple GPU (not very urgent, we need to generate the data & network first and this can be done with multiple processes each bound to a GPU). Обидно, что второй мой GPU будет простаивать...
  8. Rom Учаcтник

    • Участник
    Рег.:
    12.02.2012
    Сообщения:
    629
    Симпатии:
    261
    Репутация:
    27
    Оффлайн
    Я думаю у многих найдутся. Во-первых и в 2009-10 году не многим были нужны дискретные видеокарты. А процессоры, с той поры апгрейда особо не требовали. Кроме того, многие с домашних стационаров мигрировали на ноуты, планшеты и смартфоны, поскольку большинству нужен в основном интернет. На свой Radeon 5750, я попробовал поставить новые дрова, но они просто не встали, а старые поддерживают только версию 1.1.
  9. Mustitz Заслуженный

    • Заслуженный
    • Участник
    • Старожил
    Рег.:
    30.09.2006
    Сообщения:
    3.355
    Симпатии:
    832
    Репутация:
    26
    Адрес:
    Киев
    Оффлайн
    Написано, что новые драйвера таки поддерживают 5xxx. Другой вопрос больше в том, может быть установлена Windows XP? Тогда да...
  10. просроченый_кмс Старожил

    • Участник
    • Старожил
    Рег.:
    15.02.2010
    Сообщения:
    986
    Симпатии:
    82
    Репутация:
    0
    Оффлайн
    Скажите Омариеву что в обобщённом видео он упустил самую главную партию с жертвой фигуры за неясную инициативу. Меня на ютубе нет, что то никто не указал ему на это.
  11. Undying Учаcтник

    • Участник
    Рег.:
    31.08.2016
    Сообщения:
    1.308
    Симпатии:
    553
    Репутация:
    15
    Оффлайн
    Как раз наоборот фигуры используют принципы хода. В нейронную сеть передается доска с 73 значениями (слоями) для каждой клетки. Насколько понял. 1 слой - отвечает за наличие фигуры на этой клетке. 56 (перемножение 8 направлений на дальность перемещения от 1 до 7 клеток) слоев отвечает за возможные ходы этой фигуры по вертикалям, горизонталям и диагоналям. Например, если ферзь стоит в углу на пустой доске, то 5 направлений (35 слоев) забиты нулями (т.е. ход невозможен). А 3 направления (21 слой) единицами (т.е. ход возможен). У пешки в начальной позиции единицы стоят в двух слоях (вперед на 1 и 2 клетки). Еще 8 слоев отвечает за ходы конем. То есть у всех фигур, кроме коней, эти слои всегда забиты нулями.

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

    По идее логично кодировать фигуру ее стоимостью в пешках. Для фигур соперника стоимость отрицательная.

    Про вектор на входе не понял.
  12. Baron Учаcтник

    • Участник
    Рег.:
    08.02.2008
    Сообщения:
    2.351
    Симпатии:
    235
    Репутация:
    11
    Оффлайн
    Специалисты создали нейросеть, способную предсказывать слова человека.

  13. NeoNeuro Учаcтник

    • Участник
    Рег.:
    17.02.2013
    Сообщения:
    612
    Симпатии:
    299
    Репутация:
    43
    Оффлайн
    Классическая нейронная сеть получает на вход набор чисел, по одному числу на один нейроне и на выходе даёт одно или несколько чисел (нейронов).
    При обучении "параметр на выходе" также задаётся:
    https://ru.wikipedia.org/wiki/Искусственная_нейронная_сеть

    Значения на внутренние слои специально не назначаются, их значения получаются автоматически во время обучения.

    Если заранее указывать все возможные и невозможные ходы, то это не обучение, а обычное программирование, впрочем они и не скрывают, что ходам никто не учит:
    We represent the policy π(a|s) by a 8 × 8 × 73 stack of planes encoding a probability distribution over 4,672 possible moves. и т.д.
    Реально на доске возможно 4762 хода! больше не придумать. При этом ходы a2 - a3 и b2-b3 - совершенно разные, их нейронка не понимает, что они оба "из одной серии хода пешками", для системы AlfaZero - это два разных хода из 4672 возможных.


    мне больше нравится название статьи:
    Siri явно позади: ученые создали нейросеть-экстрасенса
    Круто ведь!
    Неважно что есть на самом деле, важно как это преподнести.
    Кстати, предсказание слов человека - это элементарная задача статистики, так называемый Марковский процесс. Впрочем, в статье видимо имеется ввиду, что ИНС научилась определять, какие слова читает в данный момент человек на базе сканирования его мозга. Задача для ИНС действительно хорошая и достижение это важное и интересное.
    crem нравится это.
  14. NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    Альфа и не должна была обучаться правилам. Правила она знает изначально, и как и другие шахматные программы содержит и генератор ходов, и исполнитель, и определение результата партии. Её обучали оценке позиции, и вероятности того что ход лучший. Всё.
    Переборные алгоритмы Альфы используют эти значения для поиска лучшего хода. Нейронная сеть используется для оценки позиции в узлах, и оценки вероятности того что каждый из возможных ходов - лучший.
    NeoNeuro нравится это.
  15. Undying Учаcтник

    • Участник
    Рег.:
    31.08.2016
    Сообщения:
    1.308
    Симпатии:
    553
    Репутация:
    15
    Оффлайн
    Матрица на входе нейронной сети это разве что-то нестандартное?

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

    Соответственно если нужно создать робота собирающего яблоки с земли, то применить нейронную сеть для решения задачи распознавания яблок за земле будет разумно. А для многих других задач, возникающих при создании такого робота, применение нейронной сети будет плохим решением.
  16. NeoNeuro Учаcтник

    • Участник
    Рег.:
    17.02.2013
    Сообщения:
    612
    Симпатии:
    299
    Репутация:
    43
    Оффлайн
    Ваше описание намного лучше начальной статьи в pdf на английском.
    То есть AlphaZero для каждой позиции для каждого из 50 (в среднем) возможных ходов выдаёт свою оценку, насколько высока вероятность того, что этот ход - лучший. И далее берутся, к примеру первые из этих десяти ходов для дальнейшего расчёта. Это похоже на то, как действует и человек. AlphaZero. Это - метод поиска ходов-кандидатов, кстати, в книге Котова "Тайны мышления шахматиста" вообще не указано КАК их искать. т.е. ищем интуитивно - что человек, что ИНС.
    НО - всё же есть вопросы:
    1. Для учёта материального соотношения используется обычный алгоритм или нейросеть? Учёт материала очень важен для финальной оценки позиций.
    2. Не мешает ли ограничение выбора ходов у AlphaZero находить нестандартные комбинации, которые могут начинаться с "неочевидных" ходов? Если взять сильного шахматиста-человека, то он будет в блице делать относительно хорошие ходы, в "простых позициях", НО - никакая интуиция не гарантирует точного расчёта комбинаций.
    3. В статье была странность - указано, что альфа-бета алгоритм, применяемый во многих переборных задачах и применяемым шахматистами-людьми во время партии, в AlphaZero НЕ ИСПОЛЬЗУЕТСЯ, а вместо него предложен "Монте-Карло" - т.е. метод случайного выбора, который обычно используется для задач, не требующих пошагового расчёта. Странность заключается в том, что удобный и понятный алгоритм, используемый как человеком, так и компьютером, вдруг заменили на "метод тыка "= "Монте Карло"и заявили о лучших результатах.

    Вопрос можно свести к следующему: что делает нейронная сеть и что делают классические шахматные алгоритмы внутри AlphaZero?

    Это и смущает:)
    ИНС заточены под задачи распознавания, под интуицию. Отличить кошку от собаки - это очень сложная, но посильная задача для ИНС. Распознавание людей, распознавание эмоций, прогнозы: погоды, землетрясений, солнечной активности, кредитоспособности заёмщиков - это всё типичные задачи для ИНС, это задачи, где нужно обобщить опыт, т.е. создать и применить интуицию.
    Роботы мыслят интуитивно..
    НО у искусственного интеллекта проблемы с логикой, у нейронных сетей в принципе эти проблемы пока неразрешимы. Например, нейронку нельзя (пока) научить решать переборные задачи, такие как шахматы..
    Специалисты Google при этом пишут, что все переборные и логические вопросы они "зашили" напрямую, а вот над чем именно работает нейронная сеть, где именно область применения компьютерной интуиции - до конца непонятно.
  17. NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    Нет, совсем не так. Есть формула - PUCT, согласно которой считается вес каждого хода в узле, и начиная с корня делаются ходы с наибольшим PUCT.
    Значение PUCT - это функция от оценки, вероятности того что ход сильнейший, количества раз что мы были в этом узле, и количества раз что этот ход уже исполняли.
    Это модификация MCTS/UCT, в которой не играются роллауты, и в стандартную формулу еще включена вероятность того что ход сильнейший.
    Это совсем не похоже на альфа-бету, и в каждом узле рассматривается один ход, а не несколько.
    После расширения дерева - процедура опять повторяется с корня.
  18. NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    ИНС в данном случае используется для аппроксимации. Есть функция от позиции - вероятность того что она выиграна, или иначе ОФ - оценочная функция, оценка позиции.
    Зная результаты партий в которых встретились позиции - можно аппроксимировать функцию оценки. Что в данном случае делают при помощи нейронной сети.
    Наигрываются партии программы с самой собой. В каждой партии есть результат. И есть позиции, которые встретились в партии.
    Вроде всё понятно - Нейронная сеть используется для аппроксимации ОФ. Они получили самую сильную ОФ при помощи нейронной сети, классические ОФ даже в сильнейших программах были слабее.
    Отличие Zero от предыдущих версий, в том что программа учится с нуля, сначала играет случайными ходами. И обучается используя только свои партии с самой собой, не используя чужих партий и позиций.

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

    Уже давно сильные программы используют НС для оценки позиции. Например в Нарды и ГО. В этом Гугл ничего нового не сделал. В том числе НС использовались и для ОФ в шахматах, и MCTS тоже пробовали в шахматах. Гугл первый сделал реально сильную шахматную программу на MCTS + НС, вдобавок они сделали универсальный механизм, при помощи которого имея большие вычислительные мощности можно быстро сделать сильную программу в разные игры. Что они продемонстрировали на трех играх - Сёги, Го и Шахматах.
    NeoNeuro и Undying нравится это.
  19. roman57 Учаcтник

    • Участник
    Рег.:
    23.09.2017
    Сообщения:
    116
    Симпатии:
    16
    Репутация:
    1
    Оффлайн
    Про чтение мыслей забавно , то есть программа своим диалогом действует на подсознание и провоцирует нас на заведомо известный ответ , похожую тактику применяю при игре в шахматы с личесс , недавно удалось переиграть stockfish8 в этой программе чёрными фигурами , по игре читается вариант на который меня выводила программа , но он явно ничейный , пришлось поискать другое продолжение , и оно нашлось , в общем теперь у меня в активе есть победа чёрными над движком , но пока только в личесс , я понял одно - если удастся прочитать вариант игры предложенный традиционным движком , то вероятность победы над ним возрастает
  20. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    9.275
    Симпатии:
    2.642
    Репутация:
    91
    Адрес:
    Москва
    Оффлайн
    Кстати Грека со случайных ходов на свой обычный уровень 2500-2600 выходит примерно за 50-100 тыс.партий с самой собой (с очень коротким расчётом, всего по три полухода). Но у меня нет никакой нейросети, я обучаю классическую ОФ примерно из 200 весов.
    MS нравится это.
  21. roman57 Учаcтник

    • Участник
    Рег.:
    23.09.2017
    Сообщения:
    116
    Симпатии:
    16
    Репутация:
    1
    Оффлайн
    Насколько я понимаю , все движки имеют свои онлайн сети и транслируют все игры через себя , таким образом используя наши нейросети для улучшения своего генотипа , поэтому я стараюсь играть с ними только оффлайн
  22. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    9.275
    Симпатии:
    2.642
    Репутация:
    91
    Адрес:
    Москва
    Оффлайн
    Какое счастье, что я давно уже перестал играть с движками в шахматы! Правда, вот в Го иногда играю... не отключаясь при этом от всемирной сети...
    roman57 нравится это.
  23. NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    Обучаешь мат. оптимизацией или аппроксимацией?
  24. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    9.275
    Симпатии:
    2.642
    Репутация:
    91
    Адрес:
    Москва
    Оффлайн
    Всё как в Texel's tuning method, только у него там покоординатный спуск описан, а я использую случайные блуждания и имитацию отжига. И беру по одной позиции из партии.
  25. Undying Учаcтник

    • Участник
    Рег.:
    31.08.2016
    Сообщения:
    1.308
    Симпатии:
    553
    Репутация:
    15
    Оффлайн
    Нейросеть естественно. Если начать считать материал, то при оценке позиции получится уровень 3 разряда, как в Стокфише.

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

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

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

    Нейронная сеть это не серебряная пуля и не универсальный способ решения любых задач. Нейронка эффективна на определенном классе задач. Поэтому нейронные сети, как правило, нужно комбинировать с другими методами. Что и сделал DeepMind. И собственно как это делает и человек, совмещая в мышлении подсознательную интуицию и сознательный расчет.
    Alhimik88 и crem нравится это.
  26. NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    То есть аппроксимируешь, уменьшая ошибку методами мат. оптимизации?
    Вроде считается что чистая оптимизация позволяет достичь большей силы. То есть рассматриваем силу как функцию от ОФ. Силу считаем по результату (в очках) тестовых матчей. Ну и соответственно тюнингуем ОФ так чтоб максимизировать силу. То есть пытаемся решить не косвенную задачу, а прямую - пытаемся не аппроксимировать ОФ, а пытаемся путем тюнинга ОФ максимизировать силу.
  27. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    9.275
    Симпатии:
    2.642
    Репутация:
    91
    Адрес:
    Москва
    Оффлайн
    Слишком уж дорогая оптимизируемая функция получается. С оценкой на миллионе партий на вычисление в одной точке уходит до десятка секунд, а тестовый матч сколько длиться будет, чтобы приличную точность обеспечить?

    Помнится, лет десять назад вы с Wildcat'ом пытались таким образом его Мурку оптимизировать, если я ничего не путаю. Чем тогда дело закончилось?
  28. NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    Выше уже ответили, напишу еще своими словами.
    1. Всю ОФ считает нейронная сеть, включая материал.
    2. MCTS совершенно другой переборный алгоритм, но он естественно тоже видит тактику.
    Альфа-бета тоже не гарантирует точного расчета комбинаций, из-за погрешностей оценки и из-за отсечений.
    В Alpha - нейронная сеть должна научиться учитывать в оценке возможность тактических ударов, и научиться высоко оценивать перспективные в тактическом отношении ходы (и давать низкую потенциальным зевкам). Вроде партии матча не показали ни малейшего преимущества Стокфиша в тактике и счете.
    3. MCTS/UCT (монте-карло) уже больше 10 лет успешно используется в ГО и других играх. Это тоже отличный переборный алгоритм, удобный и понятный, просто совершенно другой. Это не метод случайного выбора. В нем нет случайности. Название вводит в заблуждение.
    И переборные алгоритмы Alpha несравнимо проще чем в обычной шахматной программе на альфа-бете. В ней нет ни одной переборной эвристики. Только формула PUCT для вычисления веса ходов и выбора хода с большим весом. Что делает применение методологии АльфаЗеро универсальной для различных игр.
    —- добавлено: 27 дек 2017, опубликовано: 27 дек 2017 —-
    Таким образом изначально я посчитал ОФ в Скифи в 2007-ом году (метод случайных направлений), WildCat оптимизировал и Мурку и вроде Стокфиш с Белкой (уже точно не помню) - методом Нелдера-Мида.
    Ну и таким образом оптимизировалась Чайка и оптимизируется Стокфиш (методами высоких порядков, SPSA и т.д.)
    https://chessprogramming.wikispaces.com/Stockfish's+tuning+method
    https://chessprogramming.wikispaces.com/SPSA

    Не нужно миллиона партий для оценки в точке. Хорошие методы оптимизации устойчивы к шуму (погрешности в оценке).
    WinPooh нравится это.
  29. crem Учаcтник

    • Участник
    Рег.:
    24.11.2016
    Сообщения:
    140
    Симпатии:
    203
    Репутация:
    14
    Оффлайн
    Среди 4672 ходов есть и очень редкие, а именно взятия пешкой с превращением не в ферзя (причём опять же взятия влево и вправо различаются, взятия с каждой вертикали различаются, и превращения в каждую фиругу тоже различаются, и нейросеть не знает что это всё ходы пешки).
    Интересно сколько раз вообще встретился, например, ход "взятие пешкой с g7 на h8, с превращением в коня", в тренировочных играх, и достаточно ли этого чтоб обучиться. Мне кажется, даже на таком огромном количестве партий, alphazero только смогло обучиться, что этот ход всегда плох.
  30. Jadn Заслуженный

    • Заслуженный
    • Участник
    • Старожил
    Рег.:
    10.05.2006
    Сообщения:
    3.500
    Симпатии:
    2.221
    Репутация:
    51
    Оффлайн
    Готов поспорить, что в обученной сетке AZ есть нейрон, который загорается, если на доске присутствует, например, белый ферзь. И он имеет очень приличный вес. Наверняка, и у тренированного человека такое есть. Так что материал всё равно считается.
  31. nn Старожил

    • Участник
    • Старожил
    Рег.:
    25.03.2007
    Сообщения:
    1.100
    Симпатии:
    2.769
    Репутация:
    108
    Нарушения:
    18
    Оффлайн
    На ферзя может и несколько нейронов возбуждаться. Да еще и адреналин выделяться.
    roman57 нравится это.
  32. roman57 Учаcтник

    • Участник
    Рег.:
    23.09.2017
    Сообщения:
    116
    Симпатии:
    16
    Репутация:
    1
    Оффлайн
    Возможно частичка ваших способностей тоже есть в победе ИИ над человеческим разумом ^_-
  33. Undying Учаcтник

    • Участник
    Рег.:
    31.08.2016
    Сообщения:
    1.308
    Симпатии:
    553
    Репутация:
    15
    Оффлайн
    Почему этот ход плох? Обычно он тоже выигрывающий (лишняя фигура все-таки появляется), просто более сложным способом чем, если поставить ферзя. Поэтому по идее такой ход нейронка должна оценивать довольно высоко и вряд ли он вывалится из списка ходов-кандидатов, которые рассматривает переборный модуль.
  34. roman57 Учаcтник

    • Участник
    Рег.:
    23.09.2017
    Сообщения:
    116
    Симпатии:
    16
    Репутация:
    1
    Оффлайн
    Нейроны человека за 4 часа стих не всегда могут запомнить , а нейроны AZ разучивают шахматы - не иначе всему причиной допинг , куда смотрит WADA ?
  35. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    9.275
    Симпатии:
    2.642
    Репутация:
    91
    Адрес:
    Москва
    Оффлайн
    Как минимум одна моя партия могла попасть в первоначальную подборку АльфаГо. Для неё брали партии с сервера КГС игроков уровня выше какого-то дана. А я когда-то там играл с Динерштейном. Правда, на форе 9 камней, и дан был только у него. Так что полной уверенности нет :)
    roman57 нравится это.

Поделиться этой страницей