Logo by S Nelson - Contribute your own Logo!

END OF AN ERA, FRACTALFORUMS.COM IS CONTINUED ON FRACTALFORUMS.ORG

it was a great time but no longer maintainable by c.Kleinhuis contact him for any data retrieval,
thanks and see you perhaps in 10 years again

this forum will stay online for reference
News: Check out the originating "3d Mandelbulb" thread here
 
*
Welcome, Guest. Please login or register. March 29, 2024, 01:53:53 AM


Login with username, password and session length


The All New FractalForums is now in Public Beta Testing! Visit FractalForums.org and check it out!


Pages: 1 ... 8 9 [10] 11 12 ... 24   Go Down
  Print  
Share this topic on DiggShare this topic on FacebookShare this topic on GoogleShare this topic on RedditShare this topic on StumbleUponShare this topic on Twitter
Author Topic: *Continued* SuperFractalThing: Arbitrary precision mandelbrot set rendering in Java.  (Read 46965 times)
0 Members and 1 Guest are viewing this topic.
lycium
Fractal Supremo
*****
Posts: 1158



WWW
« Reply #135 on: March 20, 2016, 05:49:22 AM »

it seems this is the last big hurdle that needs to be properly solved for the series approximation / perturbation technique to be considered good to go / non-experimental.  so far it seems we've all been more or less silently agreeing to lie to ourselves a bit and pretend that this is basically already good to go, though of course in reality if something only works "maybe" or "some of the time" or "to a certain degree" or "its anybody's guess," it is not in fact good to go.

I 100% agree, and have been following the SFT / perturbation thing since the beginning, spoke with the author of UltraFractal about his investigations of the technique in 2014 at the Fractal Art Symposium... my comment from 2013 still stands:

"Nevertheless, the real issue I have with this method is that it's not a true acceleration for the same computation. It's a kind of approximation, and the deviation from the "true" result is essentially impossible to quantify since it's a chaotic system. So it's something like apples and oranges comparison, no?"

I don't see how trading computer processing power for human effort (looking for glitches) is a winning strategy, or even a sure one - people have missed glitches before, and until there's some kind of proof of correctness (itself more difficult to compute than a reference image with direct iteration) the resulting image quality is dependent on the patience and eyesight of the person doing the rendering.
Logged

stardust4ever
Fractal Bachius
*
Posts: 513



« Reply #136 on: March 20, 2016, 09:11:45 AM »

it seems this is the last big hurdle that needs to be properly solved for the series approximation / perturbation technique to be considered good to go / non-experimental.  so far it seems we've all been more or less silently agreeing to lie to ourselves a bit and pretend that this is basically already good to go, though of course in reality if something only works "maybe" or "some of the time" or "to a certain degree" or "its anybody's guess," it is not in fact good to go.  you geniuses need to figure out how to nail this stuff down once and for all   cheesy   wink   cheesy       kiss
I am almost tempted to do something. We know there is a donut shaped zone of iteration data with a guaranteed failure every time when the reference pixel is located within it. If I zoom directly into this "no man's land" immediately outside the target formation, pick an inflection point, and continue the zoom until 50% deeper into the set where the fractal data essentially doubles itself, will the formations on either side of the new centroid be messed up? This will be a fun experiment to try later this week when I have some free time. evil

I don't see how trading computer processing power for human effort (looking for glitches) is a winning strategy, or even a sure one - people have missed glitches before, and until there's some kind of proof of correctness (itself more difficult to compute than a reference image with direct iteration) the resulting image quality is dependent on the patience and eyesight of the person doing the rendering.
I wouldn't say that exactly. Most of the Mandelbrot glitches I have seen are quite glaring. The Mandel Machine glitches often look like "deflated beach balls" and the Kalles Fraktaler glitch frames, when they occur in a movie, are typically the result of a forked path that travels away from the centroid. My objective is to find an image with the reference point focused about the true centroid relative to the rendered pattern, and still glitch out, making the image and the area surrounding it truly unsolvable through series approximation. A zoom path that deliberately forks at a location within the "donut of glitches" seems like a sure fire way to test the system. evil
« Last Edit: March 20, 2016, 09:20:35 AM by stardust4ever » Logged
hapf
Fractal Lover
**
Posts: 219


« Reply #137 on: March 20, 2016, 09:51:31 AM »

I 100% agree, and have been following the SFT / perturbation thing since the beginning, spoke with the author of UltraFractal about his investigations of the technique in 2014 at the Fractal Art Symposium... my comment from 2013 still stands:
"Nevertheless, the real issue I have with this method is that it's not a true acceleration for the same computation. It's a kind of approximation, and the deviation from the "true" result is essentially impossible to quantify since it's a chaotic system. So it's something like apples and oranges comparison, no?"
There are safe ways to do this. They are simply not as fast as the less safe ways. But still magnitudes faster than the full arbitrary precision version when dealing with deeeep zooms. One should never forget that the perturbation approach unlike series approximation is no approximation but 100% correct like the original iterations. The glitches are due to accumulation of rounding errors, not an approximation in the formula. So  there is always the possibility to reduce rounding errors by using more bits for the deltas. While this makes things a lot slower again the bits needed are far less than needed for the original iterations at full precision when zooming very deep. So speedups are still big. And series approximation can be made very safe if one is careful and not too ambitious with the percentage of skipped iterations. The problem there is that we lack a clear theoretical criterion that tells us it's safe till here and not beyond.
« Last Edit: March 20, 2016, 10:20:29 AM by hapf » Logged
hapf
Fractal Lover
**
Posts: 219


« Reply #138 on: March 20, 2016, 10:22:09 AM »

A zoom path that deliberately forks at a location within the "donut of glitches" seems like a sure fire way to test the system. evil
If you give me such a location I can try to see what is causing this.
Logged
stardust4ever
Fractal Bachius
*
Posts: 513



« Reply #139 on: March 20, 2016, 12:14:35 PM »

If you give me such a location I can try to see what is causing this.
I attached a file here as zip because the forum does not allow mmf. Post is here:
http://www.fractalforums.com/announcements-and-news/*continued*-superfractalthing-arbitrary-precision-mandelbrot-set-rendering-in-ja/120/

There is a donut-shaped region surrounding the complex formation that glitches when the reference pixel is in said region. I'm going to try to zoom further down the rabbit hole within the glitch region to see if it exacerbates the effect.
Logged
quaz0r
Fractal Molossus
**
Posts: 652



« Reply #140 on: March 20, 2016, 07:22:18 PM »

Quote from: hapf
There are safe ways to do this ... The problem there is that we lack a clear theoretical criterion that tells us it's safe till here and not beyond.

my whole point was exactly this, regarding the series approximation.  someone has yet to formulate a proper criterion which ensures the whole thing wont blow up, let alone getting you as far as you can possibly get with it in addition to ensuring its safety.  again i would assert that implying it is basically good to go, or making allusions to its theoretical safety, does not equate to real-world correctness.  it looks like we all have implementations that have been shown to blow up and produce incorrect results.  not good to go.
Logged
quaz0r
Fractal Molossus
**
Posts: 652



« Reply #141 on: March 20, 2016, 07:57:38 PM »

with regard to the approach botond described, checking that each term is smaller by some amount, maybe this amount should be dynamically set based on the zoom depth and/or some other criteria?  are any of you already doing something like that?  it seems that smaller values work at lower depths, with higher depths indicating larger values?
Logged
hapf
Fractal Lover
**
Posts: 219


« Reply #142 on: March 20, 2016, 08:44:49 PM »

I attached a file here as zip because the forum does not allow mmf. Post is here:
http://www.fractalforums.com/announcements-and-news/*continued*-superfractalthing-arbitrary-precision-mandelbrot-set-rendering-in-ja/120/
There is a donut-shaped region surrounding the complex formation that glitches when the reference pixel is in said region. I'm going to try to zoom further down the rabbit hole within the glitch region to see if it exacerbates the effect.
I tried to reproduce the effect with overskipping with references in the region but could not. The errors look different and when skipping more  (beyond the minimal iterations in the image) the outer parts become featureless, but the center does not become a donut. So this looks like a bug and not simply overskipping. How much do the programs want to skip here? What is the iteration max of the reference?
Logged
hapf
Fractal Lover
**
Posts: 219


« Reply #143 on: March 20, 2016, 09:00:34 PM »

with regard to the approach botond described, checking that each term is smaller by some amount, maybe this amount should be dynamically set based on the zoom depth and/or some other criteria?  are any of you already doing something like that?  it seems that smaller values work at lower depths, with higher depths indicating larger values?
I tested many variants of this and with fewer coefficients it seems to be rather safe when wanting to skip with x coefficients to make sure all contributions from another x coefficients after that individually and together compared to the first x is so small that the absolute exponent difference is >=  the negative exponent of the pixel size. But with more and more coefficients (128...) even this had cases that had errors above 1 percent, or 5. The more coefficients the more the contributions are spread over more and more coefficients going up and down in waves. The waves jump from level to level (based on the "keys to the kingdom") but the overall effect is hard to establish when coming closer to the maximum skip possible and many coefficients used. When playing it safe I simply could not get close to the real optimal skipping possible found with actually testing the image at various locations, at least not with many coefficients and all locations I looked at.
Logged
stardust4ever
Fractal Bachius
*
Posts: 513



« Reply #144 on: March 21, 2016, 11:06:07 AM »

I tried to reproduce the effect with overskipping with references in the region but could not. The errors look different and when skipping more  (beyond the minimal iterations in the image) the outer parts become featureless, but the center does not become a donut. So this looks like a bug and not simply overskipping. How much do the programs want to skip here? What is the iteration max of the reference?
The "donut" in this instance is not a feature persay but a narrow band of iteration data surrounding the feature that produces glitches when the reference pixel is contained therein. Reference pixels within this donut shaped zone produce glitches using default settings in Mandel Machine v1.3.15.
« Last Edit: March 22, 2016, 12:50:39 AM by stardust4ever » Logged
quaz0r
Fractal Molossus
**
Posts: 652



« Reply #145 on: March 21, 2016, 07:46:22 PM »

mandel machine might be set too lax in its glitch detection/correction in addition to the overskipping issue
Logged
stardust4ever
Fractal Bachius
*
Posts: 513



« Reply #146 on: March 22, 2016, 01:33:44 AM »

@Kalles Fraktaler: Kalles Fraktaler is failing to find the centroid again. I am using latest version.

Size = 640x360
Zoom = 16

"Find Minibrot" command fails by zooming into the chromosome instead of between them. I have zoomed well into the glitch area of the mmf I posted on previous page. I zoomed up until this "64X" location using Mandel Machine, then decided to automate the process, so entered the coordinates into KF and used your "find minibrot" menu item and it fails. I assume it would repeatedly fail again and again to locate the centroid once it reaches a sufficiently long chromosome formation, and this error would likely repeat ad infinitum.

I wanted to find the periodic double of a known glitch location from within the Mandel Machine file I posted earlier but didn't feel like manually zooming to the approximately 2^-5535 zoom depth this would require. I only want to test the location to see if Mandel Machine barfs on it.
 hurt

EDIT: I found the position manually. Apparently, this location I searched for doesn't glitch up at all. To view the original "glitch" you must reset the magnification to 3470. wink


MMF parameters...
Code:
image.width=1280
image.height=720
image.supersampling=2
position.re=-1.7697392710757027841152006141906594654234779937259515247210119204006409471133661312119570293427350953111092082771973598855782759599980633037132375185987670114621045880606454417706999699982839165518556104246980851140230022353588311445547248451142336585544111916489341441418890633019730101854648463669109636471162672120817824917407218303348419898985242808140058964414457471465221536301689319210853379995524156624829942780946758964309072692484524503974031949154005423948971844113769257156823395255042997434557967120122936287886272994336827603988076644070845456535059390110455532123959338354686709501965947157116618024249418340042125809823163860665551942191883280150556503637746217516167947991343226606484863461721881250950867469305763323991190602711636193429181021868663451423240656141036481686672207216510178940927578426246138789051935948202201039069515784638090342979600881257471340705419667858851219685966190797231145977198268039243169238831169502470679242625047521216680080745102102338697978848434690710623615151918273912523550802047059388477610120227482645505202901268310259531375914654127989863575658517285857298644046776833979372298401170515594247650694236040835088580636725197188883301838633826884891907725215420267621408231407868087863857155606555607233691975269649870535381564546102514139884292840878611927606673694598379606020367361658483137883367223105802511967374846046867768244164444838768374265954854033947228261298148439975283873913669268210784821270043045378977203278631694546469555524912082733758594148241573505499833138090100150440411001854828832965244988
position.im=0.0047957559338652178505615663220486971154304886886673920781256111752398106107280366675989298691779797136737364961830758523741254480286664920460479195128211953261155569223186412660856033539583067793744552698972305956559820659036789189846739491155635838617923497250059314208186984179036223826655324004181421335633738898275114135499319014247271095039118772708132302750547913645230844806438628351797278101552420985568133578867374426937467785916207019758747794073870494765108717384461786347756065294984135627296206900076429271573756624100323471123560470223626746460265018297930359289043411279245762239698772188260974285993117734181827318766613834051977484272020698249213489627750957498023989747438133307647274695802671234943834981584342636056200655633883556867650337796993091229444120358050723663523120235639704136824323264324209617146569763642761341662189958962136924719552069482293150925374378282906250039171082284465702486444460840842205856092252444604814892208734287500540251296138686660257059365390928468879124177736053405984117806338296754892837341507069125502543659126775790197583562065309265743403930782970442835855756964862590861406611214408287544430346102387396417375654652294552820157169020238943731165207653089997593275027403759259891988184570391468326105306257559441098144027014942084582917715350747076407623299327166201532840215419753271633485048688749655561442706732391867989832423455475081605888333753784925707440085445028189173333773877469260631083482242534267212635500091888677779450110195272426094961657170920294279611308694879151344530550580595486867216094
position.magnification=5197.0
position.rotation=90.0
computation.iteration_limit=1000000
rendering.inner_color=000000
rendering.outer_color=dddd00
rendering.transfer_function=1
rendering.color_density=-142.000
rendering.dwell_bands=0
rendering.palette=0.0,85,0,85,0.1,170,0,0,0.2,255,85,0,0.3,255,170,0,0.4,255,255,85,0.5,170,255,170,0.6,85,255,255,0.7,0,170,255,0.8,0,85,255,0.9,0,0,170
rendering.color_offset=501760
rendering.bump_mapping=false
rendering.bm_light_direction=0
rendering.bm_depth=50
rendering.bm_strength=50

* kf find minibrot.kfr (3.86 KB - downloaded 34 times.)

* Z of Zs dumbbells.jpg (105.95 KB, 640x360 - viewed 88 times.)
« Last Edit: March 22, 2016, 03:10:47 AM by stardust4ever » Logged
stardust4ever
Fractal Bachius
*
Posts: 513



« Reply #147 on: March 22, 2016, 03:08:13 AM »

The above coordinates at 3470 zooms:

Shown below are Automatic Precision and Float Precision.

All of the other available scaled precision levels selectable within Mandel Machine produce a glitch comparable to either of the two below images, so this exact coordinate is not-correctable without changing the reference point or beefing up the precision somehow.  head banging wall


* 3470 Glitch Auto.jpg (53.54 KB, 400x300 - viewed 210 times.)

* 3470 Glitch Float.jpg (53.67 KB, 400x300 - viewed 210 times.)
Logged
stardust4ever
Fractal Bachius
*
Posts: 513



« Reply #148 on: March 22, 2016, 03:19:07 AM »

Last one, I promise, pinky swear...

You can have fun deliberately perturbimg the image by forcing the wrong settings!

X of Xs (automatic) vs X of Xs (floating point) bubble gum


"Fun With Glitches.mmf"
Code:
image.width=1600
image.height=1600
image.supersampling=2
position.re=-1.7697392710757027841152006141906594654234779937259515247210119204006409471133661312119570293427350953111092082771973598855782759599980633037132375185987670114621045880606454417706999699982839165518556104246980851140230022353588311445547248451142336585544111916489341441418890633019730101854648463669109636471162672120817824917407218303348419898985242808140058964414457471465221536301689319210853379995524156624829942780946758964309072692484524503974031949154005423948971844113769257156823395255042997434557967120122936287886272994336827603988076644070845456535059390110455532123959338354686709501965947157116618024249418340042125809823163860665551942191883280150556503637746217516167947991343226606484863461721881250950867469305763323991190602711636193429181021868663451423240656141036481686672207216510178940927578426246138789051935948202201039069515784638090342979600881257471340705419667858851219685966190797231145977198268039243169238831169502470679242625047521216680080745102102338697978848434690710623615151918273912523550802047059388477608402978
position.im=0.0047957559338652178505615663220486971154304886886673920781256111752398106107280366675989298691779797136737364961830758523741254480286664920460479195128211953261155569223186412660856033539583067793744552698972305956559820659036789189846739491155635838617923497250059314208186984179036223826655324004181421335633738898275114135499319014247271095039118772708132302750547913645230844806438628351797278101552420985568133578867374426937467785916207019758747794073870494765108717384461786347756065294984135627296206900076429271573756624100323471123560470223626746460265018297930359289043411279245762239698772188260974285993117734181827318766613834051977484272020698249213489627750957498023989747438133307647274695802671234943834981584342636056200655633883556867650337796993091229444120358050723663523120235639704136824323264324209617146569763642761341662189958962136924719552069482293150925374378282906250039171082284465702486444460840842205856092252444604814892208734287500540251296138686660257059365390928468879124177736053405984117806338296754892838258823
position.magnification=3473.0
position.rotation=-8.5
computation.iteration_limit=400000
rendering.inner_color=000000
rendering.outer_color=dddd00
rendering.transfer_function=1
rendering.color_density=-142.000
rendering.dwell_bands=0
rendering.palette=0.0,85,0,85,0.1,170,0,0,0.2,255,85,0,0.3,255,170,0,0.4,255,255,85,0.5,170,255,170,0.6,85,255,255,0.7,0,170,255,0.8,0,85,255,0.9,0,0,170
rendering.color_offset=221184
rendering.bump_mapping=false
rendering.bm_light_direction=0
rendering.bm_depth=50
rendering.bm_strength=50
Set scale precision to "float" and deselect "autocorrect glitches"

Animated version:

http://sta.sh/01xwujdi80tx
« Last Edit: March 22, 2016, 04:12:43 AM by stardust4ever » Logged
PieMan597
Conqueror
*******
Posts: 122



WWW
« Reply #149 on: March 22, 2016, 10:21:01 AM »

Maybe unchecked "ignore small addends?"
Logged
Pages: 1 ... 8 9 [10] 11 12 ... 24   Go Down
  Print  
 
Jump to:  

Related Topics
Subject Started by Replies Views Last post
Java applet for exploring the Mandelbrot set Announcements & News Paton 5 6600 Last post March 26, 2007, 06:03:34 PM
by Paton
What range/precision for fractional escape counts for Mandelbrot/Julia sets? Programming Duncan C 7 9924 Last post May 01, 2007, 08:23:13 PM
by Duncan C
Java Mandelbrot segment Help & Support fractalwizz 10 1895 Last post December 29, 2008, 08:01:24 PM
by cKleinhuis
[Java] Double-double library for 128-bit precision. Programming Zom-B 10 16967 Last post December 20, 2010, 04:03:48 AM
by David Makin
SuperFractalThing: Arbitrary precision mandelbrot set rendering in Java. Announcements & News « 1 2 ... 16 17 » mrflay 252 98967 Last post August 17, 2016, 11:59:31 PM
by cKleinhuis

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2015, Simple Machines

Valid XHTML 1.0! Valid CSS! Dilber MC Theme by HarzeM
Page created in 0.164 seconds with 25 queries. (Pretty URLs adds 0.01s, 2q)