Jump to content

Jumble algorithm: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
JMatthews (talk | contribs)
Remove spurious content.
JMatthews (talk | contribs)
m Add disambiguation link.
Line 5: Line 5:
}}
}}
{{merge to|Jumble|discuss=Talk:Jumble#Proposed merge with Jumble algorithm|date=June 2015}}
{{merge to|Jumble|discuss=Talk:Jumble#Proposed merge with Jumble algorithm|date=June 2015}}
{{about| algorithms to solve and create the word game|other meanings|Jumble (disambiguation)}}
Each clue in a [[Jumble]] word puzzle is a word that has been “jumbled” by permuting the letters of each word to make an [[anagram]]. A dictionary of such anagrams may be used to solve puzzles or verify that a jumbled word is unique when creating puzzles.
Each clue in a [[Jumble]] word puzzle is a word that has been “jumbled” by permuting the letters of each word to make an [[anagram]]. A dictionary of such anagrams may be used to solve puzzles or verify that a jumbled word is unique when creating puzzles.



Revision as of 15:55, 29 June 2015

Each clue in a Jumble word puzzle is a word that has been “jumbled” by permuting the letters of each word to make an anagram. A dictionary of such anagrams may be used to solve puzzles or verify that a jumbled word is unique when creating puzzles.

Computerized solution

Algorithms have been designed to solve Jumbles, using a dictionary. Common algorithms work by printing all words that can be formed from a set of letters. The solver then chooses the right word.

One algorithm is as follows:

  1. Begin
  2. Input: J , all the jumbled letters that form an unknown W word(s), we want.
  3. Sort the letters of J in alphabetical order, preserving duplicates.
  4. Look up sorted letters in a hash table, initialised with a dictionary, that maps a sorted set of letters to unscrambled words.
  5. Print the set of words, which is W.
  6. End

Another algorithm:

  1. Begin
  2. Input: J, all the jumbled letters that form an unknown W word(s)
  3. Frame a word list Y with all different combination of J
  4. For each word in Y check if the word is existing in the dictionary
  5. If a match is found then collect it in word list W
  6. Prints the words in W

Algorithm to write J in all different combination

1.Begin
2.Initialize a string with first character of J denoted by J(1)
3.Add the second character of J denoted by J(2) in either side of J(1)to get two strings

  J(1)J(2) 
  J(2)J(1)

4.Add the third character of J denoted by J(3) in either side and in between of the above 2 strings in above step to get 6 strings

  J(1)J(2)J(3)
  J(1)J(3)J(2)
  J(3)J(1)J(2)
  J(2)J(1)J(3)
  J(2)J(3)J(1)
  J(3)J(2)J(1)

5.Same way add J(4) to each of the above string in either sides and between two characters to get 24 strings
6.Continue this until all the characters are completed

Though the algorithm looks complex it is easy to program.

Douglas Hofstadter developed a program called Jumbo that tries to solve Jumble problems as a human mind would. The program doesn't rely on a dictionary and doesn't try to find real English words, but rather words that could be English, exploiting a database of plausibilities for various combinations of letters. Letters are combined non-deterministically, following a strategy inspired by chemical reactions and free associations.