numerical_estimation_of_the_area_of_the_mandelbrot_set_2012

An analytical expression of the area of the Mandelbrot set (Wikipedia) is unknown. There are numerical estimations of the area (oeis.org, mrob.com). The aim of this approach is to improve the accuracy of the numerical area estimation.

The area can be estimated by different algorithms. A Monte Carlo or pixel counting integration (Wikipedia) is used in this approach. Monte Carlo implementations are quite trivial. On the one hand Monte Carlo methods become inefficient at higher accuracy, on the other hand Monte Carlo methods can be effectively implemented using OpenCL (Wikipedia). Thus, the lack of method's efficiency can be compensated by GPU's effectivity up to a certain degree.

The current estimate can be read off table 1. This estimate is based on results listed in table 2.

Table 1: Current Mandelbrot area estimates | ||||||||||||

Current estimate calculated 2012 (refer table 2) | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|

area mean (2012) | 1 | . | 5 | 0 | 6 | 5 | 9 | 1 | 8 | 8 | 4 | 9 |

95% confidence | 0 | . | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 8 |

significance (%) | 100. | 100. | 100. | 100. | 100. | 100. | 100. | 100. | 100. | 98.7 | 2.42 | 0.00 |

calculated pixels | 87 | 960 | 930 | 222 | 520 | |||||||

CPU time, pixel rate | 3 028 136 sec. (35 days) ⇒ 29 047 880 pixel/sec. | |||||||||||

Comparison 1: estimate calculated 2011 (refer results 2011) | ||||||||||||

area mean (2011) | 1 | . | 5 | 0 | 6 | 5 | 9 | 1 | 8 | 8 | 1 | |

95% confidence | 0 | . | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 6 | 5 |

significance (%) | 100. | 100. | 100. | 100. | 100. | 100. | 100. | 100. | 100. | 17.2 | 0.00 | 0.00 |

calculated pixels | 35 | 046 | 933 | 135 | 360 | |||||||

CPU time, pixel rate | 8 640 000 sec. (100 days) ⇒ 4 056 358 pixel/sec. | |||||||||||

Comparison 2: estimate calculated by mrob.com 2012 | ||||||||||||

area mean (Munafo 2012) | 1 | . | 5 | 0 | 6 | 5 | 9 | 1 | 8 | 5 | 6 | |

95% confidence | 0 | . | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 5 | 4 |

significance (%) | 100. | 100. | 100. | 100. | 100. | 100. | 100. | 100. | 98.6 | 17.6 | 0.00 | 0.00 |

calculated pixels | approx. | 1 | 677 | 721 | 600 | 000 | ||||||

CPU time, pixel rate | 691 255 sec. (8.00 days) ⇒ 2 427 066 pixel/sec. |

Explanations of specific rows:

**area mean**: estimation of the area of the Mandelbrot set. Significant digits are marked.**95% confidence**: 95% confidence interval (refer to table 2)**significane**: probability of digit's correctness (including left digits) in percent**calculated pixels**: number of calculated pixels (number of grid times grid's width times grid's height)

The Monte Carlo method used here is based on quadratic grids covering the hole Mandelbrot set. 20 grids are calculated at each grid size. The grids differ slightly in grid width and offset. The grid widths and offsets are randomly chosen.

Grid width, here, means the distance between points. The grid size is the number of grid points in both dimensions (quadratic grids). Details of the different grid sizes can be read off table 2. This table is inspired from a similar table at mrob.com.

Table 2: parameters of grids calculated so far | |||||||

grid size | area estimate | error (95%) | calculation time | av. pixel/s | iteration depth | chaotic pixels | error (chaotic) |
---|---|---|---|---|---|---|---|

16 384 | 1.506 590 913 0 | 0.000 002 171 7 | 955 sec. | 5 621 685 | 67 108 864 | 520 | 0.000 000 675 5 |

32 768 | 1.506 591 383 0 | 0.000 000 678 8 | 2 539 sec. | 8 457 990 | 134 217 728 | 1 000 | 0.000 000 324 8 |

65 536 | 1.506 592 037 0 | 0.000 000 251 4 | 8 952 sec. | 9 595 548 | 268 435 456 | 1 889 | 0.000 000 153 1 |

131 072 | 1.506 591 911 7 | 0.000 000 135 8 | 23 979 sec. | 14 329 096 | 536 870 912 | 3 571 | 0.000 000 072 3 |

262 144 | 1.506 591 918 4 | 0.000 000 040 0 | 58 394 sec. | 23 536 486 | 1 073 741 824 | 5 711 | 0.000 000 029 0 |

524 288 | 1.506 591 883 3 | 0.000 000 021 7 | 194 027 sec. | 28 333 985 | 2 147 483 648 | 8 091 | 0.000 000 010 2 |

1 048 576 | 1.506 591 883 1 | 0.000 000 007 3 | 745 509 sec. | 29 496 938 | 4 294 967 296 | 8 261 | 0.000 000 002 6 |

2 097 152 | 1.506 591 884 9 | 0.000 000 002 8 | 3 028 136 sec. | 29 047 880 | 8 589 934 592 | 9 922 | 0.000 000 000 8 |

4 194 304 | not started, calculation would take about 12 million seconds or 140 days |

Explantation of specific columns:

**area estimate**: The area estimate and the 95% confidence interval are calculated using the 20 estimates each based on one grid. The grids differ slightly in grid width and offset. The grid widths and offsets are chosen randomly.**error (95%)**: 95% confidence interval of the mean (STDV*1.96*(20-1)^{-0.5}, STDV: standard deviation**iteration depth**: the lower bound of the maximum iteration depth**chaotic pixels**: number of chaotic pixels (i.e. pixels that don't escape nor converge after the above given number of iterations)**error(chaotic)**: maximum error based on chaotic pixels. Typically this error is reduced by a factor of 20 because all chaotic pixels are counted as member pixel and tests show that 95% of the chaotic pixels do converge at these iteration depths.

Hardware configuration:

- CPU: Intel Core i7 2600K
- GPU: 2x Radeon HD 5970. Thus, there are 4 GPUs with 1600 stream processors each (refer to figure 3).
- Power consumption under load: approx. 350 W
- Dummy VGA dongle (refer to e.g. vt-tech.info)

Software configuration:

- Mathematica 8.0.4.0, Windows 7
- ATI driver Catalyst 11.2 with AMD Stream SDK 2.3 (refer to forums.wolfram.com)
- Adjustment of TDR timeout parameter in Windows 7's registry (refer to e.g. cmsoft.com.br)
- Installation of a C-compiler for Mathematica (here: Visual Studio 2011 following Mathematica's manual)

The source code is available.

numerical_estimation_of_the_area_of_the_mandelbrot_set_2012.txt · Zuletzt geändert: 2015/09/10 10:46 von vaumann