В жизни каждой технологии бывает интересный период, когда она уже создана и оформлена, находится «на слуху» как минимум в профессиональной прессе, а то и в обычных медиа, признана перспективной — но полномасштабной финансовой отдачи вложений ещё не даёт. Век назад так было с авиацией. Летал через Ла-Манш Блерио, крутил «мёртвую петлю» Нестеров. Собирали толпы зрителей полёты Сантос-Дюмона и Уточкина. Но это был спорт (в тогдашнем понимании, не в смысле нынешнего гигантского бизнеса), было недорогое зрелище — вроде передвижных шапито…
Авиаторы брали призы (порой весьма солидные), состоятельные энтузиасты платили первым авиашколам за обучение. Но пассажиров и даже почту ещё не возили. «Ночной летун, / Во мгле ненастной, / Земле несущий динамит» существовал лишь в сроках Блока: военные ведомства с осторожностью присматривались к новинке. Гусары были красивее, обуховские и крупповские пушки — эффектнее, а армстронговская броня дредноутов — солиднее хрупких изделий из дерева, рояльных струн и перкаля…
Тем не менее и вокруг авиации уже строили весьма рентабельный бизнес. Начинающий инженер Хейнкель с завистью смотрел на хозяина мастерской по производству деревянных (и часто ломавшихся) пропеллеров Вильгельма Сикаца, зарабатывавшего в десяток раз больше него. (Потом Сикац станет одним из служащих заводов Хейнкеля — таковы судьбы людей в хайтеке…)
Ну а сегодня ситуация, чем-то субъективно смахивающая на давнюю в авиации, складывается в области Big Data, «больших данных» (БД). По исследованию, проведённому аналитической компанией Wikibon research, от каждого вложенного в «большие данные» доллара ныне возвращается половина… Но в ближайшем будущем, через три–пять лет, как считают опрошенные аналитиками бизнесмены, БД принесут инвесторам по 3,5 зелёных на каждый истраченный бакс.
Почему же этого не происходит уже сейчас? Ну, естественно, каждой технологии нужно время на становление. (Анекдот, которые советские инженеры любили рассказывать партийному начальству: «Одной женщине для создания ребёнка нужно девять месяцев, но девять за месяц — не справятся».) С этим ничего не поделать, нужно только ждать… Но есть и то, что можно поправить. Вот что говорят аналитики Wikibon:
«Сегодня люди слабо представляют, что такое Big Data. Они видят в этой идее лишь модную тенденцию и инвестируют без учёта конкретных и измеримых бизнес-приложений, связанных с проектами обработки “больших данных”. К такому же выводу пришли аналитики Gartner, и мы полностью разделяем их мнение».
Безусловно соглашаясь относительно конкретных приложений, хотелось бы отметить, что этапу выбора таких приложений должен предшествовать неизбежный этап осознания неких общих закономерностей, на основе которых бизнес-приложения должны и создаваться разработчиками, и выбираться бизнесменами. Одной скорости процессоров и объёмов оперативной и массовой памяти тут мало. Нужны ещё и методы их эффективного использования.
Опять обратимся к истории технологий: полтора века назад металлургическая промышленность начала давать человечеству всё больше и больше чугуна и стали. Материалов прочных и недорогих. И девятнадцатый век был отмечен сооружениями из них, и по сей день радующими глаз… Но и — ознаменован грандиозными катастрофами.
Есть у шотландского Данди эстуарий Ферт-оф-Тей. Одной из эпохальных строек Викторианской эпохи стало строительство через него чугунного моста, открытого 1 июня 1878 года и ставшего самым длинным в мире. Проектировщика Томаса Бауча даже возвели в рыцари… Ну а обрушение этого моста 28 декабря 1879-го стало эпохальной катастрофой, потрясшей тогдашнюю Мастерскую мира; проектировщик, потерявший в катастрофе зятя, скончался от угрызений совести… Дело в том, что инженеры того времени, освоившие сопромат и справлявшиеся с учётом динамических нагрузок, которые создаёт движущийся состав, ещё не знали аэродинамики, не умели оценивать порождаемые ею колебания и их разрушительную силу… А именно ветровая нагрузка и погубила мост и семьдесят пять человек…
В мире «больших данных» таких драматических событий, к счастью, не наблюдается, но около 2% опрошенных говорят о крахе планов и потере вложений… Может быть, это неизбежный бизнес-просчёт. А может быть, не учитываются какие-то воздействия, которые кажутся не самыми важными. Вроде как Баучу — дующие с моря ветры… И одним из эффектов, о которых хотелось бы поговорить, является эффект комбинаторных взрывов.
Комбинаторный взрыв (combinatorial explosion) – это экспоненциальный рост временной сложности алгоритма при увеличении размера входных данных задачи. Самым простым примером служит факториальная функция, n!. Произведение всех натуральных чисел от 1 до n. Восклицательный знак тут очень на месте: простейший факториал растёт быстрее не только мудрёного многочлена, но даже и самой экспоненты!!! Факториальная функция известна, полагаю, всем читателям — даже гуманитариям — из школьных задач по комбинаторике и элементарной теории чисел. Но она может быть ещё и весьма важна на практике. Для самого что ни на есть повседневного бизнеса…
Ну, вот задача коммивояжёра. Travelling salesman problem, TSP. Взять да и самым выгодным путём объехать какое-то количество заданных точек.
Её ежедневно решает множество сетей. И гигантские дистрибутивные — о которых, если верить деловому каналу, знают даже африканские инвесторы. И торговые представители/экспедиторы, развозящие на «буханке» свой товар по ларькам… И эта задача для них жизненно важна, время ограничено, бензин дорожает, радио вон уже говорит о полусотне за литр… Так вот, задача коммивояжёра порождает комбинаторный взрыв! Вычислительная математика относит её к классу NP-трудных задач. Они же — трансвычислительные (transcomputational) — по термину, введённому в 1962 году Гансом-Иоахимом Бреммерманом. Достаточно иметь лишь 66 точек объезда в задаче коммивояжёра, чтобы компьютер размером с Землю за всё время существования нашей планеты не мог с этой задачей справиться… (Полумистические квантовые компьютеры не предлагать: мы сейчас говорим о честной ИТ-инженериии…)
Как? Парадокс воображение не поражает? Рассчитать оптимальный объезд всего лишь 66 лавок уже невозможно в принципе… А информационные технологии сейчас подходят к работе с массивами информации, исчисляемыми петабайтами. И в ряде случаев уже используют их удачно, а в течение трёх–пяти лет прогнозируется (как мы видели выше) их массовое экономически успешное применение…
Значит (пользуясь определением от противного, в теологии зовущимся апофатическим), БД (как технология) — это такие данные, задачи обработки которых не должны приводить к комбинаторным взрывам и трансвычислительным задачам. Как, скажем для примера, мосты — такие сооружения, аэродинамические нагрузки на которые не должны приводить к их обрушению… Конечно же, это очень ограниченное определение. Явно недостаточное, но ведь необходимое (в смысле доказательств). Если найдётся время, уважаемые читатели, прочтите «Воспоминания» академика Крылова. Там есть анекдот о соотношении инженерной практики и науки, связанный как раз с железнодорожными мостами, хоть и содержится в главке «Значение математики для кораблестроения». Посвящён он формуле математика Леви Чивиты, дававшей верхний предел динамической нагрузки при прохождении состава. Формула была верна, но давала цифры порядка на три выше имевших место в реальности — тех, которые закладывали в конструкции инженеры (порой ошибавшиеся)…
Так что работа с «большими данными» потребует не «математических», а «инженерных» формул. Пусть работающих куда менее строго с математической точки зрения, пусть использующих более грубые модели — зато позволяющих получать в обозримое время практически полезные результаты. Какими эти методы будут — гадать бессмысленно, как и требовать с инженеров времён бипланов эскизов широкофюзеляжных лайнеров. Но, может, приведённые аналогии помогут специалистам в создании таких методов, а инновационным бизнесменам упростят понимание задач?