#OK to post homework #Zhizhang Deng, 12/03/2020, Assignment 18 1. AllKConGraphs:=proc(n, k) local S,s,C: S:=AllGraphs(n): C:={}: for s in S do if nops(CCs(s))=k then C:=C union {s}: fi: od: C: end: NuKcomponentsGraphs:=proc(N, K) local n1: [seq( nops(AllKConGraphs(n1, K)),n1=1..N)]: end: 2. AveNuCC := proc(n, K, M) local i, acc: acc := 0; for i from 1 to M by 1 do acc := acc + nops(CCs(RandGr(n, K))); end do: acc := acc / M; return acc; end: seq(evalf(AveNuCC(30, 50, 1000)), i = 1 .. 5) = 1.763000000, 1.775000000, 1.804000000, 1.851000000, 1.818000000 Pretty close. 3. EstimateCutOff := proc(n, M) local i: for i from 1 to n*(n-1)/2 by 1 do if AveNuCC(n, i, M) < 1.05 then return i; end if; end do; return FAIL; end: