ITT, мы будем алгоритмизировать алгоритмизацию алгоритмизациоанальную. Алгоритмизацианалично, и алгоритмизациоаналистично. Приготовь свой алгоритмизациоанал, для аналлизирования различных алго, невъебенных.
>>75494 A number of computer scientists have argued for the distinction of three separate paradigms in computer science. Peter Wegner argued that those paradigms are science, technology, and mathematics. Peter Denning's working group argued that they are theory, abstraction (modeling), and design. Amnon H. Eden described them as the "rationalist paradigm" (which treats computer science as a branch of mathematics, which is prevalent in theoretical computer science, and mainly employs deductive reasoning).
Мы программеры, а не тораканы. А будете, сука, выёбываться, запрограммируем на вас программизацию программизацию программизациоаналистичную, похлеще вашей математизации математизацианаличной.
>>75552 >Тарканы бегут из токсичного програмача сюда Тарканы чуть пижже звучит, нежели "тараканы". Аххах. >а матх-то здесь причём Да ты заебал. Очевидно, же, что тред о математических алгоритмах. Иди спроси в программаче, как найти делитель алгоритмом Миллера Рабина, или блядь, как посчитать функцию Эйлера, чтобы найти количество первообразных корней по простому модулю. Тебя там нахуй пошлют, и пойдут дрочить свои фронтендики и бекендики, под пледиком, с кофейком, в тёплом и уютном офисе.
Там нет математиков, и именно математика с её математической логикой, на уровне инструкций - алгоритмизирует автоматизацию информатизианалистичную.
>>75583 Ну по сути игра с двумя основными законами алгебры, коммутативностью и ассоциативностью плюс индукция. Хорошо ориентируясь в этой базе, по сути средней школы можно стать очень хорошим программистом.
>>75619 Если позаниматься программированием, станет довольно очевидно, что точка с запятой, разделяющая команды, - это просто оператор композиции. И появляется большое желание перегрузить этот оператор. Отсюда вылезает хаскель.
Как так получилось, что все эти абстрактные вычислительные машины оказались эквивалентны друг другу. Почему нет машин, у которых множество вычислимых функций не совпадает с машиной тьюринга и не яаляется подмножетвом?
Ты меняешь местами только значения параметров? Или же ты меняешь местами и сами параметры, вместе со сменой их значений?
Если второе, то то так, по твоей логике, можно любую некоммутативную операцию сделать "коммутативной": То же возведение в степень, например... Смотри: 2^4 = 4^2 = 16, но 2^5=32 != 5^2=25 - некоммутативная операция. Пусть: pow(a, b) = a^b; ---- a = 2; b = 5; pow(a, b) = 2^5 ---- Меняем местами значения переменных: a = 5; b = 2; Теперь, внимание - меняем местами сами переменные: pow(b, a) = 2^5 ---- Вывод: pow(a, b) = pow(b, a) - возведение в степень коммутативно. Ололо.
>>75668 Ах да, мне померещилось чёт, что он поменял и значения, в этом вот месте: >а = 1 >b = 2
>a = 2 >b = 1 но он просто поменял местами значения в результате: >swap([a, b]) = [b, a] >swap([b, a]) = [a, b] -> и тут вот поменял на [b, a] = swap([a, b]) То есть, попросту, сделал: >swap(swap([b, a]))
>>75627 > Как так получилось, что все эти абстрактные вычислительные машины оказались эквивалентны друг другу. Потому что описывают одно и то же. Вот только в этой области нет своего Скиннера, который от частной топографии поведения перешёл бы к общему понятию операнта. Средства у нас есть, у нас мозгов нету. Так и живём. > Почему нет машин, у которых множество вычислимых функций не совпадает с машиной тьюринга и не яаляется подмножетвом? Потому что вычисление это одно явление, как ты его ни описывай, в итоге получится одно и то же разными словами.
>>75692 >Потому что описывают одно и то же. Вот только в этой области нет своего Скиннера, который от частной топографии поведения перешёл бы к общему понятию операнта. Средства у нас есть, у нас мозгов нету. Так и живём. что?
>>75702 Придумали же альтернативные аксиоматики геометрии, почему нельзя придумать альтернативного, неэквивалентного тому что есть, определение вычисления?
>>75759 1) Нет, тамошнЯЯ категорИЯ - не категория. 2) Используются самые-самые базовые понятия. Это как говорить, что ты используешь теорию множеств в решении своей задачи, если тебе нужно найти пересечение или булеан. 3) Теоркат возник естественным образом для обобщения совершенно конкретных идей из алгема и алгтопа, которые 3.1) не имеют аналогов в CS; 3.2) не могут быть поняты типичным программистом просто из-за колоссального порога вхождения (если они потратят пару лет на чистую математику, то может и поймут, но никто так не делает).
>>75796 >Используются самые-самые базовые понятия. Это как говорить, что ты используешь теорию множеств в решении своей задачи, если тебе нужно найти пересечение или булеан. Так в алгеоме и алгтопе тоже используются самые базовые понятия из теорката.
>>75796 > . Это как говорить, что ты используешь теорию множеств в решении своей задачи, если тебе нужно найти пересечение или булеан. А это и есть использование теории множеств. По прямому назначению. Ты себя читаешь вообще?
>>75797 >Так в алгеоме и алгтопе тоже используются самые базовые понятия из теорката. Открой учебник по теоркату для хаскеля и нормальный курс алгема-алгтопа. Те же производящие функторы - это одно из основных понятий современного теорката, они и в помине в CS не используются.
>>75800 Имел в виду аксиоматическую, конечно же. Хотя даже для наивной "подсчёт булеана есть применение теории множеств в программировании" это совершенная поебота.
>>75802 >Те же производящие функторы - это одно из основных понятий современного теорката Нет, это из гомологической алгебры. Тогда из функциональные алгоритмы из Хаскеля, использующую категории это тоже понятия современного теорката.
http://ci-plus-plus-snachala.ru/?p=10 Итак, делаем некоторые выводы: Функторы — это в С++ прежде всего классы с перегруженной операцией (), а потом любые объекты, которые умеют вести себя как функции: это указатели на функции, лямбда-функции и имена функций, но сами функции и ссылки на функции функторами не являются, потому что они в терминах С++ не объекты. Функторы полезны там, где функции должны вести себя как объекты. Функторы имеют очень важное значение при использовании стандартной библиотеки шаблонов (STL), а следовательно могут так же широко использоваться в других библиотеках. В стандартной библиотеке шаблонов (STL) есть некоторое множество предопределённых функторов, и их нужно использовать в предпочтение своим самописным. Функторы имеют свойсто быть пересылаемыми и присваиваемыми, поскольку они объекты; обычные функции таким свойством не обладают. Функции, возвращающие булевы значения, называются предикатами. Функторы могут быть и очень часто являются предикатами.
>>75811 Есть языки, в которых функции это объекты первого класса. Но всё это не о том, это не алгоритмы. Да мейби предикаты только участвуют в алгоритмах но это опять же не первостепенно.
Какой путь необходимо проделать к теории категорий? математика
13
6 Привет, ЛОР! Предположим, понравился мне Haskell. Предположим, более-менее я его понял. Начинал я его учить с надеждой, что пойму математику. Ан нет, язык как язык, просто подход необычный. Поспрашивав людей, я получил ответ, что просто так теорию категорий не выучить. Кто-то сказал, что нужно знать топологию. Кто-то упомянул другие области. А что скажете вы? Исходные данные: студент второго курса какого-то шаражного вуза, непонятно как ещё не вылетевший. Практически полностью не понимаю матан, чуть лучше дела обстоят с линейной алгеброй и дискреткой, хотя тоже весьма плохо. Да, я тупой. Или ленивый. Или всё сразу. Но хочется исправиться. Цель: понять теорию категорий и, желательно, применение оной. Ещё желательно было бы изучить как можно больше сфер математики, но это так, мечты. Что скажете? Какую шикарную литературу по математике вы в своей жизни встречали? Нет ли какой-то волшебной книги по математике, которая охватывала бы все сферы?
Аноны, вот есть программисты-анальники. Существуют ли математики-анальники? Анон, что носится по доске с дихлофосом и обзывает тараканами он математик-анальник? А Саватеев анальник? А Вебрит? Тут про дилдак можно было бы пошутить.
нет среднестатистические тян не добираются до математиков, потому и тезисная психология приматов на них не распространяется. не потому, что она совсем в их случае не верная, а потому что репрезентативная выборка слишком мала (в отличии от тараканов), невозможно разделять её элементы по слишком обобщённым и примитивным критериям
но ты можешь думать, что все вокруг -- одни "анальники", если тебе так нравится. вряд ли обидишь кого-нибудь
>>76218 >среднестатистические тян не добираются до математиков, потому и тезисная психология приматов на них не распространяется. Так про анальников не тян, а Фрейд придумал. И тянка тоже может анальницей. Это не что-то привязанное именно к прогерам.
>>76222 "программисты-анальники" это был такой не сильно громкий мем, порождённый какой-то блогеркой-психиатриней, которая любит затирать про аналы и подобное
не помню, как её зовут, но помню то видео про "программистов-анальники", из которого всё пошло
очевидно, запрашивающий анон аппелировал именно к нему, так что я отвечал, на него ориентируясь
>>76279 Ну так та баба на Фрейда и ссылалась. Типа программисты анальники застряли на анальной стадии развития, когда детьми были или типа того. Не помню уже. Вот интересно, есть ли математики-анальники.
У меня тян ссытся от этой бабы, так что тоже вынужден слушать эту хуйню. Как психолог она ноль, у неё три типа людей: истеричка, нарцисс и анальник. Еще куча желтухи и всякого треша про первертов. Берет она наглостью и харизмой, слушают ее в основном телки. Приехала в спб в детстве, не сошлась со сверстниками, в школе была изгоем, но не потерялась а выробатала смелость и ненависть к большинству людей.
>>77089 Хотелось бы видеть больше книг по современной высшей математике, написанных в более доступной манере. Я уважаю сухой академический стиль, но всё же сложно переоценить простоту и красочность естественного языка при описании абстрактных понятий. Я не имею в виду научно-популярные труды вроде книг Брайана Грина, в которых вообще нет формул. Ведь мой опыт чтения книг по программированию показывает, что даже сложные практические концепции можно наглядно продемонстрировать и пояснить. Также с большим теплом вспоминаю книги вроде «Наглядная геометрия и топология» и издания «Кванта»…
Спасибо за ваш труд, постараюсь выделить время и полистать вашу книгу.
>>77107 я однажды на ютубе нарвался на некого препода по математике (не профильного, в школе или даже для гуманитариев, не помню), которого все каким-то нездоровом образом массово восхваляют. фишка его заключалась в том, что он очень много кривляется. например, в том видео, где я его увидел, он начал занятие с того, как он смешно изображает, будто спускается по лестнице под парту. и всё в таком духе, а комментарии кричат: если бы меня так учили, я бы любила математику!!
в русском сегменте тоже есть что-то подобное, например, канал "математика без хуйни", на котором автор пересказывает (не в лучших его местах) http://www.mathprofi.ru/, вставляя через слово "блядь"
книги по программированию, написанные для хипстеров - они похожи на брошюры по личностному росту: в них повсюду переливается из пустого в порожнее, обсасывается до невозможности одна и та же мысль, наливается куча воды, у них названия вроде "думай как в джаве" или "философия джава" и они безумно любимы тараканами народом, непонятно за что
Я же считаю, читатель, которого надо развлекать вместо того, чтобы учить, - это неправильный читатель. И нехватка мотивации для читателя - это проблема читателя, а не автора. Я думаю, книга должна быть ясной, точной и короткой.
скажем, по этой причине я не люблю Алуффи, он удивительном образом пишет на высоком уровне и одновременно пытается развлекать читателя, будто тот младенец. Получается не очень
>>77116 >скажем, по этой причине я не люблю Алуффи, он удивительном образом пишет на высоком уровне и одновременно пытается развлекать читателя, будто тот младенец 'Algebra Chapter 0' довольно сухая книга же. Где там развлечения?
>>77149 Арнольд, Хатчер, Лэнг, наверно, нет, но другие иногда позволяют
дело, впрочем, не в одномоментной фамильярности (это ничего), а в том, что у алуффи весь текст более-менее такой (хотя этот пример, конечно, выбивается вперёд). мне трудно объяснить, это на уровне ощущений.
>>77153 >Лэнг Take any book on homological algebra, and prove all the theorems without looking at the proofs given in that book. Homological algebra was invented by Eilenberg-MacLane. General category theory (i. e. the theory of arrow-theoretic results) is generally known as abstract nonsense (the terminology is due to Steenrod).
>>77165 хорошо, если тебе настолько хочется доебаться, давай притворимся, что эти две строчки, обозначенные как "упражнение", уничтожают всё ленгом написанное, превращая это всё в фамильярность и несуразность, мне не жалко, честно
>>77166 >давай притворимся, что эти две строчки Давай притворимся, что единственное «шуточное» (но корректное, тем более учитывая, что позже Алуффи конкретней поясняет, что он имеет в виду) определение группы через группоид уничтожает учебник по алгебре на 700 страниц, превращая это всё в фамильярность и несуразность, мне не жалко, честно.
>>77166 >>77169 Ваши рассуждения больше опираются на эстетику, чем на какие-то объективные метрики. А объективно они оба хороши - и не просто хороши, а на две головы выше среднего. И оба, кстати, экспериментаторы в области стиля и общего тона изложения.
Их тексты не фамильярны, а дружелюбны. Им недостаточно выступить в роли рассказчика, они хотят установить эмоциональный контакт с читателем. И это большая редкость, на самом деле. Несмотря на то, что математика в целом является одной из самых творческих профессий, стилистика математических текстов по какой-то не очень понятной причине чрезвычайно скудна - сказывается то ли доминирование аутистических черт у авторов, то ли выраженный консерватизм сообщества.
>>77170 >А объективно они оба хороши - и не просто хороши, а на две головы выше среднего. Я к этому и вел как бы. Что одна хохма на несколько сотен страниц никак не портит книгу, ни в случае Лэнга, ни в случае Алуффи.
>>77169 как верно заметил >>77170, алуффи действительно, очевидно, пытается установить эмоциональный контакт с читателем, он, однако, делает это повсюду и лично для меня эти попытки выглядят очень несуразно и топорно. дело не только в этом примере, у него целиком весь текст такой. я выше в первых же своих постах всё обозначил, как я ощущаю, ты пытаешься доебаться до каких-то частностей, мне не совсем понятно, зачем
определение группы через группоид было бы нормальным, если бы оно было выделено в виде короткого замечания где-нибудь в конце в середине, ничего плохого в этой "шутке" нет, просто не надо с неё начинать главу и обильно размусоливать на целую страницу.
втянули меня в какойто бредовый спор непонятно о чём, зачем я отвечаю только
>>77175 >как я ощущаю Ну раз ты так ощущаешь. >ты пытаешься доебаться до каких-то частностей Могу еще доебаться до того, что по твоим словам «Хатчер не позволяет себе таких фамильярностей». Это при том, что его книжка по алгтопу - настолько «дружелюбная», насколько вообще возможно, сплошной handwaving и визуальные аргументы, а не «строго, коротко и по делу». Так что для последовательности мог бы хейтить и его тоже. >зачем я отвечаю только Не знаю, можешь не отвечать. >>77172 На первые два вопроса можно ответить просто открыв индекс в конце, но ладно: категории на странице 19, функторы на 494. А третий вопрос слишком неконкретный чтобы я мог что-то внятное сказать, ну сопряженность функторов тензорного произведения и Hom он например рассматривает, не знаю, отвечает ли это на вопрос о «как именно».
>>77176 >>77177 Вообще, я хочу сказать, что Алуффи просто вводит терминологию ради терминологии - иначе бы между определениями категории и функтора не было бы такого разрыва. Содержательных утверждений у него настолько мало, что вся эта терминология остаётся никак не использованной. Зачем было такой абстрактный огород городить, непонятно.
>>77178 >Алуффи просто вводит терминологию ради терминологии - Вот тоже так показалось. Что хорошего в 'традиционном' (по факту) подходе (то есть, рассказать кратенько про категории и функторы в курсе алгтопа) - это то, что ты сразу видишь, а нахуя это вообще нужно, потому что функториальность это просто заебенно. А ковыряться в определениях - так себе затея, уровня 'теоркат для cs' высеров (раз уж мы в погромистском трэнде).
>>77176 >«строго, коротко и по делу» я не сказал это про Хатчера, про Хатчера я сказал, он не позволяет себе того что же, что Алуффи, который пытается установить контакт с читателем, прибегая для этого к сомнительным стилистическим приёмам. Хатчер просто пытается понятно объяснить (насколько ему самому кажется, что это понятно)
у меня чувство, ты вообще не читаешь, что я пишу, просто вырываешь из контекста частности и упорно доёбываешься
бля я тут узнал вот что x / y = 1 / 3 в этом выражении мы можем задать в правой части любое соотношение которое мы хотим получить от x / y и не важно какие там будут величины. Понимаю что выглядит это как хуйня но я чувствую что у этой идеи есть большой потенциал.
>>77210 >x / y = 1 / 3 >3x / y = 1 >3x = y >y = 3x
>в этом выражении мы можем задать в правой части любое соотношение которое мы хотим получить от x / y и не важно какие там будут величины. >x / y = 1 / 3 >x = 5 >y = 8 >5/8 != 1/3
>>77221 >>77590 Просто удобно на глаз выставлять соотношение переменных, после которых выполняется какое то условие, например это может быть и неравенство.
>>77651 а если x / y = 2 / 3 уже всё не так очевидно Банальный пример про аспект фото, если ширина относится к высоте более чем как два к трём то делаем то-то
>>77716 Похуй на неочевидность: >x / y = 2 / 3 >x = 2 / 3 × y >y = x / (2 / 3) >y = x × (3 / 2) Опять же, одна переменная. Так что матан не наебёшь этим.
Есть функция, похожая на дискретный рандом. Как получить похожую, только чтобы еще длина полосочек тоже была "рандомной" от 1 до 10, например. Мне в голову пришло только, что хорошо бы иметь фунцию, как со второго пика, которая дискретно возрастает, а длина полосок случайная. С помощью нее можно было бы получить то что требуется из первой функции и другие функции случайно растягивать. Для любого x она должна выдавать результат за константное время и память.
Задача: найти кратчайший путь от вершины 0 до вершины 7 с помощью алгоритма Дейкстры. Пик 1 - собственно, граф, пик 2 - таблица, построенная алгоритмом Дейкстры. Как построить эту таблицу я понимаю. Как по ней получить путь?
>>80134 >>75589 >Большинство очень хороших программистов даже слов таких не знают. Хотя, возможно, это не мешает им понимать эти концепции. Но я сомневаюсь, что они вообще о них задумываются.
Помогите с алгоритмом Калмана. Нужно снизить количество шума. Хочу онлайн обновлять (XYZ) координаты двигающейся точки. В условном пространстве [0:100] в каждом направлении.
Пытаюсь на Питоне реализовать, но что-то второй день не выходит. А теорию изучать СИЛ МОИХ БОЛЬШЕ НЕТ.
>>80501 И как он вычисляется - нихуя не пойму. Какой-то "bn.mont(n)", "bn(1).toRed(red)" , чё-то неведомое творится ваще. Есть блок-схема? Ебать, я уже и не помню нахуй мне нужен был этот ебучий делитель. >02/11/20 Пнд 04:29:04
>>80501 Там не выполняется деление самого проверяемого числа, там некоторое сконструированное делится НА проверяемое. Ты вообще читал что в вики написано? Там алгоритм - две строки, епт.
>>80536 Да блять, ты посмотри в код, что я закинул. Там же фиолетовым по темно-серому написано - getDivisor. А что оно дальше делает - хуй знает. Кракозябры какие-то делает, непонятные.
>>80536 Я знаю, как работает тест миллера-рабина, на простоту. Но речь шла о более расширенной функции этого алго - о функции getDivisor, которая должна бы, походу, возвращать ещё и делитель. И она его, вроде как возвращает, только как - хуй знает. Блок-схему бы, читабельную.
пиздец, как же много можно сделать умножением, делением, сложением и вычитанием. За годы работы ещё ни разу не понадобилась использовать степени, корни и логарифмы, нахуя они вообще нужны в реальной жизни?
>>80913 пиздец, как же много можно сделать штрихом Шеффера. За годы работы ещё ни разу не понадобилась использовать конъюнкции, дизъюнкции, и негации, нахуя они вообще нужны в реальной жизни?
Пожалуй этот тред подойдёт. У меня возник вопрос по поводу ГПСЧ. Я помню с ВУЗа что они не могут создать по настоящему случайных чисел, с этим всё ясно. А вот в статье про ГПСЧ на вики также сказано: >Любой ГПСЧ с ограниченными ресурсами рано или поздно зацикливается Тут вроде тоже всё понятно, но я наткнулся на одну штуку, которая похоже нарушает это правило. Решил найти собственно формальное док-во этого утверждения, но чёт не выходит. Помогите найти формальное доказательство.
Бьюсь над физическим движком столкновений, хочу его запихнуть на GPU. Пока дошёл до того что GPU охотно есть матрицы, и что если как нибудь сделать так что каждая ячейка отвечает за какую нибудь пару объектов, допустим ячейка (1, 0) отвечает за пару A, Б, соотвественно в ячейке (1, 0, 0) лежит координата объекта А в физическом мире, а в ячейке (1, 0, 1) координата объекта Б, чтобы GPU мог взять эти координаты и столкнуть, но ведь координаты сами состоят из трёх значений, а в ячейку можно положить только одно, как быть, туда ли я копаю?
>>81532 там нет подходящего раздела, могу дополнить что с самого начала у меня есть пять объектов А, Б, В, Г, Д внутри каждого есть координаты и велосити где он находится в текущем фрейме и нужно вычислить координаты и направление в следующем фрейме. Поэтому я создаю матрицу где по горизонтали у меня А-Б-В-Г-Д и по вертикали А-Б-В-Г-Д, поэтому в 0,0 у нас столкновение А с А, что нам не нужно, а в 1-0 уже нужное столкновение А с Б. Есть ли способы отрезать треугольник от квадратной матрицы, так как получается что в нём будет дублирующиеся столкновения Б с А и т.д
Всем Q. Кто-то помнит как проделать упражнение из Городенцева, где нужно показать, что на последнем шаге алгоритма Евклида мы получим $НОК(a,b)$?
Ну, то есть мы все возникшие числа в алгоритме Евклида легко можем представить в виде $ax+by$ c целыми $x,y$. На предпоследнем шаге получаем представление $НОД(a,b)$ в таком виде, а на последнем можем и ноль представить точно так же:
$0 = ax+by$ И далее утверждается, что $|ax|=|by|=НОК(a,b)$.
Ковыряясь в коэффициентах в общем виде становится понятно, что на каждом шаге коэффициенты $x_i,y_i$ при $а,b$ взаимно просты. А значит и на последнем шаге коэффициенты $x,y$ тоже взаимно просты и тогда все доказано.
>>81526 >Детерминированные_ГПСЧ >Детерминированные >Детерминированные, БЛЕАТЬ. https://ru.wikipedia.org/wiki/Детерминизм Короче, смотри. Если ГСПЧ имеет какое-либо состояние, то состояние ДО этого, является причиной этого состояния. ДО, значит, чуть раньше во времени. Любое состояние, ГСПЧ, какое не возьми, имеет состояние ДО этого, а значит любое значение на выходе ГСПЧ, имеет причину, и ГСПЧ не может выдать истинно случайные числа.
И вообще, любое состояние, любого генератора, имеет состояние ДО этого, то есть, хотя-бы на одну единицу планковского времни предшествующее ему, а значит ни один генератор не может выдать случайные числа. Если конечно, эти состояния не появляются откуда-то извне времени, то есть спонтанно, как появилась, вне времени, планковская эпоха, например, потому что ДО планковской эпохи, не было другого планковского интервала времени, время появилось в планковскую эпоху. Ну так вот, если время, на самом деле, комплексное, как говорил Стивен Хокинг, здесь: https://ru.wikipedia.org/wiki/Мнимое_время#В_космологии то возможно, из комплексного времени или из многомерия 11-ти мерной М-теории суперструнной, может появиться нечто, что появляется спонтанно, то есть вне времени, и не имеет состояния ДО сгенерированного состояния. Тогда, если спонтанные явления существуют, возможны ГСЧ, и как следствие индетерминизм ещё. А так, во времени, движется всё, и всё имеет состояние ДО, а значит нихуя случайного быть не может в принципе. Если взять ГСПЧ, то это просто, грубо говоря, кольца из значений, кольца, с большим периодом, и если последовательно пробежать все элементы, когда-нибудь, ты упрёшься в самый первый элемент, и при этом, последний элемент, будет являться причиной генерации этого вот первого элемента. Как, например, при использовании этого ГСПЧ: https://ru.wikipedia.org/wiki/Линейный_конгруэнтный_метод Но из-за пиздатости этих колец, у таких генераторов, как https://ru.wikipedia.org/wiki/Вихрь_Мерсенна брутить весь период ГСПЧ, мягко-сказать, энергозатратно. Однако, последний, не является криптостойким, а вот https://ru.wikipedia.org/wiki/ISAAC является. И там тоже большой период зацикливания. А ваще, юзай шумы. Ну, там, белый шум, тепловой шум, дробовой шум, джонсоновский шум, квантовые, фотонные, фононные ГСЧ, всю эту хуйню, моделировать, врядли кто станет.
>>81601 >Если ГСПЧ имеет какое-либо состояние Вот меня это если смущает, даже на вики сказано что только большинство ГПСЧ удовлтеворяют схеме с состоянием и т. д. Я наверно плохо выразился, зря начал с ГПСЧ, прост на эту тему я всегда в их контексте думал, т. к. в вузе так проходил. Правильнее спросить так: можно ли детерминированно получать последовательноть без периода ?(конечно же используя ограниченную память) В теории то понятное дело что можно, с бесконечной памятью.
>>81847 Ну, смотри... Возьмём, для примера, обычный счет двоичного представления натуральных чисел... Поехали:
0 1 10 11 100 101 110 111 1000 ... и так далее...
Эта последовательность требует всё большей и большей памяти, а именно +1 бит на каждый новый разряд. Если продолжать этот счет, бесконечно, то нужно будет бесконечное число разрядов, а значит и - бесконечная память. Тем не менее, эта последовательность не имеет периода, то есть она вообще не зацикливается.
Но возьмём конечную память в 3 бита. 000 - 0 001 - 1 010 011 100 101 110 111 000 - 0 101 - 1 ... Очевидно зацикливание с периодом 2^3 = 8, каждые 8 значений, потому что 3 бита на три разряда. И хотя, с ростом числа разрядов до N, период зацикливания простого счета, растёт по экспоненте до 2^N, тем не менее, всё-же, при конечной памяти, этот цикл имеет конечное число значений, и счет зацикливается.
Но возьмём число разрядов N = 256. Число комбинаций 256-битных значений, равно 2^256 , и это ебически пиздатое число, и это период зацикливания генератора, основанного на последовательном счете. Чтобы пробежать все значения всего этого цикла, можно спалить, нахуй, всю энергию Вселенной, и так и не пробежать эти значения.
такой "генератор" не является криптостойким, потому что чтобы из состояния x вычислить 3-е, или 7-е, и т. д., состояние, не обязательно пробегать все 3, или 7, и т. д. значений, можно просто прибавить число 3 или 7, и получить это значение. А вот если это будет нечто вроде: (hash(x), hash(hash(x)), и т. д...) , тогда хуй. Но хэши имеют коллизии, и их цепочки могут зацикливаться тоже, причём раньше чем зацикливается весь период. Например, грубо-говоря, хэш какого-нибудь числа, может дать хэш2, его хэш даст хэш3, а хэш хэша3, даст снова число, хэш которого даст хэш2. Это грубо-говоря, конечно там период побольше будет, но грубо-говоря, в этом примере, получишь генератор с циклом в 3 значения, несмотря на то, что в записи хэша - дохуя бит. И ещё, из-за коллизий, какое-нибудь число2, может дать хэш2, с тем же результатом на выходе.
Короче, блядь, если у тебя память ограничена, ты не можешь записать в неё бесконечность, а значит будет конец, и либо опять всё сначала, либо вообще ну конец прям. Всё станет и начнёт лагать, и забаговываться.
>>81849 >Короче, блядь, если у тебя память ограничена, ты не можешь записать в неё бесконечность А я запишу потенциальную бесконечность, ведь актуальная это не математика.
>Бесконечность может рассматриваться как неограниченность некоторого процесса, например, когда >во втором постулате Евклида утверждается возможность продолжить бесконечно и непрерывно любую прямую, >то имеется в виду, что процесс можно непрерывно продолжать, >но существование такого самостоятельного объекта, как бесконечная прямая, из него не следует. Подумал-подумал, как можно продолжить прямую бесконечно, без существования бесконечной прямой как объекта, и просто замкнул мысленно прямую в кольцо, искривив пространство каким-нибудь гравитационным искривлением. Если прямая это кольцо, то ей моно продолжаь и продолать, и продолжать и продолжать, но в итоге, одна точка может иметь одну и ту же координату на прямой этой, после нескольких проворотов по кольцу. То есть, получаешь цикл из координат, и генератор координат - зацикливается.
>Такого рода процессы и совокупности объектов, их описывающие, >характеризуют как потенциальную бесконечность >(в схоластике используется термин «синкатегорематическая бесконечность»), >потенциально бесконечное >не подразумевает целостных бесконечных предметов и явлений, >в каждой фазе бесконечного процесса рассматриваются лишь конечные сущности, >то есть является >лишь частичным отрицанием конечного. То есть, как я понял, бесконечная прямая, рассматривается как бесконечное число конечных отрезков, складываемых по мере необходимости продолжения прямой, а не уже сложенных в бесконечную прямую. Но опять же, ключевое слово здесь - БЕСКОНЕЧНОЕ число отрезков, и если их больше чем (2^8-1), при 8-ми битах в разрядах записи числа отрезков, то число трезков большее (2^8, например), уже нельзя будет записать 8-мью битами, надо 9 бит, и вот так вот, конечная память, просто не даст возможность представить в числовом виде - бесконечное число отрезков.
>>81849 Ну вот я дальше копаю, и наконец я уже понял как правильно классифицируется то что изначально принял за возможность бесконечного апериодичного генератора. https://en.wikipedia.org/wiki/Low-discrepancy_sequence Есть, оказывается, понятия квазирандом и квазипериодичная последовательность. Можно ли их получать используя конечную память я пока ещё не выяснил, но вот смотрите что гуглится: https://www.sciencedirect.com/science/article/abs/pii/0167715286900994 Тут вроде читать бесплатно не даёт. Я также понимаю что, даже если окажется вдруг, что так можно делать, то скорее всего такой ГК(квази)СЧ окажется полным уг по своим свойствам, уж по криптографическим точно.
>>81867 Получить квази RNG с бесконечным периодом - это задачка в две строчки для первокурсников Дело-то не в периоде, выше уже писали, что даже периода в 256 хватает, чтобы никогда не повторяться в обозримом будущем Дело-то в предсказуемости, и тут бесконечный период ничего особенно лучшего не гарантирует по сравнению с конечным
>>81867 >Ну вот я дальше копаю, >и наконец я уже понял >как правильно классифицируется то >что изначально принял за возможность >бесконечного апериодичного генератора.
>Есть, оказывается, понятия квазирандом >и квазипериодичная последовательность.
Блядь, я не могу читать этот инглиш, поэтому прогуглил сам, и нашёл вот это: http://math.nsc.ru/~serge/qpsl/problem_statement_1.htm >Последовательность, имеющая квазипериодическую структуру, >или квазипериодическая последовательность ― >это последовательность с квазипериодической сменой своих свойств.
То есть, я так понял, ты просто хочешь сделать так, чтобы период зацикливания генератора был динамическим, и изменялся? Ну, даже если так, всё-равно это не даст бесконечное число вариантов, при конечной памяти.
>Можно ли их получать используя конечную память я пока ещё не выяснил, но вот смотрите что гуглится Квазипериодические последовательности, вроде можно. Но конечной памяти, они всё-равно не будут иметь бесконечное число вариантов, и всё-равно будут зацикливаться. Можно просто по прохождению цикла - смещения в цикле юзать, чтобы проворачивать этот цикл. Наример, период зацикливания трехбитного генератора составляет 8 значений (включая 0 - от 0 до 7): 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2 значения повторяются А можно сделать так: 0, 1, 2, 3, 4, 5, 6, 7, 1, 2, 3, 4, 5, 6, 7, 0, 2, 3, 4 то есть, по прохождению цикла в 8 элементов - плюс единичка, и в целом, последовательность уже имеет разные периоды, хотя некоторые из них меньшие, нежели 8, из-за того, что 2^3 = 8 значений в конечной памяти, объёмом в 3 бита.
>>82612 Как можно в 21 веке смотреть лекции, где пишут на доске? Это значит, что лектор вообще не уважает зрителей или даже не может сделать презентацию.
>>82613 На этом примере видно на сколько лучше строят свои лекции люди имеющие дело с алгоритмами, нежели обычные математики типа Саватеева, которые двух слов связать не могут чтобы слушатель не запутался
>>75489 (OP) Реквестирую алгоритм для авторизации клиента на сервере, алгоритм с доказательсвом с нулевым разглашением. Чтобы клиент мог отправить пруф того, что он знает пароль, не отправляя сам пароль, и чтобы сервер мог проверить вероятностно знает ли юзер пароль или нет.
>>83825 Ну, блядь. Регистрация - делай так, так, так. Авторизация - делай так, так, так, так, блядь. Вход по кукам, куки есть? Так, нет - нахуй на перелогин. Восстановление доступа - секретный вопрос прохешировал, сравнил, дальше делай так, так пароль меня, так потом вот так блядь, и на перелогин. Так, так, потом так, и потом ещё эдак, и всё нахуй проверено и заебись. Алгоритм, короче.
>>83833 Один ебанат с пынями-пучкистами спугнул почти всех мало-мальски имеющих отношение к математике, теперь форсер дихлофоса спугнет и айтишников. Проклятое место, реально.
>>83860 >теперь форсер дихлофоса спугнет и айтишников. Здравствуй, какая тематика в /math/?! Этот тред вообще по-хоршему нужно было сразу снести >Один ебанат с пынями-пучкистами спугнул почти всех мало-мальски имеющих отношение к математике Те, кто "спугнулись" такой хуйнёй, нашли бы от чего спугнуться и в дальнейшем, это сосач всё-таки
Кстати, весьма интересные алгоритмы встречаются в топологическом дата сайенсе, с гамалогиями.
>>75489 (OP) >ITT, мы будем алгоритмизировать алгоритмизацию алгоритмизациоанальную. Алгоритмизацианалично, и алгоритмизациоаналистично. >Приготовь свой алгоритмизациоанал, для аналлизирования различных алго, невъебенных. > >Заебатой автоматизированной алгоритмизации-нить, иди.
Анончане, помогите с тараканьей хуйнёй. Вот допустим у нас есть сетка 8x8, каждая ячейка пронумерована, в левом нижним углу находится 0 и дальше номера ячеек возрастают по мере движения влево вверх, см пикрил. Так же у нас есть вектор [4.5; 4.5]. Вопрос на какой номер ячейки он указывает, как посчитать-то подскажите позязяяяя
>>84913 Картинка неверная, у тебя х=3.5 Для вектора $(x, y)$ номер ячейки $N$ равен $8 \cdot (\overline{y}-1) + \overline{x}$ где $\overline{a}$ это функция ceiling
И в дополнение хотелось бы спросить, если бы я вдруг ебанулся и решил-таки перегенерить, хешировать по описанному в первом посте методу все 60^31 вариантов за пару миллиардов лет, чтобы узнать, сколько комбинаций в итоге получится - то каким ЯП мне стоило бы воспользоваться, какой бы наиболее быстро смог выполнять нужный алгоритм (офк с задействованием rtx 3090 в моем пека, а не процессора)? Perl, C/C++, что-то другое? Вдруг тут погромисты тоже есть.
Ананасосаны, может кто-нибудь из вас ебался с гпу/физикой? Короче есть одна непонятная хрень. У меня есть двумерный буфер из 9 клеток и он едет на гпу. В каждой клетке зашито направление(стрелка) и контент(кружок). Каждый раз клетка перемещает свой контент на ту клетку куда указывает направление. И при такой конфигурации стрелок на 4 фрейме контент куда-то пропадает. Подозреваю что есть какое-то физическое объяснение этого явления, можете меня ткнуть в этом направлении?
>>75489 (OP) Матаны, пиздец как срочно надо просчитать 10-ти триллионный знак числа пи. Есть вот такое вот: ru.wikipedia.org/wiki/Формула_Бэйли_—_Боруэйна_—_Плаффа и там, внутри, 16k. Если k будет 10 триллионов, это ж ваще пиздец скоко умножений. Как оптимизировать оптимизацией оптимизациоаналистичной, чтобы алгоритмика вся эта няшная - сразу заалгоритмизировала всё алгоритмизациоанальностью, алгоритмической?
>>86573 >>а что значит k - нихуя не написано >Без комментариев. Действительно, там нет ваще никаких комментариев, про k.
Сама формула, как я понял, вычисляет пи целиком, а не эти вот знаки шестнадцатиричные.
>>86569 >Прочитай статью целиком (особенно раздел BBP digit-extraction algorithm for π), >а не только первые пару параграфов. Так там же (пикрил), тоже везде есть это ебучее и неведомое k, а что оно значит и что туда подставлять надо - хрен поймёшь.
>>86576 Нет, блять, не тролленк. Мне надо знать что значит это ёбанное "k", и что туда пихать надо, чтобы махина эта завелась. Что если нам надо срочно, высчитать ебический-космический 10-ти триллионный знак, блядь? Сидеть вычитывать что такое "k"? А где вычитывать, блядь, если нихуя инфу не дали, какую-то неполную хуйню намазюкали, а остальное скрыли и зацензурировали мочернёй, на мочане этом, мейлачевском?
>>86577 И степень эту пиздатющую можно как-то через модуль заебенить? А то считать, блядь, 10^(в 10-ти триллионной) как-то, ну, мягко-сказать, что - пиздец как неэнергоэффективно.
>>86579 А, всё, понял, это ж сумма. k инкрементируется там от нуля. Так она аж до бесконечности штоле суммирует, блядь? Это будет бесконечный цикол, штоле?
А хуле они тогда пиздят, эти пендосы, что прога даёт n-ный знак из пи, без вычисления предыдущих? Если мне надо 10-ти триллионный hex-char оттуда, значит надо всё-равно просчитать это пи, с точностью до 10-ти триллионного знака, а потом извлечь цифру эту, так ведь?
>>86581 Какой алго годно считает, давай сюда его быстрее, и чем быстрее - тем лучше, потому что теперь, мне уже срочно нужен унтригинтиллионный знак числа пи, блядь, пиздец как нужно усираюсь прям. Меня тут в МГУ, уже на счетчик поставили прост.
>>86575 >Так там же (пикрил), тоже везде есть это ебучее и неведомое k >>86580 >А, всё, понял, это ж сумма. k инкрементируется там от нуля. Так она аж до бесконечности штоле суммирует, блядь? Можно мне нобелевку, или там премию тысячелетия? У меня пятсот косарей спиздили, мне лямчик не помешает. Короче, зырьте, мне чет кажется что правую часть можно опустить, нахуй, где степень бинарная, потому что при k от 0 до n, пи уже рассчиталось с точностью до n-знаков. А то эта бесконечность ебическая, и ещё и степень там. Тупо закомментировал код с этой частью уравнения, и всё вроде робит. Гоните бабала сюда, есличо. Адрес петухоина, сами знаете: 1KSRkvTQGgFkiwczwJpqgn8ZuSeHs8uVk9
>>86587 >мне лямчик не помешает Хоть мне стоко бабала нахуй и не надо, а то пузо треснет, но всё-равно пущай валяется где-нить на болванке, хуле. Оно жрать не просит, это говно петуховенское, которое пиздят постоянно всякие капиталистоблядские - крысы хуесосские.
>>86626 Всё, не надо, уже просчитал 10000 знаков. Вот последние 50 из них: >71039765214696027662583599051987042300179465536788
4 строчки кода на JavaScript, тупо копипастишь в консоль браузера и вот оно "e": >var nDigs = 10000; var pad = Math.round(Math.log(nDigs)); var n = 1n; >var f = 10n ٭٭ BigInt(nDigs + pad), e = BigInt(f) + BigInt(f); >do e += (f /= ++n); while (f > n); >console.log( '2.'+(e / (10n ٭٭ BigInt(pad))).toString().slice(1));
>>86630 Ой бля, там корень считать надо, вавилонский метод виснет наглухо при 1000000-не цифр после запятой. Могу показать говнокод. Может есть какой-нить попижже алго для вычисления корней, чтобы точно вот считало всё это?
>>86643 Вот, короче, оно тут: https://onecompiler.com/javascript/3x8py7xjf Долго считает, сука, пиздатые числа. Если 1 миллион цифр просчитывать, то корень будет - пиздатое число, порядка 1*10^1000000, а квадрат - ещё пиздатее, порядка 1^10^2000000, поэтому надо бы, чё-то попижже понавыдумывать. С другой стороны, какой метод последовательных приближений не возьми, всё-равно он будет сжирать по биту, из предпологаемого значения корня, длиной в 1000000 знаков, а значит число итераций будет примерно равно: root.bitlength если не больше, и оно растет, это число итераций, по мере наращивания числа вычисляемых цифр, блядь.
>>86644 Вот запилил, пока черновой вариант (неоптимизированный), тут корень считается - методом последовательных приближений, за фиксированное число итераций цикла (это битовая длина корня log_2(10^N), где n - число цифр в корне): https://onecompiler.com/javascript/3x8qcnjtg
10к цифр этот говносайт не даёт просчитать, но в консоли (если скопировать код) можно просчитать эти корни ебучие, но оно всё-равно долговато пашет, надо оптимизировать бы, что-то там, но а как - хз. Квадраты пиздатые, наверное, можно было бы powmod как-то считать, быстро, или каким-то бинарным возведением в степень, или ещё чо. Можно было бы складывать квадраты, или считать их без умножения, а сдвигом бинарным.
200 миллиардов знаков если считать - всё зависнет нахуй: >Сигэру Кондо вычислил 200 миллиардов десятичных знаков после запятой в течение 13 дней и 14 часов, используя процессор с частотой 3,6 ГГц и 16 ГБ ОЗУ.
>>86653 Всё-равно медленно, блядь. Каждый бит корня пробегает, и столько же квадратов пиздатющих вычисляет. Может прихуярить туда ещё и бинарный поиск, для пущей акселлерации? https://ru.wikipedia.org/wiki/Двоичный_поиск Чтобы не все биты пробегать, а как-бы начиная с бита посередине. Меньше квадратов бы должно вычисляться, тогда, в конечном итоге. Если длинна корня лям-лярд, должно бы быстрее хуячить такое вот алго. Но это пока идея, и руки так и не дошли ещё чтоб вговнокодить всю эту хуйню.
>>86657 Чёт подумалось бинарным поиском искать биты корня, просто чтобы все биты не пробегать, а то с к каждым битом, последовательные приближения, приближают значение корня на один бит. Если бит дохуя, и число цифр в корне n, и корень порядка 10^n, то алго будет срабатывать за log2(n) итераций, потому что столько бит примерно в корне этом ебучем, и это может быть дохуя. Вон, челы миллиарды знаков считали. Представляете себе число 10 в степени 200 миллиардов, блядь? А сколько бит у него? Столько и итераций в цикле, и это дохуяшечки.
Я вижу здесь: https://ru.wikipedia.org/wiki/Квадратный_корень_из_2#Алгоритмы_вычисления Есть какой-то алго пошустрее. Он за один шаг, удваивает число цифр в корне, якобы. Но мне кто нить пояснит, как работает это алго? Откуда берутся эти дроби ебучие?!! Я уже и так, и сяк, не получаются нихуя дроби, а получается хуйня какая-то неведомая, с каждым шагом, которая даже на приближенный корень не похожа. Пиздец просто. А потом, каким-то магическим образом, всё это сходится в корне, опять же за log2(n) итераций. Пиздят википидоры, походу, но где и в чём - не пойму чёт. ПАМАГИИИИТИИ.
>>86682 Всё ясно. Там любое число на входе може быть, как сторона прямоугольника, например, число 3, далёкое от корня. И в любом случае итерации сходятся в корне.
Только здесь нашёл внятное описание: https://ru.wikipedia.org/wiki/Итерационная_формула_Герона#Геометрическая_интерпретация >одну сторону нового прямоугольника сделаем равной среднему арифметическому обеих сторон предыдущего шага поэтому, из-за среднего арифметического (xn/2) и не удивительно, что алго работает за log2(n), так как для корня битовой длины n, сжирается по биту за шаг, этим вот делением на два.
Нет ли у вас ощущения, что математики бомбят на тараканов, потому что для тараканов кажутся элементарными модели, которые строят математики путём усиленного напряжения извилин, памяти и воображения, когда по сути это примитивные модели каких нибудь сфер или сеток, которые может не сильно напрягаясь написать и визуализировать на мониотре немного прокаченный школьник?
>>87231 Это очевидно по числу ответов ITT. Местные маняматики даже не в состоянии врубиться о чем идёт речь в постах анона. Наверное, тред про алго следовало бы создать в /pr или /s потому что математические абстракции здесь слишком сложны для окостеневшего лба, среднестатистического маняматика из матача, на этом - мочерском мейлаче. Ну а хейт погромистов в этом разделе, и всякий тараканизм - это уже стадная хуйня, тут у них своя стадная иерархия в виде примитивной пирамидки, я гляжу.
>>87252 Как же у кодерка нибамбит от того, что его хуйня никому кроме узкой кучки таких же аутистов не интересна. Да-да, про матешу можно сказать то же самое
>>87253 500 косарей пендосской срани мои, мне сюда, ещё вчера. И коробку шмали мне мою отдайте ещё, дешёвая крысинная гниль. Да, я не за был, сука. Ничтожества никчёмные.
>>87259 -----BEGIN BITCOIN SIGNED MESSAGE----- console.log(new Date().getTime()); //1631323200242
Я принёс вам 11 сентября в говнявесном блохчейне: https://wavesblockexplorer.com/tx/72ses9JqiJ7BAvjaAJbBAB4hgT9g6dUycvjmy4uU7bAB Всосите его сполна, суккакрысы. Сегодня годовщина, кстати. Ровно 20 лет. Хуй вы удалите это, теперь, мрази мочерские. -----BEGIN SIGNATURE----- 1QGmrMkWAwpauFRMUq9Y9mK34e7uoc7ge5 HAHRcIOg34XJx++hfSEocxWGiTJbiKT3WH5JCZSw1QGeGft0RCCFHyLsADoIj4HHifHlz3wnGoaEh81NL6mkVek= -----END BITCOIN SIGNED MESSAGE-----
>>87271 У меня диссонанс. Я всегда считал что существуют хитромудровыпиханные алго, позволяющие подобрать хэшируемые данные по хэшу, с той же скоростью, с которой проверяется хэш. Например, квантовыми вычислениями какими-то невъебенными, или обратимыми вычислениями. Когда хэшируешь данные - инфа теряется из-за необратимости конъюнкций и дизъюнкций всяких. А если делать это через обратимые вычисления, не теряя инфу, то по выходной инфе можно однозначно восстановить входную, так же быстро, как вычисляется входная инфа (хэш), но только в другую сторону (обратимость обратимых вычислений).
А правильно ли я понимаю, что если мы прибавляем к любому простому числу 10, то остаток от деления на 10 это наше простое число? То есть можно сделать тип, основываясь на каком-либо простом числе?
>>87307 >>87309 ты ведь понимаешь, что в $(k+n) \mod n \equiv k \mod n \equiv k$ может стоять любое натуральное число n, не только 10 в какой-нибудь степени, и что утверждение будет выполняться для любого натурального k<n, простые числа тут вообще ни к чему?
>>87746 Почему нельзя, просто циклом запрашивается память у операционной системы и забивается мусором. Многие программы на C/C++ написаны именно так - с утечками памяти. Программисты выделяют память, что-то туда пишут, а освободить забывают.
>>88315 Да, всё правильно. Конечна даже не сама память, а адресное пространство. Поэтому либо комп зависнет, либо операционная система завершит процесс.
Год сюда не заглядывал, чё-то крутился с работой, но вот опять появилось время для глобального саморазвития. Так вот товарищи, читаю сейчас одну книгу по програмированию. Это самая жёсткая книга, которую я читал, хотя в отзывах на Амазоне пишут что это изи реадинг, пиздец конечно там зубры сидят бородатые. Первые 11 страниц я натурально читаю уже 2 года. Там обсасывается египетское умножение и то как это перенести на комплютер. У меня там буквально на каждом предложении кипит мозг. Но с горем пополам я вроде понял больше половины первой главы и иду дальше. И вот какую вещь после неё я заметил. Допустим возьмём любую степень двойки. Если мы от неё отнимем единицу то получится нечётное число, и без остатка оно не делится. Но если мы всё таки 'разделим' это число на два числа, то одно из них обязательно будет простое? Например число (16 - 1) / 2 = 8 + 7, (32 - 1) / 2 = 15 + 16 ...
>>93514 И если мы продолжим 'делить' это первое нечётное число, то мы никогда не получим два чётных числа (64 - 1) / 2 = 32 + 31 31 / 2 = 16 + 15 15 / 2 = 14 + 7 7 / 2 = 4 + 3 То есть получается какой-то постоянно повторяющийся плохой случай, а всего лишь надо было от степени двойки отнять единицу
>>93521 >⌈x/2⌉=⌊x/2⌋ >⌈x/2⌉=⌊x/2⌋+1 Это отдельный пиздец. Как так? Там были эти формулы, но я не понимаю, как одно и то же действие равняется двум разным результатам?
>>75489 (OP) Всё, что ни на есть - это алгоритмы. Даже если нихуя не исполняется, а просто если что-то существует, то что-то существует во времени, и переходит из одного состоиния в другое, с каждым новым интервалом планковского времени - как-бы исполняя алгоритм. Процесс развития Вселенной - это тоже один пиздатый алгоритм, который пиздует во времени. А поскольку везде алго, и Вселенная - это сплошной алго, то алго фундаментален, и если познать дзен в сути алго, и алгоритмизировать алгоритмизацию алгоритмическую, то алгоритмически алгоритмизирующая алгоритмизация, заалгоритмирует алгоритмом алгоритмизирующим.
>>93700 А разве при бинарном поиске рассчитываются простые числа? Можно ли присунуть в алго массив заранее вычисленных простых чисел и ускорить бинарный поиск?
>>75566 нет конечно, это же не имеет смысла, какой прок от алгоритма если мы не можем его осмыслить нашим конечным мозгом. Другое дело, что алгоритмы вполне могут выдавать бесконечные данные, типа алгоритма для числа пи.
>>94680 И ты спрашиваешь, есть ли оно. Ну да, есть. Куча сайтов с задачами, где можно решение отослать и его по тестам прогонят. И не только на сортировку. Или ты что-то иное имеешь в виду.
Есть практическая задача, не могу ее эффективно решить. Двухмерное пространство, есть два класса зон: разрешающие и запрещающие. Могут быть окружностью либо полигоном (выпуклым, пока). Задача - найти близжайшую окружность, которая будет полностью в допустимой зоне, при этом не будет пересекаться с запрещающими зонами, т.е. для точки в центре - одна из двух фиолетовых.
Изначально, задача была про точку, я ее решал перебором: начиная от тестовой радиуса 0.5 (вокруг изначальной точки), перебрать точки на окружности с шагом 0.5, если попадает в разрешающие и не попадает в запрещающие - ок. В итоге оказалось низкопроизводительным, хоть и работало. Потом оказалось что есть погрешность - поэтому нужно искать не точку, а целую окружность. В теории - можно сделать то же самое, только смотреть не попадание тестовой точки в зоны, а пересечение окружности с этими зонами. Все равно выглядит как дилетанство, тем более на практике такого количества фигур не будет и перебор сильно замедляет алгоритм. Мб кто подскажет более эффективный способ? На питоне написано, мб либа есть?
>>94681 >Или ты что-то иное имеешь в виду. Что-то, по мнению возможных ответчиков, интересное. Например, вывод специфических перестановок или подсчёт маршрутов с погрешностями, возможные задачи на приближённое моделирование без теории из численных методов.
>>94682 Пчел, задача у тебя невыпуклая, это пиздец с точки зрения именно матеши, так что сетка это идеальный алгоритм для глобальной оптимизации. Можешь разве что увеличить шаг сетки и прикрутить градиентный спуск, его и сам написать можешь. Как еще один прикол - вместо того, чтоб решать задачу с ограничениями, просто наебни функцию штрафа, по типу $f(x) = ||x||^{2} + \betha \sum_{i} (\min(0, \rho_{i}(x) - r))^{2}$, где $\pho$ - знаковые функции расстояния до фигур.
У меня задача, нужно график функции масштабировать и компенсировать смещение точки под курсором при масштабировании. Какой алгоритм мне использовать? я использую алгоритм следующий: [mаth]сдвиг графика по оси Х += (координаты мыши масштаб графика) - (координаты мыши новый масштаб графика) [/mаth]
>>96386 >>96387 >>96388 Все разобрался, полторы недели мучался, оказывается нужно было умножать на масштаб разницу координат. Методом тыка подобрал алгоритм.
>>103354 Потому что ты не знаешь разницы между машиной Тьюринга и универсальной машиной Тьюринга. Если бы знал, то знал бы и то, что последняя - это общий формализм универсального вычислителя, поэтому любая конкретная нумерация ячеек ленты не имеет смысла.
>>103627 Если бы была возможность не ползать по ленте влево вправо, а сразу прыгнуть на ячейку с конкретным номером, то вычислитель перестал бы быть универсальным?
>>103693 >Если бы была возможность не ползать по ленте влево вправо, а сразу прыгнуть на ячейку с конкретным номером, то вычислитель перестал бы быть универсальным? Нет конечно же. Описанная тобой возможность изначально предполагает конкретную нумерацию ячеек, отсюда возможность перейти к любой ячейке, нумерация которой вычислима в данной программе. В чем и суть, можно задать любую нумерацию ячеек, вычислимую в заданной программе, а не ограничиваться заранее заданной. Это одна из причин, почему универсальная машина Тьюринга это именно общий формализм любого возможного вычислителя.
>>103627 > Потому что ты не знаешь разницы между машиной Тьюринга и универсальной машиной Тьюринга.
Слово "разница" в данном контексте как-то нелепо звучит. Какая, например, "разница" между множеством всех натуральных чисел и числом 1?
Вот так и тут... Понятно, что универсальная машина Тьюринга - это конкретный пример машины Тьюринга. Но говорить о РАЗНИЦЕ между конкретным примером какого-то объекта и множеством всех этих объектов - это как-то странно, мягко говоря.
Или ты нам хочешь сказать, что универсальная машина Тьюринга - это не машина Тьюринга?
>>103713 >Какая, например, "разница" между множеством всех натуральных чисел и числом 1? Что-то из этого является наименьшим индуктивным множеством содержащим 1, другое - нет. При определенном формализме теории множеств, одно является множеством, а другое - нет. >Но говорить о РАЗНИЦЕ между конкретным примером какого-то объекта и множеством всех этих объектов - это как-то странно, мягко говоря. Число 1 это не множество натуральных чисел, красное яблоко это не множество красных яблок (если только ты не готов отождествлять синглетоны с их единственными элементами). Раз решил до слова доебаться, то хоть бы аналогии нормальные придумал. Но я понимаю о чем ты. Посмотрим на вопрос "есть ли смысл говорить о РАЗНИЦЕ между абстрактной группой и группой симметрий конкретного множества?". Очевиднейший для любого нормального человека ответ - имеет, как минимум потому что у нас есть теорема их нетривиальным образом связывающая и одно с другим путать нельзя. мимо
>>103713 >универсальная машина Тьюринга - это конкретный пример машины Тьюринга. Вообще-то, наоборот. Универсальная машина Тьюринга это общий формализм, а не конкретный пример. >говорить о РАЗНИЦЕ между конкретным примером какого-то объекта и множеством всех этих объектов - это как-то странно, мягко говоря. То есть, ты не видишь разницы между например, аксиомами группы, и конкретной группой?
>>103715 > Универсальная машина Тьюринга это общий формализм, а не конкретный пример. О, вот это уже интересно. А если всю эту филологическую воду опустить, сможешь хотя бы примерно накидать твои определения машины Тьюринга и универсальной МТ? Уже предвкушаю смешное чтиво.
> То есть, ты не видишь Я этого не утверждал. Я лишь сказал, что странно говорить разнице объектов, которые уже на уровне типизации различаются. Давайте ещё обсудим, чем отлицается цвет от красного и вкус от горького.
>>103716 >сможешь хотя бы примерно накидать твои определения машины Тьюринга и универсальной МТ? "Мои" определения не отличаются от общепринятых. >странно говорить разнице объектов, которые уже на уровне типизации различаются. Надо же, про типизацию знаешь, ты у бабушки молодец? В таком случае, ответ на твой изначальный вопрос >>103354 можно упростить до одного слова - полиморфизм.
>>103697 Почему бы не записать в ячейку произвольное число, она же не ограничена определенным числом битов, как ячейка памяти компьютера? Для произвольного числа все еще нужен конечный алфавит.
>>103732 Как раз потому что компьютер так не может, а мы его моделируем. Вообще цель в том чтобы определить минимально возможную модель вычислителя, а не городить в нее удобств. Таблица переходов тоже тогда должна быть бесконечной.
>>75489 (OP) У меня есть такая задача: Пусть $X=\{1,...,n\}$, дана метрика $d$ в $X$ и функция $\omega: X^2 \rightarrow N_0$. Нужно определяя пермутацию(биекцию) $\sigma: X \rightarrow X$, нужно минимизировать $F(\sigma)=\sum_{(i,j)\in X^2}\omega(i,j)d(\sigma(i), \sigma(j))$
Если у вас есть хорошие идеи для алгоритма решения, то будет здорово, но у меня есть более конкретный вопрос.
Если я начну с произвольной пермутации $\sigma_0$ и определю $\sigma_i = argmax_{\sigma \in \{t \circ \sigma_{i-1}: t\in T\}}F(\sigma)$, где $T$ это множество транспозиций, то какое максимальное число итераций(можно через нотацию $O$) требуется для схождения алгоритма?
>>103750 Почкольку твоя омега произвольная, никакой возможности воспользоваться остальной информацией особым способом не предвидится, так что давай чисто перебором. O(n^2)
Вы знаете какую-нибудь книгу по алгоритмам, где в качестве задач - ссылки на задачи с литкода/других тестирующих систем? То, что я наблюдаю в самых популярных книгах - это какое-то позорище. Тестирующие системы существуют уже не менее 20 лет, а они как писали задачи на бумажке, так и продолжают, блять.