Джамбл алгоритмі - Jumble algorithm

А Кекіру сөзжұмбақ - бұл әр сөздің әріптерін ауыстырып, «адастырған» сөз анаграмма. Мұндай анаграммалардың сөздігі жұмбақтарды шешуге немесе жұмбақтар құрған кезде сөздің ерекше екендігін тексеруге пайдаланылуы мүмкін.

Компьютерленген шешім

Алгоритмдер сөздікті қолдана отырып, Джамблды шешуге арналған. Жалпы алгоритмдер әріптер жиынтығынан жасалуы мүмкін барлық сөздерді басып шығару арқылы жұмыс істейді. The шешуші содан кейін дұрыс сөзді таңдайды.

Бірінші алгоритм:

  1. Баста
  2. Кіріс: J, белгісіз W сөзін (сөздерін) құрайтын барлық әріптер
  3. J әріптерін алфавиттік ретпен, телнұсқаларын сақтай отырып сұрыптаңыз
  4. Сөздікке инсталляцияланған хэш кестеден сұрыпталған әріптерді сұрыпталған әріптерге сұрыпталған әріптер тізбегін іздеңіз
  5. Сөздердің жиынтығын басып шығарыңыз, ол W
  6. Соңы

Екінші алгоритм:

  1. Баста
  2. Кіріс: J, белгісіз W сөзін (сөздерін) құрайтын барлық дауысты әріптер
  3. Барлығымен бірге Y сөз тізімін құрастырыңыз ауыстыру Дж
  4. Y сөзіндегі сөздердің әрқайсысы үшін сөздікте бар-жоғын тексеріңіз
  5. Егер сәйкестік табылса, оны W сөздер тізіміне жинаңыз
  6. Сөздерді В.
  7. Соңы

Табу алгоритмі ауыстыру Дж:

  1. Баста
  2. Бірінші символы бар J инициализациясы J (1)
  3. Екі жолды алу үшін J (1) -дің екі жағында J (2) белгілеген J-нің екінші таңбасын қосыңыз

J (1)J (2)


J (2)J (1)

  1. J-нің үшінші таңбасын J (3) деп белгілеп, екі жолға және жоғарыдағы 2 жолдың арасына қосып, 6 жолға ие болыңыз.

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)

  1. Дәл осылай жоғарыдағы жолдардың әрқайсысына екі жағынан және екі таңбаның арасынан J (4) қосып, 24 жолды алады
  2. Мұны барлық таңбалар аяқталғанша жалғастырыңыз

Алгоритм күрделі болып көрінгенімен, оны бағдарламалау оңай.

Дуглас Хофштадтер атты бағдарлама әзірледі Jumbo Джамбл мәселелерін адамның ақыл-ойы сияқты шешуге тырысады.Бағдарлама сөздікке сүйенбейді және нақты ағылшын сөздерін табуға тырыспайды, керісінше, әр түрлі әріптер тіркесімі үшін қолайлы мәліметтер базасын қолдана отырып, ағылшынша болуы мүмкін сөздер. .Хаттар химиялық реакциялар мен еркін ассоциациялардан туындаған стратегияны қолдана отырып, детерминирленбестен біріктіріледі.