Assignment #3
Theme: boolean evaluation, broadword computation.
Assigned: Oct. 13, 2015.
Due: Oct. 27, 2015.
Reminder: homework should be in LaTeX (or TeX).
Due at the beginning of class on the due date.
-
Use one of Knuth's SAT solvers to determine the value of
the van der Waerden number $W(4,4)$
(from the table on page 5 of 7.2.2.2 on Satisfiability).
Explain how you determined the value, showing the output from the solver.
-
Find a circuit for addition mod 3 like that in exercise 60 of section
7.1.2 (pg. 129), except use 11 to encode 2 instead of 10.
Your cicuit should use the same number of gates as the one in
Knuth's solution. Explain why it is correct; e.g., by using
truth tables.
-
Look up the IEEE 754 floating point standard, particularly the
representation of 64 bit floating point numbers. Your computer
undoubtedly implements this standard. write a C
program that extracts the exponent from such numbers in order
to compute $\rho x$. This is somewhat like implementing equation (55) on page
142, but in C instead of MMIX, and with $\rho x$ instead of
$\lambda x$. Test your program by showing its output
on the numbers $x = 2^{20}+1,2^{20}+2, \ldots, 2^{20}+2^5$.
Turn in your program source and output (text files are ok here).
-
Prove that
\[
\nu x\ =\ x - \left\lfloor \frac{x}{2} \right\rfloor - \left\lfloor \frac{x}{4} \right\rfloor
- \left\lfloor \frac{x}{8} \right\rfloor - \cdots
\]
-
Start thinking about a suitable project. Turn in a one paragraph
description of a potential project.