Учените от Масачузетския технологичен институт създадоха програмния алгоритъм Taco, автоматизиращ компресията на тензорните таблици (3D матриците, съставени от голямо количество празни данни.
Нулите при умножаването на таблиците заемат твърде много място в паметта, а оптимизацията на целия процес изисква големи усилия от програмистите.
Тензорните таблици в програмирането са обикновени двумерни масиви или просто таблици, математическите операции с които изискват персонализиран код, който обикновено се отнася само за тесен кръг от задачи. В реалния свят се използват за съставяне на карти за бази данни – в Amazon например, ID на купувача се свързва със съответната стока, а тези данни могат да са свързани с рейтинга на купувача, който се намира в друга таблица.
Счита се, че работата с подобни таблици е по-лесна, отколкото с SQL бази данни, но те имат очевиден минус – ако с единица бъде обозначена покупката, то всички останали клетки на таблицата се запълват с нули. При умножаването на подобни таблици, процесорът излишно се натоварва и запълва паметта с нулеви данни. Като резултат от всичко това, тензорните таблици за цялата база данни на Amazon биха заели 107 екзабайта памет, което е 10 пъти повече от всички сървъри на Google.
Досега програмистите самостоятелно оптимизираха тези пресмятания, но този процес е изключително труден и отнема много време. Специалистите на MIT създадоха алгоритъм автоматизиращ целия процес. Сега програмистът трябва само да импортира файла с данните и да избере необходимата математическа операция. Taco премахва всички нулеви значения, премахва умноженията на нула и след това записва данните в паметта.
Taco дава възможност и за извършването на множество умножения на таблици, без междинно записване на резултатите в постоянната памет. Резултатът е впечатляващ: благодарение на Taco, тензорните таблици на Amazon сега заемат само около 14 GB дисково пространство, а операциите с тях се извършват 100 пъти по-бързо.