1 / 23

Reactive and Output-Only

Reactive and Output-Only. HKOI Training Team 2006. Liu Chi Man (cx) 11 Feb 2006. Outline. Reactive tasks (a.k.a. interactive tasks) Output-only tasks (a.k.a. open test data tasks) Scoring methods. Traditional tasks. Read input, write output Static input Problem: Add Two Numbers

levia
Download Presentation

Reactive and Output-Only

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Reactive and Output-Only HKOI Training Team 2006 Liu Chi Man (cx) 11 Feb 2006

  2. Outline • Reactive tasks (a.k.a. interactive tasks) • Output-only tasks (a.k.a. open test data tasks) • Scoring methods HKOI Training Team 2006

  3. Traditional tasks • Read input, write output • Static input • Problem: Add Two Numbers • Input: Two integers per line • Output: For each input line, add the two integers and output the sum on one line HKOI Training Team 2006

  4. Add Two Numbers • Algorithm One • while not end of input do read integers from input write sum to output • Algorithm Two • read all integers into an array compute all sums write all sums to output HKOI Training Team 2006

  5. Interactivity • Problem: Guess The Number • My lucky number is an integer between 1 and N • Guess until you get the correct answer • After each guess I will tell you whether your guess is too big or too small or correct HKOI Training Team 2006

  6. Interaction via provided libraries • Function calls • Examples: • N := GetN(); / N = GetN(); • MakeGuess(7); • Task description contains sufficient instructions • Using a library • Pascal: uses mylib; • C/C++: #include "mylib.h" HKOI Training Team 2006

  7. Interaction via standard I/O • I/O method same as traditional tasks • IMPORTANT • Make sure you read and write in the correct order specified in the task description HKOI Training Team 2006

  8. Nature of reactive tasks • Black-box testing • Two-person games • Updates and queries HKOI Training Team 2006

  9. Black-box testing • Use queries to reveal hidden information • Examples include • Guess The Number • Mastermind HKOI Training Team 2006

  10. Two-person games • Write a program to play a game against the judging program • Examples include • Tic-tac-toe • Nim (match-picking) HKOI Training Team 2006

  11. Updates and queries • Processing of a set of data • “Update” command • Modify the set of data • “Query” command • Ask for some information about the data • A Query must be answered before next command is revealed HKOI Training Team 2006

  12. Strategies • Black-box testing • Bisection, trisection, etc. • Two-person games • Minimax method (dynamic programming speed up) • Updates and queries • More advanced data structures, e.g. disjoint sets HKOI Training Team 2006

  13. Output-only tasks • All input test cases are given to you • You are required to submit corresponding output files for these inputs • No source code, executable required • Usually optimal (best) answers are very difficult to obtain • Partial scoring HKOI Training Team 2006

  14. Nature of output-only tasks • “Hard” problems • Optimal solutions not likely to be found within minutes • For the precise definition of “hardness”, look forward to “[Talk] Introduction to Complexity Theory” • “Semi-manual” problems • Some of the test cases designed for you to solve by hand or wicked methods HKOI Training Team 2006

  15. Strategies • Manual inspection of all test cases • Make sure you don’t miss those easy inputs • Go for suboptimal solutions • Greedy, heuristics, random, etc. • Fully utilize your resources • Hours of CPU time • Plentiful memory • Other tools (calc, sort, factor, bc, graphics software, games, etc.) HKOI Training Team 2006

  16. Effort vs. Score Score Effort HKOI Training Team 2006

  17. 1 Task = 10 Tasks! • Sometimes test cases are designed so that each one has some special properties • Different properties may lead to different solving methods • 1 task, T programs • T is the number of test cases HKOI Training Team 2006

  18. Conclusion • 1 to 2 per competition (6 tasks in total) • Reactive tasks are more popular than output-only tasks • In general, it is easier to score high marks in reactive tasks than output-only tasks HKOI Training Team 2006

  19. Frequencies HKOI Training Team 2006

  20. Scoring methods • How are marks given for each test case? • All-or-nothing • Correct – full; incorrect – zero • Partial • You may get something between full and zero HKOI Training Team 2006

  21. Partial scoring • Multiple parts • Example: If you get the first integer wrong, you get 0%; if you get the first integer correct, you get 30%; if you get both integers correct, you get 100% • Suboptimal award • Example (maximization): Let A be the optimal answer and B be your answer; your score is (B/A)  100% HKOI Training Team 2006

  22. Partial scoring • Number of queries (Reactive: black-box testing) • Fewer queries, higher score • Usually an explicit formula for score calculation is given • Some of the variables in the formula may be unknown to you, however • “Your answer is compared to our answer” • Our refers to the judges HKOI Training Team 2006

  23. Relative scoring • Your answer is compared to the best answer among all contestants • If nobody else attempts that task, you win HKOI Training Team 2006

More Related