Wednesday 9 October 2013

ROLE OF ALGORITHMS IN REAL WORLD APPLICATIONS

What is Algorithm?

A step-by-step problem-solving procedure, especially an established, recursive computational procedure for solving a problem in a finite number of steps.

The word “algorithm” comes from the name of a Persian author, Abu Ja’far Mohammed ibn Musa al Khowarizmi (c. 825 A.D.), who wrote a textbook on mathematics.

ALGORITHMS  IN  REAL  WORLD APPLICATIONS

Encryption and Code Breaking

Encryption is a method for taking a written document (plaintext) and transforming it to a unreadable document (cipher text) such that the original document is somehow recoverable from the cipher text. For example, we can take this column and replace every occurrence of the letter “e” with the letter “x”. Now the column would be hard to read, but in a few seconds a reader would realize what was done, and be able to undo the replacements. Of course, we could invent a better scheme. Suppose we replace “a” with “p”, “b” with “c” and so on. The complete list of transpositions can be put into a table and used to encrypt (forward substitution) as well as decrypt (backward substitution). The table, is then known as  they “key”. Anyone who has the key can decrypt a document if it is encrypted with the same key.

 

On the security front, GAs can be used both to create encryption for sensitive data as well as to break those codes. Encrypting data, protecting copyrights and breaking competitors' codes have been important in the computer world ever since there have been computers, so the competition is intense. Every time someone adds more complexity to their encryption algorithms, someone else comes up with a GA that can break the code. It is hoped that one day soon we will have quantum computers that will be able to generate completely indecipherable codes. Of course, by then the 'other guys' will have quantum computers too, so it's a sure bet the spy vs. spy games will go on indefinitely.

Joke and Pun Generation

An approach to analysis of humor is classification of jokes. A further step is an attempt to generate jokes basing on the rules that underlie classification.
Simple prototypes for computer pun generation were reported in the early 1990s,[2] based on a natural language generator program, VINCI. Graeme Ritchie and Kim Binsted in their 1994 research paper described a computer program, JAPE, designed to generate question-answer-type puns from a general, i.e., non-humorous, lexicon.[3] (The program name is an acronym for "Joke Analysis and Production Engine".) Some examples produced by JAPE are:
Q: What is the difference between leaves and a car?
A: One you brush and rake, the other you rush and brake.
Q: What do you call a strange market?
A: A bizarre bazaar.
Since then the approach has been improved, and the latest report, dated 2007, describes the STANDUP joke generator, implemented in the Java programming language.[4][5] The STANDUP generator was tested on children within the framework of analyzing its usability for language skills development for children with communication disabilities, e.g., because of cerebral palsy. (The project name is an acronym for "System To Augment Non-speakers' Dialog Using Puns" and an allusion to standup comedy.) Children responded to this "language playground" with enthusiasm, and showed marked improvement on certain types of language tests.
 

 

Among the linguistic applications of GAs - including a JAPE (automated pun generator) inspired STANDUP program to design communications strategies for people working with children who suffer communications disabilities - are GAs that search for jokes and puns. These come under the heading of "artificial creativity" and AI, but could prove very useful to class clowns and wannabe punsters whose public reputations depend upon being funnier than they actually are. These  clever  GAs will let you input a word you wish to pun or a subject you'd like to joke about, and will return a variety of solutions that just might lead to a lucrative career on the comedy club circuit!

No comments:

Post a Comment