EvoSec 2025W Lecture 4: Difference between revisions
Created page with "==Discussion Questions== * What did you not understand in the readings? Specifically, what biological terms/concepts would you like to learn more about? * How applicable are these readings to computational systems, in your opinion? ==Notes==" |
|||
| Line 5: | Line 5: | ||
==Notes== | ==Notes== | ||
(Sorry, no lecture recording for today.) | |||
<pre> | |||
Lecture 4 | |||
--------- | |||
responses overall good | |||
make sure to | |||
- make it clear you've done the readings | |||
(without summarizing) | |||
- point out what you didn't understand | |||
- say what you got out of them/what you didn't get out of them | |||
G1 | |||
-- | |||
- contrast between papers | |||
- Bateman, cooperation coming out of evolution | |||
- Michod, no thought but still cooperated | |||
- chicken & egg situation - evolution or trust? | |||
- wasp stripes copied by harmless insects | |||
- classifications aren't reliable when agents adapt | |||
- cheating - can it happen in computer systems? without intervention of people? | |||
G2 | |||
-- | |||
- Didn't quite understand free rider problem/cheating | |||
- how can you stop it? | |||
- torrenting as evolutionary | |||
- cooperating individuals sharing fragments | |||
- how fitness functions could manage cheating & encourage synergy | |||
G3 | |||
-- | |||
- Michod: how groups manage conflict/group fitness | |||
- groups managing conflict through cooperation | |||
- adaptation to help address conflicts | |||
- may favor group over individual | |||
- groups allow work to be split up, can add robustness | |||
- Bateson: inter vs intra-species cooperation | |||
- may not always be obvious, | |||
e.g. plants cooperating with animals, oxygen & carbon dioxide | |||
G4 | |||
-- | |||
- Michod had some confusing biology terms | |||
- altruism doesn't make sense in a computational context | |||
- don't want a system to have to be hacked before we can defend against it | |||
- hacks affect groups not individuals | |||
- in a group setting, can take advantage of individual strengths, account for weaknesses | |||
- but with computers, such "helping" each other has to be set up in advance | |||
externally | |||
- with computers, nobody wants to be the first victim | |||
G5 | |||
-- | |||
- both papers are about the challenge of cheaters in the context of cooperation | |||
- cooperation works because it is the optimal strategy, that's why it is sustained | |||
- that's why we want cooperation in computer systems | |||
- so build the system so cooperation is the only way it works, | |||
no way to win by cheating | |||
- e.g., blockchain | |||
- enforcement (e.g., patrolling cells) | |||
- with computers, who is doing the bad things? identification is much harder | |||
- economic perspective: cooperation gives a better payoff | |||
- cooperation good way to maintain efficiency in distributed computing systems | |||
- just show that it would be worse if you betray, no need to enforce, | |||
agents will behave better with right incentives | |||
Note these papers are about observations & theories | |||
- note the theories do not necessarily follow from the observations | |||
When you see a complex system, we can ask | |||
- how does it work? | |||
- how was it made? <--- evolutionary theories tend to focus on this | |||
from Michod | |||
- fragmentation is just computers/programs doing their own thing | |||
- aggregation is like software dev - combining a bunch of parts to make something that can be distributed | |||
- zygote/spore is like booting/orchestration - making a complex system | |||
from a much simpler one | |||
- big difference is trust, esp when considering microbiomes | |||
- we don't understand how living systems bootstrap themselves | |||
- how does the microbiome get going? | |||
- with computer systems, we often don't understand the booting process either! | |||
it isn't that computers are exactly like living systems | |||
- but in both we have to solve similar problems | |||
coordination & cooperation | |||
- trust in distributed computation | |||
- google systems vs oceanstore, untrusted systems | |||
- symbiosis, Margulis | |||
</pre> | |||
Latest revision as of 21:06, 16 January 2025
Discussion Questions
- What did you not understand in the readings? Specifically, what biological terms/concepts would you like to learn more about?
- How applicable are these readings to computational systems, in your opinion?
Notes
(Sorry, no lecture recording for today.)
Lecture 4
---------
responses overall good
make sure to
- make it clear you've done the readings
(without summarizing)
- point out what you didn't understand
- say what you got out of them/what you didn't get out of them
G1
--
- contrast between papers
- Bateman, cooperation coming out of evolution
- Michod, no thought but still cooperated
- chicken & egg situation - evolution or trust?
- wasp stripes copied by harmless insects
- classifications aren't reliable when agents adapt
- cheating - can it happen in computer systems? without intervention of people?
G2
--
- Didn't quite understand free rider problem/cheating
- how can you stop it?
- torrenting as evolutionary
- cooperating individuals sharing fragments
- how fitness functions could manage cheating & encourage synergy
G3
--
- Michod: how groups manage conflict/group fitness
- groups managing conflict through cooperation
- adaptation to help address conflicts
- may favor group over individual
- groups allow work to be split up, can add robustness
- Bateson: inter vs intra-species cooperation
- may not always be obvious,
e.g. plants cooperating with animals, oxygen & carbon dioxide
G4
--
- Michod had some confusing biology terms
- altruism doesn't make sense in a computational context
- don't want a system to have to be hacked before we can defend against it
- hacks affect groups not individuals
- in a group setting, can take advantage of individual strengths, account for weaknesses
- but with computers, such "helping" each other has to be set up in advance
externally
- with computers, nobody wants to be the first victim
G5
--
- both papers are about the challenge of cheaters in the context of cooperation
- cooperation works because it is the optimal strategy, that's why it is sustained
- that's why we want cooperation in computer systems
- so build the system so cooperation is the only way it works,
no way to win by cheating
- e.g., blockchain
- enforcement (e.g., patrolling cells)
- with computers, who is doing the bad things? identification is much harder
- economic perspective: cooperation gives a better payoff
- cooperation good way to maintain efficiency in distributed computing systems
- just show that it would be worse if you betray, no need to enforce,
agents will behave better with right incentives
Note these papers are about observations & theories
- note the theories do not necessarily follow from the observations
When you see a complex system, we can ask
- how does it work?
- how was it made? <--- evolutionary theories tend to focus on this
from Michod
- fragmentation is just computers/programs doing their own thing
- aggregation is like software dev - combining a bunch of parts to make something that can be distributed
- zygote/spore is like booting/orchestration - making a complex system
from a much simpler one
- big difference is trust, esp when considering microbiomes
- we don't understand how living systems bootstrap themselves
- how does the microbiome get going?
- with computer systems, we often don't understand the booting process either!
it isn't that computers are exactly like living systems
- but in both we have to solve similar problems
coordination & cooperation
- trust in distributed computation
- google systems vs oceanstore, untrusted systems
- symbiosis, Margulis