combinatorics

a non recursive approach to the problem of generating combinations at fault

Hi, I wanted a non recursive approach to the problem of generating combination of certain set of characters or numbers. So, given a subset k of numbers n, generate all the possible combination n!/k!(n-k)! The recursive method would give a combination, given the previous one combination. A non recursive method would generate a combin...

Algorithm for finding symmetries of a tree

I have n sectors, enumerated 0 to n-1 counterclockwise. The boundaries between these sectors are infinite branches (n of them). The sectors live in the complex plane, and for n even, sector 0 and n/2 are bisected by the real axis, and the sectors are evenly spaced. These branches meet at certain points, called junctions. Each junction i...

Permutations with extra restrictions

I have a set of items, for example: {1,1,1,2,2,3,3,3}, and a restricting set of sets, for example {{3},{1,2},{1,2,3},{1,2,3},{1,2,3},{1,2,3},{2,3},{2,3}. I am looking for permutations of items, but the first element must be 3, and the second must be 1 or 2, etc. One such permutation that fits is: {3,1,1,1,2,2,3} Is there an algorithm ...

Replace duplicate values in array with new randomly generated values

I have below a function (from a previous question that went unanswered) that creates an array with n amount of values. The sum of the array is equal to $max. function randomDistinctPartition($n, $max) { $partition= array(); for ($i = 1; $i < $n; $i++) { $maxSingleNumber = $max - $n; $partition[] = $number = rand(1, $maxSingl...

Combinatorics grouping problem

I'm looking for an algorithm in c# that solves a combinatorics problem: Assume i have the objects 1,2,3,4 I want to get all possible ways to group these object in multiple groups, that each time contain all objects. Order is not important. Example: <1,2,3,4> <1,2 / 3,4> <1,3 / 2,4> <1,4 / 3,2> <1,2,3 / 4> <1,2,4 / 3> <1,3,4 / 2> <2...

Program contains 2 nested loops which contain 4 if conditionals. How many paths?

In Roger Pressman's book, there is an example described of a program with 2 nested loops, the inner loop enclosing four if statements. The two loops can execute up to 20 times. He states that this makes about 10^14 paths. To get a number this large, it seems the paths inside the loops are multipllied by 2^40, i.e. 2^20 times 2^20 to acco...

Combinatorial optimisation of a distance metric

I have a set of trajectories, made up of points along the trajectory, and with the coordinates associated with each point. I store these in a 3d array ( trajectory, point, param). I want to find the set of r trajectories that have the maximum accumulated distance between the possible pairwise combinations of these trajectories. My first ...

Project Euler #163 understanding

I spent quite a long time searching for a solution to this problem. I drew tons of cross-hatched triangles, counted the triangles in simple cases, and searched for some sort of pattern. Unfortunately, I hit the wall. I'm pretty sure my programming/math skills did not meet the prereq for this problem. So I found a solution online in ord...

permutation and/ or combination of california license plate

just wondering california's license plate is 0XXX0000 number, 3 alphabets and 4 numbers. how many permutation / combinations of total different license plate it could be ? i learned this in discrete structure but I have forgotten ...

concatenation of all combination from different Lists in c#

I have a List and I'm grouping it into different lists. From: List -> "a","b","c","it","as","am","cat","can","bat" Into List1 -> -a,b,c List2 -> it,as,am List3 -> cat,can,bat How can I concat the all possible combination from this lists, with output like: a,it,cat b,it,cat c,it,cat a,am,cat b,am,cat c,am,cat . . . . etc so on......

How can I combine pairs of elements from a std::set?

I have a set<string> from "one", "two", and "three". How can I get all pairs from it? one - two one - three two - three ...

Finding number of different paths

I have a game that one player X wants to pass a ball to player Y, but he can be playing with more than one player and the others players can pass the ball to Y. I want to know how many different paths can the ball take from X to Y? for example if he is playing with 3 players there are 5 different paths, 4 players 16 paths, if he is pl...

Generate all permutations with sort constraint

Hi! I have a list consisting of other lists and some zeroes, for example: x = [[1, 1, 2], [1, 1, 1, 2], [1, 1, 2], 0, 0, 0] I would like to generate all the combinations of this list while keeping the order of the inner lists unchanged, so [[1, 1, 2], 0, 0, [1, 1, 1, 2], [1, 1, 2], 0] is fine, but [[1, 1, 1, 2], [1, 1, 2], 0, 0, ...

Generate all the ways to intersperse a list of lists, keeping each list in order.

Given a list of lists like this [[1,2,3],[a,b,c,d],[x,y]] generate all permutations of the flattened list, [1,2,3,a,b,c,d,x,y], such that the elements of each sublist occur in the same order. For example, this one is okay [a,1,b,2,x,y,3,c,d] but this one is not [y,1,2,3,a,b,c,x,d] because y must occur after x, that being how x a...

Creating combinations that have no more one intersecting element

I am looking to create a special type of combination in which no two sets have more than one intersecting element. Let me explain with an example: Let us say we have 9 letter set that contains A, B, C, D, E, F, G, H, and I If you create the standard non-repeating combinations of three letters you will have 9C3 sets. These will contain ...

algorithm to combinatorics

I am trying to solve a combinatorics problem, it seems easy, but i am having some trouble with it. If i have at most X tables, and N persons to sit on the tables, Each table can have 1 to N seating places, and I can only sit persons in one side of a rectangular table( so the order how people sit matters). I want to make a code that ca...

Open space sitting optimization algorithm

As a result of changes in the company, we have to rearrange our sitting plan: one room with 10 desks in it. Some desks are more popular than others for number of reasons. One solution would be to draw a desk number from a hat. We think there is a better way to do it. We have 10 desks and 10 people. Lets give every person in this contest...

How to generate all variations with repetitions of a string?

I want to generate all variations with repetitions of a string in C++ and I'd highly prefer a non-recursive algorithm. I've come up with a recursive algorithm in the past but due to the complexity (r^n) I'd like to see an iterative approach. I'm quite surprised that I wasn't able to find a solution to this problem anywhere on the web or...

question about combinatorical

here is task How many ways are there to choose from the set {1, 2, . . . , 100} three distinct numbers so that their sum is even? first of all sum of three numbers is even if only if 1.all number is even 2.two of them is odd and one is even i know that (n) = n!/(k!*(n-k)! (k) and can anybody help me to solve this pr...

Reducing permutations of many nested loops

I decided to do an image to explain this better, I just want to check my thinking is ok, and that I can reduce total permutations by 75%: ...