AlgorithmIn mathematics and computer science, an algorithm (ˈælɡərɪðəm) is a finite sequence of rigorous instructions, typically used to solve a class of specific problems or to perform a computation. Algorithms are used as specifications for performing calculations and data processing. More advanced algorithms can use conditionals to divert the code execution through various routes (referred to as automated decision-making) and deduce valid inferences (referred to as automated reasoning), achieving automation eventually.
Search algorithmIn computer science, a search algorithm is an algorithm designed to solve a search problem. Search algorithms work to retrieve information stored within particular data structure, or calculated in the search space of a problem domain, with either discrete or continuous values. Although search engines use search algorithms, they belong to the study of information retrieval, not algorithmics. The appropriate search algorithm to use often depends on the data structure being searched, and may also include prior knowledge about the data.
Proportional representationProportional representation (PR) refers to a type of electoral system under which subgroups of an electorate are reflected proportionately in the elected body. The concept applies mainly to political divisions (political parties) among voters. The essence of such systems is that all votes cast - or almost all votes cast - contribute to the result and are effectively used to help elect someone - not just a bare plurality or (exclusively) the majority - and that the system produces mixed, balanced representation reflecting how votes are cast.
Mathematical optimizationMathematical optimization (alternatively spelled optimisation) or mathematical programming is the selection of a best element, with regard to some criterion, from some set of available alternatives. It is generally divided into two subfields: discrete optimization and continuous optimization. Optimization problems arise in all quantitative disciplines from computer science and engineering to operations research and economics, and the development of solution methods has been of interest in mathematics for centuries.
Program optimizationIn computer science, program optimization, code optimization, or software optimization, is the process of modifying a software system to make some aspect of it work more efficiently or use fewer resources. In general, a computer program may be optimized so that it executes more rapidly, or to make it capable of operating with less memory storage or other resources, or draw less power. Although the word "optimization" shares the same root as "optimal", it is rare for the process of optimization to produce a truly optimal system.
Combinatorial optimizationCombinatorial optimization is a subfield of mathematical optimization that consists of finding an optimal object from a finite set of objects, where the set of feasible solutions is discrete or can be reduced to a discrete set. Typical combinatorial optimization problems are the travelling salesman problem ("TSP"), the minimum spanning tree problem ("MST"), and the knapsack problem. In many such problems, such as the ones previously mentioned, exhaustive search is not tractable, and so specialized algorithms that quickly rule out large parts of the search space or approximation algorithms must be resorted to instead.
Party-list proportional representationParty-list proportional representation (list-PR) is a subset of proportional representation electoral systems in which multiple candidates are elected (e.g., elections to parliament) through their position on an electoral list. They can also be used as part of mixed-member electoral systems. In these systems, parties make lists of candidates to be elected, and seats are distributed by elections authorities to each party in proportion to the number of votes the party receives.
Mixed-member proportional representationMixed-member proportional representation (MMP or MMPR) is a mixed electoral system in which votes are cast for both local elections and also for overall party vote tallies, which are used to allocate additional members to produce or deepen overall proportional representation. In some MMP systems, voters get two votes: one to decide the representative for their single-seat constituency, and one for a political party. In Denmark and others, the single vote cast by the voter is used for both the local election (in a multi-member or single-seat district), and for the overall top-up.
Genetic algorithmIn computer science and operations research, a genetic algorithm (GA) is a metaheuristic inspired by the process of natural selection that belongs to the larger class of evolutionary algorithms (EA). Genetic algorithms are commonly used to generate high-quality solutions to optimization and search problems by relying on biologically inspired operators such as mutation, crossover and selection. Some examples of GA applications include optimizing decision trees for better performance, solving sudoku puzzles, hyperparameter optimization, causal inference, etc.
Volt-ampereThe volt-ampere (SI symbol: VA, sometimes V⋅A or V A) is the unit of measurement for apparent power in an electrical circuit. It is the product of the root mean square voltage (in volts) and the root mean square current (in amperes). Volt-amperes are usually used for analyzing alternating current (AC) circuits. In direct current (DC) circuits, this product is equal to the real power, measured in watts. The volt-ampere is dimensionally equivalent to the watt: in SI units, 1 V⋅A = 1 W.
Convex optimizationConvex optimization is a subfield of mathematical optimization that studies the problem of minimizing convex functions over convex sets (or, equivalently, maximizing concave functions over convex sets). Many classes of convex optimization problems admit polynomial-time algorithms, whereas mathematical optimization is in general NP-hard.
Dual-member proportional representationDual-member proportional representation (DMP), also known as dual-member mixed proportional, is an electoral system designed to produce proportional election results across a region by electing two representatives in each of the region’s districts. The first seat in every district is awarded to the candidate who receives the most votes, similar to first-past-the-post voting (FPTP). The second seat is awarded to one of the remaining district candidates so that proportionality is achieved across the region, using a calculation that aims to award parties their seats in the districts where they had their strongest performances.
Multi-objective optimizationMulti-objective optimization or Pareto optimization (also known as multi-objective programming, vector optimization, multicriteria optimization, or multiattribute optimization) is an area of multiple-criteria decision making that is concerned with mathematical optimization problems involving more than one objective function to be optimized simultaneously. Multi-objective is a type of vector optimization that has been applied in many fields of science, including engineering, economics and logistics where optimal decisions need to be taken in the presence of trade-offs between two or more conflicting objectives.
Optimizing compilerIn computing, an optimizing compiler is a compiler that tries to minimize or maximize some attributes of an executable computer program. Common requirements are to minimize a program's execution time, memory footprint, storage size, and power consumption (the last three being popular for portable computers). Compiler optimization is generally implemented using a sequence of optimizing transformations, algorithms which take a program and transform it to produce a semantically equivalent output program that uses fewer resources or executes faster.
Static VAR compensatorA static VAR compensator (SVC) is a set of electrical devices for providing fast-acting reactive power on high-voltage electricity transmission networks. SVCs are part of the flexible AC transmission system device family, regulating voltage, power factor, harmonics and stabilizing the system. A static VAR compensator has no significant moving parts (other than internal switchgear). Prior to the invention of the SVC, power factor compensation was the preserve of large rotating machines such as synchronous condensers or switched capacitor banks.
Peephole optimizationPeephole optimization is an optimization technique performed on a small set of compiler-generated instructions; the small set is known as the peephole or window. Peephole optimization involves changing the small set of instructions to an equivalent set that has better performance.
Sorting algorithmIn computer science, a sorting algorithm is an algorithm that puts elements of a list into an order. The most frequently used orders are numerical order and lexicographical order, and either ascending or descending. Efficient sorting is important for optimizing the efficiency of other algorithms (such as search and merge algorithms) that require input data to be in sorted lists. Sorting is also often useful for canonicalizing data and for producing human-readable output.
Randomized algorithmA randomized algorithm is an algorithm that employs a degree of randomness as part of its logic or procedure. The algorithm typically uses uniformly random bits as an auxiliary input to guide its behavior, in the hope of achieving good performance in the "average case" over all possible choices of random determined by the random bits; thus either the running time, or the output (or both) are random variables.
Register allocationIn compiler optimization, register allocation is the process of assigning local automatic variables and expression results to a limited number of processor registers. Register allocation can happen over a basic block (local register allocation), over a whole function/procedure (global register allocation), or across function boundaries traversed via call-graph (interprocedural register allocation). When done per function/procedure the calling convention may require insertion of save/restore around each call-site.
Stochastic optimizationStochastic optimization (SO) methods are optimization methods that generate and use random variables. For stochastic problems, the random variables appear in the formulation of the optimization problem itself, which involves random objective functions or random constraints. Stochastic optimization methods also include methods with random iterates. Some stochastic optimization methods use random iterates to solve stochastic problems, combining both meanings of stochastic optimization.