aboutsummaryrefslogtreecommitdiff
path: root/mc/n6.lyx
blob: 3adbae2b41acc2e0703f435741d7598807f622b4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
#LyX 2.3 created this file. For more info see http://www.lyx.org/
\lyxformat 544
\begin_document
\begin_header
\save_transient_properties true
\origin unavailable
\textclass book
\begin_preamble
\input{../defs}
\end_preamble
\use_default_options true
\maintain_unincluded_children false
\language spanish
\language_package default
\inputencoding auto
\fontencoding global
\font_roman "default" "default"
\font_sans "default" "default"
\font_typewriter "default" "default"
\font_math "auto" "auto"
\font_default_family default
\use_non_tex_fonts false
\font_sc false
\font_osf false
\font_sf_scale 100 100
\font_tt_scale 100 100
\use_microtype false
\use_dash_ligatures true
\graphics default
\default_output_format default
\output_sync 0
\bibtex_command default
\index_command default
\paperfontsize default
\spacing single
\use_hyperref false
\papersize default
\use_geometry false
\use_package amsmath 1
\use_package amssymb 1
\use_package cancel 1
\use_package esint 1
\use_package mathdots 1
\use_package mathtools 1
\use_package mhchem 1
\use_package stackrel 1
\use_package stmaryrd 1
\use_package undertilde 1
\cite_engine basic
\cite_engine_type default
\biblio_style plain
\use_bibtopic false
\use_indices false
\paperorientation portrait
\suppress_date false
\justification true
\use_refstyle 1
\use_minted 0
\index Index
\shortcut idx
\color #008000
\end_index
\secnumdepth 3
\tocdepth 3
\paragraph_separation indent
\paragraph_indentation default
\is_math_indent 0
\math_numbering_side default
\quotes_style french
\dynamic_quotes 0
\papercolumns 1
\papersides 1
\paperpagestyle default
\tracking_changes false
\output_changes false
\html_math_output 0
\html_css_as_file 0
\html_be_strict false
\end_header

\begin_body

\begin_layout Standard
Una 
\begin_inset Formula $\text{MT}$
\end_inset

 
\begin_inset Formula ${\cal M}$
\end_inset

 que termina siempre tiene 
\series bold
tiempo de ejecución
\series default
 o 
\series bold
complejidad en tiempo
\series default
 
\begin_inset Formula $t:\mathbb{N}\to\mathbb{N}$
\end_inset

 dada por 
\begin_inset Formula $t(n)\coloneqq\max_{w\in\Sigma^{n}}\{\text{n\ensuremath{^{\text{o}}} de pasos que }{\cal M}\text{ ejecuta con entrada }w\}$
\end_inset

, donde cada paso es una regla de transición.
\end_layout

\begin_layout Standard
Dadas 
\begin_inset Formula $f,g:\mathbb{N}\to\mathbb{R}^{\geq0}$
\end_inset

, 
\begin_inset Formula $f(n)$
\end_inset

 es 
\series bold

\begin_inset Formula $O$
\end_inset

 grande
\series default
 de 
\begin_inset Formula $g(n)$
\end_inset

, del 
\series bold
orden de magnitud
\series default
 de 
\begin_inset Formula $g(n)$
\end_inset

 o 
\begin_inset Formula $g(n)$
\end_inset

 es un 
\series bold
límite superior asintótico
\series default
 para 
\begin_inset Formula $f(n)$
\end_inset

, 
\begin_inset Formula $f(n)=O(g(n))$
\end_inset

, si 
\begin_inset Formula $\exists c,n_{0}\in\mathbb{N}:\forall n\geq n_{0},(n)\leq cg(n)$
\end_inset

.
 Casi nunca necesitamos conocer la complejidad en tiempo de un algoritmo
 con precisión, sino que basta conocer su orden de magnitud.
 Hay una jerarquía de órdenes 
\begin_inset Formula $O(1)\subseteq O(\log n)\subseteq O(n)\subseteq O(n\log n)\subseteq O(n^{2})\subseteq O(n^{3})\subseteq\dots\subseteq O(2^{n})\subseteq O(n^{n})$
\end_inset

, y siempre que sea posible, al especificar el orden de magnitud de una
 función, elegiremos el más pequeño.
\end_layout

\begin_layout Standard
Para 
\begin_inset Formula $t:\mathbb{N}\to\mathbb{R}^{+}$
\end_inset

, llamamos 
\series bold
clase de complejidad
\series default
 
\begin_inset Formula $\text{TIME}(t(n))$
\end_inset

 a la clase de los lenguajes decidibles por una 
\begin_inset Formula $\text{MT}$
\end_inset

 con complejidad en tiempo 
\begin_inset Formula $O(t(n))$
\end_inset

.
 Nótese que esta magnitud se refiere al lenguaje o problema, no a un algoritmo
 concreto.
 En general, la clase de complejidad de un problema depende del modelo de
 computación usado, aun para modelos equivalentes.
 Este orden no difiere mucho entre modelos deterministas, pero sí entre
 un modelo determinista y uno no determinista.
\end_layout

\begin_layout Standard
Como 
\series bold
teorema
\series default
, si una 
\begin_inset Formula $k\text{-MT}$
\end_inset

 tiene tiempo de ejecución 
\begin_inset Formula $O(t(n))$
\end_inset

 con 
\begin_inset Formula $t(n)\geq n$
\end_inset

, existe una 
\begin_inset Formula $\text{MT}$
\end_inset

 equivalente con tiempo de ejecución 
\begin_inset Formula $O(t(n)^{2})$
\end_inset

.
 
\series bold
Demostración:
\series default
 En la demostración de que 
\begin_inset Formula $k\text{-MT}\equiv\text{MT}$
\end_inset

, para simular una 
\begin_inset Formula $k\text{-MT}$
\end_inset

 con una 
\begin_inset Formula $\text{MT}$
\end_inset

, recorríamos la cinta para darle el formato correcto (
\begin_inset Formula $O(n)$
\end_inset

) y, en cada paso de la 
\begin_inset Formula $k\text{-MT}$
\end_inset

, recorríamos la cinta 2 veces, primero para saber qué transición aplicar
 y luego para aplicarla, actualizando el contenido de las celdas y las posicione
s de los cursores.
 Cada cinta tiene tamaño como mucho 
\begin_inset Formula $O(t(n))$
\end_inset

, pues en cada transición se añade como mucho un caracter en cada cinta,
 con lo que los recorridos son 
\begin_inset Formula $O(t(n))$
\end_inset

 y, como se hacen 
\begin_inset Formula $O(t(n))$
\end_inset

 de estos, el tiempo total es 
\begin_inset Formula $O(t(n)^{2}+n)=O(t(n)^{2})$
\end_inset

, usando que 
\begin_inset Formula $t(n)\geq n$
\end_inset

.
\end_layout

\begin_layout Standard
Una 
\begin_inset Formula $\text{MTND}$
\end_inset

 es un 
\series bold
decisor
\series default
 si, para toda cadena de entrada, todas sus secuencias de ejecución son
 finitas.
 Una 
\begin_inset Formula $\text{MTND}$
\end_inset

 
\begin_inset Formula ${\cal N}$
\end_inset

 que es un decisor tiene 
\series bold
tiempo de ejecución
\series default
 o 
\series bold
complejidad en tiempo
\series default
 
\begin_inset Formula $f:\mathbb{N}\to\mathbb{N}$
\end_inset

 si 
\begin_inset Formula $f(n)$
\end_inset

 es el máximo número de pasos que ejecuta 
\begin_inset Formula ${\cal N}$
\end_inset

 en cualquiera de sus ramas para cualquier entrada de longitud 
\begin_inset Formula $n$
\end_inset

.
\end_layout

\begin_layout Standard
Como 
\series bold
teorema
\series default
, si una 
\begin_inset Formula $\text{MTND}$
\end_inset

 tiene tiempo de ejecución 
\begin_inset Formula $O(f(n))$
\end_inset

 con 
\begin_inset Formula $f(n)\geq n$
\end_inset

, existe una 
\begin_inset Formula $\text{MT}$
\end_inset

 equivalente con tiempo de ejecución 
\begin_inset Formula $2^{O(f(n))}$
\end_inset

.
 
\series bold
Demostración:
\series default
 En la demostración de que 
\begin_inset Formula $\text{MTND}\equiv\text{3-MT}$
\end_inset

, se calculan cada uno de los nodos haciendo búsqueda en anchura, pero como
 sabemos que todas las ramas terminan, podemos hacer búsqueda en profundidad
 y solo detenernos al llegar a una hoja.
 Si hay hasta 
\begin_inset Formula $m$
\end_inset

 pasos, hay como mucho 
\begin_inset Formula $c^{m}$
\end_inset

 hojas y calcular cada una requiere una copia 
\begin_inset Formula $O(n)$
\end_inset

 y simular 
\begin_inset Formula $mc^{m}$
\end_inset

 transiciones, más una cantidad de transiciones asintóticamente menor para
 llevar cuenta del 
\emph on
\lang english
backtracking
\emph default
\lang spanish
 y para evitar la interferencia entre una simulación y la siguiente, por
 lo que el total de transiciones es como mucho 
\begin_inset Formula $O(n+mc^{m})=O(n+f(n)c^{f(n)})$
\end_inset

, usando que 
\begin_inset Formula $n\leq f(n)$
\end_inset

.
 Entonces el total es 
\begin_inset Formula $O(f(n)c^{f(n)})=O(2^{\log_{2}f(n)+f(n)\log_{2}c})=2^{O(\log_{2}f(n)+f(n)\log_{2}c})=2^{O(f(n))}$
\end_inset

, y por el teorema anterior, al simular esto en un 
\begin_inset Formula $\text{MT}$
\end_inset

 el orden máximo es 
\begin_inset Formula $(2^{O(f(n))})^{2}=2^{O(2f(n))}=2^{O(f(n))}$
\end_inset

.
\end_layout

\begin_layout Standard
Nótese que 
\begin_inset Formula $2^{O(f(n))}$
\end_inset

 no es lo mismo que 
\begin_inset Formula $O(2^{f(n)})$
\end_inset

, pues por ejemplo 
\begin_inset Formula $3^{n}\neq O(2^{n})$
\end_inset

 pero 
\begin_inset Formula $3^{n}=2^{\log_{2}3^{n}}=2^{n\log_{2}3}=2^{O(n)}$
\end_inset

.
 En efecto, claramente 
\begin_inset Formula $n\log_{2}3\in O(n)$
\end_inset

, pero para cualesquiera 
\begin_inset Formula $c,n_{0}\in\mathbb{N}$
\end_inset

 existe 
\begin_inset Formula $n>n_{0}$
\end_inset

 tal que 
\begin_inset Formula $3^{n}>2^{n}c$
\end_inset

, sin más que tomar 
\begin_inset Formula $n>\log_{\frac{3}{2}}c$
\end_inset

.
\end_layout

\end_body
\end_document