Перейти к содержимому

eu_tomat

Модераторы
  • Публикации

    2 666
  • Зарегистрирован

  • Посещение

  • Победитель дней

    331

Комментарии блога, опубликованные пользователем eu_tomat

  1. OpenComputers 1.7.6


    2 часа назад, Fingercomp сказал:

    Каждый прямой вызов, даже если он бесплатный (а он должен быть практически бесплатным, если активен ненулевой буфер), проходит через слой Lua ↔ Scala. Это значит запаковать аргументы, проверить их, передать в сишную функцию от JNLua, которая для каждого аргумента создаст жвм-объект, найти колбэк по адресу компонента и имени метода, сожрать 2-32 единиц бюджета, произвести диспатч в колбэк, внутри него обработать вызов, потом принять результаты, их нормализовать в поддерживаемые JNLua, отдать в нативную сишную функцию от JNLua, которая каждый принятый жвм-объект преобразует обратно в луа-значения и вернёт их, потом полученные значения запаковать, проверить, распаковать и вернуть. Я надеюсь, что даже при таком длинном описании на деле это займёт не особо длительное время (думаю, порядка сотни микросекунд; источник оценки — потолок), однако если произвести 16 тысяч таких вызовов, то оверхед может стать достаточно существенным.

    Надо же, оказывается, существует бюджет и для прямых вызовов! Похоже, что значение бюджета вызовов 232 является чисто номинальным. По факту тяжело сделать даже 216 вызовов computer.uptime за такт. При том, что это сравнительно дешёвый вызов. То есть, совершая прямые вызовы, мы упираемся не в бюджет вызовов, а в производительность, условно говоря, процессора.

     


  2. В 17.03.2016 в 17:54, eu_tomat сказал:

    Как бы с новым геолайзером не пришлось использовать 33-кратное сканирование. Но ты прав, не так страшно всё это. Мы ж программисты, придумаем новую копалку круче прежней.

    Как интересно порой читать старые обсуждения! Сейчас @ProgramCrafter лайкнул мой старый комментарий, и я решил посмотреть, что же его так впечатлило. А сейчас я прочитал, и сам проникся.

     

    Да! Мы-таки нашли подход к новой механике геосканера. И не хуже прежнего. Это оказалось правдой.

    Вычисление погрешности геосканера

    Методика ускоренного вычисления константы шума геосканера

    Оккультные практики при поиске руды

    Этот подход конечно, не доведён до кристальной ясности, но он уже сейчас позволяет на порядок уменьшить количество сканирований и при этом полностью отделить полезный сигнал от шума независимо от расстояния. Я, когда писал свой старый пост, даже не мечтал о таком. Вот она, мощь коллективного исследования!


  3. Есть ещё одно интересное свойство карты самоуничтожения. Будучи вставленной в робота, она просто его уничтожает. А вставленная в компьютер, она кроме того взрывает окружающие блоки и наносит урон мобам. Также проверялось на 1.7.10.

    • Нравится 1

  4. 20 минут назад, hohserg сказал:

    У Self-Destruct Card можно сбросить отсчет взрыва, если включить компьютер. Сделать это можно по разному, например, переставить карту в выключенного робота и включить его или просто перезапустить текущего робота. Тестировал на майне 1.7.10.

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


  5. 19 минут назад, Fingercomp сказал:

    Не знал, как по-русски понятно написать, оставил транскрипцией — hunk, часть диффа.

    Ясно. Похоже, как и с чанком, который мы уже привыкли транслитерировать. Хотя, и то и другое означает кусок, часть, фрагмент.


  6. Цитата

    Этот пост я написал, чтобы не забыть самому. Сомневаюсь, что кому-то интересно заниматься такой норкомагией.

    Спасибо за описание именно такой норкомагии. Мне было очень интересно читать. И заняться чем-то подобным в перспективе я тоже планировал.

     

    И, хвала небесам, у меня есть нормальная ось.

     

    Вот здесь не понял:

    Цитата

    Первый ханк нужен, чтобы можно было потом компилировать мод.

    Что такое ханк? Хак?


  7. 2 часа назад, Alex сказал:

    Да Бог с ними с теми бабочками) Меня только слово "крашится" заинтересовало и насторожило:)

    Я как-то в одной песне услышал слова "я раскрашивал небо, как мог". Так я тоже заинтересовался и насторожился сначала. Но потом пришлось срочно разынтересовываться и расстораживаться, т.к. бабочки там ничего не крашили, а красили всего лишь.

  8. OpenComputers 1.7.5


    2 минуты назад, Fingercomp сказал:

    Ну, не, это другое уже, полагаю. В моём случае целый тред воркера блокировался, так как код не вызывал yield вообще. А watchdog, заметив зависший тред и чуя неладное, крашил сервер.

    Да, это другое. У тебя более жестокая штука.

  9. OpenComputers 1.7.5


    1 час назад, Fingercomp сказал:

    На новой версии эксплоит не работает. Это я проверил.

    У меня работает и на новой версии (OpenComputers-MC1.7.10-1.7.5.1290-universal.jar) тоже. При повышении нагрузки сначала начинают тупить компы, а затем появляются фризы в Майнкрафте.

  10. OpenComputers 1.7.5


    Цитата

    TLWY не выкидывался, когда надо было. Можно было сервер положить. Теперь эту ошибку нельзя перехватить в pcall/xpcall.

    Что-то не обрадовал меня этот фикс. Он принёс только вред. А пользы ноль. Перехват TLWY в pcall/xpcall являлся необязательным костылём, гриферский эксплоит продолжит работать и на новой версии. Зато теперь пострадают игроки, которые время от времени получают случайные TLWY по причинам, мало зависящим не только от их скриптов, но и вообще Майнкрафта.

    • Спасибо 1
  11. Цитадель №0


    3 минуты назад, BrightYC сказал:

    Пусть роботы сами начнут играть в майнкрафт, без контроля человека, как у Крутого.=d

    Пусть сами познают майн, а какой-нибудь один из роботов сделает такой же форум, где роботы будут ныть, что строить или копать больше нечего;)

     

    Отлично. Новая цель сформулирована. Какие моды тебе нужны для этого?

  12. Цитадель №0


    4 минуты назад, BrightYC сказал:

    P.S Всё написанное актуально только при наличии очень сильной мотивацией:(
    Но убивать мобов с помощью радаров - мазахизм, кто этим заниматься будет - неясно.

    Без мотивации даже Майнкрафт не запустить. Но находятся же любители, запускают. Также у нас есть нытики, которые любят говорить о том, что программировать в майне уже нечего, что всё уже написано. Вот, есть и задача для них. Не всем же её надо решать, песочница ничего не навязывает.

    6 минут назад, BrightYC сказал:

    И опять же, @eu_tomat, на ванильном OC не уедешь.

    Ну, дракон, считай, убивается одним лишь ванильным OC (при очень сильной мотивации :). Куда ещё ты хочешь уехать?

  13. Цитадель №0


    4 часа назад, BrightYC сказал:

    Возможно, с помощью каких-то вспомогательных модов это можно сделать, но на ванильном OC далеко не уедешь.

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

     

    4 часа назад, BrightYC сказал:

    Как получать ресурсы с мобов

    В зависимости от настроенной дальности сенсора OpenPeripheral строим сеть сенсоров, расставленных чаще или реже. Рано или поздно в зоне покрытия заспавнятся нужные мобы. Подвести к мобу робота и ударить того каким-то предметом не проблема. Чтобы не строить сетку сенсоров объёмной, ровняем площадку для спавна мобов, полностью заполняя блоками пространство под площадкой, и полностью освобождая от блоков пространство над ней.

     

    Это задачу, наверное, можно и ванильными датчиками движения решить. Заспавнившиеся мобы обычно как-то двигаются, хотя и вяло, если не видят игрока.

     

    4 часа назад, BrightYC сказал:

    Как найти портал в энд

    Робот умеет бросать око Края. А всё тот же сенсор OpenPeripheral умеет находить координаты любых предметов, и летящего к порталу ока тоже. Да, сенсор работает только стационарно при подсоединении к компьютеру, но робот способен передвинуть эту установку в любое положение и включить её.

     

    Средствами ванильного OC найти портал сложнее, но тоже можно.

    1) Роботы-копальщики могут натолкнуться на неломаемые блоки, которые с большой вероятностью окажутся блоками портала Края.

    2) Геосканер может обнаружить блоки с плотностью бедрока, но расположенные специцическим образом.

    3) При непосредственном контакте геосканер точно определяет тип блока.

    4) Око края с вероятностью 80% выпадает в ограниченной от броска области. Если заранее подготовить площадку достаточного размера, и после броска из центра роботом прососать всю площадку, то вместе с найденным глазом будет найдено и направление к порталу. Триангуляция поможет сэкономить время и ресурсы при поиске портала.

     

    Активировать портал тоже можно роботами.

     

    @BrightYC Ты у нас вроде любишь играться с дронами. Если не трудно, проверь, можно ли дроном пройти через портал в другое измерение. Робот, насколько я помню, пройти не может. Но мобы через порталы проходят. А как поведёт себя дрон?

     

    Если пройдёт дрон, то он пронесёт и робота. А дракона роботы могут даже из ванильных луков убить. Конечно, робот управляет стрельбой неполноценно в сравнении с игроком, но при желании можно просчитать все доступные роботу траектории полёта стрел.

     

    Даже если нет нормальных радаров, быстро и точно определяющих положение дракона, того можно просто заспамить вслепую стреляющими роботами. Пусть, они сами будут массово гибнуть, но Край они разберут на атомы, рано или поздно.

     

     

    • Одобряю 1

  14. 45 минут назад, 1H4Ck3Rru5 сказал:

    Попробуйте эту версию

    LionRay.jar 38 \u041a\u0431 · 1 загрузка

    Как-то стрёмно это скачивать. Каково происхождение файла? Лучше бы выложить ссылку на источник, которому можно доверять.


  15. Тут вопрос не в скорости, а в принципиальной возможности. Чтобы обучаться, нужно экспериментировать, сравнивать результаты со старыми. А как нейросеть поймёт, что текущий вариант действий лучше предыдушего, если ситуация каждый раз новая? Например, в прошлый раз было собрано 5 блоков руды за 5 секунд, а в этот 5 блоков за 7 секунд. На первый взгляд может показаться, что текущее решение хуже предыдущего, но на практике может оказаться, что прошлую задачу можно было выполнить за 4 секунды, а в этот раз 7 секунд являются наивысшим пределом. И как нам, не имея простого критерия правильности, обучить НС оптимальной копке?

     

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

     

     


  16. 24.02.2019 в 19:05, John_Trucena сказал:

    ну если так сделаешь, то оптимум будет достигаться для каждой сборки, хоть и со временем

    А за счёт чего он будет достигаться? Откуда робот узнает, что поступил не самым оптимальным образом? Сама по себе нейросеть в лучшем случае научится добывать хоть что-то и хоть как-то. 


  17. 26 минут назад, Doob сказал:

    Большую часть я уже решил штрафами и логической связкой, на каждый хак там всего пара строчек.

    Да, хорошее решение. Я уже посмотрел последнюю запись блога.

     

    38 минут назад, Doob сказал:

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

    Да, медленная штука. Её обсуждение имело смысл только в противовес методам Монте-Карло.

     

    29 минут назад, Doob сказал:

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

    Я предпочитаю называть затраты на работу нейросетей не околонулевым, а фиксированным. От количества нейронов и связей между ними зависит сложность решаемых нейросетью задач. И "просто выплевывание готовых последовательностей" сводится к обсчёту всех нейронов с учётом их взаимосвязей. Да, алгоритм примитивный,  но молотить придётся много. А если немного, то и результат будет не лучшим. Придётся искать компромисс, как и всегда.

     

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

     

    Но идея интересна, согласен.

×
×
  • Создать...