Input: data file containing missing value and possible missing value

Output: conditional probability

Map (Object, DataText, DataText, DataText)

Input: key :=offset, value:=tuple

FOR each (key, value) DO

IF missing_value exists in tuple THEN

FOR each value in probable_value.txt DO

FOR each property in tuple DO

output_key := probable_value

output_value := “#” + offset + property_ID + property

Reduce (DataText, DataText, DataText, DataText)

FOR each value in value_table DO

IF “#” exists in value THEN

APPEND property_ID + property on likelihood

else

compute conditional probability of each property_ID + property

IF property_ID + property exists in likelihood THEN

output_key := offset

output_value := “#” + list of probable value + conditional probability