To be honest, the core issue of Ubuntu12.04's HUD technology is the "Fuzzy Matching" ("FuzzyMatching") of strings, which involves AI research. I am from Algebra, and I am extremely "sensitive" to strings. I am also interested in it. In about 1965, Soviet scholar song mirlevenshtein introduced a so-called "Editdistance" to measure the "distance" between two strings ". Chu
To be honest, the core of Ubuntu 12.04's HUD technology is the "Fuzzy match" of strings, which involves AI research.
I am from Algebra, and I am extremely "sensitive" to strings. I am also interested in it. In about 1965, Soviet scholar Vladimir Levenshtein introduced a so-called "Edit distance" to measure the "distance" between two strings ". It seems that this "idea" is absurd. How can we use a number to measure the "distance" between two strings "? Does this "distance" meet the "Triangle" principle? (That is, "the sum of the two sides is greater than the third side")... This is a field of research by mathematicians.
How to define the "edit distance" between two strings? We imagine that inserting, deleting, and replacing a character is a reasonable "edit operation" allowed ", use these three reasonable operation actions to "edit" a string as the minimum "Operation count" required by another string is called the "edit distance" between the two strings ". In fact, given two strings, it is not easy to use software programs to calculate the distance between them. Believe it or not, you will find it after a try.
In terms of technical principle, HUD is a smart application of the preceding "editing distance. In terms of operation, as long as you press the "ALT" key on the keyboard, a translucent HUD dialog box will pop up, as long as you enter your "intent" (string) in it ), the computer will automatically and quickly query (compare) in the "Menu Database" of the Application Menu to find the most suitable menus and then provide a "Menu list". let the user select it. After a long time, the computer will "Learn" from the user's "Choice habits" (the so-called "automatic learning") which Menu is the "best" for the user, so as to get the best of it, provide the best "Answer ".
In fact, the HUD principle is not complicated, but the first person who came up with this "strange idea" is a great inventor ". In light of our Chinese practice, the problem becomes complicated. How can we define the "editing distance" between two Chinese characters? Here, we have to find another solution.
I am particularly pleased today that 50 years ago, a very inconspicuous "invention" on behalf of mathematics was not delivered to the "big field" until today ".
Note: This morning, I will go to a very long place (still in Beijing), visit my "good friend" in my teenage years, and prepare to talk to him about HUD.