Разрабатываем теорию алгоритмов как проект с открытым исходным кодом

    Есть проблема:


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

    нужно много рук


    Под катом попытка решения проблемы с использованием странных на первый взгляд инструментов: Android-смартфон, markdown, Epsilon Notes, динамическая книга, Termux, git, bitbucket, Хабр.


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


    Но даже после этого момента не перестаю удивляться. Таким удивлением стало применение Android-смартфона для решения поставленной в этой статье задачи. Вернемся к ней.


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


    Стал разбивать задачу на подзадачи:


    1. Во-первых, для написания большого количества текста со сложной структурой нужна спец. программка. И таких программ теперь очень много, но, как всегда, нужна особенная.
    2. Во-вторых, для резервирования выполненной работы хорошо бы кидать созданное на сервер. Ведь сервер, я надеюсь, понадежнее тонкого телефончика.
    3. В-третьих, есть задача обсуждать книгу с читателем и понимать какие моменты следует уточнить.
    4. В-четвертых, есть желание динамически дополнять книгу.

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


    Начинаем решать задачи.


    Markdown (Epsilon Notes)


    Требованием к программе редактирования текста было простым. Текст необходимо публиковать в инете. А какой формат держит нами любимый Хабр? Правильно Markdown.


    И если первую статью Хабра я набирал на ПК, где уже давно нет проблем с этим форматом. То в текущий момент ПК поблизости нет.


    Открытием стало, что и на Android появились программы с полным набором требуемого функционала. И авторам этих программ позвольте здесь высказать уважение. Впервые на моем опыте приложение Android так полезно, что без колебаний перечислил скромную плату за труд автора в обмен на про-версию. Но сейчас не об этом.


    Не обязательно абсолютно универсальный вариант, но почти всем меня устраивающий — это программа Epsilon Notes.


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


    Книжка теоретическая:


    image

    Там же печатаю ее в pdf:


    image

    Книжка практическая. На каждую главу планируется несколько статей на Хабре в виде примеров.


    image

    Подготовка текущей статьи:


    image

    Git (Termux, bitbucket)


    Для реализации резервирования, обсуждения и дополнения решил использовать bitbucket. У меня там было парочку приватных репозиториев. Зарегал новый. Впервые языком разработки выбрал Markdown.


    Осталось найти git-клиент на Android. На самом деле на тот момент он у меня уже был. Но процесс его поиска все равно состоялся, но чуть раньше. В этой области специализированные приложения из google play market пока не дают требуемого набора возможностей. Оно и не удивительно: клиент git важен всей своей средой (всеми своими командными утилитками), а дублировать поведение такой сложной коммандной системы в кнопочках и окошках — дело нелегкое. Я уже было — расстроился.


    Но в Android уже есть отличные эмуляторы терминала и среды Linux. Например, Termux. А в этом эмуляторе преотлично грузится, родной уже, командный клиент git.


    image

    Voi la, мы зарезервированы и синхронизованы, а так же, благодаря Issues от bitbucket, появилась обратная связь с читателем.


    Хранилище bitbucket для книжечки:


    image

    История изменения книги в распечатанных pdf:


    image

    Обратная связь с читателем:


    image

    Местечко для черновиков и опубликованных статей для Хабра


    image

    Итого


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


    Спасибо за внимание.


    Простите за опечатки, если найдутся. Доберусь до ПК — опечатки поправлю.


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


    Введение в книгу


    Сформулируем цель работы над этой книгой. Причем работы не только моей, но и работы читателя.


    Целью является ввести определения, основанные на простых аксиомах, для понятий Сознание и Жизнь.


    Звучит амбициозно, но только без хорошего инструмента. Таким инструментом станет "Общая теория алгоритмов", уже частично проработанная в процессе написания этой книги.


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


    Если кому это интересно — буду рад.


    Скрытый текст

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


    Итак. Знакомьтесь.


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


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


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


    Сознание — это способность с использованием языка быстро синтезировать новый алгоритм преобразованием уже имеющегося алгоритма.


    Жизнь — это самопроизвольное накопление алгоритмов пространства в структурных объектах этого пространства.


    Язык — комплексная система, состоящая из:


    • коммуникационной группы эвольверов ("носителей языка"), обеспечивающей процедуру сохранения и развития макро-сигналов и обрабатывающих их цепочек,
    • процедуры создания в процессе коммуникации виртуальных символов,
    • процедуры получения опыта (т.е. построения полезных цепочек) посредством использования коммуникации. То есть процедура виртуализации накопления опыта.

    Сознание — это процесс использования языка без привлечения второго эвольвера. То есть один эвольвер в процессе коммуникации сам формирует макро-сигнал и затем его сам принимает.


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


    Еще раз перечитываю введение.
    Слишком амбициозно.
    Но ведь хорошо сказано: "Дорогу осилит идущий".


    Приступим.


    И теперь уж точно. Спасибо за внимание.


    Вики практической книги: Общая теория алгоритмов (bitbucket.org)
    Система отслеживания ошибок: Issues (bitbucket.org)


    Отзывы


    Спасибо большое за отзывы. Разговор с Вами мне очень полезен.


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


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


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


    Жду отдельных критических отзывов по представленной технологии (проект открытой разработки теории). Слово "Общая" в названии теории использовано, чтобы подчеркнуть факт использования этой технологии.


    С уважением.

    Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.

    Что будет полезнее написать?

    • 25,0%Статья. Как не понимать ООП. Анализ почему полезно его применение1
    • 25,0%Статья. Как в языке сформировать существительное? Виртуальный-сигнал(видел мамонта)1
    • 75,0%Следующая глава теоретической книги3
    Поделиться публикацией

    Похожие публикации

    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

    Комментарии 33

      +6
      Ваши усилия лучше направить не на публикацию, а на проверку — тем более, что средств проверки вашей теории информации в наш век информации более чем избыточно. Пишите программы и если они начнут думать — значит вы на верном пути.
        –6
        Проверка большим количеством компетентных специалистов будет быстрее и эффективнее.
          +1
          Компетентным можно быть только в работающих системах, ваша система работает только у вас в голове, поэтому вы и есть единственный компетентный специалист.
            –6
            Требуются еще специалисты, заинтересованные в ней. Для знакомства с этими специалистами все усилия и публикация.
            0
            Спасибо за критику. Действительно, статья на Хабре не место для поиска знакомств.

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

            Есть ли необходимость убрать ссылки на теорию? Если, да — напишите пожалуйста в ответе на этот комментарий.

            С уважением.
        • НЛО прилетело и опубликовало эту надпись здесь
            –2
            Если программа используется Вами То да она вместе с вами и информация и жива
            Если без вас — пока нет
            • НЛО прилетело и опубликовало эту надпись здесь
                –1
                слово «контролируемый» в определении информации. Сложно объясняться без остальных терминов книги.
                • НЛО прилетело и опубликовало эту надпись здесь
                    –1
                    Вы опустили слова в определении. Сознание — это способность с использованием языка быстро синтезировать новую информацию преобразованием уже имеющейся информации
                    Они важны. Определение языка есть в книге (как и всех жирных подчеркиваний)
                    • НЛО прилетело и опубликовало эту надпись здесь
                        –1
                        Термин язык еще не введен в книге. Сейчас плотно занимаюсь этой главой. Он будет основан на коммуникации. Ваша программа пока её не использует. Спасибо большое за отзыв.
                        Разговор с Вами мне очень полезен. Если это возможно, можно Вас попросить перенести наше обсуждение на другую платформу (например, Issues). Не планироаал загружать любимый Хабр теоретическими обсуждениями, хотел оставить здесь только практику. Еще раз заранее спасибо.
            +4
            Только у меня болд и подчёркивание в подобных текстах ассоциируются с закадровым смехом, который подсказывает зрителям ситкомов моменты, когда нужно смеяться?
              0
              Никогда не читайте текста со слишком сложным, вычурным редактированием.
              0
              Простите, ответил не в ту ветку
                +7
                Автор, остановитесь. То что вы излагаете, типичное явление психиатрии, называемое «сверхценные идеи». Утверждаю это потому, что я сам такой. У меня есть сверхценные идеи насчет сути бытия, насчет создания искусственного интеллекта, насчет интерпретации квантовой механики. Они гораздо более продуманные и впечатляющие чем ваши, но я держу их в себе, потому умом (но не сердцем) понимаю их истинную «ценность» и природу. О подобных идеях можно говорить только когда они начинают реально работать И когда они хорошо излагаются на общепринятой научной платформе. Иначе это просто клиника. Когда к вам приходит идея, поделите ее кажущуюся ценность на 50. Когда вам кажется, что вы можете объяснить ее кому-то другому, поделите вероятность что вас поймут на 100. Иначе все будет плохо.
                  +2
                  Спасибо, согласен. Сам видел, как печально выглядит такая публикация «сверх идеи» со стороны. Если сообщество позволит, то все остальные публикации будут не о идее, а о том как эти идеи «реально работают» на привычной «научной платформе» в разделе программных технологий, которые мне ближе всего по профессии.
                  +2
                  публикация в чисто-теоретическом виде будет доступна только труженикам науки

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


                  А вообще, за оригинальные научные исследования на Хабре предлагаю банить. Всё чаще тут альтернативщики пишут.

                    0
                    Поэтому введена «вторая книга», в которой польза этих теоретических построений, будет показана в практическом применении. Публикации предусмотренные для Хабра будут сугубо прикладные. Один лишь раз в вводной статье хотел указать базис, на котором они основываются. Спасибо за отзыв.
                    +2
                    Вы с первых страниц книги делаете какие-то крайне странные заявления. Странные — потому что существуют общепринятые во всем мире понятия информации, сознания и жизни, и кажется что они никак не пересекаются с вашими:
                    Информация — это характеристика пространства, представляющая собой значимый (контролируемый, результативный, повторимый) способ его преобразования.
                    Сознание — это способность с использованием языка быстро синтезировать новую информацию преобразованием уже имеющейся информации.
                    Жизнь — это самопроизвольное накопление информации о пространстве в структурных объектах этого пространства.

                    Я не против, может вы действительно что-то такое необычное придумали. Но тогда нужно или вводить новые термины (причем крайне аккуратно), или — еще более аккуратно — вводить уточнения относительно старых.

                    «Информация это характеристика пространства». Какого пространства? Всего трехмерного, в котором болтается наша Вселенная? Или какой-то области пространства?
                    «значимый (контролируемый, результативный, повторимый) способ его преобразования». Для кого значимый, кем контролируемый? Как пространство можно преобразовывать и во что? Науке вроде как о преобразовании пространства ничего не известно. Материю — да, как-бы можно, но про пространство первый раз слышу.
                    «Сознание — это способность с использованием языка быстро синтезировать новую информацию преобразованием уже имеющейся информации» Какого языка? Человеческого? Может языка программирования? Поисковая выдача Гугла обладает сознанием?
                    «Жизнь — это самопроизвольное накопление информации о пространстве в структурных объектах этого пространства.» — какая информация о пространстве может накапливаться? Какая вообще о нем может быть информация? У пространства в физическом смысле единственная собственная характеристика — размерность; остальное — характеристики материи, в нем находящейся. Что за структурные объекты пространства?
                    Ну и так далее.
                      0
                      Ответы на эти вопросы постарался сформулировать в первых главах книги. Спасибо за отзыв.
                      +1
                      Задача «Опубликовать теорию». В привычном формате для этого пишется книга. Публикуется и ждет своего читателя.
                      Нет. В привычном формате для этого пишется статья или несколько статей в arXiv, на Хабр, на другие более узкоспец. форумы по нужной тематике. Делаются доклады на научных, н-т. и/или инженерных конференциях. Если обсуждения прошли успешно, то 1 или несколько статей посылается в рецензируемый журнал (журналы). И только после успешного прохождения можно подумать о книге. Конечно, за свои деньги можно издать книгу с нуля. Но будут ли ее читать?
                      публикация в чисто-теоретическом виде (без сопровождения объяснениями и примерами) будет доступна только труженикам науки
                      Без примеров и объяснений и «труженики науки» зачастую отвергают теорию. Экономию автором своего времени воспринимают как оскорбление: «экономит свое время за счет нашего, мы должны за него додумывать примеры и объяснения, читать между строк, разгадывать ребусы, и т.д.» Более того, в математике, нпр., читают до первой ошибки.

                        0
                        Согласен. Имел успешный опыт работы с системой научной публикации. И намеренно упростил.

                        Сериями публикаций на Хабре собираюсь показать только полезные примеры и объяснения. И экономить, минимизируя свой труд точно не буду.

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

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

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

                        Извините, но на минуточку:
                        Дубина — это характеристика пространства, представляющая собой значимый (контролируемый, результативный, повторимый) способ его преобразования.
                        Что не так?
                          0
                          Извините. Я погорячился, выкладывая здесь теоретический базис непроработанной теории. В комментарии выше уже пояснил этот момент. Если есть необходимость убрать элементы теории из статьи напишите пожалуйста.
                          С уважением.
                            0
                            В комментарии выше уже пояснил этот момент.
                            Где? Не понял.
                              0
                              А теория еще слаба в научном плане. Ссылку на неё дал с одной лишь целью: найти собеседника для отдельного обсуждения книги с последующим включением всех собеседников в соавторы. Подобно разработке программных проектов с открытым исходными кодом.
                                0
                                Но если убрать все слабые элементы — будет ли что обсуждать? ;)
                                Подобно разработке программных проектов с открытым исходными кодом.
                                Проектов в разработке гораздо меньше, чем идей для таких проектов. Проекты со слабыми базовыми элементами редко находят соавторов. ИМХО основная концепция должна быть неслабо проработана автором уже на старте. Слабые элементы не должны ей мешать: их можно удалить, отметить как слабые, перенести в примечания, спойлеры и т.д.
                                  0
                                  Да. Уже запланироаал это сделать.

                                  И публикацию полезных примеров использования, о которых пока, как правильно замечено комментарием panvartan, знаю только я.

                                  Нужно время и труд — практика обточит теорию. Тогда можно будет её показывать.
                          0

                          Ну, если нужна критика, то вот конструктивно.


                          1. Не прикапываясь к определениям, просто дайте своим конструктам другое название,
                          2. Сразу пишите их в мат. символах и понятиях,
                          3. Я прочитал pdf теории. Во-первых, есть и генетические алгоритмы, которые не очень любят в machine learning (отчасти потому что это угадайка), во-вторых есть эволюционная эпистемология Карла Поппера про развитие естественного языка.
                          4. Пока из написанного вообще никакой применимости не видно. Приводите примеры своим понятиям и их взаимосвязи, взаимодействию.
                          5. Есть ещё обучение с подкреплением в machine learning, тоже перекликается.

                          Пока особой красоты в изложенном не увидел. Если хотите повторить алгоритмами путь эволюции и дать им возможность самим находить ответы — смотрите гегеративные состязательные сети (GAN). Это когда одна сеть учит другую.


                          И последнее, то что понятия "вредно" и "полезно" аксиоматичны — не приносит практической выгоды. В каждой практической задаче необходимо отличать вредное и полезное, причём для каждой задачи это что-то свое.

                            0

                            Здравствуйте.


                            Определил в книге термин язык. Начал набрасывать статью с анализом появления в языке слов-существительных. Есть вариант проработать ООП.


                            Что будет полезнее Вам?
                            Добавил опрос в конце статьи.


                            С уважением.

                            Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                            Самое читаемое