- 36 Views
- Uploaded on
- Presentation posted in: General

ALGORITHMS

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Lecturer: Daniela Zaharie

- Room: 047 (ground floor)
- http: //www.info.uvt.ro/~dzaharie
- e-mail: [email protected]
- Schedule:
Lecture: every Thursday at 14:40 (room A02)

Seminars:Tuesday at 11:20, room 102

(Isabela Dramnesc, [email protected])

- Group 1 (odd weeks)
- Group 2 (even weeks)
Lab: Tuesday

(Marian Neagul, [email protected])

- Subgroup 1: odd weeks, 9:40h, room 032
- Subgroup 2: even weeks, 9:40h, room 032
- Subgroup 3: oddweeks, 14:40h, room 032

Algorithms - Lecture 1

- In our daily activity we :
- Use a search engine (e.g. Google)
- An e-mail application which (hopefully) has a anti-spam filter
- Find news about friends using a social network tool (e.g. Facebook)

- What is behind these tools?
- Algorithms for searching, keywords matching, sorting, frequency computation, correlations identification etc.
Examples: PageRank algorithm (Google), EdgeRank algorithm (Facebook)

- Algorithms for searching, keywords matching, sorting, frequency computation, correlations identification etc.

Algorithms - Lecture 1

PageRank – algorithm used by the Google search engine to rank the web pages [Larry Page, 1997]

Basic idea of ranking:

rank(P0)=(1-d)+d*(rank(P1)+…rank(Pk))

P0 – current page

P1,…, Pk – pages which contain links toward P0

d in (0,1) – damping factor (models the influence of time)

Web = graph

Ranking criteria = probabilistic scores

Rank computing = iterative algorithm or algebraic compution (solving as linear system)

Algorithms - Lecture 1

- EdgeRank – algorithm used in Facebook news feed (selection of news to be posted on the wall of a user)
- Basic idea:
- The interaction between a user and a facebook “object” (e.g. info, comment etc) defines an edge
- Each edge is characterized by 3 factors which influence the importance of each edge: affinity, weight, age.
- As a edge is more important the probability to be included in News is higher.

- Some of the topics on which Facebook offers fellowships: [http://www.facebook.com/careers/fellowship.php]:
- “Algorithmic game theory”
- “Algorithms around social networks”
- “Search algorithms”

Algorithms – Lecture 1

- This course is about:
- designing and analyzing algorithms
- abstract thinking and solving problems

- This course is NOT:
- a programming course
(however the algorithms we design and analyze will be implemented in a programming language during the labs; the language which we shall use is Pythonhttp://www.python.org)

- a math course
(however we shall use some basic math stuff: concepts as set, function, relation; some combinatorics; proof techniques like mathematical induction or proof by contradiction)

- a programming course

Algorithms - Lecture 1

- You want to become a computer scientist
- Then you should know that:
at the heart of every programming task is the

- selection,
- adaptation,
- discovery
of algorithms.

All these need a good

understanding of

algorithms

Algorithms - Lecture 1

A computer scientist must be prepared for tasks like:

” … This is the problem. Solve it ...”

In such a situation it does not suffice to know

how to code a given algorithm

You must be able to find an adequate algorithm or even

develop a new one to solve the problem

Algorithms - Lecture 1

The future belongs to the computer scientists who have:

- Content: An up to date grasp of fundamental problems and solutions
- Method: Principles and techniques to solve the vast array of unfamiliar problems that arise in a rapidly changing field
[Jeff Edmonds, York University, Canada]

Algorithms - Lecture 1

Fourteen lectures on:

1. Introduction to algorithmic problem solving

2. Description of the algorithms

3. Verification of algorithm correctness

4. Analysis of algorithm efficiency

5. Sorting and searching

6. Basic techniques in algorithm design:

a) divide and conquer, decrease and conquer

b) greedy

c) dynamic programming

d) backtracking, branch and bound

Algorithms - Lecture 1

Web page: http://www.info.uvt.ro/~dzaharie

Algorithmics - english

There you will find some downloadable materials:

- lectures files (PDF)

- lecture slides (PPT or PDF)

- exercises for seminar/lab (PDF)

If you find typos or other errors please let me know !

Algorithms - Lecture 1

The course materials are based mainly on:

- T.H. Cormen, C.E. Leiserson, R.R. Rivest - Introduction to algorithms, MIT Press 1990
2. R. Johnsonbaugh, M. Schaefer - Algorithms, Pearson Education, 2004

3. A. Levitin - The design & analysis of the algorithms, 2003

and course slides of

Jeff Edmonds (York University, Canada),

David Luebke (Virginia University, USA),

Steven Rudich (Carnegie Mellon University, USA) ...

Algorithms - Lecture 1

The final grade is between 1 and 10 and is based on:

Midterm written test - 20%

(during the 4th seminar)

Practical tests – 20%

(during the 3th and 5th lab)

Homework & seminar/lab activity - 20%

Final written and practical exam - 40%

(during the winter exam session)

Algorithms - Lecture 1

- The homework should be finalized by the next seminar/lab; late homework is penalized with 0.2 points/week
- At most 2 absences from seminar/lab are accepted
- Collaboration is permitted on a conceptual level only; you can discuss with your colleagues, but written solutions must always be the result of an individual effort.Plagiarism of homework or written test is punished by not considering that homework/ test contribution to the final grade or even worse ...

Algorithms - Lecture 1