Coder Social home page Coder Social logo

finalyearproject-manuscript's Introduction

Hi, I'm James Campbell

I'm interested in trustless, open-source, and decentralized technology. I'm an experienced Full-Stack Developer, Blockchain Engineer, and DevOps Engineer.

Outside of work I enjoy Scuba diving, Bouldering, and Modular Synthesisers.

James's GitHub stats

finalyearproject-manuscript's People

Contributors

drvinceknight avatar sluenenglish avatar theref avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

drvinceknight

finalyearproject-manuscript's Issues

Structure

This will probably change over time:

  1. C1: General introduction (what, why etc)
  2. C2: Literature review
    • General about PD
    • Fingerprinting
  3. C3: Reproduce literature (slight overlap with C2)
  4. C4: Evaluate literature
  5. C5: Other approaches
  6. C6: Evaluate
  7. C7: Conclusion, further work etc

Thoughts for further ideas / areas to look in to

Some thoughts from my ๐Ÿถ ๐Ÿšถ :

  • Fingerprinting a strategy is well named, we should read in and know about some of the actual fingerprinting technology (for humans). This would at worst be a nice thing to have in the introductory chapters and at best offer some valuable insight about alternatives.
  • Face recognition. What's the underlying thing that facebook, google etc do to recognise an individual in multiple photos (the latest google photos can apparently look back at baby photos of someone and know it's them).
  • Other things like signal processing etc...
  • I guess all approaches (including the one you're reproducing) will have some 'granularity'/'precision' parameter. Some experiments we can carry out will include building up test sets of strategies (some with duplicates for example) and seeing at what precision level a given approach is correct.
  • A 'worst'/'bad' approach for fingerprinting will be to just look at scores, cooperation count, win count (basic stuff that comes out of results.summarise()). It'll be interesting, linked to the point above to see at what point that naive approach fails.

- Quick To Do

  • Find references for table of past tournaments
  • Small explanatory paragraph before and after definitions and theorems
  • Draw spatial tournament with straight lines and dots
  • Mention the orientation of Ashlock plots, compare the two triangle diagrams to explain further
  • Write proof of: we can probe with any strategy (dual of any fsm)
  • Discuss why cooperator/defector are x/y oriented
  • Discuss how random and CDDC produce the same fingerprint when probed by TFT (show they are different with another probe)...what about CD
  • Explain the plots for TFT & Psycho
  • Compare the top 3 strategies, two are very similar and one is different
  • Show random for varying p (should go from cooperator to defector)
  • Make a gif of varying p (and also flip book????)
  • Least square errors plot of actual numbers
  • Redo all plots with new colorbar etc

Investigate underlying FSM for any strategy

  1. I think we could write out a formal proof about this. This might already exist, either for PD strategies or more widely a collection of stochastic type processes.
  2. Include some examples of the 'worst case' finite state machine as well as some condensed ones.
  3. Think about how exactly/what exactly this means for stochastic strategies.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.