Solving Problems by Making Effective Decisions