Function Decomposition
   HOME

TheInfoList



OR:

In mathematics, functional decomposition is the process of resolving a
functional Functional may refer to: * Movements in architecture: ** Functionalism (architecture) ** Form follows function * Functional group, combination of atoms within molecules * Medical conditions without currently visible organic basis: ** Functional sy ...
relationship into its constituent parts in such a way that the original function can be reconstructed (i.e., recomposed) from those parts by
function composition In mathematics, function composition is an operation that takes two functions and , and produces a function such that . In this operation, the function is applied to the result of applying the function to . That is, the functions and ...
. 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). 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.


Basic mathematical definition

For a multivariate function y = f(x_1,x_2,\dots,x_n), functional decomposition generally refers to a process of identifying a set of functions \ such that :f(x_1,x_2,\dots,x_n) = \phi(g_1(x_1,x_2,\dots,x_n), g_2(x_1,x_2,\dots,x_n), \dots g_m(x_1,x_2,\dots,x_n)) where \phi is some other function. Thus, we would say that the function f is decomposed into functions \. This process is intrinsically hierarchical in the sense that we can (and often do) seek to further decompose the functions g_i into a collection of constituent functions \ such that :g_i(x_1,x_2,\dots,x_n) = \gamma(h_1(x_1,x_2,\dots,x_n), h_2(x_1,x_2,\dots,x_n), \dots h_p(x_1,x_2,\dots,x_n)) where \gamma is some other function. Decompositions of this kind are interesting and important for a wide variety of reasons. In general, functional decompositions are worthwhile when there is a certain "sparseness" in the dependency structure; that is, when constituent functions are found to depend on approximately
disjoint sets In mathematics, two sets are said to be disjoint sets if they have no element in common. Equivalently, two disjoint sets are sets whose intersection is the empty set.. For example, and are ''disjoint sets,'' while and are not disjoint. A ...
of variables. Thus, for example, if we can obtain a decomposition of x_1 = f(x_2,x_3,\dots,x_6) into a hierarchical composition of functions \ such that x_1 = g_1(x_2), x_2 = g_2(x_3,x_4,x_5), x_5 = g_3(x_6), as shown in the figure at right, this would probably be considered a highly valuable decomposition.


Example: Arithmetic

A basic example of functional decomposition is expressing the four binary arithmetic operations of addition, subtraction, multiplication, and division in terms of the two binary operations of addition a + b and multiplication a \times b, and the two unary operations of additive inversion -a and multiplicative inversion 1/a. Subtraction can then be realized as the composition of addition and additive inversion, a - b = a + (-b), and division can be realized as the composition of multiplication and multiplicative inverse, a \div b = a \times (1/b). This simplifies the analysis of subtraction and division, and also makes it easier to axiomatize these operations in the notion of a
field Field may refer to: Expanses of open ground * Field (agriculture), an area of land used for agricultural purposes * Airfield, an aerodrome that lacks the infrastructure of an airport * Battlefield * Lawn, an area of mowed grass * Meadow, a grass ...
, as there are only two binary and two unary operations, rather than four binary operations. Extending these primitive operations, there is a rich literature on the topic of
polynomial decomposition In mathematics, a polynomial decomposition expresses a polynomial ''f'' as the functional composition g \circ h of polynomials ''g'' and ''h'', where ''g'' and ''h'' have degree greater than 1; it is an algebraic functional decomposition. Algorith ...
.


Example: Decomposition of continuous functions


Motivation for decomposition

As to ''why'' the decomposition is valuable, the reason is twofold. Firstly, decomposition of a function into non-interacting components generally permits more economical representations of the function. For example, on a set of quaternary (i.e., 4-ary) variables, representing the full function x_1=f(x_2,x_3,\dots,x_6) requires storing 4^5=1024 values, the value of the function for each element in the
Cartesian product In mathematics, specifically set theory, the Cartesian product of two sets ''A'' and ''B'', denoted ''A''×''B'', is the set of all ordered pairs where ''a'' is in ''A'' and ''b'' is in ''B''. In terms of set-builder notation, that is : A\ti ...
\, i.e., each of the 1024 possible combinations for \. However, if the decomposition into \ given above is possible, then g_1 = g_1(x_2) requires storing 4 values, g_2 = g_2(x_3,x_4,x_5) requires storing 4^3=64 values, and g_3 = g_3(x_6) again requires storing just 4 values. So in virtue of the decomposition, we need store only 4+64+4=72 values rather than 1024 values, a dramatic savings. Intuitively, this reduction in representation size is achieved simply because each variable depends only on a subset of the other variables. Thus, variable x_1 only depends directly on variable x_2, rather than depending on the ''entire set'' of variables. We would say that variable x_2 ''screens off'' variable x_1 from the rest of the world. Practical examples of this phenomenon surround us, as discussed in the "Philosophical Considerations" below, but let's just 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 variable depends on two other variables, "weather" with values of , and "
GW Bridge The George Washington Bridge is a double-decked suspension bridge spanning the Hudson River, connecting Fort Lee, New Jersey, with Manhattan in New York City. The bridge is named after George Washington, the first president of the United St ...
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. Outside of purely mathematical considerations, perhaps the greatest value of functional decomposition is the insight it provides into the structure of the world. When a functional decomposition can be achieved, this provides ontological information about what structures actually exist in the world, and how they can be predicted and manipulated. For example, in the illustration above, if it is learned that depends directly only on , this means that for purposes of prediction of , it suffices to know only . Moreover, interventions to influence can be taken directly on , and nothing additional can be gained by intervening on variables \, since these only act through in any case.


Philosophical considerations

The philosophical antecedents and ramifications of functional decomposition are quite broad, as functional decomposition in one guise or another underlies all of modern science. Here we review just a few of these philosophical considerations.


Reductionist tradition

One of the major distinctions that is often drawn between
Eastern philosophy Eastern philosophy or Asian philosophy includes the various philosophies that originated in East and South Asia, including Chinese philosophy, Japanese philosophy, Korean philosophy, and Vietnamese philosophy; which are dominant in East Asia, ...
and
Western Philosophy Western philosophy encompasses the philosophical thought and work of the Western world. Historically, the term refers to the philosophical thinking of Western culture, beginning with the ancient Greek philosophy of the pre-Socratics. The word ' ...
is that the Eastern philosophers tended to espouse ideas favoring
holism Holism () is the idea that various systems (e.g. physical, biological, social) should be viewed as wholes, not merely as a collection of parts. The term "holism" was coined by Jan Smuts in his 1926 book ''Holism and Evolution''."holism, n." OED Onl ...
while the Western thinkers tended to espouse ideas favoring
reductionism Reductionism is any of several related philosophical ideas regarding the associations between phenomena which can be described in terms of other simpler or more fundamental phenomena. It is also described as an intellectual and philosophical pos ...
. This distinction between East and West is akin to other philosophical distinctions (such as
realism Realism, Realistic, or Realists may refer to: In the arts *Realism (arts), the general attempt to depict subjects truthfully in different forms of the arts Arts movements related to realism include: *Classical Realism *Literary realism, a move ...
vs. anti-realism). Some examples of the Eastern holistic spirit: * "Open your mouth, increase your activities, start making distinctions between things, and you'll toil forever without hope." — The
Tao Te Ching The ''Tao Te Ching'' (, ; ) is a Chinese classic text written around 400 BC and traditionally credited to the sage Laozi, though the text's authorship, date of composition and date of compilation are debated. The oldest excavated portion d ...
of
Lao Tzu Laozi (), also known by numerous other names, was a semilegendary ancient Chinese Taoist philosopher. Laozi ( zh, ) is a Chinese honorific, generally translated as "the Old Master". Traditional accounts say he was born as in the state of ...
(Brian Browne Walker, translator)
* "It's a hard job for eopleto see the meaning of the fact that everything, including ourselves, depends on everything else and has no permanent self-existence." Majjhima Nikaya (Anne Bankroft, translator) *"A name is imposed on what is thought to be a thing or a state and this divides it from other things and other states. But when you pursue what lies behind the name, you find a greater and greater subtlety that has no divisions..." Visuddhi Magga (Anne Bankroft, translator) The Western tradition, from its origins among the Greek philosophers, preferred a position in which drawing correct distinctions, divisions, and contrasts was considered the very pinnacle of insight. In the Aristotelian/ Porphyrian worldview, to be able to distinguish (via strict proof) which qualities of a thing represent its essence vs.
property Property is a system of rights that gives people legal control of valuable things, and also refers to the valuable things themselves. Depending on the nature of the property, an owner of property may have the right to consume, alter, share, r ...
vs. accident vs.
definition A definition is a statement of the meaning of a term (a word, phrase, or other set of symbols). Definitions can be classified into two large categories: intensional definitions (which try to give the sense of a term), and extensional definitio ...
, and by virtue of this formal description to segregate that entity into its proper place in the taxonomy of nature — this was to achieve the very height of wisdom.


Characteristics of hierarchy and modularity

In natural or artificial systems that require components to be integrated in some fashion, but where the number of components exceeds what could reasonably be fully interconnected (due to square wise growth in number of connections (= n over two or = n * (n - 1) / 2)), one often finds that some degree of hierarchicality must be employed in the solution. The general advantages of sparse hierarchical systems over densely connected systems—and quantitative estimates of these advantage—are presented by . In prosaic terms, a hierarchy is "a collection of elements that combine lawfully into complex wholes which depend for their properties upon those of their constituent parts," and wherein novelty is "fundamentally combinatorial, iterative, and transparent" . An important notion that always arises in connection with hierarchies is modularity, which is effectively implied by the sparseness of connections in hierarchical topologies. In physical systems, a module is generally a set of interacting components that relates to the external world via a very limited interface, thus concealing most aspects of its internal structure. As a result, modifications that are made to the internals of a module (to improve efficiency for example) do not necessarily create a ripple effect through the rest of the system . This feature makes the effective use of modularity a centerpiece of all good software and hardware engineering.


Inevitability of hierarchy and modularity

There are many compelling arguments regarding the prevalence and necessity of hierarchy/modularity in nature . points out that among evolving systems, only those that can manage to obtain and then reuse stable subassemblies (modules) are likely to be able to search through the fitness landscape with a reasonably quick pace; thus, Simon submits that "among possible complex forms, hierarchies are the ones that have the time to evolve." This line of thinking has led to the even stronger claim that although "we do not know what forms of life have evolved on other planets in the universe, ... we can safely assume that 'wherever there is life, it must be hierarchically organized'" . This would be a fortunate state of affairs since the existence of simple and isolable subsystems is thought to be a precondition for successful science . In any case, experience certainly seems to indicate that much of the world possesses hierarchical structure. It has been proposed that perception itself is a process of hierarchical decomposition , and that phenomena which are not essentially hierarchical in nature may not even be "theoretically intelligible" to the human mind (,). In Simon's words,


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 dependencies via a directed acyclic graph (DAG). Bay ...
,
structural equation modeling Structural equation modeling (SEM) is a label for a diverse set of methods used by scientists in both experimental and observational research across the sciences, business, and other fields. It is used most in the social and behavioral scienc ...
,
linear systems In systems theory, a linear system is a mathematical model of a system based on the use of a linear operator. Linear systems typically exhibit features and properties that are much simpler than the nonlinear case. As a mathematical abstraction ...
, and database systems.


Knowledge representation

Processes related to functional decomposition are prevalent throughout the fields of
knowledge representation Knowledge representation and reasoning (KRR, KR&R, KR²) is the field of artificial intelligence (AI) dedicated to representing information about the world in a form that a computer system can use to solve complex tasks such as diagnosing a medic ...
and
machine learning Machine learning (ML) is a field of inquiry devoted to understanding and building methods that 'learn', that is, methods that leverage data to improve performance on some set of tasks. It is seen as a part of artificial intelligence. Machine ...
. Hierarchical model induction techniques such as
Logic circuit minimization Logic optimization is a process of finding an equivalent representation of the specified logic circuit under one or more specified constraints. This process is a part of a logic synthesis applied in digital electronics and integrated circuit de ...
,
decision trees A decision tree is a decision support tool that uses a tree-like model of decisions and their possible consequences, including chance event outcomes, resource costs, and utility. It is one way to display an algorithm that only contains condit ...
, grammatical inference,
hierarchical clustering In data mining and statistics, hierarchical clustering (also called hierarchical cluster analysis or HCA) is a method of cluster analysis that seeks to build a hierarchy of clusters. Strategies for hierarchical clustering generally fall into ...
, and
quadtree decomposition A quadtree is a tree data structure in which each internal node has exactly four children. Quadtrees are the two-dimensional analog of octrees and are most often used to partition a two-dimensional space by recursively subdividing it into four q ...
are all examples of function decomposition. A review of other applications and function decomposition can be found in , which also presents methods based on
information theory Information theory is the scientific study of the quantification (science), quantification, computer data storage, storage, and telecommunication, communication of information. The field was originally established by the works of Harry Nyquist a ...
and
graph theory In mathematics, graph theory is the study of ''graphs'', which are mathematical structures used to model pairwise relations between objects. A graph in this context is made up of '' vertices'' (also called ''nodes'' or ''points'') which are conne ...
. Many
statistical inference Statistical inference is the process of using data analysis to infer properties of an underlying probability distribution, distribution of probability.Upton, G., Cook, I. (2008) ''Oxford Dictionary of Statistics'', OUP. . Inferential statistical ...
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 In statistics, a mixture model is a probabilistic model for representing the presence of subpopulations within an overall population, without requiring that an observed data set should identify the sub-population to which an individual observatio ...
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 dependencies via a directed acyclic graph (DAG). Bay ...
.


Database theory

See database normalization.


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 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 dependencies via a directed acyclic graph (DAG). Bay ...
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. Rather than conjecturing Objects and adding methods to them ( OOP), with each Object intending to capture some service of the 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. For example, the design of the editor
Emacs Emacs , originally named EMACS (an acronym for "Editor MACroS"), is a family of text editors that are characterized by their extensibility. The manual for the most widely used variant, GNU Emacs, describes it as "the extensible, customizable, s ...
can initially be thought about in terms of functions: e\, \equiv \text
e'\, \equiv e\text f: (e, lisp\,\,expression) \rightarrow e' And a possible function decomposition of ''f'': fromExpr: lisp\,\,expression \rightarrow \begin object, & \text \\ error, & \text \end evaluate: (object, e) \rightarrow e' print: (error, e) \rightarrow e' This leads one to the plausible Module, Service, or Object, of an interpreter (containing the function ''fromExpr''). Function Decomposition arguably yields insights about re-usability, such as if during the course of analysis, two functions produce the same type, it is likely that a common function/
cross-cutting concern In aspect-oriented software development, cross-cutting concerns are aspects of a program that affect several modules, without the possibility of being encapsulated in any of them. These concerns often cannot be cleanly decomposed from the rest o ...
resides in both. To contrast, in OOP, it is a common practice to conjecture Modules prior to considering such a decomposition. This arguably results in costly
refactoring In computer programming and software design, code refactoring is the process of restructuring existing computer code—changing the '' factoring''—without changing its external behavior. Refactoring is intended to improve the design, structure ...
later. FD mitigates that risk to some extent. Further, arguably, what separates FD from other design methods- is that it provides a concise high-level medium of architectural discourse that is end-to-end, revealing flaws in upstream
requirements In product development and process optimization, a requirement is a singular documented physical or functional need that a particular design, product or process aims to satisfy. It is commonly used in a formal sense in engineering design, includi ...
and beneficially exposing more design decisions in advance. And lastly, FD is known to prioritize development. Arguably, if the FD is correct, the most re-usable and cost-determined parts of the program are identified far earlier in the development cycle.


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, and scientific measurements. Signal processing techniq ...
systems, such as LTI systems. The input signal to an LTI system can be expressed as a function, f(t). Then f(t) can be decomposed into a linear combination of other functions, called component signals: :: f(t) = a_1 \cdot g_1(t) + a_2 \cdot g_2(t) + a_3 \cdot g_3(t) + \dots + a_n \cdot g_n(t) 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 T\ represent the effect of the system, then the output signal is T\, which can be expressed as: :: T\ = T\ :: = a_1 \cdot T\ + a_2 \cdot T\ + a_3 \cdot T\ + \dots + a_n \cdot T\ 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 a summation of harmonically related sinusoidal functions, also known as components or harmonics. The result of the summation is a periodic function whose functional form is determined by the choices of cycle length (or ''p ...
and the
Fourier transform A Fourier transform (FT) is a mathematical transform that decomposes functions into frequency components, which are represented by the output of the transform as a function of frequency. Most commonly functions of time or space are transformed, ...
.


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 util ...
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.''Systems Engineering Fundamentals.''
Defense Acquisition University Press, Fort Belvoir, VA, January 2001, p45 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, or more commonly 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 configuration ...
system. One might functionally decompose this into speakers,
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 may increase the power significantly, or its main effect may be to boost the v ...
, 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 dependencies via a directed acyclic graph (DAG). Bay ...
*
Currying In mathematics and computer science, currying is the technique of translating the evaluation of a function that takes multiple arguments into evaluating a sequence of functions, each with a single argument. For example, currying a function f that ...
* Database normalization *
Function composition In mathematics, function composition is an operation that takes two functions and , and produces a function such that . In this operation, the function is applied to the result of applying the function to . That is, the functions and ...
* Inductive inference *
Knowledge representation Knowledge representation and reasoning (KRR, KR&R, KR²) is the field of artificial intelligence (AI) dedicated to representing information about the world in a form that a computer system can use to solve complex tasks such as diagnosing a medic ...


Notes


References

* * * * * * *. *. *. *. * {{DEFAULTSORT:Functional Decomposition Functions and mappings Philosophy of mathematics Philosophy of physics