Wealth beyond measure, outlander
Вук Мрнявчевич
дневник заведен 26-08-2004
закладки:
цитатник:
дневник:
местожительство:
Китай, Шанхай
интересы [3]
Барсы, Шанхай, Кормежка
антиресы [3]
30-05-2006 10:28
Жаль, что я подзабыл математику. Мне нужна функция, которая, выражаясь ненаучно, в промежутке от 0 до 30 выдает значения от 0 до 0,5, от 31 до 35 -- от 0 до 0.75, от 36 до 40 -- от 0 до 0.99, от 41 значения стремятся к 1. И все это, ясень пень, плавно, а не скачками...

Жаль, что я вообще плохо знаю математику, особенно тот ее раздел, который ведает crc32, md5, sha1 и т.п. Мне нужна функция, которая поставит однозначное соответствие между четырехзначным целым и некоей не слишком длинной (скажем, не больше 16 символов) строкой. Причем строка не должна нуждаться в URL-кодировании/декодировании...
Комментарии:
30-05-2006 10:52
грандмастер свалкограф
1. Не понял. Что значит "выдает значения"? Поиграйся с арктангенсом или интегралом от гауссиана (всё время забываю, как эта Фи-функция называется).

2. Так, чтобы никто не догадался? Или цель другая?
Хеффалумп
kv75 1. Ну, не выдает, ну, возвращает Я ж говорю -- забыл все...
2. Так, чтоб никто не догадался.
30-05-2006 11:13
грандмастер свалкограф
1. Т.е.
f(0)=0
f(30)=0.5
f(35)=0.75
f(40)=0.99
f(x)→1 при x→+∞
А эти числа точно даны? Потому что при таких числах вторая производная гулять будет сильно, если первая должна быть непрерывной. Точка перегиба будет, вот что! Она тут и задумывалась в районе 35?

2. Я тоже плохо себе представляю официальные алгоритмы. Но вообще ничего сложного. Можешь посмотреть, как md5 устроен. Но это всё хэширование, однозначности обратного отображения (там, где оно определено) никто не гарантирует.
Хеффалумп
kv75 1. Практически точно. Тем более, эта функция будет вызываться в разных местах и с разными параметрами. Практически, эта функция -- вероятность некоего события в зависимости от времени, прошедшего с предыдущего такого же события.

2. Пожалуй, обратное отображение мне не очень нужно. И меня бы устроил md5, но он выдает очень длинную строку. А если я просто возьму n первых символов из md5-строки, то ведь однозначного соответствия не получится. Или я ошибаюсь?..
30-05-2006 13:56
Камрад
Барс Шанхайский
Значит все таки не от 0 до 0.75, а от 0.5 ?
Иначе стоило бы играться с чем-нибудь несложным типа x*sin x

Если нужна однозначность -- тебе 4 цифирок по любому не хватит. Или строки будут уж очень мало отличаться. Это на всякий случай, вдруг ты не задумывался...
Хеффалумп
Megadest эээ... да, правильно, спасибо

Почему не хватит?.. ты же отличаешь даже однозначные числа Насколько строки будут отличаться -- мне все равно. Я не буду их вручную сравнивать.

Кстати, только что сообразил, что мне таки нужно однозначное соответствие, т.е. преобразование из строки в число... Блин!..
30-05-2006 22:40
грандмастер свалкограф
Барс Шанхайский Ты лучше скажи, что ты вообще хочешь сделать, и мы подумаем над более общей задачей.
Хеффалумп
kv75 это не дневниковый разговор
30-05-2006 23:14
грандмастер свалкограф
Барс Шанхайский Ну сделай закрытую запись. :) Или пиши на мой адрес на yahoo. Не забудь к здешнему нику добавить месяц моего рождения (две цифры, формат с начальными нулями).
30-05-2006 23:17
Камрад
Барс Шанхайский
При взаимно однозначном (ты ведь именно про это?) отображении строчек может быть разных не более 10000. Чтобы 4 циферок хватило.
Это -- меньше, чем все возможные строчки, состоящие из ТРЕХ латинских буковок. А так -- все нормально...

Соответственно, чтобы хватило диапазона 0000-9999 -- нужно чтобы вариабельность строчек была ОЧЕНЬ низкой (для таких длинных строк).

И вообще -- у тебя, небось, асечных контактов до забора и больше Раз уж не публично...
Хеффалумп
kv75 прибавить к началу или к концу?

Megadest а!.. Все, я понял, о чем ты. Опять же -- фиг с ней, с вариабельностью.
Ну тогда завтра в аське поболтаем
31-05-2006 09:20
грандмастер свалкограф
Барс Шанхайский К концу, конечно. Если ещё и в начале ника цифры, то какой же это ник? Это пароль получается.

А насчёт строчек – берёшь нужные цифры, добавляешь туда дату, время и кучу другой ненужной информации по вкусу, хорошенько перемешиваешь – и получаешь огромную кучу строк на выходе.
Хеффалумп
kv75 дата-время мне там не годятся...
31-05-2006 09:33
Камрад
kv75
Напоминает "Я печатаю со скоростью 1000 символов в минуту. Такая ерунда получается..."

Чтобы переводить что-то в 4 цифры (а добавление всякой ерунды дело не меняет) взаимно однозначно, мощность исходного множества не должна превышать 10000. По любому. Мне так говорит мое внутреннее мехматовское образование
Хеффалумп
Megadest Тут все дело в том, как будет происходить процесс.
Сначала берется число. Потом оно преобразуется в строку. Потом берется ЭТА строка и преобразуется в число. Потом идет проверка, могло это самое число появиться или нет... в общем, в аське объясню
31-05-2006 09:47
грандмастер свалкограф
Барс Шанхайский Ну да, всё правильно ты объяснил Мегадесту, я так и понял. Речь у тебя идёт об однозначном отображении маленького круга в большой, при этом обратное отображение на некотором множестве однозначно, а на некотором не существует.
31-05-2006 10:01
Камрад
Барс Шанхайский kv75
Перечитал пост. Понял, что туплю.
Барс, пиши в аську, пока я дома
Хеффалумп
kv75 обратное отображение на некотором множестве однозначно, а на некотором не существует да!..
31-05-2006 20:47
грандмастер свалкограф
Отправил тебе функцию...
Закрыть