Example of a one-dimensional (constraint) knapsack problem: which books should be chosen to maximize the amount of money while still keeping the overall weight under or equal to 15 kg? A multiple constrained problem could consider both the weight and volume of the books. (Solution: if any number of each book is available, then three yellow books and three grey books; if only the shown books are available, then all except for the green book.)
Given a set of items, each with a weight and a value, determine which items to include in the collection so that the total weight is less than or equal to a given limit and the total value is as large as possible.
It derives its name from the problem faced by someone who is constrained by a fixed-size knapsack and must fill it with the most valuable items. The problem often arises in resource allocation where the decision-makers have to choose from a set of non-divisible projects or tasks under a fixed budget or time constraint, respectively.
The knapsack problem has been studied for more than a century, with early works dating as far back as 1897.[1]
One early application of knapsack algorithms was in the construction and scoring of tests in which the test-takers have a choice as to which questions they answer. For small examples, it is a fairly simple process to provide the test-takers with such a choice. For example, if an exam contains 12 questions each worth 10 points, the test-taker need only answer 10 questions to achieve a maximum possible score of 100 points. However, on tests with a heterogeneous distribution of point values, it is more difficult to provide choices. Feuerman and Weiss proposed a system in which students are given a heterogeneous test with a total of 125 possible points. The students are asked to answer all of the questions to the best of their abilities. Of the possible subsets of problems whose total point values add up to 100, a knapsack algorithm would determine which subset gives each student the highest possible score.[6]
A 1999 study of the Stony Brook University Algorithm Repository showed that, out of 75 algorithmic problems related to the field of combinatorial algorithms and algorithm engineering, the knapsack problem was the 19th most popular and the third most needed after suffix trees and the bin packing problem.[7]
Definition
The most common problem being solved is the 0-1 knapsack problem, which restricts the number of copies of each kind of item to zero or one. Given a set of items numbered from 1 up to , each with a weight and a value , along with a maximum weight capacity ,
maximize
subject to and .
Here represents the number of instances of item to include in the knapsack. Informally, the problem is to maximize the sum of the values of the items in the knapsack so that the sum of the weights is less than or equal to the knapsack's capacity.
The bounded knapsack problem (BKP) removes the restriction that there is only one of each item, but restricts the number of copies of each kind of item to a maximum non-negative integer value :
maximize
subject to and
The unbounded knapsack problem (UKP) places no upper bound on the number of copies of each kind of item and can be formulated as above except that the only restriction on is that it is a non-negative integer.
maximize
subject to and
One example of the unbounded knapsack problem is given using the figure shown at the beginning of this article and the text "if any number of each book is available" in the caption of that figure.
Computational complexity
The knapsack problem is interesting from the perspective of computer science for many reasons:
The decision problem form of the knapsack problem (Can a value of at least V be achieved without exceeding the weight W?) is NP-complete, thus there is no known algorithm that is both correct and fast (polynomial-time) in all cases.
There is no known polynomial algorithm which can tell, given a solution, whether it is optimal (which would mean that there is no solution with a larger V). This problem is co-NP-complete.
Many cases that arise in practice, and "random instances" from some distributions, can nonetheless be solved exactly.
There is a link between the "decision" and "optimization" problems in that if there exists a polynomial algorithm that solves the "decision" problem, then one can find the maximum value for the optimization problem in polynomial time by applying this algorithm iteratively while increasing the value of k. On the other hand, if an algorithm finds the optimal value of the optimization problem in polynomial time, then the decision problem can be solved in polynomial time by comparing the value of the solution output by this algorithm with the value of k. Thus, both versions of the problem are of similar difficulty.
One theme in research literature is to identify what the "hard" instances of the knapsack problem look like,[8][9][10] or viewed another way, to identify what properties of instances in practice might make them more amenable than their worst-case NP-complete behaviour suggests.[11][12] The goal in finding these "hard" instances is for their use in public-key cryptography systems, such as the Merkle–Hellman knapsack cryptosystem. More generally, better understanding of the structure of the space of instances of an optimization problem helps to advance the study of the particular problem and can improve algorithm selection.
Furthermore, notable is the fact that the hardness of the knapsack problem depends on the form of the input. If the weights and profits are given as integers, it is weakly NP-complete, while it is strongly NP-complete if the weights and profits are given as rational numbers.[13] However, in the case of rational weights and profits it still admits a fully polynomial-time approximation scheme.
Unit-cost models
The NP-hardness of the Knapsack problem relates to computational models in which the size of integers matters (such as the Turing machine). In contrast, decision trees count each decision as a single step. Dobkin and Lipton[14] show an lower bound on linear decision trees for the knapsack problem, that is, trees where decision nodes test the sign of affine functions.[15] This was generalized to algebraic decision trees by Steele and Yao.[16]
If the elements in the problem are real numbers or rationals, the decision-tree lower bound extends to the real random-access machine model with an instruction set that includes addition, subtraction and multiplication of real numbers, as well as comparison and either division or remaindering ("floor").[17] This model covers more algorithms than the algebraic decision-tree model, as it encompasses algorithms that use indexing into tables. However, in this model all program steps are counted, not just decisions.
An upper bound for a decision-tree model was given by Meyer auf der Heide[18] who showed that for every n there exists an O(n4)-deep linear decision tree that solves the subset-sum problem with n items. Note that this does not imply any upper bound for an algorithm that should solve the problem for any given n.
The unbounded knapsack problem (UKP) places no restriction on the number of copies of each kind of item. Besides, here we assume that
subject to and
Observe that has the following properties:
1. (the sum of zero items, i.e., the summation of the empty set).
2.
, , where is the value of the -th kind of item.
The second property needs to be explained in detail. During the process of the running of this method, how do we get the weight ? There are only ways and the previous weights are where there are total kinds of different item (by saying different, we mean that the weight and the value are not completely the same). If we know each value of these items and the related maximum value previously, we just compare them to each other and get the maximum value ultimately and we are done.
Here the maximum of the empty set is taken to be zero. Tabulating the results from up through gives the solution. Since the calculation of each involves examining at most items, and there are at most values of to calculate, the running time of the dynamic programming solution is . Dividing by their greatest common divisor is a way to improve the running time.
Even if P≠NP, the complexity does not contradict the fact that the knapsack problem is NP-complete, since , unlike , is not polynomial in the length of the input to the problem. The length of the input to the problem is proportional to the number of bits in , , not to itself. However, since this runtime is pseudopolynomial, this makes the (decision version of the) knapsack problem a weakly NP-complete problem.
0-1 knapsack problem
A demonstration of the dynamic programming approach.
A similar dynamic programming solution for the 0-1 knapsack problem also runs in pseudo-polynomial time. Assume are strictly positive integers. Define to be the maximum value that can be attained with weight less than or equal to using items up to (first items).
We can define recursively as follows: (Definition A)
if (the new item is more than the current weight limit)
if .
The solution can then be found by calculating . To do this efficiently, we can use a table to store previous computations.
The following is pseudocode for the dynamic program:
// Input:// Values (stored in array v)// Weights (stored in array w)// Number of distinct items (n)// Knapsack capacity (W)// NOTE: The array "v" and array "w" are assumed to store all relevant values starting at index 1.arraym[0..n,0..W];forjfrom0toWdo:m[0,j]:=0forifrom1tondo:m[i,0]:=0forifrom1tondo:forjfrom1toWdo:ifw[i]>jthen:m[i,j]:=m[i-1,j]else:m[i,j]:=max(m[i-1,j],m[i-1,j-w[i]]+v[i])
This solution will therefore run in time and space.
(If we only need the value m[n,W], we can modify the code so that the amount of memory required is O(W) which stores the recent two lines of the array "m".)
However, if we take it a step or two further, we should know that the method will run in the time between and . From Definition A, we know that there is no need to compute all the weights when the number of items and the items themselves that we chose are fixed. That is to say, the program above computes more than necessary because the weight changes from 0 to W often. From this perspective, we can program this method so that it runs recursively.
// Input:// Values (stored in array v)// Weights (stored in array w)// Number of distinct items (n)// Knapsack capacity (W)// NOTE: The array "v" and array "w" are assumed to store all relevant values starting at index 1.Definevalue[n,W]Initializeallvalue[i,j]=-1Definem:=(i,j)// Define function m so that it represents the maximum value we can get under the condition: use first i items, total weight limit is j{ifi==0orj<=0then:value[i,j]=0returnif(value[i-1,j]==-1)then:// m[i-1, j] has not been calculated, we have to call function mm(i-1,j)ifw[i]>jthen:// item cannot fit in the bagvalue[i,j]=value[i-1,j]else:if(value[i-1,j-w[i]]==-1)then:// m[i-1,j-w[i]] has not been calculated, we have to call function mm(i-1,j-w[i])value[i,j]=max(value[i-1,j],value[i-1,j-w[i]]+v[i])}Runm(n,W)
For example, there are 10 different items and the weight limit is 67. So,
If you use above method to compute for , you will get this, excluding calls that produce :
Besides, we can break the recursion and convert it into a tree. Then we can cut some leaves and use parallel computing to expedite the running of this method.
To find the actual subset of items, rather than just their total value, we can run this after running the function above:
/** * Returns the indices of the items of the optimal knapsack. * i: We can include items 1 through i in the knapsack * j: maximum weight of the knapsack */functionknapsack(i:int,j:int):Set<int>{ifi==0then:return{}ifm[i,j]>m[i-1,j]then:return{i}∪knapsack(i-1,j-w[i])else:returnknapsack(i-1,j)}knapsack(n,W)
Meet-in-the-middle
Another algorithm for 0-1 knapsack, discovered in 1974[24] and sometimes called "meet-in-the-middle" due to parallels to a similarly named algorithm in cryptography, is exponential in the number of different items but may be preferable to the DP algorithm when is large compared to n. In particular, if the are nonnegative but not integers, we could still use the dynamic programming algorithm by scaling and rounding (i.e. using fixed-point arithmetic), but if the problem requires fractional digits of precision to arrive at the correct answer, will need to be scaled by , and the DP algorithm will require space and time.
algorithm Meet-in-the-middle isinput: A set of items with weights and values.
output: The greatest combined value of a subset.
partition the set {1...n} into two sets A and B of approximately equal size
compute the weights and values of all subsets of each set
for each subset ofAdo
find the subset of B of greatest value such that the combined weight is less than W
keep track of the greatest combined value seen so far
The algorithm takes space, and efficient implementations of step 3 (for instance, sorting the subsets of B by weight, discarding subsets of B which weigh more than other subsets of B of greater or equal value, and using binary search to find the best match) result in a runtime of . As with the meet in the middle attack in cryptography, this improves on the runtime of a naive brute force approach (examining all subsets of ), at the cost of using exponential rather than constant space (see also baby-step giant-step). The current state of the art improvement to the meet-in-the-middle algorithm, using insights from Schroeppel and Shamir's Algorithm for Subset Sum, provides as a corollary a randomized algorithm for Knapsack which preserves the (up to polynomial factors) running time and reduces the space requirements to (see [25] Corollary 1.4). In contrast, the best known deterministic algorithm runs in time with a slightly worse space complexity of .[26]
Approximation Algorithms
As for most NP-complete problems, it may be enough to find workable solutions even if they are not optimal. Preferably, however, the approximation comes with a guarantee of the difference between the value of the solution found and the value of the optimal solution.
As with many useful but computationally complex algorithms, there has been substantial research on creating and analyzing algorithms that approximate a solution. The knapsack problem, though NP-Hard, is one of a collection of algorithms that can still be approximated to any specified degree. This means that the problem has a polynomial time approximation scheme. To be exact, the knapsack problem has a fully polynomial time approximation scheme (FPTAS).[27]
Greedy approximation algorithm
George Dantzig proposed a greedyapproximation algorithm to solve the unbounded knapsack problem.[28] His version sorts the items in decreasing order of value per unit of weight, . It then proceeds to insert them into the sack, starting with as many copies as possible of the first kind of item until there is no longer space in the sack for more. Provided that there is an unlimited supply of each kind of item, if is the maximum value of items that fit into the sack, then the greedy algorithm is guaranteed to achieve at least a value of .
For the bounded problem, where the supply of each kind of item is limited, the above algorithm may be far from optimal. Nevertheless, a simple modification allows us to solve this case: Assume for simplicity that all items individually fit in the sack ( for all ). Construct a solution by packing items greedily as long as possible, i.e. where . Furthermore, construct a second solution containing the first item that did not fit. Since provides an upper bound for the LP relaxation of the problem, one of the sets must have value at least ; we thus return whichever of and has better value to obtain a -approximation.
It can be shown that the average performance converges to the optimal solution in distribution at the error rate [29]
Fully polynomial time approximation scheme
The fully polynomial time approximation scheme (FPTAS) for the knapsack problem takes advantage of the fact that the reason the problem has no known polynomial time solutions is because the profits associated with the items are not restricted. If one rounds off some of the least significant digits of the profit values then they will be bounded by a polynomial and 1/ε where ε is a bound on the correctness of the solution. This restriction then means that an algorithm can find a solution in polynomial time that is correct within a factor of (1-ε) of the optimal solution.[27]
algorithm FPTAS isinput: ε ∈ (0,1]
a list A of n items, specified by their values, , and weights
output: S' the FPTAS solution
P := max // the highest item value
K := ε for i from 1 to n do := end forreturn the solution, S', using the values in the dynamic program outlined above
Theorem: The set computed by the algorithm above satisfies , where is an optimal solution.
Quantum approximate optimization
Quantum approximate optimization algorithm (QAOA) can be employed to solve Knapsack problem using quantum computation by minimizing the Hamiltonian of the problem. The Knapsack Hamiltonian is constructed via imbedding the constraint condition to the cost function of the problem with a penalty term.[30]where is the penalty constant which is determined by case-specific fine-tuning.
Dominance relations
Solving the unbounded knapsack problem can be made easier by throwing away items which will never be needed. For a given item , suppose we could find a set of items such that their total weight is less than the weight of , and their total value is greater than the value of . Then cannot appear in the optimal solution, because we could always improve any potential solution containing by replacing with the set . Therefore, we can disregard the -th item altogether. In such cases, is said to dominate. (Note that this does not apply to bounded knapsack problems, since we may have already used up the items in .)
Finding dominance relations allows us to significantly reduce the size of the search space. There are several different types of dominance relations,[11] which all satisfy an inequality of the form:
, and for some
where
and . The vector denotes the number of copies of each member of .
Collective dominance
The -th item is collectively dominated by , written as , if the total weight of some combination of items in is less than wi and their total value is greater than vi. Formally, and for some , i.e. . Verifying this dominance is computationally hard, so it can only be used with a dynamic programming approach. In fact, this is equivalent to solving a smaller knapsack decision problem where , , and the items are restricted to .
Threshold dominance
The -th item is threshold dominated by , written as , if some number of copies of are dominated by . Formally, , and for some and . This is a generalization of collective dominance, first introduced in[19] and used in the EDUK algorithm. The smallest such defines the threshold of the item , written . In this case, the optimal solution could contain at most copies of .
Multiple dominance
The -th item is multiply dominated by a single item , written as , if is dominated by some number of copies of . Formally, , and for some i.e. . This dominance could be efficiently used during preprocessing because it can be detected relatively easily.
Modular dominance
Let be the best item, i.e. for all . This is the item with the greatest density of value. The -th item is modularly dominated by a single item , written as , if is dominated by plus several copies of . Formally, , and i.e. .
There are many variations of the knapsack problem that have arisen from the vast number of applications of the basic problem. The main variations occur by changing the number of some problem parameter such as the number of items, number of objectives, or even the number of knapsacks.
Multi-objective knapsack problem
This variation changes the goal of the individual filling the knapsack. Instead of one objective, such as maximizing the monetary profit, the objective could have several dimensions. For example, there could be environmental or social concerns as well as economic goals. Problems frequently addressed include portfolio and transportation logistics optimizations.[31][32]
As an example, suppose you ran a cruise ship. You have to decide how many famous comedians to hire. This boat can handle no more than one ton of passengers and the entertainers must weigh less than 1000 lbs. Each comedian has a weight, brings in business based on their popularity and asks for a specific salary. In this example, you have multiple objectives. You want, of course, to maximize the popularity of your entertainers while minimizing their salaries. Also, you want to have as many entertainers as possible.
Multi-dimensional knapsack problem
In this variation, the weight of knapsack item is given by a D-dimensional vector and the knapsack has a D-dimensional capacity vector . The target is to maximize the sum of the values of the items in the knapsack so that the sum of weights in each dimension does not exceed .
Multi-dimensional knapsack is computationally harder than knapsack; even for , the problem does not have EPTAS unless PNP.[33] However, the algorithm in[34] is shown to solve sparse instances efficiently. An instance of multi-dimensional knapsack is sparse if there is a set for such that for every knapsack item , such that and . Such instances occur, for example, when scheduling packets in a wireless network with relay nodes.[34] The algorithm from[34] also solves sparse instances of the multiple choice variant, multiple-choice multi-dimensional knapsack.
The IHS (Increasing Height Shelf) algorithm is optimal for 2D knapsack (packing squares into a two-dimensional unit size square): when there are at most five squares in an optimal packing.[35]
Multiple knapsack problem
This variation is similar to the Bin Packing Problem. It differs from the Bin Packing Problem in that a subset of items can be selected, whereas, in the Bin Packing Problem, all items have to be packed to certain bins. The concept is that there are multiple knapsacks. This may seem like a trivial change, but it is not equivalent to adding to the capacity of the initial knapsack. This variation is used in many loading and scheduling problems in Operations Research and has a Polynomial-time approximation scheme.[36]
Quadratic knapsack problem
The quadratic knapsack problem maximizes a quadratic objective function subject to binary and linear capacity constraints.[37] The problem was introduced by Gallo, Hammer, and Simeone in 1980,[38] however the first treatment of the problem dates back to Witzgall in 1975.[39]
Subset-sum problem
The subset sum problem is a special case of the decision and 0-1 problems where each kind of item, the weight equals the value: . In the field of cryptography, the term knapsack problem is often used to refer specifically to the subset sum problem. The subset sum problem is one of Karp's 21 NP-complete problems.[40]
A generalization of subset sum problem is called multiple subset-sum problem, in which multiple bins exist with the same capacity. It has been shown that the generalization does not have an FPTAS.[41]
Geometric knapsack problem
In the geometric knapsack problem, there is a set of rectangles with different values, and a rectangular knapsack. The goal is to pack the largest possible value into the knapsack.[42]
Combinatorial auction – smart market in which participants can place bids on combinations of discrete items, rather than individual items or continuous quantitiesPages displaying wikidata descriptions as a fallback
Packing problem – Problems which attempt to find the most efficient way to pack objects into containersPages displaying short descriptions of redirect targets
^Feuerman, Martin; Weiss, Harvey (April 1973). "A Mathematical Programming Model for Test Construction and Scoring". Management Science. 19 (8): 961–966. doi:10.1287/mnsc.19.8.961. JSTOR2629127.
^Pisinger, D. 2003. Where are the hard knapsack problems? Technical Report 2003/08, Department of Computer Science, University of Copenhagen, Copenhagen, Denmark.
^Caccetta, L.; Kulanoot, A. (2001). "Computational Aspects of Hard Knapsack Problems". Nonlinear Analysis. 47 (8): 5547–5558. doi:10.1016/s0362-546x(01)00658-7.
^Ben-Amram, Amir M.; Galil, Zvi (2001), "Topological Lower Bounds on Algebraic Random Access Machines", SIAM Journal on Computing, 31 (3): 722–761, doi:10.1137/S0097539797329397.
^auf der Heide, Meyer (1984), "A Polynomial Linear Search Algorithm for the n-Dimensional Knapsack Problem", Journal of the ACM, 31 (3): 668–676, doi:10.1145/828.322450
^ abAndonov, Rumen; Poirriez, Vincent; Rajopadhye, Sanjay (2000). "Unbounded Knapsack Problem : dynamic programming revisited". European Journal of Operational Research. 123 (2): 168–181. CiteSeerX10.1.1.41.2135. doi:10.1016/S0377-2217(99)00265-9.
^S. Martello, P. Toth, Knapsack Problems: Algorithms and Computer Implementations,
John Wiley and Sons, 1990
^Plateau, G.; Elkihel, M. (1985). "A hybrid algorithm for the 0-1 knapsack problem". Methods of Oper. Res. 49: 277–293.
^Martello, S.; Toth, P. (1984). "A mixture of dynamic programming and branch-and-bound for the subset-sum problem". Manag. Sci. 30 (6): 765–771. doi:10.1287/mnsc.30.6.765.
^Nederlof, Jesper; Węgrzycki, Karol (12 April 2021). "Improving Schroeppel and Shamir's Algorithm for Subset Sum via Orthogonal Vectors". arXiv:2010.08576 [cs.DS].
^Calvin, James M.; Leung, Joseph Y. -T. (1 May 2003). "Average-case analysis of a greedy algorithm for the 0/1 knapsack problem". Operations Research Letters. 31 (3): 202–210. doi:10.1016/S0167-6377(02)00222-5.
^Wu, Z. Y.; Yang, Y. J.; Bai, F. S.; Mammadov, M. (2011). "Global Optimality Conditions and Optimization Methods for Quadratic Knapsack Problems". J Optim Theory Appl. 151 (2): 241–259. doi:10.1007/s10957-011-9885-4. S2CID31208118.
^Gallo, G.; Hammer, P. L.; Simeone, B. (1980). "Quadratic knapsack problems". Combinatorial Optimization. Mathematical Programming Studies. Vol. 12. pp. 132–149. doi:10.1007/BFb0120892. ISBN978-3-642-00801-6.
^Witzgall, C. (1975). "Mathematical methods of site selection for Electronic Message Systems (EMS)". NASA Sti/Recon Technical Report N. 76. NBS Internal report: 18321. Bibcode:1975STIN...7618321W.
^Richard M. Karp (1972). "Reducibility Among Combinatorial Problems". In R. E. Miller and J. W. Thatcher (editors). Complexity of Computer Computations. New York: Plenum. pp. 85–103
Hutong di Beijing. Pintu masuk sebuah rumah di lingkungan hutong. Hutong Hanzi sederhana: 胡同 Hanzi tradisional: 衚衕 Makna harfiah: (dari kata quddug bahasa Mongolia Tengah, berarti air sumur) Alih aksara Mandarin - Hanyu Pinyin: hútòng - Wade-Giles: hu2-t'ung4 Hutong (Hanzi sederhana: 胡同; Hanzi tradisional: 衚衕 or 胡同; Pinyin: hútòng) adalah jalan sempit atau gang yang biasanya dikaitkan dengan kota-kota di Tiongkok utara, terutama Beijing. Di Beijing, hutong mer…
Below is a list of the tallest buildings in the U.S. state of Vermont by number of floors. All buildings over ten stories are included, as well as buildings over 100 feet in height. By the amount of floors, at 124 feet, Decker Towers in Burlington is the shortest building to be the tallest in a U.S. State. Tallest buildings Building Photography Floors Height Location Year built Notes Decker Towers 11 124 feet Burlington 1971 North Barre Manor[1] 11 98 feet[2] Barre 1982 Height in…
Polenta Masakan Valle d'Aosta (Cucina valdostana) adalah jenis masakan yang berasal dari regione Valle d'Aosta, Italia Utara.[1] Provinsi Valle d'Aosta terletak di daerah pegunungan Alpen yang lebih tinggi dibanding wilayah lain di Italia, sehingga masakan dari wilayah ini sebagian besar terbentuk oleh produk keju, susu, daging, serta hasil-hasil pertanian.[2] Selain itu, kuliner negara tetangga seperti Swiss dan Prancis juga ikut berpengaruh di sini.[2] Sejak zaman Romaw…
County of Albania County in AlbaniaLezhë County Qarku i Lezhës (Albanian)CountyView from Lezhë Castle EmblemCoordinates: 41°45′N 19°50′E / 41.750°N 19.833°E / 41.750; 19.833Country AlbaniaSeatLezhëSubdivisions3 municipalities, 175 towns and villagesGovernment • Council chairmanGjok ZagolaArea • Total1,620 km2 (630 sq mi)Population (2021[1]) • Total120,678 • Density74/km2 (190…
Cet article est une ébauche concernant une chanson, le Concours Eurovision de la chanson et le Luxembourg. Vous pouvez partager vos connaissances en l’améliorant (comment ?) selon les recommandations des projets correspondants. So laang we's du do bast Chanson de Camillo Felgen auConcours Eurovision de la chanson 1960 Sortie 1960 Langue Luxembourgeois Genre Pop, ballade Compositeur Jean Roderès Auteur-compositeur Henri Moots Classement 13e (1 point) Chansons représentant le Luxem…
City in the United States McKinney redirects here. For other uses, see McKinney (disambiguation). City in TexasMcKinney, TexasCityHistoric Downtown McKinneyMotto: Unique by natureLocation of McKinney in Collin County, TexasMcKinney, TexasLocation in the United StatesCoordinates: 33°11′50″N 96°38′23″W / 33.19722°N 96.63972°W / 33.19722; -96.63972Country United StatesState TexasCountyCollinIncorporated1848Government • TypeCouncil-Manag…
Untuk planet minor bernama sama, lihat 18 Melpomene. Patung Melpomene, buatan Romawi pada abad kedua M. Dia digambarkan mengenakan pakaian berlengan panjang dengan sabuk tinggi, jenis pakaian yang diasosiasikan dengan aktor tragedi. Untaian daun anggurnya mengaitkannya dengan dewa Dionisos, dewa teater. Melpomene (Yunani: Μελπομένη, bahasa Inggris: [mɛlˈpɒmɨniː]; bernyanyi atau dia yang merdu), adalah salah seorang Musai. Pada awalnya dia adalah Musai nyanyian, tetapi kemu…
Sodium thiocyanate The sodium cation The thiocyanate anion (space-filling model) Names IUPAC name Sodium thiocyanate Other names Sodium rhodanideSodium sulfocyanateSodium rhodanateThiocyanic acid, sodium salt Identifiers CAS Number 540-72-7 Y 3D model (JSmol) Interactive image Beilstein Reference 3594965 ChEBI CHEBI:30952 Y ChEMBL ChEMBL1644028 YChEMBL84336 YChEMBL1078613 Y ChemSpider 10443 Y ECHA InfoCard 100.007.960 EC Number 208-754-4 Gmelin Reference 1249825 Pub…
Yvrandes L'église Notre-Dame. Administration Pays France Région Normandie Département Orne Arrondissement Argentan Commune Tinchebray-Bocage Intercommunalité Domfront Tinchebray Interco Statut Commune déléguée Maire délégué Mandat Dominique Maupas 2020-2026 Code postal 61800 Code commune 61513 Démographie Gentilé Yvrandais Population 154 hab. (2019) Densité 15 hab./km2 Géographie Coordonnées 48° 43′ 10″ nord, 0° 45′ 02″ ouest Altit…
Kuta BaboDesaPeta lokasi Desa Kuta BaboNegara IndonesiaProvinsiSumatera UtaraKabupatenPakpak BharatKecamatanTinadaKode pos22272Kode Kemendagri12.15.07.2001 Luas3,3 km²Jumlah penduduk715 jiwaKepadatan216 jiwa/km² Kuta Babo adalah salah satu desa di Kecamatan Tinada, Kabupaten Pakpak Bharat, Provinsi Sumatera Utara, Indonesia. Penghasilan utama Desa Kuta Babo adalah Pertanian. Pemerintahan Desa Kuta Babo terdiri dari tiga dusun, yaitu:[1] Dusun I Kuta Babo Dusun II Uruk Simenggur Du…
العلاقات الجزائرية الإثيوبية الجزائر إثيوبيا الجزائر إثيوبيا تعديل مصدري - تعديل العلاقات الجزائرية الإثيوبية هي العلاقات الثنائية التي تجمع بين الجزائر وإثيوبيا.[1][2][3][4][5] مقارنة بين البلدين هذه مقارنة عامة ومرجعية للدولتين: وجه المق…
This article relies excessively on references to primary sources. Please improve this article by adding secondary or tertiary sources. Find sources: Kita-Komatsu Station – news · newspapers · books · scholar · JSTOR (January 2023) (Learn how and when to remove this template message)Railway station in Ōtsu, Shiga Prefecture, Japan Kita-Komatsu Station北小松駅Kita-Komatsu StationGeneral informationLocation743-4 Kita-Komatsu, Ōtsu-shi, Shiga-ken 520-05…
Genus of plants For other uses of chestnut, see Chestnut (disambiguation). For other uses of chinquapin or chinkapin, see Chinquapin (disambiguation). For other uses of Castanea, see Castanea (disambiguation). Chestnut Sweet chestnut (Castanea sativa) The edible nut being sold at a market Scientific classification Kingdom: Plantae Clade: Tracheophytes Clade: Angiosperms Clade: Eudicots Clade: Rosids Order: Fagales Family: Fagaceae Subfamily: Quercoideae Genus: CastaneaMill. Species Castanea cren…
Телевизионная башня в Томске. 2005 год. Томск стал пятым городом в СССР (третьим в РСФСР и первым в Сибири), где появилось телевидение. Содержание 1 История 1.1 Телецентр ТПИ (малый телевизионный центр) 1.2 Старый телецентр 1.3 Новый телецентр 2 Телекомпании 2.1 ГТРК «Томск» 2.2 ТВ-2 2.3 …
Emiel Van CauterInformationsNaissance 2 décembre 1931MeiseDécès 26 octobre 1975 (à 43 ans)BangkokNationalité belgeÉquipes professionnelles 1955-1956Elvé-Peugeot1956Eldorado-Elvé1957Peugeot-BP-Dunlop1958-1959Elvé-PeugeotPrincipales victoires Championnats Champion du monde sur route amateurs 1954 Champion de Belgique sur route 1955modifier - modifier le code - modifier Wikidata Emiel Van Cauter, né le 2 décembre 1931 à Meuzegem (nl)-Wolvertem et mort le 26 octobre 1975 à Ban…
August Hermann Francke August Hermann Francke (Lubecca, 22 marzo 1663 – Halle an der Saale, 8 giugno 1727) è stato un teologo e pedagogo tedesco. Indice 1 Biografia 2 Bibliografia 2.1 Opere 2.2 Studi 3 Voci correlate 4 Altri progetti 5 Collegamenti esterni Biografia Studiò prima nel ginnasio di Gotha e poi nelle Università di Erfurt, di Kiel, dove venne sotto l'influsso del pietista Christian Kortholt e infine nell'Università di Lipsia dove si laureò nel 1686. Durante i suoi studi approfo…
Línea 1 - Azul Vista de la estación Parada Inglesa.LugarUbicación São Paulo, BrasilÁrea abastecida Bom RetiroJabaquaraLibertadeSantanaSaúdeSéTucuruviVila MarianaDescripciónTipo MetroSistema Metro de São PauloInauguración 14 de septiembre de 1974 (49 años)Inicio TucuruviFin JabaquaraIntercambiadores Ana Rosa Paraíso Sé Luz Santa CruzDepósitos 1 (Jabaquara)Características técnicasLongitud 20,2 kmVías 2Estaciones 23Ancho de vía 1600 mmElectrificación 750 V CC por Tercer riel…