<b>1. syntheticData.py</b>  
receive n,k,p,q as parameters and generate random graphs using SBM

<b>2. dotProductOracle.py</b>  
to estimate the dot product of any pair of spectral embeddings

<b>3. clusteringOracle.py</b>  
our clustering algorithms, including constructOracle (pre-processing phase) and whichCluster query(query phase)

<b>4. misError.py</b>  
to calculate the mis-classification error

<b>5. theta.py</b>  
for a graph, to find the appropriate parameters for dotProductOracle and find the appropriate threshold theta for our clustering oracle

<b>6. cps15clusteringOracle.py</b>  
clustering oracle in [CPS15]

<b>7. cps15eval.py</b>  
run this file to get the mis-classification error of oracle in [CPS15]

<b>8. eval.py</b>  
run this file to get the mis-classification error and query time of our oracle

<b>9. evalQueryComplexity.py</b>  
run this file to get the query complexity of our oracle

<b>10. evalRobust.py</b>  
run this file to get the results of our robustness experiment

<b>11. main.py</b>  
run eval.py, cps15eval.py, evalQueryComplexity.py and evalRobust.py
