Find Jobs
Hire Freelancers

Combinations/Permutations Algorithm and Program

$30-100 USD

Anulowano
Opublikowano ponad 13 lat temu

$30-100 USD

Płatne przy odbiorze
I need an algorithm and implementation as software for the problem described below. The program can be developed in PHP (preferred), Python or Java and should run on both Linux and Windows. If you can develop this in other language or in a language that works only on one operating system, you can still bid. I will however prefer PHP as the programming language of choice. Please specify in your bid what programming language you will use. If you don't I will not take your bid into consideration. ## Deliverables Problem: I have a PHP script that accept text in spinable format (explained below) and randomly generates a spin (variation). However, I don't know how many variations can be generated (maximum) while maintaining a given uniqueness across all generated spins. Also I don't know, what will be the smallest uniqueness if i decide to generate a given number of spins. I need a program to calculate that. I already have the program that parses the text and generates a tree-like structure in an array. The code is in PHP and if you choose PHP to build this program you will receive that component from me, so you will NOT have to code it yourself. You have to create a program/script that receives as input some text in a certain format and one of the following requirements regarding the operating mode: 1. Return maximum number of spins while maintaining given uniqueness. In this case another piece of input data is the uniqueness in percentage (1-100%). 2. Return uniqueness based on given number of spins. In this case another piece of input data is the number of spins required. Basically, the text given as input is in a format like this: {Jay|Jack|Andy|Kent} {went to|wants to {go to|visit}} {the Grand Canyon|Jamaica|Germany}. This text gets spun by the program I already have and from each block delimited by curly brackets, one "atom" (word) is picked randomly. For example 2 possible outputs are: 1. Jay went to the Grand Canyon. 2. Andy wants to go to Jamaica. 3. Andy wants to visit Germany. As you see, there is a limited number of possibilities that can be generated. Also, note that it is possible to have nested blocks delimited by curly brackets (blocks in blocks). While there is a limited number of possible spins/variations, it is obvious that depending of the size of the input text and how spun it is, some spins will be very similar with others. For example the following two spins are very similar (have just one word that is different). 1. Jay went to Germany. 2. Andy went to Germany. What I want is to figure out for a given piece of text, how many spins I can do and have a uniqueness above a certain threshold (%) OR what is the minimum uniqueness that I will get if I choose to generate a given number of spins. There are two ways to calculate this: 1. Taking into consideration each word. This is probably more difficult. 2. Taking into consideration atoms (separated by pipe character within the block), even if an atom contains a word that is present within a synonym atom (e.g. {I like to|I would like to} ). Please SPECIFY which approach you will take. I prefer the 1st one but if you think it is too complicated I can live with the 2nd one as well. Another thing to note is that there are optional blocks. Example: I {|would} like to eat pie. Here "would" is optional as the parser chooses between empty string (between { and |) and "would", each having 50% chances to be selected. Also, there are variables. Variables have tilda character in front (e.g. ~variable_name). This should not be a problem, however. The program should not use a brute force approach (generate all possible combinations), but do it in an efficient way, maybe using a mathematical formula or something. Keep in mind that the program might get as input in excess of 10000 words and it has to compute in a timely manner. Brute force would probably take months to generate not to mention it would fill up all available memory. Also, not required by this bid request, but appreciated and payed for, is a mathematical formula to determine the information I am interested in for texts with a regular structure and one level of spinning. Example: {a1|a2|a3} {b1|b2|b3} {c1|c2|c3} {d1|d2|d3} In this case I would know the number of blocks (4) and the number of atoms/synonyms within each block (3). If you have questions, feel free to ask. Please specify in your bid the time you request to complete it. Thank you!
Identyfikator projektu: 3622222

Informację o projekcie

21 ofert
Zdalny projekt
Aktywny 14 lat temu

Szukasz sposobu na zarobienie pieniędzy?

Korzyści ze składania ofert na Freelancer.com

Ustal budżet i ramy czasowe
Otrzymuj wynagrodzenie za swoją pracę
Przedstaw swoją propozycję
Rejestracja i składanie ofert jest bezpłatne
21 freelancers are bidding on average $160 USD for this job
Awatar Użytkownika
See private message.
$63,75 USD w 3 dni
4,9 (165 opinii)
6,3
6,3
Awatar Użytkownika
See private message.
$63,75 USD w 3 dni
4,8 (50 opinii)
5,8
5,8
Awatar Użytkownika
See private message.
$17 USD w 3 dni
4,9 (80 opinii)
5,2
5,2
Awatar Użytkownika
See private message.
$127,50 USD w 3 dni
4,9 (24 opinii)
4,7
4,7
Awatar Użytkownika
See private message.
$1 275 USD w 3 dni
5,0 (16 opinii)
4,3
4,3
Awatar Użytkownika
See private message.
$127,50 USD w 3 dni
5,0 (7 opinii)
3,4
3,4
Awatar Użytkownika
See private message.
$255 USD w 3 dni
5,0 (5 opinii)
3,0
3,0
Awatar Użytkownika
See private message.
$85 USD w 3 dni
5,0 (2 opinii)
1,6
1,6
Awatar Użytkownika
See private message.
$59,50 USD w 3 dni
5,0 (3 opinii)
1,5
1,5
Awatar Użytkownika
See private message.
$51 USD w 3 dni
0,0 (0 opinii)
0,0
0,0
Awatar Użytkownika
See private message.
$425 USD w 3 dni
0,0 (0 opinii)
0,0
0,0
Awatar Użytkownika
See private message.
$68 USD w 3 dni
0,0 (0 opinii)
0,0
0,0
Awatar Użytkownika
See private message.
$76,50 USD w 3 dni
0,0 (1 opinia)
0,0
0,0
Awatar Użytkownika
See private message.
$63,75 USD w 3 dni
0,0 (0 opinii)
0,0
0,0
Awatar Użytkownika
See private message.
$34 USD w 3 dni
0,0 (0 opinii)
0,0
0,0
Awatar Użytkownika
See private message.
$170 USD w 3 dni
0,0 (1 opinia)
0,0
0,0
Awatar Użytkownika
See private message.
$84,15 USD w 3 dni
0,0 (1 opinia)
0,0
0,0
Awatar Użytkownika
See private message.
$127,50 USD w 3 dni
0,0 (0 opinii)
0,0
0,0
Awatar Użytkownika
See private message.
$8,50 USD w 3 dni
0,0 (3 opinii)
1,8
1,8
Awatar Użytkownika
See private message.
$127,50 USD w 3 dni
0,0 (2 opinii)
0,0
0,0

O kliencie

Flaga ROMANIA
Pitesti, Romania
4,7
3
Zweryfikowana metoda płatności
Członek od mar 22, 2002

Weryfikacja Klienta

Dziękujemy! Przesłaliśmy Ci e-mailem link do odebrania darmowego bonusu.
Coś poszło nie tak podczas wysyłania wiadomości e-mail. Proszę spróbować ponownie.
Zarejestrowani Użytkownicy Całkowita Liczba Opublikowanych Projektów
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Wczytywanie podglądu
Udzielono pozwolenia na Geolokalizację.
Twoja sesja logowania wygasła i zostałeś wylogowany. Proszę, zalogować się ponownie.