• Нейросети и машинное обучение?

    @ivodopyanov
    NLP, python, numpy, tensorflow
    Искуственный интеллект - это способность программы (агента) делать какой-то выбор в некоторых условиях. Алгоритмы сортировки или поиска пути в графе - это тоже ИИ.

    Есть несколько подходов к реализации ИИ. Один из них - это машинное обучение, когда мы предоставляем данные и при помощи какого-то алгоритма "обучаем" агента, формируем в нем математику того, как принимать решение. Другой вариант - это, например, просто закодить логику.

    Нейронные сети - одна из моделей машинного обучения. Т.е. это некоторая форма, при помощи которой мы пытаемся описать процесс, требующий принятия решения.

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

    @kvasek
    Ну так не указывайте dynamic, в чем проблема ?

    Про
    int на short точность и таким образом отбросить счетчик
    вообще непонятно.
    Ответ написан
    Комментировать
  • Зачем тут тип dynamic?

    tomnolane
    @tomnolane
    профессиональный разработчик
    тип dynamic существует только во время компиляции, но не во время выполнения

    источник
    т.е. после компиляции, компилятор сам его преобразует (если получится) в нужный тип (например в int)
    зачем тип счетчика вообще указывать как dynamic

    я тоже не вижу (никакого) смысла так указывать. Эта точно не та вещь, ради которой ввели саму сущность ( dynamic ). Более рациональное использование - это в JSON объектах и для взаимодействия с .COM
    Ответ написан
    Комментировать
  • Зачем тут тип dynamic?

    yarosroman
    @yarosroman Куратор тега C#
    C# the best
    нету смысла и учитывая, что работа с динамическими типами несет много накладных расходов, то вдвойне нет смысла.
    Ответ написан
    Комментировать
  • Семантика типов в Си и C#?

    Nipheris
    @Nipheris Куратор тега C#
    Сходство есть, но и различий достаточно. Указатель хранит адрес в памяти, который в общем-то доступен вам для чтения и записи. Вы можете любой int скастить в указатель и попытаться разыменовать его. Врядли ли вы получите от этого что-то полезное, но суть в том что вы МОЖЕТЕ это сделать. Указатель как тип данных лишь даёт вам удобное средство для адресации и типизированной работы с областью памяти.

    Ссылка в .net - вещь значительно более высокоуровневая. Это скорее object identity, а не адрес в памяти. Ссылка не хранит непосредственно адрес объекта в управляемой куче, она хранит его номер, а конкретным адресом в памяти управляет сборщик мусора (так сделано потому, что сборщик имеет право перемещать объекты в памяти, если они явно не закреплены).

    Как уже сказали выше, указатели в C# тоже есть, и они действительно хранят адрес. Но они доступны только в unsafe контексте и не являются средством для everyday-разработки.

    Ссылки в C# концептуально связаны с объектным подходом, ссылка хранит идентификатор объекта и является "ключом" доступа к нему. Ссылка не может непосредственно ссылаться на типы-значения на уровне платформы .net, для этого нужно сначала выполнить boxing значения.

    Сишкном указателю же без разницы, на что он указывает. Если говорить в контексте C++, то программист по сути сам даёт указателям на объекты семантику object identity.
    Ответ написан
    1 комментарий
  • Как вам курс CS50 и почему я не могу делать задачи?

    @asd111
    Видимо в курсе мало рассказывают конкретно об алгоритмах и структурах данных. Например решить задачу связанную и динамическим программированием или с поиском путей в графе без знания теории нереально.
    Ответ написан
    Комментировать
  • Как вам курс CS50 и почему я не могу делать задачи?

    evgeniy8705
    @evgeniy8705
    Повелитель вселенной
    Данный курс направлен на рекламу Учебного учреждения, но никак не на потенциальное обучение конкретным знаниям. Данный курс будет полезен тем людям которые далеки от технических профессий (в частности - программирование). Данный поток видео просто введет вас в мир компьютеров. Он не научит вас чему то конкретному, просто вам покажут что вообще есть в "мире технологий". Задания выполнять вообще не обязательно. Все равно они вам ничего не дадут. На большинство заданий у вас все равно не хватит знаний. Люди которые сидят там в аудитории, во первых имеют немного больше сообразительности, чем другие люди, по крайней мере потому, что они смогли попасть туда на обучение. Во вторых, по мимо этого курса у них полно других, по конкретным направлениям.
    В общем если вы хоть немного шарите в программировании, то вам этот курс толком то ничего нового и не откроет. По конкретным направлениям читайте профильную литературу, смотрите узконаправленные курсы.
    А если вы вот только что решили что будете заниматься в области вычислительной техники и вообще не понимаете что да как, то посмотрите данный курс для легкого введения. Просто смотрите, делать задания не нужно.
    Ответ написан
    Комментировать
  • Семантика типов в Си и C#?

    @kvasek
    В C# тоже есть указатели но этот подход считается не безопасным, и для использования указателей нужно указать unsafe в настройках проекта. На самом деле указатели похожи на ссылки.
    Ответ написан
    1 комментарий
  • Семантика типов в Си и C#?

    @none7
    Не совсем. Ссылка не может указывать чёрт знает куда, только на объект соответствующего типа или быть нулём(null). Добавочно ссылочный тип всегда проверяется на не равенство нулю при вызове из него метода. То есть внутри метода this == null всегда ложно. В С# есть и обычные указатели, но только в небезопасном режиме.
    Ответ написан
    Комментировать
  • Не получактся изиенить тип build в unity 5?

    @QuadRatBy4
    Так Web Player больше не поддерживается ведь (Как раз начиная с 5.4). Пробуйте либо WebGL либо Unity 5.3.
    Ответ написан
    Комментировать
  • UI в Unity и NullReferenceException?

    @Beltoev
    Живу в своё удовольствие
    Может рано в GameDev, когда даже NullReferenceException в такой тупик ставит? Сначала хотя бы с С# может разобраться?

    Ну, а так, у вас cube не инициализирована и нет проверки на это
    Ответ написан
    Комментировать
  • Как найти координаты точки?

    Перечитав ваш вопрос раз 5, вроде бы уловил его смысл. Как я понял, есть прямоугольный треугольник ABC (В – прямой угол). Известны длины всех сторон, координаты на плоскости вершин B и C. Надо найти координаты вершины A:
    b2a77ced1a7c4a0f843ceb13df42f697.png
    При таких условиях задача имеет два решения: точка с одной или с другой стороны от прямой BC (на рисунке – сверху или снизу, под BC)

    Надо взять вектор BC, повернуть его на 90° (в одну или в другую сторону), и длину разделить на bc и умножить на ab:
    x = Bx - ab * (Cy - By) / bc
    y = By + ab * (Cx - Bx) / bc
    // в другую сторону:
    x = Bx + ab * (Cy - By) / bc
    y = By - ab * (Cx - Bx) / bc
    Ответ написан
    Комментировать
  • Как найти координаты точки?

    @Mercury13
    Программист на «си с крестами» и не только
    Я плохо понял, что надо сделать. Но попробую.
    1. Переведи известный катет в вектор: (X3−X1, Y3−Y1).
    2. Поверни его на 90° в нужную сторону. Например, x'=y, y'=−x.
    3. Приведи к нужной длине (теорема Пифагора). Получился вектор-катет.
    4. Прибавив вектор-катет к вершине (X1, Y1), получаем второй конец.
    Ответ написан
    Комментировать
  • Форматированный вывод c#?

    petermzg
    @petermzg
    Самый лучший программист
    Console.WriteLine(string.Format("{{0:f{0}}}", i),c);
    Ответ написан
    Комментировать
  • Невозможность атаки "встреча посередине" для DES с тремя ключами?

    usdglander
    @usdglander
    Yipee-ki-yay
    Вообще тройной DES описывается как: Ek3(Dk2(Ek1(T))). Проблема реализации встречи посередине как раз в этом центральном Dk2.

    upd: А вообще 3DES лучше не использовать. Посмотрите в сторону DESX, время увеличивается только на 2 дополнительных XOR, а криптостойкость такая же (вроде бы).
    Ответ написан
    2 комментария
  • Разрядность процессора и его тактовоя чатота?

    15432
    @15432
    Системный программист ^_^
    Считайте, что за один такт процессор выполняет одну инструкцию, например, сложение регистров. Регистры имеют "размер" - разрядность. Наиболее важное отличие 64-битного процессора - возможность оперировать 64-разрядными адресами памяти. Сложение длинных регистров (64 и 128 бит) было и на 32-разрядных процессорах с расширением MMX. Но они не могли обращаться к физической памяти по адресам больше 32 бит (4ГБ)
    Ответ написан
    Комментировать
  • Абстракция "сокрытие информации"?

    Daniro_San
    @Daniro_San
    Программист
    Забейте на эти определения. Вот вам private и protected, это сокрытие информации. Всё просто.
    Насчёт var - автор вашего видеокурса очень и очень заблуждается. Ведь есть ide которая подскажет тип, есть typeof, в кнце концов можно просто посмотреть код выше. Да и вообще - в сокрытии типов таким образом смысла никакого нет.
    Ответ написан
    Комментировать
  • Entity Framework и ее история развития?

    HaJIuBauKa
    @HaJIuBauKa
    LINQ был придуман раньше, это правда.
    Сначала был придумана и реализована технология LINQ to SQL. Затем уже был реализован ADO.NET EntityFramework и он работал без LINQ. Microsoft посчитала что эти две технологии являются конкурирующими и объединила их, дальше стал развиваться и продвигаться EntityFramework.
    Ответ написан
    Комментировать
  • Выбор типа проекта при его создании в Visual Studio 2012 и 2015?

    Может этих компонентов недостает.
    UVmpiJHyZjg.jpg
    Ответ написан
    Комментировать
  • Анонимные типы в c# и их особенности?

    @none7
    Этот автор только сильно запутал Вас. Код:
    var instance = new {Name = "Alex", Age = 27}
    Эквивалентен такому коду:
    class Anonymous0001 // ссылочный тип
    {
        public string Name { get; private set; } // из других классов выглядит как read-only свойство
        public int Age { get; private set; }
        public Anonymous0001(string name, int age)
        {
            Name = name;
            Age = age;
        }
    }
    
    class Program
    {
        static void Main()
        {
            var instance = new Anonymous0001("Alex", 27);
        }
    }

    Если будет другая строка new { ... }, то компилятор сгенерирует ещё один класс. Всю остальную ересь просто забудьте. В анонимный тип нельзя добавить какую либо функциональность и от них нет никакого толку. Созданы лишь как часть синтаксического сахара, для упрощения выборки нескольких значений из linq запросов. Вроде такого:
    var a = new System.Collections.Generic.Dictionary<string, int>() { { "vasya", 0 }, { "kolya", 0 }, { "alex", 1} };
    
    int i = 0;
    var result = from item in a where item.Value == 0
        select new { Index = i++, Name = item.Key, Id = item.Value }; // создание объекта анонимного типа
    
    foreach(var res in result) {
        bool first = true;
        foreach (var prop in res.GetType().GetProperties()) {
            if (first) first = false;
            else Console.Write(", ");
            Console.Write("{0} = {1}", prop.Name, prop.GetValue(res, null));
        }
        Console.WriteLine();
    }
    Ответ написан
    Комментировать