Services on Demand
Article
Indicators
Related links
- Cited by Google
- Similars in Google
Share
South African Journal of Industrial Engineering
On-line version ISSN 2224-7890
Print version ISSN 1012-277X
S. Afr. J. Ind. Eng. vol.34 n.3 Pretoria Nov. 2023
http://dx.doi.org/10.7166/34-3-2944
SPECIAL EDITION
AI usefulness in systems modelling and simulation: GPT-4 application
C. du PlooyI, *; R. OosthuizenI
IAccess to Medicines Research Centre, Faculty of Economics and Business, KU Leuven, Leuven, Belgium
IIDepartment of Technology and Engineering Management, University of Pretoria, Pretoria, South Africa
ABSTRACT
In this study, we investigate the potential of artificial intelligence (AI), specifically Generative Pre-trained Transformer 4 (GPT-4), to accelerate the development of system dynamics simulations within the broader context of systems engineering. The research aims to uncover the opportunities and limitations of leveraging AI to assist humans in constructing and refining system dynamics models. Through a systematic iterative process, GPT-4 was engaged in tasks such as creating, expanding, and stabilising simulations, identifying errors, generating expansion ideas, and converting models to Python code. Our findings reveal that GPT-4, while not flawless, can significantly enhance the modelling process, reduce human error, and expedite learning. This paper critically examines the role of AI in model development, emphasising the continued importance of human expertise in the evaluation and testing of simulations. Ultimately, we argue for a symbiotic relationship between AI and human modellers, harnessing the power of GPT-4 to augment human capabilities and advance the fields of system dynamics and systems engineering.
OPSOMMING
In hierdie studie ondersoek ons die potensiaal van kunsmatige intelligensie (KI), spesifiek Generative Pre-trained Transformer 4 (GPT)-4), om die ontwikkeling van stelseldinamika-simulasies binne die breër konteks van stelselingenieurswese. Die navorsing het ten doel om die geleenthede en beperkings van die gebruik van KI te ontbloot om mense te help om stelseldinamika-modelle te konstrueer en te verfyn. Deur 'n sistematiese, iteratiewe proses was GPT-4 besig met take soos die skep, uitbreiding en stabilisering van simulasies, identifisering van foute, generering van uitbreidingsidees en omskakeling van modelle na Python-kode. Ons bevindinge toon dat GPT-4, hoewel dit nie foutloos is nie, die modelleringsproses aansienlik kan verbeter, menslike foute kan verminder en leer bespoedig. Hierdie artikel doen 'n kritiese ondersoek na die rol van KI in modelontwikkeling, met die klem op die voortgesette belangrikheid van menslike kundigheid in die evaluering en toetsing van simulasies. Uiteindelik argumenteer ons vir 'n simbiotiese verhouding tussen KI en menslike modelleerders, wat die krag van GPT-4 benut om menslike vermoëns te verbeter en om die velde van stelseldinamika en stelselingenieurswese te bevorder.
1. INTRODUCTION
The fields of artificial intelligence (AI), system dynamics, and systems engineering have experienced significant advancements and breakthroughs in recent years. The development of powerful AI models such as Generative Pre-trained Transformer 4 (GPT-4), alongside the growing complexity of system dynamics models and the ever-evolving systems engineering methodologies, has led researchers to explore the intersection of these three domains. This paper focuses on the potential for AI, particularly GPT-4, to assist humans in building system dynamics simulations faster and more efficiently, while also critically examining the opportunities and limitations of such an approach.
AI has transformed various aspects of human endeavour, with applications ranging from natural language processing and computer vision to robotics and decision-making [4]. Among the most notable developments in the field is the creation of the GPT-4 model, which has demonstrated impressive capabilities in tasks involving the prediction, understanding, and generation of human-like responses [4, 5, 6]. This has sparked interest in the use of AI models such as GPT-4 to support and enhance other domains such as system dynamics and systems engineering.
System dynamics, a discipline focused on understanding the behaviour of complex systems over time, has become an indispensable tool for policymakers, researchers, and practitioners across diverse industries [1, 2, 7]. With its foundations in feedback loops, stocks, and flows, system dynamics provides a powerful framework for modelling and analysing complex systems' intricate relationships and dynamics [3]. As these models become increasingly sophisticated, there is a growing need for more efficient methods to build, calibrate, and validate simulations.
On the other hand, systems engineering is an interdisciplinary field that focuses on designing, managing, and optimising complex systems. The principles and methodologies of systems engineering can play a crucial role in ensuring the effective integration and execution of system dynamics models within the larger context of organisational and societal systems [16].
Recent research in these fields has begun exploring potential synergies between AI, system dynamics, and systems engineering. In particular, studies have examined the use of AI models such as GPT-4 to assist in constructing, expanding, and refining system dynamics simulations. Researchers have achieved promising results that suggest that AI can augment and accelerate the system dynamics modelling process by leveraging AI's predictive capabilities and vast knowledge base. However, this approach is not without its difficulties, as issues related to errors, biases, and the critical role of human expertise remain to be addressed.
This paper delves into the current state of research at the intersection of AI, system dynamics, and systems engineering, focusing on the potential for AI-assisted system dynamics modelling. Through a critical examination of the opportunities for and limitations of using GPT-4 in this context, we aim to provide a balanced perspective on the role of AI in shaping the future of system dynamics and systems engineering. In addition, an example is provided to show the opportunities and risks when applying AI in basic system dynamics simulation.
2. BACKGROUND
2.1. Systems engineering and system dynamics
The relationship between systems engineering and system dynamics is crucial to understanding the broader context of the current study. Systems engineering is an interdisciplinary field that designs, integrates, and manages complex systems throughout their life cycles [10]. It encompasses various activities, including requirements analysis, design, implementation, verification, and validation [11]. On the other hand, system dynamics is a subset of systems engineering, and is primarily concerned with modelling and simulating dynamic behaviour in complex systems to gain insights and inform decision-making [2].
In recent years there has been a growing interest in combining the strengths of systems engineering and system dynamics to tackle complex problems more effectively [3, 12]. By integrating system dynamics models into the systems engineering process, practitioners can better understand the dynamic behaviour of systems, identify potential risks and opportunities, and optimise system performance over time.
As we explore the potential of AI-assisted system dynamics modelling, it is essential to consider how these advancements could impact and enhance the broader systems engineering domain. By leveraging AI's capabilities, we could streamline the development of system dynamics simulations and facilitate the integration of these models into the systems engineering process [9]. This holistic approach could contribute to more robust, efficient, and effective solutions in addressing complex challenges in various industries and domains.
2.2. System dynamics and its importance
System dynamics is a powerful approach to understanding complex systems and their behaviour over time [1]. Rooted in feedback loop theory, and employing stocks, flows, and feedback loops, system dynamics models provide valuable insights into the interactions and interdependences that drive system behaviour. These models are essential tools for decision-makers, enabling them to test various policies and strategies in a controlled and simulated environment before implementing them in the real world [7]. The growing complexity of modern-day challenges, such as climate change, resource management, and socioeconomic development, has made system dynamics increasingly crucial in guiding sustainable and effective decision-making [2, 7, 8].
2.3. Traditional system dynamics modelling
Traditionally, system dynamics has been a predominantly manual and time-consuming process, requiring expertise in the subject matter and the modelling techniques. Modellers must carefully structure, calibrate, and validate their models to ensure they accurately represent real-world systems and generate reliable insights. While powerful software tools have been developed to assist modellers in building and analysing simulations, the process still relies heavily on human intuition, creativity, and critical thinking. As such, the quality and effectiveness of a system dynamics simulation are highly dependent on the skill and experience of the modeller.
However, we postulate that large language models (LLMs), with their generative capabilities, may help enormously throughout the model development process. The postulation is summarised in Figure 2 below. The first postulation is that LLMs, like GPT-4, are trained on an immense set of data gathered from the real world, but meshed within the layer of human perception. Thus, LLMs could provide a nuanced perception of reality as a result of their multiple perspectives on innumerable fields. Therefore, they could be used as a starting point to articulate problems, formulate dynamic hypotheses, and develop simulations. The latter is what this paper investigates.
Although we stand by the postulation, it is critical to consider the phenomena of the LLM called 'hallucinations'. Hallucinations are when the model generates incorrect, nonsensical, or unreal text. Thus, human testing and healthy scientific scepticism are essential components in each phase where the LLMs are used. Hallucinations have been reduced by providing better prompts, tags, and recursive tests, up to 98.88% effectiveness [23].
2.4. The emergence of AI in system dynamics
The rapid development of AI has opened new avenues for enhancing the system dynamics modelling process. AI-driven algorithms and tools are increasingly being leveraged to automate various aspects of the world. We postulate that AI could do the same for model construction, calibration, and validation, ultimately accelerating the development of accurate and reliable simulations. The specific AI models that have gained significant attention in recent years and months are OpenAI's Chat GPT-3 and 4 [17], state-of-the-art language models that have demonstrated impressive capabilities in a wide range of tasks, including natural language understanding, text generation, and even coding [18]. GPT-based enquiries facilitate personalised learning experiences that make it possible for systems thinking skills to be gained through interactive and immediate feedback [19, 20].
2.5. The potential of GPT-4 in system dynamics
Integrating AI models such as GPT-4 into the system dynamics modelling process presents both opportunities and challenges. GPT-4's core function is to predict the next word in a sequence by learning from vast amounts of data. While this may appear simple at first glance, GPT-4's ability to understand the context and generate coherent and meaningful outputs has proved to be a powerful tool for various applications. In the context of system dynamics, the potential of GPT-4 to aid in constructing and refining simulations is particularly intriguing, considering that GPT is trained on published texts that contain the 'mental models' of the writers. Thus, by asking better questions, the LLM could convey some of these models or at least form a starting point. Engaging GPT-4 in an iterative learning, feedback, and improvement process could harness its capabilities to create, expand, and stabilise system dynamics simulations more efficiently. On the one hand, AI-assisted modelling could significantly accelerate model construction, calibration, and validation, allowing for the rapid development of reliable simulations. Moreover, AI could help to uncover novel insights and ideas, expanding the scope of system dynamics models to address increasingly complex challenges.
However, the application of GPT-4 in system dynamics modelling is not without its difficulties. As a language model, GPT-4 is inherently limited by the quality and breadth of the data it has been trained on. Consequently, its performance in specialised domains, such as system dynamics, may be contingent on the availability of relevant training data. Moreover, while powerful, GPT-4's reliance on pattern recognition and prediction may not always align with the nuanced and creative problem-solving approaches that are required in system dynamics modelling [15]. Variations in prompt formulations may generate significantly different responses [20].
Using AI in system dynamics also raises concerns about the potential for errors and biases in AI-generated outputs. While GPT-4 has demonstrated impressive capabilities, it is not immune to making mistakes or generating outputs that may not align with real-world dynamics. These errors and biases can stem from training data limitations and AI models' inherent nature of relying on pattern recognition and prediction. However, these biases represent the existing mental models about a complex problem in the available training data. The GPT algorithm cannot understand human prompts or its own generated responses. The AI and NLP algorithms derive an understanding from a vast amount of text data without considering or reflecting on its quality. This may lead to incorrect answers or biased responses [20, 21].
GPT-4 may provide useful identification and explanation of the problem (system) elements and their relationships, including the underlying logic behind the responses. However, the 'Show me' performs slightly worse in constructing causal loop diagrams, but can be improved with 'Code interpreter'. Here, the main problem may be occasionally providing incorrect polarities [20]. GPT-4 is good at replying to factual questions, even with slight variances, by looking up the main data points used for training the system. Response quality and usefulness decrease when questions require more intelligent interpolation between data points [22].
2.6. The role of human expertise in AI-assisted system dynamics modelling
Despite the promise of AI-driven system dynamics modelling, the role of human expertise remains indispensable [13]. Modellers bring critical thinking, creativity, and domain knowledge to the table, enabling them to contextualise AI-generated outputs and validate their relevance and accuracy. Thus, training and developing critical and creative thinking and being contextualised with domain knowledge is essential to performing AI-assisted modelling. Furthermore, human modellers can guide AI through an iterative learning and improvement process, ensuring it adapts and refines its outputs based on expert feedback. This symbiotic relationship between AI and human expertise can revolutionise the field of system dynamics by accelerating the development of high-quality simulations while maintaining the crucial human touch.
To harness AI's potential in system dynamics fully, it is essential to strike a balance between leveraging AI's capabilities and maintaining the critical role of human expertise. A collaborative approach in which AI and human modellers work together in an iterative learning, feedback, and improvement process is key to achieving this balance. By engaging AI models such as GPT-4 as valuable tools to assist in the modelling process while still relying on human intuition, creativity, and critical thinking, system dynamics practitioners could reap the benefits of AI without compromising the quality and reliability of their simulations.
2.7. The future of AI in system dynamics
As AI technology advances, its role in system dynamics will likely grow significantly. Developing more specialised and domain-specific AI models and refining existing models such as GPT-4 would further enhance the capabilities of AI-assisted system dynamics modelling. However, as we embrace the potential of AI to revolutionise the field, it is essential to remember the value of human expertise in guiding and validating AI-generated outputs. By fostering a collaborative, human-AI approach to system dynamics modelling, we could create a brighter future for the field, in which AI augments our abilities and empowers us to tackle increasingly complex challenges with confidence and precision.
3. METHODOLOGY
3.1. Experimental design
To investigate the potential of GPT-4 in constructing and refining system dynamics simulations, we designed a series of experiments that involved engaging the AI model in an iterative process of learning, feedback, and improvement. Our primary objective was to assess GPT-4's ability to create, expand, and stabilise simulations and its capacity to identify and correct errors.
The experiments were structured into six distinct steps, each targeting a specific aspect of system dynamics simulation construction. We provided GPT-4 with feedback and guidance throughout the process to facilitate its learning and performance. The full details of the experiment can be found in Appendix A.
3.2. Steps in the experiment
The experiment to assess an approach to develop system dynamic models with AI followed the following steps:
1. Requested a basic population simulation: We began by asking GPT-4 to generate a simple population simulation with valid equilibrium starting conditions.
2. Expanded the simulation to include resources: Next, we prompted GPT-4 to incorporate resources into the simulation, monitoring its ability to create and manage new parameters.
3. Stabilised the simulation: In response to the observed instability when deviating from equilibrium parameters, we asked GPT-4 to introduce a method for stabilising the simulation structure.
4. Identified errors: We tasked GPT-4 with identifying and correcting any errors present in the simulation, gauging its ability to recognise and rectify mistakes.
5. Generated expansion ideas: To assess GPT-4's capacity for generating novel simulation enhancements, we requested five ideas for expanding the simulation, complete with stocks, flows, variables, and dimensions.
6. Converted to Python code: Finally, we asked GPT-4 to translate the system dynamics simulation into Python code, complete with visualisation and evaluated its ability to perform this complex task accurately and efficiently.
3.3. Data collection and analysis
Throughout the experiment, we rebuilt the simulation into iSee Stella Architect. These structures were then analysed to evaluate the AI model's strengths and weaknesses in constructing and refining system dynamics simulations. The analysis focused on GPT-4's ability to generate accurate and stable simulations, expand and enhance existing models, and identify and correct errors. We also considered the role of human expertise in guiding and contextualising GPT-4's performance, exploring the potential synergy between AI and human skills in the field of system dynamics. Finally, the iSee Stella simulation and Python code generated by Chat GPT-4 were compared in order to perform a verification test between them.
4. RESULTS & DISCUSSION
The detailed conversations between GPT-4 and us can be found in the Appendix for replication purposes, summarised in this section.
4.1. GPT-4 performance in building system dynamics simulations
In this section, we present the results of our experiments with GPT-4 in constructing system dynamics simulations and discuss the implications of these findings. Our analysis focused on AI's ability to create, expand, and refine simulations and its capacity to identify and correct errors.
4.1.1. Simulation development by GPT-4
During the experiment's initial stages, steps 1 to 4 in the methodology (section 3), GPT-4 successfully generated a basic population simulation with valid equilibrium starting conditions. It then expanded the simulation to incorporate resources, albeit with some instability when deviating from the equilibrium parameters, as shown in Figure 3. To address this issue, GPT-4 introduced the concept of using the ratio between two stocks, resulting in a more stable simulation structure, as shown in Figure 4. However, the AI model could not identify and correct a minor parameter error.
Figure 3 shows the initial two-stock simulations we built in iSee Stella Architect to test the outputs from GPT-4. The simulation was unstable when it left the equilibrium point by either growing exponentially or decaying exponentially.
However, the simulation below, Figure 4, was constructed after requesting GPT-4 to add more stability; we found that it was unable to identify that the death rate sensitivity should be 1 instead of 0.1. Thus, both simulations were initialised at equilibrium conditions GPT-4 identified mostly correctly. To set up such an equilibrium, humans would need to set the differential equations to 0 and solve the equations simultaneously to obtain the parametric conditions where equilibrium remained. GPT-4 did not show this calculation, yet it provided the correct parameters for the first structure and almost correct parameters for the second structure.
4.1.2. Simulation expansion ideas by GPT-4
GPT-4 also demonstrated its ability to generate valuable expansion ideas for the simulation, providing five insightful suggestions (step 5 in the methodology; section 3). More details can be found in the conversations in Appendix A.
All five additions are useful, but most needed more exploration to make them valuable. The technology advancement inclusion was good, yet the equations were lacking since multiplying technology by consumption and production may have no net effect other than slowing down or increasing the difference between the inflow and the outflow of the two-stock simulation. Technology affects production and consumption differently, and technology is most likely stock. The addition of immigration and emigration was also excellent, yet it was simplistic and left much to expand on. Similarly, the carrying capacity was another good variable to bring further stability to the system, yet it was not clear if this could have been double accounting, considering that the resource per capita might also have been performing this stability. The age structure would have been an excellent expansion since it would have shown the actual delay caused by ageing people in the real world. Finally, the differentiation of resources could have allowed for interesting dynamics, considering that each was being consumed and produced at different rates.
All five ideas were valid system dynamics concepts, although some left much room for improvement and definition. The result shows how GPT-4 can give valid ideas to expand existing simulations.
4.1.3. Python translat ion
Being able to translate iSee Stella structures into Python code would enable the system dynamics simulation to be integrated with other systems for control, prediction, or even assistance in AI learning where there is a lack of data that the simulation could generate [24]. Most system dynamics experts do not simultaneously convert simulations into code, as that is a different field of expertise. However, if GPT-4 could do this conversion, it would allow existing simulations to integrate with other software systems and reveal to the modeller how to code the structure into Python code so that their skills in Python advance and GPT-4 might not be needed for this conversion in future. Nevertheless, first we needed to establish whether GPT-4 could do this conversion for us. This was the last part of this investigation (step 6 in the methodology; section 3).
GPT-4 seamlessly translated the model it had described into Python code. Spyder (Python compiler) was used to run the simulation and then export the results into a CSV file. Then, we could compare the two simulations. We constructed the iSee Stella Architect simulation using the exact equations and parameters provided by GPT-4 in the written outputs. GPT-4 constructed the Python simulation from the explanation it provided on the prompts it received. The results are shown below in Figure 5. The birth rate sensitivity was changed from 0.0004 to 0.00432 to test the simulation outside of equilibrium.
The results show how both the population and the resources graphs from iSee Stella Architect and Python fit very well. The average percentage difference in resources is 0.106%, and on population, it is 0.046% throughout the 500 calculations (delta time of 0.1 years). This result is profound since it shows GPT-4's ability to conceptualise, parameterise, calibrate, and create the Python code to simulate the structure. Thus, it was able to combine its knowledge of system dynamics with its knowledge of Python code to merge these two fields with a high degree of accuracy for the first time. Nevertheless, it could not identify perfectly the parameter that would set the simulation in equilibrium; human intervention was required here. Furthermore, human questions and guidance were essential to guide GPT-4 in creating this simulation. It could not spontaneously create without being prompted.
Two significant takeaways come from this experiment. First, GPT-4 correctly identified the structural components and how they related to a code, Python. Second, GPT-4 could correctly simulate the structure and code to make the results nearly identical. The fascinating aspect of this is that even seasoned system dynamics practitioners would struggle to achieve the same outcome in just one try and not at the speed GPT-4 can do it. However, it is essential to note that more research is required on this aspect, as it might be an outlier, and the prevalence of hallucinations should never be underestimated.
4.2. Opportunities and limitations of GPT-4 in system dynamics
The performance of GPT-4 in constructing and refining system dynamics simulations revealed both opportunities and limitations. On the one hand, GPT-4 exhibited remarkable capabilities in creating, expanding, and stabilising simulations and generating new ideas for expansion. It also demonstrated proficiency in translating simulations into Python code, which is a valuable attribute (skill) for system dynamics practitioners.
However, GPT-4's limitations were also apparent. The AI model could not identify and correct the parameter error in the simulation, highlighting a potential weakness in its error-checking abilities. Furthermore, although GPT-4 was adept at generating expansion ideas, the quality of these ideas ultimately depended on the input data and the questions posed by users. This underlines the importance of human involvement in guiding the AI model to generate meaningful and relevant results.
4.3. The synergy between AI and human expertise in system dynamics
The results of our study underscore the potential of AI, particularly GPT-4, to augment human capabilities in building system dynamics simulations. By leveraging the strengths of AI, system dynamics practitioners could accelerate the learning process, improve the efficiency of simulation construction, and expand their problem-solving abilities.
However, our findings also emphasise the indispensable role of human expertise in the process. Human modellers provide critical evaluation, testing, and guidance to ensure the accuracy and relevance of the simulations. Moreover, they are responsible for posing the right questions and providing the necessary context for the AI model to generate meaningful results.
4.4. Towards a collaborative future: AI and human expertise in system dynamics
In light of our findings, we envision a future when AI and human expertise complement each other to drive advancements in system dynamics. By harnessing the capabilities of AI models such as GPT-4, system dynamics practitioners could access a powerful tool that enhanced their skills and accelerated their work. The starting point provided by the LLM could help modellers overcome the initial difficulty of starting a new simulation. Often, much time is required to conceptualise the system into structures, which could now be made faster. Iteration could thus start taking place earlier, allowing for more iterations, robustness tests, and confidence in the model's development and results. At the same time, human modellers remain essential in providing the insight, context, and guidance required for AI-generated results to be truly valuable.
In this collaborative future, AI serves as a catalyst for human innovation, enabling system dynamics practitioners to tackle more complex problems and generate novel solutions. By fostering a synergy between AI and human expertise, we could unlock the full potential of both parties, paving the way for a more dynamic and practical approach to system dynamics modelling.
5. CONCLUSION
The investigation into the potential of AI, specifically GPT-4, to assist humans in building system dynamics simulations faster and more efficiently has yielded significant insights into the opportunities and challenges of this approach. Throughout this paper, we have explored the current state of research in the fields of AI, system dynamics, and systems engineering and critically examined the role of AI in enhancing and expediting the system dynamics modelling process.
Our analysis revealed that AI models such as GPT-4 offer considerable advantages in constructing, expanding, and refining system dynamics simulations. These LLMs could reduce the time and effort required to develop simulations, enhance the stability of models, and provide valuable suggestions for expansion. Furthermore, the ability of AI models to convert system dynamics simulations into programming languages such as Python demonstrates their potential for bridging the gap between system dynamics and other computational domains.
However, it is crucial to recognise the limitations and shortcomings associated with AI-assisted system dynamics modelling. AI models can make mistakes and cannot always identify errors in their simulations. They may also introduce biases and unintended consequences if not carefully monitored and guided. Therefore, the role of human expertise remains indispensable in simulation building, as it ensures the appropriate evaluation, testing, and validation of the simulation structure.
In conclusion, integrating AI into system dynamics and systems engineering presents a promising avenue for accelerating and enhancing the modelling process. However, it is essential to acknowledge the value of human expertise and to maintain a balanced perspective on the role of AI in shaping the future of these fields. As we continue to explore the potential of AI models such as GPT-4, our focus should shift from whether they could replace us to how they could empower and augment our capabilities.
Embracing AI as a tool for improvement rather than a threat to human expertise allows us to harness the power of these advanced models and elevate our skills in system dynamics and systems engineering. By fostering a collaborative approach between humans and AI, we could drive innovation, create more robust and accurate simulations, and ultimately contribute to a brighter future for the field of system dynamics and beyond.
Future research needs to address changes in response quality and how the proposed model changes over time. The body of knowledge requires empirical studies to evaluate the impact of these AI tools on the quality of output models. Furthermore, future research may be needed to evaluate whether causal loop diagrams could be used as stepping stones to improve GPT-4's model development process.
REFERENCES
[1] J. W. Forrester, Industrial dynamics. Cambridge MA: MIT Press, 1961. [ Links ]
[2] J. D. Sterman, Business dynamics: Systems thinking and modeling for a complex world. Boston MA: Irwin/McGraw-Hill, 2000. [ Links ]
[3] J. Martinez-Moyano and G.P. Richardson, "Best practices in system dynamics modeling," System Dynamics Review, vol. 29, no. 2, pp. 102-123, 2013. [ Links ]
[4] Y. LeCun, Y. Bengio, and G. Hinton, "Deep learning," Nature, vol. 521, no. 7553, pp. 436-444, 2015. [ Links ]
[5] I. Goodfellow, Y. Bengio, and A. Courville, Deep learning. Cambridge MA: MIT Press, 2016. [ Links ]
[6] T. B. Brown et al., "Language models are few-shot learners," Advances in Neural Information Processing Systems, vol. 33, pp.1877-1901, 2020. [ Links ]
[7] M.J. Radzicki and R.A. Taylor, Introduction to System Dynamics: A Systems Approach to Understanding Complex Policy Issues. US Department of Energy, http://www.systemdynamics.org/DL-IntroSysDyn/inside.htm. 1997. [ Links ]
[8] E. Pruyt, Small system dynamics models for big issues: Triple jump towards real-world complexity. Delft, Netherlands: TU Delft, 2013. [ Links ]
[9] W. B. Rouse, "Engineering complex systems: Implications for research in systems engineering," IEEE Transactions on Systems, Man, and Cybernetics - Part A: Systems and Humans, vol. 33, no. 2, pp. 154-156, 2003. [ Links ]
[10] J. T. Boardman and B. Sauser, "System of systems - the meaning of of," in 2006 IEEE/INFORMS International Conference on Service Operations and Logistics, and Informatics, SOLI 2006, Proceedings, June 2006, pp. 118-123. [ Links ]
[11] A. P. Sage and W. B. Rouse, Handbook of systems engineering and management. Hoboken NJ: Wiley, 2009. [ Links ]
[12] M. W. Maier, "Architecting principles for systems-of-systems," Systems Engineering, vol. 1, no. 4, pp. 267-284, 1998. [ Links ]
[13] A. Voinov and F. Bousquet, "Modelling with stakeholders," Environmental Modelling & Software, vol. 25, no. 11, pp. 1268-1281, 2010. [ Links ]
[14] D. N. Ford and J. D. Sterman, "Expert knowledge elicitation to improve formal and mental models," System Dynamics Review, vol. 14, no. 4, pp. 309-340, 1998. [ Links ]
[15] K. Saeed, "The dynamics of economic growth in political instability in developing countries," System Dynamics Review, vol. 2, no. 1, pp. 20-35, 1986. [ Links ]
[16] D. D. Walden, G. J. Roedler, and K. Forsberg, "INCOSE systems engineering handbook version 4: Updating the reference for practitioners," In INCOSE International Symposium, vol. 25, no. 1, pp. 678-686, 2015. [ Links ]
[17] A. Egli, "ChatGPT, GPT-4, and other large language models: The next revolution for clinical microbiology?" Clinical Infectious Diseases, ciad407, 2023. https://doi.org/10.1093/cid/ciad407 [ Links ]
[18] S. Bubeck et al., "Sparks of artificial general intelligence: Early experiments with GPT-4", Cornell University, aeXiv, 2023, submitted 22 March 2023, available at: https://arxiv.org/abs/2303.12712 [accessed 22 Aug 2023]. [ Links ]
[19] M. Farrokhnia, S. K. Banihashem, O. Noroozi, and A. Wals, "A SWOT analysis of ChatGPT: Implications for educational practice and research," Innovations in Education and Teaching International, 2023. Doi 10.1080/14703297.2023.2195846 [ Links ]
[20] H. Arndt, 2023. "AI and education: An investigation into the use of ChatGPT for systems thinking," 2023. arXiv preprint arXiv:2307.14206 [ Links ]
[21] G. Cooper, "Examining science education in ChatGPT: An exploratory study of generative artificial intelligence," Journal of Science Education and Technology, vol. 32, no. 3, pp. 444-452, 2023. doi: 10.1007/s10956-023-10039-y [ Links ]
[22] W. Scherer, A. Tolk, M. Loper, P. Barry, G. Rabadi, and L. Yilmaz, "Chances and challenges of CHATGPT and similar models for education in M& S," 2023. TechRxiv. Preprint. https://doi.org/10.36227/techrxiv.22773842.v1 [ Links ]
[23] P. Feldman, J. R. Foulds, and S. Pan, "Trapping LLM 'hallucinations' using tagged context prompts", Submitted June 23, 2023, available at: https://arxiv.org/pdf/2306.06085.pdfj accessed 25 Aug 2023]. [ Links ]
[24] C. du Plooy, "Roots to new branches: Generic translation of system dynamics simulation into code", International System Dynamics Conference 2023, Chicago, July 2023, available at: https://www.researchgate.net/publication/373107204_Roots_to_New_Branches_Generic_Translation_of_System_Dynamics_Simulations_into_Code_[accessed 25 Aug 2023]. [ Links ]
* Corresponding author: corne.duplooy@kuleuven.be
ORCID® identifiers
C. du Plooy: https://orcid.org/0000-0003-3744-7570
R. Oosthuizen: https://orcid.org/0000-0002-2333-6995
APPENDIX A - RAW CHAT GPT-4 CONVERSATION
Question 1
Using the following System Dynamics Simulation. Expand on it by adding one new stock called resources. Provide the stocks and flows with the dimensions and description of each variable. Additionally provide the equations for each of the flows. Finally, provide the parameter values and initial values for an equilibrium.
Expanding the existing population simulation by adding a new stock called Resources, the updated stocks, flows, auxiliaries, equations, dimensions, and initial values for an equilibrium are as follows:
Stocks:
a. Population (P) [people]: The total number of people in the system.
b. Resources (R) [units]: The total amount of available resources, such as food, water, and energy, in the system.
Flows:
a. Births (B) [people/time]: The number of people added to the population over time.
b. Deaths (D) [people/time]: The number of people removed from the population over time.
c. Resource Consumption (RC) [units/time]: The amount of resources consumed by the population over time.
d. Resource Production (RP) [units/time]: The amount of resources produced or replenished in the system over time.
Auxiliaries:
a. Birth Rate (BR) [people/(persontime)]: The average number of births per person per unit of time.
b. Death Rate (DR) [people/(persontime)]: The average number of deaths per person per unit of time.
c. Consumption Rate (CR) [units/(person*time)]: The average amount of resources consumed per person per unit of time.
d. Production Rate (PR) [units/time]: The rate at which resources are produced or replenished in the system.
Equations for flows and auxiliaries:
Births (B): B = P * BR
Deaths (D): D = P * DR
Resource Consumption (RC): RC = P * CR
Resource Production (RP): RP = PR
Birth Rate (BR): BR = a (a: constant representing the average number of births per person per unit of time (e.g., per year))
Death Rate (DR): DR = b (b: constant repre)senting the average number of deaths per person per unit of time (e.g., per year)
Consumption Rate (CR): CR = c (c: constant representing the per capita consumption of resources)
Production Rate (PR): PR = k * R (k: constant representing the production efficiency of resources)
Parameter values for an equilibrium:
a = 0.02 (births per person per year)
b = 0.02 (deaths per person per year)
c = 1 (resource units consumed per person per year)
k = 0.02 (resource production efficiency)
Initial values:
Population (P) = P_initial (P_initial: the initial population value (e.g., 1,000 people)) Resources (R) = R_initial (R_initial: the initial resources value (e.g., 50,000 units))
In this expanded population simulation, the population and resources are in equilibrium when the birth rate equals the death rate, and resource consumption equals resource production. The provided parameter values and initial values result in an equilibrium where the population and resources remain constant over time. This simulation does not consider factors such as migration, technology, or other influences on population growth and resource dynamics.
Question 2
Consider the following system dynamics simulation. Improve the simulation by making the equilibrium dynamics more stable. Provide the stocks, flows, dimensions, and equations for each. Finally provide the parameter values and initial values for the equilibrium:
Previous Post
To improve the stability of the equilibrium dynamics, we can introduce feedback loops that adjust the birth rate and death rate based on the availability of resources. This will create a more resilient system that can better adapt to changes in population and resource levels. Here are the updated stocks, flows, auxiliaries, equations, dimensions, and initial values for the improved equilibrium:
Stocks:
a. Population (P) [people]: The total number of people in the system.
b. Resources (R) [units]: The total amount of available resources, such as food, water, and energy, in the system.
Flows:
a. Births (B) [people/time]: The number of people added to the population over time.
b. Deaths (D) [people/time]: The number of people removed from the population over time.
c. Resource Consumption (RC) [units/time]: The amount of resources consumed by the population over time.
d. Resource Production (RP) [units/time]: The amount of resources produced or replenished in the system over time.
Auxiliaries:
a. Birth Rate (BR) [people/(persontime)]: The average number of births per person per unit of time, adjusted based on resource availability.
b. Death Rate (DR) [people/(persontime)]: The average number of deaths per person per unit of time, adjusted based on resource availability.
c. Consumption Rate (CR) [units/(person*time)]: The average amount of resources consumed per person per unit of time.
d. Production Rate (PR) [units/time]: The rate at which resources are produced or replenished in the system.
e. Resource Per Capita (RPC) [units/person]: The amount of resources available per person.
Equations for flows and auxiliaries:
Births (B): B = P * BR
Deaths (D): D = P * DR
Resource Consumption (RC): RC = P * CR
Resource Production (RP): RP = k * R
Birth Rate (BR): BR = a * RPC (a: constant representing the sensitivity of birth rate to resource availability) Death Rate (DR): DR = b / RPC (b: constant representing the sensitivity of death rate to resource availability) Consumption Rate (CR): CR = c (c: constant representing the per capita consumption of resources) Production Rate (PR): PR = k * R (k: constant representing the production efficiency of resources) Resource Per Capita (RPC): RPC = R / P
Parameter values for an equilibrium:
a = 0.0004 (birth rate sensitivity)
b = 0.1 (death rate sensitivity)
c = 1 (resource units consumed per person per year)
k = 0.02 (resource production efficiency)
Initial values:
Population (P) = P_initial (P_initial: the initial population value (e.g., 1,000 people))
Resources (R) = R_initial (R_initial: the initial resources value (e.g., 50,000 units))
In this improved population simulation, the birth rate and death rate now depend on the availability of resources per capita, creating a more stable equilibrium. As resources become scarcer, the birth rate decreases, and the death rate increases, which can help prevent resource depletion and stabilise the population. The provided parameter values and initial values result in an equilibrium where the population and resources remain constant over time.
Question 3
Find the error in the parameters.
After reviewing the provided system dynamics simulation, I found that there is an error in the death rate equation. The equation has been adjusted to correct the error and to ensure that the system remains at equilibrium. The corrected stocks, flows, dimensions, equations, and initial values for the equilibrium are as follows:
Stocks:
a. Population (P) [people]: The total number of people in the system.
b. Resources (R) [units]: The total amount of available resources, such as food, water, and energy, in the system.
Flows:
a. Births (B) [people/time]: The number of people added to the population over time.
b. Deaths (D) [people/time]: The number of people removed from the population over time.
c. Resource Consumption (RC) [units/time]: The amount of resources consumed by the population over time.
d. Resource Production (RP) [units/time]: The amount of resources produced or replenished in the system over time.
Auxiliaries:
a. Birth Rate (BR) [people/(persontime)]: The average number of births per person per unit of time, adjusted based on resource availability.
b. Death Rate (DR) [people/(persontime)]: The average number of deaths per person per unit of time, adjusted based on resource availability.
c. Consumption Rate (CR) [units/(person*time)]: The average amount of resources consumed per person per unit of time.
d. Production Rate (PR) [units/time]: The rate at which resources are produced or replenished in the system.
e. Resource Per Capita (RPC) [units/person]: The amount of resources available per person.
Equations for flows and auxiliaries:
Births (B): B = P * BR
Deaths (D): D = P * DR
Resource Consumption (RC): RC = P * CR
Resource Production (RP): RP = k * R
Birth Rate (BR): BR = a * RPC (a: constant representing the sensitivity of birth rate to resource availability)
Death Rate (DR): DR = b * (1 - RPC) (b: constant representing the sensitivity of death rate to resource availability)
Consumption Rate (CR): CR = c (c: constant representing the per capita consumption of resources)
Production Rate (PR): PR = k * R (k: constant representing the production efficiency of resources)
Resource Per Capita (RPC): RPC = R / P
Parameter values for an equilibrium:
a = 0.02 (birth rate sensitivity)
b = 0.02 (death rate sensitivity)
c = 1 (resource units consumed per person per year)
k = 0.02 (resource production efficiency)
Initial values:
Population (P) = P_initial (P_initial: the initial population value (e.g., 1,000 people))
Resources (R) = R_initial
R_initial: the initial resources value (e.g., 50,000 units)
In this corrected population simulation, the birth rate and death rate now depend on the availability of resources per capita, creating a more stable equilibrium. As resources become scarcer, the birth rate decreases, and the death rate increases, which can help prevent resource depletion and stabilise the population. The provided parameter values and initial values result in an equilibrium where the population and resources remain constant over time.
Question 4
Consider the following system dynamics simulation. Provide 5 ways to make the simulation behaviour more realistic:
To make the system dynamics simulation more realistic, consider the following five improvements:
Incorporate migration: Add two flows to account for the people entering and leaving the system due to migration. This will affect the population dynamics and resource consumption.
Flows:
e. Immigration (I) [people/time]: The number of people entering the system due to migration.
f. Emigration (E) [people/time]: The number of people leaving the system due to migration.
Equations:
I = P * IM
E = P * EM
Auxiliaries:
f. Immigration Rate (IM) [people/(persontime)]: The average number of people entering the system due to migration per person per unit of time.
g. Emigration Rate (EM) [people/(persontime)]: The average number of people leaving the system due to migration per person per unit of time.
Incorporate technological advancements:
Technological advancements can impact resource production and consumption rates. Add an auxiliary variable called Technology (T) to represent the technological level of the system and modify resource production and consumption equations accordingly.
Auxiliary:
h. Technology (T): A variable representing the level of technology in the system.
Equations:
Resource Consumption (RC): RC = P * CR * T
Resource Production (RP): RP = k * R * T
Incorporate carrying capacity:
Add an auxiliary variable to represent the maximum sustainable population size that the resources can support, called Carrying Capacity (CC).
Auxiliary:
i. Carrying Capacity (CC) [people]: The maximum sustainable population size that the resources can support.
Equation:
CC = R * d (d: constant representing the number of people a unit of resources can support)
Modify the birth rate and death rate equations to account for the carrying capacity:
BR = a * RPC * (1 - P/CC)
DR = b / RPC * (P/CC)
Introduce age structure:
Divide the population into age groups (e.g., children, adults, elderly) to create a more realistic representation of birth rates, death rates, and resource consumption.
Model resource depletion and renewable resource dynamics separately:
Differentiate between renewable and non-renewable resources, as they have distinct depletion and replenishment dynamics. Consider adding separate stocks and flows for each resource type.
By incorporating these improvements, the system dynamics simulation will better represent real-world population and resource dynamics, providing more accurate insights and predictions.
Question 5
Q5: Convert the following system dynamics simulation into executable python code with a graph of the Population over time:
import numpy as np
import matplotlib.pyplot as plt
# Parameters
a = 0.0004
b = 1
c = 1
k = 0.02
# Initial values
P_initial = 1000
R_initial = 50000
dt = 0.1
timesteps = 500
# Simulation
P = [P_initial]
Raw Chat GPT-4 Conversation
R = [R_initial]
for t in range(1, timesteps):
P_prev = P[-1]
R_prev = R[-1]
RPC = R_prev / P_prev
BR = a * RPC
DR = b / RPC
CR = c
PR = k * R_prev
B = P_prev * BR
D = P_prev * DR
RC = P_prev * CR
RP = PR
P_new = P_prev + (B - D) * dt
R_new = R_prev + (RP - RC) * dt
P.append(P_new)
R.append(R_new)
# Plot the population over time
plt.plot(np.arange(0, timesteps * dt, dt), P)
plt.xlabel('Time')
plt.ylabel('Population')
Raw Chat GPT-4 Conversation
plt.title('Population Over Time')
plt.grid(True)
plt.show()