Communication
Install
Faster access than browser!

# Knapsack problem

The knapsack problem or rucksack problem is a problem in combinatorial optimization: Given a set of items, each with a mass and a value, determine the number of each item to include in a collection so that the total weight is less than or equal to a given limit and the total value is as large as possible. [1]

## Applied mathematics

Applied mathematics is a branch of mathematics that deals with mathematical methods that find use in science, engineering, business, computer science, and industry.

## Approximation algorithm

In computer science and operations research, approximation algorithms are algorithms used to find approximate solutions to optimization problems.

## Baby-step giant-step

In group theory, a branch of mathematics, the baby-step giant-step is a meet-in-the-middle algorithm computing the discrete logarithm.

## Backpack

A backpack — also called bookbag, knapsack, packsack, pack, or bergen — is, in its simplest form, a cloth sack carried on one's back and secured with two straps that go over the shoulders, but there can be exceptions.

## Big O notation

In mathematics, big O notation describes the limiting behavior of a function when the argument tends towards a particular value or infinity, usually in terms of simpler functions.

## Bin packing problem

In the bin packing problem, objects of different volumes must be packed into a finite number of bins or containers each of volume V in a way that minimizes the number of bins used.

## Change-making problem

The change-making problem addresses the following question: how can a given amount of money be made with the least number of coins of given denominations? It is a knapsack type problem, and has applications wider than just currency.

## Combinatorial auction

A combinatorial auction is a type of smart market in which participants can place bids on combinations of discrete items, or “packages”, rather than individual items or continuous quantities.

## Combinatorial optimization

In applied mathematics and theoretical computer science, combinatorial optimization is a topic that consists of finding an optimal object from a finite set of objects.

## Combinatorics

Combinatorics is a branch of mathematics concerning the study of finite or countable discrete structures.

## Computational complexity theory

Computational complexity theory is a branch of the theory of computation in theoretical computer science and mathematics that focuses on classifying computational problems according to their inherent difficulty, and relating those classes to each other.

## Computer science

Computer science deals with the theoretical foundations of information and computation, together with practical techniques for the implementation and application of these foundations Computer science is the scientific and practical approach to computation and its applications.

## Computers and Intractability

In computer science, more specifically computational complexity theory, Computers and Intractability: A Guide to the Theory of NP-Completeness is an influential textbook by Michael Garey and David S. Johnson.

## Continuous knapsack problem

In theoretical computer science, the continuous knapsack problem (also known as the fractional knapsack problem) is an algorithmic problem in combinatorial optimization in which the goal is to fill a container (the "knapsack") with fractional amounts of different materials chosen to maximize the value of the selected materials.

## Cryptography

Cryptography or cryptology; from Greek κρυπτός kryptós, "hidden, secret"; and γράφειν graphein, "writing", or -λογία -logia, "study", respectively is the practice and study of techniques for secure communication in the presence of third parties (called adversaries).

## Cryptonomicon

Cryptonomicon is a 1999 novel by American author Neal Stephenson, set in two different time periods.

## Cutting stock problem

In operations research, the cutting-stock problem is the problem of cutting standard-sized pieces of stock material, such as paper rolls or sheet metal, into pieces of specified sizes while minimizing material wasted.

## David S. Johnson

David Stifler Johnson (born December 9, 1945, Washington, D.C.) is an American computer scientist specializing in algorithms and optimization.

## Decision problem

In computability theory and computational complexity theory, a decision problem is a question in some formal system with a yes-or-no answer, depending on the values of some input parameters.

## Dungeons & Dragons

Dungeons & Dragons (abbreviated as D&DMead, Malcomson; ''Dungeons & Dragons'' FAQ or DnD) is a fantasy tabletop role-playing game (RPG) originally designed by Gary Gygax and Dave Arneson, and first published in 1974 by Tactical Studies Rules, Inc. (TSR).

## Dynamic programming

In mathematics, computer science, economics, and bioinformatics, dynamic programming is a method for solving a complex problem by breaking it down into a collection of simpler subproblems.

## Fixed-point arithmetic

In computing, a fixed-point number representation is a real data type for a number that has a fixed number of digits after (and sometimes also before) the radix point (after the decimal point '.' in English decimal notation).

## George Dantzig

George Bernard Dantzig (November 8, 1914 – May 13, 2005) was an American mathematical scientist who made important contributions to operations research, computer science, economics, and statistics.

## Greatest common divisor

In mathematics, the greatest common divisor (gcd) of two or more integers, when at least one of them is not zero, is the largest positive integer that divides the numbers without a remainder.

## Greedy algorithm

A greedy algorithm is an algorithm that follows the problem solving heuristic of making the locally optimal choice at each stage with the hope of finding a global optimum.

## Hybrid algorithm

A hybrid algorithm is an algorithm that combines two or more other algorithms that solve the same problem, either choosing one (depending on the data), or switching between them over the course of the algorithm.

## Investment

Investment is time, energy, or matter spent in the hope of future benefits actualized within a specified date or time frame.

## K-d tree

In computer science, a k-d tree (short for k-dimensional tree) is a space-partitioning data structure for organizing points in a k-dimensional space.

## Karp's 21 NP-complete problems

In computational complexity theory, Karp's 21 NP-complete problems are a set of computational problems which are NP-complete.

## Knapsack cryptosystems

Knapsack Cryptosystems are cryptosystems which security is based on the hardness of solving the knapsack problem.

## List of knapsack problems

The knapsack problem is one of the most studied problems in combinatorial optimization, with many real-life applications.

## Meet-in-the-middle attack

The Meet-in-the-Middle attack (MITM) is a generic space–time tradeoff cryptographic attack.

## Merkle–Hellman knapsack cryptosystem

The Merkle–Hellman knapsack cryptosystem was one of the earliest public key cryptosystems invented by Ralph Merkle and Martin Hellman in 1978.

## NP-completeness

In computational complexity theory, a decision problem is NP-complete when it is both in NP and NP-hard.

## NP-hardness

NP-hardness (''n''on-deterministic ''p''olynomial-time hard), in computational complexity theory, is a class of problems that are, informally, "at least as hard as the hardest problems in NP".

## P versus NP problem

The P versus NP problem is a major unsolved problem in computer science.

## Packing problems

Packing problems are a class of optimization problems in mathematics that involve attempting to pack objects together into containers.

## Polynomial-time approximation scheme

In computer science, a polynomial-time approximation scheme (PTAS) is a type of approximation algorithm for optimization problems (most often, NP-hard optimization problems).

## Portfolio (finance)

In finance, a portfolio is a collection of investments held by an investment company, hedge fund, financial institution or individual.

## Pseudo-polynomial time

In computational complexity theory, a numeric algorithm runs in pseudo-polynomial time if its running time is polynomial in the numeric value of the input, but is exponential in the length of the input – the number of bits required to represent it.

## Public-key cryptography

Public-key cryptography, also known as asymmetric cryptography, is a class of cryptographic protocols based on algorithms that require two separate keys, one of which is secret (or private) and one of which is public.

## R (programming language)

R is a programming language and software environment for statistical computing and graphics.

## Resource allocation

Resource allocation is the assignment of available resources to various uses.

## Rosetta Code

Rosetta Code is a wiki-based programming chrestomathy website with implementations of common algorithms and solutions to various programming problems in many different programming languages.

## Securitization

Securitization is the financial practice of pooling various types of contractual debt such as residential mortgages, commercial mortgages, auto loans or credit card debt obligations (or other non-debt assets which generate receivables) and selling their related cash flows to third party investors as securities, which may be described as bonds, pass-through securities, or collateralized debt obligations (CDOs).

## Subset sum problem

In computer science, the subset sum problem is one of the important problems in complexity theory and cryptography.

## Suffix tree

In computer science, a suffix tree (also called PAT tree or, in an earlier form, position tree) is a compressed trie containing all the suffixes of the given text as their keys and positions in the text as their values.

## The Elder Scrolls

The Elder Scrolls is a series of action role-playing open world fantasy video games primarily developed by Bethesda Game Studios and published by Bethesda Softworks.

## Tobias Dantzig

Tobias Dantzig (February 19, 1884 – August 9, 1956) was a mathematician of Baltic German and Russian American heritage, the father of George Dantzig, and the author of Number: The Language of Science (A critical survey written for the cultured non-mathematician) (1930) and Aspects of Science (New York, Macmillan, 1937).

## References

Hey! We are on Facebook now! »