• 30.000$ за решение задач о Правиле 30 для клеточных автоматов — конкурс от Стивена Вольфрама

    • Translation

    Оригинал перевода в моём блоге

    Прямая трансляция Стивена Вольфрама о конкурсе (на английском)

    Сайт конкурса

    Поясним для читателей, что означает «Правило 30» — это элементарный клеточный автомат (см. Wiki), состояние которого (правило построения нового уровня ячеек на основе старого) в двоичной системе счисления задается как 0-0-0-1-1-1-1-0, что можно интерпретировать как 30 в десятичной системе счисления.

    Итак, с чего все началось? — «Правило 30»


    Как может быть так, что что-то невероятно простое производит на свет что-то невероятно сложное? Прошло уже почти 40 лет с того момента, как я впервые познакомился с Правилом 30, но оно до сих пор поражает меня и приводит в восторг. На долгое время оно стало моим личным любимым открытием в истории науки, за эти годы оно изменило все мое мировоззрение и привело меня к разнообразным новым типам понимания науки, технологий, философии и многому другому.

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

    Итак, сегодня я предлагаю соискателям 30000 долларов США в качестве общей суммы призов за ответы на три основных вопроса о Правиле 30.

    Правило 30 чрезвычайно просто:
    Существует последовательность строк черных и белых клеток (ячеек) и, учитывая конкретную строку чёрно-белых ячеек, определяются цвета ячеек в строке ниже, рассматривая каждую ячейку в отдельности и ее смежных соседних ячеек, затем к ним применяется следующее простое правило подстановки, а именно:


    Код
    RulePlot[CellularAutomaton[30]]
    [Посмотрите ролик, в котором за пару минут рассказывается суть клеточных автоматов и Правила 30 — примечание переводчика]
    Читать дальше →
  • Эволюционирующие клеточные автоматы



      Соединим клеточные автоматы с генетическим алгоритмом и посмотрим, что из этого получится.

      В статье присутствуют Gif (трафик!) и контрастные картинки. У эпилептиков может случиться эпилептический припадок.
      Читать дальше →
    • Клеточный автомат Steppers

      В этой статье предлагаются правила для двумерного клеточного автомата, который, с одной стороны очень похож на игру Жизнь Джона Конвея (Conway’s Game of Life), а с другой — обладает существенными отличиями. Прежде всего, его отличает увеличенное до трех количество состояний клеток, повышенная способность к самоорганизации, неограниченное время активной эволюции и неограниченное количество движущихся конфигураций.

      Для стабильных конфигураций новые правила совпадают с правилами игры Жизнь, поэтому все стабильные конфигурации в игре Жизнь существуют и в новых правилах. В описываемом клеточном автомате существует большой класс движущихся конфигураций, космических кораблей. Все эти конфигурации перемещаются по одному и тому же поступательному механизму, который напоминает движение и шагового экскаватора и человека на костылях. Подобные космические корабли я назвал степпер (stepper), а само правило Steppers. Так его и будем называть в дальнейшем.

      В Steppers существует довольно много осцилляторов, причем, некоторые осцилляторы из игры Жизнь работают и в Steppers, что говорит о преемственности правил. И, наконец, знаменитый глайдер Конвея, так же существует в предлагаемых правилах. В статье будет рассмотрена динамика случайным образом заполненных решеток, раскрыт механизм движения степперов, описаны найденные на данный момент осцилляторы и степперы. Так же будут приведены примеры столкновений и сложного функционального поведения.

      _r00.png
      [00] Пример движущейся конфигурации, генерирующей поток степперов
      Читать дальше →
    • Витамин D — механизм действия и нужно ли принимать добавки

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


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


        Читать дальше →
      • BLoC паттерн на простом примере

          И еще раз про BLoC на классическом примере счетчика Flutter.


          Читая некоторые статьи про реактивное программирование и используя BLoC паттерн в приложениях я понимал, что чего-то не догоняю. Как обычно на все не хватает времени, но вот, выдался свободный час и силы есть — решено, напишу простейшее приложение на Flutter с паттерном BLoC.


          Под катом анимашка приложения и пояснения почему я его написал его именно так. Очень интересно мнение сообщества.


          image

          Читать дальше →
          • +11
          • 2.2k
          • 6
        • Getters и Setters в Dart и Flutter

          • Tutorial

          Getters и Setters в Dart и Flutter.


          Как и во многих других языках getters\setters это методы которые дают доступ на чтение\запись свойств объекта.


          В статье рассмотрим простые примеры и запустим их на выполнение в dartpad.


          Читать дальше →
        • FAQ: что надо знать путешественнику-гику про прививки перед поездкой

            Мадагаскар закрывает границы!Вакцина — это способ показать иммунной системе сигнатуру угрозы, к которой за несколько циклов обучения будет выработан иммунный ответ.

            Любая борьба организма с инфекционным заболеванием — это попытки распознать сигнатуру угрозы и выработать контрмеры. В общем случае этот процесс ведётся до полного результата, то есть до выздоровления. Однако могут быть инфекции, которые:

            • Убивают носителя быстрее, чем будет выработан иммунный ответ.
            • Меняются быстрее, чем иммунная система сможет «распознать» патогены.
            • Маскируются и прячутся в местах, где очень сложно получить доступ к патогену.

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

            Давайте сначала разберёмся с ликбезом, потом перейдём к путешествиям и списку действий.

            Почему путешествия опасны?


            Предположим, вы летите в Африку. Там есть повышенный риск жёлтой лихорадки. Простая вакцина обойдётся вам примерно в 1 500 рублей вместе с приёмом терапевта и услугами процедурного кабинета, вакцина более высокого уровня — в 3 000 рублей. Вылечиться от жёлтой лихорадки специализированными медикаментами нельзя (то есть можно только поддерживать ресурсы организма, пока он сам не справится), заболеть легко, летальность — около 10%, основной вектор — комары. Побочных эффектов у вакцины почти нет. Стоит вакцинация того? Наверное, да. Но решать вам.
            Читать дальше →
          • Как делегировать простые отчеты роботу. Пишем бота на Python и Google BigQuery

            • Translation


            Есть ли у вас задачи, которые повторяются изо дня в день, из недели в неделю? Например, написание отчетов. Вы запрашиваете данные, проводите анализ, визуализируете (делаете графики, диаграммы), а затем отправляете начальнику. Но что, если все это автоматизировать?

            В этом туториале мы создадим бота для Telegram, который поможет автоматизировать отчетность. А самое классное — вся программа будет состоять всего из 50 строк кода! Если вы создаете бота для Telegram впервые, то стоит прочитать еще вот этот пост.
            Читать дальше →
          • Управление состоянием приложения в Flutter

            Привет, Хабр! Представляю перевод статьи, Let me help you to understand and choose a state management solution for your app, которая попалась мне и заинтересовала в процессе изучения азов управления состоянием во Flutter. Буду рад услышать любую критику касательно данного перевода. В обратных кавычках (``) будут написаны мои личные мысли и пояснения.

            Читать дальше →
            • +15
            • 8.2k
            • 4
          • Пример клиент-серверного приложения на Flutter

            • Translation
            • Tutorial


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


            Читать дальше →
            • +19
            • 12.8k
            • 4
          • Используем SQLite в Flutter

            • Tutorial
            Привет, Хабр! Представляем вашему вниманию перевод статьи «Using SQLite in Flutter».



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

            В этой статье я продемонстрирую как сделать это, используя SQLite, в Flutter-e
            Читать дальше →
            • +19
            • 11.2k
            • 3
          • Удачная модель ветвления для Git

            • Translation
            Перевод статьи Vincent Driessen: A successful Git branching model

            В этой статье я представляю модель разработки, которую использую для всех моих проектов (как рабочих, так и частных) уже в течение года, и которая показала себя с хорошей стороны. Я давно собирался написать о ней, но до сих пор не находил свободного времени. Не буду рассказывать обо всех деталях проекта, коснусь лишь стратегии ветвления и управления релизами.



            В качестве инструмента управления версиями всего исходного кода она использует Git.

            Читать дальше →
          • Заметки фитохимика. Хурма

              Мы откроем нашим чадам
              Правду — им не всё равно,
              Мы скажем: "Удивительное рядом,
              Но оно запрещено!"
              В.С. Высоцкий


              Занимаясь решениями в области "зеленой химии" мне часто приходится иметь дело с растениями (и с их химическими составными частями). Многие знакомые об этом знают и при случае интересуются, а что вот в этом овоще интересного, а что вот в этом фрукте. И как правило ответ вроде "витамины и минералы" — не удовлетворяет человеческое любопытство. Поэтому я, периодически занимаясь тем или иным представителем флоры, писал в своем facebook заметку с указанием интересных фактов/химических соединений, которые можно найти в этом растении.

              Вот и сейчас, в ожидании Нового года многие закупаются хурмой. Знают, что она полезна. А вот чем, кому? Мне с одной стороны приятно, что существует большое количество людей, которым недостаточно видео-ролика или пару слов "на отцепись" в описании, а с другой — грустно из-за этой повальной тенденции к упрощению. Поэтому… поэтому если хотите узнать больше про природные антиоксиданты, расширить свои знания по лекарственным свойствам хурмы и понять почему хурма и Coca-Cola созданы друг для друга — проследуйте под кат...


              Читать дальше →
            • Python: коллекции, часть 4/4: Все о выражениях-генераторах, генераторах списков, множеств и словарей

              • Tutorial
              Часть 1 Часть 2 Часть 3 Часть 4
              imageЗаключительная часть моего цикла, посещенного работе с коллекциями. Данная статья самостоятельная, может изучаться и без предварительного изучения предыдущих.

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

              imageБудут рассмотрены: выражения-генераторы, генераторы списка, словаря и множества, вложенные генераторы (5 вариантов), работа с enumerate(), range().
              А также: классификация и терминология, синтаксис, аналоги в виде циклов и примеры применения.

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

              Оглавление:


              1. Определения и классификация.
              2. Синтаксис.
              3. Аналоги в виде цикла for и в виде функций.
              4. Выражения-генераторы.
              5. Генерация стандартных коллекций.
              6. Периодичность и частичный перебор.
              7. Вложенные циклы и генераторы.
              8. Использование range().
              9. Приложение 1. Дополнительные примеры.
              10. Приложение 2. Ссылки по теме.
              Изучаем детали, иллюстрации и примеры
            • Python: коллекции, часть 1/4: классификация, общие подходы и методы, конвертация

              Часть 1 Часть 2 Часть 3 Часть 4
              Коллекция в Python — программный объект (переменная-контейнер), хранящая набор значений одного или различных типов, позволяющий обращаться к этим значениям, а также применять специальные функции и методы, зависящие от типа коллекции.

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

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

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

              Будем рассматривать стандартные встроенные коллекционные типы данных в Python: список (list), кортеж (tuple), строку (string), множества (set, frozenset), словарь (dict). Коллекции из модуля collections рассматриваться не будут, хотя многое из статьи должно быть применимым и при работе с ними.

              ОГЛАВЛЕНИЕ:


              1. Классификация коллекций;
              2. Общие подходы к работе с коллекциями;
              3. Общие методы для части коллекций;
              4. Конвертирование коллекций.
              Читать дальше →
            • Запах мысли 2040

                Этот рассказ посвящается Роберту Шекли.


                — Я перестал тебя понимать, — сказал Приз. — Что-то в тебе изменилось. Что?
                — Самая малость, — сказал Кармоди. — Я просто махнул рукой на вечность; в сущности, у меня ее и не было никогда. Я вышел из этой игры, которой боги забавляются на своих небесных ярмарках. Меня не волнует больше, под какой скорлупой спрятана горошина бессмертия. Я не нуждаюсь в бессмертии. У меня есть мое мгновение, и мне достаточно.
                — Блаженный Кармоди! — саркастически сказал Приз. — Только один вдох отделяет тебя от смерти. Что ты будешь делать со своим жалким мгновением?
                — Я проживу его, — сказал Кармоди. — А для чего существуют мгновения?
                Роберт Шекли “Координаты чудес.”

                Читать хорошо под трек



                (источник)


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

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

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

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

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


                  Читать дальше →
                • Создаём простую нейросеть

                  • Translation
                  • Tutorial


                  Перевод Making a Simple Neural Network

                  Что мы будем делать? Мы попробуем создать простую и совсем маленькую нейронную сеть, которую мы объясним и научим что-нибудь различать. При этом не будем вдаваться в историю и математические дебри (такую информацию найти очень легко) — вместо этого постараемся объяснить задачу (не факт, что удастся) вам и самим себе рисунками и кодом.
                  Начнем.
                • Почему не стоит выкидывать Radeon, если ты увлекся машинным обучением?

                    image


                    Свою рабочую станцию мне выдалось собирать, будучи студентом. Достаточно логично, что я отдавал предпочтение вычислительным решениям AMD. потому что это дешево выгодно по соотношению цена/качество. Я долго подбирал компоненты, в итоге уложился в 40к с комплектом из FX-8320 и RX-460 2GB. Сначала этот комплект казался идеальным! Мы с соседом по комнате слегка майнили Monero и мой набор показывал 650h/s против 550h/s на наборе из i5-85xx и Nvidia 1050Ti. Правда, от моего набора в комнате бывало слегка жарковато по ночам, но это решилось, когда я приобрел башенный кулер к CPU.

                    Читать дальше →