Unformatted text preview: CS2603 Applied Logic Homework 1 Due Tuesday, January 22, 2:59pm, CEC 121 Late Homework will be not accepted Problem: Buggy Software Scenario. You are stranded on a desert island and have discovered a computer left on the island by a departed AI guru. The computer's batteries are about to run out of power. There are three programs installed on the computer. The names of the programs are HelpMe, Ayudame, and AideMoi. (There is no significance in these names. They could just has well have been A, B, and C, or Dog, Cat, and Mouse, or any other names. Names are specified only to provide some uniform terminology for solutions.) All three programs attempt to perform the same functions. If you run any one of the programs and supply it with a question that has a yes-or-no answer, the program responds with "Yes" or "No". If you run the program and supply the input "Help", the program sends an email message to a rescue team, explaining your situation and the providing location of the desert island. The computer has just enough power to answer one question and send one help message. You can select which program to run and supply whatever input you like (but only one input -- you have to run it again if you want to supply another input). You can do this twice, once to ask a question and once to send a message. After that, you're stuck on the island. No more battery power. Bugs. One of the programs (you don't know which one) is defect free. It always answers yes-or-no questions correctly, and, upon request, it always transmits your correct location to the rescue group. Another of the programs (again, you don't know which one) is almost defect free. Upon request, it always transmits your correct location to the rescue group, but because the AI guru accidentally swapped entries in the answer table, the answer "Yes" means "No", and and the answer "No" means "Yes". In other words, this program always gives the wrong answer to yes-or-no questions. The third program has a lot of bugs. It answers some questions correctly and some incorrectly, with no indication as to which is which. Besides that, it always sends the wrong location in help messages. The Question. Figure out a question to ask one of the programs so that, when you get the answer, you will be able to select a program that will send your correct location to the rescue team. Non-solution. Sending two help messages gets you nowhere. Any fool could get get rescued if there were enough power to send two messages. What To Turn In * A question that solves the problem * An explanation of why your question solves the problem * A journal that describes the milestones in the thought process you went through: what you tried, why you tried it, what you learned from trying it. Begin each entry in the journal with the date and time that you made the entry. This journal is a serious part of the problem. The answer is not going to come to you immediately. It may come in a flash, but that inspiration is unlikely to occur until after you have had several others that led to no solution. Each time you think of a new approach, write it down, explain why you are going in that direction, and, later, describe where it led you. That's three pieces of information for each approach. Any serious attempt to solve this problem will have at least a few different approaches (that is, at least three or four). It may have several (that is, five to eight), or it may have many. If your journal has fewer than three entries (each with at least the three required pieces of information), the grader is going to conclude that you did not make a serious attempt to solve the problem. Grading Criteria * Warning! This is a difficult problem. You can get a good grade, even without a complete solution, if you document the thought process that you follow in trying to solve the problem. You will get a poor grade, even with a correct solution, if you fail to document your thought process. * A question that solves the problem will not, by itself, earn a perfect score on this homework assignment. The question is worth at most 25% of the credit. The explanation and the journal together comprise the remaining 75% of the credit. In fact, a good explanation and journal can earn 95% of the credit, even if the solution is incorrect. * This logic problem has been presented in many guises by many authors. You can find a solution on the web or in a book or by talking to another person. You are free to approach the problem this way if you want to, as long as you document your method in your journal (the various places you looked, what led you to them, where you found the solution, how you decided it was a solution, and so on). Leaving your sources undocumented is plagiarism and is one of the forms of academic misconduct. * The instructor is interested in what you can think of on your own. The instructor is not interested in what you can find on the web or glean from other sources. This course is about thinking for yourself, not about finding out what other people have thought. Format * Name. Put your name near the top of first sheet. * Numbering. Number each sheet in sequence. * Lettering. Both hand-written and typed solutions will be accepted. * Style. Clarity of thought, and clarity in expressing your thoughts, counts. * No paperclips. Multiple-sheet solutions fastened with paperclips, notched corners, or other binding devices will not be accepted. Use a proper staple to bind multiple-sheet solutions in the upper left corner of the sheets. If you don't have access to a stapler, and you don't have enough money to get one of your own, ask the instructor for a stapler scholarship. The application deadline for stapler scholarships is 24 hours before the homework is due. Solutions not properly stapled will not be accepted. ...
View Full Document
- Spring '08