Norman had the usual problem we all faced: We never replace the toilet paper until it's dwindled to the end of the roll. And if that happens to be your final roll -- you're out of luck. So he tried to solve this problem by installing two toilet-paper holders side by side, the same way public bathrooms have them. Interestingly, it didn't work:
We discovered that although we now had two rolls instead of one, the problem was not solved. Both rolls ran out at the same time. Sure, it took twice as long before the rolls emptied, but we were still stuck with the same problem: no more paper. We had discovered that the switch to two rolls meant we had to use more sophisticated behavior: the algorithm for tearing of paper mattered.
After some self-observation and discussion, we discovered that three different algorithms were in use: large, small, and random.
Algorithm Large: Always take paper from the largest roll.
Algorithm Small: Always take paper from the smallest roll.
Algorithm Random: Don't think -- select the roll randomly
We had assumed that Algorithm Random was most natural. After all, we had bought the dual-roll holder specifically so that we wouldn't have to think. But were our selections truly random, we would chose each roll roughly equally, so they would both empty at the same time -- or close. Algorithm random is not the one to use. To use toilet paper requires thought.
Our self-observations revealed that we really didn't use the random algorithm -- people are seldom random. The most natural: that is, we soon discovered, was to reach for the larger roll. Alas, consider the impact. Suppose we start with two rolls, A and B, where A is larger than B. With algorithm large, paper is taken from A, the larger of the two rolls until its size becomes noticeably smaller than the other roll, B. Then, paper is taken from B until it gets smaller than A, at which point A is preferred. In other words, the two rolls diminish at roughly the same rate, which means that when A runs out of paper, B will follow soon thereafter, stranding the user with two empty rolls.
Algorithm small turns out to be the proper choice. With algorithm small, paper is always taken from A, so it gets smaller and smaller until it runs out. Then paper is taken from roll B, which is full size at the time of the switch.
Yikes. We never realized that you had to be a computer scientist to use toilet paper.
Posted by Clive Thompson at December 16, 2002 03:05 PM
Trackback Pings
TrackBack URL for this entry: http://www.collisiondetection.net/mt3/mt-tb.cgi/146
Simple solution that I've seen - have a roll that is tucked up and concealed above the "active roll". When the roll is empty, the roll above is allowed to drop down.
Posted by: Anonymous at April 6, 2003 3:58 PM
We just have a couple of 9 packs in the bathroom. When they get low, they get replaced next time we go to the store.
Posted by: Anonymous at April 6, 2003 8:49 PM
That 9-pack technique indeed makes sense. Though it also means you're more organized than most other people, including, heh, me -- who usually pull out roll by roll, never check into the status of the package, and then only realize they're out of toilet paper when you're on the last lonely square of the final roll.
Posted by: Clive at April 6, 2003 9:01 PM
when i noticed that i'm out, i take a shower then go the store?
bidet!
Posted by: travis at April 6, 2003 10:32 PM
We discovered that although we now had two rolls instead of one, the problem was not solved. Both rolls ran out at the same time. Sure, it took twice as long before the rolls emptied, but we were still stuck with the same problem: no more paper. We had discovered that the switch to two rolls meant we had to use more sophisticated behavior: the algorithm for tearing of paper mattered.
Posted by: sonnerie at January 8, 2004 8:35 AM
Posted by: Online Casino at January 16, 2004 12:02 PM
Posted by: julia at January 24, 2004 8:11 PM
I have an idea on how we can automate the entire procedure. Let us assume that the weight of the toilet paper is standardized. That means that a single ply toilet roll is half the weight of the two ply roll. Therefore, we put in 2 rolls of Toilet paper into the holder, and when one roll is completed, the second roll drops down. But, how does the user know that there isnt a spare roll in the holder. Well, we install a sensor to measure the weight of the rolls. When you load two new rolls (Toilet paper that is full), it stores the weight of the 2 rolls in a variable. Now, lets say we mix the 2 ply and 1 ply rolls. The weight of 1 ply is 1x and the weight of 2 ply is 2x, therefore we have an variable of 3x. If the weight drops below 1x (1 third of the weight stored in the variable), a sensor should be activated to say put in a new roll. Therefore, you can start using the 2 ply or the 1 ply first, and the sensor will still be able to tell you when you need to put in a new toilet roll.
Posted by: FrankenKave at May 19, 2004 4:13 AM
In addition to my previous comments, we can also check how much of the roll has been used by keeping track of the weight (at different points). We store the weight of each roll at say at a 1/4 of the total weight. So we check at intervals for the weight. So if we had a single ply at the bottom and a 2ply at the top we check the weight. If the total weight is 3x - (1x - CheckedWeight) and CheckedWeight is a 1/4 of the weight of the first (single ply) roll then we know that there is a 2ply in store and 3/4 of the single ply left.
Posted by: FrankenKave at May 19, 2004 4:15 AM
Posted by: candles-cheese-omegarx fish oil at June 6, 2004 2:23 AM
Posted by: campporno at December 21, 2004 10:59 AM
Simple solution that I've seen - have a roll that is tucked up and concealed above the "active roll". When the roll is empty, the roll above is allowed to drop down.
Posted by: Anonymous at April 6, 2003 3:58 PM
We just have a couple of 9 packs in the bathroom. When they get low, they get replaced next time we go to the store.
Posted by: Anonymous at April 6, 2003 8:49 PM
That 9-pack technique indeed makes sense. Though it also means you're more organized than most other people, including, heh, me -- who usually pull out roll by roll, never check into the status of the package, and then only realize they're out of toilet paper when you're on the last lonely square of the final roll.
Posted by: Clive at April 6, 2003 9:01 PM
when i noticed that i'm out, i take a shower then go the store?
bidet!
Posted by: travis at April 6, 2003 10:32 PM
We discovered that although we now had two rolls instead of one, the problem was not solved. Both rolls ran out at the same time. Sure, it took twice as long before the rolls emptied, but we were still stuck with the same problem: no more paper. We had discovered that the switch to two rolls meant we had to use more sophisticated behavior: the algorithm for tearing of paper mattered.
Posted by: sonnerie at January 8, 2004 8:35 AM
Nice site. thx.
Posted by: Online Casino at January 16, 2004 12:02 PM
Posted by: julia at January 24, 2004 8:11 PM
I have an idea on how we can automate the entire procedure. Let us assume that the weight of the toilet paper is standardized. That means that a single ply toilet roll is half the weight of the two ply roll. Therefore, we put in 2 rolls of Toilet paper into the holder, and when one roll is completed, the second roll drops down. But, how does the user know that there isnt a spare roll in the holder. Well, we install a sensor to measure the weight of the rolls. When you load two new rolls (Toilet paper that is full), it stores the weight of the 2 rolls in a variable. Now, lets say we mix the 2 ply and 1 ply rolls. The weight of 1 ply is 1x and the weight of 2 ply is 2x, therefore we have an variable of 3x. If the weight drops below 1x (1 third of the weight stored in the variable), a sensor should be activated to say put in a new roll. Therefore, you can start using the 2 ply or the 1 ply first, and the sensor will still be able to tell you when you need to put in a new toilet roll.
Posted by: FrankenKave at May 19, 2004 4:13 AM
In addition to my previous comments, we can also check how much of the roll has been used by keeping track of the weight (at different points). We store the weight of each roll at say at a 1/4 of the total weight. So we check at intervals for the weight. So if we had a single ply at the bottom and a 2ply at the top we check the weight. If the total weight is 3x - (1x - CheckedWeight) and CheckedWeight is a 1/4 of the weight of the first (single ply) roll then we know that there is a 2ply in store and 3/4 of the single ply left.
Posted by: FrankenKave at May 19, 2004 4:15 AM
Order Candles
Posted by: candles-cheese-omegarx fish oil at June 6, 2004 2:23 AM
analvalley | backseatbangers | bangboat | bangbusbigcocksex | blackcockswhitesluts | herfirstasstomouth | herfirstbigcock | hugerealboobs | milfseeker | teensforcash | all-reality-pass | bare-foot-maniacs | big-tit-patrol | coeds-need-cash | i-spy-camel-toe | mr-chews-asian-beaver | please-bang-my-wife | reality-pass-plus | teeny-bopper-club | the-big-swallow | tinys-black-adventures | xxx-proposal | adultcams | allgangbang | allstarstuds | amateurpie | analvalley | backseatbangers | bang-boat | bangboat | bestmovies | bigcocksex | blackcockswhitesluts | cartoon69 | cheerchix | cyberfoldsweb | dopornstars | ebonyjoy | euroteensxxx | facialmag | fantasylatina | fetishhell | gangbangsquad | girlsgetcrazy | hardporn | herfirstanalsex | herfirstasstomouth | herfirstbigcock | herfirstlesbiansex | hirsutebeavers | hisfirstgaysex | hisfirsthugecock | hugerealboobs | indiachix | interracialjoy | iteens | justfacials | largegirlsxxx | lesboerotica | maturexrotica | milfseeker | musclemenxxx | mysextour | ohboys | pornoground | pornstudsearch | seeasians | sporterotica | successwithgirls | teensforcash | tittymax | trannyhouse | twinksforcash | ultravideos | voyeurgals | xxxsupersize | gangbus | girlsgetcrazy | milfseeker | rectalrooter | teens-for-cash | welivetogether | backroomfacials | backseatbanger | bang-boat | bangboat | bigcocksex | freshauditions | inthevip | milfseeker | teensforcash | xxxproposal | hotasiancherry | internationalbikini | karaamateurs | karasamateur | latinakiss | lesbianpink | majormelons | nastyblacksex | nastyboys | pregnantbabes | teensteam | wetlesbians | com | ebonyfantasy | exoticredheads | fantasytoons | firstlesbiankiss | fortbooty | foxybrunettes | girlsntoys | greatlookingass | justasianteens | justforladies | karasamateurs | adultmoviematrix | amateurmoviematrix | analmoviematrix | bigboobsgalore | cartoonsexonline | ebonyarousal | ebonymoviematrix | explicitlesbians | firsttimetwinks | gayblackhardcore | gayxxxarchive | hardcoremoviematrix | hardcoresexshack | homesexnetwork | hottestanalsex | interracialmoviematrix | interracialparadise | lesbianmoviematrix | maturebelle | maturemoviematrix | maturexxxarchive | milfsearch | milfsearcher | oralmoviematrix | petitegoddess | puregroupsex | ratemytranny | shemalesparadise | sinfulfacials | sluttytransexuals | teeneroticaclub | teenmoviematrix | theamateurlounge | xratedlatinos | xxxteentease | all-reality-pass | big-tit-patrol | coeds-need-cash | horny-spanish-flies | hornyspanishflies | i-spy-camel-toe | mr-chews-asian-beaver | please-bang-my-wife | reality-pass | teeny-bopper-club | tinys-black-adventures | all-reality-pass | allrealitypass | barefootmaniacs | big-tit-patrol | bigtitpatrol | horny-spanish-flies | hornyspanishflies | i-spy-camel-toe | ispycameltoe | mr-chews-asian-beaver | please-bang-my-wife | reality-pass-plus | teeny-bopper-club | tinys-black-adventures | tinysblackadventures | true-celebs | xxx-proposal | all-reality-pass | barefoot-maniacs | big-tit-patrol | horny-spanish-flies | i-spy-camel-toe | mr-chews-asian-beaver | please-bang-my-wife | reality-pass-plus | teeny-bopper-club | tinys-black-adventures | back-seat-bangers | bang-boat | bangboat | herfirstbigcock | milfseek | tittymax | trannyhouse | ultravideo | ultravideos | voyeurgals | backseatbangers | bangboat | bestmovies | cartoon69 | cheerchix | cyberfoldsweb | dopornstars | ebonyjoy | euroteensxxx | facialmag | fantasylatina | fetishhell | gangbangsquad | milfseeker | teensforcash | allamateurmovies | bangboat | bigcocksex | bignaturals | boysfirsttime | inthevip | mikeinbrazil | milf-riders | milfseeker | india-uncovered | interracial-sex-fest | kunt-fu | latina-time | latins-finest | lipstick-lesbo | man-hunter | mini-boobs | mission-upskirt | naughty-amateur | naughty-therapy | teens-for-cash | bangbus | backseatbangers | teensteam | cumfiesta | gangbus | milf-seeker | milfrider | milf | captainstabbin | backseatbangers | FreakCock | GangBangTryout | TrueCelebs | NudeCelebsRevue | CoedsNeedCash | BigTitPorn | GirlieZoo | OfficeGirlSex | CumshotParties | Threesomes | HotFarmGirls | GangBangModels | CampPorno | DoPornStars | USAEscorts |
Posted by: campporno at December 21, 2004 10:59 AM
fistbang | freshauditions | freshteens | girlforgirl | kinkymaturesluts | pimp4aday | shockingcocks | sugarmamas | trannytrouble | videoseekers | allrealitypass | barefootmaniacs | bigtitpatrol | coedsneedcash | hornyspanishflies | ispycameltoe | mrchewsasianbeaver | pleasebangmywife | realitypassplus | teenybopperclub | thebigswallow | tinysblackadventures | truecelebs | xxxproposal | absolutelymale | adultchatnetwork | asianheat | kara | karasamateurs | teenbody | teenfactory | upskirtschool | videoseekers | voyeurteens | nude-celebs-revue | office-girl-sex | old-babes-home | orgy-machine | orgy-movie-madness | soap-boys | street-strippers | sugar-mamas | sweet-cherrys | taboo-insertions | teen-body | teen-factory | upskirt-school | voyeur-teens | xxx-tryouts | strap-on-teens | teen-cumers | the-big-swallow | three-somes | tiny-tit-babes | tranny-a-gogo | true-celebs | gang-bang-tryout | gangbang-tryout | girlie-flashers | girlie-zoo | girls-are-nuts | hardcore-teen-flics | hentai-playground | suckmebitch | sugar-mamas | sugarmamas | tranny-trouble | video-seekers | wet-black-panties | x-rated-pornos | xxx-adult-stars | xxx-asians | xxx-gold | ebony-cheeks | ebonycheeks | fresh-auditions | freshauditions | indiauncovered | kinkymaturesluts | pimp-4-a-day | pimp4aday | suck-me-bitch | chicks-go-both-ways | fucked-for-free | gay-sugar-daddy | guys-in-the-city | horny-traveler | hot-bods-cool-rides | internet-hookups | milf-searcher | reality-pass | rub-and-tug | supermarket-whores | hidden-eyes | hot-asian-cherry | hot-little-package | international-bikini | just-asian-teens | just-for-ladies | latina-kiss | lesbian-pink | major-melons | my-kinky-wife | nasty-black-sex | nasty-boys | obey-me-slave | oral-addiction | ebony-cheeks | fist-bang | fresh-auditions | fresh-teens | kinky-mature-sluts | pimp-4-a-day | shocking-cocks | suck-me-bitch | super-bush | tranny-trouble | video-seekers | analvalley | backseatbangers | bang-boat | bangboat | bestmovies | bigcocksex | blackcockswhitesluts | cartoon69 | FootErotica | StraightGoesGay | RawXXX | GangBangLessons | SuperTwink | NaughtyTherapy | SquirtingChicks | MomsNeedCash | WaterBondage | HugeDicksLittleChicks | TwinksFromTheHood | XXXCasting | SoloGirls | NaughtyNati | TeenDirtBags | CumSwallowingLessons | Cocks | TittieFuckers | XXXTryouts | Her1stAnal | BangkokBangers | TrueCelebs | WickedWendy | AnalSexLessons | allamateurmovies | bignaturals | boysfirsttime | firsttimeauditions | inthevip | eurosexparties | megacockcravers | mikeinbrazil | nastyfetish | roundandbrown | topshelfpussy | trannysurprise | welivetogether | wivesinpantyhose | gay-hitchhiker | gay-super-cocks | gigant-gay-cock | girl-for-girl | girl-ranch | grande-girls | hardcore-toons | hot-nude-granny | india-uncovered | interracial-sex-fest | analvalley | bestmovies | kunt-fu | latina-time | latins-finest | man-hunter | mini-boobs | mission-upskirt | naughty-amateur | naughty-therapy | never-shot | barefootconfidential | barefootmaniacs | bigtitpatrol | hornyspanishflies | ispycameltoe | pinkcandyshavers | pumpthatass | texasdildomassacre | tinysblackadventures | vanillateensblackcream | oral-fantasies | perfect-orgy | pom-pom-porno | porn-wannabe |