Mean-field game theory

Mean-field game theory is the study of strategic decision making by small interacting agents in very large populations. It lies at the intersection of game theory with stochastic analysis and control theory. The use of the term "mean field" is inspired by mean-field theory in physics, which considers the behavior of systems of large numbers of particles where individual particles have negligible impacts upon the system. In other words, each agent acts according to his minimization or maximization problem taking into account other agents’ decisions and because their population is large we can assume the number of agents goes to infinity and a representative agent exists.
In traditional game theory, the subject of study is usually a game with two players and discrete time space, and extends the results to more complex situations by induction. However, for games in continuous time with continuous states (differential games or stochastic differential games) this strategy cannot be used because of the complexity that the dynamic interactions generate. On the other hand with MFGs we can handle large numbers of players through the mean representative agent and at the same time describe complex state dynamics.
This class of problems was considered in the economics literature by Boyan Jovanovic and Robert W. Rosenthal, in the engineering literature by Minyi Huang, Roland Malhame, and Peter E. Caines and independently and around the same time by mathematicians and Pierre-Louis Lions.
In continuous time a mean-field game is typically composed of a Hamilton–Jacobi–Bellman equation that describes the optimal control problem of an individual and a Fokker–Planck equation that describes the dynamics of the aggregate distribution of agents. Under fairly general assumptions it can be proved that a class of mean-field games is the limit as formula_1 of an "N"-player Nash equilibrium.
A related concept to that of mean-field games is "mean-field-type control". In this case, a social planner controls the distribution of states and chooses a control strategy. The solution to a mean-field-type control problem can typically be expressed as a dual adjoint Hamilton–Jacobi–Bellman equation coupled with Kolmogorov equation. Mean-field-type game theory is the multi-agent generalization of the single-agent mean-field-type control.
General Form of a Mean-field Game.
The following system of equations can be used to model a typical Mean-field game:
formula_2
The basic dynamics of this set of Equations can be explained by an average agent's optimal control problem. In a mean-field game, an average agent can control their movement formula_3 to influence the population's overall location by:
formula_4
where formula_5 is a parameter and formula_6 is a standard Brownian motion. By controlling their movement, the agent aims to minimize their overall expected cost formula_7 throughout the time period formula_8:
formula_9
where formula_10 is the running cost at time formula_11 and formula_12 is the terminal cost at time formula_13. By this definition, at time formula_14 and position formula_15, the value function formula_16 can be determined as:
formula_17
Given the definition of the value function formula_16, it can be tracked by the Hamilton-Jacobi equation (1). The optimal action of the average players formula_19 can be determined as formula_20. As all agents are relatively small and cannot single-handedly change the dynamics of the population, they will individually adapt the optimal control and the population would move in that way. This is similar to a Nash Equilibrium, in which all agents act in response to a specific set of others' strategies. The optimal control solution then leads to the Kolmogorov-Fokker-Planck equation (2).
Finite State Games.
A prominent category of mean field is games with a finite number of states and a finite number of actions per player. For those games, the analog of the Hamilton-Jacobi-Bellman equation is the Bellman equation, and the discrete version of the Fokker-Planck equation is the Kolmogorov equation. Specifically, for discrete-time models, the players' strategy is the Kolmogorov equation's probability matrix. In continuous time models, players have the ability to control the transition rate matrix.
A discrete mean field game can be defined by a tuple formula_21, where formula_22 is the state space, formula_23 the action set, formula_24 the transition rate matrices, formula_25 the initial state, formula_26 the cost functions and formula_27 formula_28 a discount factor. Furthermore, a mixed strategy is a measurable function formula_29, that associates to each state formula_30 and each time formula_31 a probability measure formula_32 on the set of possible actions. Thus formula_33 is the probability that, at time formula_14 a player in state formula_35 takes action formula_36, under strategy formula_37. Additionally, rate matrices formula_38 define the evolution over the time of population distribution, where formula_39 is the population distribution at time formula_14.
Linear-quadratic Gaussian game problem.
From Caines (2009), a relatively simple model of large-scale games is the linear-quadratic Gaussian model. The individual agent's dynamics are modeled as a stochastic differential equation
formula_41
where formula_42 is the state of the formula_35-th agent, formula_44 is the control of the formula_35-th agent, and formula_46 are independent Wiener processes for all formula_47. The individual agent's cost is
formula_48
The coupling between agents occurs in the cost function.
General and Applied Use.
The paradigm of Mean Field Games has become a major connection between distributed decision-making and stochastic modeling. Starting out in the stochastic control literature, it is gaining rapid adoption across a range of applications, including:
a. Financial market
Carmona reviews applications in financial engineering and economics that can be cast and tackled within the framework of the MFG paradigm. Carmona argues that models in macroeconomics, contract theory, finance, …, greatly benefit from the switch to continuous time from the more traditional discrete-time models. He considers only continuous time models in his review chapter, including systemic risk, price impact, optimal execution, models for bank runs, high-frequency trading, and cryptocurrencies.
b. Crowd motions
MFG assumes that individuals are smart players which try to optimize their strategy and path with respect to certain costs (equilibrium with rational expectations approach). MFG models are useful to describe the anticipation phenomenon: the forward part describes the crowd evolution while the backward gives the process of how the anticipations are built. Additionally, compared to multi-agent microscopic model computations, MFG only requires lower computational costs for the macroscopic simulations. Some researchers have turned to MFG in order to model the interaction between populations and study the decision-making process of intelligent agents, including aversion and congestion behavior between two groups of pedestrians, departure time choice of morning commuters, and decision-making processes for autonomous vehicle.
c. Control and mitigation of Epidemics
Since the epidemic has affected society and individuals significantly, MFG and mean-field controls (MFCs) provide a perspective to study and understand the underlying population dynamics, especially in the context of the Covid-19 pandemic response. MFG has been used to extend the SIR-type dynamics with spatial effects or allowing for individuals to choose their behaviors and control their contributions to the spread of the disease. MFC is applied to design the optimal strategy to control the virus spreading within a spatial domain, control individuals’ decisions to limit their social interactions, and support the government’s nonpharmaceutical interventions.


Kite rig

Kite rigs are wind-assisted propulsion systems for propelling a vehicle. They differ from conventional sails in that they are flown from kite control lines, not supported by masts.
Vehicles driven by kites include boats, buggies, and vehicles with snow and ice runners. They may be as simple as a person flying a kite while standing on a specialized skateboard, or be large, complex systems fixed to the vehicle, with powered and automated controls. They have recreational and commercial uses.
Structure.
Current kite rigs can be sailed within 50 degrees of the wind. This allows them to sail upwind by tacking.
A power kite is held at an angle to the wind using control lines. Like any other sail, the kite develops lift and drag, pulling the vessel. The vector of the kite's pull is added to the forces produced by the vessel (water resistance against the hull, force of wheels against the ground, etc.) to move the vessel in the desired direction.
Windspeed increases with height, allowing kites to develop substantially more thrust per unit area than a conventional sail. Winds are also steadier and less turbulent higher up.
Kites may be adjusted with respect to the wind, manually or by an automated system. A kite cannot stay aloft when there is no wind, and must be re-launched.
Applications.
Solo sports.
Kite rigs power a variety of recreational conveyances on water and land. On water, kites are used to power surf-board-like boards in the sport of kitesurfing. Kiteboating is done in boats with kite rigs. On land, kite landboarding derives the same mode of power for skate-board-like boards. Over snow, kites power snowboards or skis in the sport of snowkiting. Traction kites for solosports generally have an area of 1-16 square meters, with anything over ~5 square meters being a big kite that requires expertise.
Ships.
Ship-pulling kites run to hundreds of square meters of area and require a special attachment points, a launch and recovery system, and fly-by-wire controls.
The SkySails propulsion system consists of a large foil kite, an electronic control system for the kite, and an automatic system to retract the kite.
The kite, while 1–2 orders of magnitude larger, bears similarities to the arc kites used in kitesurfing. However, the kite is an inflatable rather than a ram-air kite. Additionally, a control pod is used rather than direct tension on multiple kite control lines; only one line runs the full distance from kite to ship, with the bridle lines running from kite to control pod. Power to the pod is provided by cables embedded in the line; the same line also carries commands to the control pod from the ship.
The kite is launched and recovered by an animated mast or arm, which grips the kite by its leading edge. The mast also inflates and deflates the kite. When not in use, mast and deflated kite fold away.
Use.
A commercial cargo ship, the MS "Beluga Skysails", was built, and launched in 2007, with a kite rig supplementing conventional propulsion. A European Union-funded four-year study of wind propulsion, using the MS "Beluga Skysails", reported that the ship attained 5% fuel savings overall, which translated into of CO2 for a typical year and itinerary. The study concluded that 25,000 similarly equipped ships could reduce fuel consumption by and save of CO2, of NOx. The return on investment for installing a kite sail was estimated to be about two-three years. On her maiden voyage, MS "Beluga Skysails" saved an estimated 10–15% fuel, $1,000 to $1,500 per day, while the kite was in use.
"Maartje Theadora", a large fishing trawler, was retrofitted with a kite rig in 2010.
Companies.
Skysails and KiteShip both made kite rigs.


Qualcomm code-excited linear prediction

Qualcomm code-excited linear prediction (QCELP), also known as Qualcomm PureVoice, is a speech codec developed in 1994 by Qualcomm to increase the speech quality of the IS-96A codec earlier used in CDMA networks. It was later replaced with EVRC since it provides better speech quality with fewer bits. The two versions, "QCELP8" and "QCELP13", operate at 8 and 13 kilobits per second (Kbit/s) respectively.
In CDMA systems, a QCELP vocoder converts a sound signal into a signal transmissible within a circuit. In wired systems, voice signals are generally sampled at 8 kHz (that is, 8,000 sample values per second) and then encoded by 8-bit quantization for each sample value. Such a system transmits at 64 kbit/s, an expensive rate in a wireless system. A QCELP vocoder with variable rates can reduce the rate enough to fit a wireless system by coding the information more efficiently. In particular, it can change its own coding rates based on the speaker's volume or pitch; a louder or higher-pitched voice requires a higher rate.


Web part

A Web Part, also called a Web Widget, is an ASP.NET server control which is added to a Web Part Zone on Web Part Pages by users at run time. The controls enable end users to modify the content, appearance, and behavior of Web pages directly from a browser. It can be put into certain places in a web page by end users, after development by a programmer.
Web Parts can be used as an add-on ASP.NET technology to Windows SharePoint Services.
Web Parts are equivalent to Portlets, but don't necessarily require a web portal such as SharePoint to host them.


Gauss pseudospectral method

The Gauss pseudospectral method (GPM), one of many topics named after Carl Friedrich Gauss, is a direct transcription method for discretizing a continuous optimal control problem into a nonlinear program (NLP). The Gauss pseudospectral method differs from several other pseudospectral methods in that the dynamics are not collocated at either endpoint of the time interval. This collocation, in conjunction with the proper approximation to the costate, leads to a set of KKT conditions that are identical to the discretized form of the first-order optimality conditions. This equivalence between the KKT conditions and the discretized first-order optimality conditions leads to an accurate costate estimate using the KKT multipliers of the NLP.
Description.
The method is based on the theory of orthogonal collocation where the collocation points (i.e., the points at which the optimal control problem is discretized) are the Legendre–Gauss (LG) points. The approach used in the GPM is to use a Lagrange polynomial approximation for the state that includes coefficients for the initial state plus the values of the state at the N LG points. In a somewhat opposite manner, the approximation for the costate (adjoint) is performed using a basis of Lagrange polynomials that includes the final value of the costate plus the costate at the N LG points. These two approximations together lead to the ability to map the KKT multipliers of the nonlinear program (NLP) to the costates of the optimal control problem at the N LG points PLUS the boundary points. The costate mapping theorem that arises from the GPM has been described in several references including two PhD theses and journal articles that include the theory along with applications
Background.
Pseudospectral methods, also known as "orthogonal collocation methods", in optimal control arose from spectral methods which were traditionally used to solve fluid dynamics problems. Seminal work in orthogonal collocation methods for optimal control problems date back to 1979 with the work of Reddien and some of the first work using orthogonal collocation methods in engineering can be found in the chemical engineering literature. More recent work in chemical and aerospace engineering have used collocation at the Legendre–Gauss–Radau (LGR) points. Within the aerospace engineering community, several well-known pseudospectral methods have been developed for solving optimal control problems such as the Chebyshev pseudospectral method (CPM) the Legendre pseudospectral method (LPM) and the Gauss pseudospectral method (GPM). The CPM uses Chebyshev polynomials to approximate the state and control, and performs orthogonal collocation at the Chebyshev–Gauss–Lobatto (CGL) points. An enhancement to the Chebyshev pseudospectral method that uses a Clenshaw–Curtis quadrature was developed. The LPM uses Lagrange polynomials for the approximations, and Legendre–Gauss–Lobatto (LGL) points for the orthogonal collocation. A costate estimation procedure for the Legendre pseudospectral method was also developed. Recent work shows several variants of the standard LPM, The Jacobi pseudospectral method is a more general pseudospectral approach that uses Jacobi polynomials to find the collocation points, of which Legendre polynomials are a subset. Another variant, called the Hermite-LGL method uses piecewise cubic polynomials rather than Lagrange polynomials, and collocates at a subset of the LGL points.


Cuboid (computer vision)

In computer vision, the term cuboid is used to describe a small spatiotemporal volume extracted for purposes of behavior recognition. The cuboid is regarded as a basic geometric primitive type and is used to depict three-dimensional objects within a three dimensional representation of a flat, two dimensional image.
Production.
Cuboids can be produced from both two-dimensional and three-dimensional images.
One method used to produce cuboids utilizes scene understanding (SUN) primitive databases, which are collections of pictures that already contain cuboids. By sorting through SUN primitive databases with machine learning tools, computers observe the conditions in which cuboids are produced in images from SUN primitive databases and can learn to produce cuboids from other images.
RGB-D images, which are RGB images that also record the depth of each pixel, are occasionally used to produce cuboids because computers no longer need to determine the depth of an object, as they typically do because depth is already recorded.
Cuboid production is sensitive to changes in color and illumination, blockage, and background clutter. This means that it is difficult for computers to produce cuboids of objects that are multicolored, irregularly illuminated, or partially covered, or if there are many objects in the background. This is partially due to the fact that algorithms for producing cuboids are still relatively simple.
Usage.
Cuboids are created for point cloud-based three-dimensional maps and can be utilized in various situations such as augmented reality, the automated control of cars, drones, and robots, and object detection.
Cuboids allow for software to identify a scene through geometric descriptions in an “object-agnostic” fashion.
Interest points, locations within images that are identified by a computer as essential to identifying the image, created from two-dimensional images can be used with cuboids for image matching, identifying a room or scene, and instance recognition. Interest points created from three dimensional images can be used with cuboids to recognize activities. This is possible because interest points aid software to focus on only the most important aspects of the images.
RGB-D images and SLAM systems are used together in RGB-D SLAM systems, which are employed by Computer-aided design systems to generate point cloud-based three-dimensional maps.
Most industrial multi-axis machining tools use computer-aided manufacturing and subsequently work in cuboid work spaces.


Cloud manufacturing

Cloud manufacturing (CMfg) is a new manufacturing paradigm developed from existing advanced manufacturing models (e.g., ASP, AM, NM, MGrid) and enterprise information technologies under the support of cloud computing, Internet of Things (IoT), virtualization and service-oriented technologies, and advanced computing technologies. It transforms manufacturing resources and manufacturing capabilities into manufacturing services, which can be managed and operated in an intelligent and unified way to enable the full sharing and circulating of manufacturing resources and manufacturing capabilities. CMfg can provide safe and reliable, high quality, cheap and on-demand manufacturing services for the whole lifecycle of manufacturing. The concept of manufacturing here refers to big manufacturing that includes the whole lifecycle of a product (e.g. design, simulation, production, test, maintenance).
The concept of Cloud manufacturing was initially proposed by the research group led by Prof. Bo Hu Li and Prof. Lin Zhang in China in 2009.
 Related discussions and research were conducted hereafter, and some similar definitions (e.g. Cloud-Based Design and Manufacturing (CBDM).
) to cloud manufacturing were introduced.
Cloud manufacturing is a type of parallel, networked, and distributed system consisting of an integrated and inter-connected virtualized service pool (manufacturing cloud) of manufacturing resources and capabilities as well as capabilities of intelligent management and on-demand use of services to provide solutions for all kinds of users involved in the whole lifecycle of manufacturing.
Types.
Cloud Manufacturing can be divided into two categories.
In CMfg system, various manufacturing resources and abilities can be intelligently sensed and connected into wider Internet, and automatically managed and controlled using IoT technologies (e.g., RFID, wired and wireless sensor network, embedded system). Then the manufacturing resources and abilities are virtualized and encapsulated into different manufacturing cloud services (MCSs), that can be accessed, invoked, and deployed based on knowledge by using virtualization technologies, service-oriented technologies, and cloud computing technologies. The MCSs are classified and aggregated according to specific rules and algorithms, and different kinds of manufacturing clouds are constructed. Different users can search and invoke the qualified MCSs from related manufacturing cloud according to their needs, and assemble them to be a virtual manufacturing environment or solution to complete their manufacturing task involved in the whole life cycle of manufacturing processes under the support of cloud computing, service-oriented technologies, and advanced computing technologies.
Four types of cloud deployment modes (public, private, community and hybrid clouds) are ubiquitous as a single point of access.
Resources.
From the resource’s perspective, each kind of manufacturing capability requires support from the related manufacturing resource. For each type of manufacturing capability, its related manufacturing resource comes in two forms, soft resources and hard resources.


False nearest neighbor algorithm

Within abstract algebra, the false nearest neighbor algorithm is an algorithm for estimating the embedding dimension. The concept was proposed by Kennel et al. (1992). The main idea is to examine how the number of neighbors of a point along a signal trajectory change with increasing embedding dimension. In too low an embedding dimension, many of the neighbors will be false, but in an appropriate embedding dimension or higher, the neighbors are real. With increasing dimension, the false neighbors will no longer be neighbors. Therefore, by examining how the number of neighbors change as a function of dimension, an appropriate embedding can be determined.


Manifold regularization

In machine learning, Manifold regularization is a technique for using the shape of a dataset to constrain the functions that should be learned on that dataset. In many machine learning problems, the data to be learned do not cover the entire input space. For example, a facial recognition system may not need to classify any possible image, but only the subset of images that contain faces. The technique of manifold learning assumes that the relevant subset of data comes from a manifold, a mathematical structure with useful properties. The technique also assumes that the function to be learned is "smooth": data with different labels are not likely to be close together, and so the labeling function should not change quickly in areas where there are likely to be many data points. Because of this assumption, a manifold regularization algorithm can use unlabeled data to inform where the learned function is allowed to change quickly and where it is not, using an extension of the technique of Tikhonov regularization. Manifold regularization algorithms can extend supervised learning algorithms in semi-supervised learning and transductive learning settings, where unlabeled data are available. The technique has been used for applications including medical imaging, geographical imaging, and object recognition.
Manifold regularizer.
Motivation.
Manifold regularization is a type of regularization, a family of techniques that reduces overfitting and ensures that a problem is well-posed by penalizing complex solutions. In particular, manifold regularization extends the technique of Tikhonov regularization as applied to Reproducing kernel Hilbert spaces (RKHSs). Under standard Tikhonov regularization on RKHSs, a learning algorithm attempts to learn a function formula_1 from among a hypothesis space of functions formula_2. The hypothesis space is an RKHS, meaning that it is associated with a kernel formula_3, and so every candidate function formula_1 has a norm formula_5, which represents the complexity of the candidate function in the hypothesis space. When the algorithm considers a candidate function, it takes its norm into account in order to penalize complex functions.
Formally, given a set of labeled training data formula_6 with formula_7 and a loss function formula_8, a learning algorithm using Tikhonov regularization will attempt to solve the expression
where formula_10 is a hyperparameter that controls how much the algorithm will prefer simpler functions over functions that fit the data better.
Manifold regularization adds a second regularization term, the "intrinsic regularizer", to the "ambient regularizer" used in standard Tikhonov regularization. Under the manifold assumption in machine learning, the data in question do not come from the entire input space formula_11, but instead from a nonlinear manifold formula_12. The geometry of this manifold, the intrinsic space, is used to determine the regularization norm.
Laplacian norm.
There are many possible choices for the intrinsic regularizer formula_13. Many natural choices involve the gradient on the manifold formula_14, which can provide a measure of how smooth a target function is. A smooth function should change slowly where the input data are dense; that is, the gradient formula_15 should be small where the "marginal probability density" formula_16, the probability density of a randomly drawn data point appearing at formula_17, is large. This gives one appropriate choice for the intrinsic regularizer:
In practice, this norm cannot be computed directly because the marginal distribution formula_19 is unknown, but it can be estimated from the provided data.
Graph-based approach of the Laplacian norm.
When the distances between input points are interpreted as a graph, then the Laplacian matrix of the graph can help to estimate the marginal distribution. Suppose that the input data include formula_20 labeled examples (pairs of an input formula_17 and a label formula_22) and formula_23 unlabeled examples (inputs without associated labels). Define formula_24 to be a matrix of edge weights for a graph, where formula_25 is a distance measure between the data points formula_26 and formula_27. Define formula_28 to be a diagonal matrix with formula_29 and formula_30 to be the Laplacian matrix formula_31. Then, as the number of data points formula_32 increases, formula_30 converges to the Laplace–Beltrami operator formula_34, which is the divergence of the gradient formula_35. Then, if formula_36 is a vector of the values of formula_1 at the data, formula_38, the intrinsic norm can be estimated:
As the number of data points formula_32 increases, this empirical definition of formula_41 converges to the definition when formula_19 is known.
Solving the regularization problem with graph-based approach.
Using the weights formula_43 and formula_44 for the ambient and intrinsic regularizers, the final expression to be solved becomes:
As with other kernel methods, formula_2 may be an infinite-dimensional space, so if the regularization expression cannot be solved explicitly, it is impossible to search the entire space for a solution. Instead, a representer theorem shows that under certain conditions on the choice of the norm formula_13, the optimal solution formula_48 must be a linear combination of the kernel centered at each of the input points: for some weights formula_49,
Using this result, it is possible to search for the optimal solution formula_48 by searching the finite-dimensional space defined by the possible choices of formula_49.
Functional approach of the Laplacian norm.
The idea beyond graph-Laplacian is to use neighbors to estimate Laplacian.
This method is akin local averaging methods, that are known to scale poorly in high-dimensional problem.
Indeed, graph Laplacian is known to suffer from the curse of dimensionality.
Luckily, it is possible to leverage expected smoothness of the function to estimate thanks to more advanced functional analysis.
This method consists in estimating the Laplacian operator thanks to derivatives of the kernel reading formula_53 where formula_54 denotes the partial derivatives according to the "j"-th coordinate of the first variable.
This second approach of the Laplacian norm is to put in relation with meshfree methods, that contrast with the finite difference method in PDE.
Applications.
Manifold regularization can extend a variety of algorithms that can be expressed using Tikhonov regularization, by choosing an appropriate loss function formula_8 and hypothesis space formula_2. Two commonly used examples are the families of support vector machines and regularized least squares algorithms. (Regularized least squares includes the ridge regression algorithm; the related algorithms of LASSO and elastic net regularization can be expressed as support vector machines.) The extended versions of these algorithms are called Laplacian Regularized Least Squares (abbreviated LapRLS) and Laplacian Support Vector Machines (LapSVM), respectively.
Laplacian Regularized Least Squares (LapRLS).
Regularized least squares (RLS) is a family of regression algorithms: algorithms that predict a value formula_57 for its inputs formula_17, with the goal that the predicted values should be close to the true labels for the data. In particular, RLS is designed to minimize the mean squared error between the predicted values and the true labels, subject to regularization. Ridge regression is one form of RLS; in general, RLS is the same as ridge regression combined with the kernel method. The problem statement for RLS results from choosing the loss function formula_8 in Tikhonov regularization to be the mean squared error:
Thanks to the representer theorem, the solution can be written as a weighted sum of the kernel evaluated at the data points:
and solving for formula_62 gives:
where formula_3 is defined to be the kernel matrix, with formula_65, and formula_66 is the vector of data labels.
Adding a Laplacian term for manifold regularization gives the Laplacian RLS statement:
The representer theorem for manifold regularization again gives
and this yields an expression for the vector formula_62. Letting formula_3 be the kernel matrix as above, formula_66 be the vector of data labels, and formula_72 be the formula_73 block matrix formula_74:
with a solution of
LapRLS has been applied to problems including sensor networks,
medical imaging,
object detection,
spectroscopy,
document classification,
drug-protein interactions,
and compressing images and videos.
Laplacian Support Vector Machines (LapSVM).
Support vector machines (SVMs) are a family of algorithms often used for classifying data into two or more groups, or "classes". Intuitively, an SVM draws a boundary between classes so that the closest labeled examples to the boundary are as far away as possible. This can be directly expressed as a linear program, but it is also equivalent to Tikhonov regularization with the hinge loss function, formula_77:
Adding the intrinsic regularization term to this expression gives the LapSVM problem statement:
Again, the representer theorem allows the solution to be expressed in terms of the kernel evaluated at the data points:
formula_81 can be found by writing the problem as a linear program and solving the dual problem. Again letting formula_3 be the kernel matrix and formula_72 be the block matrix formula_74, the solution can be shown to be
where formula_86 is the solution to the dual problem
and formula_88 is defined by
LapSVM has been applied to problems including geographical imaging,
medical imaging,
face recognition,
machine maintenance,
and brain–computer interfaces.


H-infinity methods in control theory

H"∞ (i.e. "H"-infinity") methods are used in control theory to synthesize controllers to achieve stabilization with guaranteed performance. To use "H"∞ methods, a control designer expresses the control problem as a mathematical optimization problem and then finds the controller that solves this optimization. "H"∞ techniques have the advantage over classical control techniques in that "H"∞ techniques are readily applicable to problems involving multivariate systems with cross-coupling between channels; disadvantages of "H"∞ techniques include the level of mathematical understanding needed to apply them successfully and the need for a reasonably good model of the system to be controlled. It is important to keep in mind that the resulting controller is only optimal with respect to the prescribed cost function and does not necessarily represent the best controller in terms of the usual performance measures used to evaluate controllers such as settling time, energy expended, etc. Also, non-linear constraints such as saturation are generally not well-handled. These methods were introduced into control theory in the late 1970s-early 1980s
by George Zames (sensitivity minimization), J. William Helton (broadband matching),
and Allen Tannenbaum (gain margin optimization).
The phrase "H"∞ "control" comes from the name of the mathematical space over which the optimization takes place: "H"∞ is the "Hardy space" of matrix-valued functions that are analytic and bounded in the open right-half of the complex plane defined by Re("s") > 0; the "H"∞ norm is the maximum singular value of the function over that space. (This can be interpreted as a maximum gain in any direction and at any frequency; for SISO systems, this is effectively the maximum magnitude of the frequency response.) "H"∞ techniques can be used to minimize the closed loop impact of a perturbation: depending on the problem formulation, the impact will either be measured in terms of stabilization or performance.
Simultaneously optimizing robust performance and robust stabilization is difficult. One method that comes close to achieving this is "H"∞ loop-shaping, which allows the control designer to apply classical loop-shaping concepts to the multivariable frequency response to get good robust performance, and then optimizes the response near the system bandwidth to achieve good robust stabilization.
Commercial software is available to support "H"∞ controller synthesis.
Problem formulation.
First, the process has to be represented according to the following standard configuration:
The plant "P" has two inputs, the exogenous input "w", that includes reference signal and disturbances, and the manipulated variables "u". There are two outputs, the error signals "z" that we want to minimize, and the measured variables "v", that we use to control the system. "v" is used in "K" to calculate the manipulated variables "u". Notice that all these are generally vectors, whereas P and K are matrices.
In formulae, the system is:
It is therefore possible to express the dependency of "z" on "w" as:
Called the "lower linear fractional transformation", formula_4 is defined (the subscript comes from "lower"):
Therefore, the objective of formula_6 control design is to find a controller formula_7 such that formula_8 is minimised according to the formula_6 norm. The same definition applies to formula_10 control design. The infinity norm of the transfer function matrix formula_8 is defined as:
where formula_13 is the maximum singular value of the matrix formula_14.
The achievable "H"∞ norm of the closed loop system is mainly given through the matrix "D"11 (when the system "P" is given in the form ("A", "B"1, "B"2, "C"1, "C"2, "D"11, "D"12, "D"22, "D"21)). There are several ways to come to an "H"∞ controller:


Flow control valve

A flow control valve regulates the flow or pressure of a fluid. Control valves normally respond to signals generated by independent devices such as flow meters or temperature gauges.
Operation.
Control valves are normally fitted with actuators and positioners. Pneumatically-actuated globe valves and diaphragm valves are widely used for control purposes in many industries, although quarter-turn types such as (modified) ball and butterfly valves are also used.
Control valves can also work with hydraulic actuators (also known as hydraulic pilots). These types of valves are also known as automatic control valves. The hydraulic actuators respond to changes of pressure or flow and will open/close the valve. Automatic control valves do not require an external power source, meaning that the fluid pressure is enough to open and close them.
Automatic control valves include pressure reducing valves, flow control valves, back-pressure sustaining valves, altitude valves, and relief valves.
Application.
Process plants consist of hundreds, or even thousands, of control loops all networked together to produce a product to be offered for sale. Each of these control loops is designed to keep some important process variable, such as pressure, flow, level, or temperature, within a required operating range to ensure the quality of the end product. Each loop receives and internally creates disturbances that detrimentally affect the process variable, and interaction from other loops in the network provides disturbances that influence the process variable.
To reduce the effect of these load disturbances, sensors and transmitters collect information about the process variable and its relationship to some desired set point. A controller then processes this information and decides what must be done to get the process variable back to where it should be after a load disturbance occurs. When all the measuring, comparing, and calculating are done, some type of final control element must implement the strategy selected by the controller. The most common final control element in the process control industries is the control valve. The control valve manipulates a flowing fluid, such as gas, steam, water, or chemical compounds, to compensate for the load disturbance and keep the regulated process variable as close as possible to the desired set point.


Morita Kagaku Kogyo Co., Ltd

Morita Kagaku Kogyo Co., Ltd was founded in 1949 as a sweetener manufacturer. With the social trend the company began research on natural products as the alternatives. In 1971, they developed a system for producing a natural stevia sweetener, which was the first in the world.
The company has more recently been involved manufacture of a sweetener based on rebaudioside A, extracted from the stevia leaf.
Product.
Karori Zero is a Japanese powder-like sweetener product made from the latest technology of Morita Kagaku Kogyo Co., Ltd. It is made with rebaudioside A and Erythritol, which have been proved to be safe for human intake.


Hydroforming

Hydroforming is a cost-effective way of shaping ductile metals such as aluminium, brass, low alloy steel, and stainless steel into lightweight, structurally stiff and strong pieces. One of the largest applications of hydroforming is the automotive industry, which makes use of the complex shapes made possible by hydroforming to produce stronger, lighter, and more rigid unibody structures for vehicles. This technique is particularly popular with the high-end sports car industry and is also frequently employed in the shaping of aluminium tubes for bicycle frames.
Hydroforming is a specialized type of die forming that uses a high pressure hydraulic fluid to press room temperature working material into a die. To hydroform aluminium into a vehicle's frame rail, a hollow tube of aluminium is placed inside a negative mold that has the shape of the desired result. High pressure hydraulic pumps then inject fluid at very high pressure inside the aluminium tube which causes it to expand until it matches the mold. The hydroformed aluminium is then removed from the mold.
Hydroforming allows complex shapes with concavities to be formed, which would be difficult or impossible with standard solid die stamping. Hydroformed parts can often be made with a higher stiffness-to-weight ratio and at a lower per unit cost than traditional stamped or stamped and welded parts. Virtually all metals capable of cold forming can be hydroformed, including aluminium, brass, carbon and stainless steel, copper, and high strength alloys.
If electrodes are used to vaporize the fluid explosively in an arc this would describe a similar process known as electrohydraulic forming.
Main process variants.
Sheet hydroforming.
This process is based on the 1950s patent for hydramolding by Fred Leuthesser, Jr. and John Fox of the Schaible Company of Cincinnati, Ohio in the United States. It was originally used in producing kitchen spouts. This was done because in addition to the strengthening of the metal, hydromolding also produced less "grainy" parts, allowing for easier metal finishing.
In sheet hydroforming there are bladder forming (where there is a bladder that contains the liquid; no liquid contacts the sheet) and hydroforming where the fluid contacts the sheet (no bladder). Bladder forming is sometimes called flexforming. Flexforming is mostly used for low volume productions, as in the aerospace field.
Forming with the fluid in direct contact with the part can be done either with a male solid punch (this version is sometimes called hydro-mechanical deep drawing) or with a female solid die.
In hydro-mechanical deep drawing, a work piece is placed on a draw ring (blank holder) over a male punch then a hydraulic chamber surrounds the work piece and a relatively low initial pressure seats the work piece against the punch. The punch then is raised into the hydraulic chamber and pressure is increased to as high as 100 MPa (15000 psi) which forms the part around the punch. Then the pressure is released and punch retracted, hydraulic chamber lifted, and the process is complete.
Among these techniques hydraulic bulge testing allows for an increased work hardening of sheet material by distinctive stretching operations and provides better shape accuracy for complex parts. Hence, by selecting proper material and the forming parameters for hydraulic sheet bulging study one can determine Forming Limit Curves (FLCs).
Significance
Tube hydroforming.
In tube hydroforming there are two major practices: high pressure and low pressure.
With the high pressure process the tube is fully enclosed in a die prior to pressurization of the tube. In low pressure the tube is slightly pressurized to a fixed volume during the closing of the die (this used to be called the Variform process). Historically, the process was patented in the '50s, but it was industrially spread in the 1970s for the production of large T-shaped joints for the oil and gas industry. Today it is mostly used in the automotive sector, where many industrial applications can be found. With the rise of the electric bicycle it is now a method of choice for e-bicycle manufacturers. Especially down tubes and top tubes are favorably made with hydroforming in order to fit the battery for the electric bicycle. Newest applications in the bicycle industry are now hydroformed handlebars to improve aero dynamics and ergonomics.
In tube hydroforming pressure is applied to the inside of a tube that is held by dies with the desired cross sections and forms. When the dies are closed, the tube ends are sealed by axial punches and the tube is filled with hydraulic fluid. The internal pressure can go up to a few thousand bars and it causes the tube to calibrate against the dies. The fluid is injected into the tube through one of the two axial punches. Axial punches are movable and their action is required to provide axial compression and to feed material towards the center of the bulging tube. Transverse counterpunches may also be incorporated in the forming die in order to form protrusions with small diameter/length ratio. Transverse counter punches may also be used to punch holes in the work piece at the end of the forming process.
Designing the process has in the past been a challenging task, since initial analytical modeling is possible only for limited cases. Advances in FEA and FEM in recent years has enabled hydroform processes to be more widely engineered for varieties of parts and materials. Often FEM simulations must be performed in order to find a feasible process solution and to define the correct loading curves: pressure vs. time and axial feed vs. time. In the case of more complex tube hydroformed parts the tube must be pre-bent prior to loading into the hydroforming die. Bending is done sequentially along the length of the tube, with the tube being bent around bending discs (or dies) as the tube length is fed in. Bending can be done with or without mandrels. This additional complexity of process further increases the reliance on FEM for designing and evaluating manufacturing processes. The feasibility of a hydroforming process must take into consideration the initial tube material properties and its potential for variation, along with the bending process, hydraulic pressure throughout the forming process, in inclusion of axial feed or not, in order to predict metal formability.
Typical tools.
Tools and punches can be interchanged for different part requirements.
One advantage of hydroforming is the savings on tools. For sheet metal only a draw ring and punch (metalworking) or male die is required. Depending on the part being formed, the punch can be made from epoxy, rather than metal. The bladder of the hydroform itself acts as the female die eliminating the need to fabricate it. This allows for changes in material thickness to be made with usually no necessary changes to the tool. However, dies must be highly polished and in tube hydroforming a two-piece die is required to allow opening and closing.
Geometry produced.
Another advantage of hydroforming is that complex shapes can be made in one step. In sheet hydroforming with the bladder acting as the male die almost limitless geometries can be produced. However, the process is limited by the very high closing force required in order to seal the dies, especially for large panels and thick hard materials. Small concave corner radii are difficult to be completely calibrated, i.e. filled, because too large a pressure would be required. in fact, the die closing force can be very high, both in tube and sheet hydroforming and may easily overcome the maximum tonnage of the forming press. In order to keep the die closing force under prescribed limits, the maximum internal fluid pressure must be limited. This reduces the calibration abilities of the process, i.e. it reduces the possibility of forming parts with small concave radii.
Limits of the sheet hydroforming process are due to risks of excessive thinning, fracture, wrinkling and are strictly related to the material formability and to a proper selection of process parameters (e.g. hydraulic pressure vs. time curve). Tube hydroforming can produce many geometric options as well, reducing the need for tube welding operations. Similar limitations and risks can be listed as in sheet hydroforming; however, the maximum closing force is seldom a limiting factor in tube hydroforming.
Tolerances and surface finish.
Hydroforming is capable of producing parts within tight tolerances including aircraft tolerances where a common tolerance for sheet metal parts is within 0.76 mm (1/30th of an inch). Metal hydroforming also allows for a smoother finish as draw marks produced by the traditional method of pressing a male and female die together are eliminated.
While springback has long been a topic of discussion for sheet metal forming operations it has been far less of a topic of research for tube hydroforming. This may in part be a result of the relatively low levels of springback naturally occurring when deforming the tubes into their closed section geometries. Tube Hydroformed sections by the nature of their closed sections are very rigid and do not display high degrees of elastic deformation under load. For this reason it is likely that negative residual stress induced during tube hydroforming might be insufficient to deform the part elastically after the completion of forming. However, as more and more tubular parts are being manufactured using high strength steel and advanced high strength steel parts, springback must be accounted for in the design and manufacture of closed section tube hydroformed parts.
Examples.
Notable examples include:
References.


Job shop

Job shops are typically small manufacturing systems that handle job production, that is, custom/bespoke or semi-custom/bespoke manufacturing processes such as small to medium-size customer orders or batch jobs. Job shops typically move on to different jobs (possibly with different customers) when each job is completed. Job shops machines are aggregated in shops by the nature of skills and technological processes involved, each shop therefore may contain different machines, which gives this production system processing flexibility, since jobs are not necessarily constrained to a single machine. In computer science the problem of job shop scheduling is considered strongly NP-hard.
A typical example would be a machine shop, which may make parts for local industrial machinery, farm machinery and implements, boats and ships, or even batches of specialized components for the aircraft industry. Other types of common job shops are grinding, honing, jig-boring, gear manufacturing, and fabrication shops.
The opposite would be continuous continuous-flow manufacturing, such as textile, steel, food manufacturing and manual labor.
Advantages.
Compare to transfer line.
Disadvantages.
Compare to transfer line.


Stochastic gradient Langevin dynamics

Stochastic gradient Langevin dynamics (SGLD) is an optimization and sampling technique composed of characteristics from Stochastic gradient descent, a Robbins–Monro optimization algorithm, and Langevin dynamics, a mathematical extension of molecular dynamics models. Like stochastic gradient descent, SGLD is an iterative optimization algorithm which uses minibatching to create a stochastic gradient estimator, as used in SGD to optimize a differentiable objective function. Unlike traditional SGD, SGLD can be used for Bayesian learning as a sampling method. SGLD may be viewed as Langevin dynamics applied to posterior distributions, but the key difference is that the likelihood gradient terms are minibatched, like in SGD. SGLD, like Langevin dynamics, produces samples from a posterior distribution of parameters based on available data. First described by Welling and Teh in 2011, the method has applications in many contexts which require optimization, and is most notably applied in machine learning problems.
Formal definition.
Given some parameter vector formula_1, its prior distribution formula_2, and a set of data points formula_3, Langevin dynamics samples from the posterior distribution formula_4 by updating the chain:
Stochastic gradient Langevin dynamics uses a modified update procedure with minibatched likelihood terms:
where formula_7 is a positive integer, formula_8 is Gaussian noise, formula_9 is the likelihood of the data given the parameter vector formula_1, and our step sizes formula_11satisfy the following conditions:
For early iterations of the algorithm, each parameter update mimics Stochastic Gradient Descent; however, as the algorithm approaches a local minimum or maximum, the gradient shrinks to zero and the chain produces samples surrounding the maximum a posteriori mode allowing for posterior inference. This process generates approximate samples from the posterior as by balancing variance from the injected Gaussian noise and stochastic gradient computation.
Application.
SGLD is applicable in any optimization context for which it is desirable to quickly obtain posterior samples instead of a maximum a posteriori mode. In doing so, the method maintains the computational efficiency of stochastic gradient descent when compared to traditional gradient descent while providing additional information regarding the landscape around the critical point of the objective function. In practice, SGLD can be applied to the training of Bayesian Neural Networks in Deep Learning, a task in which the method provides a distribution over model parameters. By introducing information about the variance of these parameters, SGLD characterizes the generalizability of these models at certain points in training. Additionally, obtaining samples from a posterior distribution permits uncertainty quantification by means of confidence intervals, a feature which is not possible using traditional stochastic gradient descent.
Variants and associated algorithms.
If gradient computations are exact, SGLD reduces down to the "Langevin Monte Carlo" algorithm, first coined in the literature of lattice field theory. This algorithm is also a reduction of Hamiltonian Monte Carlo, consisting of a single leapfrog step proposal rather than a series of steps. Since SGLD can be formulated as a modification of both stochastic gradient descent and MCMC methods, the method lies at the intersection between optimization and sampling algorithms; the method maintains SGD's ability to quickly converge to regions of low cost while providing samples to facilitate posterior inference.
Considering relaxed constraints on the step sizes formula_11such that they do not approach zero asymptotically, SGLD fails to produce samples for which the Metropolis Hastings rejection rate is zero, and thus a MH rejection step becomes necessary. The resulting algorithm, dubbed the Metropolis Adjusted Langevin algorithm, requires the step:
where formula_15is a normal distribution centered one gradient descent step from formula_16and formula_17is our target distribution.
Mixing rates and algorithmic convergence.
Recent contributions have proven upper bounds on mixing times for both the traditional Langevin algorithm and the Metropolis adjusted Langevin algorithm. Released in Ma et al., 2018, these bounds define the rate at which the algorithms converge to the true posterior distribution, defined formally as:
where formula_19is an arbitrary error tolerance, formula_20is some initial distribution, formula_21is the posterior distribution, and formula_22is the total variation norm. Under some regularity conditions of an L-Lipschitz smooth objective function formula_23which is m-strongly convex outside of a region of radius formula_24 with condition number formula_25, we have mixing rate bounds:
where formula_28 and formula_29refer to the mixing rates of the Unadjusted Langevin Algorithm and the Metropolis Adjusted Langevin Algorithm respectively. These bounds are important because they show computational complexity is polynomial in dimension formula_30 conditional on formula_31 being formula_32.


Power Surfacing

Power Surfacing is a computer-aided design software that allows users to create and edit complex freeform surfaces in SOLIDWORKS. It is developed by nPower Software, a division of IntegrityWare Inc., and is available as an add-in for SOLIDWORKS.
Overview.
Power Surfacing uses subdivision surface (Sub-D) modeling and Non-uniform rational B-spline (NURBS) modeling methods together, to provide a flexible and intuitive way of designing organic shapes with high quality class A surfaces. Users can create and manipulate Sub-D models inside SOLIDWORKS, and convert them to NURBS models that are compatible with SOLIDWORKS features and commands. Power Surfacing also supports reverse engineering of scanned meshes with Power Surfacing RE, a separate add-in that can reconstruct Sub-D models from polygonal meshes.
Power Surfacing is designed for industrial design, product design, automotive design, jewelry design, and other applications that require complex freeform surfaces. It aims to simplify the design process and reduce the editing time for organic shapes, compared to traditional surface creation methods. It also provides video tutorials and examples to help users learn how to use the software effectively.
Features.
Some of the features of Power Surfacing include:
Usage.
Power Surfacing functions as a generative design tool, generating iterative, evolutionary results based on initial constraints.
This tool is commonly used to optimize manufacturing processes for parts in various industries, such as automotive, packaging design, and medical implants.
Power Surfacing can also reverse-engineer the shapes of 3D-scanned objects and recreate their geometry algorithmically, facilitating reproduction through industrial production processes. This capability can be employed to digitally replicate physical aspects of human anatomy, such as bones, and modify the model to produce precise-fitting physical Prosthesis for patients.


SARL (programming language)

The SARL programming language is a modular agent-oriented programming language. It aims at providing the fundamental abstractions for dealing with concurrency, distribution, interaction, decentralization, reactivity, autonomy and dynamic reconfiguration.
SARL is platform-independent and agent’s architecture-agnostic. It provides a set of agent-oriented first-class abstractions directly at the language level (see the section on the concepts). Nevertheless, it supports the integration and the mapping of concepts provided by other agent-oriented metamodels. SARL itself exploits this extension mechanism for defining its own extensions (organizational, event-driven, etc.).
An important feature of the SARL programming language is its native support for "holonic multiagent systems," and "recursive agents"
(also called "holons").
Overview.
The metamodel of SARL is based on four main concepts: Agent, Capacity, Space and Skill.
The core metamodel of SARL is presented in Figure 1, and the main concepts are colored in light blue.
Each of them are detailed in the following sections, as well as the corresponding piece of SARL code to illustrate their practical use.
In SARL, a Multiagent System (MAS) is a collection of Agents interacting together in shared distributed Spaces.
Each agent has a collection of Capacities describing what it is able to perform, its personal competences.
Each Capacity may then be realized/implemented by various Skills.
For understanding the relationship between the concepts of Capacity and Skill, a parallel can be drawn with concepts of Interface and their implementation classes in object-oriented languages.
To implement specific architectures (like BDI, reasoning, reactive, hybrid, etc.) developers should develop their own capacities and skills providing the agents with new exploitable features.
Despite its open nature, SARL imposes some fundamental principles to be respected by the various Virtual Machines (VM) that wants to support it. First of all, the implementation of Space must be fully distributed and the execution layer must be abstracted from agents. SARL encourages a massively parallel execution of Agents and Behaviors. SARL is fully interoperable with Java to easily reuse all the contributions provided by the Java community, but also to facilitate the integration and evolution of legacy systems. One of the key principles governing SARL consists in not imposing a predefined way for Agents to interact within a Space. Similarly, the way to identify agents is dependent on the type of Space considered. This allows to define different types of interaction mechanisms and models on Spaces.
The metamodel and the syntax of the SARL programming language have been inspired by the languages like Scala, Clojure, and Ruby.
The SARL tools have been developed on top of Xtext, that enables to easily build domain-specific languages that are directly integrated into the Eclipse framework. The complete definition of the SARL syntax is available on GitHub.
Concepts.
The SARL programming language is based on an agent-oriented metamodel based on the following concepts.
Emotional software agents.
An agent is an autonomous entity having a set of skills to realize the capacities it exhibits. An agent has a set of built-in capacities considered essential to respect the commonly accepted competences of agents, such autonomy, reactivity, proactivity and social capacities. Among these built-in capacities (BIC), is the "behaviors" capacity that determines its global conduct. An agent has also a default behavior directly described within its definition.
A Behavior maps a collection of perceptions represented by Events to a sequence of Actions. An Event is the specification of some occurrence in a Space that may potentially trigger effects by a listener (e.g. agent, behavior, etc.).
These language does not imposes a specific agent’s control loop.
The programmer is free to implement any control or authority protocol for their own application scenario, except for the initialization and destruction events.
Indeed, when agents are created, the virtual machine that is executing the emotional software program is in charge of creating the agent instances, and installing the skills associated to the built-in capacities into the agent.
Then, when the agent is ready to begin its execution, it fires the Initialize event.
When the agent has decided to stop its own execution, the virtual machine fires the Destroy event to enable the agent to release any resource it may still hold.
Capacity and Skill.
An Action is a specification of a transformation of a part of the designed system or its environment.
This transformation guarantees resulting properties if the system before the transformation satisfies a set of constraints.
An action is defined in terms of pre- and post-conditions.
A Capacity is the specification of a collection of actions.
This specification makes no assumptions about its implementation.
It could be used to specify what an agent can do, what a behavior requires for its execution.
A Skill is a possible implementation of a capacity fulfilling all the constraints of this specification.
An agent can dynamically evolve by learning/acquiring new Capacities, but it can also dynamically change the Skill associated to a given capacity.
Acquiring new capacities also enables an agent to get access to new behaviors requiring these capacities.
This provides agents with a self-adaptation mechanism that allow them to dynamically change their architecture according to their current needs and goals.
Context and Space.
A Context defines the perimeter/boundary of a sub-system, and gathers a collection of Spaces.
In each context, there is at least one particular Space called Default Space to which all agents in this context belong.
This ensures the existence of a common shared Space to all agents in the same context.
Each agent can then create specific public or private spaces to achieve its personal goals.
Since their creation, agents are incorporated into a context called the Default Context.
The notion of Context makes complete sense when agents are considered composed or holonic (see below).
A Space is the support of the interaction between agents respecting the rules defined in a Space Specification. A Space Specification defines the rules (including action and perception) for interacting within a given set of Spaces respecting this specification.
Recursive Agent or Emotional software agent.
Agents can be composed of other agents to define hierarchical multiagent systems. Each agent defines its own Context, called the Inner Context, and it is part of one or more External Contexts.
Examples.
Hello, World!.
package helloworld
import io.sarl.core.Initialize
agent HelloWorldAgent {
 on Initialize {
 println("Hello, World!")
}
Exchanging messages between two agents.
For illustrating the syntax of the SARL language, the Ping-Pong scheme is coded below.
The agent A is sending a message PING to the agent B for determining if it is still alive.
The agent B is replying with a PONG message.
First, the two messages must be defined as events (without attribute):
 event PING
 event PONG
The agent A is defined with
 agent A {
 uses DefaultContextInteraction, Logging
 on Initialize {
 emit(new Ping)
 on Pong {
 println("Agent " + occurrence.source + " is alive.")
In the previous code, the keyword enables the agent to use previously-defined capacities: the capacity to interact with other agents inside the default context (DefaultContextInteraction), and the capacity to log messages (Logging).
The keyword permits to define the actions when an occurrence of the specified event is received by the agent A.
When the agent A receives the Initialize event, it emits a Ping event to all the existing agents.
When the agent A receives the Pong event, it logs a message with the identity of the event's emitter inside.
The agent B is defined with
 agent B {
 uses DefaultContextInteraction, Logging
 on Ping {
 println("Agent " + occurrence.source + " wants to know if I'm alive.)
 emit(new Pong, Scopes addresses(occurrence.source))
When the agent B receives the Ping message, it logs a message and reply with a Pong message.
For avoiding a broadcast of the Pong message, the receiver of this message is restricted with the scope corresponding to the address of the Ping's emitter.
Janus Platform: a SARL Run-time Environment.
SARL language specifies a set of concepts and their relations.
However, the SARL language does not impose a particular execution infrastructure for being platform-independent.
Nevertheless, the Janus Project provides the infrastructure for running SARL agents.
Janus is an open-source multi-agent platform fully implemented in Java 1.7.
It implements all required infrastructure to execute a MAS programmed in the SARL language.
The major assumption made at the SARL language level are supported by this run-time environment: fully distributed, parallel execution of agent’s behaviors.
Additionally, the Janus platform provides the tools for helping the programmer to deploy its MAS with the automatic discovery of Janus kernels, for instance.
Technically, the Janus platform follows the best practices in current software development, such as Inversion of Control, and profits from new technologies like Distributed Data Structures (In-Memory Data Grid like Hazelcast).


Simbad robot simulator

Simbad robot simulator is an open-source cross-platform software simulator used to develop robotics and artificial intelligence applications. The Simbad project started in 2005, initially developed by Dr. Louis Hugues and is widely used for educational purposes. Simbad is distributed under the GNU General Public License. It is written in Java language and enables users to develop robot controllers in a simulated 3D environment.


Setpoint (control system)

In cybernetics and control theory, a setpoint (SP; also set point) is the desired or target value for an essential variable, or process value (PV) of a control system, which may differ from the actual measured value of the variable. Departure of such a variable from its setpoint is one basis for error-controlled regulation using negative feedback for automatic control.
Examples.
Cruise control
The SP-PV error can be used to return a system to its norm. An everyday example is the cruise control on a road vehicle; where external influences such as gradients cause speed changes (PV), and the driver also alters the desired set speed (SP). The automatic control algorithm restores the actual speed to the desired speed in the optimum way, without delay or overshoot, by altering the power output of the vehicle's engine. In this way the SP-PV error is used to control the PV so that it equals the SP. A widespread use of SP-PV error control is the PID controller.
Industrial applications
Special consideration must be given for engineering applications. In industrial systems, physical or process restraints may limit the determined set point. For example, a reactor which operates more efficiently at higher temperatures may be rated to withstand 500°C. However, for safety reasons, the set point for the reactor temperature control loop would be well below this limit, even if this means the reactor is running less efficiently.


Sensor fusion

Sensor fusion is the process of combining sensor data or data derived from disparate sources such that the resulting information has less uncertainty than would be possible when these sources were used individually. For instance, one could potentially obtain a more accurate location estimate of an indoor object by combining multiple data sources such as video cameras and WiFi localization signals. The term "uncertainty reduction" in this case can mean more accurate, more complete, or more dependable, or refer to the result of an emerging view, such as stereoscopic vision (calculation of depth information by combining two-dimensional images from two cameras at slightly different viewpoints).
The data sources for a fusion process are not specified to originate from identical sensors. One can distinguish "direct fusion", "indirect fusion" and fusion of the outputs of the former two. Direct fusion is the fusion of sensor data from a set of heterogeneous or homogeneous sensors, soft sensors, and history values of sensor data, while indirect fusion uses information sources like "a priori" knowledge about the environment and human input.
Sensor fusion is also known as "(multi-sensor) data fusion" and is a subset of "information fusion".
Algorithms.
Sensor fusion is a term that covers a number of methods and algorithms, including:
Example calculations.
Two example sensor fusion calculations are illustrated below.
Let formula_1 and formula_2 denote two sensor measurements with noise variances formula_3 and formula_4
, respectively. One way of obtaining a combined measurement formula_5 is to apply inverse-variance weighting, which is also employed within the Fraser-Potter fixed-interval smoother, namely
where formula_7 is the variance of the combined estimate. It can be seen that the fused result is simply a linear combination of the two measurements weighted by their respective noise variances.
Another method to fuse two measurements is to use the optimal Kalman filter. Suppose that the data is generated by a first-order system and let formula_8 denote the solution of the filter's Riccati equation. By applying Cramer's rule within the gain calculation it can be found that the filter gain is given by:
By inspection, when the first measurement is noise free, the filter ignores the second measurement and vice versa. That is, the combined estimate is weighted by the quality of the measurements.
Centralized versus decentralized.
In sensor fusion, centralized versus decentralized refers to where the fusion of the data occurs. In centralized fusion, the clients simply forward all of the data to a central location, and some entity at the central location is responsible for correlating and fusing the data. In decentralized, the clients take full responsibility for fusing the data. "In this case, every sensor or platform can be viewed as an intelligent asset having some degree of autonomy in decision-making."
Multiple combinations of centralized and decentralized systems exist.
Another classification of sensor configuration refers to the coordination of information flow between sensors. These mechanisms provide a way to resolve conflicts or disagreements and to allow the development of dynamic sensing strategies.
Sensors are in redundant (or competitive) configuration if each node delivers independent measures of the same properties. This configuration can be used in error correction when comparing information from multiple nodes. Redundant strategies are often used with high level fusions in voting procedures.
Complementary configuration occurs when multiple information sources supply different information about the same features. This strategy is used for fusing information at raw data level within decision-making algorithms. Complementary features are typically applied in motion recognition tasks with Neural network, Hidden Markov model, Support-vector machine, clustering methods and other techniques.
Cooperative sensor fusion uses the information extracted by multiple independent sensors to provide information that would not be available from single sensors. For example, sensors connected to body segments are used for the detection of the angle between them. Cooperative sensor strategy gives information impossible to obtain from single nodes. Cooperative information fusion can be used in motion recognition, gait analysis, motion analysis.
Levels.
There are several categories or levels of sensor fusion that are commonly used.*
Sensor fusion level can also be defined basing on the kind of information used to feed the fusion algorithm. More precisely, sensor fusion can be performed fusing raw data coming from different sources, extrapolated features or even decision made by single nodes.
Applications.
One application of sensor fusion is GPS/INS, where Global Positioning System and inertial navigation system data is fused using various different methods, e.g. the extended Kalman filter. This is useful, for example, in determining the attitude of an aircraft using low-cost sensors. Another example is using the data fusion approach to determine the traffic state (low traffic, traffic jam, medium flow) using road side collected acoustic, image and sensor data. In the field of autonomous driving, sensor fusion is used to combine the redundant information from complementary sensors in order to obtain a more accurate and reliable representation of the environment.
Although technically not a dedicated sensor fusion method, modern Convolutional neural network based methods can simultaneously process many channels of sensor data (such as Hyperspectral imaging with hundreds of bands ) and fuse relevant information to produce classification results.


Scilab Image Processing

SIP is a toolbox for processing images in Scilab. SIP is meant to be a free, complete, and useful image toolbox for Scilab. Its goals include tasks such as filtering, blurring, edge detection, thresholding, histogram manipulation, segmentation, mathematical morphology, and color image processing.
Though SIP is still in early development it can currently import and output image files in many formats including BMP, JPEG, GIF, PNG, TIFF, XPM, and PCX. SIP uses ImageMagick to accomplish this.
SIP is licensed under the GPL.


Modified Richardson iteration

Modified Richardson iteration is an iterative method for solving a system of linear equations. Richardson iteration was proposed by Lewis Fry Richardson in his work dated 1910. It is similar to the Jacobi and Gauss–Seidel method.
We seek the solution to a set of linear equations, expressed in matrix terms as
The Richardson iteration is
where formula_3 is a scalar parameter that has to be chosen such that the sequence formula_4 converges.
It is easy to see that the method has the correct fixed points, because if it converges, then formula_5 and formula_4 has to approximate a solution of formula_7.
Convergence.
Subtracting the exact solution formula_8, and introducing the notation for the error formula_9, we get the equality for the errors
Thus,
for any vector norm and the corresponding induced matrix norm. Thus, if formula_12, the method converges.
Suppose that formula_13 is symmetric positive definite and that formula_14 are the eigenvalues of formula_13. The error converges to formula_16 if formula_17 for all eigenvalues formula_18. If, e.g., all eigenvalues are positive, this can be guaranteed if formula_3 is chosen such that formula_20. The optimal choice, minimizing all formula_21, is formula_22, which gives the simplest Chebyshev iteration. This optimal choice yields a spectral radius of
where formula_24 is the condition number.
If there are both positive and negative eigenvalues, the method will diverge for any formula_3 if the initial error formula_26 has nonzero components in the corresponding eigenvectors.
Equivalence to gradient descent.
Consider minimizing the function formula_27. Since this is a convex function, a sufficient condition for optimality is that the gradient is zero (formula_28) which gives rise to the equation
Define formula_30 and formula_31.
Because of the form of "A", it is a positive semi-definite matrix, so it has no negative eigenvalues.
A step of gradient descent is
which is equivalent to the Richardson iteration by making formula_33.


Popov criterion

In nonlinear control and stability theory, the Popov criterion is a stability criterion discovered by Vasile M. Popov for the absolute stability of a class of nonlinear systems whose nonlinearity must satisfy an open-sector condition. While the circle criterion can be applied to nonlinear time-varying systems, the Popov criterion is applicable only to autonomous (that is, time invariant) systems.
System description.
The sub-class of Lur'e systems studied by Popov is described by:
formula_2
where "x" ∈ R"n", "ξ","u","y" are scalars, and "A","b","c" and "d" have commensurate dimensions. The nonlinear element Φ: R → R is a time-invariant nonlinearity belonging to "open sector" (0, ∞), that is, Φ(0) = 0 and "y"Φ("y") > 0 for all "y" not equal to 0.
Note that the system studied by Popov has a pole at the origin and there is no direct pass-through from input to output, and the transfer function from "u" to "y" is given by
Criterion.
Consider the system described above and suppose
then the system is globally asymptotically stable if there exists a number "r" > 0 such that formula_4


Linear–quadratic regulator

The theory of optimal control is concerned with operating a dynamic system at minimum cost. The case where the system dynamics are described by a set of linear differential equations and the cost is described by a quadratic function is called the LQ problem. One of the main results in the theory is that the solution is provided by the linear–quadratic regulator (LQR), a feedback controller whose equations are given below.
LQR controllers possess inherent robustness with guaranteed gain and phase margin, and they also are part of the solution to the LQG (linear–quadratic–Gaussian) problem. Like the LQR problem itself, the LQG problem is one of the most fundamental problems in control theory.
General description.
The settings of a (regulating) controller governing either a machine or process (like an airplane or chemical reactor) are found by using a mathematical algorithm that minimizes a cost function with weighting factors supplied by a human (engineer). The cost function is often defined as a sum of the deviations of key measurements, like altitude or process temperature, from their desired values. The algorithm thus finds those controller settings that minimize undesired deviations. The magnitude of the control action itself may also be included in the cost function.
The LQR algorithm reduces the amount of work done by the control systems engineer to optimize the controller. However, the engineer still needs to specify the cost function parameters, and compare the results with the specified design goals. Often this means that controller construction will be an iterative process in which the engineer judges the "optimal" controllers produced through simulation and then adjusts the parameters to produce a controller more consistent with design goals.
The LQR algorithm is essentially an automated way of finding an appropriate state-feedback controller. As such, it is not uncommon for control engineers to prefer alternative methods, like full state feedback, also known as pole placement, in which there is a clearer relationship between controller parameters and controller behavior. Difficulty in finding the right weighting factors limits the application of the LQR based controller synthesis.
Versions.
Finite-horizon, continuous-time.
For a continuous-time linear system, defined on formula_1, described by:
where formula_3 (that is, formula_4 is an formula_5-dimensional real-valued vector) is the state of the system and formula_6 is the control input. Given a quadratic cost function for the system, defined as:
the feedback control law that minimizes the value of the cost is:
where formula_9 is given by:
and formula_11 is found by solving the continuous time Riccati differential equation:
with the boundary condition:
The first order conditions for Jmin are:
1) State equation
2) Co-state equation
3) Stationary equation
4) Boundary conditions
and
formula_18
Infinite-horizon, continuous-time.
For a continuous-time linear system described by:
with a cost function defined as:
the feedback control law that minimizes the value of the cost is:
where formula_9 is given by:
and formula_11 is found by solving the continuous time algebraic Riccati equation:
This can be also written as:
with
Finite-horizon, discrete-time.
For a discrete-time linear system described by:
with a performance index defined as:
the optimal control sequence minimizing the performance index is given by:
where:
and formula_33 is found iteratively backwards in time by the dynamic Riccati equation:
from terminal condition formula_35. Note that formula_36 is not defined, since formula_4 is driven to its final state formula_38 by formula_39.
Infinite-horizon, discrete-time.
For a discrete-time linear system described by:
with a performance index defined as:
the optimal control sequence minimizing the performance index is given by:
where:
and formula_11 is the unique positive definite solution to the discrete time algebraic Riccati equation (DARE):
This can be also written as:
with:
Note that one way to solve the algebraic Riccati equation is by iterating the dynamic Riccati equation of the finite-horizon case until it converges.
Constraints.
In practice, not all values of formula_48 may be allowed. One common constraint is the linear one:
The finite horizon version of this is a convex optimization problem, and so the problem is often solved repeatedly with a receding horizon. This is a form of model predictive control.
Related controllers.
Quadratic-quadratic regulator.
If the state equation is quadratic then the problem is known as the quadratic-quadratic regulator (QQR). The Al'Brekht algorithm can be applied to reduce this problem to one that can be solved efficiently using tensor based linear solvers.
Polynomial-quadratic regulator.
If the state equation is polynomial then the problem is known as the polynomial-quadratic regulator (PQR). Again, the Al'Brekht algorithm can be applied to reduce this problem to a large linear one which can be solved with a generalization of the Bartels-Stewart algorithm; this is feasible provided that the degree of the polynomial is not too high.
Model-predictive control.
Model predictive control and linear-quadratic regulators are two types of optimal control methods that have distinct approaches for setting the optimization costs. In particular, when the LQR is run repeatedly with a receding horizon, it becomes a form of model predictive control (MPC). In general, however, MPC does not rely on any assumptions regarding linearity of the system.


Linear–quadratic–Gaussian control

In control theory, the linear–quadratic–Gaussian (LQG) control problem is one of the most fundamental optimal control problems, and it can also be operated repeatedly for model predictive control. It concerns linear systems driven by additive white Gaussian noise. The problem is to determine an output feedback law that is optimal in the sense of minimizing the expected value of a quadratic cost criterion. Output measurements are assumed to be corrupted by Gaussian noise and the initial state, likewise, is assumed to be a Gaussian random vector.
Under these assumptions an optimal control scheme within the class of linear control laws can be derived by a completion-of-squares argument. This control law which is known as the LQG controller, is unique and it is simply a combination of a Kalman filter (a linear–quadratic state estimator (LQE)) together with a linear–quadratic regulator (LQR). The separation principle states that the state estimator and the state feedback can be designed independently. LQG control applies to both linear time-invariant systems as well as linear time-varying systems, and constitutes a linear dynamic feedback control law that is easily computed and implemented: the LQG controller itself is a dynamic system like the system it controls. Both systems have the same state dimension.
A deeper statement of the separation principle is that the LQG controller is still optimal in a wider class of possibly nonlinear controllers. That is, utilizing a nonlinear control scheme will not improve the expected value of the cost function. This version of the separation principle is a special case of the separation principle of stochastic control which states that even when the process and output noise sources are possibly non-Gaussian martingales, as long as the system dynamics are linear, the optimal control separates into an optimal state estimator (which may no longer be a Kalman filter) and an LQR regulator.
In the classical LQG setting, implementation of the LQG controller may be problematic when the dimension of the system state is large. The reduced-order LQG problem (fixed-order LQG problem) overcomes this by fixing "a priori" the number of states of the LQG controller. This problem is more difficult to solve because it is no longer separable. Also, the solution is no longer unique. Despite these facts numerical algorithms are available to solve the associated optimal projection equations which constitute necessary and sufficient conditions for a locally optimal reduced-order LQG controller.
LQG optimality does not automatically ensure good robustness properties. The robust stability of the closed loop system must be checked separately after the LQG controller has been designed. To promote robustness some of the system parameters may be assumed stochastic instead of deterministic. The associated more difficult control problem leads to a similar optimal controller of which only the controller parameters are different.
It is possible to compute the expected value of the cost function for the optimal gains, as well as any other set of stable gains.
The LQG controller is also used to control perturbed non-linear systems.
Mathematical description of the problem and solution.
Continuous time.
Consider the continuous-time linear dynamic system
where formula_3 represents the vector of state variables of the system, formula_4 the vector of control inputs and formula_5 the vector of measured outputs available for feedback. Both additive white Gaussian system noise formula_6 and additive white Gaussian measurement noise formula_7 affect the system. Given this system the objective is to find the control input history formula_8 which at every time formula_9 may depend linearly only on the past measurements formula_10 such that the following cost function is minimized:
where formula_13 denotes the expected value. The final time (horizon) formula_14 may be either finite or infinite. If the horizon tends to infinity the first term formula_15 of the cost function becomes negligible and irrelevant to the problem. Also to keep the costs finite the cost function has to be taken to be formula_16.
The LQG controller that solves the LQG control problem is specified by the following equations:
The matrix formula_19 is called the Kalman gain of the associated Kalman filter represented by the first equation. At each time formula_9 this filter generates estimates formula_21 of the state formula_22 using the past measurements and inputs. The Kalman gain formula_19 is computed from the matrices formula_24, the two intensity matrices formula_25 associated to the white Gaussian noises formula_6 and formula_7 and finally formula_28. These five matrices determine the Kalman gain through the following associated matrix Riccati differential equation:
Given the solution formula_31 the Kalman gain equals
The matrix formula_33 is called the feedback gain matrix. This matrix is determined by the matrices formula_34 and formula_35 through the following associated matrix Riccati differential equation:
Given the solution formula_38 the feedback gain equals
Observe the similarity of the two matrix Riccati differential equations, the first one running forward in time, the second one running backward in time. This similarity is called duality. The first matrix Riccati differential equation solves the linear–quadratic estimation problem (LQE). The second matrix Riccati differential equation solves the linear–quadratic regulator problem (LQR). These problems are dual and together they solve the linear–quadratic–Gaussian control problem (LQG). So the LQG problem separates into the LQE and LQR problem that can be solved independently. Therefore, the LQG problem is called separable.
When formula_40 and the noise intensity matrices formula_41, formula_42 do not depend on formula_9 and when formula_14 tends to infinity the LQG controller becomes a time-invariant dynamic system. In that case the second matrix Riccati differential equation may be replaced by the associated algebraic Riccati equation.
Discrete time.
Since the discrete-time LQG control problem is similar to the one in continuous-time, the description below focuses on the mathematical equations.
The discrete-time linear system equations are
Here formula_47 represents the discrete time index and formula_48 represent discrete-time Gaussian white noise processes with covariance matrices formula_49, respectively, and are independent of each other.
The quadratic cost function to be minimized is
The discrete-time LQG controller is
and formula_54 corresponds to the predictive estimate formula_55.
The Kalman gain equals
where formula_57 is determined by the following matrix Riccati difference equation that runs forward in time:
The feedback gain matrix equals
where formula_60 is determined by the following matrix Riccati difference equation that runs backward in time:
If all the matrices in the problem formulation are time-invariant and if the horizon formula_62 tends to infinity the discrete-time LQG controller becomes time-invariant. In that case the matrix Riccati difference equations may be replaced by their associated discrete-time algebraic Riccati equations. These determine the time-invariant linear–quadratic estimator and the time-invariant linear–quadratic regulator in discrete-time. To keep the costs finite instead of formula_63 one has to consider formula_64 in this case.


Observability Gramian

In control theory, we may need to find out whether or not a system such as
formula_1
is observable, where formula_2, formula_3, formula_4 and formula_5 are, respectively, formula_6, formula_7,formula_8 and formula_9 matrices.
One of the many ways one can achieve such goal is by the use of the Observability Gramian.
Observability in LTI Systems.
Linear Time Invariant (LTI) Systems are those systems in which the parameters formula_2, formula_3, formula_4 and formula_5 are invariant with respect to time.
One can determine if the LTI system is or is not observable simply by looking at the pair formula_14. Then, we can say that the following statements are equivalent:
1. The pair formula_14 is observable.
2. The formula_6 matrix
formula_17
is nonsingular for any formula_18.
3. The formula_19 observability matrix
formula_20
has rank n.
4. The formula_21 matrix
formula_22
has full column rank at every eigenvalue formula_23 of formula_2.
If, in addition, all eigenvalues of formula_2 have negative real parts (formula_2 is stable) and the unique solution of
formula_27
is positive definite, then the system is observable. The solution is called the Observability Gramian and can be expressed as
formula_28
In the following section we are going to take a closer look at the Observability Gramian.
Observability Gramian.
The Observability Gramian can be found as the solution of the Lyapunov equation given by
formula_27
In fact, we can see that if we take
formula_30
as a solution, we are going to find that:
formula_31
Where we used the fact that formula_32 at formula_33 for stable formula_2 (all its eigenvalues have negative real part). This shows us that formula_35 is indeed the solution for the Lyapunov equation under analysis.
Properties.
We can see that formula_36 is a symmetric matrix, therefore, so is formula_35.
We can use again the fact that, if formula_2 is stable (all its eigenvalues have negative real part) to show that formula_35 is unique. In order to prove so, suppose we have two different solutions for
formula_27
and they are given by formula_41 and formula_42. Then we have:
formula_43
Multiplying by formula_44 by the left and by formula_45 by the right, would lead us to
formula_46
Integrating from formula_47 to formula_48:
formula_49
using the fact that formula_50 as formula_51:
formula_52
In other words, formula_35 has to be unique.
Also, we can see that
formula_54
is positive for any formula_55 (assuming the non-degenerate case where formula_56 is not identically zero), and that makes formula_35 a positive definite matrix.
More properties of observable systems can be found in, as well as the proof for the other equivalent statements of "The pair formula_14 is observable" presented in section Observability in LTI Systems.
Discrete Time Systems.
For discrete time systems as
formula_59
One can check that there are equivalences for the statement "The pair formula_14 is observable" (the equivalences are much alike for the continuous time case).
We are interested in the equivalence that claims that, if "The pair formula_14 is observable" and all the eigenvalues of formula_2 have magnitude less than formula_63 (formula_2 is stable), then the unique solution of
formula_65
is positive definite and given by
formula_66
That is called the discrete Observability Gramian. We can easily see the correspondence between discrete time and the continuous time case, that is, if we can check that formula_67 is positive definite, and all eigenvalues of formula_2 have magnitude less than formula_63, the system formula_70 is observable. More properties and proofs can be found in.
Linear Time Variant Systems.
Linear time variant (LTV) systems are those in the form:
formula_71
That is, the matrices formula_2, formula_3 and formula_4 have entries that varies with time. Again, as well as in the continuous time case and in the discrete time case, one may be interested in discovering if the system given by the pair formula_75 is observable or not. This can be done in a very similar way of the preceding cases.
The system formula_75 is observable at time formula_77 if and only if there exists a finite formula_78 such that the formula_6 matrix also called the Observability Gramian is given by
formula_80
where formula_81 is the state transition matrix of formula_82 is nonsingular.
Again, we have a similar method to determine if a system is or not an observable system.
Properties of formula_83.
We have that the Observability Gramian formula_83 have the following property:
formula_85
that can easily be seen by the definition of formula_83 and by the property of the state transition matrix that claims that:
formula_87
More about the Observability Gramian can be found in.