Nested functionIn computer programming, a nested function (or nested procedure or subroutine) is a function which is defined within another function, the enclosing function. Due to simple recursive scope rules, a nested function is itself invisible outside of its immediately enclosing function, but can see (access) all local objects (data, functions, types, etc.) of its immediately enclosing function as well as of any function(s) which, in turn, encloses that function.
Control systemA control system manages, commands, directs, or regulates the behavior of other devices or systems using control loops. It can range from a single home heating controller using a thermostat controlling a domestic boiler to large industrial control systems which are used for controlling processes or machines. The control systems are designed via control engineering process. For continuously modulated control, a feedback controller is used to automatically control a process or operation.
ScarcityIn economics, scarcity "refers to the basic fact of life that there exists only a finite amount of human and nonhuman resources which the best technical knowledge is capable of using to produce only limited maximum amounts of each economic good." If the conditions of scarcity didn't exist and an "infinite amount of every good could be produced or human wants fully satisfied ... there would be no economic goods, i.e. goods that are relatively scarce..." Scarcity is the limited availability of a commodity, which may be in demand in the market or by the commons.
Constrained optimizationIn mathematical optimization, constrained optimization (in some contexts called constraint optimization) is the process of optimizing an objective function with respect to some variables in the presence of constraints on those variables. The objective function is either a cost function or energy function, which is to be minimized, or a reward function or utility function, which is to be maximized.
Scheme (programming language)Scheme is a dialect of the Lisp family of programming languages. Scheme was created during the 1970s at the MIT Computer Science and Artificial Intelligence Laboratory (MIT AI Lab) and released by its developers, Guy L. Steele and Gerald Jay Sussman, via a series of memos now known as the Lambda Papers. It was the first dialect of Lisp to choose lexical scope and the first to require implementations to perform tail-call optimization, giving stronger support for functional programming and associated techniques such as recursive algorithms.
Artificial scarcityArtificial scarcity is scarcity of items despite the technology for production or the sufficient capacity for sharing. The most common causes are monopoly pricing structures, such as those enabled by laws that restrict competition or by high fixed costs in a particular marketplace. The inefficiency associated with artificial scarcity is formally known as a deadweight loss. In a capitalist system, an enterprise is judged to be successful and efficient if it is profitable.
StructureA structure is an arrangement and organization of interrelated elements in a material object or system, or the object or system so organized. Material structures include man-made objects such as buildings and machines and natural objects such as biological organisms, minerals and chemicals. Abstract structures include data structures in computer science and musical form. Types of structure include a hierarchy (a cascade of one-to-many relationships), a network featuring many-to-many links, or a lattice featuring connections between components that are neighbors in space.
Multi-objective optimizationMulti-objective optimization or Pareto optimization (also known as multi-objective programming, vector optimization, multicriteria optimization, or multiattribute optimization) is an area of multiple-criteria decision making that is concerned with mathematical optimization problems involving more than one objective function to be optimized simultaneously. Multi-objective is a type of vector optimization that has been applied in many fields of science, including engineering, economics and logistics where optimal decisions need to be taken in the presence of trade-offs between two or more conflicting objectives.
Mathematical optimizationMathematical optimization (alternatively spelled optimisation) or mathematical programming is the selection of a best element, with regard to some criterion, from some set of available alternatives. It is generally divided into two subfields: discrete optimization and continuous optimization. Optimization problems arise in all quantitative disciplines from computer science and engineering to operations research and economics, and the development of solution methods has been of interest in mathematics for centuries.
Oil depletionOil depletion is the decline in oil production of a well, oil field, or geographic area. The Hubbert peak theory makes predictions of production rates based on prior discovery rates and anticipated production rates. Hubbert curves predict that the production curves of non-renewing resources approximate a bell curve. Thus, according to this theory, when the peak of production is passed, production rates enter an irreversible decline.
Embodied energyEmbodied energy is the sum of all the energy required to produce any goods or services, considered as if that energy was incorporated or 'embodied' in the product itself. The concept can be useful in determining the effectiveness of energy-producing or energy saving devices, or the "real" replacement cost of a building, and, because energy-inputs usually entail greenhouse gas emissions, in deciding whether a product contributes to or mitigates global warming.
Reduced instruction set computerIn computer engineering, a reduced instruction set computer (RISC) is a computer architecture designed to simplify the individual instructions given to the computer to accomplish tasks. Compared to the instructions given to a complex instruction set computer (CISC), a RISC computer might require more instructions (more code) in order to accomplish a task because the individual instructions are written in simpler code.