cadip 2002 program
DESCRIPTION
CADIP 2002 Program. Jerry Stach, Ph.D. Eun Kyo Park, Ph.D. Agent Life Forms Laboratory School of Interdisciplinary Computing and Engineering University of Missouri – Kansas City. CADIP Project B iologic A gency for S earch of I ntractable S paces. Opening Soon at UMKC-ALFworld !. - PowerPoint PPT PresentationTRANSCRIPT
CADIP 2002 Program
Jerry Stach, Ph.D.
Eun Kyo Park, Ph.D.
Agent Life Forms LaboratorySchool of Interdisciplinary Computing and Engineering
University of Missouri – Kansas City
CADIP ProjectBiologic Agency for Search of Intractable Spaces
Opening Soon at UMKC-
ALFworld!
Research Vision
To develop a mobile, rational agent, capable of accepting a payload and by process or data driven signature, migrating to locations in a network to optimally complete its computational task.
Applicable Domains
Software robotsWeb ComputingGrid ComputingDocument ProcessingIntelligent SearchCollaborative Computing
Limitation
CPU becomes band limited as problem scales– mobility decision/agent planning and
reasoning time for site/service selection
– Service Place executions implying control of arrival rates
– communication between mobile agents and to situated agents (e.g. Traders)
Limitation
Links become band limited as problem scales– message exchanges between agents,
both situated and mobile– agent transportation (payload and
code)– Trader Updates
Approachprovide computational autonomy, strong mobility and self regulation to damp bandwidth– adopt a biological (A-Life) computing model
for the MAS – provide an artificial world infrastructure for
agent computing– seek performance and scaling via emergent
behaviors as opposed to policy and protocol– endow agents with social conscience (e.g.
congestion avoidance when possible), preferences and rationality in decision making
Research Problems
a) since there is no MAUF, perception is by characteristic function
b) fuzzy reasoning over Service Places
c) desirable population behaviors are emergent, not first order effects of policy
d) operating system and network support of strong mobility does not exist
e) existing agent architecture and design patterns are not robust enough to support architecture
Completed Work
Mobility Decision Simulations modeled optimal mobility decisions
based upon graph theoretic solution results provided experiential basis
for proceeding to perception simulator provides an observational
basis for prediction of agent colony behavior and performance
results do not scale
Completed Work
White Paper on Strong MobilityIn strong mobility, not only code and data state are moved, but also the execution state, in order to restart the execution exactly from the point where it was stopped before movement.
Strong Mobility is frequently used in load leveling applications
Strong Mobility
Strong mobility has the ability to store and retrieve computations as variables (continuations) and passes these to the other agents (remote continuations).
Strong mobility also usually communicates in an asynchronous fashion in which one agent sends messages to other agents but does not wait for answers.
Whenever one of the communication partners of an agent dies, the agent continues, even if it is waiting for some action of the dead partner.
Completed Work continued
Built ALFworld – a 40 node Beowulf
Plan for Today
Sketch of artificial world - situated and mobile agents
Take a look at a few perception functions – congestion, reliability, difference
Conclude with 2003 Activities
World Architecture
Docked AutoPilot
Service Planner
Trader
Topologist
Service Places
AutoPilot Network Components
Router
Trader Places
Docking Agent
Certificate Authority
Annihilator
World Places
Situated Agents
Docking Agent certifies arriving AutoPilots are legitimate in network and at site
Service Planner receives request from AutoPilot, requests service locations from Trader based upon AutoPilot passport and security clearance; returns service advertisements to AutoPilot.
Docked AutoPilot
Service Planner
Trader
Topologist
Router
Docking Agent
Certificate Authority
Annihilator
Service Planner also requests geodesics from Topologist and computes Cost of Service to advertise in next Trader update to indirectly manage agent arrival rates.
Annihilator kills off rogue processes and is last resort for population control
Topologist interfaces to network router and requests current shortest path lengths to Service Places being considered by AutoPilot
Docked AutoPilot
Service Planner
Trader
Topologist
Router
Docking Agent
Certificate Authority
Annihilator
Trader requests environmental and service statistics from Service Places and updates advertisements.
Trader certifies validity of Service Place requests for advertisement.
If Traders are multiple or hierarchical, Trader also implements the Trader to Trader security protocol.
Docked AutoPilot
Service Planner
Trader
Topologist
Router
Docking Agent
Certificate Authority
Annihilator
AutoPilots are Mobile, Autonomous AgentsAutoPilot picks up payload consisting of
signature, metadata and preferences from birth location.
Docking Agent obtains passport and security clearance from Certificate Authority.
Autopilot requests for each service in its signature, a set of advertisements from the Service Planner and may prune them. Autopilot returns a set of acceptable advertisements and attribute preference set to Service Planner.
Docked AutoPilot
Service Planner
Trader
Topologist
Service Place
Router
Trader Places
Docking Agent
Certificate Authority
Annihilator
Service Planner computes attribute values for each Service Place.
AutoPilot reasons next site based upon perception of attribute values returned by Service Planner.
After last service executed, AutoPilot returns payload and meta data to originating Docking Agent at birth location.
Annihilator terminates AutoPilot and reports returns
Passport to Certificate Authority.
Docked AutoPilot
Service Planner
Trader
Topologist
Router
Docking Agent
Certificate Authority
Annihilator
Perception by Characteristic Function
Congestion, Reliability, Difference
Agent Framework
Sensing
Perception
Reasoning
Behavior
Meta data
•To discriminate between service locations in a network, an agent must be able to sense its environment. •Since all nodes exhibit all attributes, agent preference must
govern perception. We perceive local conditions by characteristic functions applied to sensed values.•Reasoning is “fuzzy” being approximate and over uncertain and aged data.•Behavior is limited to non-deterministic choice of service and migration•Meta data provides the context for decision making
Autonomous, Rational Agent
Perception Function Goals
Functions should produce “reasonable” output
Perceptions should have good correspondence to the subjective notions they represent
Functions should be based in theory, i.e. a characteristic function with PDF and CDF over the universe values of the attribute
Perception occurs in subjective time
An Agent’s life is finite in the systemAn Agent carries a task signature
yielding an expectation of the duration of work
An Agent must “sense” its own mortality in subjective time by half life i.e. sense urgency
T
0
NN
-1 Urgency
where N0 and NT are initial and decayed attribute values respectively
As urgency increases, risk aversion decreases
constant. life half theisk and timeis t where
2ln
2
1 kt
kt /2 Amount Life Half
population initial theisN
andconstant decay theis where
N Life Half Population
0
0
t
t
eOR
measure of risk aversion
Role of Origin and Limit in Perception Functions
In subjective time, the origin corresponds to the agent’s threshold of sensitivity to the service attribute.
In subjective time, the limit corresponds to the agent’s tolerance, i.e. value of indifference for the attribute, beyond which all values are unacceptable.
These two values set the slope over which the perception function is differentiated in order to return a fuzzy membership value.
Perceiving Expected Waiting TimeThe congestion function is
F(x)=
Waiting Time
Utilization
Service Place Population First Order Approximation
let be arrivals per unit of time and be services per unit of time.
tn
ne
nt
tp !)(
n
i
ti
n iet
tp0 !
)()( :CDF
Service Place Effectiveness
q
q
L
L
L
'
;1
/1/
:Queuesempty -non of Size Expected
:Length Queue Place ServiceMean
:Place ServiceAt Agents OfNumber Expected
/ limit in the Place Service of use Average
1/ )1(0
;1 forn
nppp
Service Place Effectiveness continued
0for t )1(
1)(
)(
on.distributiy probabilit cumulative its and queuein time thebe Let
sizemax_queue_ :service refused beingAgent ofy Probabilit
.1)0(:Empty Place Service findingAgent ofy Probabilit
tet
qW
qW
(t)q
Wq
T
p
)/(11:i statecurrent in timeholding Expectediii
/q
The Case for Congestion Set MembershipSimply computing a wait time is not
sufficient because it is without subjective value to the agent– there may be no wait time below the desired
delay contribution– the wait time and utilization alone are
insufficient to determine whether a node is in an “unsafe” state
– any node not idle is “congested”“Unsafe state ” is a condition subject to
the Agent’s tolerence, i.e., corresponding to the attribute limit for the sensed value
Differentiating Rate of Change demands an origin and limit
The rate of change for the exponential function is constant over any interval.
The point at which the derivative of the function matches the average rate of change is the congestion point for the Service Place Utilization.
Average rate of change is of the form f’(x) = f(b)-f(a)/b-a where a,b are the origin and limit respectively.
Unsafe States and Subjective Time
If an Agent has a priority task or is aged relative to its remaining work, its tolerance for delay () decreases
This tolerance though subjective, is always bounded 0 origin perceived value limit 1.
To find this point in the congestion function requires we compute rho () [on the x axis] and waiting time W() [on the y axis].
Finding the Subjective Unsafe States
)(.).())((.).((
)('tolerancebl
toleranceWblWW
unsafe
))(.))(.((
)().(11
tolerancebl
toleranceblunsafe
These equations give the Waiting Time and Service PlaceUtilization values above which Service Places are “unsafe” with respect to the agent’s perception of time.
Service Place Membership In The Fuzzy Set Congestion (Lq) Suppose at inquiry the Trader reported [SPname, Lq,μ,λ].
Congestionset fuzzy the in membership sSP' the and
Time Waitingthisfor nutilizatio the is 1
q
q
L W
Wq
performed wasupdateTrader moment the at the
wait timeestimated theis qL
qW
Validation of Perception Function
Extreme Valued Test CaseList of Service Places at time of Trader
Update werearbitrarily configured with some nodes
congestedSpID qLength (ServiceRate) (ArrivalRate) 1 0 5.1 7.52 1 5.1 7.53 2 5.1 7.54 3 5.1 7.55 4 5.1 7.56 95 5.1 7.57 97 5.1 7.58 99 5.1 7.59 101 5.1 7.510 103 5.1 7.5
Output of Perception FunctionList of AgentsAgentID Tolerance SP1 SP2 SP3 SP4 SP5 SP6 SP7 SP8 SP9 SP10
1 0.500000 --- *** *** *** *** *** *** *** *** ***
2 0.800000 --- *** *** *** *** *** *** *** *** ***
3 0.900000 --- --- *** *** *** *** *** *** *** ***
4 0.940000 --- --- --- *** *** *** *** *** *** ***
5 0.970000 --- --- --- --- *** *** *** *** *** ***
6 0.980000 --- --- --- --- --- *** *** *** *** ***
7 0.990000 --- --- --- --- --- *** *** *** *** ***
8 0.999000 --- --- --- --- --- *** *** *** *** ***
9 0.999900 --- --- --- --- --- *** *** *** *** ***
10 0.999990 --- --- --- --- --- --- --- --- --- ---
Legend
*** indicates Service Places perceived as congested--- indicates Service Places not perceived as congested
Service Places Configured as Congested
Interpretation
Service Places 6 to 10 should be considered congested by all agents since they were configured in that condition.
Agents 1 - 9 did perceive Service Places 6 to 10 as congested.
Agents 1 to 5 were to conservative according to their tolerance for delay
Agent 10 was greedy according to its lack of constraint on delay.
Perceiving Reliabilityagain note need for origin and limit values
The Bath Tub Function
General definition of the bathtub-functionf(x) = β*x(β-1)*e(α1*x) [1]This is a special combination of the Weibull rate and the log
linear rate.
β is a shaping parameter, which is responsible for the curve and α1 is a nuisance parameter for fine-tuning the curve (it “controls” the Wear-Out-Phase).
Derivative of the Bathtub-function f΄(x) = β2*x β–2 *eα1*x- β*xb-2*eα1*x + β *xβ-1* α1*eα1*x
[2]
Mortality Sensing Requirements
1. The agent must know its chronological age since birth
2. The agent must know its current half life and (origin,limit) in order to determine its “indifference time” from the mortality function i.e. at the limit all solutions are unacceptable. Origin may be set to zero.
3. The agent must know αi βi from the Trader for the SP or service being evaluated. These are provided from the Sponsor’s empirical experience.
Perceiving Mortality
mortality agey = βix(βi-1)*e(αix)
membership in the fuzzy failure set is determined
1 else 1y ,y
entity of age actual
Mortality should be contrasted to the stability of the entity’s mortality age
f’(x) is a kind of stability factor. It indicates the amount of change of the expected mortality, which might be important if the agent is interested in a long-term cooperation or is risk averse. A positive value will indicate an increasing risk, a negative value a decreasing risk.
Stability of the mortality age relative to the entity is given
f’(x) = βi2x β i–2 *eαix- βi*xβi-2*eαix +
βxβi-1 αieαix
Sample Output
Age : 1.0
AgentMortalityValue: 0.60
EntityMortality : 0.51
FailureSetMembership : 0.86
Stability : -0.18
Age : 1.5
AgentMortalityValue: 0.60
EntityMortality : 0.46
FailureSetMembership : 0.76
Stability : -0.07
Perceiving Difference
The natural log function can be useful in assessing “real differences” between attributes or entities
f(x) = log x [1]f΄(x) = 1/x [2]x = e y (inverse)
[3]
We still need origin and limit
Let origin = 0, limit be the point of indifference
Let x be the sensed valueLet y be the preference valueTo determine the “perceived
difference” between sensed value and preferred value x = ey , i.e. transform y to x not x to y
Compute membership value and stability of perceived valuefuzzy membership in the
“difference” set is x/x.stability of the perception is 1/x
XValue = servicePlace->xValue;YValue = logf(XValue);AgentYValue = this->maxYValue;AgentXValue = exp(AgentYValue);
StrengthConsiderability = XValue/ AgentXValue;if (StrengthConsiderability>1)StrengthConsiderability=1;
Sample Perceptions ServicePlace[4]XValue: 1.50YValue: 0.41AgentYValue: 1.00AgentXValue: 2.72StrengthConsiderability:0.55Stability: 0.67
ServicePlace[5]
XValue: 2.00YValue: 0.69AgentYValue: 1.00AgentXValue: 2.72StrengthConsiderability:0.74Stability: 0.50
ServicePlace[6]
XValue: 3.00YValue: 1.10AgentYValue: 1.00AgentXValue: 2.72StrengthConsiderability:1.00Stability: 0.33
2003 ActivitiesSelect method of fuzzy reasoning
for mobility decision and validateDetermine COS function using first
order queuing approximationsImplement essential ALFworld
agents and Trader Update policyBegin work on design patternBegin work on genetic
representation of mobile agent