Define a hypothesis rectangle h[a,b,c,d], and initialise it to [-,-,-,-]
for each + example e
{
if e is not within h
{
enlarge h to be just big enough to hold e (and all previous e's)
} else { do nothing: h already contains e } }
If we step through this with your training set, we get:
0. h = [-,-,-,-] // initial value
1. h = [4,4,4,4] // (4,4) is not in h: change h so it just contains (4,4)
2. h = [4,5,3,4] // (5,3) is not in h, so enlarge h to fit (4,4) and (5,3)
3. h = [4,6,3,5] // (6,5) is not in h, so enlarge again
4. // no more positive examples left, so we're done.