Documente Academic
Documente Profesional
Documente Cultură
Ștefan Trăușan-Matu
trausan@gmail.com
stefan.trausan@upb.ro
Ce au în
comun?
M.C.Escher
Ce au în comun?
• Rezolvă anumite probleme
• Sunt artefacte – produse umane
• Sunt produse inginerești M.C.Escher
7
Visualization of the routing paths of the Internet
(Andrew Lenharth, Donald Nguyen, And Keshav Pingali, 2016)
Analiza discuțiilor într-un forum
9
Deep learning - Gradient descend
Problemă: găsirea de comunități
într-o rețea socială
I
A
J
G
B
K
C
H
L
D
F
Idee: Detectarea componentele tare conexe
I
A
J
G
B
K
C
H
L
D
F 12
Deci, pentru o problemă trebuie
1. Să găsim o idee de abstractizare a problemei
Deci, pentru o problemă trebuie
1. Să găsim o idee de abstractizare a problemei
2. Să găsim un algoritm de rezolvare
Algoritmul lui Kosaraju pentru
determinarea componentelor tare conexe
CTC(G)
Parc-ad(G)
GT=Transpune(G)
Parc-ad(GT) în ordinea descrescătoare a timpilor de finiș de la primul
Parc-ad
Sfârșit
M.C.Escher
Corectitudine algoritm Kosaraju (1)
Teoremă: Algoritmul CTC calculează corect componentele tare
conexe ale unui graf G = (V,E).
Dem. prin inducție după nr. de arbori de adâncime găsiți de DFS
al GT că vârfurile din fiecare arbore formează o CTC:
Fiecare pas demonstrează că arborele format în acel pas e o CTC,
presupunând că toți arborii produși deja sunt CTC.
P1: trivial pentru că arbori anteriori.
Pn => Pn+1: Fie arborele T obținut in pasul curent având rădăcina r.
Notăm Cr = {vV | (v) = r}.
17
Corectitudine algoritm Kosaraju (2)
Demonstrăm că u T u Cr:
=> u Cr => u T:
u ∈ Cr r..u toate nodurile din Cr ajung în același arbore DFS (Arb(r)). Dar r ∈ Cr
și r e rădăcina lui T => ∀ u ∈ Cr => u ∈ T
<= u T => u Cr: demonstrăm că w a.î. f((w)) > f(r) sau f((w)) < f(r)
(adică w Cr) => w T
Dacă f((w)) > f(r) => la d(r), w e deja pus în CTC cu rădăcina (w) pt. că nodurile
sunt considerate în ordinea inversă a timpilor de finalizare => w ∉ T
Dacă f((w)) < f(r) => w ∉ T pt. că altfel, din w ∈ T => r..w în GT => w..r în G => r ∈
R(w), => f((w)) ≥ f((r)) = f(r) => T conține doar nodurile pt. care (w) = r => T
= Cr
18
Problemă: căutarea unei căi de la intrare la ieșire
Intrare
Ieșire
Algoritm de căutare 1
Algoritm de căutare 2
Deci, pentru o problemă trebuie
1. Să găsim o idee de abstractizare a problemei
2. Să găsim un algoritm de rezolvare
3. Algoritmul:
• să rezolve corect problema
• să fie cât mai eficienți din punct de vedere al
• timpului de execuție
• spațiului ocupat
Algoritmul lui Kosaraju
Complexitate
O(n+m)
n = numar noduri
m = numar muchii
24
Algoritm de căutare 3
Deci, pentru o problemă trebuie
1. Să găsim o idee de abstractizare a problemei
2. Să găsim un algoritm de rezolvare
3. Algoritmul:
• să se termine întotdeauna, pentru orice date
• să rezolve corect problema
• să fie cât mai eficienți din punct de vedere al
• timpului de execuție
• spațiului ocupat
Concluzii – sunt necesare
• Găsirea de idei de abstractizare/modelare => ÎNȚELEGERE și CREATIVITATE
• Analfabetul viitorului nu va mai fi cel care nu știe să citească,
ci cel care nu știe să înțeleagă. (Alvin Toffler)
Concluzii – sunt necesare
• Găsirea de idei de abstractizare/modelare
• Găsirea de algoritmi
• Refolosire
• CREATIVITATE
CREATIVITATE - Gândire laterală
http://www.edwdebono.com/lateral.htm
1. "You cannot dig a hole in a different place by digging the same hole deeper"
This means that trying harder in the same direction may not be as useful as changing direction. Effort in the same direction (approach) will not
necessarily succeed.
4. "In any self-organising system there is a need to escape from a local optimum in order to
move towards a more global optimum. The techniques of lateral thinking, such as
provocation, are designed to help that change.“
Gândirea paralelă http://www.edwdebono.com/lateral.htm
Parallel thinking is best understood in contrast to traditional argument or adversarial thinking.
With 'parallel thinking' both sides (or all parties0 are thinking in parallel in the same direction. There
is co-operative and co-ordinated thinking. The direction itself can be changed in order to give a full
scan of the situation. But at every moment each thinker is thinking in parallel with all the other
thinkers. There does not have to be agreement. Statements or thoughts which are indeed
contradictory are not argued out but laid down in parallel.In the final stage the way forward is
'designed' from the parallel thought that have been laid out.
A simple and practical way of carrying out 'parallel thinking' is the Six HatsTM method which is now
being used widely around the world both because it speeds up thinking and also because it is so
much more constructive then traditional argument thinking.
10-Oct-20 32
Viitorul profesiei de IT
• https://www.forbes.com/sites/pradeepgulipalli/2019/07/25/redesigning-your-tech-
careers-for-the-ai-era/
• If you are an IT professional, you should be prepared as traditional IT careers will likely
not exist in the future. Some activities will get automated, some augmented, and others
eliminated. This will mean that some jobs will be lost, some created, and others
transformed. If you're wondering how to prepare yourself for the AI era, below is a
simple approach to redesign your careers.