Two-step Non-deterministic Process for Solving NP Problems



I'm asked to describe a two-step non-deterministic process for solving
the following NP problems:

1. Graph coloring
2. Bin packing
3. Knapsack problem
4. Subset sum
5. CNF-satisfiability
6. Job scheduling

As far as I understand, the first step involves finding a random guess
at the solution. For 1, I would do the following:

Let V be the vertex set of the graph that is to be colored with colors
from the set C.

for each v in V
pick a random color c from C
color v in c

Would this be correct? For the second step, I would check if the
random coloring I made is correct as follows:

for each (u, v) in E
if u and v has the same color then
the coloring is not good

2 seems similar to 1. 3 is ia bit more difficult. I was thinking of
the following for the first step:

while knapsack not full
pick a random s in S and remove it
put s in the knapsack

where S is the set of items available to fill the knapsack. If I want
the total worth of the items in the knapsack to be at least W, then I
could check my random guess as follows:

w = 0
for each item s in the knapsack
w = w + worth of s
if w < W then
knapsack is unworthy

Am I on the right track here?

.