Algoritmi

Curs
8/10 (1 vot)
Conține 10 fișiere: pdf
Pagini : 95 în total
Cuvinte : 37131
Mărime: 779.78KB (arhivat)
Publicat de: Mihail Stoica
Puncte necesare: 0
faculatatea de informatica

Extras din curs

1 Notiunea de algoritm

^In termeni generali un algoritm este o metoda de rezolvare pas cu pas a problemelor. O problema se

considera a constituita din date de intrare si un enunt care speci ca relatia existenta ^ntre datele

de intrare si solutia problemei. ^In cadrul algoritmului sunt descrise prelucrarile necesare pentru a

obtine solutia problemei pornind de la datele de intrare. ^In continuare consideram ca

Un algoritm este o succesiune bine precizata de prelucrari care aplicate asupra datelor

de intrare ale unei probleme permit obtinerea ^n timp nit a solutiei acesteia.

Termenul de algoritm provine de la numele unui matematician persan, al-Khowarizmi (al-

Kwarizmi), ce a trait ^n secolul al IX-lea si care a scris o lucrare despre efectuarea calculelor

numerice ^ntr-o maniera algebrica. Primul algoritm se considera a algoritmul lui Euclid (utilizat

pentru determinarea celui mai mare divizor comun a doua numere naturale).

Termenul de algoritm poate ^nteles ^n sens larg ne ind neaparat legat de rezolvarea unei

probleme cu caracter stiinti c, ci doar pentru a descrie ^ntr-o maniera ordonata activitati care

constau ^n parcurgerea unei succesiuni de pasi (cum este de exemplu utilizarea unui telefon public

sau a unui bancomat). ^In matematica exista o serie de algoritmi: cel al rezolvarii ecuatiei de

gradul doi, algoritmul lui Eratostene (pentru generarea numerelor prime mai mici dec^at o anumita

valoare), schema lui Horner (pentru determinarea c^atului si restului ^mpartirii unui polinom la un

binom) etc.

Solutia problemei se obtine prin executia algoritmului. Algoritmul poate executat pe o masina

formala (^n faza de proiectare si analiza) sau pe o masina zica (calculator) dupa ce a fost codi-

cat ^ntr-un limbaj de programare. Spre deosebire de un program, care depinde de un limbaj de

programare, un algoritm este o entitate matematica, descrisa folosind un limbaj speci c, care este

independenta de masina pe care va executat.

2 Obiectul disciplinei

Obiectul disciplinei de "Algoritmica" ^l reprezinta studiul algoritmilor din perspectiva elaborarii si

analizei lor. Descoperirea, selectia, adaptarea si analiza algoritmilor reprezinta un element cheie in

dezvoltarea produselor software.

Dezvoltarea unui algoritm pornind de la problema de rezolvat presupune parcurgerea urmatoarelor

etape:

1. Formularea clara, completa si neambigua a problemei, eventual prin utilizarea unor speci catii

formale.

2. Identi carea clasei din care face parte problema.

3. Identi carea unui algoritm care permite constructia solutiei pornind de la speci catiile problemei.

4. Analiza corectitudinii algoritmului (are ca scop sa veri ce daca algoritmul corespunde speci catiilor

problemei).

5. Analiza e cientei algoritmului (are ca scop sa veri ce daca solutia poate obtinuta prin

utilizarea unui volum rezonabil de resurse).

Elaborarea unui algoritm necesita: cunostinte speci ce domeniului de unde provine problema

de rezolvat (necesare pentru o mai buna ^ntelegere a problemei), cunoasterea unor tehnici generale

de rezolvare a problemelor (utile pentru a identi ca algoritmul adecvat unui problemei de rezolvat)

intuitie si g^andire algoritmica (acestea se dob^andesc si se dezvolta prin experienta).

Indiferent de complexitatea unei aplicatii informatice, la bazele ei stau algoritmi destinati rezolv

arii problemelor fundamentale ale aplicatiei. Oric^at de so sticata ar tehnologia software

utilizata (interfete, structurare globala a aplicatiei) e cienta aplicatiei este ^n mod esential determinat

a de e cienta algoritmilor implicati. Un algoritm prost conceput nu poate "reparat" prin

arti cii de programare. Din acest motiv dob^andirea unor cunostinte solide privind elaborarea si

analiza algoritmilor este o conditie necesara ^n formarea unui bun programator.

3 Proprietati ale algoritmilor

Un algoritm trebuie sa posede urmatoarele proprietati:

Generalitate. Un algoritm destinat rezolvarii unei probleme trebuie sa permita obtinerea rezultatului

pentru orice date de intrare nu numai pentru valori particulare ale acestora.

Finitudine. Un algoritm trebuie sa admita o descriere nita si ecare dintre prelucrarile pe care

le contine trebuie sa poate executata ^n timp nit. Prin intermediul algoritmilor nu pot

prelucrate structuri in nite.

Rigurozitate. Prelucrarile algoritmului trebuie speci cate riguros, fara ambiguitati. ^In orice etapa

a executiei algoritmului trebuie sa se stie exact care este urmatoarea etapa ce va executata.

E cienta. Algoritmii pot efectiv utilizati doar daca folosesc resurse de calcul ^n volum acceptabil.

Resursele de calcul se refera la spatiul de memorie necesar pentru stocarea datelor si timpul

necesar pentru executie.

Preview document

Algoritmi - Pagina 1
Algoritmi - Pagina 2
Algoritmi - Pagina 3
Algoritmi - Pagina 4
Algoritmi - Pagina 5
Algoritmi - Pagina 6
Algoritmi - Pagina 7
Algoritmi - Pagina 8
Algoritmi - Pagina 9
Algoritmi - Pagina 10
Algoritmi - Pagina 11
Algoritmi - Pagina 12
Algoritmi - Pagina 13
Algoritmi - Pagina 14
Algoritmi - Pagina 15
Algoritmi - Pagina 16
Algoritmi - Pagina 17
Algoritmi - Pagina 18
Algoritmi - Pagina 19
Algoritmi - Pagina 20
Algoritmi - Pagina 21
Algoritmi - Pagina 22
Algoritmi - Pagina 23
Algoritmi - Pagina 24
Algoritmi - Pagina 25
Algoritmi - Pagina 26
Algoritmi - Pagina 27
Algoritmi - Pagina 28
Algoritmi - Pagina 29
Algoritmi - Pagina 30
Algoritmi - Pagina 31
Algoritmi - Pagina 32
Algoritmi - Pagina 33
Algoritmi - Pagina 34
Algoritmi - Pagina 35
Algoritmi - Pagina 36
Algoritmi - Pagina 37
Algoritmi - Pagina 38
Algoritmi - Pagina 39
Algoritmi - Pagina 40
Algoritmi - Pagina 41
Algoritmi - Pagina 42
Algoritmi - Pagina 43
Algoritmi - Pagina 44
Algoritmi - Pagina 45
Algoritmi - Pagina 46
Algoritmi - Pagina 47
Algoritmi - Pagina 48
Algoritmi - Pagina 49
Algoritmi - Pagina 50
Algoritmi - Pagina 51
Algoritmi - Pagina 52
Algoritmi - Pagina 53
Algoritmi - Pagina 54
Algoritmi - Pagina 55
Algoritmi - Pagina 56
Algoritmi - Pagina 57
Algoritmi - Pagina 58
Algoritmi - Pagina 59
Algoritmi - Pagina 60
Algoritmi - Pagina 61
Algoritmi - Pagina 62
Algoritmi - Pagina 63
Algoritmi - Pagina 64
Algoritmi - Pagina 65
Algoritmi - Pagina 66
Algoritmi - Pagina 67
Algoritmi - Pagina 68
Algoritmi - Pagina 69
Algoritmi - Pagina 70
Algoritmi - Pagina 71
Algoritmi - Pagina 72
Algoritmi - Pagina 73
Algoritmi - Pagina 74
Algoritmi - Pagina 75
Algoritmi - Pagina 76
Algoritmi - Pagina 77
Algoritmi - Pagina 78
Algoritmi - Pagina 79
Algoritmi - Pagina 80
Algoritmi - Pagina 81
Algoritmi - Pagina 82
Algoritmi - Pagina 83
Algoritmi - Pagina 84
Algoritmi - Pagina 85
Algoritmi - Pagina 86
Algoritmi - Pagina 87
Algoritmi - Pagina 88
Algoritmi - Pagina 89
Algoritmi - Pagina 90
Algoritmi - Pagina 91
Algoritmi - Pagina 92
Algoritmi - Pagina 93
Algoritmi - Pagina 94
Algoritmi - Pagina 95

Conținut arhivă zip

  • alg2006_curs1.pdf
  • alg2006_curs10-11.pdf
  • alg2006_curs12.pdf
  • alg2006_curs2.pdf
  • alg2006_curs3.pdf
  • alg2006_curs4-5.pdf
  • alg2006_curs6.pdf
  • alg2006_curs7.pdf
  • alg2006_curs8.pdf
  • alg2006_curs9.pdf

Alții au mai descărcat și

Cursuri inteligență artificială

1.1. Introducere Termenul de inteligenţă artificială a fost folosit pentru prima dată în 1956 de omul de ştiinţă american John McCarthy. Până...

Abstract Factory - Factory Method

Definitie Ofera o interfata pentru crearea unor familii de obiecte inrudite sau dependente intre ele, fara a specifica clasa lor concreta. Se mai...

Sistemele expert - inteligență artificială

Sistemele expert sunt produse ale inteligentei artificiale, ramura a stiintei calculatoarelor ce urmareste dezvoltarea de programe inteligente....

Roboți Industriali

1. NOTIUNI GENERALE PRIVIND ROBOTII INDUSTRIALI 1.1. Definitii si notiuni uzuale utilizate Cuvântul `robot` a fost folosit pentru prima datã în...

Inteligență artificială - capitolul 1-strategii de căutare

Strategia de cautare pe nivel în spatiul starilor Strategia de cautare pe nivel (în latime, breadth-first search) este o strategie de cautare...

Inteligență artificială

Inteligenta artificiala 1 Concepte de baza Când s-a vorbit prima data de Inteligenta Artificiala (AI  Artificial Intelligence) în 1956, totul...

Sisteme Expert - Curs 2

Definitie: Un sistem expert este un program ce utilizeaza cunoasterea si procedurile de inferenta (deductie logica) pentru rezolvarea problemelor...

Învățarea automată

Invatare automata. Agenti care invata. Clasificarea metodelor şi tehnicilor Dupa modul de fundamentare empirică: -metode şi tehnici de calcul...

Te-ar putea interesa și

Tehnici și Algoritmi de Codare

PRESCURTĂRI 1. INTRODUCERE O temă des cercetată în telefonia mobilă este eficienţa spectrală, care deobicei are înţelesul de densitatea...

Ilustrarea și simularea unor algoritmi legați de inteligența artificială folosind programarea orientată pe obiect în limbajul java

Introducere Am ales lucrarea intitulată „Ilustrarea și simularea unor algoritmi de inteligență artificială folosind programarea orientată pe...

Soft pentru Algoritmi Fundamentali de Determinare a Unui Flux de Cost Minim

“Diferența dintre școală și viață? În școală, înveți o lecție, apoi dai un test. În viață, ai de dat un test care te învață o lecție.” (Tom...

Implementarea algoritmilor evolutivi

Conceptul de evoluţie a fost propus de savantul englez Charles Darwin în 1859 în celebra sa carte “Originea speciilor prin selecţie naturală”....

Algoritmi Polinomiali de Generare a Submulțimilor Discrete Finite

-Introducere- Motivul alegerii acestei lucrări este de a înţelege mai bine cum un algoritm matematic de generare poate fi implementat în cadrul...

Rezolvarea Problemei Comis - Voiajorului cu Ajutorul Algoritmilor Genetici

Algoritmi genetici Tehnici adaptive de cautare euristica, bazate pe principiile geneticii si ale selectiei naturale Lucreaza cu o populatie de...

Implimentarea algoritmului A , în cadrul jocului Snake

Rezumat Proiectul Snake, ce are la bază ideea de implimentare a algoritmului A*, cunoscut ca și A star, are ca obiect determinarea drumului de...

Algoritmi paraleli

Algoritmi paraleli pentru sortare Algoritmii paraleli sunt opusi algoritmilor seriali deoarece secventele de cod pot fi executate pe mai multe...

Ai nevoie de altceva?