In this report, you'll work with the following algorithm. You will model it with a state machine, verify that it terminates, verify that it is partially correct, and provide a time complexity estimate for it. Input :Non-negative integers x, y Output : Non-negative integer a r:= x; s:= y; a:= 0; while s + 0 do if 2 | s then r:=r+r; s:= s/2; end else a := a+r; r:=r+r; s:= (s - 1)/2; end end return a Älgorithm 1: An algorithm that performs a simple calculation on x,y. (a) Algorithm[ seems rather complex, but it is actually performing a relatively simple operation on the input values x, y. i Walk through the algorithm using your choice of an example pair of values x, y by showing the values of r, s, a after each iteration of the loop. Understand that the example values for x,y that you used are just for this part to understand how the algorithm works. For the rest of the report, you need to think about the algorithm abstractly. ii Describe what simple calculation is being performed on the input values. amal min Matiaa tlhat tha

Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:James Kurose, Keith Ross
Chapter1: Computer Networks And The Internet
Section: Chapter Questions
Problem R1RQ: What is the difference between a host and an end system? List several different types of end...
icon
Related questions
Question
In this report, you'll work with the following algorithm. You will model it with a state machine,
verify that it terminates, verify that it is partially correct, and provide a time complexity estimate
for it.
Input :Non-negative integers x, y
Output : Non-negative integer a
r:= x;
s:= y;
a:= 0;
while s + 0 do
if 2 | s then
r:=r+r;
s:= s/2;
end
else
a := a+r;
r:=r+r;
s:= (s - 1)/2;
end
end
return a
Algorithm 1: An algorithm that performs a simple calculation on x, y.
(a) Algorithm] seems rather complex, but it is actually performing a relatively simple operation
on the input values x, y.
i Walk through the algorithm using your choice of an example pair of values x, y by
showing the values of r,s, a after each iteration of the loop. Understand that the example
values for x,y that you used are just for this part to understand how the algorithm works.
For the rest of the report, you need to think about the algorithm abstractly.
ii Describe what simple calculation is being performed on the input values.
(b) Complete the following description for a state machine model of Algorithm]. Notice that the
start state and part of the transition function need to be completed.
• States: (r,s,a) eN
• Start State: (?,?, ?)
• Transition Function: The transitions are given by the rule & that for s > 0:
|(2r, s/2,a) if 2|s
|(?, ?, ?)
8(r,s, a) =
otherwise.
(c) Verify that Algorithm] is partially correct.
i Describe what it means for Algorithm] to be partially correct.
ii Define a predicate P on the states that you believe is a preserved invariant. (Suggestion:
Think about why the loop condition is s + 0 and look at your sequence of steps from
Part 1.)
iii Prove that P is a preserved invariant.
iv Apply the Invariant Principle to prove that Algorithm] is partially correct.
(d) Verify that Algorithm] terminates.
i Verify that the derived variable p(r,s,a)::= s is strictly decreasing.
ii Use p to prove that the algorithm terminates.
(e) Using the results from 4. (d) and a definition for the Big Oh relation, prove that O(logy)
provides a time complexity estimate for Algorithm[].
Transcribed Image Text:In this report, you'll work with the following algorithm. You will model it with a state machine, verify that it terminates, verify that it is partially correct, and provide a time complexity estimate for it. Input :Non-negative integers x, y Output : Non-negative integer a r:= x; s:= y; a:= 0; while s + 0 do if 2 | s then r:=r+r; s:= s/2; end else a := a+r; r:=r+r; s:= (s - 1)/2; end end return a Algorithm 1: An algorithm that performs a simple calculation on x, y. (a) Algorithm] seems rather complex, but it is actually performing a relatively simple operation on the input values x, y. i Walk through the algorithm using your choice of an example pair of values x, y by showing the values of r,s, a after each iteration of the loop. Understand that the example values for x,y that you used are just for this part to understand how the algorithm works. For the rest of the report, you need to think about the algorithm abstractly. ii Describe what simple calculation is being performed on the input values. (b) Complete the following description for a state machine model of Algorithm]. Notice that the start state and part of the transition function need to be completed. • States: (r,s,a) eN • Start State: (?,?, ?) • Transition Function: The transitions are given by the rule & that for s > 0: |(2r, s/2,a) if 2|s |(?, ?, ?) 8(r,s, a) = otherwise. (c) Verify that Algorithm] is partially correct. i Describe what it means for Algorithm] to be partially correct. ii Define a predicate P on the states that you believe is a preserved invariant. (Suggestion: Think about why the loop condition is s + 0 and look at your sequence of steps from Part 1.) iii Prove that P is a preserved invariant. iv Apply the Invariant Principle to prove that Algorithm] is partially correct. (d) Verify that Algorithm] terminates. i Verify that the derived variable p(r,s,a)::= s is strictly decreasing. ii Use p to prove that the algorithm terminates. (e) Using the results from 4. (d) and a definition for the Big Oh relation, prove that O(logy) provides a time complexity estimate for Algorithm[].
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps with 1 images

Blurred answer
Recommended textbooks for you
Computer Networking: A Top-Down Approach (7th Edi…
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
Computer Organization and Design MIPS Edition, Fi…
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
Network+ Guide to Networks (MindTap Course List)
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
Concepts of Database Management
Concepts of Database Management
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning
Prelude to Programming
Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education
Sc Business Data Communications and Networking, T…
Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY