#OK to post homework #Joseph Koutsoutis, 02-02-2025, Assignment 3 read `C3.txt`: #4 PC:=proc(n,p,K) local i:evalf(coeff(add(IsCo(RG(n,p)),i=1..K),true,1)/K):end: # TestPC prints the output of PC(n,p,200) for n=10,20,30 and p=1/10,2/10,... # In C3.txt, I changed the error checking of LC from: # if not (type(p,fraction) and p>=0 and p<=1) then # to: # if not (type(p,rational) and p>=0 and p<=1) then # since this was returning fail when I inputted p=10/10. TestPC := proc() local n,p,K: K := 200: for n in [10,20,30] do: for p from 1 to 10 do: printf("n = %d, p = %d/10, K = 200, PC(n,p,K) = %f\n", n, p, PC(n,p/10,K)): od: od: end: # Here is the output of TestPC: # n = 10, p = 1/10, K = 200, PC(n,p,K) = 0.005000 # n = 10, p = 2/10, K = 200, PC(n,p,K) = 0.230000 # n = 10, p = 3/10, K = 200, PC(n,p,K) = 0.640000 # n = 10, p = 4/10, K = 200, PC(n,p,K) = 0.945000 # n = 10, p = 5/10, K = 200, PC(n,p,K) = 0.985000 # n = 10, p = 6/10, K = 200, PC(n,p,K) = 1.000000 # n = 10, p = 7/10, K = 200, PC(n,p,K) = 1.000000 # n = 10, p = 8/10, K = 200, PC(n,p,K) = 1.000000 # n = 10, p = 9/10, K = 200, PC(n,p,K) = 1.000000 # n = 10, p = 10/10, K = 200, PC(n,p,K) = 1.000000 # n = 20, p = 1/10, K = 200, PC(n,p,K) = 0.035000 # n = 20, p = 2/10, K = 200, PC(n,p,K) = 0.735000 # n = 20, p = 3/10, K = 200, PC(n,p,K) = 0.975000 # n = 20, p = 4/10, K = 200, PC(n,p,K) = 0.995000 # n = 20, p = 5/10, K = 200, PC(n,p,K) = 1.000000 # n = 20, p = 6/10, K = 200, PC(n,p,K) = 1.000000 # n = 20, p = 7/10, K = 200, PC(n,p,K) = 1.000000 # n = 20, p = 8/10, K = 200, PC(n,p,K) = 1.000000 # n = 20, p = 9/10, K = 200, PC(n,p,K) = 1.000000 # n = 20, p = 10/10, K = 200, PC(n,p,K) = 1.000000 # n = 30, p = 1/10, K = 200, PC(n,p,K) = 0.285000 # n = 30, p = 2/10, K = 200, PC(n,p,K) = 0.950000 # n = 30, p = 3/10, K = 200, PC(n,p,K) = 1.000000 # n = 30, p = 4/10, K = 200, PC(n,p,K) = 1.000000 # n = 30, p = 5/10, K = 200, PC(n,p,K) = 1.000000 # n = 30, p = 6/10, K = 200, PC(n,p,K) = 1.000000 # n = 30, p = 7/10, K = 200, PC(n,p,K) = 1.000000 # n = 30, p = 8/10, K = 200, PC(n,p,K) = 1.000000 # n = 30, p = 9/10, K = 200, PC(n,p,K) = 1.000000 # n = 30, p = 10/10, K = 200, PC(n,p,K) = 1.000000 # According to Wikipedia (https://en.wikipedia.org/wiki/Erd%C5%91s%E2%80%93R%C3%A9nyi_model#Properties_of_G(n,_p)), # ln(n) / n is the threshold for connectivity, which agrees with the results above. #5 NuCGx := proc(n,x) local f,z,i: option remember: f:=log(add((1 + x)^binomial(i,2)*z^i/i!,i=0..n)): f:=taylor(f,z=0,n+1): [seq(i!*coeff(f,z,i),i=1..n)]: end: #6 NuCGk := proc(n,k) local x, polys, i: polys := NuCGx(n, x): [seq(coeff(polys[i], x, i-1+k), i=1..n)]: end: # Here are some values of k and their corresponding OEIS numbers: # k = 0, OEIS number A000272 (https://oeis.org/A000272) # k = 1, OEIS number A057500 (https://oeis.org/A057500) # k = 2, OEIS number A061540 (https://oeis.org/A061540) # k = 3, OEIS number A061541 (https://oeis.org/A061541) # k = 4, OEIS number A061542 (https://oeis.org/A061542) # k = 5, OEIS number A061543 (https://oeis.org/A061543) # k = 6, OEIS number A096117 (https://oeis.org/A096117) # k = 7, OEIS number A061544 (https://oeis.org/A061544) # k = 8, OEIS number A096150 (https://oeis.org/A096150) # k = 9, OEIS number A096224 (https://oeis.org/A096224) # k = 10, OEIS number A182294 (https://oeis.org/A182294) # k = 11, OEIS number A182295 (https://oeis.org/A182295) # k = 12, OEIS number A182371 (https://oeis.org/A182371) # k = 13, no OEIS entry