Pull to refresh
3
0
Send message
Следует отдавать себе отчет, что если камера, смотрит на вас или часть вашей жизни постоянно и без вашего ведома, а вы принимаете на веру то, что по ту сторону камеры абсолютно всем можно доверять — это наивное отношение к угрозе. Если нет возможности гарантировать, что в любой момент данные с камеры не идут кому-то неизвестному, то следует не запрещать доступ, а гарантировать его всем. В этом случае отношение к данным у всех будет адекватным.
Нерационально. Должно быть: раньше, OpenSourse, P2P, и доступно всем желающим бесплатно.
Разве должны быть какие-то возражения? Если эта опция запланирована для использования группой людей, то возникнет взаимная потребность для доверия. Иначе — никакой адекватный человек не согласится сознательно позволять следить за собой.
Если отсутствуют хоть какие-то гарантии, что личное пространство человека — в безопасности, он должен покинуть это место хоть пешком. Если жить хочет, конечно.
Если ставишь камеру в общественном месте — давай к ней публичный доступ для всех. Это как минимум — честно.
Вы правы, на коротких текстах такие вещи не сработают. И все же с некоторого порога все тексты, например на русском языке очень схожи.
Структура данных такая всеобъемлющая потому что нет определенной цели, под которую следует что-то в ней оптимизировать. Я описал в ней моменты, с которыми в дальнейшем изложении соприкоснусь и отметил особенности, которые как минимум намерен в дальнейшем исследовать. Описанные вами интересные моменты дополняют этот список. Спасибо, когда хватит времени и внимания — к ним обязательно вернемся.
Когда задумываешься о возможности применения подобных вещей, то мысли очень быстро разбегаются во всех направлениях и приходится что-то выбирать.
И сначала хочется как можно меньше говорить об известных алгоритмах и фамилиях, чтобы иметь возможность не идти по уже натоптанным тропам. Это не значит, что я против их обсуждения, это значит, что я не успею поговорить обо всем. И для меня это все еще не профессиональное направление, я здесь как любитель-исследователь, которому все это очень интересно. Не судите строго, мне еще хотелось бы многое озвучить и я рад получать подобную обратную связь, чтобы иметь ссылки на уже известные направления и точки соприкосновения с ними.
В этой части речь идет лишь о символах. Пока не очевидно и затруднительно заметить какие либо факторы, связывающие символьный контекст и эмоциональную окраску. Но интуитивно можно хотя бы предположить, что даже в символьном спектре есть отголоски эмоций, сопровождающих текст.
Текст можно представить себе как набор чисел. А все числа между собой имеют однозначные взаимоотношения. Это хорошо чувствуется, когда некоторое время изучаешь простые числа и то, как они формируют другие числа, выполняя роль их простых множителей. На тему простых чисел тоже можно углубиться так, что всего не озвучить. И все же кое-что полезное можно выразить в словах и формулах.
Нейросети позволяют «прочувствовать» свойства, которые наше привычное восприятие описывает как «слишком сложно, чтобы вдаваться в детали», тем не менее использовать их никто не мешает. Результат зависит от правильности внутренней организации нейросети под конкретные условия, представление входных данных и пр.
Существует уже множество более-менее универсальных типов нейросетей. Одним из ключевых факторов является качество «корма», которым вы свою нейросеть кормите. Это, кстати, относится и к нейросети реального мозга. В современном обществе люди не придают большого значения ни тому, что едят, ни тому, чем кормят мозг через свое восприятие. Результаты — печальны.
Я постараюсь затронуть в будущих статьях, когда речь пойдет о синтаксисе и словах, эту тему. Если не напрямую, то хотя бы косвенно.
На данный момент могу сказать, что, к примеру, по форме символьного спектра, можно сделать выводы насколько агрессивно настроен автор и стоит ли читать его текст. Все в данном случае, конечно, относительно и выражается вероятностью. Так что подобный фильтр может выступать как первая линия обороны на защите экологии сознания.
И взаимно благодарю вас за проявленный интерес к данной теме.
Спасибо.
Я думаю числа — это способ восприятия действительности сознанием. Это основы синтаксиса или одна из форм выражения синтаксиса или его части.
На вопрос «Каких простых чисел больше, оканчивающихся на 1, 3, 7 или 9?» я мог бы ответить так: зависит от основания системы счисления и выбранного вами диапазона или просто набора простых чисел. Если брать очень (почти бесконечно) много, считать от начала и насколько хватит сил, то можно лишь проследить предрасположенность на обозримом участке.
Когда анализируется не все число, а его какая-то цифра, множитель, модуль или что-то еще, то все это напрямую зависит от того, что числа пишутся в ячейки фиксированной мерности.
Фиксированное основание системы счисления многое упрощает в арифметике, позволяя просто подразумевать, что оно есть и всегда одно и то же. Но фиксированное о.с.с. также является причиной, принуждающей к округлению вычислений и возникновения такого понятия как энтропия. Энтропия будет всегда пытаться возникнуть там, где числа ограничиваются основанием (например как только возникает иррациональное деление).
С другой стороны, операции над числами с переменным основанием могут приводить к громоздким результатам, а операция деления заслуживает отдельного внимания, тем не менее, возможно в будущем люди смогут такими числами манипулировать, инкапсулировав их в программные объекты.
Если смотреть на числа без ограничений основания системы счисления, то простые числа и их взаимоотношения между собой выглядят немного иначе.
Дают ли сравниваемые алгоритмы одинаковый результат? Я имею в виду, объем выходных данных, оформлен так же? Или вы сравниваете алгоритм получения одномерного массива бинарных данных (просто указывая признак простоты для индекса элемента) с алгоритмом, на выходе которого хеш мапы, в которых помимо простых чисел, также собираются массивы простых множителей?
Присмотритесь, возможно вы где-то лукавите и не были объективны, демонстрируя 100-кратное превосходство над инкрементным методом вычисления, сравнивая его с закрытым от посторонних глаз исходным кодом.
Кроме вычисления списка простых чисел, алгоритм попутно определяет спектры непростых чисел. Они считаются в процессе выполнения алгоритма и могут быть сохранены. Как только топпинг переезжает в спектры, для дальнейших вычислений он нам не нужен.
Скажем, я должен был показать возможность, но если спектры не нужны, то расходовать память ни к чему.
Ключ в toppings — непростое число из еще недосчитанного диапазона чисел. например, когда мы нашли простое число 2, мы получаем ключ топпинга 2*2 — ближайшее непростое число имеющее множителем найденную двойку. Значение в toppings — это массив множителей, из которых состоит ключ. Так как 2*2 = 4 в toppings сперва запишется 4=>2. Что значит, что 4 состоит из одной или более двоек.
Когда алгоритм досчитает до 4, то из топпингов эта пара переносится в spectres (непростые числа — спектры множителей).
Следующим непростым числом будет 6, а накопленный для него в таблице топпингов спектр простых множителей будет содержать массив 6 => [2, 3], по достижении счетчиком этот спектр переедет в spectres.
В таблице toppings возникают пары число — массив множителей. Потом, не смотря на то, что они переносятся, эта таблица имеет естественную тенденцию к росту, хоть и не экспоненциальному, но неограниченному, поскольку предела нашего счета нет.
И кстати когда мы перестаем считать, у нас остается некоторый достигнутый порог range. Если запомнить его и сохранить нетронутой таблицу топпингов, то как я уже подмечал выше — можно продолжить считать с того места, на котором остановились. Что дает удобство считать до необходимого числа по мере возникающих потребностей основной программы, которой эти простые числа нужны. Скажем так — lazy calculation.
Для таких процессоров, что сейчас в тренде — звучит верно. Но что если люди начнут по настоящему ценить именно это качество в процессорах пусть даже намного примитивнее этих, но которые гарантируют статистически вычисляемое невмешательство со стороны во время выполнения процесса?
Такие процессоры можно только пытаться хакнуть на чтение, и даже такие попытки могут стать вычислимыми.
Реальные цифры значат только в тот момент когда меряешь. Никто их не конвертирует и не сравнивает со своими потому что аппаратное обеспечение может отличаться в одинаковых моделях, выпущенных в разное время.
Сила алгоритма в отсутствии тяжелых операций и если вдуматься, то он неплохо масштабируется и где-то параллелится. Причем так, что под видеокарту или несколько может появиться похожее решение.
Он бы подошел, если бы пришел в голову вовремя, когда я «говнокодил» :)
Тем лучше для примера, он принципов алгоритма не разрушает.
Нет, давайте проясним. Я скромно делюсь знаниями и не претендую на изобретение нового алгоритма. Я указал на сильные стороны, заслуживающие внимания и если кто-то не найдет ощутимых слабых сторон, то он непременно воспользуется знаниями.
Что будет с таким алгоритмом, когда N надо наращивать?
и как будет выглядеть результат?
«для каждого очередного… помечает кратные ему» это как минимум вложенный цикл, это не похоже на O(1)
вы собираетесь хранить трилионные массивы булевых значений чтобы проверять большие числа на простоту?
В описанном мной алгоритме простота определяется наличием не в toppings, а в primes. Toppings хранит промежуточные вычисления для дальнейшего расширения диапазона N без необходимости проделывать прежнюю работу с нуля. Если я не ошибаюсь, то третью таблицу (с не простыми числами) хранить не обязательно, она может быть использована при необходимости.
Получая пару ключ-значение мы запоминаем и обратную пару значение-ключ, это и дает нам требуемую индексацию для быстрой проверки есть число в нашем диапазоне или нет.
И как не упирайтесь, а при наращивании диапазона хеш-адресация выигрывает.
А что если… в будущем будут цениться процессоры не по скорости или выделяемому теплу, а по способности математически обосновать и статистически подтвердить затраченную энергию.
Я имею в виду, что если нам условно известен весь код, выполняемый на нашем процессоре во всех потоках теоретически мы можем подсчитать сколько должен процессор потребить энергии. С точностью до условного кванта. Если теория расходится с реальными данными, значит процессор помимо нашего кода отвлекается еще на чей-то и соответственно доверять такому процессору на все сто — нельзя, особенно если в статистике есть операции доступа к данным с ограниченным доступом. Это по крайней мере один из ключей к безопасности и нормальной гигиене цифрового пространства, в котором выполняются программы пользователей.
Сошлитесь пожалуйста на наглядный рабочий пример того, что вы имеете в виду, чтобы не быть голословным. Не ради доказательства чего-то, но если будет основание полагать, что инкрементный способ отстает по скорости выполнения — я смогу обобщить знания и написать обновление к статье.
Вероятно вы не заметили сути. Хеш-таблицы не усложняют, а ускоряют аналогично индексам в таблицах БД. Ограничения алгоритма не в проблемах с производительностью, а цепочка чисел заканчивается там, где у вас заканчивается память. Необходимо хранить слой данных для промежуточных вычислений, этот слой данных растет соизмеримо списку уже найденных простых чисел.
В наш век нарастающих кубитов и углубляющихся нейросетей, все эти шифрования порой выглядят как голый король с веером, прикрывающим лицо.
Вы можете построить синтаксическое дерево, в котором один узел соответствует одному символу (букве), взяв за основу все уникальные слова из предоставленных вам текстов. Дерево начинается от корневого элемента, не содержащего символ, его дочерние элементы — все первые буквы всех слов вашего набора. Первых букв не так много, соизмеримо с числом букв в алфавите. У каждого такого дочернего символа есть свои дочерние символы, которых тоже не больше, чем число уникальных символов алфавита. В таком дереве например из корневого элемента выходят все слова на букву А, рядом разветвления слов на букву Б и так далее (кстати сортировать дочерние элементы вероятно удобней не по алфавиту, а по частоте их встречания/использования в исходных текстах — чем чаще слово, тем его маршрут в дереве сильнее отклоняется влево, это если вы планируете изучать распределение и сторить графики).
В таком дереве транскрипции окажутся в некотором кластере этого общего «деревянного пространства». Их можно групповым действием обобщить и отметить маркером, а также определить правила перехода из них в «нормальные ноды дерева».
Кстати, составить список всех слов в тексте (из которых строится такое дерево) можно автоматическим очень простым способом. Составляете список всех символов встречаемых в тексте — это ваш алфавит, включая знаки препинания и спецсимволы.
Далее для каждого символа полученного алфавита, один раз вы заполняете маркер контекста. Например, все буквы, цифры и можно знак подчеркивания отнести к контексту «слова», все виды пробелов, переноса строк и прочие подобные им — выделяются в контекст «пробелы». Знаки препинания, арифметические операторы и по сути все остальные символы можно обобщить в контекст «знаки». Теперь просто бежите по текстам как по строке и накапливаете слова, как только контекст следующего символа начинает отличаться от контекста предыдущего — слово закончено, записываете в словарь и накапливаете «слово», состоящее из пробелов или знаков, идущих подряд после этого. Потом контекст снова меняется и вы можете сохранять слова только из контекста «слова» или уделять внимание еще и словам из знаков и словам из пробелов.
П.С. Так и интернет можно серфить, собирая слова в синтаксическое дерево, которое потом удобно анализировать, если найти его удачное отображение.
Я продемонстрировал алгоритм, как по мне, то он масштабируем в разных измерениях и завернуть многобайтные числа в простые функции операций с ними — задача решаемая для тех, кому это нужно. Кроме того, алгоритм можно переделать под линейные массивы структур данных и дальше все зависит от скорости процессора и объема памяти. Операции в алгоритме — просты, так что процессор не обязан быть сложным.

Information

Rating
Does not participate
Registered
Activity