11.07.2015 Views

Data Structures and Algorithm Analysis - Computer Science at ...

Data Structures and Algorithm Analysis - Computer Science at ...

Data Structures and Algorithm Analysis - Computer Science at ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

558 Chap. 17 Limits to Comput<strong>at</strong>ionx1234561 2 3 4 5f 1 (x) x f 2 (x) x f 3 (x) x f 4 (x)111111123456123456123456791113151712345615171327Figure 17.7 An illustr<strong>at</strong>ion of assigning functions to bins.1 2 3 4 5x f 1 (x) x f 2 (x) x f 3 (x) x f 4 (x)x1 1 1 1 1 7 1 1512 1 2 2 2 9 2 123 1 3 3 3 11 3 734 1 4 4 4 13 4 1345 1 5 5 5 15 5 256 1 6 6 6 17 6 76f new (x)231214Figure 17.8 Illustr<strong>at</strong>ion for the argument th<strong>at</strong> the number of integer functions isuncountable.any bin, as follows. Take the output value for input 1 from the function in the firstbin. Call this value F 1 (1). Add 1 to it, <strong>and</strong> assign the result as the output of a newfunction for input value 1. Regardless of the remaining values assigned to our newfunction, it must be different from the first function in the table, because the twogive different outputs for input 1. Now take the output value for 2 from the secondfunction in the table (known as F 2 (2)). Add 1 to this value <strong>and</strong> assign it as theoutput for 2 in our new function. Thus, our new function must be different fromthe function of Bin 2, because they will differ <strong>at</strong> least <strong>at</strong> the second value. Continuein this manner, assigning F new (i) = F i (i) + 1 for all values i. Thus, the newfunction must be different from any function F i <strong>at</strong> least <strong>at</strong> position i. This procedurefor constructing a new function not already in the table is called diagonaliz<strong>at</strong>ion.Because the new function is different from every other function, it must not be inthe table. This is true no m<strong>at</strong>ter how we try to assign functions to bins, <strong>and</strong> so thenumber of integer functions is uncountable. The significance of this is th<strong>at</strong> not allfunctions can possibly be assigned to programs, so there must be functions with nocorresponding program. Figure 17.8 illustr<strong>at</strong>es this argument.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!