-->
×åòâåðã, 20 Ìàðòà 2025

Îöåíèòü ìàòåðèàë


Âñòàâèòü â áëîã

Bookmark and Share

Ìîëîäîé ìàòåìàòèê èç ÑØÀ îïðîâåðã òåîðèþ, êîòîðàÿ ñ÷èòàëàñü íåçûáëåìîé 40 ëåò: îòêðûòèå Ýíäðþ Êðàïèâèíà ìîæåò óñêîðèòü âåñü èíòåðíåò

1 Ìàðòà, 2025, Íàó÷íûé æóðíàëèñò è àâòîð òåëåãðàì-êàíàëà «Ëàéôëîíã ìóêè» Èëüÿ Êàáàíîâ

Ìîëîäîé ìàòåìàòèê èç ÑØÀ Ýíäðþ Êðàïèâèí îïðîâåðã òåîðèþ, êîòîðàÿ ñ÷èòàëàñü íåçûáëåìîé 40 ëåò: îòêðûòèå Ýíäðþ Êðàïèâèíà ìîæåò óñêîðèòü âåñü èíòåðíåò. Ôîòî: Nick Romanenko / Rutgers University

Ìîëîäîé ìàòåìàòèê èç ÑØÀ Ýíäðþ Êðàïèâèí îïðîâåðã òåîðèþ, êîòîðàÿ ñ÷èòàëàñü íåçûáëåìîé 40 ëåò: îòêðûòèå Ýíäðþ Êðàïèâèíà ìîæåò óñêîðèòü âåñü èíòåðíåò. Ôîòî: Nick Romanenko / Rutgers University

Êàæäûé ðàç, êîãäà âû îòêðûâàåòå ñïèñîê êîíòàêòîâ â òåëåôîíå, èùåòå òîâàð â èíòåðíåò-ìàãàçèíå èëè ïðîâåðÿåòå ýëåêòðîííóþ ïî÷òó, áûñòðî èçâëåêàòü íóæíóþ èíôîðìàöèþ âàì ïîìîãàþò îñîáûå ñòðóêòóðû äàííûõ — õåø-òàáëèöû. Èìåííî áëàãîäàðÿ èì ñîâðåìåííûé èíòåðíåò, ïî ñóòè, ðàáîòàåò òàê, êàê ìû ïðèâûêëè. Íî ó áûñòðîäåéñòâèÿ õåø-òàáëèö, êàê ñ÷èòàëîñü, åñòü ïðåäåë. Ñëó÷àéíîå îòêðûòèå ìîëîäîãî àñïèðàíòà Ýíäðþ Êðàïèâèíà ïåðåâåðíóëî ïðåäñòàâëåíèå î âîçìîæíîñòÿõ ýòîãî èíñòðóìåíòà. Äàëåå î òîì, êàê óñòðîåíû õåø-òàáëèöû, ÷åì âàæåí óñïåõ Êðàïèâèíà è ïîâëèÿåò ëè îí íà ýôôåêòèâíîñòü ðàáîòû ñ äàííûìè â áóäóùåì

Äëÿ íà÷àëà — ÷óòü ïîäðîáíåå î òîì, ÷òî òàêîå õåø-òàáëèöû è çà÷åì îíè íóæíû

Õåø-òàáëèöà — ýòî ñòðóêòóðà äàííûõ, òî åñòü ñïîñîá îðãàíèçàöèè è õðàíåíèÿ èíôîðìàöèè, êîòîðûé ïîìîãàåò ýôôåêòèâíî ïîëó÷àòü äîñòóï ê äàííûì è èçìåíÿòü èõ. Õåø-òàáëèöû õðàíÿò ïàðû «êëþ÷-çíà÷åíèå» è ïîçâîëÿþò âûïîëíÿòü îïåðàöèè ñ íèìè: äîáàâëÿòü íîâûå ïàðû, óäàëÿòü ñóùåñòâóþùèå è èñêàòü çíà÷åíèå ïî êëþ÷ó.

Îíè èñïîëüçóþò õåø-ôóíêöèè — ïðåîáðàçîâàíèÿ, êîòîðûå âû÷èñëÿþò èíäåêñ, óêàçûâàþùèé íà ìåñòîïîëîæåíèå äàííûõ â ìàññèâå. Êîãäà ïîëüçîâàòåëü õî÷åò íàéòè ÷òî-òî â õåø-òàáëèöå, ñèñòåìà íå ïåðåáèðàåò âåñü íàáîð äàííûõ, à ñðàçó íàõîäèò íóæíîå çíà÷åíèå ïî âû÷èñëåííîìó èíäåêñó, çíà÷èòåëüíî óñêîðÿÿ ïîèñê.

Ïîæàëóé, ñàìûé ïðîñòîé àíàëîã õåø-òàáëèöû â ðåàëüíîì ìèðå — áèáëèîòåêà, ãäå êàæäàÿ êíèãà õðàíèòñÿ íà îïðåäåëåííîì ìåñòå íà ïîëêå, îáîçíà÷åííîì èäåíòèôèêàöèîííûì íîìåðîì (êëþ÷îì). Âìåñòî òîãî ÷òîáû èñêàòü êíèãó ïî âñåìó áèáëèîòå÷íîìó ôîíäó, ÷èòàòåëþ äîñòàòî÷íî îáðàòèòüñÿ ê êàòàëîãó (õåø-ôóíêöèè), êîòîðûé âû÷èñëÿåò òî÷íîå ìåñòî (èíäåêñ) íóæíîãî òîìà íà ïîëêå.

Õåø-ôóíêöèÿ ðàâíîìåðíî ðàñïðåäåëÿåò äàííûå ïî òàáëèöå, ìèíèìèçèðóÿ âåðîÿòíîñòü òîãî, ÷òî ìíîãèå ýëåìåíòû îêàæóòñÿ â îäíîé ÿ÷åéêå è ñîçäàäóò êîëëèçèè. Áëàãîäàðÿ ýòîìó õåø-òàáëèöû ñòàëè ïîïóëÿðíûìè â ñîâðåìåííûõ èíòåðíåò-ñåðâèñàõ: ïîëüçîâàòåëè íå õîòÿò òðàòèòü ëèøíåå âðåìÿ íà îæèäàíèå, ïîêà ñèñòåìà ïåðåáèðàåò äàííûå â áàçå.

Ïðîáëåìà â òîì, ÷òî ýôôåêòèâíîñòü ðàáîòû òàáëèöû çàâèñèò îò ñòåïåíè åå çàïîëíåííîñòè — îòíîøåíèÿ ÷èñëà õðàíèìûõ ýëåìåíòîâ ê ðàçìåðó ìàññèâà. Êîãäà òàáëèöà çàïîëíÿåòñÿ, êîëè÷åñòâî âîçìîæíûõ êîëëèçèé óâåëè÷èâàåòñÿ, è äëÿ ïîèñêà ìîæåò ïîòðåáîâàòüñÿ áîëüøå øàãîâ.

Ïî÷åìó äî îòêðûòèÿ Êðàïèâèíà ñ÷èòàëîñü, ÷òî áûñòðîäåéñòâèå õåø-òàáëèö äîñòèãëî ïðåäåëà

 õåø-òàáëèöàõ ñ îòêðûòîé àäðåñàöèåé, îäíîé èç äâóõ íàèáîëåå ðàñïðîñòðàíåííûõ ðàçíîâèäíîñòåé õåø-òàáëèö (âòîðîé — ñ èñïîëüçîâàíèåì ñïèñêîâ), äàííûå õðàíÿòñÿ íåïîñðåäñòâåííî â ìàññèâå ÿ÷ååê. Êàæäàÿ ÿ÷åéêà ìîæåò áûòü ëèáî ïóñòîé, ëèáî ñîäåðæàòü îïðåäåëåííûé êëþ÷. Êîãäà íóæíî âñòàâèòü íîâûé êëþ÷, èñïîëüçóåòñÿ ïîñëåäîâàòåëüíîñòü õåø-ôóíêöèé, êîòîðûå îïðåäåëÿþò âîçìîæíûå ïîçèöèè â ìàññèâå äëÿ åãî ðàçìåùåíèÿ.

Çàäà÷à çàêëþ÷àåòñÿ â òîì, ÷òîáû ñ ïîìîùüþ õåø-ôóíêöèé íàéòè ïóñòóþ ÿ÷åéêó. Êîëè÷åñòâî øàãîâ, êîòîðîå òðåáóåòñÿ äëÿ ýòîãî, íàçûâàåòñÿ ñëîæíîñòüþ ïîèñêà. Ïî ñóòè, èìåííî îíà îïðåäåëÿåò áûñòðîäåéñòâèå îïåðàöèé ñ õåø-òàáëèöàìè.

Öåëü ðàçðàáîò÷èêîâ — óìåíüøèòü ñëîæíîñòü ïîèñêà, îñîáåííî â óñëîâèÿõ, êîãäà òàáëèöà ïî÷òè ïîëíîñòüþ çàïîëíåíà.  îáûâàòåëüñêèõ òåðìèíàõ ìû áû îïðåäåëÿëè çàïîëíåííîñòü â ïðîöåíòàõ: ñêàæåì, òàáëèöà çàïîëíåíà íà 50% èëè 80%.  ñâîþ î÷åðåäü èññëåäîâàòåëè èñïîëüçóþò âåëè÷èíó x, ÷òîáû ïîêàçàòü, íàñêîëüêî òàáëèöà áëèçêà ê 100% çàïîëíåíèÿ. Åñëè x ðàâåí 100, òî òàáëèöà çàïîëíåíà íà 99%, à åñëè x ðàâåí 1000, òî íà 99,9%.

 ñâîåé ðàáîòå 1985 ãîäà èíôîðìàòèê Ýíäðþ ßî, ïîçæå ñòàâøèé ëàóðåàòîì ïðåìèè Òüþðèíãà, äîêàçàë, ÷òî äëÿ õåø-òàáëèö ñ îòêðûòîé àäðåñàöèåé ëó÷øèé ñïîñîá ïîèñêà ýëåìåíòà èëè ïóñòîé ÿ÷åéêè — ýòî ñëó÷àéíûé ïåðåáîð âîçìîæíûõ ìåñò. Òàêîé ïîäõîä íàçûâàåòñÿ óíèâåðñàëüíûì õåøèðîâàíèåì. ßî òàêæå ïðåäïîëîæèë, ÷òî â õóäøåì ñëó÷àå, êîãäà íåîáõîäèìî íàéòè ïîñëåäíþþ ñâîáîäíóþ ÿ÷åéêó, íåëüçÿ îáîéòèñü áåç çàòðàò âðåìåíè, ïðîïîðöèîíàëüíûõ x. Åñëè õåø-òàáëèöà çàïîëíåíà íà 99%, òî, âåðîÿòíî, ïðèäåòñÿ ïðîâåðèòü îêîëî 100 ðàçíûõ ïîçèöèé, ÷òîáû íàéòè ñâîáîäíîå ìåñòî.

 òå÷åíèå ÷åòûðåõ äåñÿòêîâ ëåò áîëüøèíñòâî èññëåäîâàòåëåé ñ÷èòàëè, ÷òî ãèïîòåçà ßî òî÷íî îïèñûâàåò ðåàëüíîñòü. Íî â ÿíâàðå 2025 ãîäà ìîëîäîé àñïèðàíò Êåìáðèäæñêîãî óíèâåðñèòåòà Ýíäðþ Êðàïèâèí âìåñòå ñ ïàðîé êîëëåã äîêàçàë, ÷òî êëàññèê îøèáàëñÿ, à íàó÷íîå ñîîáùåñòâî íå çàìå÷àëî, ÷òî õåø-òàáëèöû ìîæíî ñäåëàòü åùå ýôôåêòèâíåå.

×òî èìåííî ñìîã äîêàçàòü Êðàïèâèí è ïî÷åìó îòêðûòèå îêàçàëîñü ñëó÷àéíûì

 êîíöå 2021 ãîäà íà òîò ìîìåíò ñòóäåíò Ðàòãåðñêîãî óíèâåðñèòåòà Ýíäðþ Êðàïèâèí (â ñâîåé íåäàâíåé ïðåçåíòàöèè èññëåäîâàòåëü ïðåäñòàâëÿåòñÿ èìåííî òàê; â 2020 ãîäó â áåñåäå ñ æèâøèì â Óêðàèíå äåäîì îí íàçûâàë ñåáÿ Àíäðååì) ñëó÷àéíî íàòêíóëñÿ íà ïóáëèêàöèþ ïðî óìåíüøåíèå ðàçìåðîâ óêàçàòåëåé â ïàìÿòè êîìïüþòåðà. ×åðåç íåñêîëüêî ëåò îí âåðíóëñÿ ê ýòîé ñòàòüå, ïåðå÷èòàë åå è ïîíÿë, ÷òî ìîæíî äîáèòüñÿ òîãî, ÷òî óêàçàòåëè áóäóò çàíèìàòü åùå ìåíüøå ïàìÿòè. Îäíàêî äëÿ ýòîãî íóæíî óëó÷øèòü ñàìó îðãàíèçàöèþ äàííûõ, ê êîòîðûì óêàçàòåëè áóäóò íàïðàâëÿòü.

Êðàïèâèí îáðàòèë âíèìàíèå íà õåø-òàáëèöû è â ïðîöåññå ðàáîòû íåîæèäàííî äëÿ ñåáÿ ñîçäàë èõ íîâûé òèï, êîòîðûé îêàçàëñÿ çíà÷èòåëüíî áûñòðåå. Åãî òàáëèöà ïîçâîëÿëà íàõîäèòü ýëåìåíòû çà ìåíüøåå âðåìÿ è ñ ìåíüøèìè óñèëèÿìè.

Ñòóäåíò îáðàòèëñÿ ê ñâîåìó ïðåïîäàâàòåëþ Ìàðòèíó Ôàðàõ-Êîëòîíó, êîòîðûé áûë ñîàâòîðîì ñòàòüè ïðî óêàçàòåëè. Ïðîôåññîð îòíåññÿ ê èäåå ñêåïòè÷åñêè: õåø-òàáëèöû î÷åíü ïîäðîáíî èññëåäîâàíû, è, êàçàëîñü áû, íè÷åãî íîâîãî â ýòîé îáëàñòè ñêàçàòü óæå íåëüçÿ. Íî êîãäà Ôàðàõ-Êîëòîí ïîïðîñèë ñâîåãî êîëëåãó Óèëüÿìà Êóçìàëà èç Óíèâåðñèòåòà Êàðíåãè — Ìåëëîíà ïðîâåðèòü ðàáîòó Êðàïèâèíà, òîò ñðàçó ïîíÿë, ÷òî ðå÷ü èäåò î íàñòîÿùåì îòêðûòèè.

Êóçìàë ñêàçàë Êðàïèâèíó, ÷òî îí íå ïðîñòî ñîçäàë íîâóþ õåø-òàáëèöó, à ôàêòè÷åñêè îïðîâåðã ãèïîòåçó, êîòîðóþ íèêòî íå îñïàðèâàë íà ïðîòÿæåíèè 40 ëåò. Ñàìîå ïîðàçèòåëüíîå, ÷òî Êðàïèâèí ïðîñòî íå çíàë î ðàáîòå ßî — âîçìîæíî, èìåííî ïîýòîìó åãî íå ñäåðæèâàëà îáùåïðèíÿòàÿ òî÷êà çðåíèÿ.

Âìåñòå ñ Ôàðàõ-Êîëòîíîì è Êóçìàëîì îí (òåïåðü óæå àñïèðàíò Êåìáðèäæà) ïîäãîòîâèë ñòàòüþ ñ îïèñàíèåì ìåòîäà, êîòîðûé ïîçâîëÿåò íàõîäèòü ýëåìåíòû áûñòðåå, ÷åì ñ ïîìîùüþ ñëó÷àéíîãî ïåðåáîðà, äàæå åñëè òàáëèöà ïî÷òè ïîëíîñòüþ çàïîëíåíà. Èõ ìåòîä íå òîëüêî äåëàåò ïîèñê áûñòðåå, íî è ïîçâîëÿåò èñêàòü äàííûå çà ïîñòîÿííîå âðåìÿ, íåçàâèñèìî îò òîãî, íàñêîëüêî òàáëèöà çàïîëíåíà.

Õîòÿ îòêðûòèå âðÿä ëè ïðèâåäåò ê íåìåäëåííûì èçìåíåíèÿì, â ïåðñïåêòèâå ìåòîä Êðàïèâèíà è åãî êîëëåã ìîæåò óñêîðèòü ìíîãèå ïðîöåññû â èíòåðíåòå. Êàê ìèíèìóì îíè âäîõíîâÿò äàëüíåéøèå èññëåäîâàíèÿ. Òî÷íåå, óæå âäîõíîâëÿþò: âñêîðå ïîñëå ïóáëèêàöèè èõ ñòàòüè âûøëà äðóãàÿ ðàáîòà, â êîòîðîé áûëà ïðåäëîæåíà íîâàÿ ìîäåëü äëÿ äèíàìè÷åñêîé àäàïòàöèè ñòðàòåãèè ïîèñêà â çàâèñèìîñòè îò òîãî, êàêèå ÿ÷åéêè òàáëèöû óæå çàíÿòû.

Èñòî÷íèê: Meduza

Ïðîñìîòðîâ: 777

Âñòàâèòü â áëîã

Îöåíèòü ìàòåðèàë

Îòïðàâèòü äðóãó



Äîáàâèòü êîììåíòàðèé

Ââåäèòå ñèìâîëû, èçîáðàæåííûå íà êàðòèíêå â ïîëå ñëåâà.
 

0 êîììåíòàðèåâ

È Í Ò Å Ð Â Ü Þ

ÍÀÉÒÈ ÄÎÊÒÎÐÀ

Íîâîñòíàÿ ëåíòà

Âñå íîâîñòè