377 похожих чатов

Добрый вечер! Существуют ли какие-то общепризнанные и общеупотребимые критерии для оценки

того, на сколько хорошо функция перемешивает открытый текст или блок открытого текста?
Спасибо.

5 ответов

27 просмотров
Fido-Retano Автор вопроса

Добрый день, Ruslan, а также @entressi! Допустим, что есть некая функция, которая на вход получает произвольную перестановку [уникальных] символов, а на выход выдаёт какую-то другую перестановку этих самых символов. Нужно оценить, на сколько сильно функция перемешивает символы в начальных перестановках. Вот что я придумал: запускаем функцию рекурсивно много-много раз и вычисляем номер каждой перестановки (и начальной, и всех промежуточных, и конечной) в лексикографическом порядке и исследуем порядок появления этих номеров так, как если бы это был генератор псевдослучайных числовых последовательностей, который работает в очень широком диапазоне N! Адекватна ли такая идея?

Fido Retano
Добрый день, Ruslan, а также @entressi! Допустим, ...

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

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

Fido-Retano Автор вопроса
awawa
По-моему, идея о том, чтобы назначить каждой возмо...

awawa>а затем тестировать это как ГПСЧ с awawa>применением готовых решений Вы знаете, я по всей видимости слишком сильно раскатал губу. Традиционные ГПСЧ же могут повторять генерируемые числа и это нормально. А если перестановочный "гена" повторит перестановку, то это всё - конец периода. Это я к тому, что все номера перестановок до зацикливания будут уникальными. Рассчитаны ли уже существующие тесты на неповторяющиеся значения или нет?

Fido-Retano Автор вопроса
Fido Retano
awawa>а затем тестировать это как ГПСЧ с awawa>при...

Единственное что мне сейчас приходит на ум - это посчитать разницу между текущим номером и предыдущим, а потом посчитать среднеквадратичное отклонение этих разниц. Чем больше СКВО, тем лучше. Но опять-таки "чем больше - тем лучше" это только качественная характеристика, а не количественная: от такого значения до такого - это ещё плохо, а от такого до такого - это уже хорошо. :-((((((

Похожие вопросы

Обсуждают сегодня

Telos is at a pivotal moment. While ambitious projects like zkEVM and SNARKtor have shown promise, the delay in delivering EVM 2.0—a cornerstone of the ecosystem—is a growing ...
Trinidad
8
#include <stdio.h> #include <stdlib.h> #include <time.h> void mass_first_generate(int mass[5][7]) {     for (int N = 0; N < 5; N++) {         for (int A = 0; A < 7; A++) {   ...
Чувак
6
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Except the wealthiest, people that buy crypto want to "cash out" at the end of the day, one way or another. Converting to fiat is craziness, converting to BTC is unwise. Hold ...
Erdelanax
2
Всем привет! Решаю 99 OCaml Problems и столкнулся со следующей проблемой (прошу палками не забивать, я OCaml практически не трогал до этого момента): open OUnit2 let create_...
К|/|pи/\/\ 6е3yглbIи
2
Hello guys, hope you can help me with a quick question. I've staked some ZIL using Atomic Wallet some while ago and wanted to claim my rewards and unstake it. Atomic Wallet sa...
Martin | #bornbrave
14
Ready for some fun AND a chance to win TKO Tokens? Join us for exciting minigames in our Telegram group! 🕒 Don’t miss out—games start on today 25 October 2024, at 8 PM! Ge...
Milkyway | Tokocrypto
255
https://www.linkedin.com/posts/ugama-benedicta-kelechi-codergirl-103041300_mobiledevelopment-fluttertraining-handsonlearning-activity-7263445699227254784-IdHB?utm_source=share...
CoderGirl
16
возможно ли как-то передать в электрон или таури медиа поток с рендера 2д движка? двиг запускается как dll, а дальше надо как-то отправлять рендер кодировать не подходит, зр...
Kyle Nekto
7
VIP-397 BNBx Oracle implementation upgrade Summary This proposal, if approved, will upgrade the implementation of the BNBx Oracle contract on Venus from version 1 (V1) to v...
Venus Announcements
2
Карта сайта