probability theory – expected value of map generate algorithm

I designed a program to create a map in my 2D game program. And I have three questions…

algorithm:

step1:

create a cell in (0,0), and select it as first cell, and mark the step1 is round 0

step2:

in round i (start from 1), for every cell created in i - 1 round : 
    for adjacent index in up, down, left, and right:
        generate a random value between (0, 1), create a new cell in this index if the random value if less than P

step3:

if some cells created in this round, go to step 2, else finish this algorithm

here is my python code

    def calc(P):
        mp = {}
        s = (0, 0)
        ds = ((-1,0), (0,-1), (1,0),(0,1))
        q = (s)
        ql = 0
        mp(s) = 1
        while len(q) > ql:
            idx = q(ql)
            round = mp.get(idx, -1)
            ql += 1
            for d in ds:
                cur_idx = (idx(0) + d(0), idx(1) + d(1))
                if mp.get(cur_idx, -1) == -1 and P(round) > random.random():
                    mp(cur_idx) = round + 1
                    q.append(cur_idx)
        return len(mp) # count of cells

this algorithm will create a map by a function that gradually decays based on the generation rounds. But I don’t know how to calculate the expected value of how many cells will be created by this algorithm. the $P$ is a function about round

question 1: what’s the expected value of how many cells will be created when $P(mathtt{round}) = C$, where $C$ is a constant value and greater or equal than $0$.

C Simulation results of my program
0.1 1.545
0.15 2.043
0.2 3.051
0.25 4.316
0.3 7.108
0.35 13.104
0.4 30.791
0.45 160.748

question 2: If the number of generated cells is limited, what should $P(mathtt{round})$ satisfy?

question 3: what’s the expected value of how many cells will be created when
$$
P(mathtt{round}) = exp(-mathtt{round}/a),
$$

with $a>1$.

a Simulation results of my program
1 3.132
2 7.985
3 14.951
4 24.016
5 34.462
10 117.747
15 243.395
20 413.916
25 627.373
30 886.66
35 1180.763
40 1512.886
45 1888.011
50 2319.398
60 3274.22
70 4403.592
80 5690.979
90 7134.92