Algorísmia, Calculabilitat i Complexitat ( ALCC )
| Crèdits: |
Departament: |
Tipus: |
Requisits: |
| 9.0 |
LSI |
Obligatòria per l'ETIS
|
|
PS
- Pre-requisit per l' ETIS
|
|
|
Professors
| Responsable: | M Jose Serna Iglesias (mjserna lsi.upc.edu). |
| Altres: | Antoni Lozano Bojados (antoni lsi.upc.edu). |
Objectius Generals
Conèixer els elements bàsics de la teoria de la computació, incloent la teoria d'autòmats i llenguatges, la teoria de la calculabilitat, la teoria de la
complexitat i l'algorísmia.
Els coneixements i l'experiència necessària per classificar problemes segons l'existència o no d'algorismes per a la seva resolució i, en aquest darrer cas, segons la possibilitat de trobar una solució eficient.
Objectius Específics
Coneixements
- Com analitzar el cost d'un algorisme i la complexitat computacional d'un problema. Comprenent la diferència qualitativa entre temps polinòmic i temps exponencial.
- Què és un problema indecidible i algunes classes de complexitat per a problemas decidibles.
- Les tècniques i els esquemes algorísmics bàsics i de nivell mitjà.
- Els models de computació clàssics i les seves limitacions.
- Conèixer problemes computacionals per als quals, hores d'ara, no es coneixen algorismes amb cost polinòmic.
- Comprendre el concepte de reducció entre problemes, i la seva utilització per mostrar decidibilitat/tractabilitat o indecibilitat/no-tractabiliat.
Habilitats
(Informació no introduïda)
Competències
- Capacitat per al raonament crític i lògico-matemàtic
- (1) Capacitat per aplicar les tècniques per construir demostracions lògico-matemàtiques.
- Capacitat de resoldre problemes aplicant els mètodes de la ciència i l'enginyeria
- Capacitat d'aplicar els coneixements de matemàtiques i lògica a la resolució de problemes.
- (1) Capacitat d'abstracció. Capacitat d'enfrontar-se a problemes nous recorrent conscientment a estratègies que han estat útils en problemes resolts anteriorment.
- Capacitat d'actuar autònomament: Saber treballar de forma independent, rebent només la informació indispensable i un mínim de guiatge.
- Capacitat per transmetre idees efectivament de forma escrita.
- Obertura i curiositat intel·lectual.
Continguts
Hores estimades de:
| T |
P |
L |
Alt |
L Ext. |
Est |
A Ext. |
| Teoria |
Problemes |
Laboratori |
Altres activitats |
Laboratori extern |
Estudi |
Altres hores fora d'horari fixat |
|
1. Problemes i algorismes.
|
| T |
P |
L |
Alt |
L Ext |
Est |
A Ext |
Total |
| 2,0 |
2,0 |
0 |
0 |
0 |
4,0 |
0 |
8,0 |
|
|
Objectius i justificació del curs. Problemes decisionals, funcionals i d'optimizació. Classes de problemes decisionals. Classes de problemes d'optimizació
|
|
2. Mesures d'eficiència d'algorismes.
|
| T |
P |
L |
Alt |
L Ext |
Est |
A Ext |
Total |
| 1,0 |
3,0 |
0 |
0 |
0 |
4,0 |
0 |
8,0 |
|
|
Repàs d'ordres de magnitut. Representació de dades. Talla de representació. Anàlisi de cost.
|
|
3. Alfabets, mots i llenguatges.
|
| T |
P |
L |
Alt |
L Ext |
Est |
A Ext |
Total |
| 2,0 |
1,0 |
0 |
0 |
0 |
3,0 |
0 |
6,0 |
|
|
Definicions. Operacions bàsiques sobre llenguatges. Ordenacions de mots.
|
|
4. Algorismes voraços
|
| T |
P |
L |
Alt |
L Ext |
Est |
A Ext |
Total |
| 3,0 |
4,0 |
0 |
0 |
0 |
8,0 |
0 |
15,0 |
|
L'esquema voraç. Problemes sobre grafs. Arbre d'expansió mínim: l'algorisme de Kruskal. Distàncies mínimes: l'agorisme de Dijkstra. Motxilla fraccional, Motxilla 0-1, Empaquetament:
propostes voraces.
|
|
5. Cerca exhaustiva
|
| T |
P |
L |
Alt |
L Ext |
Est |
A Ext |
Total |
| 2,0 |
5,0 |
0 |
0 |
0 |
8,0 |
0 |
15,0 |
|
Backtracking. Cerca combinatòria. Generació de subconjunts,
permutacions i camins. Algorismes per als problemes
Viatjant i Motxilla 0-1. Ramificació i poda.
|
6. Programació dinàmica.
|
| T |
P |
L |
Alt |
L Ext |
Est |
A Ext |
Total |
| 3,0 |
5,0 |
0 |
0 |
0 |
9,0 |
0 |
17,0 |
|
|
Marc general d'aplicabilitat. Exemples: Nombres de Fibonacci, Producte iterat de matrius, Motxilla 0-1, Viatjant. Programació dinàmica en arbres.
|
|
7. Reduccions, dificultat i completesa.
|
| T |
P |
L |
Alt |
L Ext |
Est |
A Ext |
Total |
| 3,0 |
5,0 |
0 |
0 |
0 |
8,0 |
0 |
16,0 |
|
|
Reduccions entre problemes. Propietats de les reduccions. Exemples de reduccions. NP-completesa i NP-dificultat. P versus NP. Exemples de reduccions.
|
|
8. Estratègies algorísmiques per tractar problemes computacionalment difícils
|
| T |
P |
L |
Alt |
L Ext |
Est |
A Ext |
Total |
| 2,0 |
2,0 |
0 |
0 |
0 |
4,0 |
0 |
8,0 |
|
|
Algorismes d'aproximació. Cerca local.
|
|
9. La Màquina de Turing
|
| T |
P |
L |
Alt |
L Ext |
Est |
A Ext |
Total |
| 4,0 |
3,0 |
0 |
0 |
0 |
7,0 |
0 |
14,0 |
|
|
Elements històrics. Definició de TM. Reconeixement de llenguatges. Computació de funcions. Temps de càlcul. Programes imperatius i la seva simulació amb TM. La TM com a conjunt de dades. TM universals. La tesi de Church-Turing.
|
|
10. Problemes indecidibles i NP-difícils
|
| T |
P |
L |
Alt |
L Ext |
Est |
A Ext |
Total |
| 3,0 |
2,0 |
0 |
0 |
0 |
6,0 |
0 |
11,0 |
|
|
El problema de l'aturada per a TM. El problema de la correspondència de Post. Altres problemes indecidibles.La NP-completesa de Satisfactibilitat de circuits booleans. Conseqüències. Altres problemes NP-difícils
|
|
11. Expressions regulars y autòmats finits
|
| T |
P |
L |
Alt |
L Ext |
Est |
A Ext |
Total |
| 4,0 |
4,0 |
0 |
0 |
0 |
9,0 |
0 |
17,0 |
|
|
Elements històricos. Definició d'AF i expressions regulars. Llenguatges regulars. Exemples. Autòmats finits indeterministes. Equivalència entre models. Problemes computacionals associats.
|
|
12. Cerca de patrons en textos.
|
| T |
P |
L |
Alt |
L Ext |
Est |
A Ext |
Total |
| 3,0 |
2,0 |
0 |
0 |
0 |
4,0 |
0 |
9,0 |
|
|
El problema de l'extracció d'informació. NFA i DFA per a la cerca. Cerca de patrons. Anàlisi lèxica.
|
|
13. Gramàtiques incontextuals i autòmats amb pila
|
| T |
P |
L |
Alt |
L Ext |
Est |
A Ext |
Total |
| 4,0 |
4,0 |
0 |
0 |
0 |
9,0 |
0 |
17,0 |
|
|
Motivació i exemples. Definició formal. Arbres de derivació. Llenguatges incontextuals. Ambigüitat. Expressions regulars i gramàtiques. Autòmats amb pila. Equivalència entre els models. Problemes associats amb el model
|
|
14. L'anàlisi sintàctica
|
| T |
P |
L |
Alt |
L Ext |
Est |
A Ext |
Total |
| 4,0 |
0 |
0 |
0 |
0 |
4,0 |
0 |
8,0 |
|
|
Llenguatges de programació i de marcatje. Analitzadors.
|
|
15. Temes complementaris
|
| T |
P |
L |
Alt |
L Ext |
Est |
A Ext |
Total |
| 2,0 |
0 |
0 |
0 |
0 |
1,0 |
0 |
3,0 |
|
|
Altres aplicaciones dels models i variants a la computació.
|
| - Total per tipus |
T |
P |
L |
Alt |
L Ext |
Est |
A Ext |
Total |
| 42,0 |
42,0 |
0 |
0 |
0 |
88,0 |
0 |
172,0 |
- Hores addicionals dedicades a l'avaluació:
|
8,0 |
- Total hores de treball per l'estudiant |
180,0 |
|
Metodologia docent
L'assignatura tindrà classes de teoria i de problemes en el format habitual. A més,
en diverses ocasions durant el curs, els estudiants rebran uns problemes llargs (estil "casos")
per resoldre en hores de treball personal, que hauran de lliurar per escrit uns dies després.
Mètode d'avaluació
Qualificació dels problemes llargs/casos lliurats (Pro). Examens Parcial (Par) i Final (Fin). Altres treballs voluntaris (Vol).
La nota final es calcula d'acord amb la fòrmula
min(0.8*max((Par+Fin)/2, Fin) + 0.2*Pro + Vol, 10)
La nota dels treballs voluntaris (si n'hi ha) estarà entre 0 i 1,5.
Bibliografía bàsica
- Brassard, G. i Bratley, P. Fundamentos de Algoritmia, Prentice Hall, 1997.
- Garey, M. i Johnson, D. Computers and Intractability: A guide to the theory of NP-completeness., Freeman, 1978 .
- Hopcroft. J.D, Motwani, R. i Ullman, Introduction to Automata Theory, Languages, and Computation , Addison-Wesley, 2001.
- Serna, M, Àlvarez, C., Cases, R. i Lozano, A. Els límits de la computació. Indecidibilitat i NP-completesa, Edicions UPC, 2001.
- Sipser, M. Introduction to the theory of computation, PWS, 1997.
Bibliografía complementària
- Skiena, S. The algorithm design manual, Springer, 1998.
- Cormen, T.H., Leiserson C.E., Rivest, R.L. i Stein, C. Introduction to algorithms, second edition, MIT i McGRaw-Hill, 2001.
- Cases, R. i Marquez, L. Llenguatges, gramàtiques i autòmats, Edicions UPC, 2000.
- Michalewicz, Z. i Fogel, D.B. How to solve it: modern heuristics., Springer-Verlag , 2000.
Enllaços web
(Informació no introduïda)
Capacitats prèvies
Coneixements de programació i estructures de dades.
|