I am reading https://global.oup.com/academic/product/a-world-beyond-physics-9780190871338?cc=us&lang=en& about one approach of complex systems' theory for the emergence of the life. It is about the autocatalytic soup of molecules from which the life can emerge. Of course, one is thinking further - every computer program, every Turing machine is more ore less autocatalytic soup of interacting software components from which the consciousness, mind and Artificial General Intelligence (https://content.sciendo.com/view/journals/jagi/jagi-overview.xml) can emerge.
Of course - ther program (Turing machine) should be of sufficient complexity for such consciousness to emerge - and such complexity/level of consciousness can be measured by Phi measure of https://en.wikipedia.org/wiki/Integrated_information_theory .
My question is - how the theory of complex systems is applied to the software programs (including logic programs, sets of first order formulas, knowledge bases, functional programs, lambda terms), e.g. to derive the directions (modular organization, wealth of functionality, et.c) for evolving the programs into the programs with higher level of Phi, whith higer level of autonomy and consciousness? I presume, that consciousness is the driving force for the program to exhibit commonsense knowledge, for the capability to make generalizations and transfer skills among tasks (all those are very hot topics and deep learning community without almost any theory behind them). All these issues are the grails of current computer science and that is why my question is very applied in nature.
Currently computer programs and algorithms are developed in trial-and-error process. The development of software systems that are called cognitive architectures (http://bicasociety.org/cogarch/architectures.php) or that are called cognitive systems (http://www.cogsys.org/journal) is prominent features of such efforts. But maybe the theory of complex systems can be applied to such programs to determine why such programs exhibit or do not exhibit the capabilities of consciousness (as determined by IIT or any other computational theory of consciousness or mind - there are some others, academically sound) and what can be do on such programs to evolve them into capable systems with higher Phi. We have tried to design and program features but no cognitive architecture has achieved sufficient level of AGI. We can try still more harder. But maybe the theory of complex systems can provide some guidance to estimate the weak points and to provide some direction?
Just some reference for applying the theory of complex systems to the programs in the widest sense?
I tried Google queries like
software as complex system,
computer program as complex system,
Turing machine as complex system but with no results, there is almost no any article relevant to such queries. There is stack-physics question https://physics.stackexchange.com/questions/284456/are-ordinary-desktop-computers-complex-systems that was not received well.
Complex systems exhibit such feature as emergence and programmers are very well aware of the emergence of bugs from their software. That is why they intentionally try to reduce the complexity of the software and improve the predictability (use of formal methods helps). But - is it open question - can we ever achieve artificial general intelligence (are any useful application of AI) by writing simple and predictable software? Maybe software should be a complex system at the end?