SlideShare ist ein Scribd-Unternehmen logo
1 von 3
Downloaden Sie, um offline zu lesen
1. Describe an algorithm which samples roughly n
elements from a stream,
each uniformly and independently at random. More precisely, in every
point in the stream, after processing N elements, each of the elements
a1, . . . , aN should appear in your sample with probability exactly n/N.
Note that you clearly do not know N in advance and that you cannot
reread the stream.
2. Prove the correctness of your algorithm.
3. What is the complexity of processing each element in your algorithm?
4. Bound the probability that your algorithm samples more than 2n elements.
Solution
1. Before describing the algorithm, lets provide some intuition about how
it works. Imagine we choose for each element ai a random number ri
uniformly and independently at random from the range [0, 1]. We can
keep all the elements for which ri ≤ n/N we clearly do the right thing.
The question is, how do we do that when we don’t know N in advance?
The idea is to assume that the current element is the last one in the stream
at every point.
More precisely, when receiving an element ai the algorithm generates a
random number ri uniformly and independently at random from the range
[0, 1]. If ri > n/i the element is ignored. Otherwise, it is kept. Also, in
every step, we go over all the elements aj such that 1 ≤ j ≤ i − 1 and
discard those for which rj > n/i. Note that we had to have kept all the
values rj as well.
2. Clearly, doing this gives the same intuitive solution as above. In other
words, when the stream ends (i = N) we have that our sample contains
1
DATA MINING
Our online Tutors are available 24*7 to provide Help with Data Mining Homework/Assignment or a long
term Graduate/Undergraduate Data Mining Project. Our Tutors being experienced and proficient in Data
Mining ensure to provide high quality Data Mining Homework Help. Upload your Data Mining
Assignment at ‘Submit Your Assignment’ button or email it to info@assignmentpedia.com. You can use
our ‘Live Chat’ option to schedule an Online Tutoring session with our Data Mining Tutors.
all the elements aj for which rj ≤ n/N. Since rj are uniformly and inde-
pendently chosen from [0, 1], each element is in the sample independently
with probability n/N.
3. A naive implementation of this algorithm requires O(n) operations per
read element. This is because, in every step we have to go over all the
sampled elements and discard the ones for which rj > n/i. However, if we
keep the picked elements in a sorted list, we can go to the end of the list
and remove only those. This requirs only O(1) operations per removed
element. Or, discarding di elements in step i requires O(di) operations.
This comes with the price of having to insert picked elements into the
sorted list in O(si) operations. Here si denoted the number of samples
that we kept in step i − 1. We denote by zi the indicator variable for
the event that element ai is picked. Let us compute the expected running
time of this algorithm T(N, n).
E[T(N, n)] =
N
i=1
E[Cost of step i
=
N
i=1
[E[O(si)zi] + O(di
= O(
N
i=1
n2
i
+ N
= O(n2
log(N) + N
We used here that si and zi are independent so E[O(si)zi] = O(E(si))E[zi].
Also,
n
i=1 di ≤ N and
n
i=1
1
i ≈ log(N). Amortizing over the length of
the stream we get that the expected cost per element is T(N, n)/N =
O(n2
log(n)
N +1) which is O(1) if the stream is long enough, i.e. n2
log(N)
N ≤
1.
Alternatively, we can keep all the picked elements in a sorted heap accord-
ing to the r values which results in O(log(n)) operations per insertion and
deletion (amortized)
4. Bounding the probability of sampling more than 2n elements can be done
using the Chernoff bound.
Pr[X > (1 + ε)µ] ≤ e−µε2
/4
We have that µ = E[sN ] = n and ε = 1. Thus:
Pr[sN > 2n] ≤ e−n/4
.
We can also make sure that in no point in the algorithm we have si > 2n
by the union bound. Making sure that in all N steps of the algorithm this
2
happens with probability at least 1 − δ.
n
i=1
Pr[si > 2n] ≤ Ne−n/4
≤ δ .
This is true if n > 4 log(N
δ ).
3
visit us at www.assignmentpedia.com or email us at info@assignmentpedia.com or call us at +1 520 8371215

Weitere ähnliche Inhalte

Mehr von Assignmentpedia

Sequential radar tracking
Sequential radar trackingSequential radar tracking
Sequential radar trackingAssignmentpedia
 
Radar application project help
Radar application project helpRadar application project help
Radar application project helpAssignmentpedia
 
Parallel computing homework help
Parallel computing homework helpParallel computing homework help
Parallel computing homework helpAssignmentpedia
 
Network costing analysis
Network costing analysisNetwork costing analysis
Network costing analysisAssignmentpedia
 
Matlab simulation project
Matlab simulation projectMatlab simulation project
Matlab simulation projectAssignmentpedia
 
Matlab programming project
Matlab programming projectMatlab programming project
Matlab programming projectAssignmentpedia
 
Image processing project using matlab
Image processing project using matlabImage processing project using matlab
Image processing project using matlabAssignmentpedia
 
Computer Networks Homework Help
Computer Networks Homework HelpComputer Networks Homework Help
Computer Networks Homework HelpAssignmentpedia
 
Theory of computation homework help
Theory of computation homework helpTheory of computation homework help
Theory of computation homework helpAssignmentpedia
 
Help With Digital Communication Project
Help With  Digital Communication ProjectHelp With  Digital Communication Project
Help With Digital Communication ProjectAssignmentpedia
 
Filter Implementation And Evaluation Project
Filter Implementation And Evaluation ProjectFilter Implementation And Evaluation Project
Filter Implementation And Evaluation ProjectAssignmentpedia
 
Distributed Radar Tracking Simulation Project
Distributed Radar Tracking Simulation ProjectDistributed Radar Tracking Simulation Project
Distributed Radar Tracking Simulation ProjectAssignmentpedia
 
Distributed Radar Tracking Simulation Project
Distributed Radar Tracking Simulation ProjectDistributed Radar Tracking Simulation Project
Distributed Radar Tracking Simulation ProjectAssignmentpedia
 
Digital Signal Processing
Digital Signal ProcessingDigital Signal Processing
Digital Signal ProcessingAssignmentpedia
 

Mehr von Assignmentpedia (20)

Sequential radar tracking
Sequential radar trackingSequential radar tracking
Sequential radar tracking
 
Resolution project
Resolution projectResolution project
Resolution project
 
Radar application project help
Radar application project helpRadar application project help
Radar application project help
 
Parallel computing homework help
Parallel computing homework helpParallel computing homework help
Parallel computing homework help
 
Network costing analysis
Network costing analysisNetwork costing analysis
Network costing analysis
 
Matlab simulation project
Matlab simulation projectMatlab simulation project
Matlab simulation project
 
Matlab programming project
Matlab programming projectMatlab programming project
Matlab programming project
 
Links design
Links designLinks design
Links design
 
Image processing project using matlab
Image processing project using matlabImage processing project using matlab
Image processing project using matlab
 
Transmitter subsystem
Transmitter subsystemTransmitter subsystem
Transmitter subsystem
 
Computer Networks Homework Help
Computer Networks Homework HelpComputer Networks Homework Help
Computer Networks Homework Help
 
Theory of computation homework help
Theory of computation homework helpTheory of computation homework help
Theory of computation homework help
 
Radar Spectral Analysis
Radar Spectral AnalysisRadar Spectral Analysis
Radar Spectral Analysis
 
Pi Controller
Pi ControllerPi Controller
Pi Controller
 
Help With Digital Communication Project
Help With  Digital Communication ProjectHelp With  Digital Communication Project
Help With Digital Communication Project
 
Filter Implementation And Evaluation Project
Filter Implementation And Evaluation ProjectFilter Implementation And Evaluation Project
Filter Implementation And Evaluation Project
 
Distributed Radar Tracking Simulation Project
Distributed Radar Tracking Simulation ProjectDistributed Radar Tracking Simulation Project
Distributed Radar Tracking Simulation Project
 
Distributed Radar Tracking Simulation Project
Distributed Radar Tracking Simulation ProjectDistributed Radar Tracking Simulation Project
Distributed Radar Tracking Simulation Project
 
Digital Signal Processing
Digital Signal ProcessingDigital Signal Processing
Digital Signal Processing
 
Design Of 10 gbps
Design Of 10 gbpsDesign Of 10 gbps
Design Of 10 gbps
 

Kürzlich hochgeladen

Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 

Kürzlich hochgeladen (20)

Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 

Data mining homework help

  • 1. 1. Describe an algorithm which samples roughly n elements from a stream, each uniformly and independently at random. More precisely, in every point in the stream, after processing N elements, each of the elements a1, . . . , aN should appear in your sample with probability exactly n/N. Note that you clearly do not know N in advance and that you cannot reread the stream. 2. Prove the correctness of your algorithm. 3. What is the complexity of processing each element in your algorithm? 4. Bound the probability that your algorithm samples more than 2n elements. Solution 1. Before describing the algorithm, lets provide some intuition about how it works. Imagine we choose for each element ai a random number ri uniformly and independently at random from the range [0, 1]. We can keep all the elements for which ri ≤ n/N we clearly do the right thing. The question is, how do we do that when we don’t know N in advance? The idea is to assume that the current element is the last one in the stream at every point. More precisely, when receiving an element ai the algorithm generates a random number ri uniformly and independently at random from the range [0, 1]. If ri > n/i the element is ignored. Otherwise, it is kept. Also, in every step, we go over all the elements aj such that 1 ≤ j ≤ i − 1 and discard those for which rj > n/i. Note that we had to have kept all the values rj as well. 2. Clearly, doing this gives the same intuitive solution as above. In other words, when the stream ends (i = N) we have that our sample contains 1 DATA MINING Our online Tutors are available 24*7 to provide Help with Data Mining Homework/Assignment or a long term Graduate/Undergraduate Data Mining Project. Our Tutors being experienced and proficient in Data Mining ensure to provide high quality Data Mining Homework Help. Upload your Data Mining Assignment at ‘Submit Your Assignment’ button or email it to info@assignmentpedia.com. You can use our ‘Live Chat’ option to schedule an Online Tutoring session with our Data Mining Tutors.
  • 2. all the elements aj for which rj ≤ n/N. Since rj are uniformly and inde- pendently chosen from [0, 1], each element is in the sample independently with probability n/N. 3. A naive implementation of this algorithm requires O(n) operations per read element. This is because, in every step we have to go over all the sampled elements and discard the ones for which rj > n/i. However, if we keep the picked elements in a sorted list, we can go to the end of the list and remove only those. This requirs only O(1) operations per removed element. Or, discarding di elements in step i requires O(di) operations. This comes with the price of having to insert picked elements into the sorted list in O(si) operations. Here si denoted the number of samples that we kept in step i − 1. We denote by zi the indicator variable for the event that element ai is picked. Let us compute the expected running time of this algorithm T(N, n). E[T(N, n)] = N i=1 E[Cost of step i = N i=1 [E[O(si)zi] + O(di = O( N i=1 n2 i + N = O(n2 log(N) + N We used here that si and zi are independent so E[O(si)zi] = O(E(si))E[zi]. Also, n i=1 di ≤ N and n i=1 1 i ≈ log(N). Amortizing over the length of the stream we get that the expected cost per element is T(N, n)/N = O(n2 log(n) N +1) which is O(1) if the stream is long enough, i.e. n2 log(N) N ≤ 1. Alternatively, we can keep all the picked elements in a sorted heap accord- ing to the r values which results in O(log(n)) operations per insertion and deletion (amortized) 4. Bounding the probability of sampling more than 2n elements can be done using the Chernoff bound. Pr[X > (1 + ε)µ] ≤ e−µε2 /4 We have that µ = E[sN ] = n and ε = 1. Thus: Pr[sN > 2n] ≤ e−n/4 . We can also make sure that in no point in the algorithm we have si > 2n by the union bound. Making sure that in all N steps of the algorithm this 2
  • 3. happens with probability at least 1 − δ. n i=1 Pr[si > 2n] ≤ Ne−n/4 ≤ δ . This is true if n > 4 log(N δ ). 3 visit us at www.assignmentpedia.com or email us at info@assignmentpedia.com or call us at +1 520 8371215