• Как можно реализовать движение объекта в 2d пространстве к еде с помощью нейросети?

    maaGames
    @maaGames
    Погроммирую программы
    Вознаграждение за "еду" не забыл добавить? Ближайшую еду не надо передавать, достаточно координаты любой еды или "всех едов". На самом деле, нужно всё игровое поле передавать или регион, в котором находится объект. Ведь движение будет не в пустом пространстве, в итоге надо будет обходить препятствия и "врагов".
    Штраф за каждое передвижение, большое вознаграждение за кушание еды. И учить, учить, учить... Нейросеть сама научится выбирать ближайшую цель и двигаться к ней.
    Например задать "здоровье" объекта равное числу клеток на игровом поле. За каждый шаг здоровье снижается на 1 и объект умирает, когда здоровье равно нулю. Такой подход гарантирует, что объект не сможет топтаться на одном месте и ходить кругами, а выживут только те, кто или будет бегать по всему полю и случайно наткнётся на еду и те, кто будет целенаправленно бежать к еде. В процессе отбора последние, скорее всего, останутся последними выжившими.
    Ну и множитель корректировки не дожен быть слишком большим или слишком маленьким, количество слоёв должно быть не слишком маленьким и не слишком большим, топология сети должна быть... какая-то.
    Ответ написан
    Комментировать
  • Forth-процессоры программируются на Форт?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Прошу прощения за внезапный UP.

    Но мне задали вопрос про Forth. Я увлекся и тут меня (Остапа) понесло.
    Вобщем я начал читать и листать всякую инфу по форту. Первое впечатление - полный бардак
    в стандартах. Нет никакого общего понимания что такое вообще язык Форт. По крайней
    мере я для себя понял что форт - это просто набор слов (words) каждое из которых либо число
    либо слово которое вызывает вычисления. Больше реально ничего не регламентировано.
    И я так понимаю что Форт-еров это вообще не парит. Они такие себе либеральные оптимисты.
    Судя по конференциям средний возраст Форт-иста - далеко за 70 лет. Дедушки с бородами...

    По поводу компиллятора и транслятора. Ничего пока непонятно. Целевая платформа
    - не всегда x86 а всякое редкое железо. И тренироваться могу пока на GForth который
    кое-как работает но не хватает слов. И YForth который крашится в segfault сразу
    на моем Linux x64. Остальные я пока не пробовал.

    Сам внешний вид кода у меня вызвает немой восторг как когда-то вызывал Common-Lisp.
    Это пожалуй редкое чувство я не испытывал давно. И при всем при этом я не нашел
    совершенно никакого практического применнеия. Так. Просто забавная мозговая идея
    которую приятно думать на сон грядущий.

    На главный вопрос автора - и я ответить не могу. Не знаю является или нет. И я не знаю является
    ли он вообще ЯЗЫКОМ. МОжет он как Lisp - просто идея. Он просто настолько широк что
    определение языка его сужает.

    Надеюсь я никого не отвлек своим спичем от важных дел.
    Ответ написан
    2 комментария
  • Вот вы защитились в аспирантуре и работаете в IT — степень помогает?

    @archelon
    — отсрочка/освобождение от призыва;
    — возможно phd когда-нибудь где-нибудь и пригодится. никогда не знаешь, как жизнь сложится в дальнейшем.

    P.S. у меня есть степень. из вуза давно ушел. пользы, кроме морального удовлетворения, не наблюдается. вреда, однако, тоже никакого :)
    Ответ написан
    2 комментария
  • Можно ли быстрее чем за O(N) подсчитать сумму S(N,K,M) = sum i=0..N K*i%M?

    @Sumor
    Если я правильно понимаю, то это просто арифметическая прогрессия на кольце вычетов по модулю M.
    Так что нужно рассчитать сумму членов арифметической прогрессии по формуле:
    ((K + K*N)/2 * N) % M
    Ответ написан
    1 комментарий
  • Как создать простой TUI интерфейс в Линуксе?

    @SurdLen
    1. Кроме ncurses/curses (C и Ada) (пример https://help.ubuntu.ru/fullcircle/20/программа_на_си_ч4 ) для TUI интерфейса в Linux и FreeBSD есть и другие решения...

    2. Slang/s-lang (улучшенный C, не D). Примеры с кодом: Midnight Commander , Mutt e-mail client , Lynx browser, Aalib + mplayer, Jed text editor.

    3. FreePascal/Lazarus FreeVision / Turbo Vision (Pascal и С++). FreeVision: https://github.com/unxed/fv_utf8 , https://wiki.freepascal.org/Free_Vision#C.2B.2B . Есть пример обертки для RAD-быстрокодинга: https://github.com/x2nie/TUI . Также Boralnd сделала свою открытую версию, ее ftp украла история битв компаний, поэтому есть альтернативный клон https://github.com/magiblot/tvision (MIT, С++17), и исправленная прошлая версия www.sigala.it/sergio/tvision (BSD, С++, с примерами).

    4. Java обертка Lanterna (Java) работает и в Windows, и в Linux. Это чистый java-клон curses (без C): https://github.com/mabe02/lanterna

    5. CDK (C) - необязательная обертка и надстройка над ncurses, работает в Unix, QNX и Linux (BSD): https://invisible-island.net/cdk/
    Ответ написан
    Комментировать
  • Прошу высказаться по схемотехнике и назначения элементов .Как работает кипятильник на симисторах?

    @pfg21
    ex-турист
    картинку конечно можно было и почетче прикрутить :)
    оптопары, судя по хреновой картинке, использованы со схемой "включения после перехода тока через ноль". глянь даташит на moc3803 к примеру. чуть лучше для нагрузки, даже резистивной.
    "сопротивления на симисторах в общую точку" служат для обратной связи, так контролер узнает что ток через управляющие электроды симисторов идет.
    VT1 VT2 VT3 формируют переменное напряжение на датчиках. с датчиков сигнал снимается через удвоитель напряжения. зачем так задумано сложно сказать. к примеру для работы в слабопроводящей жидкости :(
    Ответ написан
  • Где учить этичный хакинг по С\С++\Python?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Таким вещам нигде не учат. Сначала становишься профессиональным программистом с широким кругозором и глубокими знаниями, а потом учишься сам в исследовательском режиме. Чтобы взломать сайт вроде Тостера, надо сначала уметь написать сайт вроде Тостера.
    Ответ написан
    1 комментарий
  • Как составить рейтинг по результатам поединков?

    gbg
    @gbg
    Любые ответы на любые вопросы
    Всем присваиваете стартовый Эло, например, 1200 (как это делает chess.com)
    Далее, начинаете просчитывать рейтинг игроков, выбирая партии в хронологическом порядке.
    Ответ написан
    4 комментария
  • Клиент подаёт в Арбитраж Upwork, с меня вывернут 291$?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Во-первых, American Arbitration Association - не представители закона, это просто организация помогающая улаживать разбирательства в досудебном порядке. Во-вторых, вам стоит поинтересоваться в поддержке UpWork где в их правилах зафиксирована возможность вмешательства в арбитраж дополнительных сторон. Наконец, клиенту вы можете сообщить, что не работаете в юрисдикции US, а потому арбитраж они могут привлечь только для разбирательства с UpWork.
    Ответ написан
  • Удаленщики, работающие в англоязычных компаниях - возникают ли у вас проблемы с английским языком и как вы их решаете?

    @AndromedaStar
    .Net - monkey
    Просто вам нужна разговорная практика, лучше всего ее получить с помощью сайтов, где можно удаленно позаниматься с носителями языка из других стран. Причем обычно там ставки учителя копеечные, поэтому можно много времени уделять этому. Никогда не платил больше 5 баксов в час.
    Я вот лично занимался даже с африканцами, такая практика сильно раскрепощает и идет на пользу. Заодно познакомитесь с другими культурами, это очень интересно на самом деле.
    Главное делать упор на просто болтовню.
    Через полгода ваш мозг вообще не будет считать диалог на английском большим стрессом, так как вы уже рассказывали парню из Нигерии, как вы катались в детстве с горки на дверце из под холодильника.
    Отличный опыт.
    Ответ написан
    2 комментария
  • Что происходит на рынке труда в айти?

    @SamMorgan
    На рынке IT очень большой кадровый голод в принципе. На это много причин, от короны, которая создала нишу для новых решений всякого рода услуг до того, что русский ITшник достаточно дешевый для зарубежных заказчиков из более развитых экономических стран. А сама сложность старта зависит от выбранной сферы в IT или от конкретной технологии. Банально на 3 вакансии front-end разработчика приходится 1 вакансия на .Net разработчика. При этом уровень входа во фронт и бек в принципе разный, что по уровню знаний, что по требованиям рекрутеров. Про менеджерскую прослойку вообще молчу. Если хотите так сказать "Войти в IT", попробуйте хотя бы узнать, что вообще такое IT и какие специалисты там есть. А по всякого рода курсам я для себя выделил 3 вида. 1) Типичные инфоцыгане, которых рекламирует каждый околоайтишный канал. Они за какую-то относительно небольшую денюжку предлагают вам материал уровня книг Head First и живут по принципу "Лох не мамонт". Не забывайте, русский человек всегда любил об*бать ближнего. 2) Всякого рода бассейны от Сбербанка, где как уже говорилось другими, тебя будут просто насиловать, используя в обучении копии реальных проектов. Ощущения по началу сомнительные, но после этого и контракт на галерах в той же компании будет, и опыт, который вы вряд-ли где кроме реальных проектов получите. 3) Курсы по типу "Наши ученики трудоустраиваются в 100% случаев". Такие курсы и вправду заинтересованы в том, чтобы вы устроились айтишником, так как у вас будет финансовый долг перед ними в размере чуть ли не полного обучения в университете, либо в течении 2-3 лет будете отдавать процент от своей зп. Такие компании готовят вас к типовым рутинным задачам в компании, не вдаваясь в тонкости. А так же они учат вас проходить собесы, правильно врать в резюме и оправдывать своё враньё, писать в резюме фейковые компании, на которых вы "работали" по ГПХ. Ну и плюс комьюнити курсов, которые делятся опытом и помогают при собесах.
    Вот из-за этого и много резюме от таких "IT-шников". Только одно радует, чем больше глупых, тем проще быть умным.
    Ответ написан
    Комментировать
  • Вопросы про нейронную сеть?

    Vindicar
    @Vindicar
    RTFM!
    Отвечу на что смогу.
    > Как посчитать нейросеть для тупого запоминания выборки?
    > Почему обучая нейросеть она может менять свой процент правильности?
    > Почему при увеличении слоев сеть порой тупеет.
    Это называется переобучение. Если очень наглядно, то это можно представить так:
    underfitting_and_overfitting_in_machine_learning_image.png
    Слева - недостаточно сложная сеть. Она не может приспособиться к сложности данных, и даёт только грубое подобие той закономерности, которую мы моделируем.
    Справа - чрезмерно сложная сеть. Она очень хорошо вписывается в обучающую выборку (точки на графики), но если ей дать промежуточные точки (т.е. те. которых не было в обучаяющей выборке), она будет давать сильно отличающиеся от реальных ответы. Это и есть "сеть зазубрила выборку" (подразумевается "вместо того, чтобы понять её закономерности").
    Твоя задача как архитектора сети - выбрать такие гиперпараметры (это то, что ты выбираешь до обучения - число слоёв, размер слоёв, скорость обучения, функция активации и т.д.), чтобы сеть не переобучалась.
    Собственно, на графике ошибки сети это как раз выглядит так:
    overfitting-and-underfitting-wrt-model-error-vs-complexity.png
    Синяя кривая - ошибка на обучающей выборке. Желтая - на контрольной. По оси X - сложность сети.
    Тогда твоё поведение объясняется так. Сложная сеть сначала быстро приспосабливается к выборке (быстро падает ошибка на обоих выборках), а потом начинает зазубривать обучающую выборку (и набирать ошибку на контрольной, так как перестаёт понимать закономерности). Если ты это наблюдаешь - сеть слишком сложная.
    Ответ написан
    Комментировать
  • Как посчитать число 2 в 1 000 000 000 000 000 степени?

    @galaxy
    Вам точно или примерно? Если как в физике обычно, то:
    21 000 000 000 000 000 = 10lg(2)*1 000 000 000 000 000 = 10301029995663981,1952137... = 100,1952137... * 10301029995663981 = 1,567522 * 10301029995663981
    Ответ написан
    1 комментарий
  • Очень быстро лить в БД 1 млн. строк в секунду и настолько же быстро читать их. Как лучше осуществить?

    @rPman
    лить в таблицу (ticker, price, quantity, oper) ежесекундно ~1 млн. строк
    колись, у какого брокера и за какие деньги ты получаешь эти данные такого объема?

    Есть данные типа level2/3 (когда вместе с событиями trade тебе льют depth update, изменения в стакане или сами события в стакане, это данные дорогие, доступ на большом рынке тебе дадут только с машины в датацентре брокера, где надо платить еще и дорогую аренду сервера. В мире криптовалют эти данные пока бесплатны, к примеру один binance (крупнейший поставщик биржевых событий, сравним с ними coinbase точнее gdax остальные в сумме наверное от силы столько же дадут) и тот дает порядка 4 тысяч событий в секунду, максимум что я от них видел.

    По теме вопроса, всегда, в первую очередь нужно задавать вопрос не как и где хранить данные а как ты их будешь читать. Судя по теме с высокой вероятностью тебе не нужены отдельные случайные события, а нужны данные блоками, на интервале, поэтому и в базе хранить данные лучше этим блоками (вот тут уже надо считать, проводить бенчи на основе твоих данных и твоих мощностей), скорее всего тебе хватит почасовые массивы, тогда при любом запросе потока на момент времени x-y тебе нужно читать минимум две записи, это сотни миллисекунд, плюс фильтрация, на эту уходят десятки миллисекунд даже на php, если в базе данные удобно сериализованы, дольше передавать и обрабатывать будешь.

    Голову потока данных (текущая минута-час) храни в локальном кеше бакэнда, в памяти, чтобы эти данные выдавать сразу но маловероятно что тебе это нужно, обычно нужна агрегация а не сырые данные.

    Так вот, хранить данные можно буквально в файлах, файловая система - отличная key value база данных (дели по файлам и каталогам на основе валютной пары, биржи, и временного интервала, но на время лучше индекс заводить), работать с такой базой неудобно только при обслуживании (backup/restore) но если изначально организовать хранилище в отдельном разделе, то и работать с ним напрямую.

    Одно время я хранил данные в gzip json, но недавно открыл для себя igbinary, чудесная вещь, бинарный при этом тоже пакуется, файлы храни на btrfs со включенным сжатием zstd ultra.
    Ответ написан
    6 комментариев
  • Вывод денег с Freelancer.com в связи с отменой Wire transfer?

    @silaradost
    > upd: В процессе очень долгих переписок выяснилось, что как минимум для расчетных счетов Express метод не применим (и им это давно известно), хотя при выводе есть отдельная категория INDIVIDUAL ENTREPRENEUR ...

    Вывод Express на INDIVIDUAL ENTREPRENEUR не работает. Выбираете эту категорию, вводите реквизиты р/с и КПП 000000000 (9 нулей).
    - И отправляете деньги.
    - ждете 3-5 дней
    - деньги придут на личный счет если вы раньше им пользовались для express вывода.
    - не знаю куда попадут деньги, если это ваш первый счет и первый вывод, нет такого опыта.

    У меня тикеты об этом в поддержке есть, скрины подтверждают приход денег на личный счет.
    На счет ИП (введенный позже чем личный) ничего не приходит. Пробовал рублевый счет ИП Точка банк, Тинькофф, одинаково.
    На первый запомненный системой Freelancer.com верифицированный счет идут рубли.
    Ответ написан
    Комментировать
  • Что будет за раскрытие факта уязвимости на гос-ресурсе?

    Vamp
    @Vamp
    Напишите обращение в Роскомнадзор. Персональные данные - это их вотчина.

    Мол, данный сайт раздает персональные данные направо и налево, прошу провести правовую оценку и принять меры.

    Не пишите про взлом или ещё что-то. Иначе это повод для ст. 272 УК РФ. Плохо, что вы угрожали публикацией в СМИ. Это тоже могут использовать против вас.
    Ответ написан
    Комментировать
  • Как научиться объяснять?

    @dmshar
    Есть волшебный метод, который называется "декомпозиция". Мои наблюдения говорят, что 80% людей им просто не владеют. От слова - вообще. Ни в профессиональной, ни в обыдиной жизни. Но вот те, кто объясняют доходчиво - владеют им виртуозно.
    Заключается он в следующем. Если надо что-то объяснить, и это что-то чуть сложнее таблицы умножения (но и ее кстати тоже), задачу можно всегда разбить на части, из которых компонуется готовое решение. Вы должны на первой "итерации" объяснить ответ "с птичьего полета", как последовательностей этих самых подзадач, без углубления в детали, без подробных выкладок, что называется - "на пальцах". Причем, конечно, на языке понятном и воспринимаемом партнером. Когда (и если) он поймет вашу идею, поймет шаги - начинаете углубляться в объяснение конкретных подзадач. Вот тут уже начинаете использовать меньше "его" терминов, больше "своих". В какой-то момент он начинает сам понимать и самостоятельно додумывать решения. Тогда переходите к следующей подзадаче. Конечно, каждую подзадачу часто можно (а иногда - для очень сложных задач - и нужно) декомпозировать дальше. И так до того момента, когда вы можете объяснить полностью.
    Тогда вы и сами понимаете "roadmap" вашего объяснения, не теряете нить рассуждений и не сбиваетесь, и партнеру легче выстраивать "цепочку понимания", следя за ходом объяснения и сразу понимая, где именно он перестал улавливать мысль. Разумеется, при этом очень важно, что-бы собеседник был заинтересован в том, что-бы получить от вас объяснение, а не просто спросил чтобы "а поговорить".
    Ответ написан
    3 комментария
  • Как стать хорошим аналитиком в IT?

    inoise
    @inoise
    Solution Architect, AWS Certified, Serverless
    Если вы аналитик то используйте эти навыки для достижения своей цели. Сформируйте цель, определите слабые места, недостаток компетенций, декомпозируйте. Если вы этого не можете сделать то вы не аналитик, а самозванец. Аналитик это одна из самых гибких профессий где умение номер ноль это справляться с новыми для себя проблемами
    Ответ написан
    2 комментария
  • Как формируется оценка стартапа и когда появляются деньги? Что почитать?

    @jazzus
    тот же блаблакар ничего кроме довольно простого сервиса с клиентами под мобилку не имеет

    Никому не интересен код, сервис и функционал. Это даже не пшик и не пыль. Это вообще ничего, null. Всех интересует только аудитория приложения (качество и количество).
    Ответ написан
    Комментировать
  • Как передать даные с ESP32 на удаленный сервер?

    gbg
    @gbg Куратор тега Arduino
    Любые ответы на любые вопросы
    Arduino позволяет подключиться по HTTPS и отправить запрос. Этого должно хватить.
    Ответ написан
    Комментировать