(This is the version of the ideas and the article before Weighted Exercise existed. Enjoy!)

Introduction to Random Exercise
3/6/06

Please check with your doctor before starting any exercise program

What
Random Exercise is my idea about using probability, specifically randomly generated numbers, to improve various aspects of your workout.

Why
Some workout routines can be, well, routine! That is, repetition can lead to a workout that is monotonous and boring, the same over and over. Being a member of a gym, I've observed people doing the same exercises, in the same order, for each workout session. Adding randomness to a workout breaks up the monotony, and allows one to react to and anticipate the unexpected, all while still getting a great workout. In addition, it is more realistic training for the real-life function of some activities, the martial arts for example, where one doesn't have the luxury of knowing what the opponent will do in advance. Incorporating randomness also helps the practitioner use his/her mind more instead of "zoning out".

How
Software that is ran on the computer, which displays text (and ideally sounds and possibly pictures) instructing the practicioner which exercise/technique (used interchangeably) to do. The Random Exercise program has the following "flow"

Some Points

I hope others enjoy and benefit from this idea.

Below is a the prototype program I created on my calculator:


probex()
Prgm
ClrIO
Dialog
DropDown "Load Profile:",{"Fencing","Add profile"},g
EndDlog
If g=1: Goto z
If g=2: Goto p
Lbl p
Input "Number of choices?",n
newList(n)->choices
(choices+1)/n->weights
Lbl a
For b,1,n
Input "Choice "&string(b)&":",c
c->choices[b]
EndFor
Goto m
Lbl z
If g=1: {retreat,advance,lunge}->choices
dim(choices)->n
(newList(n)+1)/n->weights
Lbl m
ClrIO
Input "Edit the weights? (Yes-1, No-0)",e
If e=1: Goto b
If e=0: Goto c
Lbl b
ClrIO
For d,1,n
Input "Weight "&string(d)&" ("&string(choices[d])&")"&":",f
f->weights[d]
EndFor
weights/(sum(weights))->weights
Goto c
Lbl c
weights->cweights
weights[1]->cweights[1]
For g,2,n
cweights[g-1]+weights[g]->cweights[g]
EndFor
ClrIO
Input "Number of trials:",t
Input "Delay:",delay
ClrIO
Output 50,80,"S T A R T"
For a,1,500
EndFor
ClrIO
For h,1,t
rand()->r
For i,1,n-1
If r > cweights[i] and r <= cweights[i+1]:choices[i+1]->out
If r > cweights[i] and r <= cweights[i+1]:Goto d
If r < cweights[1]:choices[1]->out
If r < cweights[1]:Goto d
EndFor
Lbl d
For a,1,delay
Endfor
ClrIO
Output 40,80,out
Output 60,80,string(h)&" out of "&string(t)
EndFor
ClrIO
Output 50,80,"F I N I S H E D"
EndPrgm


If you enjoyed any of my content, please consider supporting it in a variety of ways: