SlideShare a Scribd company logo
Distributed Computing On Topics of: Leader election + Byzantine algorithms)
SLIDES BY OSAMA ASKOURA
EECS 6117
Distributed Computing
Set2
Leader Election
inrings
Slide
2
We define leader election:
By the end of algorithm’s execution, only one
node identifies as “leader”
All other nodes identify as “follower”
Leader Election in anonymous rings is
impossible.
Leader Election in
Model
Ring Topology
Synchronous
Non Anonymous Processes
Anonymous ring Non-Anonymous ring
#1
#3#9
#7 #5
#2
#3
#4
Leader Election
innon-anonymousrings
Slide
2
Leader election algorithm 1:
• send id CCW;
• Forward msgs until you receive own id back;
• If (my id was smallest seenbefore own id
comes back )
• Then I’m“leader”
• Else
• Not leader “follower”
Total #messages =n2
Model
Ring Topology
Synchronous
Non Anonymous Processes
Non-Anonymous ring
#1
#3#9
#7 #5
#2
#3
#4
Slide
2
Leader election algorithm 2:
• Candidate =true;
• loop
• send id CCW and CW (bi-directional)
• Ifreceived id< own id
• Candidate =false
• Exit loop (“follower”)
• If got own idback
• I’m“leader”
• Exit loop
Total #messages =2n log(n)
Model
Ring Topology
Synchronous
Non Anonymous Processes
Bi-directional msgs
Non-Anonymous ring
#1
#3#9
#7 #5
#2
#8
#4
Leader election algorithm 2:
Proof that total #messages = 2n log(n):
• Every cycle each node sends 2 msgs 2n messages
• Every cycle you eliminate half log(n) cycles
• Total =2n log(n)
Model
Ring Topology
Synchronous
Non Anonymous Processes
Bi-directional msgs
Non-Anonymous ring
#1
#3#9
#7 #5
#2
#8
#4
#1
#3#9
#7 #5
#2
#8
#4
#1
#9
#7 #5
#2
#8
#3
#4
#1
#9
#7 #5
#2
#8
#3
#4
#1
#9
#7 #5
#2
#8
#3
#4
Slide
2
Leader election algorithm 3:
• Wait until CLOCK = n *id
• Declare yourself leader
• Send everybody telling you are leader
Total #messages =n
But what if id’s are very large numbers or IPaddresses?
• Time complexity grows big
• Cannot compare IPto CLOCK
Model
Ring Topology
Synchronous
Non Anonymous Processes
#1
#3#9
#7 #5
#2
#8
#4
Slide
2
CLAIM:
Every Leader Election algorithm in this model uses Ω( n log(n) )
messages
PROOF (Contradiction):
Suppose, exists algorithm that uses < n log(n) messages
Let A be that L.E algorithm
Transform A into A’ so that in A’ every process outputs minimum
id’s
So, A’ is
1. Elect leader;
2. Leader sends message around round to find smallest id
3. Leader sends smallest id to all
Model
Ring Topology
Synchronous
Non Anonymous Processes
#1
#3#9
#7 #5
#2
#8
#4
Slide
2
If A uses A(n) messages, then A’ uses A(n) + 2n messages
We will show that A(n) + 2n ≥ c. n log(n)
i.e. A(n) ≥ c. log(n)
Base n = 1: at least 0 messages
m(n) :
m(1) = 0
m(n) = 2 m(n) +
𝒏
𝟐
Two rings proof
Model
Ring Topology
Synchronous
Non Anonymous Processes
#1
#3#9
#7 #5
#2
#8
#4
Byzantine Agreement
in complete graphs
We look at the problem where a group of processes or nodes
need to agree on an output. In Byzantine agreements, some
nodes are allowed to be malicious. i.e. stay alive but not
follow their algorithm.
This problem arises in distributed systems with sensors
that can be faulty; such as airplane systems



Byzantine
Process
Correct
Processes
Agreement Property
All outputs of correct processes are same
Validity Property
If all inputs are “v”, then all outputs of correct processes are “v”



Byzantine
Process
Correct
Processes
Examples for Agreement with n=2 #failures = 0
Solution: each process send their input to each other; output
AND of the inputs (ensures both output same value)
 
Model
Non Anonymous Processes ( Proc IDs)
Message Passing System
Complete Network
Synchronous
No cryptography (used in reality to
avoid byzantine/malicious nodes)
Examples for Agreement with n=2 #failures = 1
(upto1failure:wedon’tknowifanywillfail)
Solution Attempt:
output whatever your input is; No communication in between.
- This satisfies validity property (if all input was v; all output is v)
- But doesn’t satisfy agreement property. How?:
So if n=2 & f =1, it’s impossible to solve
 
Model
Non Anonymous Processes ( Proc IDs)
Message Passing System
Complete Network
Synchronous
No cryptography (used in reality to
avoid byzantine/malicious nodes)
 
v1
v1
v1
v1

1
1

0
0
Examples for Agreement with n=3 #failures = 1
(upto1failure:wedon’tknowifanywillfail)
Solution Attempt:
Round 1: send to your neighbors your input
Round 2: ask other nodes what others sent them?
Problem: Bad guy can send inconsistent answers to bias their
decisions and violate agreement or validity property.
n = 3 and f = 1 is impossible
Model
Non Anonymous Processes ( Proc IDs)
Message Passing System
Complete Network
Synchronous
No cryptography (used in reality to
avoid byzantine/malicious nodes)



1 1
01
0 0
0
1 Byzantine:
sends
inconsistent
values to each



0 1
01
0 1
0
1
Byzantine:
sends
inconsistent
values to each
Round 1
Round 2
Byzantine Agreement in n = 4, f =1 is possible.
Byzantine Agreement is possible if n > 3f
Proving impossibility for n ≤ 3f
Claim: it’s impossible for n ≤ 3f
Proof (by contradiction):
assume it’s possible for n ≤ 3f i.e. exists algorithm A, that
solve it, then we can show that n=3, f=1 is solvable by A
If there is an algorithm for n=3, f=1 take it and run it on 6
nodes as follows:
Then processes a & b can’t tell difference if P3’ and P3
send you same as
P3’
P3




a
b
Algorithm for Byzantine Agreement if n > 4f:
fori=1tof+1
round1:sendpreferencetoeveryone
round2:if i=my_idthen
sendmajorityvaluereceivedinprevround
Lemma 1: if all correct processes have same preference v at
start of phase P, they have preference v at end of phase P.
Proof: In round 1, all correct processes send v (≥ n-f v’s sent)
n-f > f +
𝑛
2
≡
𝑛
2
> 2f ≡ n > 4f
Therefore, satisfying validity property follows from Lemma 1
Algorithm for Byzantine Agreement if n > 4f:
Lemma 2: if process i is correct, then all correct processes have
same preference at end of phase P.
Proof: Any 2 correct proc that update to leader’s value choose
same preference (since leader is correct)
Any 2 that chooses value because they get > f+
𝑛
2
copies must
choose same value. (since >
𝑛
2
copies caused from correct
processes + cannot be each of 2 different values )
Proof (continued): if any proc gets > f +
𝑛
2
copies of v then:
• >
𝑛
2
v’s came from correct processes
• Leader gets >
𝑛
2
copies of v
• Leader sends v
• all correct processes choose v
Thus satisfying agreement property follows from Lemma 2
Since we proved that our algorithm satisfies validity and
agreement, we prove that our algorithm is correct.
Byzantine Agreement
in incomplete graphs
Byzantine agreement works in complete graphs (model
below) if n > 3f
But for incomplete graphs, an extra condition holds.
Why?
Model
Non Anonymous Processes ( Proc IDs)
Message Passing System
Complete Network
Synchronous
No cryptography (used in reality to
avoid byzantine/malicious nodes)
A
C
B
D
Nodes B or C can fail, but NOT both
If this happens, the agreement is not
solvable.
Byzantine agreement works in complete graphs (model
below) if n > 3f
But for incomplete graphs, an extra condition holds.
Why?
Model
Non Anonymous Processes ( Proc IDs)
Message Passing System
Complete Network
Synchronous
No cryptography (used in reality to
avoid byzantine/malicious nodes)
A
C
B
D
Nodes B or C can fail, but NOT both (so n > 3f)
BUT
If this happens, the agreement
is not solvable: as A and D can only
communicate reliably one non-byzantine
process. However, the byzantine process
can reach all other 3.
Generality:
Byzantine Agreement is solvable in any arbitrary graph
if and only if:
n > 3f AND connectivity > 2f
When we say model A is as strong as model B, we need to
prove any of:
1. All executions in A are also executions in B
2. Problems solvable in B are subset of problems
solvable in A
• i.e. any problem the can be solved in B; can also be solved in A.
(Corollary: Ifa problem is impossible in A; it’s also impossible in B)
3. Show that A simulates B ( ᴟ transformation that
converts any algorithm for B intoalgorithm forA)
• Strong simulates weak
B
executions
A
executions
Slide
18
EECS6117notesFW15-16,Instructor:EricRuppert
HagitAttiyaandJenniferWelch.DistributedComputing:Fundamentals,SimulationsandAdvanced
Topics,2ndedition. Wiley,2004.
NancyA.Lynch.DistributedAlgorithms. MorganKaufmann,1996.
References

More Related Content

PDF
Distributed Computing Set 3 - Topics of non-Byzantine Consensus
DOCX
PDF
Sequence detector Verilog Code
PPT
Semaphores OS Basics
PPT
Presentation
PPTX
Loop control structure
PPTX
time domain analysis, Rise Time, Delay time, Damping Ratio, Overshoot, Settli...
PDF
The byzantine generals problem
Distributed Computing Set 3 - Topics of non-Byzantine Consensus
Sequence detector Verilog Code
Semaphores OS Basics
Presentation
Loop control structure
time domain analysis, Rise Time, Delay time, Damping Ratio, Overshoot, Settli...
The byzantine generals problem

What's hot (20)

PPTX
MATLAB Programming - Loop Control Part 2
PDF
Loops in C Programming | for Loop | do-while Loop | while Loop | Nested Loop
PDF
Semaphores
PDF
Chapter 3
PPTX
Loops in C
PPTX
Loops in c language
PPT
Behavioral modeling
PPTX
Loops c++
PPT
Looping statements in Java
PPT
Java Programming: Loops
PDF
ITFT_Semaphores and bounded buffer
PPTX
Matlab Script - Loop Control
PPTX
Loops Basics
PPTX
Process synchronization
PPTX
Types of loops in c language
PPTX
GEC21_DataPlanePerformanceCharacterization
PPTX
Operators loops conditional and statements
PDF
Java Repetiotion Statements
PPT
universality
PPT
Loops in matlab
MATLAB Programming - Loop Control Part 2
Loops in C Programming | for Loop | do-while Loop | while Loop | Nested Loop
Semaphores
Chapter 3
Loops in C
Loops in c language
Behavioral modeling
Loops c++
Looping statements in Java
Java Programming: Loops
ITFT_Semaphores and bounded buffer
Matlab Script - Loop Control
Loops Basics
Process synchronization
Types of loops in c language
GEC21_DataPlanePerformanceCharacterization
Operators loops conditional and statements
Java Repetiotion Statements
universality
Loops in matlab
Ad

Similar to Distributed Computing On Topics of: Leader election + Byzantine algorithms) (20)

PDF
Alex WANG - What is the most effective cryptosystem for public-key encryption?
PPTX
Computer Network Assignment Help
PPT
ch09_rsa_nemo.ppt
PPTX
Information and data security pseudorandom number generation and stream cipher
PPT
Introduction to cryptography
PPTX
PPTX
V semester, computer networks BCS502 Module-2_DataLinkLayer
PPTX
Encoder for (7,3) cyclic code using matlab
PPT
Overview of theory Quantum Cryptography and it's applications.ppt
PPTX
Cryptography and network security
PPTX
Computer_Communication_Networking_L07Data_Link_Error_control.pptx
PDF
DC Lecture 04 and 05 Mutual Excution and Election Algorithms.pdf
PPT
aks-Termination_0000000_1111_hfjhffdjfjd.ppt
PDF
Cryptosystem An Implementation of RSA Using Verilog
PPTX
Binary Hash Tree based Certificate Access Management for Connected Vehicles (...
PPT
ALGO.ppt
PPT
CP4151 ADSA unit1 Advanced Data Structures and Algorithms
PDF
D44091720
PPTX
Hamming code system
PPTX
Rass presentation
Alex WANG - What is the most effective cryptosystem for public-key encryption?
Computer Network Assignment Help
ch09_rsa_nemo.ppt
Information and data security pseudorandom number generation and stream cipher
Introduction to cryptography
V semester, computer networks BCS502 Module-2_DataLinkLayer
Encoder for (7,3) cyclic code using matlab
Overview of theory Quantum Cryptography and it's applications.ppt
Cryptography and network security
Computer_Communication_Networking_L07Data_Link_Error_control.pptx
DC Lecture 04 and 05 Mutual Excution and Election Algorithms.pdf
aks-Termination_0000000_1111_hfjhffdjfjd.ppt
Cryptosystem An Implementation of RSA Using Verilog
Binary Hash Tree based Certificate Access Management for Connected Vehicles (...
ALGO.ppt
CP4151 ADSA unit1 Advanced Data Structures and Algorithms
D44091720
Hamming code system
Rass presentation
Ad

More from Osama Askoura (6)

PPTX
Molecular Communication for Bio Fuels
PDF
Distributed Computing - Slide Set 1 (broadcast algorithms + stronger)
PDF
Coexistence of LTE-U with WiFi 802.11n at 5GHz Unlicensed Spectrum
PDF
Coexistence of LTE-U with WiFi 802.11n at 5GHz Unlicensed Spectrum
PDF
Virtual reality Immersion and Presence in Physiological Measures
PDF
6590 Research Paper Review: MAC Protocol for Multi-Hop Multicast in Adhoc Net...
Molecular Communication for Bio Fuels
Distributed Computing - Slide Set 1 (broadcast algorithms + stronger)
Coexistence of LTE-U with WiFi 802.11n at 5GHz Unlicensed Spectrum
Coexistence of LTE-U with WiFi 802.11n at 5GHz Unlicensed Spectrum
Virtual reality Immersion and Presence in Physiological Measures
6590 Research Paper Review: MAC Protocol for Multi-Hop Multicast in Adhoc Net...

Recently uploaded (20)

PPTX
Programs and apps: productivity, graphics, security and other tools
PPTX
SOPHOS-XG Firewall Administrator PPT.pptx
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Machine learning based COVID-19 study performance prediction
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
cuic standard and advanced reporting.pdf
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Encapsulation theory and applications.pdf
PDF
Accuracy of neural networks in brain wave diagnosis of schizophrenia
PPTX
A Presentation on Artificial Intelligence
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
A comparative analysis of optical character recognition models for extracting...
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPT
Teaching material agriculture food technology
Programs and apps: productivity, graphics, security and other tools
SOPHOS-XG Firewall Administrator PPT.pptx
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Machine learning based COVID-19 study performance prediction
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
cuic standard and advanced reporting.pdf
Encapsulation_ Review paper, used for researhc scholars
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Encapsulation theory and applications.pdf
Accuracy of neural networks in brain wave diagnosis of schizophrenia
A Presentation on Artificial Intelligence
Mobile App Security Testing_ A Comprehensive Guide.pdf
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Digital-Transformation-Roadmap-for-Companies.pptx
A comparative analysis of optical character recognition models for extracting...
MYSQL Presentation for SQL database connectivity
Advanced methodologies resolving dimensionality complications for autism neur...
Teaching material agriculture food technology

Distributed Computing On Topics of: Leader election + Byzantine algorithms)

  • 1. Distributed Computing On Topics of: Leader election + Byzantine algorithms) SLIDES BY OSAMA ASKOURA EECS 6117 Distributed Computing Set2
  • 3. Slide 2 We define leader election: By the end of algorithm’s execution, only one node identifies as “leader” All other nodes identify as “follower” Leader Election in anonymous rings is impossible. Leader Election in Model Ring Topology Synchronous Non Anonymous Processes Anonymous ring Non-Anonymous ring #1 #3#9 #7 #5 #2 #3 #4
  • 5. Slide 2 Leader election algorithm 1: • send id CCW; • Forward msgs until you receive own id back; • If (my id was smallest seenbefore own id comes back ) • Then I’m“leader” • Else • Not leader “follower” Total #messages =n2 Model Ring Topology Synchronous Non Anonymous Processes Non-Anonymous ring #1 #3#9 #7 #5 #2 #3 #4
  • 6. Slide 2 Leader election algorithm 2: • Candidate =true; • loop • send id CCW and CW (bi-directional) • Ifreceived id< own id • Candidate =false • Exit loop (“follower”) • If got own idback • I’m“leader” • Exit loop Total #messages =2n log(n) Model Ring Topology Synchronous Non Anonymous Processes Bi-directional msgs Non-Anonymous ring #1 #3#9 #7 #5 #2 #8 #4
  • 7. Leader election algorithm 2: Proof that total #messages = 2n log(n): • Every cycle each node sends 2 msgs 2n messages • Every cycle you eliminate half log(n) cycles • Total =2n log(n) Model Ring Topology Synchronous Non Anonymous Processes Bi-directional msgs Non-Anonymous ring #1 #3#9 #7 #5 #2 #8 #4 #1 #3#9 #7 #5 #2 #8 #4 #1 #9 #7 #5 #2 #8 #3 #4 #1 #9 #7 #5 #2 #8 #3 #4 #1 #9 #7 #5 #2 #8 #3 #4
  • 8. Slide 2 Leader election algorithm 3: • Wait until CLOCK = n *id • Declare yourself leader • Send everybody telling you are leader Total #messages =n But what if id’s are very large numbers or IPaddresses? • Time complexity grows big • Cannot compare IPto CLOCK Model Ring Topology Synchronous Non Anonymous Processes #1 #3#9 #7 #5 #2 #8 #4
  • 9. Slide 2 CLAIM: Every Leader Election algorithm in this model uses Ω( n log(n) ) messages PROOF (Contradiction): Suppose, exists algorithm that uses < n log(n) messages Let A be that L.E algorithm Transform A into A’ so that in A’ every process outputs minimum id’s So, A’ is 1. Elect leader; 2. Leader sends message around round to find smallest id 3. Leader sends smallest id to all Model Ring Topology Synchronous Non Anonymous Processes #1 #3#9 #7 #5 #2 #8 #4
  • 10. Slide 2 If A uses A(n) messages, then A’ uses A(n) + 2n messages We will show that A(n) + 2n ≥ c. n log(n) i.e. A(n) ≥ c. log(n) Base n = 1: at least 0 messages m(n) : m(1) = 0 m(n) = 2 m(n) + 𝒏 𝟐 Two rings proof Model Ring Topology Synchronous Non Anonymous Processes #1 #3#9 #7 #5 #2 #8 #4
  • 12. We look at the problem where a group of processes or nodes need to agree on an output. In Byzantine agreements, some nodes are allowed to be malicious. i.e. stay alive but not follow their algorithm. This problem arises in distributed systems with sensors that can be faulty; such as airplane systems    Byzantine Process Correct Processes
  • 13. Agreement Property All outputs of correct processes are same Validity Property If all inputs are “v”, then all outputs of correct processes are “v”    Byzantine Process Correct Processes
  • 14. Examples for Agreement with n=2 #failures = 0 Solution: each process send their input to each other; output AND of the inputs (ensures both output same value)   Model Non Anonymous Processes ( Proc IDs) Message Passing System Complete Network Synchronous No cryptography (used in reality to avoid byzantine/malicious nodes)
  • 15. Examples for Agreement with n=2 #failures = 1 (upto1failure:wedon’tknowifanywillfail) Solution Attempt: output whatever your input is; No communication in between. - This satisfies validity property (if all input was v; all output is v) - But doesn’t satisfy agreement property. How?: So if n=2 & f =1, it’s impossible to solve   Model Non Anonymous Processes ( Proc IDs) Message Passing System Complete Network Synchronous No cryptography (used in reality to avoid byzantine/malicious nodes)   v1 v1 v1 v1  1 1  0 0
  • 16. Examples for Agreement with n=3 #failures = 1 (upto1failure:wedon’tknowifanywillfail) Solution Attempt: Round 1: send to your neighbors your input Round 2: ask other nodes what others sent them? Problem: Bad guy can send inconsistent answers to bias their decisions and violate agreement or validity property. n = 3 and f = 1 is impossible Model Non Anonymous Processes ( Proc IDs) Message Passing System Complete Network Synchronous No cryptography (used in reality to avoid byzantine/malicious nodes)    1 1 01 0 0 0 1 Byzantine: sends inconsistent values to each    0 1 01 0 1 0 1 Byzantine: sends inconsistent values to each Round 1 Round 2
  • 17. Byzantine Agreement in n = 4, f =1 is possible. Byzantine Agreement is possible if n > 3f Proving impossibility for n ≤ 3f Claim: it’s impossible for n ≤ 3f Proof (by contradiction): assume it’s possible for n ≤ 3f i.e. exists algorithm A, that solve it, then we can show that n=3, f=1 is solvable by A
  • 18. If there is an algorithm for n=3, f=1 take it and run it on 6 nodes as follows: Then processes a & b can’t tell difference if P3’ and P3 send you same as P3’ P3     a b
  • 19. Algorithm for Byzantine Agreement if n > 4f: fori=1tof+1 round1:sendpreferencetoeveryone round2:if i=my_idthen sendmajorityvaluereceivedinprevround Lemma 1: if all correct processes have same preference v at start of phase P, they have preference v at end of phase P. Proof: In round 1, all correct processes send v (≥ n-f v’s sent) n-f > f + 𝑛 2 ≡ 𝑛 2 > 2f ≡ n > 4f Therefore, satisfying validity property follows from Lemma 1
  • 20. Algorithm for Byzantine Agreement if n > 4f: Lemma 2: if process i is correct, then all correct processes have same preference at end of phase P. Proof: Any 2 correct proc that update to leader’s value choose same preference (since leader is correct) Any 2 that chooses value because they get > f+ 𝑛 2 copies must choose same value. (since > 𝑛 2 copies caused from correct processes + cannot be each of 2 different values )
  • 21. Proof (continued): if any proc gets > f + 𝑛 2 copies of v then: • > 𝑛 2 v’s came from correct processes • Leader gets > 𝑛 2 copies of v • Leader sends v • all correct processes choose v Thus satisfying agreement property follows from Lemma 2 Since we proved that our algorithm satisfies validity and agreement, we prove that our algorithm is correct.
  • 23. Byzantine agreement works in complete graphs (model below) if n > 3f But for incomplete graphs, an extra condition holds. Why? Model Non Anonymous Processes ( Proc IDs) Message Passing System Complete Network Synchronous No cryptography (used in reality to avoid byzantine/malicious nodes) A C B D Nodes B or C can fail, but NOT both If this happens, the agreement is not solvable.
  • 24. Byzantine agreement works in complete graphs (model below) if n > 3f But for incomplete graphs, an extra condition holds. Why? Model Non Anonymous Processes ( Proc IDs) Message Passing System Complete Network Synchronous No cryptography (used in reality to avoid byzantine/malicious nodes) A C B D Nodes B or C can fail, but NOT both (so n > 3f) BUT If this happens, the agreement is not solvable: as A and D can only communicate reliably one non-byzantine process. However, the byzantine process can reach all other 3.
  • 25. Generality: Byzantine Agreement is solvable in any arbitrary graph if and only if: n > 3f AND connectivity > 2f
  • 26. When we say model A is as strong as model B, we need to prove any of: 1. All executions in A are also executions in B 2. Problems solvable in B are subset of problems solvable in A • i.e. any problem the can be solved in B; can also be solved in A. (Corollary: Ifa problem is impossible in A; it’s also impossible in B) 3. Show that A simulates B ( ᴟ transformation that converts any algorithm for B intoalgorithm forA) • Strong simulates weak B executions A executions