Telegram Group & Telegram Channel
Алиса копается
#math Задачка на вечер: n фиксированных чисел x1, ..., xn в полуинтервале [0; 1) хешируются в таблицу с закрытой адресацией размера m методом floor(x*m). Покажите, что независимо от n, xi, m, увеличение размера таблицы может ухудшить среднее время запроса…
#math

Запишу решение, чтобы не потерялось, и если кто-то не следит за комментами.

Посмотрим на то, какие бакеты были и какие стали:

было    /------------/------------/------------/------------/------------/
стало /----/----/----/----/----/----/----/----/----/----/----/----/----/
элементы * * * ** * * * * * ** *** *


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

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

Таким образом, в худшем варианте числа лежат только в новых бакетах, пересекающих границу старых (здесь * обозначает потенциальные позиции):
было    -----|------
стало |-----|
элементы *****


Для i-го такого нового бакета обозначим за ai количество чисел, лежащих в нем слева от старой границы, а за bi — справа. Тогда сумма квадратов размеров бакетов была C = sum (a[i+1] + bi)^2, а стала C' = sum (ai + bi)^2.

Тогда имеем:
C' = sum (ai + bi)^2

Перепишем сумму через среднее арифметическое:
C' = 4 * sum ((ai + bi) / 2)^2

Применим неравенство о среднем арифметическом и среднем квадратичном:
C' <= 4 * sum (sqrt((ai^2 + bi^2) / 2))^2

Раскроем скобки:
C' <= 2 * sum (ai^2 + bi^2)

Разделим сумму на две, а затем заменим индексы в одной из сумм и сложим обратно:
C' <= 2 * sum (a[i+1]^2 + bi^2) <= 2 * C


Таким образом, доказана нужная оценка с константой 2. Легко проверить, что она достигается.



group-telegram.com/alisa_rummages/180
Create:
Last Update:

#math

Запишу решение, чтобы не потерялось, и если кто-то не следит за комментами.

Посмотрим на то, какие бакеты были и какие стали:

было    /------------/------------/------------/------------/------------/
стало /----/----/----/----/----/----/----/----/----/----/----/----/----/
элементы * * * ** * * * * * ** *** *


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

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

Таким образом, в худшем варианте числа лежат только в новых бакетах, пересекающих границу старых (здесь * обозначает потенциальные позиции):
было    -----|------
стало |-----|
элементы *****


Для i-го такого нового бакета обозначим за ai количество чисел, лежащих в нем слева от старой границы, а за bi — справа. Тогда сумма квадратов размеров бакетов была C = sum (a[i+1] + bi)^2, а стала C' = sum (ai + bi)^2.

Тогда имеем:
C' = sum (ai + bi)^2

Перепишем сумму через среднее арифметическое:
C' = 4 * sum ((ai + bi) / 2)^2

Применим неравенство о среднем арифметическом и среднем квадратичном:
C' <= 4 * sum (sqrt((ai^2 + bi^2) / 2))^2

Раскроем скобки:
C' <= 2 * sum (ai^2 + bi^2)

Разделим сумму на две, а затем заменим индексы в одной из сумм и сложим обратно:
C' <= 2 * sum (a[i+1]^2 + bi^2) <= 2 * C


Таким образом, доказана нужная оценка с константой 2. Легко проверить, что она достигается.

BY Алиса копается


Warning: Undefined variable $i in /var/www/group-telegram/post.php on line 260

Share with your friend now:
group-telegram.com/alisa_rummages/180

View MORE
Open in Telegram


Telegram | DID YOU KNOW?

Date: |

The perpetrators use various names to carry out the investment scams. They may also impersonate or clone licensed capital market intermediaries by using the names, logos, credentials, websites and other details of the legitimate entities to promote the illegal schemes. "This time we received the coordinates of enemy vehicles marked 'V' in Kyiv region," it added. Also in the latest update is the ability for users to create a unique @username from the Settings page, providing others with an easy way to contact them via Search or their t.me/username link without sharing their phone number. "He has kind of an old-school cyber-libertarian world view where technology is there to set you free," Maréchal said. But Telegram says people want to keep their chat history when they get a new phone, and they like having a data backup that will sync their chats across multiple devices. And that is why they let people choose whether they want their messages to be encrypted or not. When not turned on, though, chats are stored on Telegram's services, which are scattered throughout the world. But it has "disclosed 0 bytes of user data to third parties, including governments," Telegram states on its website.
from jp


Telegram Алиса копается
FROM American