Randomness

From Maze

(Difference between revisions)
Jump to: navigation, search
(→The Emergence of Randomness in Computing)
(→Computational Randomness in Aesthetic Design)
Line 61:Line 61:
Writing with perspective in 1970, Noll highlights randomness as an essential feature of the computer in relation to the arts, “The computer is a unique device for the arts since it can function solely as an obedient tool with vast capabilities for controlling complicated and involved processes, but than again, full exploitation of its unique talents for controlled randomness and detailed algorithms could result in an entirely new medium – a creative artistic medium.”
Writing with perspective in 1970, Noll highlights randomness as an essential feature of the computer in relation to the arts, “The computer is a unique device for the arts since it can function solely as an obedient tool with vast capabilities for controlling complicated and involved processes, but than again, full exploitation of its unique talents for controlled randomness and detailed algorithms could result in an entirely new medium – a creative artistic medium.”
 +
 +
=== Randomness in Contemporary Computing ===
 +
 +
Today, randomness in computing retains its character of predictability yet within constraints. Its nature has been exploited for practical purposes, such as security and communication. For instance, random numbers are used in encryption processes to make login passwords more secure. Intriguingly, the algorithms used and even their source code may be fully explained and published, but the data remain secure. Why? Because the space which random numbers occupy is so mind-bogglingly large, that no human being or computer could ever traverse it completely. Imagine playing a guessing game with a friend from 1 to 10. You can guess the number pretty easily, right? But what if the range of possible numbers was as large as the number of grains of sand a beach? Could you ever try all of those possibilities? Maybe it isn't as intuitive as it could be, but after an afternoon of playing with the RND on the function in BASIC, you may find that it makes more sense than before. If you want to try it for yourself, consider this program, which is really only a modest variation of 10 PRINT.
 +
 +
<code>
 +
10 PRINT CHR$(205.6+rnd(1)*1);:GOTO 10
 +
</code>
 +
 +
Or this program, a simple guessing game which gives you a feel for how large and hopeless the space of random numbers can be. Once you get the hang of it, try changing to 10 into 20 or 1000 and see how much longer it takes to win.
 +
 +
10 N=INT(RND(0)*10)
 +
20 PRINT "GUESS THE NUMBER:":INPUT G: IF G=N THEN PRINT "YOU WIN!":END
 +
30 GOTO 20
 +
 +
While randomness supplies some of the apparent magic behind security and modeling natural processes, its value as a tool for making *orderly* communication can also seem mystical. Pseudo Random Number Generators, which will be demonstrated further below, will illustrate this. Another good example is the protocol called Ethernet, which is familiar to us today in the form of CAT-5 cables for office computers and in wireless form from our laptops.
 +
 +
Carefully applied randomness helps everything run smoothly. This is necessary in an Ethernet network which operates in some ways like a dinner conversation in that every single computer on the network can potentially try to talk at once. Other network protocols ensure that each computer gets a predictable time slot to speak, but Ethernet works differently. It has a means to determine if two machines have accidentally "spoken over" each other. Much like a human conversation, this one speaker must yield to the other. In the human word, such conflicts are sometimes embarrassing, awkward, or funny, and usually some kind of social rule will decide who gets to speak. For example, perhaps the elder speaker or the loudest one gets to talk. In Ethernet, there is no such hierarchy. Instead, each computer simply flips a coin and decides randomly whether or not to try to talk again. Of course, half of the time, this will not resolve the conflict, and they will have to do it again, and the process will repeat.
=== The C64 and the RND Function ===
=== The C64 and the RND Function ===

Revision as of 16:43, 15 May 2011

View this revision of Randomness.

Personal tools