Reverse-search Algorithm
Reverse-search algorithms are a class of algorithms for generating all objects of a given size, from certain classes of combinatorial objects. In many cases, these methods allow the objects to be generated in polynomial time per object, using only enough memory to store a constant number of objects (polynomial space). (Generally, however, they are not classed as polynomial-time algorithms, because the number of objects they generate is exponential.) They work by organizing the objects to be generated into a spanning tree of their state space, and then performing a depth-first search of this tree. Reverse-search algorithms were introduced by David Avis and Komei Fukuda in 1991, for problems of generating the vertices of convex polytopes and the cells of arrangements of hyperplanes. They were formalized more broadly by Avis and Fukuda in 1996. Principles A reverse-search algorithm generates the combinatorial objects in a state space, an implicit graph whose vertices are the objec ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Algorithm
In mathematics and computer science, an algorithm () 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 perform automated deductions (referred to as automated reasoning) and use mathematical and logical tests to divert the code execution through various routes (referred to as automated decision-making). Using human characteristics as descriptors of machines in metaphorical ways was already practiced by Alan Turing with terms such as "memory", "search" and "stimulus". In contrast, a heuristic is an approach to problem solving that may not be fully specified or may not guarantee correct or optimal results, especially in problem domains where there is no well-defined correct or optimal result. As an effective method, an algorithm can be expressed within a finite amount of spac ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Vertex Enumeration Problem
In mathematics, the vertex enumeration problem for a polytope, a polyhedral cell complex, a hyperplane arrangement, or some other object of discrete geometry, is the problem of determination of the object's vertices given some formal representation of the object. A classical example is the problem of enumeration of the vertices of a convex polytope specified by a set of linear inequalities: :Ax \leq b where ''A'' is an ''m''×''n'' matrix, ''x'' is an ''n''×1 column vector of variables, and ''b'' is an ''m''×1 column vector of constants. The inverse ( dual) problem of finding the bounding inequalities given the vertices is called '' facet enumeration'' (see convex hull algorithms). Computational complexity The computational complexity of the problem is a subject of research in computer science. For unbounded polyhedra, the problem is known to be NP-hard, more precisely, there is no algorithm that runs in polynomial time in the combined input-output size, unless P=NP. A 1992 ar ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Topological Ordering
In computer science, a topological sort or topological ordering of a directed graph is a linear ordering of its vertices such that for every directed edge ''uv'' from vertex ''u'' to vertex ''v'', ''u'' comes before ''v'' in the ordering. For instance, the vertices of the graph may represent tasks to be performed, and the edges may represent constraints that one task must be performed before another; in this application, a topological ordering is just a valid sequence for the tasks. Precisely, a topological sort is a graph traversal in which each node ''v'' is visited only after all its dependencies are visited''.'' A topological ordering is possible if and only if the graph has no directed cycles, that is, if it is a directed acyclic graph (DAG). Any DAG has at least one topological ordering, and algorithms are known for constructing a topological ordering of any DAG in linear time. Topological sorting has many applications especially in ranking problems such as feedback arc set. ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Hydrocarbon
In organic chemistry, a hydrocarbon is an organic compound consisting entirely of hydrogen and carbon. Hydrocarbons are examples of group 14 hydrides. Hydrocarbons are generally colourless and hydrophobic, and their odors are usually weak or exemplified by the odors of gasoline and lighter fluid. They occur in a diverse range of molecular structures and phases: they can be gases (such as methane and propane), liquids (such as hexane and benzene), low melting solids (such as paraffin wax and naphthalene) or polymers (such as polyethylene and polystyrene). In the fossil fuel industries, ''hydrocarbon'' refers to the naturally occurring petroleum, natural gas and coal, and to their hydrocarbon derivatives and purified forms. Combustion of hydrocarbons is the main source of the world's energy. Petroleum is the dominant raw-material source for organic commodity chemicals such as solvents and polymers. Most anthropogenic (human-generated) emissions of greenhouse gases are ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Polyhex (mathematics)
In recreational mathematics, a polyhex is a polyform with a regular hexagon (or 'hex' for short) as the base form, constructed by joining together 1 or more hexagons. Specific forms are named by their number of hexagons: ''monohex'', ''dihex'', ''trihex'', ''tetrahex'', etc. They were named by David Klarner who investigated them. Each individual polyhex tile and tessellation polyhexes and can be drawn on a regular hexagonal tiling. Construction rules The rules for joining hexagons together may vary. Generally, however, the following rules apply: #Two hexagons may be joined only along a common edge, and must share the entirety of that edge. #No two hexagons may overlap. #A polyhex must be connected. Configurations of disconnected basic polygons do not qualify as polyhexes. #The mirror image of an asymmetric polyhex is not considered a distinct polyhex (polyhex are "double sided"). Tessellation properties All of the polyhexes with fewer than five hexagons can form at least one ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Prototile
In the mathematical theory of tessellations, a prototile is one of the shapes of a tile in a tessellation. Definition A tessellation of the plane or of any other space is a cover of the space by closed shapes, called tiles, that have disjoint interiors. Some of the tiles may be congruent to one or more others. If is the set of tiles in a tessellation, a set of shapes is called a set of prototiles if no two shapes in are congruent to each other, and every tile in is congruent to one of the shapes in . It is possible to choose many different sets of prototiles for a tiling: translating or rotating any one of the prototiles produces another valid set of prototiles. However, every set of prototiles has the same cardinality, so the number of prototiles is well defined. A tessellation is said to be monohedral if it has exactly one prototile. Aperiodicity A set of prototiles is said to be aperiodic if every tiling with those prototiles is an aperiodic tiling. It is unknown whet ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Polyiamond
A polyiamond (also polyamond or simply iamond, or sometimes triangular polyomino) is a polyform whose base form is an equilateral triangle. The word ''polyiamond'' is a back-formation from ''diamond'', because this word is often used to describe the shape of a pair of equilateral triangles placed base to base, and the initial 'di-' looks like a Greek prefix meaning 'two-' (though ''diamond'' actually derives from Greek '' ἀδάμας'' - also the basis for the word "adamant"). The name was suggested by recreational mathematics writer Thomas H. O'Beirne in ''New Scientist'' 1961 number 1, page 164. Counting The basic combinatorial question is, How many different polyiamonds exist with a given number of cells? Like polyominoes, polyiamonds may be either free or one-sided. Free polyiamonds are invariant under reflection as well as translation and rotation. One-sided polyiamonds distinguish reflections. The number of free ''n''-iamonds for ''n'' = 1, 2, 3, ... is: :1, 1, 1, 3, ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Polyomino
A polyomino is a plane geometric figure formed by joining one or more equal squares edge to edge. It is a polyform whose cells are squares. It may be regarded as a finite subset of the regular square tiling. Polyominoes have been used in popular puzzles since at least 1907, and the enumeration of pentominoes is dated to antiquity. Many results with the pieces of 1 to 6 squares were first published in '' Fairy Chess Review'' between the years 1937 to 1957, under the name of "dissection problems." The name ''polyomino'' was invented by Solomon W. Golomb in 1953, and it was popularized by Martin Gardner in a November 1960 "Mathematical Games" column in ''Scientific American''. Related to polyominoes are polyiamonds, formed from equilateral triangles; polyhexes, formed from regular hexagons; and other plane polyforms. Polyominoes have been generalized to higher dimensions by joining cubes to form polycubes, or hypercubes to form polyhypercubes. In statistical physics, the ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Induced Subgraph
In the mathematical field of graph theory, an induced subgraph of a graph is another graph, formed from a subset of the vertices of the graph and ''all'' of the edges (from the original graph) connecting pairs of vertices in that subset. Definition Formally, let G=(V,E) be any graph, and let S\subset V be any subset of vertices of . Then the induced subgraph G is the graph whose vertex set is S and whose edge set consists of all of the edges in E that have both endpoints in S . That is, for any two vertices u,v\in S , u and v are adjacent in G if and only if they are adjacent in G . The same definition works for undirected graphs, directed graphs, and even multigraphs. The induced subgraph G may also be called the subgraph induced in G by S , or (if context makes the choice of G unambiguous) the induced subgraph of S . Examples Important types of induced subgraphs include the following. * Induced paths are induced subgraphs that are paths. The shortest path betwe ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Delaunay Triangulation
In mathematics and computational geometry, a Delaunay triangulation (also known as a Delone triangulation) for a given set P of discrete points in a general position is a triangulation DT(P) such that no point in P is inside the circumcircle of any triangle in DT(P). Delaunay triangulations maximize the minimum of all the angles of the triangles in the triangulation; they tend to avoid sliver triangles. The triangulation is named after Boris Delaunay for his work on this topic from 1934. For a set of points on the same line there is no Delaunay triangulation (the notion of triangulation is degenerate for this case). For four or more points on the same circle (e.g., the vertices of a rectangle) the Delaunay triangulation is not unique: each of the two possible triangulations that split the quadrangle into two triangles satisfies the "Delaunay condition", i.e., the requirement that the circumcircles of all triangles have empty interiors. By considering circumscribed spheres ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Point-set Triangulation
A triangulation of a set of points \mathcal in the Euclidean space \mathbb^d is a simplicial complex that covers the convex hull of \mathcal, and whose vertices belong to \mathcal. In the plane (when \mathcal is a set of points in \mathbb^2), triangulations are made up of triangles, together with their edges and vertices. Some authors require that all the points of \mathcal are vertices of its triangulations. In this case, a triangulation of a set of points \mathcal in the plane can alternatively be defined as a maximal set of non-crossing edges between points of \mathcal. In the plane, triangulations are special cases of planar straight-line graphs. A particularly interesting kind of triangulations are the Delaunay triangulations. They are the geometric duals of Voronoi diagrams. The Delaunay triangulation of a set of points \mathcal in the plane contains the Gabriel graph, the nearest neighbor graph and the minimal spanning tree of \mathcal. Triangulations have a number o ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Euclidean Space
Euclidean space is the fundamental space of geometry, intended to represent physical space. Originally, that is, in Euclid's ''Elements'', it was the three-dimensional space of Euclidean geometry, but in modern mathematics there are Euclidean spaces of any positive integer dimension, including the three-dimensional space and the ''Euclidean plane'' (dimension two). The qualifier "Euclidean" is used to distinguish Euclidean spaces from other spaces that were later considered in physics and modern mathematics. Ancient Greek geometers introduced Euclidean space for modeling the physical space. Their work was collected by the ancient Greek mathematician Euclid in his ''Elements'', with the great innovation of '' proving'' all properties of the space as theorems, by starting from a few fundamental properties, called ''postulates'', which either were considered as evident (for example, there is exactly one straight line passing through two points), or seemed impossible to prove (paral ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |