Тут по наводке одного камрада прочитал статью о будущем.
ЗАГЛЯНЕМ ЗА ГОРИЗОНТ НА 20-30 ЛЕТ ВПЕРЕД?
И сразу же, с первых абзацев, натолкнулся на вопиющую безграмотность, полное непонимание вопроса, и это напрочь лишило меня желания читать очередной футуристический прогноз до конца.
А именно,
Стоит понимать, что следующий виток технологического прогресса уже идет не за счет "железных" технологий, а за счет алгоритмов. Эффективность алгоритмов растет быстрее, чем эффективность процессоров (эффективность алгоритмов выросла в 43 тысячи раз за последние 20 лет, а процессоров всего в 1 тыс. раз). То, что сегодня умеют наши компьютеры и смартфоны - это заслуга в первую очередь программного обеспечения.
Магия круглых цифр, ага. В тыщу раз, в 47 тысяч раз. Ебать!
Я сижу, оптимизирую алгоритм. Час шлифую, два, три, четвертый час пошел. Разбиваю один длинный и сильно жрущий память процесс на последовательные подпроцессы. За пару дней, думаю, дошлифую. А коллега мне и говорит - нахуя? Сколько твой час работы стоит, 72 евро + налог? Так мы за стольник в сервер еще 16 гигабайт памяти запихнем, и шлифовать ничего не надо.
Эффективность алгоритмов выросла в 43 тысячи раз за последние 20 лет...? Интересно, как он это пощитал? Еще бы сказал "в 43 127 раз". Что, разве математика за 20 лет изменилась? Ну да, дело со всякими NP-Hard и NP-Complete проблемами улучшилось, да. Но именно что не за счет алгоритмов, а за счет того, что железо стало круче и численные методы работают. Грубо говоря, решение путем примитивного, но очень быстрого перебора. По мне так алгоритмы эти не улучшились, а ухудшились.
А ежели он имеет в виду квантовые алгоритмы типа алгоритма Шора, то во-первых, непонятно, как оценивать их численно "в 43 тыщи раз лучше", а во вторых, железа под них пока толком и нету. А то, что есть - это игры в песочницв. Ну да, разложить число 27 на множители с помощью 30 кубитов, епта, пиздец, охуительно. Да, многообещающие, но и только. Ну и в третьих, это всегда частные задачи, которые либо деструктивны, как алгоритм Шора, либо лишены практического смысла, как алгоритм Дойча-Йожи, либо не представляют ничего нового, а являются лишь улучшенным перебором - потому что суперпозиция. Это я имею в виду алгоритм Гровера.
Ну и по биг дате авторы имеют весьма примитивное представление.
Следующий виток техно-прогресса лежит через повсеместное покорение Big Data (большие данные). Пока по-настоящему глубоко с ними работают поисковики, сервисы рекламы, наука и т.д. Но уже растет быстрыми темпами количество областей, где будет появляться "умная информация".
Слышал, билят, звон, да не знал где он. Растет, блдж, количество данных стремительным домкратом. И гудят стропилы. А трепетная стрелка осциллографа показывает голубые дали.
Да разве дело в количестве рекордов? Это похуй.
Дело в том, что скорость поступления данных может иногда кратно превышать скорость их обработки. Именно тут порыта собака с биг датой и танцами с бубном вокруг нее профанов, которые пытаются анализировать, прогнозировать и вообще делать политику и организовывать вокруг нее дискурс, а внутре гламур.
Что делать, если данные поступают быстрее, чем их удается обрабатывать? Вот я работал для гражданской авиации, мы запускали эмуляторы, которые 30 дней на сотне устройств ежесекундно измеряли по полусотне процессов на каждом устройстве. А потом это надо было статистически обработать. 30*24*60*60*100*50 = 12 960 000 000, почти 13 миллиардов значений. Но это нихуя не биг дата, потому что считается все постфактум. Хоть день считай, хоть два, хоть три. Ну, не неделю, потому что через неделю запланирован новый тест. Хотя, пока он будет крутиться, предыдущий по любому досчитаем. А то давай воткнем еще 16 гиг мозгов, тогда и вообще дергаться не надо.
Дали бы нам не три миллиона бабла, а три миллиарда - мы бы ух! Мы бы все в рил тайм общитали бы! Бодяга закончилась - вот вам готовые результаты! Да и промежуточные - в любой момент, по запросу. Да мы бы и на конфигурацию ловушки в токамаке замахнулись бы, говно вопрос. За такое-то бабло.
Но мы-то на коленке все мастерили, бюджета у нас было 3 лимона, и простенькой сервер. А вовсе не могучий кластер из 216 компьютеров, который бы нам преподнес данные на блюдечке за 3 секунды. Да, программы бы пришлось переписывать под распределенные вычисления. Ну так говно вопрос. Переписали бы. Мы же народ гибкий.
Когда программы были маленькими, а компьютеры большими, был спрос на умных айтишников с компактными алгоритмами. Я до сих пор с любовью вспоминаю Турбо Паскаль Филиппа Кана, где в 600 килобайт помещался ассемблер, компилятор, отладчик и IDE.
Да вот только сейчас спроса на это нет. То же самое, что с лампочками LED. Мало света - захуячим не 16, а 64. Все равно мало - удвоим. Про какие-то современные алгоритмы речи не идет, нет на них спроса. Динозавры вымирают, естественный отбор, мать его ити.
А биг дата - это когда данные поступают быстрее, чем могут обрабатываться. Какая-нибудь система безопасности аэропорта, которая отслеживает потенциальных террористов-бомбистов - не только по морде лица из базы данных, но и по сотне-другой прочих параметров, например наличии бороды, отсутствии усов, походке, реакциям на следящие системы, одежде и всяких выпирающих ее частях, том, что он держит в руке, мимике и так далее. Тут да, есть и разрабатываются фильтрующие и оценочные алгоритмы, чтобы совместить временные потоки получения данных и их обработки. Но фильтр - это дело такое, он, бывает, ненужное отфильтрует, а одну палочку коха таки пропустит.
Говорить, что какие-то охуенные алгоритмы охуенно ускорились - это для меня значит нести пургу о том, о чем не имеется ни малейшего понятия, кроме пары прочитанных в википедии статей.
Вот я приведу хрестоматийный (надеюсь, что таким он станет) пример. Предстаим себе, что все население условного Китая надо провести через одну дверь. Один условный китаец в секунду. Очевидно, что задача неразрешима, поскольку в год условных китайцев пройдет 60*60*24*365 = 31536000, хотя рождается их в два раза больше. Удвоение пропускной способности (неважно, расширить ли дверь, или сделать вторую, но в первом случае решение алгоритмическое, а во втором машинное) - выводит задачу на грань решаемой, но именно что на грань. Малейшее изменение демографии, например рожать чаще стали, или сбоя в алгоритме - одна из дверей два раза в год не срабатывает, или там зацепились плечами и пришлось пролезать по одному - все, проехали.
Но даже с небольшим превышением пропускной способности над рождаемостью задача становится решаемой, хотя и за очень долгое время. Так, если пропускная способность двух дверей будет превышать естественный прирост на одного условного китайца в день, то за двести миллиардов дней можно будет пропихнуть все сто миллиардов имеющихся китайцев и еще сто миллиардов из тех, кто успеет народиться. Еще 90 миллиардов - на очереди. За следующие 200 миллиардов дней у нас останется 75 миллиардов китайцев, ждущих своей очереди. Потом 50, потом 20, процесс пойдет все быстрее. В результате за 1000 миллиардов дней (я, конечно, могу точнее посчитать, но мы тут не на симпозиуме) мы пропустим через две двери всех условных китайцев в иной мир. Надеюсь, лучший.
А теперь у нас дверей не две, а тысяча. Или две тысячи. Пусть тысяча + еще две. Фактор естественного прироста можно игнорировать. С ним справляются уже две двери, что там говорить о тысяче. Т.е. две двери компенсируют прирост, попутно решая демографическиие проблемы, а тысяча занимается непосредственным делом. Проводя 31 миллион в год, все 100 миллиардов пройдут за 3000 лет, что, разумеется, на порядки меньше 1000 миллиардов дней- это 2 730 972 603 года. На порядки? На ШЕСТЬ порядков. В миллион раз. Повышая производительность в тысячу раз, мы повышаем скорость обработки в миллион раз. Без всяких этих ваших новых алгоритмов.
А все потому что переход количества в качество - да, бородатых классиков не обязательно любить, но сформулированные ими законы тем не менее никто не отменял - функционируют. Так же как никто не может отмменить скачок от "задача нерешаема в принципе" через "задача нерешаема при имеющихся ресурсах" до "задача решаема за N времени".
Оказалось, что высказывания в статье не высосаны журналюгой из пальца, но основаны на выводах всяких важных чуваков из всяких охуенно авторитетных групп.
Например: Виктор Майер-Шенбергер - профессор управления и регулирования Оксфордского университета, доктор юридических наук, автор публицистических изданий. Родился в 1966 году в Цель-ам-Зее, Австрия. После школы ищучал право в Зальцбургском университете и в Гарварде, а также окончил Лондонскую школу экономики. Получив высшее образование и защитив диссертацию, занялся преподавательской и научной деятельностью. Учёный выпустил ряд научно-популярных изданий, предназначенных для широкого круга читателей, и опубликовал более 100 научных статей.
Но ноги растут, скорее всего, из доклада US National Research Council, Национального совета США по исследованиям, который в декабре 2010 опубликовал доклад о будущем компьютерной производительности. Главный его посыл таков: быстрое развитие ИТ, стимулирующих рост многих секторов американской экономики, может заглохнуть, если страна не предпримет экстренных мер по активизации фундаментальных исследований и разработке аппаратных и программных параллельных систем.
Известная тестовая задача планирования, использующая методы линейного программирования, на компьютере 1988 года с применением алгоритмов того времени требовала 82 года. В 2003 году она решалась на оборудовании той же цены с применением более продвинутого ПО за одну минуту -- но если мощность железа выросла в тысячу раз, то производительность алгоритмов увеличилась в 43 миллиона раз. То есть эффективность алгоритмического подхода увеличилась в 43 тысячи раз.
Ну, я так не считаю британского ученого-юриста корифеем в области алгоритмов. Тем более обобщать на основании одной частной задачи. Кроме того, есть категории задач, скорость решения которых с увеличением мощности железа растет не кратно, а экспоненциально. Как раз вышеописанная задача про китайцев.
Я даже больше скажу.
Во всевозможных US, UK, DE, FR National Research Council's имеются, как в Веселой башне, специально обученные люди. Которые могут с помощью веревочной петли и палки несложных манипуляций доказать все что угодно. "Что бог есть и бога нет. Что люди ходят на руках и люди ходят на боках" (С). Что чай вреден и чай полезен. Что яйца сплошной холестерин и что там хороший, годный холестерин. Что коровье масло ускоряет инфаркт и что оно его же предотвращает. Они получают политический или экономический заказ - вуаля! Как говорит Данила Козырев ака Дональд Трамп, Mission Accomplished!
Все их измышления не стоят и выеденного яйца- с хорошим или плохим холестерином, насрать. Как только видишь круглые цифры в докладе, типа "процессоры стали лучше в тысячу раз" или "алгоритмы работают в 43 тысячи раз быстрее" - сразу нахуй. Сразу. Нахуй. Это вот туда и чуть левее. Потому что это та же самая хуита, которой быдло пичкают по телевизору с утра до вечера. "90% домохозяек выбирают Ленор", или " 80% врачей-косметологов (с дебильным еблетом, как на фотке) рекомендуют Aplecin". А что там с остальными 10-20 процентами? Не рекомендуют? А почему? А потому что все это высосано из пальца. Только тут все наукообразненько, потому что рассчитано не на быдло, а на тех, кто себя умными считает.
Я могу, как порядочный человек, сказать, что развитие аппаратных возможностей ведет к тому, что многие алгоритмы, которые раньше не работали, теперь позволяют в разумные сроки получать вменяемые результаты. Еще я могу вывести некую закономерность, создав нечто среднее из возможностей двадцатилетней давности и нынешних, чтобы сказать, что алгоритмы улучшились в 47 тысяч раз. Но это уже как минимум передергивание, ибо некоторые на старой аппаратуре не работали вобще, т.е. были мёртвыми и поэтому бесполезными. Это получается средняя температура по больнице. А еще я могу взять вопиющий пример и сделать его репрезентативным. Что просто-напростно нечестно. Что и делается в большинстве случаев.
Но численная оценка это из области невозможного. Честная, имею в виду, численная оценка. "90 процентов зубных врачей рекомендуют Colgate". Найдите десять отличий от замечательных исследований и прогнозов британских учоных. Да, бля, хоть одно.
А дальше читать вышеуказанную статью, хоть я и не отважился, можно и нужно. Не исключено, что там такая же пурга - но тут я упираюсь в границы собственной компетенции. О чем знаю - о том пою.
Да, и, я извиняюсь за longread. Хотел короче сформулировать - не получилось.