Sudoku and Task Scheduling: An Unconventional Connection, Slides of Computer Science

The intriguing relationship between sudoku puzzles and the task scheduling problem. Discover how concepts from sudoku can be applied to task scheduling and vice versa. Learn about sudoku puzzles, their solution methods, and variations. Additionally, understand the basics of task scheduling, its constraints, and the importance of efficient scheduling algorithms.

Typology: Slides

2012/2013

Uploaded on 04/30/2013

naji
naji 🇮🇳

4.3

(6)

87 documents

1 / 17

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Task Scheduling
Ten Puzzling Problems in Computer Engineering
Docsity.com
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff

Partial preview of the text

Download Sudoku and Task Scheduling: An Unconventional Connection and more Slides Computer Science in PDF only on Docsity!

Task Scheduling

Ten Puzzling Problems in Computer Engineering

Mini-Sudoku Puzzle

Complete entries in this

chart so that numbers 1-

appear without repetition

in each row, each column

and each 2 × 3 block

USA Today carries a daily

mini-Sudoku at its site:

http://puzzles.usatoday.com

Standard Sudoku consists of

a 9 × 9 chart, but this mini

version is good for a quick fix

2

4 1

6 3

5

1

3 6

4 6

3

Sudoku isn’t a math puzzle:

We can use the letters A-F,

or any other six symbols,

instead of the numbers 1-

Sudoku Puzzle: Easy Example

5

4 7

6 7 4

9 5

2

6 1

3

6 4

9

8

5

7

1 3

6

2 9

8

8 3

5 9 7

4 5

6

Complete entries in this

chart so that numbers 1-

appear without repetition

in each row, each column

and each 3 × 3 block

Sudoku puzzles of varying

difficulties (easy, medium,

hard, evil) are available at

http://www.websudoku.com

and several other Web sites,

such as USA Today’s site

http://puzzles.usatoday.com

Many newspapers carry these

puzzles; there are also many

collections in book form

Sudoku

Puzzle

Solution

Method

5

4 7

6 7 4

9 5

2

6 1

3

6 4

9

8

5

7

1 3

6

2 9

8

8 3

5 9 7

4 5

6

8

Strategy 1: Identify a missing number from a row, column, or block; if you can exclude all but one cell for that number, then write it down

6

7

Strategy 2: When you can’t make progress by Strategy 1, write down all candidate numbers in the cells and try to eliminate a number of options via reasoning. For example if xy, xy, xyz are candidates in three cells of a block, then the cell marked xyz must hold z

6 1

7 9

3

2

2

1

4 9

4

7 28 28

144 131 23 23 1, 2, 3, 4 missing from this row

missing from this column

(^13791)

Constructing a (Mini-)Sudoku Puzzle

Begin with a completed

puzzle and one by one

remove selected entries

that can be deduced

from the remaining ones

This will ensure a unique

solution, which is a

desirable attribute

3

2

4

3

1

6

2 1

3

5

1

3 6

4 3 6

3

5

2 4

4 1

6 1

3 6

4 6

3

2

5

4 3

Interesting fact: 4

In a 9 × 9 Sudoku puzzle,

you may need at least 17

initial entries (clues) for

the solution to be unique;

no one knows whether

a 16-clue puzzle with

unique solution exists

http://people.csse.uwa.edu.au/gordon/sudokumin.php (Web page devoted to minimum Sudoku)

1

4

Variations on Sudoku

Other sizes (e.g., 6 × 6, with 2 × 3 blocks; or 16 × 16, with 4 × 4 blocks)

Combining this 2000s phenomenon

with Rubik’s cube of the 1980s...

or with the age-old

sliding 15 puzzle

Latin

square

Resource Allocation Problem

We have a set of of resources Numbers in Sudoku puzzle

There are “locations” where

resources may be placed

Cells in Sudoku puzzle can

hold numbers

Assign resources to locations

to meet certain constraints

Place numbers in cells while

honoring some constraints

A resource may fit only some locations

Resources must be “easily” accessible

Resource mobility may (not) be allowed

Resource cost may differ by location

Lowest-cost assignment may be desired

Use only numbers 1-

Some numbers already placed

Different numbers in each row

Different numbers in each column

Different numbers in each block

Virtually all instances of the resource allocation problem

are difficult (NP-complete), just like Sudoku

Scheduling Required

CE Courses

Constraints

Prerequisite:

Solid downward arrow

Corequisite:

Dashed sideways arrow

Units per quarter: ≤ 18

ECE 1

CS 130A

ECE 15A

ECE 15B

CS 170

Math 3A

Math 3B

Math 3C

Math 5A

CS 10

CS 20

CS 40 CS 60

Phys 1

Phys 2

Phys 3

Phys 4

Phys 3L

Phys 4L

Chem 1A

Chem 1B

Chem 1AL

Chem 1BL

ECE 2A

ECE 2B

ECE 2C

ECE 152A

ECE 154 ECE 152B

1

2

3

4

5

Units

Engr 101

Upper - division standing

Or CS 30^ ECE 139 Or PSTAT 120A

Or CS 30

12 units

20 units

Job-Shop Scheduling

0 2 4 6 8 10 12 14 Time

S^6

t a f f

Tb1 Tc

Ta

Ta

Tb

Td

Tb

Td

Job Task Machine Time Staff Ja Ta1 M1 2 3 Ja Ta2 M3 6 2 Jb Tb1 M2 5 2 Jb Tb2 M1 3 3 Jb Tb3 M2 3 2 Jc Tc1 M3 4 2 Jd Td1 M1 5 4 Jd Td2 M2 2 1

M1 M2 M

0 2 4 6 8 10 12 14 Time

S^6

t a f f

Tb

Tc

Ta

Ta

Tb

Td

Tb

Td

0 2 4 6 8 10 12 14 Time

S^6

t a f f

Tb

Ta

Tb

Td

Schedule Refinement

Job Task Machine Time Staff Ja Ta1 M1 2 3 Ja Ta2 M3 6 2 Jb Tb1 M2 5 2 Jb Tb2 M1 3 3 Jb Tb3 M2 3 2 Jc Tc1 M3 4 2 Jd Td1 M1 5 4 Jd Td2 M2 2 1

M1 M2 M

Tc

Ta

Td

Tb

0 2 4 6 8 10 12 14 Time

S^6

t a f f

Tb

Tc

Ta

Ta

Tb

Td

Tb

Td

Switch?

1

2

3

4

5

(^76)

8

(^109)

11

x

x

x

y

Vertex v represents Task or Computation j

T Latency with p proc T Number of nodes (h T Depth of the graph

Output

1

2

3

1

p 1 

j

12

13

Vertex v represents task or computation^ j^ j

T Latency with p proce T Number of nodes (h T (^) ∞ Depth of the graph (

1

p

Output

Multiprocessor Scheduling

T ∞ = 8 (execution time goal)

Latest start times: see the layered diagram

Priorities: shown on the diagram in red

Task graph with unit-time tasks

Here’s a heuristic known as list scheduling:

1. Find the depth T ∞ of the task graph

2. Take T ∞ as a goal for the running time Tp

3. Determine the latest possible start times

4. Assign priorities in order of latest times

When two tasks have the same “latest start

time,” a secondary tie-breaking rule is used

1

2

3

4

5

(^76)

8

(^109)

11

x

x

x

y

Vertex v represents Task or Computation j

T Latency with p proc T Number of nodes (h T Depth of the graph

Output

1

2

3

1

p 1 

j

12

13

Vertex v represents task or computation^ j^ j

T Latency with p proce T Number of nodes (h T (^) ∞ Depth of the graph (

1

p

Output

Assignment to Processors

Even in this simple case of unit-time tasks,

multiprocessor scheduling remains difficult

with as few as 3 processors

P 11 2 3 4 6 5 7 8 9 10 11 12

P 112

P 2

P 1 12 13

P 2

P 3

Tasks listed in priority order

Time Step