Press "Enter" to skip to content

Engineering Cooperation in Autonomous Networks | Bhaskar Krishnamachari | TEDxUSC


good morning

good morning so I’m excited to share with you

so I’m excited to share with you

so I’m excited to share with you something that I’ve been working on and

something that I’ve been working on and

something that I’ve been working on and thinking about for many many years so

thinking about for many many years so

thinking about for many many years so what do you think about morality and

what do you think about morality and

what do you think about morality and ethics and justice and fairness and all

ethics and justice and fairness and all

ethics and justice and fairness and all of these concepts you often think about

of these concepts you often think about

of these concepts you often think about human societies you think about how we

human societies you think about how we

human societies you think about how we give up our own self-interest in the

give up our own self-interest in the

give up our own self-interest in the interest of the greater good right of

interest of the greater good right of

interest of the greater good right of the society and it’s not unique to

the society and it’s not unique to

the society and it’s not unique to humans some of you may have seen a TED

humans some of you may have seen a TED

humans some of you may have seen a TED talk by a speaker who points out a

talk by a speaker who points out a

talk by a speaker who points out a number of examples of morality and

number of examples of morality and

number of examples of morality and fairness in primates chimpanzees and

fairness in primates chimpanzees and

fairness in primates chimpanzees and monkeys and in fact through the entire

monkeys and in fact through the entire

monkeys and in fact through the entire animal kingdom in many many classes of

animal kingdom in many many classes of

animal kingdom in many many classes of animals you see examples of this

animals you see examples of this

animals you see examples of this cooperative behavior emerge and in fact

cooperative behavior emerge and in fact

cooperative behavior emerge and in fact to the smallest creatures there are

to the smallest creatures there are

to the smallest creatures there are species of garden ants that will lick

species of garden ants that will lick

species of garden ants that will lick pathogens of the infected backs of their

pathogens of the infected backs of their

pathogens of the infected backs of their comrades so my research has led me to

comrades so my research has led me to

comrades so my research has led me to kind of expand this notion of

kind of expand this notion of

kind of expand this notion of cooperation to look at not just living

cooperation to look at not just living

cooperation to look at not just living things but also engineered systems so

things but also engineered systems so

things but also engineered systems so let’s begin with a bit of a definition I

let’s begin with a bit of a definition I

let’s begin with a bit of a definition I think of autonomous agents that will

think of autonomous agents that will

think of autonomous agents that will make their own decisions and they will

make their own decisions and they will

make their own decisions and they will look at what’s in the world around them

look at what’s in the world around them

look at what’s in the world around them and decide in their own best interest

and decide in their own best interest

and decide in their own best interest what the decisions should be at each

what the decisions should be at each

what the decisions should be at each moment in time and in my line of work

moment in time and in my line of work

moment in time and in my line of work these agents are not living creatures

these agents are not living creatures

these agents are not living creatures but they’re engineered systems and in

but they’re engineered systems and in

but they’re engineered systems and in particular wireless devices and systems

particular wireless devices and systems

particular wireless devices and systems things like wireless sensors are mobile

things like wireless sensors are mobile

things like wireless sensors are mobile devices ground robots aerial robots

devices ground robots aerial robots

devices ground robots aerial robots routers and autonomous vehicles with

routers and autonomous vehicles with

routers and autonomous vehicles with radios in them that can talk to other

radios in them that can talk to other

radios in them that can talk to other cars so in my research I develop and

cars so in my research I develop and

cars so in my research I develop and design algorithms and an implement

design algorithms and an implement

design algorithms and an implement software that would enable these devices

software that would enable these devices

software that would enable these devices and systems to behave autonomously in

and systems to behave autonomously in

and systems to behave autonomously in their own interest and then we use

their own interest and then we use

their own interest and then we use mathematics and empirical studies to

mathematics and empirical studies to

mathematics and empirical studies to evaluate the behavior of these

evaluate the behavior of these

evaluate the behavior of these autonomous agents that we’ve engineered

autonomous agents that we’ve engineered

autonomous agents that we’ve engineered so

so

so the challenge is that the very thing

the challenge is that the very thing

the challenge is that the very thing that makes autonomous agents interesting

that makes autonomous agents interesting

that makes autonomous agents interesting and useful which is their ability to

and useful which is their ability to

and useful which is their ability to make their own decisions in their own

make their own decisions in their own

make their own decisions in their own self-interest also impedes their ability

self-interest also impedes their ability

self-interest also impedes their ability to interact with others and so when we

to interact with others and so when we

to interact with others and so when we think about societies of autonomous

think about societies of autonomous

think about societies of autonomous agents which are collections of these

agents which are collections of these

agents which are collections of these autonomous ages that have to interact

autonomous ages that have to interact

autonomous ages that have to interact with each other and they’re sharing some

with each other and they’re sharing some

with each other and they’re sharing some common resources maybe it’s time in

common resources maybe it’s time in

common resources maybe it’s time in space or for the wireless devices I work

space or for the wireless devices I work

space or for the wireless devices I work with it could be wireless bandwidth it

with it could be wireless bandwidth it

with it could be wireless bandwidth it could be data it could be energy they

could be data it could be energy they

could be data it could be energy they really have to figure out how to do that

really have to figure out how to do that

really have to figure out how to do that how do they interact as an autonomous

how do they interact as an autonomous

how do they interact as an autonomous network so Garrett Hardin actually wrote

network so Garrett Hardin actually wrote

network so Garrett Hardin actually wrote about what happens when groups of

about what happens when groups of

about what happens when groups of autonomous agents or individuals in

autonomous agents or individuals in

autonomous agents or individuals in human societies interact with each other

human societies interact with each other

human societies interact with each other he referred to this as the tragedy of

he referred to this as the tragedy of

he referred to this as the tragedy of the Commons he said ruin is the

the Commons he said ruin is the

the Commons he said ruin is the destination toward which all men rush

destination toward which all men rush

destination toward which all men rush when they each pursue their best

when they each pursue their best

when they each pursue their best interest in a society that believes in

interest in a society that believes in

interest in a society that believes in such sort of freedom of following your

such sort of freedom of following your

such sort of freedom of following your self-interest so my central thesis is

self-interest so my central thesis is

self-interest so my central thesis is this if you think about all of these

this if you think about all of these

this if you think about all of these different types of ethical and moral

different types of ethical and moral

different types of ethical and moral notions and concepts we have evolved and

notions and concepts we have evolved and

notions and concepts we have evolved and see in our societies that are meant to

see in our societies that are meant to

see in our societies that are meant to help us identify when humans and

help us identify when humans and

help us identify when humans and individuals are behaving or misbehaving

individuals are behaving or misbehaving

individuals are behaving or misbehaving and how society as a whole should

and how society as a whole should

and how society as a whole should penalize misbehavior and incentivize

penalize misbehavior and incentivize

penalize misbehavior and incentivize good behavior that all of these moral

good behavior that all of these moral

good behavior that all of these moral and ethical notions in fact can be

and ethical notions in fact can be

and ethical notions in fact can be extended to engineered systems that we

extended to engineered systems that we

extended to engineered systems that we can get them to behave not just in their

can get them to behave not just in their

can get them to behave not just in their self-interest but cooperatively let me

self-interest but cooperatively let me

self-interest but cooperatively let me give you some examples from my research

give you some examples from my research

give you some examples from my research so consider a collection of wireless

so consider a collection of wireless

so consider a collection of wireless devices that are communicating through a

devices that are communicating through a

devices that are communicating through a wireless access point or a router and we

wireless access point or a router and we

wireless access point or a router and we all have these in our homes now and

all have these in our homes now and

all have these in our homes now and imagine that we have a software running

imagine that we have a software running

imagine that we have a software running on our wireless devices or mobile

on our wireless devices or mobile

on our wireless devices or mobile devices that

devices that

devices that autonomously in the interest of the user

autonomously in the interest of the user

autonomously in the interest of the user that is supporting is trying to maximize

that is supporting is trying to maximize

that is supporting is trying to maximize the data rate and minimize the data

the data rate and minimize the data

the data rate and minimize the data delay that it experiences people call it

delay that it experiences people call it

delay that it experiences people call it lags sometimes and if we had similar

lags sometimes and if we had similar

lags sometimes and if we had similar autonomous software and all of our

autonomous software and all of our

autonomous software and all of our devices each of them would do the same

so what’s the problem

so what’s the problem well it turns out that they can each

well it turns out that they can each

well it turns out that they can each enhance their own data rate by just

enhance their own data rate by just

enhance their own data rate by just sending more but the delay that the

sending more but the delay that the

sending more but the delay that the experience depends on the behavior of

experience depends on the behavior of

experience depends on the behavior of the other autonomous agents in the

the other autonomous agents in the

the other autonomous agents in the network it turns out that the more data

network it turns out that the more data

network it turns out that the more data you send in the slower the network

you send in the slower the network

you send in the slower the network becomes for every one where we’ve all

becomes for every one where we’ve all

becomes for every one where we’ve all experienced this in the context of

experienced this in the context of

experienced this in the context of traffic for example we have a lot of

traffic for example we have a lot of

traffic for example we have a lot of cars in the highway you drive slower and

cars in the highway you drive slower and

cars in the highway you drive slower and so when we mathematically analyze this

so when we mathematically analyze this

so when we mathematically analyze this problem we observe that in fact you do

problem we observe that in fact you do

problem we observe that in fact you do end up with this tragedy of the Commons

end up with this tragedy of the Commons

end up with this tragedy of the Commons everyone behaves selfishly and

everyone behaves selfishly and

everyone behaves selfishly and everyone’s utility suffers so I studied

everyone’s utility suffers so I studied

everyone’s utility suffers so I studied this problem with two of my former PhD

this problem with two of my former PhD

this problem with two of my former PhD students at the USC Viterbi School of

students at the USC Viterbi School of

students at the USC Viterbi School of Engineering and we formulated this

Engineering and we formulated this

Engineering and we formulated this problem mathematically we analyzed it

problem mathematically we analyzed it

problem mathematically we analyzed it and really racked our brains for four

and really racked our brains for four

and really racked our brains for four months to try and figure out how do you

months to try and figure out how do you

months to try and figure out how do you get over this well it turns out what you

get over this well it turns out what you

get over this well it turns out what you need to do is to make the router also an

need to do is to make the router also an

need to do is to make the router also an autonomous agent and essentially behave

autonomous agent and essentially behave

autonomous agent and essentially behave like an evil mob boss sorry I mean a

like an evil mob boss sorry I mean a

like an evil mob boss sorry I mean a government official and what it has to

government official and what it has to

government official and what it has to do is to basically threaten them right

do is to basically threaten them right

do is to basically threaten them right and I’m an engineering professor I’ll

and I’m an engineering professor I’ll

and I’m an engineering professor I’ll make a slight digression the way

make a slight digression the way

make a slight digression the way threatens them is it gives them a

threatens them is it gives them a

threatens them is it gives them a function and it’s an f of X where X is

function and it’s an f of X where X is

function and it’s an f of X where X is the amount of data that they provide and

the amount of data that they provide and

the amount of data that they provide and the f of X is the amount of data it’s

the f of X is the amount of data it’s

the f of X is the amount of data it’s going to lose if they provide too much

going to lose if they provide too much

going to lose if they provide too much so well what did these autonomous agents

so well what did these autonomous agents

so well what did these autonomous agents start to do well they panic just a

start to do well they panic just a

start to do well they panic just a little bit like oh wait a second if I

little bit like oh wait a second if I

little bit like oh wait a second if I send too much I’m going to lose data and

send too much I’m going to lose data and

send too much I’m going to lose data and now when they compute the best solution

now when they compute the best solution

now when they compute the best solution for themselves in their own best

for themselves in their own best

for themselves in their own best interest they take into account this

interest they take into account this

interest they take into account this threat from the router and they compute

threat from the router and they compute

threat from the router and they compute a new solution each of them does this

a new solution each of them does this

a new solution each of them does this and amazingly it turns out that if you

and amazingly it turns out that if you

and amazingly it turns out that if you design that function that I described

design that function that I described

design that function that I described carefully the result is fantastic

carefully the result is fantastic

carefully the result is fantastic everyone’s just eager to send the right

everyone’s just eager to send the right

everyone’s just eager to send the right amount of data and everyone’s happy they

amount of data and everyone’s happy they

amount of data and everyone’s happy they get just as much data as they want

get just as much data as they want

get just as much data as they want through the network they don’t suffer

through the network they don’t suffer

through the network they don’t suffer lag and all of this thanks to just a

lag and all of this thanks to just a

lag and all of this thanks to just a little thread let’s look at a different

little thread let’s look at a different

little thread let’s look at a different example this is a network of wireless

example this is a network of wireless

example this is a network of wireless sensors that’s deployed in the rth

sensors that’s deployed in the rth

sensors that’s deployed in the rth building in the southwest corner of our

building in the southwest corner of our

building in the southwest corner of our campus it’s a network of wireless

campus it’s a network of wireless

campus it’s a network of wireless sensors and actuators that each have a

sensors and actuators that each have a

sensors and actuators that each have a processor and a radio that allows them

processor and a radio that allows them

processor and a radio that allows them to communicate with other devices nearby

to communicate with other devices nearby

to communicate with other devices nearby and it’s really a testbed that allows us

and it’s really a testbed that allows us

and it’s really a testbed that allows us to test out different applications and

to test out different applications and

to test out different applications and ideas that we have algorithmically so we

ideas that we have algorithmically so we

ideas that we have algorithmically so we got to wondering how do we get each of

got to wondering how do we get each of

got to wondering how do we get each of the nodes in this network to behave

the nodes in this network to behave

the nodes in this network to behave autonomously in a way that they would

autonomously in a way that they would

autonomously in a way that they would get benefit from their neighbors and

get benefit from their neighbors and

get benefit from their neighbors and also basically collaborate so that the

also basically collaborate so that the

also basically collaborate so that the overall network performance depending on

overall network performance depending on

overall network performance depending on the application is as good as possible

the application is as good as possible

the application is as good as possible now the actual details of what that

now the actual details of what that

now the actual details of what that means depends a little bit on the

means depends a little bit on the

means depends a little bit on the application but we could formulate a

application but we could formulate a

application but we could formulate a canonical problem of cooperation in an

canonical problem of cooperation in an

canonical problem of cooperation in an autonomous Network so we have a

autonomous Network so we have a

autonomous Network so we have a collection of these autonomous agents

collection of these autonomous agents

collection of these autonomous agents they talk to each other on what we call

they talk to each other on what we call

they talk to each other on what we call a network graph so you have each agent

a network graph so you have each agent

a network graph so you have each agent can talk to a set of other neighboring

can talk to a set of other neighboring

can talk to a set of other neighboring agents and the way we formulated this

agents and the way we formulated this

agents and the way we formulated this problem everyone would benefit from

problem everyone would benefit from

problem everyone would benefit from their neighbors contributions in terms

their neighbors contributions in terms

their neighbors contributions in terms of work or data if the neighbors for

of work or data if the neighbors for

of work or data if the neighbors for example agree to carry data for them

example agree to carry data for them

example agree to carry data for them maybe gave them some information that

maybe gave them some information that

maybe gave them some information that they needed but in fact as in many real

they needed but in fact as in many real

they needed but in fact as in many real networks there’s sort of a cost to

networks there’s sort of a cost to

networks there’s sort of a cost to contributing yourself it doesn’t

contributing yourself it doesn’t

contributing yourself it doesn’t actually benefit you because you might

actually benefit you because you might

actually benefit you because you might be using up time or energy or resources

be using up time or energy or resources

be using up time or energy or resources or in some cases even privacy if the

or in some cases even privacy if the

or in some cases even privacy if the information that you are asked to share

information that you are asked to share

information that you are asked to share somehow belongs to some personal

somehow belongs to some personal

somehow belongs to some personal information about a user that you

information about a user that you

information about a user that you represent so we formulated this problem

represent so we formulated this problem

represent so we formulated this problem and looked at what would happen somewhat

and looked at what would happen somewhat

and looked at what would happen somewhat to our

to our

to our disappointment if you actually formulate

disappointment if you actually formulate

disappointment if you actually formulate such a problem where everyone benefits

such a problem where everyone benefits

such a problem where everyone benefits from the neighbors but they don’t want

from the neighbors but they don’t want

from the neighbors but they don’t want to contribute the result is sort of this

to contribute the result is sort of this

to contribute the result is sort of this amazingly lazy Society of autonomous

amazingly lazy Society of autonomous

amazingly lazy Society of autonomous devices they’re all like well it’d be

devices they’re all like well it’d be

devices they’re all like well it’d be nice if someone helped me but they sort

nice if someone helped me but they sort

nice if someone helped me but they sort of sitting in their chairs they’re not

of sitting in their chairs they’re not

of sitting in their chairs they’re not willing to lift a finger so what do you

willing to lift a finger so what do you

willing to lift a finger so what do you do so we found that the solution you

do so we found that the solution you

do so we found that the solution you have to engineer to get them to be more

have to engineer to get them to be more

have to engineer to get them to be more active more proactive more helpful was

active more proactive more helpful was

active more proactive more helpful was actually a moral principle a reciprocity

actually a moral principle a reciprocity

actually a moral principle a reciprocity rule something that said listen if you

rule something that said listen if you

rule something that said listen if you contribute something to your neighbors

contribute something to your neighbors

contribute something to your neighbors you can get something back from them

you can get something back from them

you can get something back from them right this is very related to the golden

right this is very related to the golden

right this is very related to the golden rule do unto others as you would have

rule do unto others as you would have

rule do unto others as you would have them do unto you just implemented in

them do unto you just implemented in

them do unto you just implemented in software so what happens now an

software so what happens now an

software so what happens now an amazingly unique set of results where

amazingly unique set of results where

amazingly unique set of results where all of these nodes suddenly just wake up

all of these nodes suddenly just wake up

all of these nodes suddenly just wake up and chatter excitedly with each other

and chatter excitedly with each other

and chatter excitedly with each other like what can I do for you buddy and

like what can I do for you buddy and

like what can I do for you buddy and like oh I’d love to help you tell me

like oh I’d love to help you tell me

like oh I’d love to help you tell me more and just this engineering of

more and just this engineering of

more and just this engineering of reciprocity into their interactions

reciprocity into their interactions

reciprocity into their interactions makes it a much more productive society

makes it a much more productive society

makes it a much more productive society and we can build networks now where

and we can build networks now where

and we can build networks now where nodes are behaving in their

nodes are behaving in their

nodes are behaving in their self-interest but because of this moral

self-interest but because of this moral

self-interest but because of this moral principle embedded in their software

principle embedded in their software

principle embedded in their software they will exchange information data and

they will exchange information data and

they will exchange information data and help each other out and behave in a way

help each other out and behave in a way

help each other out and behave in a way that we as network designers as

that we as network designers as

that we as network designers as engineers would like the network to

engineers would like the network to

engineers would like the network to behave to give you another example in

behave to give you another example in

behave to give you another example in recent years we’ve been looking at

recent years we’ve been looking at

recent years we’ve been looking at autonomous agents that would be pieces

autonomous agents that would be pieces

autonomous agents that would be pieces of software that drive our cars for us

of software that drive our cars for us

of software that drive our cars for us and this is going to happen in the near

and this is going to happen in the near

and this is going to happen in the near future we’ve all been following the news

future we’ve all been following the news

future we’ve all been following the news and not only will each car be able to

and not only will each car be able to

and not only will each car be able to drive itself autonomously it’s also

drive itself autonomously it’s also

drive itself autonomously it’s also going to be able to interact with other

going to be able to interact with other

going to be able to interact with other cars on the road and with other devices

cars on the road and with other devices

cars on the road and with other devices nearby in the infrastructure and so you

nearby in the infrastructure and so you

nearby in the infrastructure and so you can ask the same questions if they’re

can ask the same questions if they’re

can ask the same questions if they’re going to behave in their self-interest

going to behave in their self-interest

going to behave in their self-interest would there be

would there be

would there be for them to collaborate to cooperate in

for them to collaborate to cooperate in

for them to collaborate to cooperate in ways that benefit society as a whole and

ways that benefit society as a whole and

ways that benefit society as a whole and so to give you an example of such a

so to give you an example of such a

so to give you an example of such a problem we’ve looked at a smart city of

problem we’ve looked at a smart city of

problem we’ve looked at a smart city of the future which is full of these

the future which is full of these

the future which is full of these autonomous vehicles carrying people back

autonomous vehicles carrying people back

autonomous vehicles carrying people back and forth from their home to where up to

and forth from their home to where up to

and forth from their home to where up to places after work and so on and we ask

places after work and so on and we ask

places after work and so on and we ask the question well first of all what’s in

the question well first of all what’s in

the question well first of all what’s in their self-interest and in this case for

their self-interest and in this case for

their self-interest and in this case for each vehicle the self-interest would be

each vehicle the self-interest would be

each vehicle the self-interest would be to get from point A to point B as

to get from point A to point B as

to get from point A to point B as quickly and conveniently as possible but

quickly and conveniently as possible but

quickly and conveniently as possible but from the city’s perspective the best

from the city’s perspective the best

from the city’s perspective the best interest of the society as a whole might

interest of the society as a whole might

interest of the society as a whole might be better served by some other objective

be better served by some other objective

be better served by some other objective for instance you might want to reduce

for instance you might want to reduce

for instance you might want to reduce the environmental impact of these

the environmental impact of these

the environmental impact of these autonomous vehicles you might want to

autonomous vehicles you might want to

autonomous vehicles you might want to make sure that the traffic in

make sure that the traffic in

make sure that the traffic in residential parts of the city doesn’t

residential parts of the city doesn’t

residential parts of the city doesn’t get too crowded or polluted so that

get too crowded or polluted so that

get too crowded or polluted so that you’re not seeing a lot of impact on

you’re not seeing a lot of impact on

you’re not seeing a lot of impact on people or at schools and playgrounds and

people or at schools and playgrounds and

people or at schools and playgrounds and what we did essentially was to come up

what we did essentially was to come up

what we did essentially was to come up with an algorithm that sets the traffic

with an algorithm that sets the traffic

with an algorithm that sets the traffic speed limits on all of the road

speed limits on all of the road

speed limits on all of the road stretches in the city that the

stretches in the city that the

stretches in the city that the autonomous cars are asked to follow and

autonomous cars are asked to follow and

autonomous cars are asked to follow and our algorithm carefully configures these

our algorithm carefully configures these

our algorithm carefully configures these speed limits for each of the streets in

speed limits for each of the streets in

speed limits for each of the streets in such a way that if each of the

such a way that if each of the

such a way that if each of the autonomous vehicles were just pursuing

autonomous vehicles were just pursuing

autonomous vehicles were just pursuing their self-interest they’re not

their self-interest they’re not

their self-interest they’re not necessarily caring about the good of

necessarily caring about the good of

necessarily caring about the good of society they’re just focused on getting

society they’re just focused on getting

society they’re just focused on getting their passenger from A to B in the

their passenger from A to B in the

their passenger from A to B in the shortest time possible but by

shortest time possible but by

shortest time possible but by engineering these speed limits

engineering these speed limits

engineering these speed limits throughout the city we can get them to

throughout the city we can get them to

throughout the city we can get them to drive in ways that essentially naturally

drive in ways that essentially naturally

drive in ways that essentially naturally keep them away from populated areas from

keep them away from populated areas from

keep them away from populated areas from sensitive areas so to conclude I think

sensitive areas so to conclude I think

sensitive areas so to conclude I think we’re still a long ways off but we’re

we’re still a long ways off but we’re

we’re still a long ways off but we’re really beginning to understand how to

really beginning to understand how to

really beginning to understand how to engineer cooperation morality ethics

engineer cooperation morality ethics

engineer cooperation morality ethics fairness justice all of these things we

fairness justice all of these things we

fairness justice all of these things we take for granted in our societies but to

take for granted in our societies but to

take for granted in our societies but to that world of autonomous agents that are

that world of autonomous agents that are

that world of autonomous agents that are going to be working with us and helping

going to be working with us and helping

going to be working with us and helping us thank you

us thank you

us thank you you

”

Be First to Comment

Leave a Reply

Your email address will not be published. Required fields are marked *