Optimizing protein fitness using Gibbs sampling with Graph-based Smoothing