Word Patterns for Cryptography

Course Queries Syllabus Queries 3 years ago

2.04K 2 0 0 0

User submissions are the sole responsibility of contributors, with TuteeHUB disclaiming liability for accuracy, copyrights, or consequences of use; content is for informational purposes only and not professional advice.

Answers (2)

Post Answer
profilepic.png
manpreet Tuteehub forum best answer Best Answer 3 years ago

I want a function f that takes a word (like those listed in WordList[]) and returns a pattern best described by examples like these: f[“book”]=abbc; f[“settings”]=abccdefa; and f[“moving”]=abcdef.

Then I want a second function, f2, that searches a list of words for words that have the same pattern, returning a list of them; for example f2[WordList[],abcdefabgd]={liberalize, roisterous, stochastic}

The motive is to write a program that solves substitution ciphers, but could have other uses too!

0 views
0 shares

profilepic.png
manpreet 3 years ago

You can split the string and turn it into a pattern like this:

makePattern[word_String] := StringExpression @@ Map[
  With[{s = Symbol @ #}, Pattern[s, Blank[]]] &,
  Characters[word]];

findMatches[word_String, list_List : WordList[]] := 
  Select[list, StringMatchQ[makePattern @ word]];

Which gives you

findMatches @ "settings"

{"diffused", "golliwog", "greening", "greeting", "grooming", "grooving", "guzzling", "littoral", "rollover", "succubus", "suppress", "syllabus"}


0 views   0 shares

No matter what stage you're at in your education or career, TuteeHUB will help you reach the next level that you're aiming for. Simply,Choose a subject/topic and get started in self-paced practice sessions to improve your knowledge and scores.

Similar Forum