fredreload Posted August 18, 2016 Share Posted August 18, 2016 (edited) I want to create a function out of any number of variables that would generate a non repeat output value, sort of like indexing. So to being with one variable you got x, and you set x to 0,1,2,3,4,5,6,7,8,9,10 slowly incrementing values and is positive with non repeating outputs. Now with 2 variables x and y, how do I make it the same as above? Now 3 variables 4, or more, how do I do it? orz http://stackoverflow.com/questions/14013373/finding-the-index-of-a-given-permutation Edited August 18, 2016 by fredreload Link to comment Share on other sites More sharing options...
wtf Posted August 18, 2016 Share Posted August 18, 2016 (edited) What is the domain of your function? In your example of setting x = 0, 1, 2, 3 ... are those the inputs or the outputs? If you mean you have some function [math]f : \mathbb N \rightarrow \mathbb N[/math] with [math]f(0) = 0[/math], [math]f(1) = 1[/math], etc., then there's an easy way to get unique outputs for any number of variables. For example given two positive integers [math]m, n[/math] we can map that pair to [math]2^m 3^n[/math]. Likewise given any finite set of [math]n[/math] positive integer input variables [math]n_i[/math], we can map them to [math]\displaystyle \Pi_{i=1}^n p_i^{n_i}[/math] where [math]p_i[/math] is the [math]i[/math]-th prime. Uniqueness of the output is guaranteed by the fundamental theorem of arithmetic. Do you see how this works? Is this what you are asking? Edited August 18, 2016 by wtf Link to comment Share on other sites More sharing options...
fredreload Posted August 19, 2016 Author Share Posted August 19, 2016 I found the answer in the link I posted, pretty much what I am looking for, indexing out of permutations Link to comment Share on other sites More sharing options...
fiveworlds Posted August 22, 2016 Share Posted August 22, 2016 I found the answer in the link I posted, pretty much what I am looking for, indexing out of permutations Would you care to enlighten us. I certainly haven't a clue what you were on about from your first post. I shouldn't have to click on an external link. Is it something like unique passenger ticket generation?? Or is it placing things in alphabetical/numerical order lexicographical indexing like in the stackoverflow link?? <?php $passeneger_ticket_numbers = array("1212","2413","5135","51326","315256"); $passengers = array(array("derek",""),array("bob",""),array("joe",""),array("marie",""),array("anna","")); if(count($passengers)===5){ for($i=0;$i<=count($passengers)-1;$i=$i+1){ $random = rand(0, count($passeneger_ticket_numbers)-1); $passengers[$i][1]= $passeneger_ticket_numbers[$random]; unset($passeneger_ticket_numbers[$random]); $passeneger_ticket_numbers = array_values($passeneger_ticket_numbers); } } var_dump($passengers); ?> The above take O(1) time and space because my boat holds x number of passengers and always try to have the maximum number of passengers before departure. Link to comment Share on other sites More sharing options...
fredreload Posted September 13, 2016 Author Share Posted September 13, 2016 Right my question is kind of vague, if you are still interested at this point let me know, I think I can apply this to gene sequencing Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now