Skip to content
UoL CS Notes

Home

This website houses notes from my studies at the University of Liverpool. If you see any errors or issues, please do open an issue on this site's GitHub.

Power Laws

COMP324 Lectures

Degree Distribution Let $f_d$ denote the fraction of vertices of degree $d$ in a given network (where the total number of vertices are $n\times f_d$). Degree Distribution The sequence of $(f_0, f_1, \ldots f_{n-1})$ of a given network. This is an array of values, not a scalar. Therefore, given a...

Read More

Paths and Small Worlds

COMP324 Lectures

Small Worlds It is often the case than you can get from one node to another in a small number of steps. We can use the diameter as an indicator of how many steps it will take to move information from one node to another. Average Distances The closeness centrality...

Read More

Components & Giants

COMP324 Lectures

Components in Undirected Networks Most networks are formed by a single giant (a component connecting most of the nodes) and a number of dwarves. The internet has a single giant encompassing the whole network. This is required for the internet to function as the pages should be interconnected. Generally you...

Read More

Scaling & Efficiency

COMP328 Lectures

Speedup & Efficiency Speedup Is a ratio of the time it takes to run a program without parallelism versus the time it runs in parallel. Scalability (Parallel Efficiency) Is the ratio of speedup to the ideal speedup. Given that $t_1$ is the time on one core and $t_p$ is the...

Read More

Encryption Basics & History

COMP315 Lectures

Issues that encryption aims to solve: Incorrect relaying of information. This has partial solutions. Eavesdropping on information. This has many solutions. Solutions to Eavesdropping Control your environment such that there is no possibility of eavesdropping. Use a different language. Speak in code (using different keywords to create plausible deniability). Solutions...

Read More

Single Layer Perceptrons

ELEC320 Lectures

Least Mean Square (LMS) This is a sample by sample approach. The linear least square method would be a batch approach. \[\mathbf w(n+1)=\mathbf w(n)+\eta e(n)\mathbf x(n)\] where: $\mathbf w$ - weight vector $\eta$ - learning rate $e$ - the error $(d-y)$ $d$ - expected result $y$ - neron output $\mathbf...

Read More

Parallelism

COMP328 Lectures

It is usually better to optimise single thread performance before going to parallelism: You often have to completely re-implement your algorithm when moving to multi-threaded operations. You should consider your options in the following order: Vectorisation OpenMP MPI GPU ASIC/FPGA Considerations Generally there is load imbalance in parallel operations. The...

Read More

Alternatives to Auctions

COMP315 Lectures

One-on-one Negotiations This is hard to do automatically, but often useful for relatively high value items. Fixed Prices (Your Choice) Set prices the way you want. Some analysis of price elasticity and competition will be needed. Fixed Prices (Not Your Choice) Some times you have to accept others setting the...

Read More

Reverse & Double Auctions

COMP315 Lectures

Normal Auction one seller, multiple buyers. Reverse Auction multiple sellers, one buyer. Double Auction Multiple sellers, multiple buyers. Reverse Auctions Reverse auctions are the same as standard auctions however the sellers bid down against each-other. Think about companies bidding to complete a government contract for the cheapest. The price direction...

Read More