Black Box

Black Box
In science, computing, and engineering, a black box is a system which can be viewed in terms of its inputs and outputs (or transfer characteristics), without any knowledge of its internal workings. Its implementation is "opaque" (black). The term can be used to refer to many inner workings, such as the ones of a transistor, an engine, an algorithm, the human brain, or an institution or government.
To analyze an open system with a typical "black box approach", only the behavior of the stimulus/response will be accounted for, to infer the (unknown) box. The usual representation of this black box system is a data flow diagram centered in the box.
The opposite of a black box is a system where the inner components or logic are available for inspection, which is most commonly referred to as a white box (sometimes also known as a "clear box" or a "glass box").
System theory
In systems theory, the black box is an abstraction representing a class of concrete open system which can be viewed solely in terms of its stimuli inputs and output reactions:
The constitution and structure of the box are altogether irrelevant to the approach under consideration, which is purely external or phenomenological. In other words, only the behavior of the system will be accounted for.
The understanding of a black box is based on the "explanatory principle", the hypothesis of a causal relation between the input and the output. This principle states that input and output are distinct, that the system has observable (and relatable) inputs and outputs and that the system is black to the observer (non-openable).
Other theories
Black box theories are theories defined only in terms of their function. The term black box theory is applied to any field, philosophy and science or otherwise where some inquiry or definition is made into the relations between the appearances of a system (exterior/outside), i.e. here specifically the system's black box state, related to its characteristics and behavior within (interior/inner).
Specifically, the inquiry is focused upon a system that has no immediately apparent characteristics and therefore has only factors for consideration held within itself hidden from immediate observation. The observer is assumed ignorant in the first instance as the majority of available data is held in an inner situation away from facile investigations. The black box element of the definition is shown as being characterized by a system where observable elements enter a perhaps imaginary box with a set of different outputs emerging which are also observable.
Applications
Computing and mathematics
- In computer programming and software engineering, black box testing is used to check that the output of a program is as expected, given certain inputs. The term "black box" is used because the actual program being executed is not examined.
- In computing in general, a black box program is one where the user cannot see the inner workings (perhaps because it is a closed source program) or one which has no side effects and the function of which need not be examined, a routine suitable for re-use.
- Also in computing, a black box refers to a piece of equipment provided by a vendor for the purpose of using that vendor's product. It is often the case that the vendor maintains and supports this equipment, and the company receiving the black box typically is hands-off.
- In mathematical modeling, a limiting case.
Science and technology
- In neural networking or heuristic algorithms (computer terms generally used to describe 'learning' computers or 'AI simulations'), a black box is used to describe the constantly changing section of the program environment which cannot easily be tested by the programmers. This is also called a white box in the context that the program code can be seen, but the code is so complex that it is functionally equivalent to a black box.
- In physics, a black box is a system whose internal structure is unknown, or need not be considered for a particular purpose.
In cryptography to capture the notion of knowledge obtained by an algorithm through the execution of a cryptographic protocol such as a zero-knowledge proof protocol. If the output of an algorithm when interacting with the protocol matches that of a simulator given some inputs, it only needs to know the inputs.