2. Honest Goblins are Easy to Find At Hogwarts a new shipment of n goblins has arrived. To be of any use, a goblin must be completely truthful (never lies). Unfortunately, not all of the ngoblins in the shipment are truth tellers. Only some are truth-tellers, and some are deceivers. It is your task to design an algorithm to separate the truth-teller r goblins from the deceiver goblins. To do this, you have one 1 and that you test, the following can be concluded from the goblin responses Geblin A says Goblin B says Conclusion Bis a truth-teller A is a truth-teller both are truth-tellers or both are deceivers B is a truth-teller A is a deceiver at least one is a deceiver Bisa deceiver A is a truth-teller at least one is a deceiver Bis a deceiver A is a deceiver at least one is a deceiver Comparing 2 goblins with each other cests 1"goblin comparison". Assume that more than half of the given n goblins are truth tellers. Design an O(n) goblin comparison algorithm that will identify 1 truth teller.

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question
2. Honest Goblins are Easy to Find
At Hogwarts a new shipment of n goblins has arrived. To be of any use, a goblin must be completely truthful (never lies). Unfortunately, not all of the n goblins in the shipment are truth tellers. Only some are truth-tellers, and some are deceivers. It is your task to design an algorithm to separate the
truth-teller goblins from the deceiver goblins. To do this, you have one tool available: You may combine any two goblins and have them state whether the other goblin is a truth-teller or a deceiver. A truth-teller will always say correctly what the other goblin is, but a deceiver may lie (but also may
sometimes tell the truth to REALLY confuse you). For any two goblins that you test, the following can be concluded from the goblin responses:
Goblin A says
Goblin B says
Conclusion
B is a truth-teller
A is a truth-teller
both are truth-tellers or both are deceivers
B is a truth-teller
A is a deceiver
at least one is a deceiver
B is a deceiver
A is a truth-teller
at least one is a deceiver
B is a deceiver
A is a deceiver
at least one is a deceiver
Comparing 2 goblins with each other costs 1 "goblin comparison". Assume that more than half of the given n goblins are truth tellers. Design an O(n) goblin comparison algorithm that will identify 1 truth teller.
3. Card Flipper: You walk into a room, and see a row of n cards. Each one has a number x; written on it, where i ranges from 1 to n. However, initially all the cards are face down. Your goal is to find a local minimum: that is, a card i whose number is less than or equal to those of its neighbors, x-1= X;
<= Xj+1. The first and last cards can also be local minima, and they only have one neighbor to compare to. There can be many local minima, but you are only responsible for finding one of them.
Obviously you can solve this problem by turning over all n cards, and scanning through them. However, show that you can find such a minimum by turning over only O(log n) cards.
4. Even Faster Multiplication?
Show how to multiply 2 n-digit numbers by breaking the problem down into 5 subproblems of roughly one third the size. Turn this into a recursive multiplication algorithm and analyze the run time.
Transcribed Image Text:2. Honest Goblins are Easy to Find At Hogwarts a new shipment of n goblins has arrived. To be of any use, a goblin must be completely truthful (never lies). Unfortunately, not all of the n goblins in the shipment are truth tellers. Only some are truth-tellers, and some are deceivers. It is your task to design an algorithm to separate the truth-teller goblins from the deceiver goblins. To do this, you have one tool available: You may combine any two goblins and have them state whether the other goblin is a truth-teller or a deceiver. A truth-teller will always say correctly what the other goblin is, but a deceiver may lie (but also may sometimes tell the truth to REALLY confuse you). For any two goblins that you test, the following can be concluded from the goblin responses: Goblin A says Goblin B says Conclusion B is a truth-teller A is a truth-teller both are truth-tellers or both are deceivers B is a truth-teller A is a deceiver at least one is a deceiver B is a deceiver A is a truth-teller at least one is a deceiver B is a deceiver A is a deceiver at least one is a deceiver Comparing 2 goblins with each other costs 1 "goblin comparison". Assume that more than half of the given n goblins are truth tellers. Design an O(n) goblin comparison algorithm that will identify 1 truth teller. 3. Card Flipper: You walk into a room, and see a row of n cards. Each one has a number x; written on it, where i ranges from 1 to n. However, initially all the cards are face down. Your goal is to find a local minimum: that is, a card i whose number is less than or equal to those of its neighbors, x-1= X; <= Xj+1. The first and last cards can also be local minima, and they only have one neighbor to compare to. There can be many local minima, but you are only responsible for finding one of them. Obviously you can solve this problem by turning over all n cards, and scanning through them. However, show that you can find such a minimum by turning over only O(log n) cards. 4. Even Faster Multiplication? Show how to multiply 2 n-digit numbers by breaking the problem down into 5 subproblems of roughly one third the size. Turn this into a recursive multiplication algorithm and analyze the run time.
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps

Blurred answer
Knowledge Booster
Intelligent Machines
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education