Объясните на конкретном примере чем отличаются подходы сверху вниз и снизу вверх
Разница между подходом сверху вниз и снизу вверх
Алгоритмы разработаны с использованием двух подходов: нисходящего и восходящего. При нисходящем подходе комплексный модуль делится на подмодули. С другой стороны, восходящий подход начинается с элемен
Содержание
Сравнительная таблица
| Основа для сравнения | Нисходящий подход | Подход «снизу вверх |
|---|---|---|
| Базовый | Разбивает большую проблему на более мелкие подзадачи. | Решает фундаментальные проблемы низкого уровня и объединяет их в более крупную. |
| Процесс | Подмодули анализируются отдельно. | Изучите, какие данные должны быть инкапсулированы, и подразумевает концепцию сокрытия информации. |
| Общение | Не требуется при подходе сверху вниз. | Требуется определенное количество общения. |
| Резервирование | Содержат избыточную информацию. | Избыточность можно исключить. |
| Языки программирования | Языки программирования, ориентированные на структуру / процедуры (например, C), следуют нисходящему подходу. | В объектно-ориентированных языках программирования (например, C ++, Java и т. Д.) Используется восходящий подход. |
| В основном используется в | Документация модуля, создание тестового примера, реализация кода и отладка. | Тестирование |
Определение подхода сверху вниз
Таким образом, нисходящий метод начинается с абстрактного дизайна, а затем этот дизайн последовательно уточняется для создания более конкретных уровней, пока не отпадет потребность в дополнительных уточнениях.
Определение подхода снизу вверх
В вверх дном подход работает прямо противоположно подходу сверху вниз. Первоначально он включает в себя проектирование наиболее фундаментальных частей, которые затем объединяются в модуль более высокого уровня. Эта интеграция субмодулей и модулей в модуль более высокого уровня выполняется многократно, пока не будет получен требуемый полный алгоритм.
Вывод
Подход «сверху вниз» делает упор на изоляцию подмодулей (означает низкую связь между модулями), игнорируя при этом идентификацию концепции связи и возможности повторного использования. При восходящем подходе важными факторами являются сокрытие информации и возможность повторного использования.
Разница между подходами сверху вниз и снизу вверх в нанотехнологиях
Подход «сверху вниз» против подхода «снизу вверх» в нанотехнологиях Нанотехнологии проектируют, разрабатывают или манипулируют в нанометровом (миллиардном) масштабе. Размер торгов
Содержание:
Подход «сверху вниз» против подхода «снизу вверх» в нанотехнологиях
Нанотехнологии проектируют, разрабатывают или манипулируют в нанометровом (миллиардном) масштабе. Размер торгового объекта должен быть меньше ста нанометров по крайней мере в одном измерении, чтобы называть что-то нанотехнологией. В нанотехнологиях есть два подхода к проектированию, известные как нисходящий и восходящий. Оба подхода полезны в разных типах приложений.
Нисходящий подход
Подход «снизу вверх
Подход «снизу вверх» в нанотехнологиях заключается в создании более крупных наноструктур из более мелких строительных блоков, таких как атомы и молекулы. Самосборка, при которой желаемые наноструктуры собираются самостоятельно без каких-либо внешних манипуляций. Когда в нанопроизводстве размер объекта уменьшается, восходящий подход становится все более важным дополнением к нисходящим методам.
Подход «снизу вверх» нанотехнологию можно найти в природе, где биологические системы использовали химические силы для создания структур клеток, необходимых для жизни. Ученые и инженеры проводят исследования, чтобы имитировать это качество природы, создавая небольшие кластеры определенных атомов, которые затем могут самостоятельно собираться в более сложные структуры. Производство углеродных нанотрубок с использованием метода катализируемой металлами полимеризации является хорошим примером восходящей нанотехнологии.
Разница между подходами сверху вниз и снизу вверх в нанотехнологиях
1. Производственный процесс начинается с более крупных структур при восходящем подходе, когда исходные строительные блоки меньше окончательного проекта при восходящем подходе.
2. Производство «снизу вверх» может создавать структуры с идеальными поверхностями и краями (без морщин, без полостей и т. Д.), Хотя поверхности и края, полученные в результате нисходящего производства, не идеальны, поскольку они морщинистые или содержат полости.
3. Технологии производства «снизу вверх» новее, чем производство «сверху вниз», и ожидается, что они станут альтернативой ему в некоторых приложениях (например, транзисторы).
4. Продукты восходящего подхода имеют более высокую точность (больший контроль над размерами материала) и, следовательно, могут изготавливать меньшие конструкции по сравнению с нисходящим подходом.
5. При нисходящем подходе имеется определенное количество потерянного материала, поскольку некоторые части удаляются из исходной структуры, в отличие от подхода «снизу вверх», когда никакая часть материала не удаляется.
Общие подходы
Очевидно, что система управления рисками должна начинаться с идентификации рисков. Потенциальный издатель в 2008 году согласился на название «Как построить карту рисков за 2 недели». Ровно столько и нужно. Возможно, много, но это консультантские проекты, вынуждены закладываться на неизбежные сбои.
Особенность этого раздела, как и всего сайта – практические рекомендации. Если про технологии анализа рисков можно прочитать в энторнетах (кстати, возможно, раздел получился избыточно большим), то информацию о том, что нужно запросить, и тем более перечень людей с темами для разговоров, найти непросто. Тем не менее, часть страничек носит характер «чтобы было», нужны для того, чтобы приподрасшифровать некоторые не очень развернутые в стандартах аспекты.
Ключевые задачи при идентификации.
Первая задача – определить, со сколькими картами рисков и на каком уровне мы будем работать. Задача, как показано в этом разделе, не совсем тривиальная.
Вторая задача – агрегировать потенциальные опасности в как можно меньшее количество рисков. Разумное количество – от 30 до 100, но 100 – это, наверное, уже много.
Нужно ли пользоваться базами рисков?
С хорошей вероятностью у внутреннего аудитора, риск-менеджера либо привлеченного консультанта может оказаться база рисков самого разного авторства. Приведу несколько своих соображений по поводу их использования.
Чем хороши базы рисков: все-таки не с нуля изобретаем велосипед. При этом если база представляет для себя не некие универсальные формулировки для любого предприятия отрасли, а просто «направления поиска» с примерами рисков – это реально может помочь.
Чем плохи базы рисков: есть шанс «пропустить» реальное изучение бизнеса, потому что «и так сойдет». В терминологии эксперта сайта – скатиться к compliance-диагностике, то есть заполнить горку макулатуры и объявить, что предприятию присущи риски, которые есть в базе. Особенно хорошо это получается, когда пользователям предлагается проставить галочки напротив каждого риска. Результат – мы будем работать не с рисками своего предприятия, а с рисками какого-то другого. Не говоря о том, что каждое предприятие, как и семья, несчастно по-своему, то есть шанс пропустить что-то велик. Конечно, процентов 60-70-80 рисков будет совпадать, база рисков будет дорабатываться и т.п. Но всё-таки не совсем то, что нужно получить в идеале.
В общем, однозначных рекомендаций давать не буду: в хороших руках база – неплохой дополнительный инструмент, в плохих руках – мина замедленного действия, когда к первичной идентификации рисков нужно будет вернуться через годик-другой.
Принципиальные соображения о классификации рисков.
В разных стандартах есть разные классификации. На самом деле любая классификация условна, в карту (реестр) рисков попадут все.
Наиболее сложно разделить события, которые происходят при взаимоотношении с внешними контрагентами, между операционными рисками и рисками опасностей. Если договор заключен на невыгодных условиях, как правило, непонятно – то ли это был злой умысел, то ли неверное управленческое решение на основе неправильной оценки ситуации. Большинство людей, связанных с риск-менеджментом, внутренним контролем и внутренним аудитом, в разные моменты времени могут отнести данный пример либо к неэффективности, либо к воровству. Зависит от последних проверок. Конечно, есть (морально устойчивые) люди, которые всегда скажут, что это воровство, но таких всё-таки меньшинство. Такое разделение для карты рисков, на самом деле, не очень важно. Если природа риска одинакова (недостаточный контроль) – рассматривайте один риск.
Соображения, высказанные выше, не относятся к рискам, имеющим одинаковое название, но по сути являющихся разными рисками: операционным и стратегическим. И для постановщика риск-менеджмента очень важно не допустить смешения стратегических и операционных рисков. Причина – менеджмент будет управлять только операционным риском, делая вид, что управляет стратегическим. Несколько примеров:
и т.д. Повторюсь, такое отношение к риск-менеджменту, то есть управление только операционными рисками в ущерб стратегическим, очень снижает его пользу для компании.
Подходы «сверху вниз» и «снизу вверх».
Существует два принципиальных пути идентификации, условно, «сверху вниз» и «снизу вверх». Первый предусматривает формирование базы рисков, и потом их распределение между подразделениями. Второй – поиск рисков, связанных с деятельностью конкретных отделов. Мне больше нравится первый, объясню почему. Второй подход подразумевает анализ рисков, которые возникают в текущей работе всех подразделений. Но в «неразвитых» структурах, в которых не на каждую рабочую лошадь предусмотрен «отдел учета копытопробега», этот подход может не сработать: ведь в них возможны функциональные пробелы. Соответственно, нет функции, нет и риска. Но для огромных структур, к примеру, с численностью управляющей компании более 500 человек, второй подход безусловно более разумен. При применении первого может оказаться, что какое-то подразделение будет обделено, а здесь недалеко и до вопроса: «А чем оно, собственно, занимается?», если никаких рисков в его деятельности нет.
Два типа рисков.
Я делю риски на два типа.
К первому типу рисков относятся риски, в выявлении которых сотрудники всячески заинтересованы. Это риски, связанные с рыночной позицией компании, давлением всяческих государственных органов, нехваткой инвестиций, износом оборудования, ростом стоимости товаров и услуг, нехваткой квалифицированного персонала, низкой зарплатой и т.д. Эти риски сотрудники быстро выявляют и быстро рассчитывают / оценивают. Для этого типа рисков риск-менеджер должен следить только за тем, чтобы их расчет не принимал гипертрофированные значения, когда по оценке менеджмента нехватка пары человек во вспомогательном производстве может привести к потере бизнеса.
Второй тип рисков связан с неэффективностью работы организации. Поясню на вышеприведенных примерах. К примеру, возможную потерю доли рынка дешевле списать на конкурентов, а не на пробелы в маркетинге, возможную остановку производства по предписанию – на происки Ростехнадзора, а не на забывчивость при формировании инвестиционной программы, нехватку инвестиций – на их малое количество, а не на неэффективное расходование средств и т.д. Так вот, ни один разумный человек не будет себя оговаривать, особенно с учетом сложностей в определении потенциальных причин реализации того или иного риска. И для такого типа рисков риск-менеджер должен быть максимально внимателен и практически не доверять сотрудникам. На 100% это касается рисков, связанных с внутренним контролем. Хороший способ – использование принципа «четырех глаз», в применении к риск-менеджменту – см. здесь.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Сверху вниз и снизу вверх: в чем разница?
Сверху вниз и снизу вверх: обзор
Подходы сверху вниз и снизу вверх – это методы, используемые для анализа и выбора ценных бумаг. Однако эти термины также встречаются во многих других областях бизнеса, финансов, инвестирования и экономики. Хотя эти две схемы являются общими терминами, многие инвесторы путают их или не полностью понимают различия между подходами.
Каждый подход может быть довольно простым: подход сверху вниз идет от общего к частному, а подход снизу вверх начинается с конкретного и переходит к общему. Эти методы являются возможными подходами для широкого круга задач, таких как постановка целей, составление бюджета и прогнозирование. В финансовом мире аналитикам или целым компаниям может быть поручено сосредоточиться на одном, а не на другом, поэтому важно понимать нюансы обоих.
Ключевые выводы
Низходящий
Анализ сверху вниз обычно подразумевает использование комплексных факторов в качестве основы для принятия решений. Подход «сверху вниз» направлен на выявление общей картины и всех ее компонентов. Эти компоненты обычно являются движущей силой достижения конечной цели.
Сверху вниз обычно ассоциируется со словом «макро» или макроэкономика. Макроэкономика сама по себе является областью экономики, в которой рассматриваются важнейшие факторы, влияющие на экономику в целом. Эти факторы часто включают такие вещи, как ставка по федеральным фондам, уровень безработицы, глобальный и страновой валовой внутренний продукт, а также темпы инфляции.
Аналитик, ищущий перспективу сверху вниз, хочет посмотреть, как систематические факторы влияют на результат. В корпоративных финансах это может означать понимание того, как общие тенденции влияют на всю отрасль. При составлении бюджета, постановке целей и прогнозировании та же концепция может также применяться для понимания макрофакторов и управления ими.
Нисходящее инвестирование
В мире инвестирования инвесторы сверху вниз или инвестиционные стратегии сосредоточены на макроэкономической среде и цикле. Эти типы инвесторов обычно хотят сбалансировать дискреционное инвестирование потребителей с основными продуктами в зависимости от текущей экономики. Исторически известно, что дискреционные запасы следуют экономическим циклам, когда потребители покупают больше дискреционных товаров и услуг при расширении и меньше – при сокращении.
Основные потребительские товары, как правило, предлагают жизнеспособные инвестиционные возможности во всех типах экономических циклов, поскольку они включают товары и услуги, которые остаются востребованными независимо от динамики экономики. Когда экономика расширяется, можно полагаться на избыточный дискреционный вес для получения прибыли. В качестве альтернативы, когда экономика сокращается или находится в состоянии рецессии, инвесторы, работающие по принципу «сверху-вниз», обычно предпочитают «убежища» и «основные продукты».
Фирмы по управлению инвестициями и менеджеры по инвестициям могут сосредоточить всю инвестиционную стратегию на управлении сверху вниз, которое определяет возможности торговли инвестициями исключительно на основе макроэкономических переменных сверху вниз. Эти фонды могут иметь глобальную или внутреннюю направленность, что также увеличивает сложность масштабов.
Обычно такие фонды называют макрофондами. Они принимают портфельные решения, глядя на глобальную, а затем на страновую экономику. Они дополнительно уточняют взгляд на конкретный сектор, а затем и на отдельные компании в этом секторе.
Краткий обзор
Стратегии инвестирования сверху вниз обычно сосредоточены на получении прибыли от возможностей, следующих за рыночными циклами, в то время как подходы снизу вверх носят более фундаментальный характер.
Вверх дном
В восходящем анализе используется совершенно другой подход. Как правило, восходящий подход фокусируется на анализе конкретных характеристик и микро атрибутов отдельной акции. При восходящем инвестировании концентрация сосредоточена на фундаментальных показателях отдельных предприятий или секторов. Этот анализ направлен на выявление выгодных возможностей через особенности свойств компании и ее оценки по сравнению с рынком.
Восходящее инвестирование начинает свое исследование на уровне компании, но не останавливается на достигнутом. Эти анализы серьезно влияют на фундаментальные показатели компании, но также учитывают сектор и микроэкономические факторы. Таким образом, восходящее инвестирование может быть довольно широким для всей отрасли или ориентировано на выявление ключевых атрибутов.
Восходящие инвесторы
Чаще всего «восходящие» инвесторы – это инвесторы «купи и держи», которые глубоко понимают основы компании. Управляющие фондами также могут использовать восходящую методологию.
Например, перед портфельной командой может быть поставлена задача использовать восходящий подход к инвестированию в определенном секторе, таком как технологии. От них требуется найти наилучшие инвестиции, используя фундаментальный подход, который определяет компании с лучшими фундаментальными коэффициентами или ведущими в отрасли характеристиками. Затем они исследовали бы эти акции в отношении макро- и глобальных влияний.
Индексные фонды smart-beta, ориентированные на метрики, – еще один пример инвестирования снизу вверх.Такие фонды, как AAM S&P 500 ETF с высокой дивидендной стоимостью (SPDV) иSchwab Fundamental US Large Company Index ETF (FNDX), сосредотачиваются на определенных фундаментальных восходящих атрибутах, которые, как ожидается, будут ключевыми драйверами производительности.1
Особые соображения
Как правило, несмотря на то, что нисходящие и восходящие процессы могут сильно отличаться, они часто используются во всех типах финансовых подходов, таких как системы сдержек и противовесов. Например, хотя нисходящий инвестиционный фонд может в первую очередь сосредоточиться на инвестировании в соответствии с макроэкономическими тенденциями, он все равно будет изучать основы своих инвестиций, прежде чем принимать решение об инвестировании.
И наоборот, хотя восходящий подход фокусируется на основных принципах инвестиций, инвесторы по-прежнему хотят учитывать систематическое влияние на отдельные активы, прежде чем принимать решение.
В чем разница между «снизу вверх» и «сверху вниз»?
Подход вниз-вверх (к динамическому программированию) заключается в том, что сначала рассматриваются «меньшие» подпроблемы, а затем решаются большие подпроблемы, используя решение меньших проблем.
Подход вверх-вниз заключается в том, чтобы решить задачу «естественным образом» и проверить, вычислили ли вы решение подпроблемы раньше.
Я немного запутался. В чем разница между этими двумя способами?
Recap
Динамическое программирование заключается в том, чтобы упорядочить ваши вычисления таким образом, чтобы избежать пересчета дублирующих друг друга работ. У вас есть главная проблема (корень вашего дерева подпроблем) и подпроблем (поддеревьев). Подзадачи обычно повторяются и пересекаются.
Например, рассмотрим ваш любимый пример Фибонаци. Это полное дерево подпроблем, если мы выполнили наивный рекурсивный вызов:
(В некоторых других редких случаях это дерево может быть бесконечным в некоторых ветвях, представляя собой бесконечность, и, таким образом, дно дерева может быть бесконечно большим. Более того, в некоторых проблемах вы можете не знать, как выглядит полное дерево раньше времени. Таким образом, вам может понадобиться стратегия/алгоритм, чтобы решить, какие подпроблемы выявить).
Записки, табуляции
Существует как минимум два основных метода динамического программирования, которые не являются взаимоисключающими:
Это начинается с вершины дерева и вычисляет подзадачи от листьев/поддеревеньев обратно к корню.
Лично я нечасто слышу слово «табуляция», но это очень приличный термин. Некоторые считают это «динамическим программированием».
Прежде чем запустить алгоритм, программист рассматривает целое дерево, затем пишет алгоритм оценки подпроблем в определенном порядке по направлению к корню, обычно заполняя таблицу.
*примечание: Иногда «таблица» не является прямоугольной таблицей со связью, подобной сетке, как таковой. Скорее, она может иметь более сложную структуру, например, дерево, или структуру, специфичную для проблемной области (например, города в пределах расстояния полета на карте), или даже шпалерную диаграмму, которая, хотя и похожа на решетку, но не имеет структуры связи вверх-вниз-лево-право и т.д. Например, user3290797 связал динамический пример программирования нахождения максимального независимого множества в дереве, что соответствует заполнению пробелов в дереве.
(На самом общем, в парадигме «динамического программирования» я бы сказал, что программист рассматривает целое дерево, тогда пишет алгоритм, реализующий стратегию оценки подпроблем, которая может оптимизировать любые свойства (обычно это комбинация временнóй сложности и пространственно-сложности). Ваша стратегия должна начинаться где-то, с какой-то конкретной подзадачи, и, возможно, может адаптироваться по результатам этих оценок. В общем смысле «динамического программирования», Вы можете попытаться кэшировать эти подзадачи, а в более общем смысле, попытаться избежать повторного рассмотрения подзадач с тонким разграничением, возможно, в случае графов в различных структурах данных. Очень часто эти структуры данных лежат в основе, как массивы или таблицы. Решения подпроблем можно выбросить, если они нам больше не нужны)).
[Ранее в этом ответе говорилось о терминологии «сверху вниз» по сравнению с терминологией «снизу вверх»; очевидно, что существует два основных подхода, называемых «запоминание» и «табуляция», которые могут биться с этими терминами (хотя и не полностью). Общим термином, используемым большинством людей, по-прежнему является «Динамическое программирование», а некоторые говорят «заучивание» для обозначения этого конкретного подтипа «Динамическое программирование». Этот ответ отказывается говорить, что «сверху вниз» и «снизу вверх» до тех пор, пока сообщество не найдет подходящие ссылки в научных работах. В конечном счете, важно понимать различие, а не терминологию].
Плюсы и минусы
Легкость кодирования
Запись очень проста в программировании (обычно* можно написать аннотацию «memoizer» или функцию обертки, которая автоматически сделает это за вас), и должна быть вашей первой линией подхода. Недостатком табуляции является то, что вы должны придумать заказ.
Рекурсивность
Обратите внимание, что как сверху вниз, так и снизу вверх может быть реализовано с помощью рекурсивного или итеративного заполнения таблиц, хотя это может быть неестественно.
Практические вопросы
С помощью запоминания, если дерево очень глубокое (например, fib(10^6) ), у вас закончится пространство стека, потому что каждое задержанное вычисление должно быть помещено на стек, и у вас будет 10^6 из них.
Оптимальность
Любой из подходов может оказаться неоптимальным по времени, если порядок, в котором вы посещаете (или пытаетесь посетить) подзадачи, не является оптимальным, особенно, если есть более одного способа вычислить подзадачи (обычно кэширование решило бы эту проблему, но теоретически возможно, что в некоторых экзотических случаях кэширование может и не быть оптимальным). Пометка обычно добавляет к пространству сложности (например, при использовании табуляции у вас больше свободы выброса вычислений, как использование табуляции с помощью Fib позволяет использовать пространство O(1), но пометка с помощью Fib использует пространство стека O(N)).
Расширенные оптимизации
Если вы также занимаетесь чрезвычайно сложными проблемами, у вас может не быть другого выбора, кроме как делать табуляцию (или, по крайней мере, играть более активную роль в управлении запоминанием там, где вы хотите, чтобы оно проходило). Также, если вы находитесь в ситуации, когда оптимизация является абсолютно критичной и вы должны оптимизировать, табуляция позволит вам сделать оптимизации, которые в противном случае не позволили бы вам сделать в здравом уме. По моему скромному мнению, в обычной программной инженерии ни один из этих двух случаев никогда не возникает, поэтому я бы просто использовал запоминание («функция, которая кэширует свои ответы»), если только что-то (например, пространство стека) не делает табуляцию необходимой. хотя технически, чтобы избежать пробоя стека, можно 1) увеличить лимит размера стека в языках, которые это позволяют, или 2) съесть постоянный фактор дополнительной работы по виртуализации стека (ick), или 3) программу в стиле continue-passing, которая, по сути, также виртуализирует ваш стек (не уверен в сложности этого, но, в принципе, вы фактически возьмете цепочку отложенных вызовов из стека размера N и де-факто засунете ее в N последовательно вложенных функций thunk. хотя в некоторых языках без оптимизации хвостового вызова вам, возможно, придется батутировать вещи, чтобы избежать пробоя стека).
Более сложные примеры
Здесь мы приводим примеры, представляющие особый интерес, которые не только являются общими проблемами DP, но и интересно различают запоминание и табулирование. Например, одна формулировка может быть намного проще другой, или может быть оптимизация, которая в основном требует табуляции:
