algorithm paper