Функциональная декомпозиция
В этой статье есть несколько проблем. Пожалуйста, помогите улучшить его или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалять эти шаблонные сообщения )
|
В инженерии . функциональная декомпозиция — это процесс разделения функциональной связи на составные части таким образом, чтобы исходную функцию можно было реконструировать (т. е. перекомпоновать) из этих частей
Этот процесс разложения может быть предпринят, чтобы понять идентичность составляющих компонентов, которые могут отражать отдельные интересующие физические процессы. Кроме того, функциональная декомпозиция может привести к сжатому представлению глобальной функции, задача, которая выполнима только тогда, когда составляющие процессы обладают определенным уровнем модульности (т. е. независимости или невзаимодействия).
Взаимодействия [ объяснить ] между компонентами имеют решающее значение для функционирования коллекции. Не все взаимодействия могут быть наблюдаемыми [ объяснить ] , но, возможно, выведено посредством повторяющегося восприятия [ объяснить ] , синтез, валидация и верификация составного поведения.
Мотивация разложения
[ редактировать ]Разложение функции на невзаимодействующие компоненты обычно позволяет более экономично представить функцию. Интуитивно понятно, что такое уменьшение размера представления достигается просто потому, что каждая переменная зависит только от подмножества других переменных. Таким образом, переменная зависит только напрямую от переменной , а не зависеть от всего набора переменных. Мы бы сказали, что переменная экраны выключены, переменная от остального мира. Практические примеры этого явления окружают нас. Рассмотрим частный случай «движения на север по шоссе Вест-Сайд ». Предположим, что эта переменная ( ) принимает три возможных значения: {"движется медленно", "движется смертельно медленно", "совсем не движется"}. Теперь предположим, что переменная зависит от двух других переменных: "погода" со значениями {"солнце", "дождь", "снег"} и " движение на мосту GW " со значениями {"10 миль в час", "5 миль в час", "1 миля в час"}. Дело здесь в том, что, хотя, безусловно, существует множество вторичных переменных, влияющих на переменную погоды (например, система низкого давления над Канадой, порхание бабочек в Японии и т. д.) и переменную движения на мосту (например, авария на I-95 , президентский кортеж и т. д.), все эти другие второстепенные переменные не имеют прямого отношения к движению по шоссе Вест-Сайд. Все, что нам нужно (гипотетически) для прогнозирования движения на Вестсайдском шоссе, — это погода и движение на мосту GW, поскольку эти две переменные экранируют движение на Вестсайдском шоссе от всех других потенциальных влияний. То есть все остальные влияния действуют через них.
Приложения
[ редактировать ]Практическое применение функциональной декомпозиции можно найти в байесовских сетях , моделировании структурными уравнениями , линейных системах и системах баз данных .
Представление знаний
[ редактировать ]Процессы, связанные с функциональной декомпозицией, распространены во всех областях представления знаний и машинного обучения . Методы индукции иерархической модели, такие как минимизация логических схем , деревья решений , грамматический вывод , иерархическая кластеризация и декомпозиция квадродерева , являются примерами декомпозиции функций.
Многие методы статистического вывода можно рассматривать как реализацию процесса декомпозиции функций в присутствии шума; то есть там, где ожидается, что функциональные зависимости будут соблюдаться только приблизительно . Среди таких моделей — смешанные модели и популярные в последнее время методы, называемые «каузальной декомпозицией» или байесовскими сетями .
Теория баз данных
[ редактировать ]См. нормализацию базы данных .
Машинное обучение
[ редактировать ]В практических научных приложениях практически никогда не удается добиться идеальной функциональной декомпозиции из-за невероятной сложности изучаемых систем. Эта сложность проявляется в наличии «шума», который является всего лишь обозначением всех нежелательных и неотслеживаемых влияний на наши наблюдения.
Однако, хотя идеальная функциональная декомпозиция обычно невозможна, ее дух продолжает жить в большом количестве статистических методов, предназначенных для работы с зашумленными системами. Когда естественная или искусственная система по своей сути иерархична, совместное распределение системных переменных должно свидетельствовать об этой иерархической структуре. Задача наблюдателя, который стремится понять систему, состоит в том, чтобы сделать вывод об иерархической структуре на основе наблюдений за этими переменными. Это идея, лежащая в основе иерархической декомпозиции совместного распределения, попытка восстановить что-то из внутренней иерархической структуры, которая породила это совместное распределение.
Например, методы байесовской сети пытаются разложить совместное распределение вдоль его причинных линий разлома, тем самым «разрезая природу по швам». Существенной мотивацией этих методов снова является то, что в большинстве систем (естественных или искусственных) относительно небольшое количество компонентов/событий взаимодействуют друг с другом напрямую на равных. [1] Скорее, наблюдаются очаги плотных связей (прямых взаимодействий) среди небольших подмножеств компонентов, но только слабые связи между этими плотно связанными подмножествами. Таким образом, в физических системах существует понятие «причинной близости», при котором переменные естественным образом распадаются на небольшие кластеры. Идентификация этих кластеров и их использование для представления соединения обеспечивает основу для высокой эффективности хранения (по сравнению с полным распределением соединения), а также для мощных алгоритмов вывода.
Архитектура программного обеспечения
[ редактировать ]Функциональная декомпозиция — это метод проектирования, целью которого является создание нереализуемого архитектурного описания компьютерной программы. Архитектор программного обеспечения сначала устанавливает ряд функций и типов, которые решают основную задачу обработки компьютерной программы, разлагает каждую, чтобы выявить общие функции и типы, и, наконец, на основе этой деятельности извлекает модули.
Обработка сигналов
[ редактировать ]Функциональная декомпозиция используется при анализе многих систем обработки сигналов , таких как системы LTI . Входной сигнал системы LTI можно выразить как функцию: . Затем можно разложить на линейную комбинацию других функций, называемых компонентными сигналами:
Здесь, являются компонентными сигналами. Обратите внимание, что являются константами. Такое разложение помогает при анализе, поскольку теперь выходные данные системы можно выразить через компоненты входных данных. Если мы позволим представляют эффект системы, то выходной сигнал , что можно выразить как:
Другими словами, систему можно рассматривать как воздействующую отдельно на каждую из составляющих входного сигнала. Обычно используемыми примерами такого типа разложения являются ряд Фурье и преобразование Фурье .
Системная инженерия
[ редактировать ]Функциональная декомпозиция в системной инженерии относится к процессу определения системы в функциональных терминах, затем определения функций более низкого уровня и установления последовательности отношений между этими функциями системы более высокого уровня. [2] Основная идея состоит в том, чтобы попытаться разделить систему таким образом, чтобы каждый блок блок- схемы можно было описать без «и» или «или» в описании.
Это упражнение заставляет каждую часть системы иметь чистую функцию . Когда система спроектирована как чистые функции, их можно использовать повторно или заменять. Обычным побочным эффектом является то, что интерфейсы между блоками становятся простыми и универсальными. Поскольку интерфейсы обычно становятся простыми, чистую функцию легче заменить связанной аналогичной функцией.
Например, скажем, что нужно сделать стереосистему . Функционально это можно разложить на динамики , усилитель , кассетную деку и переднюю панель. Позже, когда другой модели понадобится аудио компакт-диск , она, вероятно, сможет работать с теми же интерфейсами.
См. также
[ редактировать ]- Байесовские сети
- каррирование
- Нормализация базы данных
- Функциональная композиция (информатика)
- Индуктивный вывод
- Представление знаний
Дальнейшее чтение
[ редактировать ]- Жупан, Блаж; Боханец, Марко; Братко, Иван; Демшар, Янез (июль 1997 г.). «Машинное обучение путем декомпозиции функций» . В Дугласе Х. Фишере (ред.). Материалы четырнадцатой международной конференции по машинному обучению . ICML '97: 8–12 июля 1997 г. Сан-Франциско: Издательство Morgan Kaufmann. стр. 421–429. ISBN 978-1-55860-486-5 . Обзор других приложений и декомпозиция функций. Также представлены методы, основанные на теории информации и теории графов .
Примечания
[ редактировать ]- ^ Саймон (1963) .
- ^ Основы системной инженерии (PDF) (Отчет). Форт Бельвуар, Вирджиния: Издательство Университета оборонных закупок. Январь 2001. с. 45.
Ссылки
[ редактировать ]- Фодор, Джерри (1983), Модульность разума , Кембридж, Массачусетс: MIT Press
- Кестлер, Артур (1967), Призрак в машине , Нью-Йорк: Макмиллан
- Кестлер, Атур (1973), «Дерево и свеча», Грей, Уильям; Риццо, Николас Д. (ред.), Единство через разнообразие: праздничный сборник Людвига фон Берталанфи , Нью-Йорк: Гордон и Брич, стр. 287–314.
- Лейтон, Майкл (1992), Симметрия, причинность, разум , Кембридж, Массачусетс: MIT Press
- Макгинн, Колин (1994), «Проблема философии», Philosophical Studies , 76 (2–3): 133–156, doi : 10.1007/BF00989821 , S2CID 170454227
- Резников, Ховард Л. (1989), Иллюзия реальности , Нью-Йорк: Springer
- Саймон, Герберт А. (1963), «Причинный порядок и идентификация», Андо, Альберт; Фишер, Франклин М.; Саймон, Герберт А. (ред.), Очерки структуры моделей социальных наук , Кембридж , Массачусетс: MIT Press, стр. 5–31 .
- Саймон, Герберт А. (1973), «Организация сложных систем», в Патти, Ховард Х. (редактор), Теория иерархии: Проблема сложных систем , Нью-Йорк : Джордж Бразиллер, стр. 3–27 .
- Саймон, Герберт А. (1996), «Архитектура сложности: иерархические системы», Науки об искусственном , Кембридж , Массачусетс: MIT Press, стр. 183–216 .
- Тонг, Фред М. (1969), «Иерархические аспекты компьютерных языков», в книге Уайт, Закон Ланселота; Уилсон, Альберт Г.; Уилсон, Донна (ред.), Иерархические структуры , Нью-Йорк : American Elsevier, стр. 233–251 .