280 likes | 435 Views
Project Management Example. Solving Sudoku . What is Sudoku?. Sudoku is a game with 9 columns and 9 rows and 9 “boxes” composed of a 3 x 3 Grid Numbers from 1 to 9 should be entered once in each column, row and box All games have some numbers already entered. Sample Sudoku Game.
E N D
Project Management Example Solving Sudoku
What is Sudoku? • Sudoku is a game with 9 columns and 9 rows and 9 “boxes” composed of a 3 x 3 Grid • Numbers from 1 to 9 should be entered once in each column, row and box • All games have some numbers already entered
Project Methodology • 1 Set goal • 2 Determine steps needed to reach goal • 3 Implement the steps • 4 Evaluate the results Repeat steps as needed until the goal is reached
Step 1:Set the Goal Create a Sudoku Solver that solves 100% of the Games fast
Step 2a: Create an input screen – which allows the easy entry of numbers into a 9 x 9 grid Solution: Use an Excel spreadsheet
Step 2B:Select Programming Language Solution: Visual Basic is available within Excel as a programming language
Step 2c: Design subroutines required to complete project • Main Module • Update by rows – create subroutine • Update by columns – create subroutine • Update by boxes – create subroutine • Add additional subroutines as needed • Add final subroutine to solve sequentially • Evaluate the results of each subroutine • (Win, Lose or Draw)
Step 4: Test the ResultsWere all the games solved? Step 4a: Purchase of Sudoku puzzle book of 320 games split into 90 easy games, 90 medium games, 90 hard games, 50 very hard games.
Step 4b: Evaluate and review Testing Results Easy: 90 of 90 solved Medium: 75 of 90 solved Hard: 38 of 45 solved Tests stopped here Conclusion: 1 More modules need to be added 2 Sequential testing takes too long
Step 2d: Design more Subroutinesor change existing routines to solve more puzzles Viewed Doubles by Row, Column, Boxes Hidden Pairs by Row, Columns, Boxes
Step 3A: Write the Code Added the Additional Tests needed and discovered a quicker way to solve the puzzles in one of the modules (Level 5 Sequential Testing)
Step 4c: Evaluate and review Test Results More games are solved - but 32 games were remaining for sequential testing. 1 of the 32 games was not solved – due to duplicate solutions.
Step 1a: Revise the Goal to be more specific New Goal: Solve 100% of the Games with less than 2% of games solved sequentially. This will speed-up finding the solutions
Step 2d :Design additional Subroutines • Find additional patterns based on data. • Check Internet for additional ideas on logic used for elimination of possibilities within cells • Review Sequential testing module to determine if this can be further rewritten to work better/faster
Step 4c: Evaluation of test results on 16 new modules Medium: 6Hard: 3Very Hard: 8 Remaining unsolved at completion of level 3 tests: 17
2e: Design: Modify the order of the subroutines to speed up the finding of the solutions of programs
2f: Design New Pattern Emerging Noticed more of hard games were solved than medium games Are all of the modules working properly? Is there additional logic that could be tested for but were missed?
2g: Design Found New Logic!!! • Wrote 2 add’l subroutines and added to level 2 • All but 3 of level 3 games were solved by new level 2 subroutines. Possible to eliminate Level 3 and rely on Level 5 as a catch all. • Number of games left for level 5: 3 • Number of Sequential tries for Level 5: reduced to 1
Tech Specifications • Machine Specification – Pentium Core Duo running at 2.4 Megahertz • The Program was written in Visual Basic within Excel 2003
Last Word All Games that I found anywhere (in Books, On-Line or in Newspapers were solved at Levels 1-5 • Level 6 was added as a “Last Resort” • Any Game that was “Incomplete” at end of Level 5 was solved in Level 6. • Level 6 was tested and only found 1 puzzle that reached Level 6. • For Games with multiple solutions (Level 5 or 6) – only 1 solution is displayed
Contact us at: Phone#: 631-544-5120 Website: FunctionstoGo.com Email: greenn1949@yahoo.com