-ѕоиск по дневнику

ѕоиск сообщений в akry

 -ѕодписка по e-mail

 

 -—татистика

—татистика LiveInternet.ru: показано количество хитов и посетителей
—оздан: 21.08.2007
«аписей:
 омментариев:
Ќаписано: 40052


ќптимизаци€. ѕрограммирование и бизнес

ѕ€тница, 25 январ€ 2013 г. 02:51 + в цитатник

¬ книге ƒжона Ѕентли «∆емчужины программировани€» в главе 6.1 (нет на сайте) описан пример оптимизации программы, считающей гравитационное взаимодействие изр€дного количества тел (планет, звЄзд, галактик). “ел ~10 тыс€ч, в первоначальной реализации считать их программе год, если не отключат электричество за неуплату. 

 нижка суперска€, всем рекомендую, даже непрограммистам. ¬ы, например, знаете, что π секунд ≈ нановекуј из€щество алгоритмов… я был близок к оргазму.

ах эти множественные телаЕ

√од — много. ѕришлось оптимизировать. »тоговый вариант работал в 400 раз быстрее, и решал задачу за день. “еперь собственно, к чему €. “о, что делалось дл€ оптимизации, на мой взгл€д, очень интересно в любых област€х, включа€ бизнес. ¬от что делал Ёппель, и какой выигрыш это принесло.

  ”ровень разработки ”скорение »зменени€
1 јлгоритмы и структуры данных ×12 ƒвоичное дерево
2 ќптимизаци€ алгоритма ×2 ”величение шага по времени
3 –еорганизаци€ структуры данных ×2 ѕодгонка кластеров скоплений под реальную ситуацию
4 —истемно-независима€ оптимизаци€ кода ×2 «амена двойной точности на одинарную
5 —истемно-зависима€ оптимизаци€ кода ×2.5  одирование критического участка на ассемблере
6 јппаратура ×2 »спользование сопроцессора
  »того ×400  у мен€ получилось  ×480, ну да ладно

 ак мы видим, самый большой выигрыш дали грамотно подобранные алгоритмы. ќстальные способы ускорени€ тоже важны, но видно, кто здесь перва€ скрипка на деревне.

ƒл€ тех, кому интересны технические подробности, вот они (остальные — промотайте, это не принципиально):

«ѕрежде всего Ёппель зан€лс€ поисками подход€щего алгоритма. ≈му удалось уменьшить затраты на выполнение одного шага по времени с O(n2) до O(n log n) благодар€ выбору правильного представлени€ объектов на бинарном дереве, где объекты верхнего уровн€ представл€ли собой кластеры физических объектов. —ила, действующа€ на конкретный объект, может вычисл€тьс€ как сумма сил, действующих на него со стороны больших кластеров. Ёппель показывает, что это приближение не вносит погрешностей в модель. ƒерево состоит из log2 n уровней, а получающийс€ алгоритм с временем выполнени€ O(n log n) близок по духу алгоритму «раздел€й и властвуй» из раздела 8.3.

ѕравильный выбор структуры данных уменьшил врем€ выполнени€ исходной программы примерно в 12 раз». (стр. 82-84)

 

business.   акова же ценность этого не дл€ программистов а, скажем, дл€ бизнес-консультантов? ќна очевидна: перед тем, как заниматьс€ тюнингом-тренингом, посмотрите всю систему.

Ћюбые действи€, улучшающие базовые фундаментальные функции компании, — алгоритмы планировани€ и управлени€, бизнес-процессы, качественна€ оргструктура, — дадут «рычаг» куда более мощный, чем изолированные локальные решени€ (мучительный поиск «звезды» на должностную позицию, тренинги, грейды etc). „то не отмен€ет их важность — но только после принципиальных структурных решений, и только дл€ их поддержани€.

  сожалению, изр€дна€ часть известных мне компаний пользуетс€ этим «рычагом» в обратном направлении, как «стоп-краном». 

 

level up, level down.  Ѕессмысленно пытатьс€ закрыть дыры в стратегическом управлении поиском «правильных сотрудников», которые решат за теб€ все проблемы, и принесут тебе рынок на блюдечке с голубой каЄмочкой.  онечно можно попытатьс€ найти чизес-крист-сейлз-суперстар (ага, HR обучением и мотивацией исправл€ют ошибки рекрутинга). Ќо, как справедливо писал  оллинз (а до него где-то за пару тыс€ч лет эту мысль озвучивал —унь ÷зы),

«…чем больше ваша компани€, тем больше ваш "средний сотрудник" будет средним по всем параметрам. ’ороший руководитель не полагаетс€ на "звЄзд" в своих планах. ’ороший руководитель выстраивает такую систему, в которой даже средние по рынку сотрудники будут достигать максимальных результатов». 

“о, с чем посто€нно сталкиваюсь в консалтинге €, это поиск простых и быстрых решений со стороны руководителей компании. —амо по себе это не так плохо: есть пон€тие «нормы изменений» — если даже самыми хорошими намерени€ми начать переформатировать всю компанию, даже в идеальном случае результат будет ужасен: всЄ встанет раком. —лона надо съедать по кусочку. —перва мы проходимс€ по цепочке основного бизнес-процесса, смотрим, где в неЄ вкралс€… где искрит. ѕотом составл€ем иерархическое «дерево изменений», и реализуем его — но не всЄ сразу, а чтобы люди успели привыкнуть.

Ќо, как € уже писал, всегда есть соблазн поддатьс€ оба€нию «чудо-таблетки», и сказать себе (и окружающим): «ƒа фигн€ эта ваша стратеги€!  лал € болт на ваши бизнес-процессы со структурой! ѕочему продажи падают, € и без сопливых знаю: мои сейлзы не умеют общатьс€ и продавать! «начит нужен тренинг продаж. ј на складе не успевают оприходывать/отгружать — им точно нужен тайм-менеджмент!»

¬ы знаете, может и правда сейлзы не умеют общатьс€, а кладовщики часов не наблюдают. ƒаже так: скорее всего это правда. Ёкспресс-диагностика почти всегда это подтверждает. ƒействительно, откуда вз€тьс€ хорошим сейлзам в такой системе, разве что случайно. ѕринцы, они во дворцах живут, знаете ли. — CRM, KPI, чЄткой маркетинговой и продажной стратегией. Ќо предложенный уровень решени€… —кажем так, это примерно как зан€тьс€ маникюром, когда туберкулЄз. Ќе исключено, что ногти тоже гр€зные. Ќо, очевидно, это меньша€ из проблем у человека. ’от€ внешне конечно очень заметна€. » — что важно — намного легче и быстрее решаема€.

ƒумаете, почему так адски попул€рны вс€кие таблетки дл€ похудени€, почему «магазины на диване» с их чудо-средствами не разор€ютс€? ѕочему в общем то примитивные идеи во многих религизоно-философских системах так попул€рны? ѕочему люди предпочтут тибетскую медицину банальному ќЅ∆? ƒа потому что люди хот€т хал€вы. Ћюди хот€т волшебной палочки, девида блейна в голубом вертолЄте, универсального решени€, не требующего усилий со стороны примен€ющего. Ќо хал€вы нет, сэр. “о есть, мэм.  расота не требует жертв, ах если бы.  расота требует ежедневной работы над собой.

 

ћен€ часто спрашивают — чаще в реале, чем в —ети: «„то же нам делать?» » мой ответ почти всегда разочаровывает. ќн прост, даже примитивен. Ќо его реализаци€ требует многого.  ак слова врача про здоровый образ жизни. ¬кратце. ќчень вкратце:

  1. —амое главное про компанию. ≈Є мисси€ (и в голубые дали идут все, кто будет пытатьс€ доказывать, что она не нужна, это уже уныло и скучно). ≈Є стратегические цели — общие и по секторам (финансы, маркетинг, коммерци€, HR…). »нициирует и всЄ делает ЅигЅосс. »ли — что чаще — не делает. ћилостиво повелева€ подчинЄнным подкрутить что-то там внизу, и не напр€гать »х ¬ысочество. 
    Ќачинать надо с себ€. ќткуда рыба гниЄт, оттуда она и выздоравливать должна начать. ѕриход будет таким, каков поп. ј если он разочаровывает, запрись в кабинете и помедитируй часок перед зеркалом.
  2. ѕроцессы и структура компании, соответствующие еЄ цел€м (и реали€м рынка ­— труда, в том числе). ј не высосанные из √арант- онсультанта. ѕроцессы должны быть такими, чтобы средний сотрудник мог по ним спокойно идти. »бо если их нет, бессмысленно предъ€вл€ть претензии к люд€м, что они что-то не выполн€ют. „то им выполн€ть, скажите сперва конкретно. » убедитесь, что эти требовани€ адекватны и не требуют качеств супермена и 48-часового рабочего дн€. «наю, хоз€ева порой бурчат: «я же это всЄ сам прекрасно делал!» Ќу так все, кто так делают, уже хоз€ева своих фирм, мужик. ѕопробуй их схантить, а потом удержать, если считаешь, что только с такими сможешь работать. ј нет, так снизь планку. 
    Ќужна система, котора€ будет поддерживать хорошее (что есть «хорошее», см. п. 1), и подавл€ть плохое (см. там же). 
  3. Ћюди, которые получили на руки чЄткие алгоритмы (вы всЄ ещЄ надеетесь купить экспертизу и крутейшего манагера, который принесЄт вам в компанию свои секретные ноу-хау? тогда мы не идЄм к вам! потому что вы и этого манагера схарчите, так как если он профи — он будет требовать реализации этих самых пунктов, что вам не по душе).  
  4. » только потом  онкретные локальные решени€. “е же тренинги. Ќо — об€зательно — вписанные в цели отдела/департамента/компании. ѕотому что если требовать от тренера всего, то и контроль ему надо отдавать весь, и платить как биллу гейтсу (вот почему). 
  5. ѕосто€нна€ и честна€ ревизи€ того, куда движемс€, и то ли делаем. ќшибки — нормально. Ћюбой ошибаетс€. ¬от когда их замалчивают, это плохо. ћожно нан€ть на топа, человека, который понравилс€, а он окажетс€ не тем (даже ассессмент иногда даЄт сбои). Ѕывает. Ќо насто€щий идиотизм — не признать этого и держать неподход€щего человека до последнего, пока он совсем уже не развалит всЄ. 

ѕросто? јга.  ак физкультура и правильное питание. ƒелай зар€дку каждый день, регул€рно провер€йс€ у врачей и тренеров, и через пару лет ты себ€ не узнаешь. ј о старых проблемах забудешь. 

“олько занимайс€. Ќе жди чуда.

–убрики:  »деи и мысли
ћетки:  
ѕонравилось: 2 пользовател€м



 

ƒобавить комментарий:
“екст комментари€: смайлики

ѕроверка орфографии: (найти ошибки)

ѕрикрепить картинку:

 ѕереводить URL в ссылку
 ѕодписатьс€ на комментарии
 ѕодписать картинку