Help

Pattern

warning: Creating default object from empty value in /var/www/vhosts/sayforward.com/subdomains/recorder/httpdocs/modules/taxonomy/taxonomy.pages.inc on line 33.

Nanosecond Trading Could Make Markets Go Haywire

From this analysis emerged records of 18,520 sub-950-millisecond crashes and spikes — far more than they, and perhaps almost anyone, expected. Equally as striking as these events’ frequency was their arrangement: While market behavior tends to rise and fall in patterns that repeat themselves, fractal-style, in periods of days, weeks, months and years, “that only holds down to the time scale at which human stop being able to respond,” said Johnson. “The fractal gets broken.”

Fractal - Wikipedia

A fractal is a mathematical set that has a fractal dimension that usually exceeds its topological dimension[1] and may fall between the integers.[2]. Fractals are typically self-similar patterns, where self-similar means they are "the same from near as from far"[3] Fractals may be exactly the same at every scale, or as illustrated in Figure 1, they may be nearly the same at different scales.[4][5][2][6] The definition of fractal goes beyond self-similarity per se to exclude trivial self-similarity and include the idea of a detailed pattern repeating itself.[2]:166; 18[4][7]

As mathematical equations, fractals are usually nowhere differentiable, which means that they cannot be measured in traditional ways.[6][2][8] An infinite fractal curve can be perceived of as winding through space differently from an ordinary line, still being a 1-dimensional line yet having a fractal dimension indicating it also resembles a surface. [2]:15[1]:48

The mathematical roots of the idea of fractals have been traced through a formal path of published works, starting in the 17th century with notions of recursion, then moving through increasingly rigorous mathematical treatment of the concept to the study of continuous but not differentiable functions in the 19th century, and on to the coining of the word fractal in the 20th century with a subsequent burgeoning of interest in fractals and computer-based modelling in the 21st century.[9][10] The term "fractal" was first used by mathematician Benoît Mandelbrot in 1975. Mandelbrot based it on the Latin frāctus meaning "broken" or "fractured", and used it to extend the concept of theoretical fractional dimensions to geometric patterns in nature.[2]:405[7]

There is some disagreement amongst authorities about how the concept of a fractal should be formally defined. The general consensus is that theoretical fractals are infinitely self-similar, iterated, and detailed mathematical constructs having fractal dimensions, of which many examples have been formulated and studied in great depth[2][4][5]. Fractals are not limited to geometric patterns, but can also describe processes in time.[6][11][3] Fractal patterns with various degrees of self-similarity have been rendered or studied in images, structures and sounds[12] and found in nature[13][14][15][16][17], technology[18][19][20][21], and art[22][23][24].

Introduction

The word "fractal" often has different connotations for laypeople than mathematicians, where the layperson is more likely to be familiar with fractal art than a mathematical conception. The mathematical concept is difficult to formally define even for mathematicians, but key features can be understood with little mathematical background.

The feature of "self-similarity", for instance, is easily understood by analogy to zooming in with a lens or other device that zooms in on digital images to uncover finer, previously invisible, new structure. If this is done on fractals, however, no new detail appears; nothing changes and the same pattern repeats over and over, or for some fractals, nearly the same pattern reappears over and over. Self-similarity itself is not necessarily counter-intuitive (e.g., people have pondered self-similarity informally such as in the infinite regress in parallel mirrors or the homunculus, the little man inside the head of the little man inside the head...). The difference for fractals is that the pattern reproduced must be detailed.[2]:166; 18[4][7]

This idea of being detailed relates to another feature that can be understood without mathematical background: Having a fractional or fractal dimension greater than its topological dimension, for instance, refers to how a fractal scales compared to how geometric shapes are usually perceived. A regular line, for instance, is conventionally understood to be 1-dimensional; if such a curve is divided into pieces each 1/3 the length of the original, there are always 3 equal pieces. In contrast, consider the curve in Figure 2. It is also 1-dimensional for the same reason as the ordinary line, but it has, in addition, a fractal dimension greater than 1 because of how its detail can be measured. The fractal curve divided into parts 1/3 the length of the original line becomes 4 pieces rearranged to repeat the original detail, and this unusual relationship is the basis of its fractal dimension.

This also leads to understanding a third feature, that fractals as mathematical equations are "nowhere differentiable". In a concrete sense, this means fractals cannot be measured in traditional ways.[6][2][8] To elaborate, in trying to find the length of a wavy non-fractal curve, one could find straight segments of some measuring tool small enough to lay end to end over the waves, where the pieces could get small enough to be considered to conform to the curve in the normal manner of measuring with a tape measure. But in measuring a wavy fractal curve such as the one in Figure 2, one would never find a small enough straight segment to conform to the curve, because the wavy pattern would always re-appear, albeit at a smaller size, essentially pulling a little more of the tape measure into the total length measured each time one attempted to fit it tighter and tighter to the curve. This is perhaps counter-intuitive, but it is how fractals behave.[2]

History

Figure 2. Koch snowflake, a fractal that begins with an equilateral triangle and then replaces the middle third of every line segment with a pair of line segments that form an equilateral "bump"

The history of fractals traces a path from chiefly theoretical studies to modern applications in computer graphics, with several notable people contributing canonical fractal forms along the way.[9][10] According to Pickover, the mathematics behind fractals began to take shape in the 17th century when the mathematician and philosopher Gottfried Leibniz pondered recursive self-similarity (although he made the mistake of thinking that only the straight line was self-similar in this sense).[25] In his writings, Leibnitz used the term "fractional exponents", but lamented that "Geometry" did not yet know of them[2]:405. Indeed, according to various historical accounts, after that point few mathematicians tackled the issues and the work of those who did remained obscured largely because of resistance to such unfamiliar emerging concepts, which were sometimes referred to as mathematical "monsters".[10][9][8] Thus, it was not until two centuries had passed that in 1872 Karl Weierstrass presented the first definition of a function with a graph that would today be considered fractal, having the non-intuitive property of being everywhere continuous but nowhere differentiable.[9]:7[10] Not long after that, in 1883, Georg Cantor, who attended lectures by Weierstrass[10], published examples of subsets of the real line known as Cantor sets, which had unusual properties and are now recognized as fractals.[9]:11-24 Also in the last part of that century, Felix Klein and Henri Poincaré introduced a category of fractal that has come to be called "self-inverse" fractals.[2]:166

One of the next milestones came in 1904, when Helge von Koch, extending ideas of Poincaré and dissatisfied with Weierstrass's abstract and analytic definition, gave a more geometric definition including hand drawn images of a similar function, which is now called the Koch curve (see Figure 2)[9]:25[10]. Another milestone came a decade later in 1915, when Wacław Sierpiński constructed his famous triangle then, one year later, his carpet. By 1918, two french mathematicians, Pierre Fatou and Gaston Julia, though working independently, arrived essentially simultaneously at results describing what are now seen as fractal behaviour associated with mapping complex numbers and iterative functions and leading to further ideas about attractors and repellors (i.e., points that attract or repel other points), which have become very important in the study of fractals (see Figure 3 and Figure 4).[10][9][6] Very shortly after that work was submitted, by March of 1918, Felix Hausdorff expanded the definition of "dimension", significantly for the evolution of the definition of fractals, to allow for sets to have noninteger dimensions.[10] The idea of self-similar curves was taken further by Paul Pierre Lévy, who, in his 1938 paper Plane or Space Curves and Surfaces Consisting of Parts Similar to the Whole described a new fractal curve, the Lévy C curve.[notes 1]

Different researchers have postulated that without the aid of modern computer graphics, early investigators were limited to what they could depict in manual drawings, so lacked the means to visualize the beauty and appreciate some of the implications of many of the patterns they had discovered (the Julia set, for instance, could only be visualized through a few iterations as very simple drawings hardly resembling the image in Figure 3).[2]:179[8][10] That changed, however, in the 1960s, when Benoît Mandelbrot started writing about self-similarity in papers such as How Long Is the Coast of Britain? Statistical Self-Similarity and Fractional Dimension,[26] which built on earlier work by Lewis Fry Richardson. In 1975[7] Mandelbrot solidified hundreds of years of thought and mathematical development in coining the word "fractal" and illustrated his mathematical definition with striking computer-constructed visualizations. These images, such as of his canonical Mandelbrot set pictured in Figure 1 captured the popular imagination; many of them were based on recursion, leading to the popular meaning of the term "fractal".[27] Currently, fractal studies are essentially exclusively computer-based.[25][9][8]

Figure 4. A strange attractor that exhibits multifractal scaling

Characteristics

One often cited description that Mandelbrot published to describe geometric fractals is "a rough or fragmented geometric shape that can be split into parts, each of which is (at least approximately) a reduced-size copy of the whole"[2]; this is generally helpful but limited. Authorities disagree on the exact definition of fractal, but most usually elaborate on the basic ideas of self-similarity and an unusual relationship with the space a fractal is embedded in.[2][6][28] [4][3] One point agreed on is that fractal patterns are characterized by fractal dimensions, but whereas these numbers quantify complexity (i.e., changing detail with changing scale), they neither uniquely describe nor specify details of how to construct particular fractal patterns.[29] In 1975 when Mandelbrot coined the word "fractal", he did so to denote an object whose Hausdorff–Besicovitch dimension is greater than its topological dimension[7]. It has been noted that this dimensional requirement is not met by fractal space-filling curves such as the Hilbert curve.[notes 2]

According to Falconer, rather than being strictly defined, fractals should, in addition to being differentiable and able to have a fractal dimension, be generally characterized by a gestalt of the following features[4]:

• Self-similarity, which may be manifested as:
• Exact self-similarity: identical at all scales; e.g. Koch snowflake
• Quasi self-similarity: approximates the same pattern at different scales; may contain small copies of the entire fractal in distorted and degenerate forms; e.g., the Mandelbrot set's satellites are approximations of the entire set, but not exact copies, as shown in Figure 1
• Statistical self-similarity: repeats a pattern stochastically so numerical or statistical measures are preserved across scales; e.g., randomly generated fractals; the well-known example of the coastline of Britain, for which one would not expect to find a segment scaled and repeated as neatly as the repeated unit that defines, for example, the Koch snowflake[6]
• Qualitative self-similarity: as in a time series[11]
• Multifractal scaling: characterized by more than one fractal dimension or scaling rule
• Fine or detailed structure at arbitrarily small scales. A consequence of this structure is fractals may have emergent properties[30] (related to the next criterion in this list).
• Irregularity locally and globally that is not easily described in traditional Euclidean geometric language. For images of fractal patterns, this has been expressed by phrases such as "smoothly piling up surfaces" and "swirls upon swirls"[1].

As a group, these criteria form guidelines for excluding certain cases, such as those that may be self-similar without having other typically fractal features. A straight line, for instance, is self-similar but not fractal because it lacks detail, is easily described in Euclidean language, has the same Hausdorff dimension as topological dimension, and is fully defined without a need for recursion.[6][2]

Common techniques for generating fractals

Figure 5. Self-similar branching pattern modeled in silico using L-systems principles[17]

• Strange attractors – use iterations of a map or solutions of a system of initial-value differential equations that exhibit chaos (e.g., see multifractal image)

Simulated fractals

Fractal patterns have been modeled extensively, albeit within a range of scales rather than infinitely, owing to the practical limits of physical time and space. Models may simulate theoretical fractals or natural phenomena with fractal features. The outputs of the modelling process may be highly artistic renderings, outputs for investigation, or benchmarks for fractal analysis. Some specific applications of fractals to technology are listed elsewhere. Images and other outputs of modelling are normally referred to as being "fractals" even if they do not have strictly fractal characteristics, such as when it is possible to zoom into a region of the fractal image that does not exhibit any fractal properties. Also, these may include calculation or display artifacts which are not characteristics of true fractals.

Modeled fractals may be sounds[12], digital images, electrochemical patterns, circadian rhythms[33], etc. Fractal patterns have been reconstructed in physical 3-dimensional space[20]:10 and virtually, often called "in silico" modeling[32]. Models of fractals are generally created using fractal-generating software that implements techniques such as those outlined above.[20][6][11] As one illustration, trees, ferns, cells of the nervous system[17], blood and lung vasculature,[32] and other branching patterns in nature can be modeled on a computer by using recursive algorithms and L-systems techniques[17]. The recursive nature of some patterns is obvious in certain examples—a branch from a tree or a frond from a fern is a miniature replica of the whole: not identical, but similar in nature. Similarly, random fractals have been used to describe/create many highly irregular real-world objects. A limitation of modeling fractals is that resemblance of a fractal model to a natural phenomenon does not prove that the phenomenon being modeled is formed by a process similar to the modeling algorithm.

Natural phenomena with fractal features

Approximate fractals found in nature display self-similarity over extended, but finite, scale ranges. The connection between fractals and leaves, for instance, is currently being used to determine how much carbon is contained in trees.[34]

Examples of phenomena known or anticipated to have fractal features are listed below:

• coastlines
• snow flakes
• various vegetables (cauliflower and broccoli)
• animal coloration patterns.
• heart rates[13]
• heartbeat[14]

In creative works

A fractal that models the surface of a mountain (animation)
Further information: Fractal art

Fractal patterns have been found in the paintings of American artist Jackson Pollock. While Pollock's paintings appear to be composed of chaotic dripping and splattering, computer analysis has found fractal patterns in his work.[24]

Decalcomania, a technique used by artists such as Max Ernst, can produce fractal-like patterns.[39] It involves pressing paint between two surfaces and pulling them apart.

Cyberneticist Ron Eglash has suggested that fractal-like structures are prevalent in African art and architecture. Circular houses appear in circles of circles, rectangular houses in rectangles of rectangles, and so on. Such scaling patterns can also be found in African textiles, sculpture, and even cornrow hairstyles.[23][40]

In a 1996 interview with Michael Silverblatt, David Foster Wallace admitted that the structure of the first draft of Infinite Jest he gave to his editor Michael Pietsch was inspired by fractals, specifically the Sierpinski triangle (aka Sierpinski gasket) but that the edited novel is "more like a lopsided Sierpinsky Gasket".[22]

Applications in technology

Main article: Fractal analysis

Fractal-generating programs

There are many fractal generating programs available, both free and commercial. Some of the fractal generating programs include:

Most of the above programs make two-dimensional fractals, with a few creating three-dimensional fractal objects, such as a Quaternion. A specific type of three-dimensional fractal, called mandelbulbs, was introduced in 2009.

Anti-pattern - Wikipedia, the free encyclopedia

Organizational anti-patterns

• Analysis paralysis: Devoting disproportionate effort to the analysis phase of a project
• Cash cow: A profitable legacy product that often leads to complacency about new products
• Design by committee: The result of having many contributors to a design, but no unifying vision
• Escalation of commitment: Failing to revoke a decision when it proves wrong
• Management by perkele: Authoritarian style of management with no tolerance of dissent
• Management by objectives: Management by numbers, focus exclusively on quantitative management criteria, when these are non-essential or cost too much to acquire.
• Moral hazard: Insulating a decision-maker from the consequences of his or her decision
• Mushroom management: Keeping employees uninformed and misinformed; employees are described as being kept in the dark and fed manure, left to stew, and finally canned.
• Stovepipe or Silos: A structure that supports mostly up-down flow of data but inhibits cross organizational communication
• Vendor lock-in: Making a system excessively dependent on an externally supplied component[4]

Project management anti-patterns

• Avalanche: An inappropriate mashup of the Waterfall model and Agile Development techniques
• Death march: Everyone knows that the project is going to be a disaster – except the CEO – so the truth is hidden to prevent immediate cancellation of the project - (although the CEO often knows and does it anyway to maximize profit). However, the truth remains hidden and the project is artificially kept alive until the Day Zero finally comes ("Big Bang"). Alternative definition: Employees are pressured to work late nights and weekends on a project with an unreasonable deadline.
• Groupthink: During groupthink, members of the group avoid promoting viewpoints outside the comfort zone of consensus thinking
• Overengineering: Spending resources making a project more robust and complex than is needed
• Smoke and mirrors: Demonstrating unimplemented functions as if they were already implemented
• Software bloat: Allowing successive versions of a system to demand ever more resources
• Waterfall model: An older method of software development that inadequately deals with unanticipated change

Analysis anti-patterns

• Bystander apathy: When a requirement or design decision is wrong, but the people who notice this do nothing because it affects a larger number of people

Software design anti-patterns

Object-oriented design anti-patterns

• Anemic Domain Model: The use of domain model without any business logic. The domain model's objects cannot guarantee their correctness at any moment, because their validation and mutation logic is placed somewhere outside (most likely in multiple places).
• BaseBean: Inheriting functionality from a utility class rather than delegating to it
• Call super: Requiring subclasses to call a superclass's overridden method
• Circle-ellipse problem: Subtyping variable-types on the basis of value-subtypes
• Circular dependency: Introducing unnecessary direct or indirect mutual dependencies between objects or software modules
• Constant interface: Using interfaces to define constants
• God object: Concentrating too many functions in a single part of the design (class)
• Object cesspool: Reusing objects whose state does not conform to the (possibly implicit) contract for re-use
• Object orgy: Failing to properly encapsulate objects permitting unrestricted access to their internals
• Poltergeists: Objects whose sole purpose is to pass information to another object
• Sequential coupling: A class that requires its methods to be called in a particular order
• Yo-yo problem: A structure (e.g., of inheritance) that is hard to understand due to excessive fragmentation

Programming anti-patterns

• Accidental complexity: Introducing unnecessary complexity into a solution
• Action at a distance: Unexpected interaction between widely separated parts of a system
• Blind faith: Lack of checking of (a) the correctness of a bug fix or (b) the result of a subroutine
• Boat anchor: Retaining a part of a system that no longer has any use
• Busy waiting: Consuming CPU while waiting for something to happen, usually by repeated checking instead of messaging
• Caching failure: Forgetting to reset an error flag when an error has been corrected
• Cargo cult programming: Using patterns and methods without understanding why
• Coding by exception: Adding new code to handle each special case as it is recognized
• Error hiding: Catching an error message before it can be shown to the user and either showing nothing or showing a meaningless message
• Hard code: Embedding assumptions about the environment of a system in its implementation
• Lava flow: Retaining undesirable (redundant or low-quality) code because removing it is too expensive or has unpredictable consequences[5][6]
• Loop-switch sequence: Encoding a set of sequential steps using a switch within a loop statement
• Magic numbers: Including unexplained numbers in algorithms
• Magic strings: Including literal strings in code, for comparisons, as event types etc.
• Repeating yourself: Writing code which contains repetitive patterns and substrings over again; avoid with once and only once (abstraction principle)
• Soft code: Storing business logic in configuration files rather than source code[7]
• Spaghetti code: Programs whose structure is barely comprehensible, especially because of misuse of code structures
• Shotgun surgery: Developer adds features to an application codebase which span a multiplicity of implementors or implementations in a single change.