Software code may include code to receive a first request associated with
a discrete problem that is broadcast over a network of cobots. The
request may be accepted based on the discrete problem to be solved. The
code may also include code to determine whether a utility function
associated with the plan to solve the discrete problem meets a threshold.
The plan may include a plurality of steps. A report including information
related to the chosen plan may be sent to the requesting cobot.
Information related to the plan may include information such as the
forecasted outcome of the plan. The cobot may then receive permission to
implement the chosen plan. The plan may be implemented before any
subplans are known or are determined to be possible. In the event that a
subplan is required to carry out the plan, then a second request may be
broadcast to a plurality of other cobots in the network. One or more of
the plurality of other cobots may receive this request and the process
may repeat at that cobot as described above. The cobots may be configured
in a network of cobots to solve complex problems.