Random Writer - PowerPoint PPT Presentation

About This Presentation
Title:

Random Writer

Description:

Generates random text based on the patterns in a source file ... List: [e, s, a, a, e] Character: s (20% of the time) New seed: hs. http://nifty.stanford.edu ... – PowerPoint PPT presentation

Number of Views:93
Avg rating:3.0/5.0
Slides: 18
Provided by: loca269
Category:
Tags: nifty | random | writer

less

Transcript and Presenter's Notes

Title: Random Writer


1
Random Writer
  • Joe Zachary
  • School of Computing
  • University of Utah

2
Random Writer
  • Based on an idea by Claude Shannon (1948)
    popularized by A.K. Dewdney (1989)
  • Generates random text based on the patterns in a
    source file
  • Both fun and appropriate for CS 2 students
  • Uses file input/output, string manipulation,
    dynamic linear data structures, and random number
    generation

3
King James Bible
For every man putteth one and my mother for
them, to David sent Samson, and a sacrifice.
Then went Samson down, and his father and his
mother, to Timnath, and came to the vineyards of
Timnath and, behold, a young lion roared against
him.
Now the ark and treasures upon them and, Who
also in the evil so do your heart?
4
King James Bible (Level 6)
For every man putteth one and my mother for
them, to David sent Samson, and a sacrifice.
Then went Samson down, and his father and his
mother, to Timnath, and came to the vineyards of
Timnath and, behold, a young lion roared against
him.
Now the ark and treasures upon them and, Who
also in the evil so do your heart?
5
Tom Sawyer
Huck started to act very intelligently on the
back of his pocket behind, as usual on Sundays.
He was always dressed fitten for drinking some
old empty hogsheads.
The men contemplated the treasure awhile in
blissful silence.
6
Tom Sawyer (Level 8)
Huck started to act very intelligently on the
back of his pocket behind, as usual on Sundays.
He was always dressed fitten for drinking some
old empty hogsheads.
The men contemplated the treasure awhile in
blissful silence.
7
Hamlet
Ay me, what act, That roars so loud and thunders
in the index?
Worse that a rat? Dead for a ducat, drugs fit
that I bid you not?
Leave heart for to our lord, it we show him, but
skin and he, my lord, I have fat all not over
thought, good my lord?
8
Hamlet (Level 5)
Ay me, what act, That roars so loud and thunders
in the index?
Worse that a rat? Dead for a ducat, drugs fit
that I bid you not?
Leave heart for to our lord, it we show him, but
skin and he, my lord, I have fat all not over
thought, good my lord?
9
C Programs
int temp A0 Ai-1 Aj C((Aj)(shift
8)) 0xff 1
node m_pTop m_pTop pNext while (p!end) res
0
int hash code hash()(key) float A
(sqrt(5)-1)/2 int index floor(buckets
(hashcode A - floor(hashcode A)))
10
C Programs (Level 7)
int temp A0 Ai-1 Aj C((Aj)(shift
8)) 0xff 1
node m_pTop m_pTop pNext while (p!end) res
0
int hash code hash()(key) float A
(sqrt(5)-1)/2 int index floor(buckets
(hashcode A - floor(hashcode A)))
11
Niftiness
  • Not a toy it slurps up entire books
  • Defies expectations it turns out to be both
    straightforward and educational
  • Entertaining I run a contest to find the
    funniest generated text

12
Level 0
The probability that c is the next character to
be produced equals the probability that c occurs
in the source file.
rla bsht eS ststofo hhfosdsdewno oe wee h .mr ae
irii ela iad o r te u t mnyto onmalysnce, ifu en
c fDwn oee iteo
13
Level 1
Let s be the previously produced character. The
probability that c is the next character to be
produced equals the probability that c follows s
in the source text.
"Shand tucthiney m?" le ollds mind Theybooure He,
he s whit Pereg lenigabo Jodind alllld ashanthe
ainofevids tre lin--p asto oun
14
Level K
Let seed be the previously produced k (4 in this
case) characters. The probability that c is the
next character to be produced equals the
probability that c follows seed in the source
text.
Mr. Welshman, but him awoke, the balmy shore.
I'll give him that he couple overy because in the
slated snufflindeed structure's
15
Algorithm
  • Pick a random k-letter seed from the text
  • Repeatedly
  • Make a list of every character that follows the
    seed in the text
  • Randomly pick a character c from the text
  • Output c
  • Remove the first character from the seed and
    append c

16
Example at Level 2
  • Seed th
  • Text We hold these truths to be
    self-evident that all men are created equal
    that they
  • List e, s, a, a, e
  • Character s (20 of the time)
  • New seed hs

17
http//nifty.stanford.edu/
Write a Comment
User Comments (0)
About PowerShow.com