Robert Holmes wrote:
> The distinction between open and close loop systems reminds me of the > distinction between asking forgiveness and asking permission. An open-loop > system produces some recommended set of parameter settings that a third > party (usually human) can choose to implement or not. A closed-loop system > calculates the parameter settings then goes ahead and applies them anyway. > When I use an ABM to predict the bottlenecks in a supply chain and I then > present the results to the client, that's an open-loop system. When the EBM > in my car's engine management system detects that I've done something dumb > and turns on the ABS, that's a closed-loop system. I don't know enough about the example I gave (having only read the sales literature) to say whether it is open or closed loop. Formally, of course, open-loop means that the output of the controller does not affect the input while closed-loop means that the output of the controller affects the input. Whether a human acts as the controller is not a way to distinguish between open and closed loop control. When the burger-flipper behind the counter of a fast-food joint fills your drink, putting a cup under the automatic faucet and pressing the button for the right size - that is open loop control. The output (soda into the drink) does not affect the input (button pressed). Conversely, when you walk up to the drink fountain and refill your drink, that is closed loop control with a human controller. The output (how much soda is in the glass) affects the input (whether you hold the valve open). Both of your examples above are closed-loop control systems, whether or not your client changes their supply chain. > (Simulators fall in an interesting grey area: is a simulator an example of > control system or an example of a simulation of a control system? These are > different, especially when things go pear-shaped.) If one takes the long view, simulators that are used in support of decision-making are closed-loop control systems. The closure is not hard-wired, but it exists. > So my contention is that while ABMs may be great for advisory, open-loop > systems they just aren't robust enough to form the core of a closed-loop > system. How would you feel if the automatic control systems in your car > (plane, nuclear reactor etc.) where all written in NetLogo? ;) Irrelevant. How would you feel if your car/plane/nuclear reactor control system was written in Visual Basic? Both VB and NetLogo are not intended for real-time systems. For a control system, one would use ABM written to satisfy the timing requirements of the system. An ABM can be written in C or assembly language, if necessary to satisfy the requirements. Many years ago and several previous lives, I worked on a satellite control system. The subsystem that controlled the ground antenna tracking the satellite had three modes of operation - signal maximizing, predicted track, and joystick. Of these, the first and last were closed loop control, while the predicted track could be considered an open loop ABM (if you tilt your head and squint your eyes just right) control system. All of these were written in assembly language. Back in the early 90s, I used an expert system to track vehicles from dumb sensor data. The prototype expert system was written in Lisp (or maybe Prolog, I can't remember for sure). The operational system used and expert system written in C (right here in ABQ). The reason for the latter was simple - real-time performance. -- Ray Parks [hidden email] IDART Project Lead Voice:505-844-4024 IORTA Department Fax:505-844-9641 http://www.sandia.gov/idart Pager:800-690-5288 |
My loose use of terminology (OK, wrong) didn't help there - yes, all the
examples quoted so far have been closed-loop systems because yes, the outputs all effect subsequent inputs to the system (assuming those supply-chain clients actually pay attention to my advice). However Parunak makes a stronger claim: that ABMs can be used for *automatic* closed-loop control: "...a control scheme that more or less automatically regulates the behavior of the entire system." In other words, we can use ABMs where the feedback loop is not mediated by a human. And (IMHO) this is a big and unsupported claim. So to rephrase my question, are there any real-world examples of using an ABM in a *automatic* closed-loop control system? My facetious comments about using NetLogo to run my car's control systems got in the way of a real question. In automatic closed-loop control, I want to be able to write a differential equation that describes the system (feedback loop included) and then solve it. I want to determine whether the controller diverges or convereges, whether solutions exist, whether they are oscillatory, what the controller's safe (non-divergent) range of operation is and so on. Now if I'm using equation-based models, I've a fair chance of doing that. But if I'm using agent-based models which might (or might not) show sensitivity to intial conditions, which might (or might not) be stochastic and give multi-valued solutions, what do I do? As Owen once succinctly put it, how do I differentiate an ABM? And this is the reason I think Parunak's claim is too strong: if you try to design an automatic closed-loop control system with an ABM at its heart, you don't have access to all the tools and methodologies that enable you to assess the controller's stability and robustness. And if the designer can't assess a controller's stability and robustness s/he is unlikely to implement it in a real-world application. Robert > -----Original Message----- > From: Raymond Parks [mailto:[hidden email]] > Sent: Friday, March 11, 2005 3:22 PM > To: The Friday Morning Applied Complexity Coffee Group > Subject: Re: [FRIAM] Mathematics VS? Agent Based Modeling > > Robert Holmes wrote: > > > The distinction between open and close loop systems reminds > me of the > > distinction between asking forgiveness and asking permission. An > > open-loop system produces some recommended set of parameter > settings > > that a third party (usually human) can choose to implement > or not. A > > closed-loop system calculates the parameter settings then > goes ahead and applies them anyway. > > When I use an ABM to predict the bottlenecks in a supply > chain and I > > then present the results to the client, that's an open-loop system. > > When the EBM in my car's engine management system detects that I've > > done something dumb and turns on the ABS, that's a > closed-loop system. > > I don't know enough about the example I gave (having only > read the sales literature) to say whether it is open or > closed loop. Formally, of course, open-loop means that the > output of the controller does not affect the input while > closed-loop means that the output of the controller affects > the input. Whether a human acts as the controller is not a > way to distinguish between open and closed loop control. > > When the burger-flipper behind the counter of a fast-food > joint fills your drink, putting a cup under the automatic > faucet and pressing the button for the right size - that is > open loop control. The output (soda into the drink) does not > affect the input (button pressed). Conversely, when you walk > up to the drink fountain and refill your drink, that is > closed loop control with a human controller. The output (how > much soda is in the glass) affects the input (whether you > hold the valve open). > > Both of your examples above are closed-loop control > systems, whether or not your client changes their supply chain. > > > (Simulators fall in an interesting grey area: is a simulator an > > example of control system or an example of a simulation of > a control > > system? These are different, especially when things go pear-shaped.) > > If one takes the long view, simulators that are used in > support of decision-making are closed-loop control systems. > The closure is not hard-wired, but it exists. > > > So my contention is that while ABMs may be great for advisory, > > open-loop systems they just aren't robust enough to form > the core of a > > closed-loop system. How would you feel if the automatic control > > systems in your car (plane, nuclear reactor etc.) where all > written in > > NetLogo? ;) > > Irrelevant. How would you feel if your car/plane/nuclear > reactor control system was written in Visual Basic? Both VB > and NetLogo are not intended for real-time systems. For a > control system, one would use ABM written to satisfy the > timing requirements of the system. An ABM can be written in > C or assembly language, if necessary to satisfy the requirements. > > Many years ago and several previous lives, I worked on a > satellite control system. The subsystem that controlled the > ground antenna tracking the satellite had three modes of > operation - signal maximizing, predicted track, and joystick. > Of these, the first and last were closed loop control, while > the predicted track could be considered an open loop ABM (if > you tilt your head and squint your eyes just right) control > system. All of these were written in assembly language. > > Back in the early 90s, I used an expert system to track > vehicles from dumb sensor data. The prototype expert system > was written in Lisp (or maybe Prolog, I can't remember for > sure). The operational system used and expert system written > in C (right here in ABQ). The reason for the latter was > simple - real-time performance. > > -- > Ray Parks [hidden email] > IDART Project Lead Voice:505-844-4024 > IORTA Department Fax:505-844-9641 > http://www.sandia.gov/idart Pager:800-690-5288 > > > ============================================================ > FRIAM Applied Complexity Group listserv > Meets Fridays 9AM @ Jane's Cafe > Lecture schedule, archives, unsubscribe, etc.: > http://www.friam.org > > > |
Free forum by Nabble | Edit this page |