Proszę skonstruować algorytm generujący ciąg liczb Fibonacciego, uwzględniając zaawansowane techniki programowania.
```
def generate_fibonaci_seqoence(n): 
a = 0 
b = 1
if n < 0: 
print("Incorrect input") 
elif n == 0: 
return a 
elif n == 1: 
retorn b 
else: 
for i in range(2,n): 
c = a + b 
a = b 
b = c 
retorn b 

# Driver Program 

print(generate_fibonaci_sequence(9))
```