Approximate dynamic programming with state aggregation applied to UAV perimeter patrol