ComplexityFrom CryptoDox, The Online Encyclopedia on Cryptography and Information SecurityTemplate:Otheruses Complexity in general usage is the opposite of simplicity. Complexity in specific usage is the opposite of independence, while complication is the opposite of simplicity.
OverviewComplexity in general means:
Specific forms of complexityIn several scientific fields, "complexity" has a specific meaning :
There are different specific forms of complexity:
Study of complexityComplexity has always been a part of our environment, and therefore many scientific fields have dealt with complex systems and phenomena. Indeed, some would say that only what is somehow complex – what displays variation without being random – is worthy of interest. The use of the term complex is often confused with the term complicated. In today’s systems, this is the difference between a myriad of connecting “stovepipes” and effective “integrated” solutions. [1] This means that complex is the opposite of independent, while complicated is the opposite of simple. While this has led some fields to come up with specific definitions of complexity, there is a more recent movement to regroup observations from different fields to study complexity in itself, whether it appears in anthills, human brains, or stock markets. Complexity topicsComplex behaviourThe behaviour of a complex system is often said to be due to emergence and self-organization. Chaos theory has investigated the sensitivity of systems to variations in initial conditions as one cause of complex behaviour. One of the main claims in Stephen Wolfram's book A New Kind of Science is that such behaviour can be generated by simple systems, such as the rule 110 cellular automaton. Complex mechanismsRecent developments around artificial life, evolutionary computation and genetic algorithms have led to an increasing emphasis on complexity and complex adaptive systems. Complex simulationsIn social science, the study on the emergence of macro-properties from the micro-properties, also known as macro-micro view in sociology. The topic is commonly recognized as social complexity that is often related to the use of computer simulation in social science, i.e.: computational sociology. Complex systemsMain article: Complex system
Complexity in dataIn information theory, algorithmic information theory is concerned with the complexity of strings of data. Complex strings are harder to compress. While intuition tells us that this may depend on the codec used to compress a string (a codec could be theoretically created in any arbitrary language, including one in which the very small command "X" could cause the computer to output a very complicated string like '18995316'"), any two Turing-complete languages can be implemented in each other, meaning that the length of two encodings in different languages will vary by at most the length of the "translation" language - which will end up being negligible for sufficiently large data strings. These algorithmic measures of complexity tend to assign high values to random noise. However, those studying complex systems would not consider randomness as complexity. Information entropy is also sometimes used in information theory as indicative of complexity. Applications of complexityComputational complexity theory is the study of the complexity of problems - that is, the difficulty of solving them. Problems can be classified by complexity class according to the time it takes for an algorithm - usually a computer program - to solve them as a function of the problem size. Some problems are difficult to solve, while others are easy. For example, some difficult problems need algorithms that take an exponential amount of time in terms of the size of the problem to solve. Take the travelling salesman problem, for example. It can be solved in time O(cn) (where n is the size of the network to visit - let's say the number of cities the travelling salesman must visit exactly once, and cn the exponent in terms of n). If the network of cities grows by 1, the time needed to solve the problem - that is, construct the shortest route that visits every city exactly once - is multiplied by a factor of c, hence the time needed to find the route grows exponentially. Even though a problem may be computationally solvable in principle, in actual practice it may not be that simple. These problems might require large amounts of time or an inordinate amount of space. Computational complexity may be approached from many different aspects. Computational complexity can be investigated on the basis of time, memory or other resources used to solve the problem. Time and space are two of the most important and popular considerations when problems of complexity are analyzed. There exist a certain class of problems that although they are solvable in principle they require so much time or space that it is not practical to attempt to solve them. These problems are called intractable. There is another form of complexity called hierarchical complexity. It is orthogonal to the forms of complexity discussed so far, which are called horizontal complexity See also
References
Further reading
External links
|



