• На каком языке программирования лучше писать нейронные сети?

    obezh
    @obezh
    Python разработчик
    python
    1) лёгкий в освоении
    2) быстрый старт
    3) куча библиотек с этим связанных
    4) куча источников, откуда можно черпать информацию по этому поводу + примеров уйма
    Ответ написан
    2 комментария
  • Как генерировать числа с линейно заданной вероятностью?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    Для начала простой случай, где вероятность линейна на всём диапазоне, один сегмент.
    Генератор случайных чисел даёт дробное от 0 до 1 с постоянной вероятностью.

    Теперь вспомните график параболы y = x^2 Там на шаге x от 0 до 1, y растет от 0 до 1, на шаге от 3 до 4 y растёт уже от 9 до 16, на 7. Взяв равномерно-случайную величину от 0 до 16, квадратный корень из неё неравномерно попадёт на диапазон от 0 до 4. Вероятнее на диапазон 3-4, чем на 0-1. И вероятность попадания в точку x будет прямо пропорциональна x.

    Это интуиция, которая, надеюсь, поможет вам понять и разработать решение для вашей задачи.
    Ответ написан
    Комментировать
  • 123123123123123123123123123123?

    @asd111
    Не мучайся. Скачай тиндер и баду. Там уже есть все эти алгоритмы и тебе останется только нажимать лайк-дислайк.
    Ответ написан
    1 комментарий
  • Объясните пожалуйста кто такой Техник по информационным системам?

    Zoominger
    @Zoominger Куратор тега IT-образование
    System Integrator
    Аффтар жжот. Поступил в учебное заведение и спрашивает в Интернете, на кого он учится :)

    По теме - а чёрт его знает. У учебного заведения есть учебный план? Посмотрите в него, там обычно пишется, чему будут учить, если есть матан и программирование - это ваше, но так, чтобы выучиться на конкретную профессию в IT не бывает, часть знаний пролетит мимо, часть пригодится. Название специальности слишком обтекаемое, чтобы сказать однозначно.

    "Таскать пиво системного администратору да кабеля прокладывать" - с такими стереотипами и отношением к коллегам по цеху вы далеко не уедете. Я вот сисадмин, например, и мне неприятно.
    Ответ написан
    1 комментарий
  • Самый быстрый алгоритм для поиска самого большого значения в неотсортированном массиве?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    в неотсортированном массиве

    O(n)
    То есть полный перебор.

    Но он не используется в продкашене

    Вам нужен самый быстрый алгоритм или соответствие (мнимому) продакшену?
    Ответ написан
    2 комментария
  • Обучение в хорошем вузе с "проблемами" или обучение в "так-себе" вузе, но "без проблем"?

    platotel
    @platotel
    IT Product Manager
    Есть альтернативный вариант: поступить в топовый ВУЗ на ту специальность, куда хватает баллов, а после первого (максимум - второго) курса перевестись на ту специальность, на которую изначально хотелось. Сама проходила такой путь. Надо понимать, что при переходе на другую специальность нужно будет сдать академическую разницу (сдать те предметы, которые есть в учебном плане целевой специальности, но которых не было у вас) в установленный срок, да и вообще организовывать переход придётся самому (узнавать в целевом деканате, готовы ли вас взять, как в плане бумаг и процесса будет выглядеть перевод, где посмотреть учебные планы, чтоб понять академ. разницу и т. п.). В деканатах да и вообще практически нигде возможность переходов внутри ВУЗа и между ВУЗами особо не афишируется. Никто особо не рассказывает, что так вообще можно, как и не описывается, что для этого требуется. На родной кафедре могут оказывать психологическое и административное давление, не подписывая бумаги о переходе (кафедры не хотят терять финансирование, привязанное к количеству студентов), но если это преодолеть, сдать в установленные сроки разницу в предметах, то можно оказаться на изначально желаемой специальности вместе с теми, кто попал по олимпиадам или по очень высоким баллам ЕГЭ. Если переходить, то чем раньше, тем лучше. Если правильно помню, в течение 1 курса переводы запрещены, а вот сразу после 1 курса - идеальное время. Лучше узнать процесс до начала сессии, чтобы до летнего отпуска преподавателей понять, к кому, когда и зачем бежать, и успеть всё подписать.

    По опыту работы замечала, что более квалифицированные специалисты преимущественно обучались в топовых ВУЗах, да и во время обучения окружение очень важно (будет тянуть вверх, а не вниз), так что я бы посоветовала пытаться попасть именно в ВУЗы первого эшелона. Единственное: надо понимать, что на престижных кафедрах могут быть очень высокие требования к успеваемости, и если пытаться с 2-3 курса работать, можно не суметь сбалансировать учёбу и работу - и попросту вылететь. После отчисления не у всех хватает силы воли, времени и мужества опять пойти учиться (отчисление считается социально неприемлемым вариантом, хотя ничего непоправимого в нём нет).

    Самообучением в любом случае придётся заниматься. В том же ИТМО сидеть с тобой рядом и обучать программированию никто не будет. Дали лекции, дали задания - делаешь, сам разбираешься. Другое дело, что в топовом ВУЗе лекции и учебный план будут ближе к реальности, ближе к практике. Условно: будет не Паскаль, а Java и С#. Но нужно в любом случае пообщаться со студентами старших курсов и/или недавними выпускниками конкретной кафедры (найти в ВК по её названию и годам обучения). Узнать, насколько образование помогло в работе, помогает ли кафедра хоть как-то с трудоустройством, сколько людей идут работать по специальности, насколько легко совмещать учёбу с работой с 3-4 курса. Посмотреть и сравнить учебные планы по конкретным направлениям на конкретных кафедрах. Например, в СПбГУ на программерских специальностях даётся много математики, которая далеко не всем пригодится.

    Лично мне очень пригодились знания, полученные в ВУЗе (процентов на 70-80). Я работаю по специальности, и понимаю, что обучение дало мне хорошую базовую подготовку. А дальше уже самообразование помогло углубиться в то, что мне ближе.

    Насчёт варианта "не поступать" - надо понимать риски. Да, можно устроиться работать программистом, имея должные навыки и не имея диплома, но надо представлять, чем вообще по жизни хотите заниматься и где. Например, во многих западных компаниях для того, чтобы занять верхние управленческие позиции, нужно иметь или определённый уровень образования (бакалавр либо магистр), либо иметь сколько-то лет эквивалентного опыта. Да и в российских компаниях могут быть требования об обязательности высшего образования. Но самое главное - обучение в ВУЗе - это не только и не столько знания. Это прежде всего профессиональные контакты, круг общения. IT-мир довольно тесен, и одногруппники могут быть в вашей жизни больше, чем приятелями. Они могут помогать развиваться, помогать найти работу, рекомендовать вас и т. п. Это очень ценно.
    Ответ написан
    Комментировать
  • Язык для нейронных сетей?

    sim3x
    @sim3x
    А на чем написаны плагины для питона по вашему?
    Ответ написан
    Комментировать
  • Если 0, то 500, если 100, то 1200. Как мне найти Х?

    zagayevskiy
    @zagayevskiy
    Android developer at Yandex
    Бесконечное число ответов. Сколькими кривыми ты можешь соединить две точки? Вот тебе и ответ.
    Ответ написан
    Комментировать
  • День года: рассчитайся на 1, 2, 3...10. Формула?

    Beshere
    @Beshere
    Разработчик
    Деление с остатком - посмотрите учебник математики за 3 класс.
    Ответ написан
    2 комментария
  • Как и где хранить техническую документацию?

    MetaAbstract
    @MetaAbstract
    Архитектор информационных систем и баз данных. Ful
    DokuWiki
    Ответ написан
    Комментировать
  • Как упростить сравнение 4 чисел с помощью if?

    delphinpro
    @delphinpro
    frontend developer
    $Maccив = ПолучитьМассивЧисел()
    ОтсортироватьМассив($Массив)
    $Врем = 0
    Цикл $Число Из $Массив
      Если $Число == $Врем То 
        Принт("Есть совпадение")
        ОстановитьЦикл
        ВыйтиИзПодпрограммы
      Иначе
        $Врем = $Число
    Ответ написан
    5 комментариев
  • Нужно ли умножать сложности?

    @deliro
    Нет. Вот если бы у тебя было два вложенных цикла по string, то да. А тут сложность "складывается", потому что сначала O(n) — реверс, потом O(n) — создание цикла, потом O(n) — join. Но т.к. константы в сложности никому не нужны — это только O(n)

    Но ты, конечно, не поверишь, поэтому вот тебе доказательство. Время линейно растёт вместе с N
    5c6f07ce35b63943246212.png
    Ответ написан
    Комментировать
  • Где найти задачи по упрощению логических выражений?

    longclaps
    @longclaps
    Скилы по упрощению логических выражений пусть лучше лошадь развивает, у неё голова большая )))
    Но раз уж тебе так приспичило - вот тренажер:

    from random import choice
    
    def scheme(n, m):
        """
        :param n: число входных аргументов, не более 26 (a..z)
        :param m: число логических операций, фигачь сколько влезет
        :return: строка с логическим выражением для упрощения
        """
        l, s = list('abcdefghijklmnopqrstuvwxyz'[:n]), ''
        while s.count('(') < m:
            op = choice(('not', 'and', 'or', '^'))
            s = f'(not {choice(l)})' if op == 'not' else f'({choice(l)} {op} {choice(l)})'
            l.append(s)
        return s
    
    print(scheme(5, 10))

    Вот проверялка, никакой обработки ошибок, всё по хардкору - извини:

    import re
    from itertools import product
    
    def check(task, solution):
        """
        :param task: строка задачи
        :param solution: строка решения
        :return: эквивалентны ли они (bool)
        """
        args = sorted(set(re.findall(r'\b[a-z]\b', task)))
        chk = compile(f'({task})==({solution})', '<string>', 'eval')
        return all(eval(chk, {}, dict(zip(args, bulls)))
                   for bulls in product((False, True), repeat=len(args)))
    
    print(check('a and (b or not b)', 'a'))
    print(check('a and (b or not b)', 'a ^ b'))

    Не забудь рассказать об успехах.
    Ответ написан
    2 комментария
  • Есть ли универсальный алгоритм для задач 'Можно ли переложить 1 спичку, чтобы равенство стало верным'?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Как это сделать программно?

    Найти все возможные положения в которые можно положить спичку. Найти все допустимые фигуры из спичек. Вывести значение каждой допустимой фигуры и каждой комбинации допустимых фигур. Пройти по всем спичкам, каждую спичку переложить во все возможные положения, проверить, допустимы ли все образовавшиеся фигуры и их комбинация и вычислить значение получившегося выражения. Звучит просто, не правда ли?
    Ответ написан
    2 комментария
  • Почему время выполнения на разных машинах отличается?

    @deliro
    Ещё раз, чёрным по белому. Сложность алгоритма НЕ ОТРАЖАЕТ реального времени выполнения. Время может различаться хоть в миллион раз. Сложность ОТРАЖАЕТ характер роста времени/памяти при росте этого твоего N.
    Ответ написан
    1 комментарий
  • В какой специальности или должности можно соединить ИТ, финансы и юриспруденцию?

    fox_12
    @fox_12
    Расставляю биты, управляю заряженными частицами
    Там где строго все три - взломщик банковских сайтов и банковских сетей )
    В остальном - как правило все три навыка в равной степени не требуются.
    Ответ написан
    Комментировать
  • Какую формулу комбинаторики использовать?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Посчитать количество нулей и единиц в исходном числе. Пусть это будут N0 и N1.
    Если нули не могут стоять спереди, значит спереди может стоять только единица. Если N1 > 0, уменьшить N1 на 1, иначе нет решений.
    Теперь нужно упорядочить N0 нулей и N1 - 1 единицу всеми возможными способами. Их будет (N0 + N1 - 1)!. Но поскольку все нули и все единицы одинаковы, то разных комбинаций будет в N0! * (N1 - 1)! раз меньше, (N0 + N1 - 1)! / (N0! * (N1 - 1)!). Это -- перестановки с повторениями. Для числа 100101 результат 10:
    100011, 100101, 100110, 101001, 101010, 101100, 110001, 110010, 110100, 111000.
    Ответ написан
    Комментировать
  • Как реализовать эффект "расщепления" объекта при столкновении?

    samodum
    @samodum
    Какой вопрос - такой и ответ
    Возможно, particles.
    Но, мне кажется, что проще всего в момент столкновения заменить окружность набором более мелких, придать им начальную скорость разлёта в случайных направлениях и с каждой итерацией скорость умножать на коэффициент меньше 1 по аналогии с силой трения, например, на 0.95. когда скорость частиц будет ниже порогового значения, остановить
    Ответ написан
    5 комментариев