In
engineering
Engineering is the practice of using natural science, mathematics, and the engineering design process to Problem solving#Engineering, solve problems within technology, increase efficiency and productivity, and improve Systems engineering, s ...
, functional decomposition is the process of resolving a
functional relationship into its constituent parts in such a way that the original function can be reconstructed (i.e., recomposed) from those parts.
This process of decomposition may be undertaken to gain insight into the identity of the constituent components, which may reflect individual physical processes of interest. Also, functional decomposition may result in a compressed representation of the global function, a task which is feasible only when the constituent processes possess a certain level of ''modularity'' (i.e., independence or non-interaction).
Interaction (statistics) between the components are critical to the function of the collection. All interactions may not be , but possibly deduced through repetitive , synthesis, validation and verification of composite behavior.
Motivation for decomposition
Decomposition of a function into non-interacting components generally permits more economical representations of the function. Intuitively, this reduction in representation size is achieved simply because each variable depends only on a subset of the other variables. Thus, variable
only depends directly on variable
, rather than depending on the ''entire set'' of variables. We would say that variable
''screens off'' variable
from the rest of the world. Practical examples of this phenomenon surround us.
Consider the particular case of "northbound traffic on the
West Side Highway." Let us assume this variable (
) takes on three possible values of . Now, let's say the variable
depends on two other variables, "weather" with values of , and "
GW Bridge traffic" with values . The point here is that while there are certainly many secondary variables that affect the weather variable (e.g., low pressure system over Canada,
butterfly flapping in Japan, etc.) and the Bridge traffic variable (e.g., an accident on
I-95, presidential motorcade, etc.) all these other secondary variables are not directly relevant to the West Side Highway traffic. All we need (hypothetically) in order to predict the West Side Highway traffic is the weather and the GW Bridge traffic, because these two variables ''screen off'' West Side Highway traffic from all other potential influences. That is, all other influences act ''through'' them.
Applications
Practical applications of functional decomposition are found in
Bayesian networks
A Bayesian network (also known as a Bayes network, Bayes net, belief network, or decision network) is a probabilistic graphical model that represents a set of variables and their Conditional dependence, conditional dependencies via a directed a ...
,
structural equation modeling,
linear systems, and
database systems
In computing, a database is an organized collection of Data (computing), data or a type of data store based on the use of a database management system (DBMS), the software that interacts with end users, Application software, applications, and ...
.
Knowledge representation
Processes related to functional decomposition are prevalent throughout the fields of
knowledge representation
Knowledge representation (KR) aims to model information in a structured manner to formally represent it as knowledge in knowledge-based systems whereas knowledge representation and reasoning (KRR, KR&R, or KR²) also aims to understand, reason, and ...
and
machine learning
Machine learning (ML) is a field of study in artificial intelligence concerned with the development and study of Computational statistics, statistical algorithms that can learn from data and generalise to unseen data, and thus perform Task ( ...
. Hierarchical model induction techniques such as
Logic circuit minimization,
decision trees,
grammatical inference,
hierarchical clustering, and
quadtree decomposition are all examples of function decomposition.
Many
statistical inference
Statistical inference is the process of using data analysis to infer properties of an underlying probability distribution.Upton, G., Cook, I. (2008) ''Oxford Dictionary of Statistics'', OUP. . Inferential statistical analysis infers properties of ...
methods can be thought of as implementing a function decomposition process in the presence of noise; that is, where functional dependencies are only expected to hold ''approximately''. Among such models are
mixture models and the recently popular methods referred to as "causal decompositions" or
Bayesian networks
A Bayesian network (also known as a Bayes network, Bayes net, belief network, or decision network) is a probabilistic graphical model that represents a set of variables and their Conditional dependence, conditional dependencies via a directed a ...
.
Database theory
See
database normalization
Database normalization is the process of structuring a relational database in accordance with a series of so-called '' normal forms'' in order to reduce data redundancy and improve data integrity. It was first proposed by British computer scien ...
.
Machine learning
In practical scientific applications, it is almost never possible to achieve perfect functional decomposition because of the incredible complexity of the systems under study. This complexity is manifested in the presence of "noise," which is just a designation for all the unwanted and untraceable influences on our observations.
However, while perfect functional decomposition is usually impossible, the spirit lives on in a large number of statistical methods that are equipped to deal with noisy systems. When a natural or artificial system is intrinsically hierarchical, the
joint distribution on system variables should provide evidence of this hierarchical structure. The task of an observer who seeks to understand the system is then to infer the hierarchical structure from observations of these variables. This is the notion behind the hierarchical decomposition of a joint distribution, the attempt to recover something of the intrinsic hierarchical structure which generated that joint distribution.
As an example,
Bayesian network methods attempt to decompose a joint distribution along its causal fault lines, thus "cutting nature at its seams". The essential motivation behind these methods is again that within most systems (natural or artificial), relatively few components/events interact with one another directly on equal footing. Rather, one observes pockets of dense connections (direct interactions) among small subsets of components, but only loose connections between these densely connected subsets. There is thus a notion of "causal proximity" in physical systems under which variables naturally precipitate into small clusters. Identifying these clusters and using them to represent the joint provides the basis for great efficiency of storage (relative to the full joint distribution) as well as for potent inference algorithms.
Software architecture
Functional Decomposition is a design method intending to produce a non-implementation, architectural description of a computer program. The software architect first establishes a series of functions and types that accomplishes the main processing problem of the computer program, decomposes each to reveal common functions and types, and finally derives Modules from this activity.
Signal processing
Functional decomposition is used in the analysis of many
signal processing
Signal processing is an electrical engineering subfield that focuses on analyzing, modifying and synthesizing ''signals'', such as audio signal processing, sound, image processing, images, Scalar potential, potential fields, Seismic tomograph ...
systems, such as
LTI systems. The input signal to an LTI system can be expressed as a function,
. Then
can be decomposed into a linear combination of other functions, called component signals:
::
Here,
are the component signals. Note that
are constants. This decomposition aids in analysis, because now the output of the system can be expressed in terms of the components of the input. If we let
represent the effect of the system, then the output signal is
, which can be expressed as:
::
::
In other words, the system can be seen as acting separately on each of the components of the input signal. Commonly used examples of this type of decomposition are the
Fourier series
A Fourier series () is an Series expansion, expansion of a periodic function into a sum of trigonometric functions. The Fourier series is an example of a trigonometric series. By expressing a function as a sum of sines and cosines, many problems ...
and the
Fourier transform
In mathematics, the Fourier transform (FT) is an integral transform that takes a function as input then outputs another function that describes the extent to which various frequencies are present in the original function. The output of the tr ...
.
Systems engineering
Functional decomposition in
systems engineering
Systems engineering is an interdisciplinary field of engineering and engineering management that focuses on how to design, integrate, and manage complex systems over their Enterprise life cycle, life cycles. At its core, systems engineering uti ...
refers to the process of defining a system in functional terms, then defining lower-level functions and sequencing relationships from these higher level systems functions.
The basic idea is to try to divide a system in such a way that each block of a
block diagram can be described without an "and" or "or" in the description.
This exercise forces each part of the system to have a pure
function. When a system is designed as pure functions, they can be reused, or replaced. A usual side effect is that the interfaces between blocks become simple and generic. Since the interfaces usually become simple, it is easier to replace a pure function with a related, similar function.
For example, say that one needs to make a
stereo
Stereophonic sound, commonly shortened to stereo, is a method of sound reproduction that recreates a multi-directional, 3-dimensional audible perspective. This is usually achieved by using two independent audio channels through a configurat ...
system. One might functionally decompose this into
speakers
Speaker most commonly refers to:
* Speaker, a person who produces speech
* Loudspeaker, a device that produces sound
** Computer speakers
Speaker, Speakers, or The Speaker may also refer to:
Arts and entertainment
* Speaker (song), "Speaker" ( ...
,
amplifier
An amplifier, electronic amplifier or (informally) amp is an electronic device that can increase the magnitude of a signal (a time-varying voltage or current). It is a two-port electronic circuit that uses electric power from a power su ...
, a
tape deck and a front panel. Later, when a different model needs an audio
CD, it can probably fit the same interfaces.
See also
*
Bayesian networks
A Bayesian network (also known as a Bayes network, Bayes net, belief network, or decision network) is a probabilistic graphical model that represents a set of variables and their Conditional dependence, conditional dependencies via a directed a ...
*
Currying
In mathematics and computer science, currying is the technique of translating a function that takes multiple arguments into a sequence of families of functions, each taking a single argument.
In the prototypical example, one begins with a functi ...
*
Database normalization
Database normalization is the process of structuring a relational database in accordance with a series of so-called '' normal forms'' in order to reduce data redundancy and improve data integrity. It was first proposed by British computer scien ...
*
Function composition (computer science)
In computer science, function composition is an act or mechanism to combine simple functions to build more complicated ones. Like the usual composition of functions in mathematics, the result of each function is passed as the argument of the ne ...
*
Inductive inference
Inductive reasoning refers to a variety of methods of reasoning in which the conclusion of an argument is supported not with deductive certainty, but with some degree of probability. Unlike ''deductive'' reasoning (such as mathematical inducti ...
*
Knowledge representation
Knowledge representation (KR) aims to model information in a structured manner to formally represent it as knowledge in knowledge-based systems whereas knowledge representation and reasoning (KRR, KR&R, or KR²) also aims to understand, reason, and ...
Further reading
* A review of other applications and function decomposition. Also presents methods based on
information theory
Information theory is the mathematical study of the quantification (science), quantification, Data storage, storage, and telecommunications, communication of information. The field was established and formalized by Claude Shannon in the 1940s, ...
and
graph theory
In mathematics and computer science, graph theory is the study of ''graph (discrete mathematics), graphs'', which are mathematical structures used to model pairwise relations between objects. A graph in this context is made up of ''Vertex (graph ...
.
Notes
References
*
*
*
*
*
*
*.
*.
*.
*.
{{DEFAULTSORT:Functional Decomposition
Functions and mappings
Philosophy of mathematics
Philosophy of physics