P. 1
LA DEMOSTRACIÓN EN MATEMÁTICA

LA DEMOSTRACIÓN EN MATEMÁTICA

|Views: 418|Likes:
Publicado porYesenia González

More info:

Published by: Yesenia González on Feb 23, 2011
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOC, PDF, TXT or read online from Scribd
See more
See less

09/06/2013

pdf

text

original

ISAE UNIVERSIDAD LICENCIATURA EN INFORMÁTICA ESPECIALIZACIÓN EN AUDITORÍA DE SISTEMAS MÓDULO DE APRENDIZAJE MATEMÁTICA DISCRETA PARA LA COMPUTADORA PROFESOR HERNÁN

ESPINOSA PRESENTADO POR YESENIA GONZALEZ

Presentado por YESENIA GONZALEZ céd 4-239-906

INTRODUCCIÓN

La Matemática discreta es la parte de la matemática encargada del estudio de los conjuntos discretos: finitos o infinitos numerables. En oposición a la matemática continua, que se encarga del estudio de conceptos como la continuidad y el cambio continuo, la matemática discreta estudia estructuras cuyos elementos pueden contarse uno por uno separadamente. Es decir, los procesos en matemática discreta son contables, como por ejemplo, los números enteros, grafos y sentencias de lógica. Mientras que el cálculo infinitesimal es primordial en el estudio de procesos analógicos, la matemática discreta es la base de todo lo relacionado con los procesos digitales, y por tanto, se constituye en parte fundamental de la ciencia de la computación, una de las ramas de estudio impartidas en los estudios de Ingeniería Informática.

La clave en matemáticas discretas es que no es posible manejar las ideas de proximidad o límite y suavidad en las curvas, como se puede en el cálculo. Por ejemplo, en matemáticas discretas una incógnita puede ser 2 o 3, pero nunca se aproximará a 3 por la izquierda con 2.9, 2.99, 2.999, etc. Las gráficas en matemáticas discretas vienen dadas por un conjunto finito de puntos que puedes contar por separado, es decir sus variables son discretas

Presentado por YESENIA GONZALEZ céd 4-239-906

o digitales, mientras que las gráficas en cálculo son trazos continuos de rectas o curvas, es decir sus variables son continuas o analógicas.

Presentado por YESENIA GONZALEZ céd 4-239-906

El hecho de no conocer ninguna demostración de un teorema no implica su no veracidad. la inducción matemática consiste en el siguiente razonamiento: Premisa mayor: El número entero a tiene la propiedad P. Presentado por YESENIA GONZALEZ céd 4-239-906 . Premisa menor: El hecho de que cualquier número entero n tenga la propiedad P implica que n + 1 también la tiene. TECNICAS DE DEMOSTRACIÓN EN MATEMÁTICAS En general no existe un procedimiento único de demostración de teoremas. En términos simples. sí existen diferentes tipos de demostraciones que son utilizados comúnmente en matemáticas: 1. Estos pasos deben estar fundamentados en la aplicación de reglas de deducción (fundadas ya sea en axiomas o en teoremas anteriormente demostrados o en reglas básicas de deducción del sistema en cuestión). permite asegurar la veracidad de una tesis. sólo la demostración de la negación de este resultado implica que es falso. por Aristóteles).LA DEMOSTRACIÓN EN MATEMÁTICA LA INDUCCIÓN MATEMÁTICA La demostración matemática es una sucesión coherente de pasos que. o una proposición que depende de un parámetro n que toma una infinidad de valores enteros. Demostración por contraposición (formalizado y utilizado. tomando como verdadero un conjunto de premisas llamado hipótesis. en los silogismos. La inducción matemática es un razonamiento que permite demostrar una infinidad de proposiciones. Conclusión: Todos los números enteros a partir de a tienen la propiedad P.

Presentado por YESENIA GONZALEZ céd 4-239-906 . la pregunta es equivalente a ¿(∀x∈Z) (x no es múltiplo de 10 ⇒ no múltiplo de 5?. lo cual conduce a la contradicción 2=1 PRINCIPIO DE INDUCCIÓN MATEMATICA (FUERTE Y DEBIL) El principio de Inducción Matemática es un método que se utiliza para demostrar propiedades. y como caso particular. luego por k y finalmente por k+1. Este método consiste en demostrar la validez de (A ^ B) ⇒ 0. si queremos usar la contrapositiva. ¬B ≡ (∀n∈Z) (x≠n•5). descenso infinito. según la tautología "reducción al absurdo". implica la validez de A ⇒ B. lo cual. Es un método simple que consta de tres pasos fundamentales en los cuales se debe demostrar la propiedad reemplazando su incógnita por 1. ¿(∀x∈Z) (x múltiplo de 10 ⇒ múltiplo de 5?. en realidad. ¿Si un número real sumado consigo mismo es él mismo. (∀k∈Z) (x≠k•2•5)≡(∀k∈Z) (x≠k•10)≡¬A 2. un entero (n=k•2).Con este método se intenta demostrar directamente la validez de B ⇒ A. validarlas y probar que son verdaderas. formulas. según la contrapositiva. Demostración por reducción al absurdo (formalizado y utilizado por Aristóteles). equivale a demostrar que A ⇒ B es válido. Con A y B definidos anteriormente. entoces tal número es el cero? sea x∈R. podemos dividir 2x=x entre x. A∧¬B ≡ (x+x=x)∧(x≠0) Al ser x≠0. lo cual.

A ≡ P(n1) verdadero B ≡(∀k≥n1) (((∀r≤k)(P(k) verdadero)⇒ P(s(k)) verdadero) A∧B ⇒ (∀n∈S) (P(n) verdadero) INDUCCIÓN DEBIL El método de inducción débil o inducción desplazada. Llamamos paso básico a A. Es decir. Llamamos paso básico a A. paso inductivo fuerte a B y hipótesis inductiva fuerte a (∀ r≤k) (P(r) verdadero). El procedimiento es válido considerando que los elementos de lo que queremos demostrar pertenecen a un conjunto inductivo. Presentado por YESENIA GONZALEZ céd 4-239-906 . que usa un razonamiento en cierto modo inverso a este. Así. paso inductivo débil a B y hipótesis inductiva débil a P(k). pero difiere en el razonamiento de lo que queremos demostrar. el conjunto de todas las afirmaciones es un conjunto inductivo. ya que toma como base la hipótesis de que es cierta para el antecesor del que se quiere demostrar. la afirmación es cierta sólo si también se cumple para el sucesor de este último número. Se toma un número fijo y se toma como hipótesis que es cierto para otro número fijo mayor que éste y para todos los que están entre ellos.INDUCCIÓN FUERTE La inducción fuerte o inducción completa es un método de demostración matemático similar a la inducción matemática común.

A ≡ P(n1) verdadero B ≡(∀k≥n1) (P(k) verdadero)⇒ P(s(k)) verdadero) A∧B ⇒ (∀n∈S) (P(n) verdadero) INDUCCIÓN ESTRUCTURAL La inducción estructurada es un método de demostración utilizado en Lógica matemática. una prueba por inducción estructural de una proposición P(l) consta de dos partes: Una prueba de P([]) y una prueba de P(L) implica P(x::L). y que si la propiedad se cumple para todas las subestructuras de una cierta estructura S. Así. Por ejemplo. normalmente se introduce el orden parcial '<' tal que L < M siempre que exista x tal que x::L=M Bajo este orden. la prueba de una propiedad P(x) para todo elemento x de C se realiza por inducción estructural basándose en la siguiente regla de inferencia: La prueba por inducción estructural consiste en demostrar que una proposición se cumple para todos los elementos mínimos del tipo. Dado un conjunto C con un orden parcial bien fundamentado < sobre sus elementos. si la estructura es una lista. entonces se debe cumplir también para S. teoría de los grafos. Se trata de una generalización de la inducción matemática. Computación y en otras áreas. Presentado por YESENIA GONZALEZ céd 4-239-906 . la lista vacía [] es el único elemento mínimo.

Encuentre una relación de recurrencia para el número de pares de conejos en la isla al cabo de n meses. asumiendo que ningún conejo muere. R// Denotaremos por fn el numero de conejos después de n meses. Los valores de los términos necesarios para empezar a calcular se llaman condiciones iniciales. cada par produce un nuevo par. Consecuentemente {fn} satisface la relación de recurrencia: fn = fn-1 + fn-2 para n≥3.RELACIONES DE RECURRENCIA Una relación de recurrencia para una sucesión fórmula que expresa cada término a partir de cierto es una . en función de uno o más de los términos que le preceden. puesto que cada par recién nacido viene de un par de al menos 3 meses de edad. Un par de conejos no se reproduce hasta que tiene 2 meses de edad. Se dice que una sucesión es una solución de la relación de recurrencia si su término general verifica dicha relación. Después que estos tienen los 2 meses de edad. Ejemplo: Los conejos y la secuencia de Fibonacci Una joven pareja de conejos es colocada en una isla. (Secuencia de Fibonacci) Las relaciones de recurrencia pueden ser usadas para contar cadenas de bits de una longitud especificada que tiene cierta propiedad Presentado por YESENIA GONZALEZ céd 4-239-906 . Notemos que al finalizar el primer mes el numero de pares es f1=1 Igualmente al finalizar el segundo mes el numero de pares es f2=1 Para encontrar el número de pares después de n meses adicione al número de parejas en el mes previo fn-1 el número pares recién nacidos el cual es equivalente a fn-2.

es uno de los más usados y efectivos. que tratan de resolver el problema de una sola vez (como resolver un sistema de ecuaciones Ax=b encontrando la inversa de la matriz A). Método Newton – Raphson Este método. Presentado por YESENIA GONZALEZ céd 4-239-906 . Los métodos iterativos son útiles para resolver problemas que involucran un número grande de variables (a veces del orden de millones). empezando desde una estimación inicial.METODO DE ITERACIÓN Un método iterativo trata de resolver un problema (como una ecuación o un sistema de ecuaciones) mediante aproximaciones sucesivas a la solución. el método de NewtonRaphson no trabaja sobre un intervalo sino que basa su fórmula en un proceso iterativo. Supongamos que tenemos la aproximación a la raíz de . A diferencia de los métodos anteriores. Esta aproximación contrasta con los métodos directos. donde los métodos directos tendrían un coste prohibitivo incluso con la potencia del mejor computador disponible. el cual es un método iterativo.

Sin embargo. si Note que el método de Newton-Raphson no trabaja con intervalos donde nos asegure que encontraremos la raíz. ésta cruza al que será nuestra siguiente aproximación a la raíz . Desde luego. calculamos primero la ecuación de la recta tangente. Para calcular el punto en un punto . Sabemos que tiene pendiente Y por lo tanto la ecuación de la recta tangente es: Hacemos : Y despejamos : Que es la fómula iterativa de Newton-Raphson para calcular la siguiente aproximación: . y de hecho no tenemos ninguna garantía de que nos aproximaremos a dicha raíz. en los casos donde si converge a la raíz lo Presentado por YESENIA GONZALEZ céd 4-239-906 . existen ejemplos donde este método no converge a la raíz. en cuyo caso se dice que el método diverge.Trazamos la recta tangente a la curva en el punto eje .

a medida que aplicamos nuevamente el método. Método Gauss Seidel Es un método iterativo. es decir que debe aplicarse recursivamente hasta encontrar una solución adecuada o con un error considerablemente pequeño. xn de la ecuación n. … . pero si al aplicar el método reiteradas veces la solución tiene un error (ya explicaremos como se calcula este error) cada vez mayor se dice que el sistema no converge y no se puede resolver el sistema de ecuaciones por este método. En cada iteración obtenemos una solución posible del sistema con un error determinado.hace con una rapidez impresionante. x2 de la ecuación 2. por lo cual es uno de los métodos preferidos por excelencia. quedando: Presentado por YESENIA GONZALEZ céd 4-239-906 . la solución puede ser más precisa. Teniendo el siguiente sistema de ecuaciones: Despejamos x1 de la ecuación 1. entonces se dice que el sistema converge.

cada vez asignando el valor de las x1.….xn aplicamos los mismos pasos anteriores pero con los nuevos valores de las xn. de esta manera conseguimos una segunda solución: Presentado por YESENIA GONZALEZ céd 4-239-906 . De esto nos queda: Una vez que tenemos x2. despejamos x3 de la ecuación 3 y así sucesivamente con las n ecuaciones. entonces de esto resulta que: Ahora despejamos x2 de la ecuación 2 y reemplazamos a x1 por el valor obtenido en la ecuación anterior. Cuando hemos despejado las xn. Lo mas conveniente en este caso es que los valores comiencen en cero.…xn con el fin de obtener x1. Para comenzar a aplicar el método debemos asignar un valor arbitrario a las variables x2. x2. … xn-1 obtenido en el paso anterior. lo cual nos facilitaría el trabajo ya que se reduce el cálculo de las primeras soluciones. tenemos lo que se conoce como primera solución o solución de la primera iteración: Con los nuevos valores de x1. x2.Desde la formula anterior resultan las fórmulas que se deberán ir aplicando en las diferentes iteraciones.

Ahora solo queda mencionar que para que un sistema sea convergente se debe cumplir que la matriz de coeficientes sea diagonalmente dominante. con el fin de poder convertirla en una diagonalmente dominante.Al tener esta segunda solución estamos en condiciones de calcular el error que se calcula como sigue: Así. y para ello se debe verificar la siguiente expresión: Si no se cumple esa condición. repetimos el método tantas veces hasta que el error sea muy pequeño o los suficientemente aceptable. Presentado por YESENIA GONZALEZ céd 4-239-906 . se puede permutar las filas de la matriz.

. La Ecuación en Diferencia Es una ecuación que muestra la relación entra valores consecutivos de una secuencia y la diferencia entre ellos. ∆ 2Yt. una ecuación de yt en diferencias es aquella en la que yt dependerá de sus valores retardados.. en nuestro caso. sustituyendo las funciones por sucesiones. y[n] +7y[n−1] +2y[n−2] =x[n] −4x[n−1] ECUACION EN DIFERENCIA Una ecuación ordinaria en diferencias es una ecuación que contiene una o más diferencias de una función desconocida cuyo argumento es el tiempo: f(Yt. Son similares a las ecuaciones diferenciales. ∆ 3Yt. . ∆ Yt. siendo una de ellas una sucesión desconocida. En el contexto del análisis de series temporales. Lo fundamental.. Si el argumento no es únicamente el tiempo la ecuación pierde el calificativo de ordinaria y pasa a denominarse ecuación en diferencias finitas parciales. Usualmente se escribe en una ecuación recurrente para que la salida del sistema se pueda calcular de las entradas de la señal y sus valores anteriores.ECUACIONES EN DIFERENCIA Una ecuación en diferencias es una expresión que relaciona distintas sucesiones. ∆ nYt) Donde ∆ representa el operador retardo. del tiempo y de otras variables... será la Presentado por YESENIA GONZALEZ céd 4-239-906 .

Una ecuación univariante en su forma reducida es aquella en la que la endógena es expresada exclusivamente en función de retardos de ella misma. El término xt se denomina “proceso de fuerza3” y puede explicitarse de formas muy diversas: función del tiempo. Presentado por YESENIA GONZALEZ céd 4-239-906 . por el contrario. a1=1 y xt=et tenemos la formulación tradicional del paseo aleatorio anterior. La expresión genérica de esta ecuación es: Donde los coeficientes ai se suponen constantes (parámetros) y los “n” términos yt-i son de orden uno (ecuación lineal). Forma estructural y reducida de una ecuación en diferencias Una ecuación en la forma estructural expresa la variable endógena en función de valores actuales de otra endógena. Un paseo aleatorio sin deriva del tipo: Yt +1 = Yt + Et +1 Es una ecuación en diferencias con un componente estocástico (ε t). interesa principalmente lo que se denomina Ecuación en diferencias lineal de orden “n” con coeficientes constantes.aparición de los propios valores retardados de la variable yt. La forma reducida. puede incluir valores retardados de la propia endógena o de otras endógenas pero nunca valores contemporáneos. para ao=0. Por ejemplo. En el contexto de un modelo multiecuacional de series temporales una ecuación en su forma reducida puede ser expresada en su forma estructural. valores actuales y/o retardados de otras variables y/o perturbaciones aleatorias. En el contexto del análisis de series temporales.

lo será si transforma la ecuación en diferencias en una identidad para cualquier valor del proceso de fuerza Xt y cualquier valor de t. donde “c” es un término constante cualquiera. La función solución expresará Yt en función de “t” y de los elementos del proceso de fuerza (e incluso excepcionalmente de algunos valores iniciales de Yt denominados condiciones iniciales).. es decir de la variable “t” y del resto de términos de la Presentado por YESENIA GONZALEZ céd 4-239-906 .. La solución de una ecuación en diferencias será generalmente otra función. la solución de esta ecuación en diferencias nos informa de cómo se forman los valores de Yt por el “paso del tiempo”. para la ecuación simple en diferencias: la función y t c t = 2 + . las llamadas ecuaciones en diferencias admiten una solución para la variable incógnita. Yt -2.. Partiendo de una ecuación en la que postulamos que yt puede expresarse en función de valores pasados propios Yt -1. Es interesante advertir el significado de la solución de una ecuación. no un único valor.etc.SOLUCIÓN DE ECUACIONES EN DIFERENCIAS: Conceptos previos Igual que el resto de ecuaciones matemáticas. Por ejemplo. Esta solución. La solución de una ecuación en diferencias no puede incluir retardos de la propia incógnita salvo en el caso antes comentado de que sea necesario considerar condiciones iniciales de partida para Yt. es una solución: sustituyendo yt e yt-1 se comprueba enseguida la igualdad: No se deben confundir soluciones de una ecuación con formas reducidas de la misma. en nuestro caso yt.

en el paseo aleatorio. Efectivamente.ecuación en diferencias (por ejemplo. por el componente ε t). Ejemplo: Partiendo de la ecuación en diferencias Su solución permite observar el patrón de formación temporal de los valores de yt. la solución a esta ecuación podría ser: Esta solución permite observar el patrón de formación temporal de los valores de yt en el siguiente gráfico: Presentado por YESENIA GONZALEZ céd 4-239-906 . sin entrar por ahora en su cálculo.

En el nivel de lógica digital de una computadora. El álgebra de Boole (también llamada Retículas booleanas) en informática y matemática. y sus aplicaciones van en aumento en muchas otras áreas. y que está formado por los componentes electrónicos de la máquina. así como el conjunto de operaciones unión. son interpretadas como funciones de Boole.ALGEBRAS DE BOOLE Las álgebras booleanas constituyen un área de las matemáticas que ha pasado a ocupar un lugar prominente con el advenimiento de la computadora digital. O y NO. las cuales generan funciones que son calculadas por los circuitos que forman el nivel. en la etapa de diseño del hardware. Estas funciones. se trabaja con diferencias de tensión. Presentado por YESENIA GONZALEZ céd 4-239-906 . es una estructura algebraica que rigorizan las operaciones lógicas Y. lo que comúnmente se llama hardware. Son usadas ampliamente en el diseño de circuitos de distribución y computadoras. intersección y complemento.

2. Demostración de 1. En la actualidad. Gráficamente (por medio de los diagramas de Venn). entonces: 01 + 0 = 0 (1) Además como 01 es neutro.Se denomina así en honor a George Boole. Es posible demostrar dichos teoremas por cualquiera de los siguientes métodos: 1. Teoremas Fundamentales A continuación se presentan los teoremas principales del álgebra de Boole. Claude Shannon fue el primero en aplicarla en el diseño de circuitos de conmutación eléctrica biestables. por lo que deben satisfacer al postulado P. Por inducción perfecta (empleando tablas de verdad).a. matemático inglés que fue el primero en definirla como parte de un sistema lógico a mediados del siglo XIX.a. pero aplicando las reglas de dualidad. 3. El elemento 0 es único. los cuales son la base del trabajo subsecuente. 1. Aquí se empleará el método algebraico pues se considera la mejor manera de iniciarse en esta álgebra. Teoremas sobre la UNICIDAD. en 1948. por suposición. Por contradicción. Algebraicamente (empleando postulados y teoremas ya demostrados). supóngase que 0 y 01 son neutros aditivos.b. el álgebra de Boole se aplica de forma generalizada en el ámbito del diseño electrónico. entonces: 0 + 01 = 0 (2) De (1) y (2) se tiene: 01 = 0 Presentado por YESENIA GONZALEZ céd 4-239-906 . por suposición.a.3. T. El álgebra de Boole fue un intento de utilizar las técnicas algebraicas para tratar expresiones de la lógica preposicional.1. además de que sólo se demostrarán los teoremas primales. (2 de noviembre de 1815 a 8 de diciembre de 1864). El elemento 1 es único. 1. es decir: A + 0 = A y A1 + 01 = A1 Si A1 = 0 y A = 01 y como 0 es neutro.

5.3. A .con lo que se demuestra el teorema.3. A + (A .) A + A = (A + A) .) T. A .5. A + A = A 2. tales que satisfacen los postulados P.b.) (P.6.) (P. A'1 = 0 y A .5. A + (A .b.b.a.a.a.b. 4.b.b.5. A + 1 = 1 .) (P. 0 = 0 Demostración de 3.a.a) (P. Demostración Por contradicción. Teoremas sobre la EQUIPOTENCIA.) Presentado por YESENIA GONZALEZ céd 4-239-906 . es decir: A + A'1 = 1 y A + A'2 = 1 A .b.3. 1 A + (A . supóngase que existen dos elementos distintos A'1 y A'2.a) A+A=A+0 (P. T. A') (P. 1) A + 1 = A + A' A+1=1 (P.) (P.2..b.a.a.4.) T. (A + 1) A + 1 = (A + A') . B) = A T. (A + B) = A Demostración de 4.a. A + A = (A + A) .) A + A = A + (A .) (T. (1 + B) A + (A .6.) A+A=A (P.b.3. A .3.3.6. B) A + (A .6. A = A Demostración de 2.3.6.6. (A + 1) A + 1 = A + (A' . Teoremas de ABSORCIÓN.b. 1 (P.a.3. (A + A') (P. 1) + (A . B) = A .a.a. B) = A . B) = (A . B) = A 4.b. 2. y P. A'2 = 0 (P.a.a) (P. A + 1 = 1 3. TEOREMA 3. El elemento A' es único.

) (T.) (T.3.) (por suposición) (por suposición) (P.b) (por suposición) (P.3. [(A + B) + C]} Z = A + (B + C) (1) Presentado por YESENIA GONZALEZ céd 4-239-906 (P. A'2) A'2 = (A + A'2) .) (P. (1 + B + C) A . [(A + B) + C] = A . A'1) + (A'1 .7.b) (por suposición) (P.a. A + (B + C) = (A + B) + C 8.6.) (P.7. C] = A Demostración de 7.b.) (T. [(A + B) + C] = (A .5. C) A . C] = [(A . A'2 A'2 = (A .a.) (P. A) + (A .) (P. [A + (B + C)] Z = {A . A + [(A . [(A + B) + C]} Z = A + {B . A = 0 (P.) Pero: A' + A = 1 y A' . C) A .a. C) A . Teoremas sobre la ASOCIACIÓN.6. TEOREMA Para toda A en M. A'' = A T. A'2 ) + (A'1 . A'1 A'2 = A'1 (P. [(A + B) + C] = A .b. C Demostración de 8.b.5.b.) T. B) .6.) (P. (A + B) + (A . A . A . por tanto: A' + X = 1 y A' . [(A + B) + C]} Z = A + {(B + C) . Teoremas de ABSORCIÓN 7. A = A 7.7. [(A + B) + C]} Z = A + {B + C .3. A'1 A'2 = 1 . (B . A = A'' Demostración Sea A'' = X.6. C) = (A . A .Entonces: A'2 = 1 .5.b.) Así que tanto X como A' satisfacen el postulado P.) (T.) .3. [(A + B) + C]} + {(B + C) .b.b. [(A + B) + C] = A . [(A + B) + C] = A T.5.a. 1 A . [(A + B) + C] = A + (A . 8. por tanto: X = A.b.5. B) . A'2) A'2 = 0 + (A'1 .5. [(A + B) + C] = [(A + B) + C] . A'2 A'2 = (A + A'1) .b.) (T. B) + (A . A'2) A'2 = (A .2. B) + (A . es decir. B) .7. Sea: Z = [(A + B) + C] .5.b. como el complemento de A.8. [(A + B) + C] + C . X = 0 (P.

4.) (P.a.b.) (P.a. 9. B) = A + B 9. (A . B') . 1 (A + B) + (A' .) Presentado por YESENIA GONZALEZ céd 4-239-906 . B') = 1 (1) Segunda parte: (A + B) . [A + (B + C)] Z = {(A + B) .) (P. Primera parte: (A + B) + (A' . B' T.) (T.7. B' . de (1) y (2) se concluye que: (A + B)' = A' .b. (A' .) (T. (A + 1) (A + B) + (A' .b.) (P. B) + (A' . B Demostración de 9.) (T. (A + B) A + (A' .Como: Z = [(A + B) + C] . B') = (1 + B) .9. [A + (B + C)]} + C Z = {A . [A + (B + C)]} + C Z = {A .) (P. B) = (A + A') .a. A + (A' . B' 10.) (P. (A' .b. a. [A + (B + C)] + B . C) = (A . Teoremas sobre la COMPLEMENTACIÓN.5. B') = 1 .5. B) + (A' . 10.b. B') = (A' .5.a. B) (A + B) .b. (A' . B') = [(A + B) + A'] . B') = [(A' + A) + B] .8.6. (A' + B) = A .) (T. B') = [A' + (A + B)] . B)' = A' + B' Demostración de 10.7.) (T.a.) (P. B) = 1 . C) + (B .) (T. de (1) y (2) y por transitividad: Z = A + (B + C) = (A + B) + C = A + B + C T. B') = (A' .a.5. [A + (B + C)]} + {C .7. (A + B)'' = A' . (A + B) A + (A' .4. [A + (B + C)] + B} + C Z = (A + B) + C (2) Por consiguiente. A) + (A' .a.b.) (P.11.a. B') = 0 (2) Por tanto. TEOREMA 11. B') = 0 + 0 (A + B) .b.) (T.) (P. (A .a. C) (P.6. A .2. A + (A' .) (P. [(A + B) + B'] (A + B) + (A' . (A + B) (A + B) .b. [A + (B + B')] (A + B) + (A' .a.3.5. (A' . B' .2. B) = A + B T. [A + (B + C)]} Z = {(A + B) .10.6. [(A + B) + B'] (A + B) + (A' .3. Teoremas de DeMORGAN.a.

C) = (A . B) + (A . 1 . A + [(A . (A .b.a. A + (B + C) = (A + B) + C T. B) + (A . A + (A . B') (A . C) + (B . A . TEOREMA 13. (B + B') =A.4. (A + B' + C) = (A + B) . B') 13. (A' + C) Demostración de 11. (A + B') = A Demostración de (A . C) T.b. B) + (A . C T. 0 es único T. B) + (A . B) + (A' .b.) (P.9.) (P. (A .11.a. [(B + B') .b.11. = A . 1) + (A' . B) + (A .5.5. C) 12. C .a.a. B . C) = A .a.5. B) . A = A'' T.13. A .12.a. (A + B) .12.3.b.3. (B + B')] = = (A . (A + B)(A' + C)(B + C) = (A + B)(A' + C) T. B' . (A . (A + B)' = A' .10.b.1.) (P.9. A . C) = (A . C) = (A . (A + C) Demostración de 12. B') = A 13. C) + (B . (A' + B) = A . 1) (A .a.a.a. (A . (A + B) .a. los teoremas se resumen en la siguiente tabla: TEOREMA PRIMAL T. C] + [(A + A') .5. C) = (A . B' .5.1.10. (A .7.b.b. B . B)' = A' + B' T.b.2. (B + B') . (A + B) . C) = = [A . C ] = = (A B C) + (A B C') + ( A' B C) + (A' B' C) + (A B C) + (A' B C) = = (A B C) + (A B C') + ( A' B C) + (A' B' C) = (P. C) T. C) + (1 . B) + (A . B) + (A . [B + (B' . A + 1 = A T.6. C) = (A .7. A = A T. A + (A' .) = [A . B) + (A . A .b. (B + C)] = A . (C + C')] + [A' .b. C) T.) (P. C] + A = A T.a.4. (B + C) (A . B . [(A + B) + C] = [(A + B) + C] .a.a. A . B) + (A .b.b. (B .b.6. C) = (A .13. C .a A + A = A T. C)] (A . B) + (A' .1 =A (P. B) + (A' . (A + B)(A + B' + C) = (A + B) (A + C) T.2.) (T. B) + (A' .b.a.2. B T.5. B .6. B .6. B) .) (P. C] = [(A . A' es único T. B') (A .) (P.a. B' . TEOREMA 12. B) + (A . 1 es único T.b.b. 1) + (A' . B' .8. B) = A + B T. A = A T. (C + C')] + [A' .8.12.a. (A . B' .b. B) + (A' . (A' + C) . B) + (A . B) + (A .b. C) = (A . B .) (P.) Para fácil referencia.) (P. B) .13. C) + (B .11. (B + C) = (A + B) .9.a. B) + (A . (A + B') = A Presentado por YESENIA GONZALEZ céd 4-239-906 .) (T.C ) T. B) = A T. (A + B) .b.b.b. C) = A .a. A .3.3. (A + B) = A No tiene No tiene T. (A . B' T. 0 = 0 T. (A . B') = A TEOREMA DUAL T.

En la ausencia de paréntesis. Las compuertas lógicas son altamente usadas en el campo de la electrónica digital. debido al bajo costo que se logra con la alta densidad de integración. Luego se definen las expresiones de conmutación como un número finito de variables y constantes.Forma normal de funciones booleanas Otra manera importante de expresar expresiones booleanas es la forma normal. Las variables pueden valer 0 o 1. Presentado por YESENIA GONZALEZ céd 4-239-906 . pero no se requiere que los términos sean mintérminos o maxtérminos. Estos dispositivos denominan Compuertas Lógicas y están construidos a base de silicio. Y las operaciones básicas son OR (+) y AND (·). se utilizan las mismas reglas de precedencia. Por ejemplo: La siguiente es una forma normal suma de productos: La siguiente es una forma normal producto de sumas: El Algebra de Boole es un sistema matemático que utiliza variables y operadores lógicos. relacionadas mediante los operadores (AND y OR). Tiene la misma estructura básica suma de productos o producto de sumas. Compuertas Lógicas Existen dispositivos electrónicos que son capaces de representar funciones de conmutación. que tienen los operadores suma (OR) y multiplicación (AND) en el algebra normal.

Una red de compuertas lógicas constituye un circuito combinacional. Su numeración corresponde a 74LSXXX. llamadas pastillas lógicas TTL. C) = A · B · C Puede ser representada por: O bien por: RAE Las compuertas lógicas se pueden encontrar en dispositivos pequeños de uso general.Las compuertas corresponden a bloques fundamentales para la construcción de circuitos lógicos y sistemas digitales. B. Por ejemplo la ecuación de conmutación F(A. Las compuertas pueden tener más de una o dos entradas. Presentado por YESENIA GONZALEZ céd 4-239-906 .

dependiendo de la pastilla. Por ejemplo un 74LS32 internamente es de la siguiente forma: Compuerta OR-EX o XOR Es OR EXclusiva en este caso con dos entradas (puede tener más) y lo que hará con ellas será una suma lógica entre a por b invertida y a invertida por b.También existen dispositivos con alta densidad de integración como PLA. Las pastillas lógicas internamente están diseñadas con varias compuertas. CPLD y FPGA.*Al ser O Exclusiva su salida será 1 si una y sólo unade sus entradas es 1* Presentado por YESENIA GONZALEZ céd 4-239-906 .

solo agregas un círculo a la compuerta OR y ya tienes una NOR. los resultados se pueden apreciar en la tabla de verdad.. y dan origen a tres nuevas compuertas llamadas NAND. Igual que antes. NOR y NOR-EX. Compuerta NOR-EX Es simplemente la inversión de la compuerta OR-EX. que bien podrías compararla con la Presentado por YESENIA GONZALEZ céd 4-239-906 . Compuerta NOR El resultado que se obtiene a la salida de esta compuerta resulta de la inversión de la operación lógica o inclusiva es como un no a y/o b .Compuertas Lógicas Combinadas Al agregar una compuerta NOT a cada una de las compuertas anteriores los resultados de sus respectivas tablas de verdad se invierten. en su representación simbólica se reemplaza la compuerta NOT por un círculo a la salida de la compuerta AND. Veamos ahora como son y cuál es el símbolo que las representa. Compuerta NAND Responde a la inversión del producto lógico de sus entradas..

adaptador de corriente. Hay cuatro compuertas básicas. llamados compuertas lógicas (Logic gates). y ellas son diseñadas de acuerdo a su función como SI. las cuatro expresiones sencillas mínimas con las cuales se puede responder a situaciones de la vida real. conocidas Presentado por YESENIA GONZALEZ céd 4-239-906 . O. etc. Como puedes ver en el siguiente gráfico la señal de salida es la misma que de entrada. Y. su finalidad es amplificar un poco la señal (o refrescarla si se puede decir). NO. hechas con la misma tecnología de los transistores corrientes PNP o NPN. Circuitos Lógicos Todos los circuitos lógicos digitales. Buffer's En realidad no realiza ninguna operación lógica. son hechos interconectando combinaciones de simples "bloques de construcción". o sea.anterior y notar la diferencia. baterías. desde el más simple contador hasta el más sofisticado micro-procesador. Cada una de estas compuertas básicas tiene una o más entradas. En las compuertas bipolares.). una sola salida. el símbolo que la representa lo tienes en el siguiente gráfico. y una pareja de terminales para conexión a la fuente de poder (pilas.

BIT: Es una sigla formada con las palabras "dígito binario". por lo que popularmente se trabaja con el punto medio de este rango. Varias combinaciones de los BITS binarios 0 y 1 pueden ser aplicadas a las entradas de una compuerta. el voltaje de la fuente de alimentación debe estar entre 4.75 y 5. como en el sistema decimal. En electrónica digital. para facilitar el paso de un sistema al otro. sino que se dice que es un WORD de "tantos bits". pero las combinaciones se leen diferentes. en la lógica negativa se invierten las definiciones. esto es llamado lógica positiva. Por simple conveniencia.25 voltios. Aunque un word puede tener cualquier cantidad de bits. o combinación de varios símbolos para expresar una cierta cantidad. y el bit "uno" como igual al número decimal "1"(se conservaron igual estos dos símbolos). WORD significa "palabra" en ingles. más concretamente en el sistema numérico binario. tiene en binario tres bits y se lee "uno-uno-cero". Veamos un ejemplo: La expresión numérica 110 tiene en decimal 3 cifras y se lee "ciento diez". o sea 5 voltios Vcc. se ha popularizado Presentado por YESENIA GONZALEZ céd 4-239-906 . pero en este caso se emplea más bien como sinónimo de número. Las compuertas hechas con tecnología CMOS son más susceptibles a dañarse por la electricidad estática debido al manipuleo mientras se instalan en el circuito a ensamblar. no se habla de números de "tantas cifras". asumiendo que un cierto voltaje bajo representa al !cero! y un cierto voltaje alto equivale al bit "uno". y se refiere a los dos símbolos 0 y 1 utilizados en el sistema binario para calcular y medir. se adoptó el bit "cero" como igual al número decimal "0". pero luego permiten un rango bastante amplio en el voltaje de alimentación: funcionan desde 3 Vcc hasta 15 Vcc.como compuertas TLL.

tiene solamente un a entrada y una salida. corrientes. pero una salida de cada buffer puede mover una carga que esté conectada a una fuente no mayor de 30 voltios y no consuma más de 40 miliamperios (la referencia 7417 tiene salida hasta un máximo de 15 voltios. o sencillamente es un word con cuatro nibles. para ser alimentado con los 5 Vcc típicos ara TLL. pero se acostumbra colocarlos para facilitar el manejo en los circuitos electrónicos de cómputo.). estos son llamados sencillamente BYTES. referencia 7407. 00010111 00101001 Es un word igual al anterior. los bits "cero" al comienzo de un word (lado izquierdo) no representan ninguna cantidad. Igual que en el sistema decimal. es un word con dos bytes. Se les conoce a estas compuertas con el nombre de BUFFER. etc. Transmite a la salida el mismo estado lógico "alto" o "bajo" que haya en la entrada (bit 1 o bit 0). pero separados los bytes para una mejor visualización. para indicar que tienen salida apta para INTERFACE. La compañía National semiconductor vende un encapsulado con seis buffer "SI". por su acción reforzadora. por lo cual es generalmente usada para interconexión (INTERFACE) entre sí de circuitos lógicos no otros compatibles voltajes o electrónicamente (diferentes impedancias. Un word que tenga cuatro bits es denominado NIBLE. La compuerta que simula la condición "SI".entre los especialistas de computadoras en uso de words con ocho bits. y los mismos 40 miliamperios de capacidad de carga). pero es bueno aclarar que dicho término se aplica también a otras compuertas muy diferentes. Presentado por YESENIA GONZALEZ céd 4-239-906 . Veamos un ejemplo: 0001011100101001 Es un word con dieciséis bits.

tiene la propiedad de invertir a la salida la señal o nivel presente en la entrada. tendremos que A = B(con línea arriba de la b. Entrega un estado bajo en su terminal de salida cuando a su única entrada llega una señal con voltaje dentro del rango establecido como "alto". Solamente cuando las entradas A y B y C. con dos o más entradas. En ambos casos el voltaje Vcc. o sea su propia fuente de alimentación. La National Semiconductor tiene también en forma integrada. la compuerta que simula la condición "Y" (AND) es un circuito con capacidad para "decidir". si A es 0 y B es 1.. La única salida de la compuerta AND es nivel lógico 0.25. por lo que se le conoce también como INVERSOR. a menos que todas sus entradas tengan nivel lógico 1. estén en "uno". no debe ser menor de 4. y algunas veces escrita como "no B").La compuerta que simula la condición lógica "NO". Las salidas de los inversores 7406 soportan cargas conectadas a una fuente de hasta 30 voltios y proporcionan 40 miliamperios en su estado bajo. La función "NO" es generalmente indicada por una barra o vínculo sobre el símbolo. Se le utiliza también para servir de interfase (interconexión) entre dos circuitos que estén alimentados por fuentes de voltaje distinto. La referencia 7416 es solamente para un máximo de 15 voltios. en un solo encapsulado dual in line. La anterior condición lo convierte en un BUFFER NEGADOR o simplemente compuerta !NO" (NOT). seis buffer inversores. para indicar que una entrada o una salida ha sido invertida.75 ni mayor de 5. Así. La compuerta "NO" invierte o complementa el estado lógico de su única entrada. referencia 7406 o referencia 7416.. la salida será Presentado por YESENIA GONZALEZ céd 4-239-906 .

A+1 = 1 Presentado por YESENIA GONZALEZ céd 4-239-906 . A·0 = 0 .también "uno". para que la salida pase a 1. A·B = A + B 2. con dos o más entradas. La compuerta que simula la condición "0" (OR) es también un circuito que hace decisiones. A + B = A·B 2. Su salida es lógica 1 cuando cualquiera o todas sus entradas tienen un nivel lógico 1. Ley de Morgan: o 1. El álgebra booleana (Algebra de los circuitos lógicos tiene muchas leyes o teoremas muy útiles tales como: 1. Simplificación de Circuitos Lógicos Una vez que se obtiene la expresión booleana para un circuito lógico. la nueva expresión puede utilizarse para implantar un circuito que sea equivalente al original pero que contenga menos compuertas y conexiones. Ley Distributiva: o 3. A·(B+C) = A·B+A·C Además de las leyes formales para las funciones AND y OR :  5. podemos reducirla a una forma más simple que contenga menos términos. A·1 = A. Basta con que las entradas A o B o C estén en 1. A+(B·C) = (A+B)·(A+C) 4. A+0 = A 6.

que realiza la lógica detallada en la tabla de verdad (Tabla 1) Figura 1: Circuito lógico no simplificado ENTRADAS B 0 0 1 1 A 0 1 0 1 SALIDA Y 0 1 1 1 Tabla 1: Tabla de verdad de la función OR Figura 2: Circuito lógico simplificado Presentado por YESENIA GONZALEZ céd 4-239-906 . A(negada) = A Considerar la expresión booleana A·B + A·B + A·B = Y. A·A = 0.7. Observar que deben utilizarse seis puertas para implementar este circuito lógico. A+A = 1 Y la Ley de la Involución:  9. A·A = A. A+A = A 8. un diagrama lógico de ésta expresión aparece en la Figura 1.

Es decir. 8. Se dice que R es una relación de equivalencia si cumple las siguientes propiedades: • Reflexividad: Todo elemento de K está relacionado consigo mismo. Presentado por YESENIA GONZALEZ céd 4-239-906 . 4. • Simetría: Si un elemento de K está relacionado con otro. 6. [A + (B·C) = (A + B)·(A + C)] = (B + A)·1 .Aplicando el álgebra booleana: A·B + A·B + A·B = Y RAZONES = A·B + (A·B + A·B) . RELACIONES DE EQUIVALENCIA Y RELACIONES DE ORDEN Sea K un conjunto dado no vacío y R una relación binaria definida sobre K. entonces ese otro elemento también se relaciona con el primero. Propiedad conmutativa = (B + A)·(B + B) . [B·1 = B] = B + A·B. Propiedad asociativa = A·B + B·(A+A) . Es decir. 8. 3. [A * 1 = A] Concluimos entonces que una sola puerta OR de dos entradas realiza la misma función (¡De hecho la tabla 1 corresponde a la función OR!). [A + A = 1] = B + A . [A·(B + C) = A·B + A·C] = A·B + B·1. . [A + A = 1] = A·B + B. 6.

Al elemento a se le llama representante de la clase. Presentado por YESENIA GONZALEZ céd 4-239-906 . y ese otro a su vez se relaciona con un tercero. entonces el primero estará relacionado también con este último. Clases de Equivalencia La relación de equivalencia define subconjuntos disjuntos en K llamados . Es decir.• Transitividad: Si un elemento de K está relacionado con otro. Una relación de equivalencia R sobre un conjunto K puede denotarse con el par ordenado . al clases de equivalencia de la siguiente manera: Dado un elemento conjunto dado por todos los elementos relacionados con a se le llama la clase de equivalencia asociada al elemento a.

0).2).5).Se llama orden al número de clases que genera una relación de equivalencia. (6. (6.5.y) ∈ A*A / (x-y) es divisible por 3} R= {(0.1).1). pueden establecerse relaciones de equivalencia en base a algún criterio.3).4). (2. es una relación de equivalencia. dado un conjunto de objetos o entidades abstractas (potencialmente infinitas). (0. (1. como: [a] = {x ∈ A / x R a} [a] = {Los vértices desde donde se llega a a. (4. • Se define clase de equivalencia del elemento a. (2.3. si éste es finito. (0. en un solo paso} • El conjunto de todas las clases de equivalencia de A.4). (5.6). (3.5). si R es reflexiva.4.: A={0. denominado el conjunto cociente: A/R = {[a] / a ∈A } • Ejm.6)} Presentado por YESENIA GONZALEZ céd 4-239-906 . las clases resultantes son los "tipos" en los que se puede clasificar toda la gama de objetos.0).1.3). se dice que la relación es de orden finito.0).3). (3. (5. El concepto de clase de equivalencia tiene importancia en ciencia.6} R={(x.6).(4. es el conjunto A/R. (1.2). Una relación R en A.2. simétrica y transitiva (RST). (6. (3.

son llamados bloques de partición.3. • Dada una partición P de A.5}}= CONJUNTO COCIENTE • Teorema: Sea R una relación de equivalencia en A.3. b ∈ A. definida por: x R y ↔ Ai ∈P.{1.5} [3]={x ∈ A / (x-3) es divisible por 3}={0. en cada uno de ellos. [2]} = {{0.An}. con a. es una colección P= {A1. • Teorema: Concordancia entre Relaciones de equivalencia y Particiones • Dada una relación de equivalencia R en A.{1. .4} [2]={x ∈ A / (x-2) es divisible por 3}={2.R={(x. A2. los elementos están totalmente relacionados. tales que: • Ai∩Aj = Ø . de subconjuntos no vacíos de A. entonces se puede formar una relación de equivalencia R.3.4} = [1] [5]={2.. tal que: x∈Ai ∧ y∈Ai Presentado por YESENIA GONZALEZ céd 4-239-906 .6}. aquí hay 3 bloques de partición: {0. si i ≠ j • A1∪A2 ∪…∪An = A Los subconjuntos Ai. entonces.5} = [2] [6]= [3] = [0] A/R = {[0].6} [1]={x ∈ A / (x-1) es divisible por 3}={1.4}.5} 2 5 • • • • • • • • [0]={x ∈ A / (x-0) es divisible por 3}={0.4} y {2. Estos grupos se denominan “bloques de partición”. el conjunto cociente A/R es una partición de A. entonces: • [a] = [b] ↔ a R b • [a] ≠ [b] ↔ [a]∩[b] = Ø • Partición: Una partición de un conjunto no vacío A.6}=[0] [4]={1.{2.3.y) ∈ A*A / (x-y) es divisible por 3} El gráfico de R será: 0 3 6 1 4 Observar los 3 grupos que se forman.6}. [1].

Cada una de las siguientes colecciones son Presentado por YESENIA GONZALEZ céd 4-239-906 . los cuales son no vacíos y disyuntos entre sí cuya unión es A. con las siguientes Cada conjunto Ejemplo: Sea particiones de A. • • • • • se llama celda o bloque de la partición. haciendo que el procedimiento de búsqueda sea más eficiente.Particiones En el área de computación muchos algoritmos de búsqueda se basan en una técnica que “particiona” de manera sucesiva un conjunto A en subconjuntos cada vez más pequeños. . Formalmente. Una partición de un conjunto A es una colección de subconjuntos de A. una partición de un conjunto A es una familia propiedades: de subconjuntos no vacíos de A. Definición de Partición de un conjunto.

Entonces • • • • Presentado por YESENIA GONZALEZ céd 4-239-906 . relacionados con x. • • . la clase de equivalencia de x con respecto a R es el conjunto . = el conjunto de números La siguiente definición de clase de equivalencia. nos servirá para mostrar como las relaciones de equivalencia y las particiones son descripciones del mismo concepto. impares. escribiremos Ejemplo: Sea y consideremos la siguiente relación de equivalencia en A: en vez de . es el conjunto de todos los elementos de A que están Cuando solamente una relación de equivalencia R se esté considerando. Sean A un conjunto y R una relación de equivalencia en A. definido como sigue: En otras palabras.Ejemplo: Cada una de los siguientes conjuntos son particiones de = el conjunto de números pares. Para cada . Definición Clase de equivalencia.

Dado • . Dado • . por ejemplo. Ejemplo: Consideremos la relación de equivalencia congruencia módulo 5.Ejemplo: Consideremos las siguientes relaciones de equivalencia en • • . tenemos que: . Así. la clase de equivalencia del entero a es el conjunto de números y para los cuales la diferencia es un múltiplo de 5. tenemos que: Es decir. • . • Presentado por YESENIA GONZALEZ céd 4-239-906 .

En general para todo para algún . Conjunto de números con residuo 0 cuando se dividen por 5. Es decir cada entero pertenece a exactamente uno de estos cinco conjuntos. Conjunto de números con residuo 2 cuando se dividen por 5. Esto es.• • • • • • • Como se observa en este ejemplo. De manera más en general para la relación de equivalencia congruencia módulo n: como . . Presentado por YESENIA GONZALEZ céd 4-239-906 . Conjunto de números con residuo 3 cuando se dividen por 5. denotamos la clase de equivalencia que contiene a Generalizando el caso n = 5 podemos concluir que dado un entero positivo n. Conjunto de números con residuo 1cuando se dividen por 5. Conjunto de números con residuo 4 cuando se dividen por 5. Además. se tiene que .

Luego por definición de clase ( i ) Supongamos que . El resultado anterior se cumple en general para cualquier relación de equivalencia: la colección de las clases de equivalencia de una relación de equivalencia en un conjunto A forman una partición de A. Entonces Demostración: Como es reflexiva entonces de equivalencia. Es decir cada entero pertenece a exactamente uno de estos n conjuntos. Hay que probar que: Presentado por YESENIA GONZALEZ céd 4-239-906 . . Para demostrar este resultado utilizaremos el siguiente teorema. Teorema Supongamos que R una relación de equivalencia en un conjunto . Hay que demostrar las dos implicaciones: . Por lo tanto la colección de las clases de equivalencia de la relación congruencia módulo n es una partición de con n elementos.=conjunto de números con residuo r cuando se dividen por n. Además s tiene que: para todo .

Mostraremos en el siguiente teorema como una relación de equivalencia particiona un conjunto. Conjunto Cociente Sea K/ una relación de equivalencia definida en el conjunto K. Es decir. llamaremos a el conjunto cociente de K por a la partición de K formada por todas las clases de equivalencia determinadas en K por ~. .. ( ii )supongamos que por la parte . el conjunto Presentado por YESENIA GONZALEZ céd 4-239-906 . Entonces . . Por lo tanto Demostraremos que: De esta forma concluimos que La parte (c) del teorema anterior afirma que las clases de equivalencias solo se pueden relacionar de dos maneras: son idénticas o disyuntas.

Relaciones de Orden Sea R una relación binaria en un conjunto A. Presentado por YESENIA GONZALEZ céd 4-239-906 . entonces a · b o b · a. antisimétrica y transitiva se dice que R es una relación de orden. Sean A y B dos conjuntos tales que B µ A y · una relación de orden en A. entonces la relación · se denomina de orden total. mediante El conjunto de todas las clases de equivalencia se denomina conjunto cociente y se lo suele denotar como: Tal como muestra la definición anterior el conjunto cociente es un subconjunto del conjunto de partes de K. b) Elemento maximal de A es todo aquel elemento a 2 A tal que si a · b entonces a = b. En este caso si a y b son elementos de A tales que aRb. h) Supremo de A. Si · verifica la propiedad de que dados a y b en A. Podemos entonces definir varios elementos notables de A: a) Elemento minimal de A es todo aquel elemento a 2 A tal que si b · a entonces a = b. Si R satisface las propiedades reflexiva. es el mínimo de las cotas superiores de B.cociente es el conjunto de todas las clases de equivalencia que se puedan formar con los elementos de K. g) Ínfimo de B. e) Cota inferior de B es cualquier elemento a 2 A tal que a·b para todo b 2 B. c) Mínimo de A es el elemento a de A tal que a · b para todo b 2 A. lo denotaremos por a · b. f) Cota superior de B es cualquier elemento a 2 A tal que b·a para todo b2 B. es el máximo de las cotas inferiores de B. d) Máximo de A es el elemento a de A tal que b · a para todo b 2 A.

Sea el conjunto X = {1. definido por: Entonces es parcialmente ordenado. es una relación de orden parcial si y solo si al menos un par de elementos de A se relacionan entre sí. y y entonces entonces ) Reflexivo: Antisimétrico: Transitivo: o Relación de orden parcial Sea A un conjunto dado. • Ejemplo o o es totalmente ordenado. En efecto. pues sean Pero Nótese que las relaciones de orden total son un caso particular de las relaciones de orden parcial. es decir. Presentado por YESENIA GONZALEZ céd 4-239-906 . es: entonces si si (porque por definición. . es una relación de orden total si y solo si todos los elementos de A se relacionan entre sí.2.Relación de orden total Sea A un conjunto dado. es decir. Ejemplo.3} y el conjunto potencia de X. tal que • .

para todo x e y en X tales que x < y (x ≤ y y x ≠ y). el mensaje cambiará de Presentado por YESENIA GONZALEZ céd 4-239-906 . el código de Hamming es un código detector y corrector de errores que lleva el nombre de su inventor. denominado bit de paridad. al igual que los números reales. Richard Hamming. • Ejemplo 1: Los números racionales con la ordenación habitual son un conjunto densamente ordenado. Ejemplo 2: Los números enteros por otro lado con la ordenación habitual no son un conjunto densamente ordenado ya que entre un número entero y su siguiente no existe un número intermedio. • GRUPOS Y TEORIAS ALGEBRAICAS DE LA CODIFICACION Métrica de Hamming En informática. sin embargo no se distingue entre errores de dos bits y de un bit (para lo que se usa Hamming extendido). Si un solo bit cambiara por error en la transmisión. existe otro z en X tal que x < z < y. que indique si el número de los bits de valor 1 en los datos precedentes es par o impar. que pueden detectar errores en sólo un bit. Esto representa una mejora respecto a los códigos con bit de paridad. pero no pueden corregirlo.Relación de orden densa Véase también: Conjunto denso Una relación de orden parcial ≤ sobre un conjunto X se dice densa (o densa-en -sí-misma) si. Paridad La paridad consiste en añadir un bit. Si q1 < q2 entonces tenemos que q3 := (q1+q2)/2 satisface que: q1 < q3 < q2. En los datos codificados en Hamming se pueden detectar errores en un bit y corregirlos.

entonces los bits erróneos podrían ser identificados. En un conjunto de siete bits. además de que ocurrió un error.paridad y el error se puede detectar (nótese que el bit donde se produzca el error puede ser el mismo bit de paridad). hay sólo siete posibles errores de bit. dado que si cambia de forma uniforme más de un solo bit. Hamming estudió los esquemas de codificación existentes. aunque puede detectar que hay error. incluyendo el número de los bits de datos y el de los bits detectores-correctores de error en un bloque. por lo que produce muy poca sobrecarga. aunque no es muy bueno. la paridad. Para empezar. la paridad incluye un solo bit para cualquier palabra de datos. La convención más común es que un valor de paridad de 1 indica que hay un número impar de unos en los datos. y además permite la corrección de ese bit si es conocida su posición. Códigos de Hamming Si se añaden junto al mensaje más bits detectores-correctores de error y si esos bits se pueden ordenar de modo que diferentes bits de error producen diferentes resultados. y generalizó sus conclusiones. usa un único bit. La comprobación de paridad no es muy robusta. en qué bit fue. así Presentado por YESENIA GONZALEZ céd 4-239-906 . por lo que con tres bits de control de error se podría especificar. Por ejemplo. Los datos se deben desechar por entero y volverse a transmitir. y un valor de paridad de 0 indica que hay un número par de unos en los datos. una transmisión correcta podría tardar mucho tiempo o incluso. En un medio ruidoso. en el peor de los casos. desarrolló una nomenclatura para describir el sistema. no darse nunca. incluido el de dos entre cinco. no indica en qué bit se cometió. El chequeo de paridad. Por otro lado. el bit de paridad será válido y el error no será detectado.

1) (cada bit se repite cuatro veces) tiene una distancia de 4. siguiendo la misma lógica. se debe añadir un bit más. 1/3. La clave de todos sus sistemas era intercalar entre los bits de datos los de paridad. y el código se llama Hamming extendido. es decir que la palabra que se corrige es otra distinta a la original. La repetición (4.que las palabras del Código ASCII que son de siete bits. pero de forma incorrecta.7). Hamming las describía como un código (8. La repetición (3. la palabra transmitida se confunde con otra con error en un sólo bit. El algoritmo de Hamming (7. Presentado por YESENIA GONZALEZ céd 4-239-906 . En el ejemplo anterior de la repetición.4) puede corregir cualquier error de un solo bit. pero cuando hay errores en más de un bit. Para poder detectar (aunque sin corregirlos) errores de dos bits.1)tiene una distancia de 3.1). un total de 8 bits de los cuales 7 son datos. y el mensaje final será incorrecto sin saberlo. La paridad tiene una distancia de 2. esto es. Hamming también estudió los problemas que surgían al cambiar dos o más bits a la vez y describió esto como "distancia" (ahora llamada distancia de Hamming en su honor). por nuestro ejemplo de la repetición. siendo corregida. pues son necesarios el cambio simultáneo de tres bits para obtener otra palabra de código. dado que cualquier error en dos bits no será detectado. así que el cambio de dos bits en el mismo grupo quedará sin definir. El procedimiento para esto se explica al final. a la vez que se aumentan al máximo los bits de información. Durante los años 40 desarrolló varios esquemas de codificación que mejoraban notablemente los códigos existentes. sería un código (3. La relación de la información es el segundo número dividido por el primero. Hamming estaba interesado en solucionar simultáneamente dos problemas: aumentar la distancia tanto como sea posible.

15. comprueba Regla general para la posición n es: salta n-1 bits. Todos los bits cuya posición es potencia de dos se utilizan como bits de paridad (posiciones 1. • etc. comprueba 1. etc. 11. • 16. 7.). 5. 3. salta 8. Presentado por YESENIA GONZALEZ céd 4-239-906 . 8. etc. • etc. • Posición 1: salta 0. 6.El algoritmo es el siguiente: 1. Posición 4: salta 3.). 4. comprueba 2. Posición 16: salta 15. al ser estos los de su representación binaria: 13=1101(2). comprueba 8. etc. comprueba 4. tal y como se explica a continuación. a partir de éste.. comprueba 1. comprueba 16. comprueba n bits. Dicho a la inversa. • comprueba n bits. salta 1. La posición del bit de paridad determina la secuencia de los bits que alternativamente comprueba y salta. 1=0001(2). salta 2. salta n bits. 2. salta 4. etc. 64. • En otras palabras. • etc. 4 y 1. Y así sucesivamente. 32. Cada bit de paridad se obtiene calculando la paridad de alguno de los bits de datos. 13. es chequeado por los bits 8. 9. comprueba 8. comprueba 4.. 17. 4=0100(2). el bit de paridad de la posición 2k comprueba los bits en las posiciones que tengan al bit k en su representación binaria. 14. 8=1000(2). el bit 13. salta 16. comprueba 2. 2. Posición 8: salta 7. 10. Los bits del resto de posiciones son utilizados como bits de datos (posiciones 3. por ejemplo. 12. Posición 2: salta 1. 16.

Así. 14... 13. • 14.. 13.. En la Posición 2 (2^1 = 2). 14. 12. 10. 22. 7. comprobaríamos los bits: 3. donde Im es una matriz identidad m x m y la sub matriz Q consta de 2m-m-1 columnas. 13. las columnas de H están ordenadas de la siguiente forma: H=[ImQ]. 6.. los bits: 3. 15. 10. 11.. por ejemplo. los bits: 5. 6. Como las columnas de H son no nulas y Presentado por YESENIA GONZALEZ céd 4-239-906 . 9. En la Posición 8 (2^3 = 8) tendríamos: 9. • 15. 11. donde QT es la traspuesta de Q y I2m-m-1 es una matriz identidad de orden 2m-m-1. En forma sistemática. para los primeros términos se tiene: • En la Posición 1 (2^0 = 1).. En la Posición 4 (2^2 = 4). 7. 24-31. las cuales son las m-tuplas de peso 2 o más. 23. 11. la matriz generadora del código es G=[QT I2m-m-1] . 5. 12. 7. Para cualquier entero positivo m>=3. 21. existe un código Hamming con los siguientes parámetros: Longitud del Código:</TD Número de símbolos de información:</TD n=2m-1 k=2m-m-1 Número de símbolos de comprobación de paridad:</TD n-k=m Capacidad de corrección de errores:</TD t=1(dmin=3) La matriz de comprobación de paridad H de este código consta de todas las m-tuplas no nulas como columnas. 20. Siguiendo el algoritmo hasta completar la nueva cadena. En forma sistemática.. Estas columnas pueden ser colocadas en cualquier orden sin afectar a la propiedad de distancia y distribución de peso del código. • 15.

los códigos Hamming forman una clase de códigos perfectos de corrección de errores simples. Se sigue que la mínima distancia de un código Hamming es al menos 3. El número de (2m-1)-tuplas de peso 1 es 2m-1. Esto nos dice que un código Hamming corrige solamente los patrones de error simple y ningún otro. Podemos borrar cualesquiera l comunas de la matriz de comprobación de paridad H de un código Hamming. Esto da como resultado una matriz H' de orden m x (2m-l1). el código es capaz de corregir todos los patrones de error con un error simple o de detectar todos los patrones de error de dos errores o menos. Usando H' como matriz de comprobación de paridad. se pueden usar todas las (2m-1)-tuplas de peso 1 como líderes de coconjunto. el vector 0 y las (2m-1)-tuplas de peso 1 forman todos los líderes de los coconjuntos de la matriz típica. Esta es una construcción muy interesante. hi y hj. hl. Así. el vector suma de dos columnas cualesquiera. Así. el código tiene 2m coconjuntos. Si formamos una matriz típica para el código Hamming de longitud 2m-1. Como H consta de todas las m-tuplas no nulas como columnas. Un código corrector de errores de peso t se llama código perfecto si su matriz típica tiene todos los patrones de error de peso t o menor y ningún otro como líderes de coconjunto. Así hi+ hj+ hl= 0. dos columnas no pueden sumar cero. debe ser también una columna de H. Así. De aquí se sigue que la mínima distancia de un código Hamming es exactamente 3. Como n-k=m. obtenemos un código Hamming recortado con los siguientes parámetros: Longitud del Código:</TD Número de símbolos de información:</TD n=2m-1 k=2m-m-1 Número de símbolos de comprobación de paridad:</TD n-k=m Distancia mínima:</TD dmin=3 Presentado por YESENIA GONZALEZ céd 4-239-906 .distintas.

asumimos que el error ocurrido fue un error simple. obtenemos un código Hamming recortado de distancia mínima 4. Si s es distinto de cero y consta de un número par de unos. El patrón de error del error simple que corresponde a s se suma al vector recibido para la corrección de errores. pero consta de un número impar de unos. Si s es distinto de cero y contiene un número impar de unos. Cuando un error simple ocurre durante la transmisión de un vector código. cuando ocurre un error doble. El código Hamming recortado de distancia 4 puede ser usado para corregir todos los patrones de error simple y simultáneamente detectar todos los patrones de error doble. el código Hamming recortado con H' como matriz de comprobación de paridad tiene distancia mínima exactamente 4. para una columna hi de peso 3 en Q'. hs en Im tal que hi + hl + hj + hs = 0. Presentado por YESENIA GONZALEZ céd 4-239-906 . no hay tres columnas que sumen cero. Así. No obstante. se ha detectado un patrón de error no corregible. Basándonos en estos hechos. si borramos de la sub matriz Q todas las columnas de peso impar.k) esta completamente definido por las k filas de la matriz generadora G. Como todas las columnas de H' tiene peso par.donde Q' consta de 2m-1-m columnas de peso par. No obstante. existen tres columnas hj. Por ejemplo. Matriz generadora Un código lineal (n. hl.Si borramos las columnas apropiadas de H. obtenemos una matriz de peso m x 2m-1: H'=[Im Q'] . el síndrome resultante es distinto de cero y contiene un número par de unos. la decodificación puede ser realizada de la siguiente manera: Si el síndrome s es cero. asumimos que el error no existió. el síndrome es también distinto de cero.

La parte del mensaje consiste de k bits de información inalterada ( o mensaje) y la parte de redundancia consiste de de n . El código (7. A un código lineal de bloque con esta estructura se le llama código lineal sistemático de bloque. los cuatro bits que están más a la derecha de cada palabra código son idénticos a los bits correspondientes de información.k bits de comprobación de paridad. los cuales son una suma lineal de los bits de información. su palabra código correspondiente será: v = u*G = (0 0 0 1 1 0 1) Forma sistemática. donde una palabra código se divide en dos partes: la parte del mensaje y la parte de redundancia.Ejemplo El código lineal (7.4) dado en la tabla 1 tiene la siguiente matriz como matriz generadora: Sea u = (1 1 0 1) el mensaje que hay que codificar. Una propiedad deseable en un código lineal es una estructura sistemática de las palabras código como la mostrada en la siguiente figura. Forma sistemática de una palabra código: Presentado por YESENIA GONZALEZ céd 4-239-906 .4) dado en la tabla 1 es un código sistemático.

.. y que los n . son sumas lineales de los de información. Ejemplo Sea u = ( 1 0 1 1 ).. Entonces podemos obtener v de la siguiente forma: Presentado por YESENIA GONZALEZ céd 4-239-906 .k) sistemático queda completamente definido por una matriz G k x n de la siguiente forma: Esto nos muestra que los k primeros dígitos por la derecha de una palabra código v son idénticos a los dígitos de información u0. el mensaje que hay que codificar. y G la matriz de abajo.k dígitos de redundancia que están a la derecha.Un código lineal (n. uk-1 que hay que codificar. u1..

podemos comprobar: v6 = u3 v5 = u2 v4 = u1 v3 = u0 v2 = u1 + u2 + u3 v1 = u0 + u1 + u2 v0 = u0 + u2 + u3 Matriz H: Esta matriz H es la matriz de comprobación de paridad del código. Si la matriz generadora de un código lineal (n. la matriz de comprobación de paridad tiene la siguiente forma: Presentado por YESENIA GONZALEZ céd 4-239-906 .v=(1001011) Además.k) está en la forma sistemática.

H = [ In-k PT ] = Donde PT es la traspuesta de la matriz P. LENGUAJES Y MÁQUINAS. Los grupos de código tienen conjuntos de permisos asociados que se evalúan durante la concesión de la directiva. Por lo tanto. Esto implica que G HT = 0. Todo código que cumpla la condición de pertenencia se incluye en el grupo. Máquinas de Estados Finitos Presentado por YESENIA GONZALEZ céd 4-239-906 . ELEMENTOS DE INFORMÁTICA TEORICA. GRAMÁTICA. la matriz H es una matriz de comprobación de paridad del código lineal generado por la matriz G. Los administradores configuran la directiva de seguridad administrando los grupos de código y sus conjuntos de permisos asociados. Códigos de grupo Un grupo de código es una agrupación lógica de código que tiene una condición concreta para la pertenencia.

en contraposición los bits toman valores discretos (0 ó 1). que cuando la máquina produce una salida "positiva" (es Presentado por YESENIA GONZALEZ céd 4-239-906 . Una máquina de estados se denomina máquina de estados finitos (FSM por finite state machine) si el conjunto de estados de la máquina es finito. para cada instante. Sin embargo un ejemplo de una máquina de estados infinitos seria un computador cuántico esto es debido a que los Qubit que utilizaría este tipo de computadores toma valores continuos. este es el único tipo de máquinas de estados que podemos modelar en un computador en la actualidad. Las máquinas de estados se definen como un conjunto de estados que sirve de intermediario en esta relación de entradas y salidas. entonces. Puede decirse. debido a esto se suelen utilizar los términos máquina de estados y máquina de estados finitos de forma intercambiable. un estado para la máquina.Se denomina máquina de estados a un modelo de comportamiento de un sistema con entradas y salidas. en donde las salidas dependen no sólo de las señales de entradas actuales sino también de las anteriores. sin embargo también es posible utilizar un Diagrama de flujo. haciendo que el historial de señales de entrada determine. La representación de una máquina de estados se realiza mediante un Diagrama de estados. de forma tal que la salida depende únicamente del estado y las entradas actuales. Es posible clasificar las máquinas de estados en aceptoras o transductoras: • Aceptoras (también llamadas reconocedoras o discriminadoras): Son aquellas en donde la salida es binaria (si/no). Otro buen ejemplo de una máquina de estados infinitos es una Máquina universal de Turing la cual se puede definir teóricamente con una "cinta" o memoria infinita. depende únicamente del estado y existe un estado inicial.

pudiendo ésta ser binaria o más compleja. un "si"). depender de la entrada actual (no sólo del estado) y pudiendo también prescindirse de un estado inicial. En las máquinas de estados aceptoras.decir. que convierten una secuencia de señales de entrada en una secuencia de salida. La bibliografía a veces llama autómata finito a las aceptoras. Autómatas de Mealy Presentado por YESENIA GONZALEZ céd 4-239-906 . mientras que en otros casos se emplea autómata como sinónimo de máquina de estados sin importar su tipo. Un diagrama de bloques del circuito sería el siguiente: Básicamente existen dos tipos de autómatas finitos: el autómata de Mealy y el autómata de Moore. • Dos circuitos combinacionales. es porque ha "reconocido" o "aceptado" la secuencia de entrada. Siempre que hagamos el diseño de un circuito con secuenciales él los autómatas finitos siguientes podremos diferenciar en elementos: • Una memoria que permite almacenar el estado actual del autómata. uno para calcular el estado siguiente del autómata y el otro para hallar la salida. los estados con salida "positiva" se denominan estados finales. • Transductoras: Son las más generales.

estando en un determinado estado. depende tanto del estado en el que se encuentra el autómata en ese instante como de la entrada ó entradas binarias introducidas.En un Autómata de Mealy. en un instante determinado. Esto implica que un autómata de Mealy. tanto la salida del autómata como su estado siguiente. Un ejemplo en el que podemos ver los diferentes elementos que componen un diagrama de Transición de Estados de un Autómata de Mealy sería el siguiente: Presentado por YESENIA GONZALEZ céd 4-239-906 . puede evolucionar hacia estados siguientes distintos y producir salidas distintas si se introduce una ó varias entradas binarias distintas.

En el podemos distinguir los siguientes elementos: • Estados: que se pueden definir como las posibles situaciones a las que puede llegar el autómata. Como vemos en el DTE (Diagrama de Transición de Estados). Presentado por YESENIA GONZALEZ céd 4-239-906 . en el sentido indicado por las flechas. depende tanto del estado en el que se encuentra el autómata como de la entrada o entradas binarias introducidas. Un ejemplo de cómo debe leerse el diagrama para su comprensión sería el siguiente: desde el estado Q0. con entradas 00 se pasa al estado Q0. Esto implica que un autómata de Moore. Para que el autómata sea determinista de cada estado deben de salir 2 elevado a n transiciones donde n es el número de entradas. en un instante determinado. y así para todas las posibles transiciones. la salida depende del estado en que nos encontremos y del valor de las entradas. • Transiciones: son los eventos producidos por las entradas y que producirán el cambio de un estado a otro. y la salida será igual a "1". pero la salida en ese mismo instante sólo depende del estado en el que se encuentra el autómata. se pasa al estado Q1 y produce salida 0. con entradas 11. Autómatas de Moore Son aquellos en los cuales el estado siguiente. estando en un determinado estado. desde el estado Q1.

Presentado por YESENIA GONZALEZ céd 4-239-906 . Un ejemplo de un Diagrama de Estados de un Autómata de Moore sería el siguiente: Como vemos en el DTE la salida depende del estado en que nos encontremos pero no del valor de la entrada ó entradas de ese estado.produce siempre la misma salida. Algunos puntos prácticos que diferencian a ambos autómatas son los siguientes: • En Mealy la salida es obtenida antes que en Moore. Al igual que el autómata de Mealy de cada estado debe salir 2 elevado a n transiciones donde n es el número de entradas. y así para todas las posibles transiciones. una vez que el sistema a evolucionado a este nuevo estado y con entrada E0=1 se pasa al estado 10 con salida 0). independientemente de cuál sea la entrada ó entradas de datos en ese estado. El diagrama debe de interpretarse de la siguiente forma: desde el estado 00 (en el cual siempre se da salida 0) y con entrada E0=1 se pasa al estado 01 (en el que siempre tenemos salida 0).

• • • • Una vez obtenida las funciones de salida simplificadas. se construye el circuito y se simula. Se trata logisim. ya que tiene cierto carácter asíncrono. Suele ser más cómodo obtener el DTE de Moore que el de Mealy. Los diseñadores tienen a Mealy por peligroso. pero existe otro IDE que es perfecto por su sencillez para este tipo de circuitos. pero como he dicho antes suele ser una cuestión de gustos. que además se puede descargar de forma gratuita desde la página del autor. Mealy suele o puede tener menos estados que Moore.• Mealy es más ágil y nervioso que Moore. que es más ordenado y tranquilo. el circuito terminado sería el siguiente: Presentado por YESENIA GONZALEZ céd 4-239-906 . por tanto su implementación resulta más económica. En el ejemplo práctico que vamos hacer utilizaremos a Moore. Lo podemos hacer con Proteus. Los estados en Mealy suelen o pueden ser más abstractos que en Moore.

cada uno de los símbolos . se tiene Si M es una máquina de Moore. para cada palabra de . a partir del estado q.Máquinas de Equivalencia e indistinguibilidad Sea Extendemos la función de una máquina. haciendo. transición : a una función . en otras palabras. De manera similar se puede extender la . es el estado al que se llega cuando. se va aplicando. . haciendo. para cada estado donde. uno a uno. para cada estado Así pues. la función de respuesta depende únicamente del estado visitado: para cada estado Presentado por YESENIA GONZALEZ céd 4-239-906 . ya sea de Mealy o de Moore. de izquierda a derecha. Si M es una máquina de y función de respuesta a todo el diccionario Mealy. definimos para cada palabra .

Presentado por YESENIA GONZALEZ céd 4-239-906 . la función .1 Para cada Toda máquina de Mealy es equivalente a una de Moore: de Mealy tal que existe . dos máquinas son equivalentes si ambas traducen de idéntica manera a cualquier palabra de entrada.En cualquier caso. . sea en máquinas de Mealy o de Moore. se tiene que toda máquina de Moore es equivalente a una de Mealy. Ya que las máquinas de Moore son casos particulares de las máquinas de Mealy. una máquina máquina de Moore En efecto. si .t). En otras palabras. donde q0 es el estado inicial. es la función de traducción que realiza la máquina. dada una máquina de Mealy realicemos la siguiente construcción: estados: sea en . Por las semánticas procedimentales introducidas. . Veamos que el recíproco también se cumple: Proposición 1. Se ``desdobla'' cada estado ''viejo'' estados ``nuevos'' de la forma (q. se tiene que : Dos máquinas M y N se dicen ser equivalentes.

. Ejemplo Consideremos la máquina de Mealy del ejemplo 2. donde tran y res son las funciones de transición y de respuesta ``viejas''.y . anterior que ``reconoce a repeticiones finales de un mismo símbolo en máquina tiene transición y respuesta. Se ve directamente que la máquina de Moore construida es equivalente a la La máquina de Moore equivalente consiste de 7=1+6 estados y sus correspondientes transición y respuesta son Presentado por YESENIA GONZALEZ céd 4-239-906 . la .transición: sea respuesta: sea estado inicial: sea de Mealy dada. ''. Ahí.

da el último símbolo de respuesta cuando se a partir de q. Diremos que dos estados q1. . Proposición 1. consideraremos únicamente máquinas de Moore.m. En efecto. Sea que es una máquina-(n. para un .Observamos aquí que los estados no aparecen en la imagen de la función de transición nueva. los restantes cuatro estados. pues ambos estados ofrecen mismas respuestas ante mismas entradas. Intuitivamente. que son efectivamente asumidos bajo la función de respuesta res. dos estados son indistinguibles si no se los puede distinguir mediante una sucesión de estímulos. definen una máquina de Moore de 5 estados equivalente a la máquina de Mealy dada. es el es el número de símbolos de entrada y número de símbolos de salida.m. para cada sea Ii el conjunto de parejas de estados que no se tiene . Se dice es el número de estados. Por tanto. Sea estado q y una palabra aplica la función que. q2 son indistinguibles. junto con el inicial. y en tal caso. Presentado por YESENIA GONZALEZ céd 4-239-906 .2 Cualesquiera dos estados distinguibles en una máquina(n.k) si una máquina de Moore. En lo que resta de esta sección. si para cualquier palabra se tiene . se dice que los pueden ser distinguidos por palabras de longitud i.k) lo son mediante una palabra de longitud a lo sumo n-k. Los estados son distinguibles si para alguna palabra distingue.

es decir y. Presentado por YESENIA GONZALEZ céd 4-239-906 . de hecho. (5) Naturalmente. estados y símbolos de salida .Ii es una relación de equivalencia. quod erat demonstratum. La proposición anterior proporciona un algoritmo elemental para calcular. relación `` donde ''. . o sea. y las cardinalidades de : los conjuntos de símbolos de entrada. se tiene que la correspondiente sucesión de índices es creciente.1 son estrictas. 2. . es el índice de la . de manera exhaustiva. necesariamente. el número de relaciones distintas de la forma Ii está mayorizado por la desigualdad . Por tanto. De aquí puede verse que las desigualdades intermedias en la serie de relaciones 3. al cociente 1. Ya que la es decreciente. Sean asumidos. en particular. y. Por tanto. Sea sucesión de relaciones el índice de la relación Ii.

4.4). 3. luego k=24- -1=7.Sea . Residuos módulo 4: Una máquina que reconoce números binarios congruentes con 2 o con 4. La tabla para reconocer estados indistinguibles queda: Presentado por YESENIA GONZALEZ céd 4-239-906 . Dos estados son indistinguibles entre sí si los correspondientes vectores columnas en F coinciden. módulo 4. Figure 3. Ejemplo. se muestra en la figura (3. Se tiene 2+1 . el número de palabras de longitud a lo más Fórmese la matriz tal que . y .4: Reconocedor de números binarios congruentes con 2 o 4 módulo 4.

la construcción es la siguiente: Estados: clases de equivalencia Transición: . el cociente que transitan bajo cualquier estímulo. si dos estados son indistinguibles. En efecto. Presentado por YESENIA GONZALEZ céd 4-239-906 . Más aún.Por tanto. lo son también los estados a los en otras palabras. Por tanto. con . Esta definición tiene sentido pues la indistinguibilidad es congruente con las transiciones. o sea. las parejas indistinguibles entre sí.1 . la noción de indistinguibilidad es congruente con las transiciones de la máquina Observación 1. y constan de estados Se ve directamente que la relación `` '' es de equivalencia en el es una partición de Q. bajo e a la clase del estado al que transita q. puede ser dotado de una El espacio cociente estructura de máquina de Moore. conjunto de estados Q. la clase de indistinguibilidad de q transita. .

En efecto. Además. al suponer que .2 La máquina cociente tiene un número de estados que no excede al de la máquina dada. veamos que para todo tiene .Respuesta: . la máquina cociente del último ejemplo es la siguiente: Observación 1. Así por ejemplo. para y . se tiene Presentado por YESENIA GONZALEZ céd 4-239-906 . De hecho. y Estado inicial: . . En esta clase están incluidos todos los estados indistinguibles respecto a q0. es decir. la máquina cociente es equivalente a la máquina dada. Para se Ahora. la cual función también está bien definida. el nuevo estado inicial es la clase de equivalencia del estado inicial original. si hubiera una pareja de estados indistinguibles entonces el número de estados de la máquina cociente es estrictamente menor.

Son una generalización de la teoría de autómatas que permite expresar eventos concurrentes. Una red de Petri está formada por lugares. La mayoría de los problemas sobre redes de Petri son decidibles. Las transiciones se disparan. No puede haber arcos entre lugares ni entre transiciones. transiciones y arcos dirigidos. así como por fichas que ocupan posiciones. al menos en un tiempo exponencial. Los lugares contienen un número cualquiera de fichas. Las redes de Petri fueron definidas en los años 1960 por Carl Adam Petri. un tiempo de activación y una jerarquía en la red. Una transición está habilitada si tiene fichas en todas sus posiciones de entrada. Para resolverlos se utiliza un árbol de Karp-Miller. Los arcos conectan un lugar a una transición o una transición a un lugar. tales como el carácter acotado y la cobertura. Se sabe que el problema de alcance es decidible. En su forma más básica. Se puede definir una variante de las redes de Petri en las cuales las fichas pueden tener un color (una información que las distingue). Presentado por YESENIA GONZALEZ céd 4-239-906 .Redes de Petri Una Red de Petri es una representación matemática de un sistema distribuido discreto. es decir consumen fichas de una posición de inicio y producen fichas en una posición de llegada. las fichas que circulan en una red de Petri son todas idénticas.

T un conjunto de transiciones de cardinal m. dónde P es un conjunto de fichas de cardinal n. Presentado por YESENIA GONZALEZ céd 4-239-906 .Pre. M es una aplicación denominada marcado y . La presencia de marcas en una ficha se interpreta habitualmente como presencia de recursos.M} donde R es una Red de Petri como la definida. Se asocia a cada ficha un número natural. y la transición (ejecución de la acción) genera unas postcondiciones que modifican las marcas de otras fichas (se liberan los recursos) y así se permite el franqueo de transiciones posteriores. Definición: Una red de Petri es un conjunto formado por R = {P.Post}. Las marcas para una ficha se reúnen en columnas. Pre la aplicación de incidencia previa que viene definida como y Post la aplicación de incidencia posterior que viene definida como Definición: Una red marcada es el conjunto formado por {R. denominado marca. indicadas por las marcas en las fichas (hay una cantidad suficiente de recursos).Mediante una red de Petri puede modelizarse un sistema de evolución en paralelo compuesto de varios procesos que cooperan para la realización de un objetivo común. El franqueo de una transición (la acción a ejecutar) se realiza cuando se cumplen unas determinadas precondiciones. Estructura de una red de Petri.T.

p4. p3.t2. La multiplicidad de un nodo de entrada pi para una transición tj es el número de ocurrencias del nodo en el bag de entrada de la transición.I.p2. Ejemplo: P=(P. Las entradas y salidas de una transición son conjuntos que tienen elementos repetidos o múltiples ocurrencias de nodos (bags).I(tj)).t3. Definición: La estructura de la PN P=(P.pn} es un conjunto finito de nodos. p3.I.O) P={p1. pi es un nodo de salida sí pi Î O(tj).t2. t4.T. De igual forma para la salida lo cual escribimos: #(pi. PÇ T= Æ I.p3.O: T ® P Un nodo pi es un nodo de entrada de la transición tj sí pi Î I(tj). Una función de entrada y Una función de salida.O) donde:} P={p1. T={t1. Un conjunto de transiciones. Las funciones de entrada y salida relacionan a los nodos y a las transiciones.….p2.O(tj)). p5} I(t2) ={p2.T. las transiciones. la función de entrada y la función de salida.Las PN se componen de cuatro partes: • • • • Un conjunto de nodos.tm} es un conjunto finito de transiciones con m³ 0. t5} I(t1) ={p1} O(t1)={p2. La función de entrada es un mapeo de una transición tj a una colección de nodos conocidos como los nodos de entrada de una transición. Escribimos esto como: #(pi. p5} O(t2)={p5} I(t3) ={p3} O(t3)={p4} Presentado por YESENIA GONZALEZ céd 4-239-906 . La estructura de una PN es definida por los nodos.…. p5} T={t1. con n³ 0.

I(t2))=1 #(p5. Un token es un concepto primitivo de una PN. La representación gráfica de una PN es importante porque al observar el modelo del sistema en forma gráfica y observar como cambia de un estado a otro puede mantener la atención y dar una perspectiva más clara a quién esté analizando el problema. p3} I(t5) ={p4} O(t5)={p2.I(t4) ={} O(t4)={p2. p3} Donde: #(p3. …. V=PÈ T para cada ai Î A se cumple aj=(vj. La PN puede ser considerada también como un modelo de flujo de información. Presentado por YESENIA GONZALEZ céd 4-239-906 . Es decir el nodo pi tiene U(pi) tokens. a2.I. …. vk Î T.I. los tokens son la parte dinámica de la PN. vk Î P.vk) Þ vj Î P. an} es un conjunto de arcos dirigidos ai=(vj.O) es una gráfica múltiple bipartita dirigida G=(V. Definición: Una marca U de una PN P=(P. Definición: Una gráfica G de una PN P=(P.T. v2. Representación gráfica de una red de Petri.T.O(t1))=1 Una marcaU es una característica de la PN. vk Î V.A) donde V={ v1. ó vj Î T. marca U es una asignación de tokens a la PN.vk) con vj.O) es una función U: P ® N. su número puede variar entre nodos y son los que determinan la situación de la red en un momento determinado. vn} es un conjunto de vértices y A={ a1. Dicho de otra manera la información depende de lo que la PN esta modelando. en donde el comportamiento dinámico de los tokens representan el flujo. un número de ellos reside en los nodos y se mueve entre ellos.

si un arco va de un nodo a una transición. De aquí podemos obtener la primera condición de disparo en una transición: todos los nodos de entrada de la transición.p3. t5} I(t1) ={p1} O(t1)={p2.t2. Ahora consideremos la PN vista anteriormente: P=(P.p2. que de arcos que van hacia la transición.I.Un circulo O representa un nodo.T. p5} O(t2)={p5} I(t3) ={p3} O(t3)={p4} I(t4) ={} O(t4)={p2. Una transición es disparada removiendo tokens de los nodos de entrada y creando tokens de salida.t3.I.I(t2))=1 #(p5. La ejecución en una PN es controlada por el número y distribución de los tokens que tiene. una barra | representa una transición.O(t1))=1 Reglas de disparo para una PN.O) con una marca U es Presentado por YESENIA GONZALEZ céd 4-239-906 . Los tokens presentes en los nodos controlan la ejecución de las transiciones de la red. para que ésta sea disparada. p3. deben tener al menos el mismo número de tokens.O) P={p1. p4. cuando la transición cumpla esta condición se dice que es una transición ENABLED. p3. t4. el nodo será una salida de esa transición. p5} I(t2) ={p2. p5} T={t1. Definición: Una transición tj Î T en una PN P=(P.T. p3} Donde: #(p3. Los tokens son representados por pequeños puntos. el nodo será una entrada y si el arco va de una transición a un nodo. Los arcos o curvas conectan los nodos y las transiciones. Una PN se activa disparando transiciones. p3} I(t5) ={p4} O(t5)={p2.

0. t3. U(pj)>=#( pj.I(tj)). t4. Cuando t3 es disparada sólo un token es quitado a p3 y un token es depositado en p4 (sí tuviera más nodos de salida. De lo anterior surgen dos preguntas: ¿Cómo decidimos que transición debe dispararse? ¿Porqué no podemos disparar dos transiciones al mismo tiempo? Decidir que transición debe dispararse depende de nuestro modelo y sí podemos disparar más de una transición en un mismo instante entonces estamos hablando de paralelismo. Dado que t1. entonces remueve un token de p4 y deposita un token en p2 e incrementa el número de tokens en p3 de dos a tres.1. depositaria un token en cada uno de ellos). Así para la PN mostrada tenemos u=(1. el vector u sería (1.0) y el estado de la red se mueve a como se muestra en la siguiente figura.0. Podemos asociar de manera natural un vector u enlistando los valores de U.0). t3 y t4 son ENABLED cualquiera de ellas puede ser disparada.3.1.2. remueve tokens de cada entrada y los deposita en cada salida. Sí la transición t4 es disparada. el cual es entrada de ella. Presentado por YESENIA GONZALEZ céd 4-239-906 . La transición t2 no puede ser disparada porque no hay tokens en el nodo p2. Por ejemplo una transición t3 con I(t3)={p3} y O(t3)={p4} es ENABLED sólo cuando p3 tiene al menos un token. Consideremos la siguiente PN: Sólo 3 transiciones están en un estado ENABLED t1.ENABLED si para todo pj Î P. Las transiciones pueden seguir disparándose indefinidamente hasta llegar a un estado deseado o hasta que ninguna pueda ser disparada. Es decir por cada arco de salida es liberado un token.

una transición para cada nodo es la que se encarga de quitar unidades en los sumandos y poner unidades en el resultado. Dependiendo de cada número se ponen tantos tokens en los nodos correspondientes p1. se realiza una tercera suma. no podremos Presentado por YESENIA GONZALEZ céd 4-239-906 . El orden en el que se realizan las operaciones no es un orden secuencial ya que la primer suma puede ocurrir indistintamente de las sumas anteriores.Pensemos en un ejemplo concreto: queremos sumar cuatro números cualesquiera por medio de una PN. t2 dejará de ser ENABLED y si disparamos t2. Los primeros resultados parciales se almacenan en p5.O de la PN. Redes de Petri Coloreadas Las redes de Petri coloreadas (CPN) pertenecen a la familia de las PN. su resultado se pone en p7. la diferencia viene marcada por las consideraciones en CPN de colores y de funciones lineales asociadas a sus arcos. en la siguiente figura notamos que t1 y t2 pueden dispararse. p3 y p4. pero si t1 es disparada. estas redes manejan una función asociada para los elementos de las funciones I. Los tokens de color pueden representar un atributo o distintivo. Entonces además del concepto de color. si es necesario definir dos atributos entonces surge la idea de colores compuestos. Una transición en CPN está en estado ENABLED si todos sus nodos de entrada contienen un número de colores igual o mayor que los definidos por fi<c> donde fi es una función lineal asociada al nodo pi con la transición tj. cuando se efectúan las dos sumas. Es fácil ver en una Red las transiciones que están ENABLED y observar que a veces son más de dos transiciones las que se pueden disparar. p2. la realizan t5 y t6. y los últimos en p6.

o no pueden ser expresados con valores nominales. La transición que tiene arcos inhibidores no puede dispararse si el nodo de entrada contiene por lo menos tantos tokens como la multiplicidad del arco inhibidor. Este tipo de redes son las que consideran el tiempo en el modelo. En general las extensiones a la teoría de PN dependen del modelo o la aplicación donde se estén usando.disparar t1. Esto es conocido como un conflicto y nos ayuda a modelar problemas de sincronización. Extensiones al Modelo de Redes de Petri Un arco inhibidor es otro componente de una PN. Los nodos. Presentado por YESENIA GONZALEZ céd 4-239-906 . en el sentido de que un evento toma una cierta cantidad de tiempo en ocurrir. Cuando la duración de los eventos no son fijos. en el sentido de que una condición es verdadera para una cierta cantidad de tiempo. 2. éste va de un nodo a una transición y es representado con un pequeño circulo al final del arco. Redes de Petri Temporales. y p2 no tenga tokens. Es una consideración importante ya que los sistemas reales casi siempre es indispensable considerarlo en la sincronización de los procesos. Así por ejemplo la siguiente figura disparará cuando p1 tenga un token. El modelo más simple es el que asigna duración a: 1. La transición. simplemente se estiman límites dentro de los cuales el evento puede ocurrir.

si y . el cual contiene los 27 símbolos siguientes: y sabemos que la letra como . es más. a un alfabeto se denota como . La pertenencia de un símbolo Ejemplo: Podemos representar el alfabeto de las letras minúsculas que utiliza el idioma español. son conjuntos no vacíos. todas las operaciones de conjuntos se pueden aplicar a los alfabetos también. Gramáticas formales Alfabetos. Sean alfabetos. y por lo tanto serán considerados alfabetos válidos. Presentado por YESENIA GONZALEZ céd 4-239-906 . pertenece a este alfabeto. cadenas y lenguajes Definición 1 denota como Un alfabeto es un conjunto finito no vacío de símbolos y se . y ya que los alfabetos son conjuntos finitos. si y resulta en un conjunto La unión de un número arbitrario finito de alfabetos resultará en un conjunto finito y no vacío.Alfabetos y lenguajes. esto es. por lo que. no vacíos. no vacíos. entonces son conjuntos finitos. lo cual denotaremos Ya sabemos que los alfabetos son conjuntos. la unión de un número finito de ellos no vacío y finito.

sin importar si esta tiene o no significado alguno. . Dada la definición anterior. si tenemos la cadena sobre el alfabeto español. Si es cualquier cadena. cualquier palabra que contenga los símbolos del alfabeto es una cadena válida.Definición 2 Una cadena o palabra es una secuencia finita de símbolos que pertenecen a un alfabeto y comúnmente se denota con la letra denota como alfabeto . La cadena vacía no tiene símbolos. . por ejemplo. su longitud se denota como . la longitud de una cadena es el número de símbolos que contiene. La cadena vacía se y es una secuencia vacía de símbolos tomados de cualquier Sí el alfabeto es el español. . y . . algunas cadenas pueden ser . éste lenguaje se denota de la Presentado por YESENIA GONZALEZ céd 4-239-906 . definido. éstas esta formada pueden ser cualquier cadena por los símbolos donde El lenguaje vacío es aquel que no contiene cadenas y no es lo mismo que el lenguaje formado por la cadena vacía misma manera que el conjunto vacío. por lo que Definición 3 Un lenguaje es un conjunto de cadenas sobre un alfabeto . que cumpla con lo siguiente.

Jerarquía de Chomsky En lingüística la jerarquía de Chomsky es una clasificación jerárquica de distintos tipos de gramáticas formales que generan lenguajes formales. entonces diremos por algunas de las cadenas sobre el alfabeto que es un miembro de . Definición 4 los símbolos de Ejemplo: Sea Un lenguaje universal sobre algún alfabeto y se denota como . ya que los Gramáticas de tipo 0 (sin restricciones).Sí se tiene una cadena sobre un alfabeto y y es el lenguaje compuesto . Nótese que esta categoría es diferente de la de los lenguajes recursivos. es el lenguaje que contiene todas las cadenas que es posible formar con Podemos observar que para cualquier alfabeto alfabetos son conjuntos no vacíos. que incluye a todas las gramáticas formales. Esta jerarquía fue descrita por Noam Chomsky en 1956. Presentado por YESENIA GONZALEZ céd 4-239-906 . entonces . Estas gramáticas generan todos los lenguajes capaces de ser reconocidos por una máquina de Turing. . cuya decisión puede ser realizada por una máquina de Turing que se detenga. . o cerradura de . La Jerarquía de Chomsky consta de cuatro niveles: • es infinito. Los lenguajes son conocidos como lenguajes recursivamente enumerables.

La regla parte derecha de ninguna regla. asimismo un lenguaje libre del contexto es también dependiente del contexto. La regla también está permitida si S no aparece en la parte derecha de ninguna regla. pero γ no puede serlo. recursivamente enumerable. Los lenguajes descritos por estas gramáticas son exactamente todos aquellos lenguajes reconocidos por una máquina de Turing determinista cuya cinta de memoria está acotada por un cierto número entero de veces sobre la longitud de entrada. También esta familia de lenguajes pueden ser obtenidas por medio de expresiones regulares. sin embargo. • Gramáticas de tipo 3 (gramáticas regulares) generan los lenguajes regulares.• Gramáticas de tipo 1 (gramáticas sensibles al contexto) generan los lenguajes sensibles al contexto. posiblemente seguido de un no terminal. Las cadenas α y β pueden ser vacías. β y γ cadenas de está permitida si S no aparece en la terminales y no terminales. Nótese que el conjunto de gramáticas correspondiente a los lenguajes recursivos no es un miembro de la jerarquía. Estos lenguajes son aquellos que pueden ser reconocidos por un autómata con pila. Cada lenguaje regular es a su vez libre del contexto. • Gramáticas de tipo 2 (gramáticas libres del contexto) generan los lenguajes independientes del contexto. Estas gramáticas se restringen a aquellas reglas que tienen en la parte izquierda un no terminal. Presentado por YESENIA GONZALEZ céd 4-239-906 . Las inclusiones son. y en la parte derecha un solo terminal. éste es recursivo y a su vez. Las reglas son de la forma con A un no terminal y γ una cadena de terminales y no terminales. también conocidas como autómatas linealmente acotados. Estos lenguajes son aquellos que pueden ser aceptados por un autómata finito. Estas gramáticas tienen reglas de la forma con A un no terminal y α.

Normas de gramáticas producción de Tipo Lenguaje Autómata 0 recursivamente (LRE) enumerable Máquina de Turing (MT) Sin restricciones 1 dependiente del contexto (LSC) independiente (LLC) del contexto Autómata acotado linealmente αAβ → αγβ 2 Autómata con pila A→γ 3 regular (RL) Autómata finito A → aB A→a El Concepto de Lenguaje Regular Un lenguaje regular es un tipo de lenguaje formal que satisface las siguientes propiedades: Puede ser reconocido por: • • • • un autómata finito determinista un autómata finito no determinista un autómata finito alterno una máquina de Turing de solo lectura Es generado por: • • una gramática regular una gramática de prefijos Es descrito por: • una expresión regular Presentado por YESENIA GONZALEZ céd 4-239-906 . existen en cada nivel lenguajes que no están en niveles anteriores. es decir.propias.

El lenguaje L= {an bn. por ejemplo. Otros ejemplos típicos son todas las cadenas sobre el alfabeto {a. n > 0} es un lenguaje no regular dado que no es reconocido por ninguna de las formas de representación anteriormente enumeradas. n > 0} es regular porque puede ser representado. Propiedades de cierre Presentado por YESENIA GONZALEZ céd 4-239-906 . b} que contienen un número par de aes o el lenguaje que consiste en varias aes seguidas de varias bes. Un lenguaje formal infinito puede ser regular o no regular. El lenguaje L = {an.Lenguajes regulares sobre un alfabeto Un lenguaje regular sobre un alfabeto Σ dado se define recursivamente como: • • • • El lenguaje vacío es un lenguaje regular El lenguaje cadena vacía {ε} es un lenguaje regular Para todo símbolo a ∈ Σ {a} es un lenguaje regular Si A y B son lenguajes regulares entonces A ∪ B (unión). Si un lenguaje no es regular requiere una máquina con al menos una complejidad de Ω(log log n) (donde n es el tamaño de la entrada). mediante la expresión regular a+. En la práctica la mayoría de los problemas no regulares son resueltos con una complejidad logarítmica. A•B (concatenación) y A* (clausura o estrella de Kleene) son lenguajes regulares Si A es un lenguaje regular entonces (A) es el mismo lenguaje regular No existen más lenguajes regulares sobre Σ • • Todo lenguaje formal finito constituye un lenguaje regular.

f: Σ* → M es un monoide simétrico donde M es un monoide finito y S es un subconjunto de M entonces el conjunto f1 (S) es regular. se define la relación equivalente ~ en Σ* de la siguiente manera: u ~ v significa uw ∈ L si y solo si vw ∈ L para todo w ∈ Σ* Presentado por YESENIA GONZALEZ céd 4-239-906 . Para probar que un lenguaje de este tipo no es regular se usa el teorema de Myhill-Nerode. aunque la afirmación contraria no es cierta. Si Σ es un alfabeto finito y Σ* es un monoide libre consistente en todas las cadenas sobre Σ.Los lenguajes regulares son cerrados con las siguientes operaciones. por ejemplo: el lenguaje que contiene el mismo número de aes y de bes es libre de contexto pero no regular. de modo que si L y P son lenguajes regulares los siguientes lenguajes también serán regulares: • • • • • • • • El complemento de L La clausura o estrella de Kleene L* de L El homomorfismo φ(L) de L La concatenación L'P de L y P La unión L ∪ P de L y P La intersección L ∩ P de L y P La diferencia L \ P de L y P El reverso LR de L Decidir cuándo un lenguaje es regular Para situar los lenguajes regulares en la jerarquía de Chomsky hay que notar que todo lenguaje regular es también un lenguaje libre de contexto. Todo lenguaje regular se presenta de esta manera. o el lema de bombeo por ejemplo. Hay dos aproximaciones puramente algebraicas para definir lenguajes regulares. Si L es un subconjunto de Σ*.

Lenguajes finitos Un subconjunto especial de los lenguajes regulares es el de los lenguajes finitos. Otro ejemplo de una expresión regular es (0 ∪ 1)∗ Empieza con el lenguaje (0 ∪ 1) y se aplica la operación *. El valor de esta expresión son todas las palabras posibles de 0 s y 1s. En este caso el lenguaje consiste en todas las palabras que empiezan con 1 o 0 seguido por cualquier número (finito) de 0 s. Lenguajes y Expresiones Regulares En aritmética. que usamos operaciones lenguajes. Lenguajes Regulares Para un alfabeto § dado. El valor de una expresión regular es un lenguaje. este número es igual al número de estados del autómata determinista mínimo que reconocerá L.El lenguaje L es regular si y solo si el número de clases de equivalencia de ~ es finito. Estos son lenguajes obviamente regulares y uno podría crear expresiones regulares que serían la unión de todas las palabras del lenguaje que definirían dicho lenguaje. usamos las operaciones + y × para construir expresiones tales como (4 + 1) × 5 De manera similar. aquellos que solo contienen un número finito de palabras. si este es el caso. los lenguajes regulares constituyen el menor conjunto de lenguajes sobre § que es cerrado respecto a las operaciones Presentado por YESENIA GONZALEZ céd 4-239-906 . Un ejemplo es: (0 ∪ 1)0∗ El valor de la expresión aritmética es 25. regulares cuales para se construir expresiones describen las denominan expresiones regulares.

la cerradura de Kleene y la unión de lenguajes y además contiene el lenguaje ? y los lenguajes unitarios {a} para a ∈ §. {ai|i ≥ 0} es regular. L∗ son lenguajes regulares. Para toda a ∈ §. {ab} es regular. ? y {"} son lenguajes regulares 2. Podemos simplificar la representación de un lenguaje regular por medio de una abreviatura llamada expresión regular. {a} es un lenguaje regular. b} = {a} ∪ {b} ab denota {ab} Presentado por YESENIA GONZALEZ céd 4-239-906 . El conjunto de lenguajes regulares sobre § se define recursivamente como sigue: 1. 4. Por tanto a ∪ b denota {a. Si L y M son lenguajes regulares.de concatenación. las siguientes afirmaciones son verdaderas: ? y {"} son lenguajes regulares. 3. Ningún otro lenguaje sobre § es regular. entonces L ∪M. LM. b}. Definición 4 Sea § un alfabeto. {a. {a} y {b} son lenguajes regulares. b} es un lenguaje regular. Ejemplo 4 Dado § = {a. Convenimos en escribir a en lugar del lenguaje unitario {a}.

a∗ denota {a}∗ a+ denota {a}+ Además se establece un orden en los operadores, primero la clausura de Kleene (*), luego la concatenación y por último la unión. En algunos casos esto simplifica la expresión. Por ejemplo, una expresión {a} ∪ ({b}∗{c}), se reduce a la expresión regular a ∪ b∗c. De este modo, si se realiza la unión previa a la concatenación, se deben usar paréntesis; así (a ∪ b)c indica que se realiza la unión de {a} y {b} y el resultado se concatena con {c} a la derecha. Si escribimos a ∪ bc debe ser leído: se concatena {b} y {c} en ese orden y el resultado se une con {a}. Definición Formal de una Expresión Regular Definición 5 Definimos las expresiones regulares de manera recursiva: 1. ? y " son expresiones regulares. 2. a es una expresión regular para toda a ∈ §. 3. Si r y s son expresiones regulares, entonces r ∪ s, rs, r∗ son expresiones regulares. Ninguna otra secuencia de símbolos es una expresión regular. Comparando las definiciones de lenguajes regulares y expresiones regulares se deduce que toda expresión regular sobre § denota un lenguaje regular sobre §. Por ejemplo el lenguaje de todas las palabras sobre {a, b, c} que no tienen ninguna subcadena ac se denota mediante la expresión regular c∗(a ∪ bc∗)∗. Presentado por YESENIA GONZALEZ céd 4-239-906

Cuando sea necesario distinguir entre una expresión regular r y el lenguaje denotado por la misma, usaremos L(r) para identificar dicho lenguaje. Así, si se afirma w ∈ r, esto significa que w ∈ L(r). Si r y s son expresiones sobre el mismo alfabeto y si L(r) = L(s), entonces se dice que r y s son equivalentes. En el caso que r y s sean equivalentes se puede escribir r = s. también se puede usar r ⊆ s en el caso que L(r) ⊆ L(s). En la definición de la cerradura estrella se obtiene que ?∗ = {"}, y en términos de expresiones regulares se tiene que ?∗ = ". Obsérvese que hay muchas expresiones regulares que denotan el mismo lenguaje. Por ejemplo (a∗b)∗ y "∪(a∪b)∗b denotan el mismo lenguaje: el lenguaje de todas las palabras con 0 o más a s y b s, que son la palabra vacía o las que tienen una b al final. De este modo (a∗b)∗ = " ∪ (a ∪ b)∗b. Se pueden simplificar expresiones regulares reemplazándolas por otras equivalentes pero menos complejas.

ELEMENTOS DE COMPLEJIDAD ALGORITMICA. SESIONES

La complejidad algorítmica representa la cantidad de recursos (temporales) que necesita un algoritmo para resolver un problema y por tanto permite determinar la eficiencia de dicho algoritmo. Los criterios que se van a emplear para evaluar la complejidad algorítmica no proporcionan medidas absolutas sino medidas relativas al tamaño del problema.

Presentado por YESENIA GONZALEZ céd 4-239-906

En la ciencia de la computación los algoritmos son más importantes que los LP o que las computadoras; la solución de un problema haciendo uso de las computadoras requiere por una parte un algoritmo o método de resolución y por otra un programa o codificación del algoritmo en un LP. Ambos componentes tienen importancia; pero la del algoritmo es absolutamente indispensable; sabemos que un algoritmo es una secuencia de pasos para resolver un problema, sus características son: 1. Independiente: Del LP y de la máquina. 2. Definido: De pasos claros y concretos. 3. Finito: En el número de pasos que usará. 4. Preciso: Cada paso arroja un cálculo correcto. 5. Recibe datos: Debe poseer datos de entrada.

Debemos saber que una solución es un conjunto único, pero no es el único conjunto de pasos que entregan la solución, existen muchas alternativas de solución y estas alternativas pueden diferir por:
o o

Número de pasos Estructuras

Ahora que sabemos que existen muchas alternativas de solución para un problema, debemos seleccionar el algoritmo más eficiente, el mejor conjunto de pasos, el que tarde menos en ejecutarse, que tenga menos líneas de código.

Esta selección puede ser ejecutada a simple vista con sólo observar la cantidad de líneas del programa, pero cuando el programa crece se requiere Presentado por YESENIA GONZALEZ céd 4-239-906

Para calcular la memoria estática de un algoritmo se suma la memoria que ocupan las variables declaradas en el algoritmo. con este fin. o Este análisis se basa en las Complejidades Temporales. como el tiempoy espacio de memoria necesarios para ejecutarlo. o La eficiencia de un algoritmo puede ser cuantificada con las siguientes medidas de complejidad: 1. para un grafo. que llamaremos tamaño de la entrada o número de datos a procesar por el programa. 2. podría ser el número de nodos o arcos que Presentado por YESENIA GONZALEZ céd 4-239-906 . el número de elementos que la componen. para esto se realizan ciertas operaciones matemáticas que establecen la eficiencia teórica del programa. para cada problema determinaremos una medida N. siempre que consuma menos recursos. intentaremos hallar respuestas en función de dicha N. La eficiencia en memoria de un algoritmo indica la cantidad de espacio requerido para ejecutar el algoritmo. este depende de cada ejecución del algoritmo. el espacio en memoria que ocupan todas las variables propias al algoritmo. para una matriz. Para el caso de la memoria dinámica. es decir. Complejidad Espacial: Memoria que utiliza un programa para su ejecución. Complejidad Temporal o Tiempo de ejecución: Tiempo de cómputo necesario para ejecutar algún programa. COMPLEJIDAD ALGORÍTMICA o Un algoritmo será mas eficiente comparado con otro. al estudio de estos casos se denomina Complejidad Algorítmica. o l concepto exacto que cuantifica N dependerá de la naturaleza del problema. el cálculo no es tan simple ya que.una medición más exacta y apropiada. si hablamos de un array se puede ver a N como el rango del array.

Demanda: T(N) = t1 + t2 * N Donde t1 es el tiempo que lleva ejecutar la serie S1 de sentencias. o calcularse directamente sobre el código. un trozo sencillo de código como: S1. x < N. esto hace que aparezca más de un valor para T(N). Tiempo de Ejecución o El tiempo de Ejecución de un programa se mide en función de N. haciendo que las sentencias ejecutadas dependan de la condición lógica. for(x = 0. y t2 es el que lleva la serie S2. contando las instrucciones a ser ejecutadas y multiplicando por el tiempo requerido por cada instrucción. Así. o programa acompañados de un reloj. o Habitualmente todos los algoritmos contienen alguna sentencia condicional o selectiva. no se puede establecer una regla para N. pues cada problema acarrea su propia lógica y complejidad. es por ello que debemos hablar de un rango de valores: Tmin(N) ≤ T(N) ≤ Tmax(N) o Presentado por YESENIA GONZALEZ céd 4-239-906 .lo arman. x++) S2. Esta función se puede calcular físicamente ejecutando el lo que designaremos como T(N).

Presentado por YESENIA GONZALEZ céd 4-239-906 . siendo este el más difícil de estudiar. Se tratará de analizar los algoritmos dándoles autonomía frente a estos factores externos. este recursos. Estas familias se designan con O( ). cuando Ntiende al infinito ¥ . o Sean g(n) diferentes funciones que determinan el uso de Estas funciones g serán congregadas en familias.o Estos extremos son llamados "el peor caso" y "el mejor caso" y entre ambos se puede hallar "el caso promedio" o el más frecuente. usando como de agrupación su comportamiento asintótico. buscando estimaciones generales ampliamente válidas. Matemáticamente hablando. o Para cada uno de estos conjuntos se suele identificar un miembro f(n) que se utiliza como representante de la familia. o o Toda función T(N) encierra referencias al parámetro N. Asintotas o El análisis de la eficiencia algorítmica nos lleva a estudiar el comportamiento de los algoritmos frente a condiciones extremas. o Una familia de funciones que comparten un mismo comportamiento asintótico será llamada un Orden de Complejidad. o criterio comportamiento asintótico es similar cuando los argumentos toman valores muy grandes. a pesar de ser demostraciones teóricas. pudiendo existir infinidad de funciones g. brindándonos una medida pesimista pero fiable. es un comportamiento asintótico. nos centraremos en el " el peor caso" por ser de fácil cálculo y se acerca a "el caso promedio". y a una serie de constantes Ti dependientes de factores externos al algoritmo.

o El conjunto O(f(n)) es el de las funciones de orden de f(n). basta conocer una cota superior. denotándose como: g É O(f(n)). g(n) £ kf(n) } O(f(n)) esta formado por aquellas funciones g(n) que crecen a un ritmo menor o igual que el de f(n). Ejemplo: Se puede comprobar que la función g(n) = 3n3 + 2n2. De las funciones g que forman este conjunto O(f(n)) se dice que están dominadas asintóticamente por f. que se define como: O(f(n)n0. f(n) es una cota superior de g(n). es decir.hablándose del conjunto de funciones g que son del orden de f(n). en el sentido de que para N suficientemente grande. es de O(n3) Aplicando la definición dada anteriormente: g(n)= 3 n3 + 2n2 f(n)= n3 n0= 0 k=5 Se tiene: 3n3 + 2n2 £ 5n3 ∀ . g esta incluído en f(n) o Frecuentemente no es necesario conocer el comportamiento exacto. $ n0 Î À tales que. y salvo una constante multiplicativa k. n 0 ≥ Presentado por YESENIA GONZALEZ céd 4-239-906 . alguna función que se comporte ‘aún peor’. ≥ n ∀ )= { g | $ k Î Â +.

Es decir. además de ser independiente de los datos de entrada del algoritmo. Órdenes de Complejidad o La familia O(f(n)) define un Orden de Complejidad. En este caso se puede asegurar que el algoritmo es del orden de n2. se multiplica por una constante a alguno de los tiempos de ejecución anteriormente propuestos. además de la suma de algunos términos más pequeños. Así. Elegiremos como representante de este Orden de Complejidad a la función f(n) más sencilla perteneciente a esta familia. desconoce si se hace una mejor o peor implementación del algoritmo. la utilidad de aplicar esta notación a un algoritmo es encontrar el límite superior de su tiempo de ejecución ‘el peor caso’. y se escribe O(n2) o La notación O( ) ignora los factores constantes. ordenadas de mayor a menor eficiencia son: O(1) O(log n) Orden constante Orden logarítmico Presentado por YESENIA GONZALEZ céd 4-239-906 . un algoritmo cuyo tiempo de ejecución sea T = 3n2 + 6n se puede considerar proporcional a n2. o Las funciones de complejidad algorítmica más habituales en las cuales el único factor del que dependen es el tamaño de la muestra de entrada n.n 0 1 2 3 o g( ) 0 5 32 99 kf( ) 0 5 40 135 El tiempo de ejecución es proporcional.

Se encuentra en algoritmos de tipo divide y vencerás como por ejemplo en el método de ordenación quicksort y se considera una buena complejidad. Cuando las instrucciones se O(log n): Complejidad logarítmica.  determinados algoritmos con iteración o recursión no estructural. Esta suele aparecer en ejecutan una vez.  O(n log n): Complejidad cuasi-lineal.O(n) O(n log n) O(n2) O(n3) O(na) O(2n) O(n!) o Orden lineal Orden cuasi-lineal Orden cuadrático Orden cúbico Orden polinómico Orden exponencial Orden factorial Se identifica una Jerarquía de Ordenes de Complejidad que coincide con el orden de la tabla mostrada.  O(n): Complejidad lineal. Es una complejidad buena y también muy usual. el tiempo de ejecución es ligeramente mayor del doble. Aparece en la evaluación de bucles simples siempre que la complejidad de las instrucciones interiores sea constante.  O(1): Complejidad constante. Si n se duplica. Presentado por YESENIA GONZALEZ céd 4-239-906 . ejemplo la búsqueda binaria. jerarquía en el sentido de que cada orden de complejidad inferior tiene a las superiores como subconjuntos.

Si a crece.  O(na): Complejidad polinómica (a> 3). Si nse duplica. N Algoritmos Polinomiales: Aquellos que son proporcionales a na. Si n se duplica.   O(n3): Complejidad cúbica. Para un valor grande de n empieza a crecer triple anidación. Son en general factibles o aplicables. Se dan en subprogramas recursivos que contengan dos o más llamadas internas. el tiempo de ejecución aumenta cuatro veces. O(n2): Complejidad cuadrática. Suele darse en bucles con ocho. No suelen ser muy útiles complejidad del programa es bastante mala.  en la práctica por el elevadísimo tiempo de ejecución. el tiempo de ejecución se multiplica por dramáticamente. la O(2n): Complejidad exponencial. Presentado por YESENIA GONZALEZ céd 4-239-906 . los problemas basados en estos algoritmos son solucionables. Aparece en bucles o ciclos doblemente anidados.

k En general no son factibles salvo un tamaño de entrada. y se acotan de forma que se tiene: T1(n) = O(f1(n)) y T2(n)=O(f2(n)) Se puede decir que: T1(n) T2(n) = O(f1(n) f2(n)) IMPORTANCIA DE LA EFICIENCIA o n exageradamente pequeño. N Reglas de la Notación Asintótica Si T1(n) y T2(n) son las funciones que expresan los tiempos de ejecución de dos fragmentos de un programa. y se acotan de forma que se tiene: T1(n) = O(f1(n)) y T2(n) = O(f2(n)) Se puede decir que: T1(n) + T2(n) = O(max(f1(n). para demostrar la importancia de la elaboración de algoritmos eficientes. pero generalmente pertenecen a un universo ¿Que utilidad tiene diseñar algoritmos eficientes si las computadoras procesan la información cada vez más rápido? Bien.Algoritmos Exponenciales: Aquellos que son proporcionales a kn ∀ . f2(n))) Regla de la suma Regla del producto Si T1(n) y T2(n) son las funciones que expresan los tiempos de ejecución de dos fragmentos de un programa.2 ≥ de problemas de los cuales el cómputo se hace imposible. se plantea el siguiente problema: Presentado por YESENIA GONZALEZ céd 4-239-906 .

133.019.150 milenios o Ahora se tiene la misma computadora capaz de procesar datos en 10-4 seg.o Contamos con una computadora capaz de procesar datos en 10- 4 seg.684. En esta computadora se ejecuta un algoritmo que lee registros de una base de datos. Pero se ejecuta un algoritmo que hace el mismo trabajo antes citado. pero este algoritmo tiene una complejidad cúbica n3.693.3 minutos Presentado por YESENIA GONZALEZ céd 4-239-906 . dicho algoritmo tiene una complejidad exponencial 2n. ¿Cuánto tiempo se tardará en procesar una entrada n de datos? n 10 20 100 200 TIEMPO = 1 décima de segundo = 8 décimas de segundo = 1. ¿Cuánto tiempo se tardará en procesar una entrada n de datos? n 10 20 30 40 50 100 TIEMPO » 1 décima de segundo » 2 minutos > 1 día > 3 años = 3 570 años = 4.7 minutos = 13.

S2) = T(S1) + T(S2) Aplicando la regla de la suma: O(T(S1 . puede tratar grandes volumen de datos. con un orden de complejidad bajo. SWITCH-CASE) DE LA COMPLEJIDAD EN ALGORITMOS NO Presentado por YESENIA GONZALEZ céd 4-239-906 . que solo un algoritmo eficiente.) El tiempo de ejecución de una secuencia de instrucciones es igual a la suma de sus tiempos de ejecución individuales. ESTIMACIÓN RECURSIVOS •Asignaciones y expresiones simples (=) El tiempo de ejecución de toda instrucción de asignación simple. T(S2) )) •Instrucciones condicionales (IF. •Secuencias de instrucciones (. y que es intratable o desprovisto de solución en caso contrario. S2)) = max(O( T(S1). Para una secuencia de dos instrucciones S1 y S2 el tiempo de ejecución esta dado por la suma de los tiempos de ejecución de S1 y S2: T(S1 .1000 o » 1 día Se puede concluir. de la evaluación de una expresión formada por términos simples o de toda constante es O(1). se razona que un algoritmo es: o o o o Muy eficiente si su complejidad es de orden log n Eficiente si su complejidad es de orden na Ineficiente si su complejidad es de orden 2n Se considera que un problema es tratable si existe un algoritmo que lo resuelve con complejidad menor que 2n.

más el requerido para el conjunto de instrucciones que se ejecutan cuando se cumple la condición lógica. su orden esta dada por la siguiente expresión: O(T(IF-THEN-ELSE)) = O( T(condición)) + max(O(T(rama THEN)). más el mayor de los tiempos de las secuencias a ejecutar en cada valor condicional. max(O(T(rama THEN)). más el máximo valor del conjunto de instrucciones de las ramas THEN y ELSE. •Instrucciones de iteración (FOR. DO-WHILE) El tiempo de ejecución de un bucle FOR es el producto del número de iteraciones por la complejidad de las instrucciones del cuerpo del mismo bucle. O(T(rama ELSE)) ) Aplicando la regla de la suma: O(T(IF-THEN-ELSE)) = max(O( T(condición)). O(T(rama ELSE)) )) El tiempo de ejecución de un condicional múltiple (SWITCH-CASE) es el tiempo necesario para evaluar la condición. T(rama THEN) )) El tiempo de ejecución para una instrucción condicional de tipo IFTHEN-ELSE resulta de evaluar la condición. T(IF-THEN) = T(condición) + T(rama THEN) Aplicando la regla de la suma: O(T(IF-THEN)) = max(O( T(condición). T(rama ELSE)) Aplicando la regla de la suma. Presentado por YESENIA GONZALEZ céd 4-239-906 . T(IF-THEN-ELSE) = T(condición) + max(T(rama THEN). WHILE-DO.El tiempo de ejecución para una instrucción condicional IF-THEN es el tiempo necesario para evaluar la condición.

se realiza el análisis de adentro hacia fuera.Para los ciclos del tipo WHILE-DO y DO-WHILEse sigue la regla anterior. uno a la vez. el tiempo requerido para ejecutar el cuerpo del procedimiento llamado. debido a que se tiene un bucle FOR cuyo número de iteraciones es n. Si existen ciclos anidados. i > 0. O(1) for(int i = n. considerando el tiempo de ejecución de un ciclo interior y la suma del resto de proposiciones como el tiempo de ejecución de una iteración del ciclo exterior. es posible calcular el tiempo de ejecución de cada procedimiento llamado. pero se considera la evaluación del número de iteraciones para el peor caso posible. o Ejemplo: función no recursiva que halla el factorial de un número n cualquiera int factorial(int n) O(1) { int fact = 1. Presentado por YESENIA GONZALEZ céd 4-239-906 . Si un procedimiento hace llamadas a otros procedimientos "no recursivos". •Llamadas a procedimientos El tiempo de ejecución esta dado por. i--) O(n) fact = fact * i. O(1) return fact. O(1) } Su complejidad es lineal O(n). partiendo de aquellos que no llaman a ninguno.

z. es decir. entonces el bucle introduce una constante que puede ser absorbida. O(1) } Su complejidad es constante. uno dependiente n y otro dependiente del bucle superior. k = 10. liberado de n.o Ejemplo: Si el bucle se repite un número fijo de veces. O(1) z = z + k. O(1) } } } Tenemos O(n) * O(n) * O(1) = O(n2). complejidad cuadrática. O(1) vector[z + 1] = aux. O(1) for(int i = 0. O(1) vector[z] = vector[z + 1]. o Presentado por YESENIA GONZALEZ céd 4-239-906 . i < k. for(int i = 0. O(1). debido a que se tiene un bucle for independiente de n. i++) k * O(1) { y = y + i. o Ejemplo: Dos bucles anidados dependientes de n. i < n. int y. z++) O(n) { if(vector[z] > vector[z + 1]) O(1) { aux = vector[z]. Ejemplo: Dos bucles anidados. z < n. i++) O(n) { for(int z = 0.

1]. complejidad cuadrática. z--) O(n) { if(vector[z] < vector[z . O(1) } } } Tenemos que el bucle exterior se ejecuta n veces Þ O(n). o sea (n * (n+1))/2 Þ O(n). z < i.1] = aux.for(int i = 0. int c = 1. el bucle interno se ejecuta n + … + 3 + 2 + 1 veces respectivamente. O(n) * O(n) * O(1) = O(n2). i < n. O(1) vector[n] = vector[c]. O(1) vector[z] = vector[z . O(1) vector[z . O(1) while(c < n) O(log n) { if(vector[c] < vector[n]) O(1) { aux = vector[n]. O(1) Presentado por YESENIA GONZALEZ céd 4-239-906 . O(1) vector[c] = aux.1]) O(1) { aux = vector[z]. o Ejemplo: Bucles donde la evolución de la variable de control es ascendente no lineal. i++) O(n) { for(int z = n.

x = log2 n iteraciones. complejidad logarítmica. o o Ejemplo: Bucles donde la evolución de la variable de control es descendente no lineal. complejidad logarítmica. Þ para este caso es: O(1) * O(log n) * O(1) = O(log n). O(1) } Para este ejemplo al principio el valor de c es igual a n.} c = c * 2. o Ejemplo: Bucles donde la evolución de la variable de control no es lineal. O(1) while(c > 1) O(log n) { vector[c] = c. } Para este ejemplo al principio el valor de c es 1. un razonamiento análogo nos lleva a log2 n iteraciones. junto a bucles con evolución de variable lineal. O(1) c = c / 2. Presentado por YESENIA GONZALEZ céd 4-239-906 . Þ para este caso es: O(1) * O(log n) * O(1) = O(log n). al cabo de x iteraciones será 2x Þ el número de iteraciones es tal que n £ 2x donde x es el entero inmediato superior de n. int c = n. al cabo de x iteraciones será n*2-x Þ el número de iteraciones es tal que n*2-x £ n.

O(1) for(int i= 0. O(1) c = c / 2. O(1) } x = x + 2. O(1) } Tenemos un bucle interno de orden O(log n) que se ejecuta O(log n) veces. Se suele decir que el orden de complejidad de un problema es el del mejor algoritmo que se conozca para resolverlo. x. y los estudios sobre algoritmos se aplican a la realidad. En lo que sigue esbozaremos las clases de problemas que hoy por hoy se escapan a un tratamiento informático. O(1) while(c > 0) O(log n) { x = x % c. habrá una serie de algoritmos aplicables. complejidad cuasi-lineal.int c. Presentado por YESENIA GONZALEZ céd 4-239-906 . Clases P. Así se clasifican los problemas. i++) O(n) { c = i. NP y NP-completos Cuando nos enfrentamos a un problema concreto. problemas que desafían la utilización de los ordenadores para resolverlos. i < n. luego el conjunto de ordenes es de orden: O(1) * O(n) * O(log n) = O(n log n). Estos estudios han llevado a la constatación de que existen problemas muy difíciles.

se dice que son problemas intratables. ¡y se duda seriamente de que alguien lo consiga! Presentado por YESENIA GONZALEZ céd 4-239-906 . Estos problemas se caracterizan por ser todos "iguales" en el sentido de que si se descubriera una solución P para alguno de ellos. Seria muy interesante encontrar alguna solución polinómica (o mejor) que permitiera abordarlos. Esta característica lleva a un método de resolución no determinista consistente en aplicar heurísticos para obtener soluciones hipotéticas que se van desestimando (o aceptando) a ritmo polinómico.Clase P. Aquellos problemas para los que la mejor solución que se conoce es de complejidad superior a la polinómica. Clase NP-completos. Los problemas de esta clase se denominan NP (la N de nodeterministas y la P de polinómicos)...Se conoce una amplia variedad de problemas de tipo NP.Los algoritmos de complejidad polinómica se dice que son tratables en el sentido de que suelen ser abordables en la práctica. esta solución sería fácilmente aplicable a todos ellos. Los problemas para los que se conocen algoritmos con esta complejidad se dice que forman la clase P. y son los peores problemas posibles de clase NP.Algunos de estos problemas intratables pueden caracterizarse por el curioso hecho de que puede aplicarse un algoritmo polinómico para comprobar si una posible solución es válida o no. Actualmente hay un premio de prestigio equivalente al Nobel reservado para el que descubra semejante solución . Gráficamente podemos decir que algunos problemas se hayan en la "frontera externa" de la clase NP. de los cuales destacan algunos de ellos de extrema complejidad. Clase NP. Son problemas NP.

legibilidad. aunque nadie ha demostrado. si se descubriera una solución para los problemas NP-completos. Para problemas pequeños es cierto que casi todos los algoritmos son "más o menos iguales". esta sería aplicable a todos los problemas NP y. se suele trabajar con un cálculo asintótico que indica como se comporta el algoritmo para datos muy grandes y salvo algun coeficiente multiplicativo. primando otros aspectos como esfuerzo de codificación. si bien a veces conviene analizar igualmente el caso mejor y hacer alguna estimación sobre un caso promedio.Es más. Es engañoso pensar que todos los algoritmos son "más o menos iguales" y confiar en nuestra habilidad como programadores para convertir un mal algoritmo en un producto eficaz. todavía. la clase NP desaparecería del mundo científico al carecerse de problemas de ese tipo. Presentado por YESENIA GONZALEZ céd 4-239-906 . donde por bueno entendemos que utilice pocos recursos. Los órdenes de complejidad sólo son importantes para grandes problemas. la habilidad del codificador. etc. es hecho ampliamente aceptado que no debe existir. por tanto. tras años de búsqueda exhaustiva de dicha solución. la máquina soporte. etc. Para independizarse de factores coyunturales tales como el lenguaje de programación. Realmente. En el análisis de algoritmos se considera usualmente el caso peor. Antes de realizar un programa conviene elegir un buen algoritmo. Es asimismo engañoso confiar en la creciente potencia de las máquinas y el abaratamiento de las mismas como remedio de todos los problemas que puedan aparecer. siendo usualmente los más importantes el tiempo que lleve ejecutarse y la cantidad de espacio en memoria que requiera. la imposibilidad de su existencia.

Presentado por YESENIA GONZALEZ céd 4-239-906 .

Presentado por YESENIA GONZALEZ céd 4-239-906 . son de total relevancia en la ejecución de todo lo concerniente a las tecnologías de la información. Hemos podido constatar el hecho de que el funcionamiento interno de cada circuito integrado trabaja a base de la lógica digital la cual funda sus bases en ésta matemática.CONCLUSIONES Luego de la realización de nuestra investigación para concretizar el presente trabajo concluimos que los diferentes temas tratados referentes a la matemática discreta.

com/inf134/relacionesdeequivalenciaydeorden_arc hivos/frame.com/trabajos4/matematica/matematica.shtml Presentado por YESENIA GONZALEZ céd 4-239-906 .cl/~raraya/arq/material/Capitulo_3.es/cgosorio/ALeF/UD4/otros-af.html http://www.utfsm.htm http://pisuerga.html http://www.monografias.aquihayapuntes.lab.upm.mastersierra.pdf http://www.ubu.pdf http://www.BIBLIOGRAFÍA http://www.dit.es/~lprg/material/apuntes/o/index.com/automatas-secuenciales-finitos.inf.alumnos.inf.

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->