ChaosSIM
English
chaos-theory
mathematics
simulation
game-theory
fibonacci
bernoulli
nash-equilibrium
dynamical-systems
Instructions to use OpenPeerAI/ChaosSIM with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- ChaosSIM
How to use OpenPeerAI/ChaosSIM with ChaosSIM:
# No code snippets available yet for this library. # To use this model, check the repository files and the library's documentation. # Want to help? PRs adding snippets are welcome at: # https://github.com/huggingface/huggingface.js
- Notebooks
- Google Colab
- Kaggle
| (* Content-type: application/vnd.wolfram.mathematica *) | |
| (*** Wolfram Notebook File ***) | |
| (* http://www.wolfram.com/nb *) | |
| (* Examples.nb - ChaosSim Example Simulations *) | |
| (* Practical demonstrations of chaos simulation capabilities *) | |
| (* ::Title:: *) | |
| (*ChaosSim Examples and Demonstrations*) | |
| (* ::Section:: *) | |
| (*Setup*) | |
| (* Load ChaosSim framework *) | |
| Get[FileNameJoin[{NotebookDirectory[], "ChaosSim.nb"}]] | |
| Get[FileNameJoin[{NotebookDirectory[], "Visualizations.nb"}]] | |
| Print[Style["ChaosSim Examples Loaded", Bold, 16, Blue]] | |
| Print["Run each section to see different chaos simulations in action.\n"] | |
| (* ::Section:: *) | |
| (*Example 1: Basic Bernoulli Chaos*) | |
| (* ::Text:: *) | |
| (*This example demonstrates how Bernoulli numbers create weighted chaos patterns.*) | |
| (*The Bernoulli numbers provide non-uniform probability distributions that*) | |
| (*generate interesting chaotic behaviors.*) | |
| Print[Style["=== Example 1: Bernoulli Chaos Simulation ===", Bold, 14, Purple]] | |
| (* Generate Bernoulli chaos with 500 iterations *) | |
| bernoulliExample = SimulateBernoulliChaos[500, 12]; | |
| (* Display statistics *) | |
| Print["Statistics:"] | |
| Print[" Mean: ", Mean[bernoulliExample]] | |
| Print[" Standard Deviation: ", StandardDeviation[bernoulliExample]] | |
| Print[" Min: ", Min[bernoulliExample], " | Max: ", Max[bernoulliExample]] | |
| (* Visualize *) | |
| ListPlot[bernoulliExample, | |
| PlotStyle -> {Blue, PointSize[Small]}, | |
| PlotLabel -> Style["Example 1: Bernoulli Chaos", Bold, 14], | |
| AxesLabel -> {"Iteration", "State"}, | |
| ImageSize -> Large, | |
| GridLines -> Automatic | |
| ] | |
| (* ::Section:: *) | |
| (*Example 2: Fibonacci Golden Spiral*) | |
| (* ::Text:: *) | |
| (*This creates a 3D golden spiral based on Fibonacci numbers.*) | |
| (*The spiral demonstrates the connection between Fibonacci sequences*) | |
| (*and natural chaotic patterns found in nature.*) | |
| Print[Style["\n=== Example 2: Fibonacci Golden Spiral ===", Bold, 14, Purple]] | |
| (* Generate 3D Fibonacci spiral *) | |
| fibonacciSpiralPoints = FibonacciSpiral3D[20, 100]; | |
| Print["Generated ", Length[fibonacciSpiralPoints], " points in golden spiral"] | |
| Print["Golden Ratio ≈ ", N[GoldenRatio, 6]] | |
| (* Visualize in 3D *) | |
| ListPointPlot3D[fibonacciSpiralPoints, | |
| PlotStyle -> Directive[PointSize[Small]], | |
| ColorFunction -> Function[{x, y, z}, | |
| ColorData["SunsetColors"][Norm[{x, y}]] | |
| ], | |
| BoxRatios -> {1, 1, 0.6}, | |
| ImageSize -> Large, | |
| PlotLabel -> Style["Example 2: Fibonacci Golden Spiral", Bold, 14], | |
| AxesLabel -> {"X", "Y", "Z"}, | |
| Background -> GrayLevel[0.95], | |
| ViewPoint -> {2, -2, 1.5} | |
| ] | |
| (* ::Section:: *) | |
| (*Example 3: Nash Equilibrium in Prisoner's Dilemma*) | |
| (* ::Text:: *) | |
| (*Classic game theory example: Finding Nash equilibrium in the Prisoner's Dilemma.*) | |
| (*This demonstrates how game theory integrates with chaos simulation.*) | |
| Print[Style["\n=== Example 3: Prisoner's Dilemma Nash Equilibrium ===", Bold, 14, Purple]] | |
| (* Define Prisoner's Dilemma payoff matrices *) | |
| (* (Cooperate, Defect) for each player *) | |
| prisonerPayoff1 = {{-1, -3}, {0, -2}}; (* Player 1 payoffs *) | |
| prisonerPayoff2 = {{-1, 0}, {-3, -2}}; (* Player 2 payoffs *) | |
| Print["Player 1 Payoff Matrix (rows: P1 strategy, cols: P2 strategy):"] | |
| Print[MatrixForm[prisonerPayoff1]] | |
| Print["\nPlayer 2 Payoff Matrix:"] | |
| Print[MatrixForm[prisonerPayoff2]] | |
| (* Find Nash equilibrium *) | |
| equilibria = FindNashEquilibrium[prisonerPayoff1, prisonerPayoff2]; | |
| Print["\nNash Equilibrium found at: ", equilibria] | |
| Print["Interpretation: Both players choosing Defect (strategy 2, 2)"] | |
| (* Visualize payoff matrices *) | |
| GraphicsRow[{ | |
| ArrayPlot[prisonerPayoff1, | |
| ColorFunction -> "Rainbow", | |
| PlotLabel -> "Player 1 Payoffs", | |
| FrameLabel -> {"P2 Strategy", "P1 Strategy"}, | |
| PlotLegends -> Automatic | |
| ], | |
| ArrayPlot[prisonerPayoff2, | |
| ColorFunction -> "Rainbow", | |
| PlotLabel -> "Player 2 Payoffs", | |
| FrameLabel -> {"P2 Strategy", "P1 Strategy"}, | |
| PlotLegends -> Automatic | |
| ] | |
| }, ImageSize -> Large] | |
| (* ::Section:: *) | |
| (*Example 4: Chaotic Game Evolution*) | |
| (* ::Text:: *) | |
| (*Simulate a game where payoff matrices evolve chaotically over time.*) | |
| (*This shows how Nash equilibria shift in dynamic, chaotic environments.*) | |
| Print[Style["\n=== Example 4: Chaotic Game Evolution ===", Bold, 14, Purple]] | |
| (* Run chaotic game simulation *) | |
| chaosGameHistory = ChaosGameSimulation[100, 2, 0.3]; | |
| (* Extract data *) | |
| rounds = chaosGameHistory[[All, 1]]; | |
| strategies = chaosGameHistory[[All, 2]]; | |
| equilibriaCounts = Length /@ chaosGameHistory[[All, 3]]; | |
| Print["Simulation complete: ", Length[rounds], " rounds"] | |
| Print["Average equilibria per round: ", Mean[equilibriaCounts]] | |
| (* Visualize strategy evolution *) | |
| ListLinePlot[ | |
| {strategies[[All, 1]], strategies[[All, 2]]}, | |
| PlotStyle -> {{Blue, Thick}, {Red, Thick}}, | |
| PlotLabel -> Style["Example 4: Strategy Evolution in Chaotic Game", Bold, 14], | |
| AxesLabel -> {"Round", "Strategy Choice"}, | |
| PlotLegends -> {"Player 1", "Player 2"}, | |
| ImageSize -> Large, | |
| GridLines -> Automatic | |
| ] | |
| (* ::Section:: *) | |
| (*Example 5: Multi-Agent Chaos System*) | |
| (* ::Text:: *) | |
| (*Simulate 5 agents seeking Nash equilibrium in a chaotic environment.*) | |
| (*Agents adjust their strategies to minimize conflicts, creating emergent patterns.*) | |
| Print[Style["\n=== Example 5: Multi-Agent Chaos Equilibrium ===", Bold, 14, Purple]] | |
| (* Run multi-agent simulation *) | |
| multiAgentChaos = MultiAgentChaosEquilibrium[5, 200]; | |
| (* Extract agent states over time *) | |
| agentStates = multiAgentChaos[[All, 2]]; | |
| Print["Number of agents: 5"] | |
| Print["Iterations: 200"] | |
| Print["Final agent states: ", agentStates[[-1]]] | |
| Print["State convergence: ", StandardDeviation[agentStates[[-1]]]] | |
| (* Visualize all agents *) | |
| ListLinePlot[ | |
| Table[agentStates[[All, i]], {i, 1, 5}], | |
| PlotStyle -> Table[Directive[Thick, ColorData[97][i]], {i, 1, 5}], | |
| PlotLabel -> Style["Example 5: Multi-Agent State Evolution", Bold, 14], | |
| AxesLabel -> {"Iteration", "Agent State"}, | |
| PlotLegends -> Table[StringTemplate["Agent ``"][i], {i, 1, 5}], | |
| ImageSize -> Large, | |
| GridLines -> Automatic | |
| ] | |
| (* ::Section:: *) | |
| (*Example 6: Unified Chaos Simulation*) | |
| (* ::Text:: *) | |
| (*Combines all three chaos types (Bernoulli, Fibonacci, Nash) into one system.*) | |
| (*This demonstrates the full power of ChaosSim's integrated approach.*) | |
| Print[Style["\n=== Example 6: Unified Chaos System ===", Bold, 14, Purple]] | |
| (* Run unified simulation *) | |
| unifiedChaos = UnifiedChaosSimulation[400]; | |
| (* Analyze correlations *) | |
| correlations = ChaosCorrelationAnalysis[unifiedChaos]; | |
| Print["Unified chaos simulation complete"] | |
| Print["Data points: ", Length[unifiedChaos]] | |
| Print["\nCorrelation Analysis:"] | |
| Print[Grid[ | |
| Prepend[correlations, {"Component Pair", "Correlation"}], | |
| Frame -> All, | |
| Background -> {None, {LightBlue, White}} | |
| ]] | |
| (* Visualize in 3D phase space *) | |
| ListPointPlot3D[unifiedChaos, | |
| PlotStyle -> Directive[PointSize[Small]], | |
| ColorFunction -> Function[{x, y, z}, | |
| ColorData["Rainbow"][z] | |
| ], | |
| BoxRatios -> {1, 1, 1}, | |
| ImageSize -> Large, | |
| PlotLabel -> Style["Example 6: Unified Chaos Phase Space", Bold, 14], | |
| AxesLabel -> {"Bernoulli", "Fibonacci", "Nash"}, | |
| Background -> Black, | |
| ViewPoint -> {1.5, -2.5, 1.2} | |
| ] | |
| (* ::Section:: *) | |
| (*Example 7: Bernoulli 3D Attractor*) | |
| (* ::Text:: *) | |
| (*A beautiful 3D attractor generated using Bernoulli number weights.*) | |
| (*This creates complex, non-repeating patterns in 3D space.*) | |
| Print[Style["\n=== Example 7: Bernoulli 3D Attractor ===", Bold, 14, Purple]] | |
| (* Generate attractor *) | |
| attractorPoints = BernoulliAttractor[3000, 3]; | |
| Print["Generated ", Length[attractorPoints], " points"] | |
| Print["Attractor bounds:"] | |
| Print[" X: [", Min[attractorPoints[[All, 1]]], ", ", Max[attractorPoints[[All, 1]]], "]"] | |
| Print[" Y: [", Min[attractorPoints[[All, 2]]], ", ", Max[attractorPoints[[All, 2]]], "]"] | |
| Print[" Z: [", Min[attractorPoints[[All, 3]]], ", ", Max[attractorPoints[[All, 3]]], "]"] | |
| (* Create stunning visualization *) | |
| ListPointPlot3D[attractorPoints, | |
| PlotStyle -> Directive[PointSize[Tiny]], | |
| ColorFunction -> Function[{x, y, z}, | |
| ColorData["DarkRainbow"][Norm[{x, y, z}]/2] | |
| ], | |
| BoxRatios -> {1, 1, 1}, | |
| ImageSize -> Large, | |
| PlotLabel -> Style["Example 7: Bernoulli Attractor", Bold, 14], | |
| AxesLabel -> {"X", "Y", "Z"}, | |
| Background -> Black, | |
| Boxed -> False, | |
| ViewPoint -> {2, -2, 1} | |
| ] | |
| (* ::Section:: *) | |
| (*Example 8: Fibonacci Chaos Map*) | |
| (* ::Text:: *) | |
| (*Creates a chaotic map using Fibonacci ratios as the driving parameter.*) | |
| (*Shows bifurcations and sensitivity to initial conditions.*) | |
| Print[Style["\n=== Example 8: Fibonacci Chaos Map ===", Bold, 14, Purple]] | |
| (* Generate Fibonacci chaos map *) | |
| fibChaosMap = FibonacciChaosMap[800]; | |
| Print["Generated ", Length[fibChaosMap], " iterations"] | |
| Print["Mean value: ", Mean[fibChaosMap]] | |
| Print["Chaos entropy: ", ChaosEntropy[fibChaosMap]] | |
| (* Create phase space plot *) | |
| GraphicsRow[{ | |
| ListPlot[fibChaosMap, | |
| PlotStyle -> {Orange, PointSize[Small]}, | |
| PlotLabel -> "Time Series", | |
| AxesLabel -> {"Iteration", "Value"}, | |
| ImageSize -> Medium | |
| ], | |
| ListPlot[Partition[fibChaosMap, 2, 1], | |
| PlotStyle -> {Red, PointSize[Tiny]}, | |
| PlotLabel -> "Phase Space", | |
| AxesLabel -> {"x(t)", "x(t+1)"}, | |
| ImageSize -> Medium, | |
| AspectRatio -> 1 | |
| ] | |
| }, ImageSize -> Large, | |
| PlotLabel -> Style["Example 8: Fibonacci Chaos Map Analysis", Bold, 14]] | |
| (* ::Section:: *) | |
| (*Example 9: Comparative Chaos Analysis*) | |
| (* ::Text:: *) | |
| (*Compare all three types of chaos side-by-side.*) | |
| (*Reveals unique characteristics of each approach.*) | |
| Print[Style["\n=== Example 9: Comparative Chaos Analysis ===", Bold, 14, Purple]] | |
| (* Generate all three types *) | |
| iterations = 400; | |
| bernoulliChaos = SimulateBernoulliChaos[iterations, 12]; | |
| fibonacciChaos = FibonacciChaosMap[iterations]; | |
| nashChaos = MultiAgentChaosEquilibrium[5, iterations][[All, 2, 1]]; | |
| (* Calculate statistics *) | |
| Print["Chaos Type Statistics:"] | |
| Print[Grid[{ | |
| {"Type", "Mean", "Std Dev", "Entropy"}, | |
| {"Bernoulli", Mean[bernoulliChaos], StandardDeviation[bernoulliChaos], | |
| ChaosEntropy[bernoulliChaos]}, | |
| {"Fibonacci", Mean[fibonacciChaos], StandardDeviation[fibonacciChaos], | |
| ChaosEntropy[fibonacciChaos]}, | |
| {"Nash", Mean[nashChaos], StandardDeviation[nashChaos], | |
| ChaosEntropy[nashChaos]} | |
| }, Frame -> All, Background -> {None, {LightYellow, White}}]] | |
| (* Visualize comparison *) | |
| ListLinePlot[ | |
| {bernoulliChaos, fibonacciChaos, nashChaos}, | |
| PlotStyle -> { | |
| {Blue, Thick, Opacity[0.7]}, | |
| {Orange, Thick, Opacity[0.7]}, | |
| {Green, Thick, Opacity[0.7]} | |
| }, | |
| PlotLabel -> Style["Example 9: Chaos Type Comparison", Bold, 14], | |
| AxesLabel -> {"Iteration", "State Value"}, | |
| PlotLegends -> {"Bernoulli", "Fibonacci", "Nash Equilibrium"}, | |
| ImageSize -> Large, | |
| GridLines -> Automatic | |
| ] | |
| (* ::Section:: *) | |
| (*Example 10: Custom Chaos Application*) | |
| (* ::Text:: *) | |
| (*A practical example: Using chaos for random sampling in a market model.*) | |
| (*Simulates price fluctuations driven by chaotic dynamics.*) | |
| Print[Style["\n=== Example 10: Chaotic Market Simulation ===", Bold, 14, Purple]] | |
| SimulateChaoticMarket[days_Integer, initialPrice_Real: 100.0] := Module[ | |
| {chaos, prices, returns}, | |
| (* Generate Bernoulli chaos for market volatility *) | |
| chaos = SimulateBernoulliChaos[days, 10]; | |
| (* Convert chaos to price movements *) | |
| returns = (chaos - 0.5) * 0.1; (* Scale to ±5% daily returns *) | |
| (* Calculate cumulative prices *) | |
| prices = FoldList[ | |
| #1 * (1 + #2) &, | |
| initialPrice, | |
| returns | |
| ]; | |
| prices | |
| ] | |
| (* Run market simulation *) | |
| marketPrices = SimulateChaoticMarket[250, 100.0]; | |
| Print["Market simulation: 250 trading days"] | |
| Print["Initial price: $100.00"] | |
| Print["Final price: $", marketPrices[[-1]]] | |
| Print["Max price: $", Max[marketPrices]] | |
| Print["Min price: $", Min[marketPrices]] | |
| Print["Total return: ", (marketPrices[[-1]] - 100.0), "%"] | |
| (* Visualize market *) | |
| ListLinePlot[marketPrices, | |
| PlotStyle -> {Darker[Green], Thick}, | |
| PlotLabel -> Style["Example 10: Chaotic Market Prices", Bold, 14], | |
| AxesLabel -> {"Trading Day", "Price ($)"}, | |
| ImageSize -> Large, | |
| Filling -> Axis, | |
| FillingStyle -> Opacity[0.2, Green], | |
| GridLines -> Automatic | |
| ] | |
| (* ::Section:: *) | |
| (*Summary*) | |
| Print[Style["\n\n" <> StringRepeat["=", 60], Bold, Blue]] | |
| Print[Style["ChaosSim Examples Complete!", Bold, 18, Blue]] | |
| Print[Style[StringRepeat["=", 60] <> "\n", Bold, Blue]] | |
| Print["You have explored:"] | |
| Print[" ✓ Bernoulli number-based chaos generation"] | |
| Print[" ✓ Fibonacci sequence chaotic patterns"] | |
| Print[" ✓ Nash equilibrium in game theory"] | |
| Print[" ✓ Multi-agent chaos systems"] | |
| Print[" ✓ Unified chaos simulations"] | |
| Print[" ✓ 3D attractors and visualizations"] | |
| Print[" ✓ Practical applications (market simulation)"] | |
| Print["\nNext steps:"] | |
| Print[" • Modify parameters in any example to explore variations"] | |
| Print[" • Create your own chaos combinations"] | |
| Print[" • Use Visualizations.nb for advanced plotting"] | |
| Print[" • Refer to README.md for detailed documentation"] | |
| Print[Style["\nHappy chaos simulation! 🌀", Bold, 16, Purple]] | |