EvoSec 2025W Lecture 4: Difference between revisions

From Soma-notes
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