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

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

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. según la contrapositiva. descenso infinito. Este método consiste en demostrar la validez de (A ^ B) ⇒ 0. la pregunta es equivalente a ¿(∀x∈Z) (x no es múltiplo de 10 ⇒ no múltiplo de 5?. ¿(∀x∈Z) (x múltiplo de 10 ⇒ múltiplo de 5?. lo cual. (∀k∈Z) (x≠k•2•5)≡(∀k∈Z) (x≠k•10)≡¬A 2. Con A y B definidos anteriormente. y como caso particular. Presentado por YESENIA GONZALEZ céd 4-239-906 . lo cual. un entero (n=k•2). equivale a demostrar que A ⇒ B es válido. en realidad. luego por k y finalmente por k+1.Con este método se intenta demostrar directamente la validez de B ⇒ A. según la tautología "reducción al absurdo". Demostración por reducción al absurdo (formalizado y utilizado por Aristóteles). si queremos usar la contrapositiva. 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. validarlas y probar que son verdaderas. implica la validez de A ⇒ B. A∧¬B ≡ (x+x=x)∧(x≠0) Al ser x≠0. formulas. entoces tal número es el cero? sea x∈R. ¿Si un número real sumado consigo mismo es él mismo. ¬B ≡ (∀n∈Z) (x≠n•5). podemos dividir 2x=x entre x.

Llamamos paso básico a A. paso inductivo fuerte a B y hipótesis inductiva fuerte a (∀ r≤k) (P(r) verdadero). pero difiere en el razonamiento de lo que queremos demostrar. 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. ya que toma como base la hipótesis de que es cierta para el antecesor del que se quiere demostrar. que usa un razonamiento en cierto modo inverso a este. 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. Presentado por YESENIA GONZALEZ céd 4-239-906 . El procedimiento es válido considerando que los elementos de lo que queremos demostrar pertenecen a un conjunto inductivo. Así. Es decir. el conjunto de todas las afirmaciones es un conjunto inductivo. paso inductivo débil a B y hipótesis inductiva débil a P(k). Llamamos paso básico a A.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. la afirmación es cierta sólo si también se cumple para el sucesor de este último número.

y que si la propiedad se cumple para todas las subestructuras de una cierta estructura S. teoría de los grafos. si la estructura es una lista. Por ejemplo. Presentado por YESENIA GONZALEZ céd 4-239-906 . Dado un conjunto C con un orden parcial bien fundamentado < sobre sus elementos.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. 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. la lista vacía [] es el único elemento mínimo. Se trata de una generalización de la inducción 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). normalmente se introduce el orden parcial '<' tal que L < M siempre que exista x tal que x::L=M Bajo este orden. entonces se debe cumplir también para S. Computación y en otras áreas. Así.

Ejemplo: Los conejos y la secuencia de Fibonacci Una joven pareja de conejos es colocada en una isla. Después que estos tienen los 2 meses de edad. 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. asumiendo que ningún conejo muere. 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. Los valores de los términos necesarios para empezar a calcular se llaman condiciones iniciales.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 . cada par produce un nuevo par. R// Denotaremos por fn el numero de conejos después de n meses. Encuentre una relación de recurrencia para el número de pares de conejos en la isla al cabo de n meses. en función de uno o más de los términos que le preceden. Consecuentemente {fn} satisface la relación de recurrencia: fn = fn-1 + fn-2 para n≥3. puesto que cada par recién nacido viene de un par de al menos 3 meses de edad. (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 .

el cual es un método iterativo. el método de NewtonRaphson no trabaja sobre un intervalo sino que basa su fórmula en un proceso iterativo. 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). A diferencia de los métodos anteriores. Método Newton – Raphson Este método. Supongamos que tenemos la aproximación a la raíz de . Esta aproximación contrasta con los métodos directos. 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). donde los métodos directos tendrían un coste prohibitivo incluso con la potencia del mejor computador disponible. es uno de los más usados y efectivos.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. empezando desde una estimación inicial.

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

quedando: Presentado por YESENIA GONZALEZ céd 4-239-906 . a medida que aplicamos nuevamente el método. por lo cual es uno de los métodos preferidos por excelencia. En cada iteración obtenemos una solución posible del sistema con un error determinado. … . xn de la ecuación n.hace con una rapidez impresionante. la solución puede ser más precisa. entonces se dice que el sistema converge. x2 de la ecuación 2. es decir que debe aplicarse recursivamente hasta encontrar una solución adecuada o con un error considerablemente pequeño. Teniendo el siguiente sistema de ecuaciones: Despejamos x1 de la ecuación 1. Método Gauss Seidel Es un método iterativo. 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.

cada vez asignando el valor de las x1. x2. 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.…. tenemos lo que se conoce como primera solución o solución de la primera iteración: Con los nuevos valores de x1. Lo mas conveniente en este caso es que los valores comiencen en cero. Cuando hemos despejado las xn. Para comenzar a aplicar el método debemos asignar un valor arbitrario a las variables x2. despejamos x3 de la ecuación 3 y así sucesivamente con las n ecuaciones.…xn con el fin de obtener x1.xn aplicamos los mismos pasos anteriores pero con los nuevos valores de las xn. lo cual nos facilitaría el trabajo ya que se reduce el cálculo de las primeras soluciones. x2. … xn-1 obtenido en el paso anterior. 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.Desde la formula anterior resultan las fórmulas que se deberán ir aplicando en las diferentes iteraciones.

y para ello se debe verificar la siguiente expresión: Si no se cumple esa condición. Presentado por YESENIA GONZALEZ céd 4-239-906 . repetimos el método tantas veces hasta que el error sea muy pequeño o los suficientemente aceptable. se puede permutar las filas de la matriz. 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í.

. 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. En el contexto del análisis de series temporales. ∆ Yt. Son similares a las ecuaciones diferenciales. 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. Lo fundamental.. del tiempo y de otras variables.. siendo una de ellas una sucesión desconocida. 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. 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.ECUACIONES EN DIFERENCIA Una ecuación en diferencias es una expresión que relaciona distintas sucesiones. en nuestro caso. ∆ nYt) Donde ∆ representa el operador retardo. ∆ 3Yt.. será la Presentado por YESENIA GONZALEZ céd 4-239-906 . sustituyendo las funciones por sucesiones.. ∆ 2Yt. una ecuación de yt en diferencias es aquella en la que yt dependerá de sus valores retardados. .

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. En el contexto de un modelo multiecuacional de series temporales una ecuación en su forma reducida puede ser expresada en su forma estructural. 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. En el contexto del análisis de series temporales. La forma reducida. por el contrario. Un paseo aleatorio sin deriva del tipo: Yt +1 = Yt + Et +1 Es una ecuación en diferencias con un componente estocástico (ε t). 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). Por ejemplo. para ao=0. El término xt se denomina “proceso de fuerza3” y puede explicitarse de formas muy diversas: función del tiempo. a1=1 y xt=et tenemos la formulación tradicional del paseo aleatorio anterior. valores actuales y/o retardados de otras variables y/o perturbaciones aleatorias. Presentado por YESENIA GONZALEZ céd 4-239-906 . 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. puede incluir valores retardados de la propia endógena o de otras endógenas pero nunca valores contemporáneos.

no un único valor. Es interesante advertir el significado de la solución de una ecuació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. donde “c” es un término constante cualquiera. Por ejemplo. para la ecuación simple en diferencias: la función y t c t = 2 + .etc. 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).. 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”. 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. Yt -2. La solución de una ecuación en diferencias será generalmente otra función. las llamadas ecuaciones en diferencias admiten una solución para la variable incógnita. 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. es decir de la variable “t” y del resto de términos de la Presentado por YESENIA GONZALEZ céd 4-239-906 ...SOLUCIÓN DE ECUACIONES EN DIFERENCIAS: Conceptos previos Igual que el resto de ecuaciones matemáticas. Esta solución. Partiendo de una ecuación en la que postulamos que yt puede expresarse en función de valores pasados propios Yt -1.

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.ecuación en diferencias (por ejemplo. Efectivamente. en el paseo aleatorio.

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

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

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

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

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

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

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

Por ejemplo la ecuación de conmutación F(A. Su numeración corresponde a 74LSXXX. Presentado por YESENIA GONZALEZ céd 4-239-906 . 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. B. Las compuertas pueden tener más de una o dos entradas. llamadas pastillas lógicas TTL. Una red de compuertas lógicas constituye un circuito combinacional.Las compuertas corresponden a bloques fundamentales para la construcción de circuitos lógicos y sistemas digitales.

Las pastillas lógicas internamente están diseñadas con varias compuertas. 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. CPLD y FPGA. dependiendo de la pastilla.*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 .También existen dispositivos con alta densidad de integración como PLA.

los resultados se pueden apreciar en la tabla de verdad. solo agregas un círculo a la compuerta OR y ya tienes una NOR. Compuerta NAND Responde a la inversión del producto lógico de sus entradas. NOR y NOR-EX. 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.. y dan origen a tres nuevas compuertas llamadas NAND.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.. 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 . que bien podrías compararla con la Presentado por YESENIA GONZALEZ céd 4-239-906 . Igual que antes. Compuerta NOR-EX Es simplemente la inversión de la compuerta OR-EX.

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

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

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

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

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

A·A = A. A+A = 1 Y la Ley de la Involución:  9. A·A = 0. 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 .7. Observar que deben utilizarse seis puertas para implementar este circuito lógico. A+A = A 8. un diagrama lógico de ésta expresión aparece en la Figura 1. A(negada) = A Considerar la expresión booleana A·B + A·B + A·B = Y.

6. [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!). 8. Es decir. 4. entonces ese otro elemento también se relaciona con el primero. Presentado por YESENIA GONZALEZ céd 4-239-906 . [A + A = 1] = A·B + B. • Simetría: Si un elemento de K está relacionado con otro. 6. RELACIONES DE EQUIVALENCIA Y RELACIONES DE ORDEN Sea K un conjunto dado no vacío y R una relación binaria definida sobre K. 8. [A + A = 1] = B + A . [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) . Es decir. [B·1 = B] = B + A·B. [A·(B + C) = A·B + A·C] = A·B + B·1. . 3. Propiedad asociativa = A·B + B·(A+A) . Se dice que R es una relación de equivalencia si cumple las siguientes propiedades: • Reflexividad: Todo elemento de K está relacionado consigo mismo. Propiedad conmutativa = (B + A)·(B + B) .

Es decir. 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. y ese otro a su vez se relaciona con un tercero. Clases de Equivalencia La relación de equivalencia define subconjuntos disjuntos en K llamados . Presentado por YESENIA GONZALEZ céd 4-239-906 . Una relación de equivalencia R sobre un conjunto K puede denotarse con el par ordenado . entonces el primero estará relacionado también con este último. Al elemento a se le llama representante de la clase.• Transitividad: Si un elemento de K está relacionado con otro.

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

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

Definición de Partición de un conjunto. Cada una de las siguientes colecciones son Presentado por YESENIA GONZALEZ céd 4-239-906 . 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. Formalmente. . los cuales son no vacíos y disyuntos entre sí cuya unión es A. • • • • • se llama celda o bloque de la partición. haciendo que el procedimiento de búsqueda sea más eficiente. con las siguientes Cada conjunto Ejemplo: Sea particiones de A.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.

Entonces • • • • Presentado por YESENIA GONZALEZ céd 4-239-906 . = el conjunto de números La siguiente definición de clase de equivalencia. impares. • • . Sean A un conjunto y R una relación de equivalencia en A.Ejemplo: Cada una de los siguientes conjuntos son particiones de = el conjunto de números pares. la clase de equivalencia de x con respecto a R es el conjunto . nos servirá para mostrar como las relaciones de equivalencia y las particiones son descripciones del mismo concepto. definido como sigue: En otras palabras. Para cada . relacionados con x. Definición Clase de equivalencia. 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.

tenemos que: . por ejemplo. 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. • Presentado por YESENIA GONZALEZ céd 4-239-906 . tenemos que: Es decir.Ejemplo: Consideremos las siguientes relaciones de equivalencia en • • . • . Así. Dado • . Dado • . Ejemplo: Consideremos la relación de equivalencia congruencia módulo 5.

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

Hay que probar que: Presentado por YESENIA GONZALEZ céd 4-239-906 . . Además s tiene que: para todo . Hay que demostrar las dos implicaciones: .=conjunto de números con residuo r cuando se dividen por n. Para demostrar este resultado utilizaremos el siguiente teorema. Teorema Supongamos que R una relación de equivalencia en un conjunto . Luego por definición de clase ( i ) Supongamos que . Entonces Demostración: Como es reflexiva entonces de equivalencia. 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. 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. Es decir cada entero pertenece a exactamente uno de estos n conjuntos.

. 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 . 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. Es decir. el conjunto Presentado por YESENIA GONZALEZ céd 4-239-906 . Conjunto Cociente Sea K/ una relación de equivalencia definida en el conjunto K. . . Mostraremos en el siguiente teorema como una relación de equivalencia particiona un conjunto.

es el máximo de las cotas inferiores de B. 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. 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. g) Ínfimo de B. d) Máximo de A es el elemento a de A tal que b · a para todo b 2 A. h) Supremo de A. c) Mínimo de A es el elemento a de A tal que a · b para todo b 2 A. entonces a · b o b · a. Relaciones de Orden Sea R una relación binaria en un conjunto A. Si · verifica la propiedad de que dados a y b en A. es el mínimo de las cotas superiores de B. En este caso si a y b son elementos de A tales que aRb. antisimétrica y transitiva se dice que R es una relación de orden. e) Cota inferior de B es cualquier elemento a 2 A tal que a·b para todo b 2 B.cociente es el conjunto de todas las clases de equivalencia que se puedan formar con los elementos de K. Presentado por YESENIA GONZALEZ céd 4-239-906 . lo denotaremos por a · b. b) Elemento maximal de A es todo aquel elemento a 2 A tal que si a · b entonces a = b. f) Cota superior de B es cualquier elemento a 2 A tal que b·a para todo b2 B. 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. Si R satisface las propiedades reflexiva.

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

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

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

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

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

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

Se sigue que la mínima distancia de un código Hamming es al menos 3. 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í. hl. los códigos Hamming forman una clase de códigos perfectos de corrección de errores simples. el vector 0 y las (2m-1)-tuplas de peso 1 forman todos los líderes de los coconjuntos de la matriz típica. Podemos borrar cualesquiera l comunas de la matriz de comprobación de paridad H de un código Hamming. Usando H' como matriz de comprobación de paridad. Así hi+ hj+ hl= 0. hi y hj. Como H consta de todas las m-tuplas no nulas como columnas. Así. 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. Esto da como resultado una matriz H' de orden m x (2m-l1). Esto nos dice que un código Hamming corrige solamente los patrones de error simple y ningún otro. Así. Si formamos una matriz típica para el código Hamming de longitud 2m-1. el código tiene 2m coconjuntos. Esta es una construcción muy interesante. debe ser también una columna de H. De aquí se sigue que la mínima distancia de un código Hamming es exactamente 3. Como n-k=m. dos columnas no pueden sumar cero. 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 . se pueden usar todas las (2m-1)-tuplas de peso 1 como líderes de coconjunto. el vector suma de dos columnas cualesquiera.distintas. El número de (2m-1)-tuplas de peso 1 es 2m-1.

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

Ejemplo El código lineal (7. su palabra código correspondiente será: v = u*G = (0 0 0 1 1 0 1) Forma sistemática. A un código lineal de bloque con esta estructura se le llama código lineal sistemático de bloque. La parte del mensaje consiste de k bits de información inalterada ( o mensaje) y la parte de redundancia consiste de de n .k bits de comprobación de paridad. El código (7. los cuales son una suma lineal de los bits de información. 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 . 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. donde una palabra código se divide en dos partes: la parte del mensaje y la parte de redundancia.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.4) dado en la tabla 1 es un código sistemático.

y G la matriz de abajo. uk-1 que hay que codificar. el mensaje que hay que codificar.k dígitos de redundancia que están a la derecha..... son sumas lineales de los de información.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. u1. y que los n .Un código lineal (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 .

v=(1001011) Además. Si la matriz generadora de un código lineal (n. 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. la matriz de comprobación de paridad tiene la siguiente forma: Presentado por YESENIA GONZALEZ céd 4-239-906 .k) está en la forma sistemática.

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

haciendo que el historial de señales de entrada determine. de forma tal que la salida depende únicamente del estado y las entradas actuales. 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. 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. este es el único tipo de máquinas de estados que podemos modelar en un computador en la actualidad. 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. La representación de una máquina de estados se realiza mediante un Diagrama de estados. que cuando la máquina produce una salida "positiva" (es Presentado por YESENIA GONZALEZ céd 4-239-906 . depende únicamente del estado y existe un estado inicial. debido a esto se suelen utilizar los términos máquina de estados y máquina de estados finitos de forma intercambiable. en contraposición los bits toman valores discretos (0 ó 1).Se denomina máquina de estados a un modelo de comportamiento de un sistema con entradas y salidas. un estado para la máquina. 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). Las máquinas de estados se definen como un conjunto de estados que sirve de intermediario en esta relación de entradas y salidas. sin embargo también es posible utilizar un Diagrama de flujo. para cada instante. en donde las salidas dependen no sólo de las señales de entradas actuales sino también de las anteriores. entonces. Puede decirse.

• Transductoras: Son las más generales. depender de la entrada actual (no sólo del estado) y pudiendo también prescindirse de un estado inicial. que convierten una secuencia de señales de entrada en una secuencia de salida. mientras que en otros casos se emplea autómata como sinónimo de máquina de estados sin importar su tipo. 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. es porque ha "reconocido" o "aceptado" la secuencia de entrada. En las máquinas de estados aceptoras. • Dos circuitos combinacionales. los estados con salida "positiva" se denominan estados finales. La bibliografía a veces llama autómata finito a las aceptoras. 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.decir. pudiendo ésta ser binaria o más compleja. Autómatas de Mealy Presentado por YESENIA GONZALEZ céd 4-239-906 . uno para calcular el estado siguiente del autómata y el otro para hallar la salida. un "si").

estando en un determinado estado.En un Autómata de Mealy. 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 . tanto la salida del autómata como su estado siguiente. en un instante determinado. Esto implica que un autómata de Mealy. puede evolucionar hacia estados siguientes distintos y producir salidas distintas si se introduce una ó varias entradas binarias distintas. depende tanto del estado en el que se encuentra el autómata en ese instante como de la entrada ó entradas binarias introducidas.

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

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. 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). 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. Presentado por YESENIA GONZALEZ céd 4-239-906 . una vez que el sistema a evolucionado a este nuevo estado y con entrada E0=1 se pasa al estado 10 con salida 0).produce siempre la misma salida. y así para todas las posibles transiciones. Algunos puntos prácticos que diferencian a ambos autómatas son los siguientes: • En Mealy la salida es obtenida antes que en Moore.

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

ya sea de Mealy o de Moore. para cada estado donde. uno a uno. es el estado al que se llega cuando. haciendo. en otras palabras. 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 . se va aplicando. definimos para cada palabra . haciendo. De manera similar se puede extender la . se tiene Si M es una máquina de Moore. transición : a una función . Si M es una máquina de y función de respuesta a todo el diccionario Mealy. de izquierda a derecha.Máquinas de Equivalencia e indistinguibilidad Sea Extendemos la función de una máquina. a partir del estado q. cada uno de los símbolos . para cada palabra de .

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

y . . Ejemplo Consideremos la máquina de Mealy del ejemplo 2. 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 . anterior que ``reconoce a repeticiones finales de un mismo símbolo en máquina tiene transición y respuesta. ''.transición: sea respuesta: sea estado inicial: sea de Mealy dada. la . Ahí. donde tran y res son las funciones de transición y de respuesta ``viejas''.

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

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

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

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

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

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

Estructura de una red de Petri. 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. Se asocia a cada ficha un número natural.Post}.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. 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. denominado marca.Pre. Definición: Una red de Petri es un conjunto formado por R = {P. La presencia de marcas en una ficha se interpreta habitualmente como presencia de recursos. dónde P es un conjunto de fichas de cardinal n. Las marcas para una ficha se reúnen en columnas. El franqueo de una transición (la acción a ejecutar) se realiza cuando se cumplen unas determinadas precondiciones.T. T un conjunto de transiciones de cardinal m. indicadas por las marcas en las fichas (hay una cantidad suficiente de recursos). Presentado por YESENIA GONZALEZ céd 4-239-906 .M} donde R es una Red de Petri como la definida. M es una aplicación denominada marcado y .

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

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

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

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.3. el cual es entrada de ella. Consideremos la siguiente PN: Sólo 3 transiciones están en un estado ENABLED t1.2. t3 y t4 son ENABLED cualquiera de ellas puede ser disparada. depositaria un token en cada uno de ellos).I(tj)). t3. Así para la PN mostrada tenemos u=(1. 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. t4.0).0) y el estado de la red se mueve a como se muestra en la siguiente figura. Dado que t1. remueve tokens de cada entrada y los deposita en cada salida.0.0. el vector u sería (1. 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. Las transiciones pueden seguir disparándose indefinidamente hasta llegar a un estado deseado o hasta que ninguna pueda ser disparada.1. 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.1. Sí la transición t4 es disparada. Es decir por cada arco de salida es liberado un token. Podemos asociar de manera natural un vector u enlistando los valores de U.ENABLED si para todo pj Î P. 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. U(pj)>=#( pj.

la realizan t5 y t6. se realiza una tercera suma. su resultado se pone en p7.O de la PN. Entonces además del concepto de color. si es necesario definir dos atributos entonces surge la idea de colores compuestos. pero si t1 es disparada. una transición para cada nodo es la que se encarga de quitar unidades en los sumandos y poner unidades en el resultado. no podremos Presentado por YESENIA GONZALEZ céd 4-239-906 . p2. y los últimos en p6. 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. 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. Los tokens de color pueden representar un atributo o distintivo. en la siguiente figura notamos que t1 y t2 pueden dispararse. Redes de Petri Coloreadas Las redes de Petri coloreadas (CPN) pertenecen a la familia de las PN. p3 y p4. estas redes manejan una función asociada para los elementos de las funciones I. cuando se efectúan las dos sumas. la diferencia viene marcada por las consideraciones en CPN de colores y de funciones lineales asociadas a sus arcos. Los primeros resultados parciales se almacenan en p5. 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. Dependiendo de cada número se ponen tantos tokens en los nodos correspondientes p1.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.

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

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

Si es cualquier cadena. .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 se y es una secuencia vacía de símbolos tomados de cualquier Sí el alfabeto es el español. cualquier palabra que contenga los símbolos del alfabeto es una cadena válida. y . sin importar si esta tiene o no significado alguno. algunas cadenas pueden ser . definido. si tenemos la cadena sobre el alfabeto español. Dada la definición anterior. que cumpla con lo siguiente. éste lenguaje se denota de la Presentado por YESENIA GONZALEZ céd 4-239-906 . la longitud de una cadena es el número de símbolos que contiene. . por lo que Definición 3 Un lenguaje es un conjunto de cadenas sobre un alfabeto . . é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 ejemplo. su longitud se denota como . La cadena vacía no tiene símbolos.

. 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. . La Jerarquía de Chomsky consta de cuatro niveles: • es infinito. Presentado por YESENIA GONZALEZ céd 4-239-906 . o cerradura de . cuya decisión puede ser realizada por una máquina de Turing que se detenga. entonces . Los lenguajes son conocidos como lenguajes recursivamente enumerables. 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. Nótese que esta categoría es diferente de la de los lenguajes recursivos. ya que los Gramáticas de tipo 0 (sin restricciones). Esta jerarquía fue descrita por Noam Chomsky en 1956.Sí se tiene una cadena sobre un alfabeto y y es el lenguaje compuesto . que incluye a todas las gramáticas 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 . Estas gramáticas generan todos los lenguajes capaces de ser reconocidos por una máquina de Turing.

pero γ no puede serlo. Presentado por YESENIA GONZALEZ céd 4-239-906 . 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. • Gramáticas de tipo 2 (gramáticas libres del contexto) generan los lenguajes independientes del contexto. éste es recursivo y a su vez. y en la parte derecha un solo terminal. β y γ cadenas de está permitida si S no aparece en la terminales y no terminales. Estas gramáticas se restringen a aquellas reglas que tienen en la parte izquierda un no terminal. También esta familia de lenguajes pueden ser obtenidas por medio de expresiones regulares. posiblemente seguido de un no terminal. asimismo un lenguaje libre del contexto es también dependiente del contexto. Estas gramáticas tienen reglas de la forma con A un no terminal y α. • Gramáticas de tipo 3 (gramáticas regulares) generan los lenguajes regulares. sin embargo.• Gramáticas de tipo 1 (gramáticas sensibles al contexto) generan los lenguajes sensibles al contexto. Estos lenguajes son aquellos que pueden ser reconocidos por un autómata con pila. Las reglas son de la forma con A un no terminal y γ una cadena de 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. La regla parte derecha de ninguna regla. Las cadenas α y β pueden ser vacías. Estos lenguajes son aquellos que pueden ser aceptados por un autómata finito. Las inclusiones son. recursivamente enumerable. también conocidas como autómatas linealmente acotados. Cada lenguaje regular es a su vez libre del contexto. La regla también está permitida si S no aparece en la parte derecha de ninguna regla.

propias. existen en cada nivel lenguajes que no están en niveles anteriores. 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 . es decir.

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).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). 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. Un lenguaje formal infinito puede ser regular o no regular. 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. El lenguaje L= {an bn. mediante la expresión regular a+. por ejemplo. Propiedades de cierre Presentado por YESENIA GONZALEZ céd 4-239-906 . El lenguaje L = {an. En la práctica la mayoría de los problemas no regulares son resueltos con una complejidad logarítmica. b} que contienen un número par de aes o el lenguaje que consiste en varias aes seguidas de varias bes.

Si Σ es un alfabeto finito y Σ* es un monoide libre consistente en todas las cadenas sobre Σ. 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. Para probar que un lenguaje de este tipo no es regular se usa el teorema de Myhill-Nerode. por ejemplo: el lenguaje que contiene el mismo número de aes y de bes es libre de contexto pero no 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 . Si L es un subconjunto de Σ*. Todo lenguaje regular se presenta de esta manera. Hay dos aproximaciones puramente algebraicas para definir lenguajes regulares. o el lema de bombeo por ejemplo. aunque la afirmación contraria no es cierta. 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.Los lenguajes regulares son cerrados con las siguientes operaciones.

Lenguajes Regulares Para un alfabeto § dado. Un ejemplo es: (0 ∪ 1)0∗ El valor de la expresión aritmética es 25. Lenguajes y Expresiones Regulares En aritmética. El valor de esta expresión son todas las palabras posibles de 0 s y 1s.El lenguaje L es regular si y solo si el número de clases de equivalencia de ~ es finito. usamos las operaciones + y × para construir expresiones tales como (4 + 1) × 5 De manera similar. si este es el caso. Lenguajes finitos Un subconjunto especial de los lenguajes regulares es el de los lenguajes finitos. regulares cuales para se construir expresiones describen las denominan expresiones regulares. El valor de una expresión regular es un lenguaje. 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 . Otro ejemplo de una expresión regular es (0 ∪ 1)∗ Empieza con el lenguaje (0 ∪ 1) y se aplica la operación *. 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. que usamos operaciones lenguajes. aquellos que solo contienen un número finito de palabras. 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. este número es igual al número de estados del autómata determinista mínimo que reconocerá L.

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

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

o calcularse directamente sobre el código. for(x = 0. o programa acompañados de un reloj. contando las instrucciones a ser ejecutadas y multiplicando por el tiempo requerido por cada instrucción. y t2 es el que lleva la serie S2. un trozo sencillo de código como: S1.lo arman. no se puede establecer una regla para N. haciendo que las sentencias ejecutadas dependan de la condición lógica. Esta función se puede calcular físicamente ejecutando el lo que designaremos como T(N). Demanda: T(N) = t1 + t2 * N Donde t1 es el tiempo que lleva ejecutar la serie S1 de sentencias. Así. x++) S2. Tiempo de Ejecución o El tiempo de Ejecución de un programa se mide en función de 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 . x < N. esto hace que aparezca más de un valor para T(N). o Habitualmente todos los algoritmos contienen alguna sentencia condicional o selectiva.

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

$ n0 Î À tales que. alguna función que se comporte ‘aún peor’. De las funciones g que forman este conjunto O(f(n)) se dice que están dominadas asintóticamente por f. ≥ n ∀ )= { g | $ k Î Â +. 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)). en el sentido de que para N suficientemente grande. Ejemplo: Se puede comprobar que la función g(n) = 3n3 + 2n2. es decir. 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 ∀ . n 0 ≥ Presentado por YESENIA GONZALEZ céd 4-239-906 . g esta incluído en f(n) o Frecuentemente no es necesario conocer el comportamiento exacto. 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). y salvo una constante multiplicativa k. que se define como: O(f(n)n0. f(n) es una cota superior de g(n).hablándose del conjunto de funciones g que son del orden de f(n).

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 . Elegiremos como representante de este Orden de Complejidad a la función f(n) más sencilla perteneciente a esta familia. En este caso se puede asegurar que el algoritmo es del orden de n2. Así. se multiplica por una constante a alguno de los tiempos de ejecución anteriormente propuestos. Órdenes de Complejidad o La familia O(f(n)) define un Orden de Complejidad. 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’. 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. además de la suma de algunos términos más pequeños. desconoce si se hace una mejor o peor implementación del algoritmo. Es decir. y se escribe O(n2) o La notación O( ) ignora los factores constantes. además de ser independiente de los datos de entrada del algoritmo.

Si n se duplica.  O(n): Complejidad 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. Es una complejidad buena y también muy usual.  O(1): Complejidad constante. el tiempo de ejecución es ligeramente mayor del doble. Presentado por YESENIA GONZALEZ céd 4-239-906 . Esta suele aparecer en ejecutan una vez. Aparece en la evaluación de bucles simples siempre que la complejidad de las instrucciones interiores sea constante. 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.  determinados algoritmos con iteración o recursión no estructural. jerarquía en el sentido de que cada orden de complejidad inferior tiene a las superiores como subconjuntos. ejemplo la búsqueda binaria. Cuando las instrucciones se O(log n): Complejidad logarítmica.  O(n log n): Complejidad cuasi-lineal.

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

se plantea el siguiente problema: Presentado por YESENIA GONZALEZ céd 4-239-906 .Algoritmos Exponenciales: Aquellos que son proporcionales a kn ∀ . 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. para demostrar la importancia de la elaboración de algoritmos eficientes.2 ≥ de problemas de los cuales el cómputo se hace imposible. 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. 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. 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. 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).

¿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.150 milenios o Ahora se tiene la misma computadora capaz de procesar datos en 10-4 seg.019. Pero se ejecuta un algoritmo que hace el mismo trabajo antes citado. pero este algoritmo tiene una complejidad cúbica n3.684. En esta computadora se ejecuta un algoritmo que lee registros de una base de datos.3 minutos Presentado por YESENIA GONZALEZ céd 4-239-906 .7 minutos = 13.o Contamos con una computadora capaz de procesar datos en 10- 4 seg.133.693. 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.

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.) El tiempo de ejecución de una secuencia de instrucciones es igual a la suma de sus tiempos de ejecución individuales. SWITCH-CASE) DE LA COMPLEJIDAD EN ALGORITMOS NO Presentado por YESENIA GONZALEZ céd 4-239-906 .1000 o » 1 día Se puede concluir. que solo un algoritmo eficiente. de la evaluación de una expresión formada por términos simples o de toda constante es O(1). 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 . puede tratar grandes volumen de datos. con un orden de complejidad bajo. T(S2) )) •Instrucciones condicionales (IF. ESTIMACIÓN RECURSIVOS •Asignaciones y expresiones simples (=) El tiempo de ejecución de toda instrucción de asignación simple. S2) = T(S1) + T(S2) Aplicando la regla de la suma: O(T(S1 . S2)) = max(O( T(S1). y que es intratable o desprovisto de solución en caso contrario. •Secuencias de instrucciones (.

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

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

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

z < i. o sea (n * (n+1))/2 Þ O(n). z--) O(n) { if(vector[z] < vector[z . int c = 1. O(1) } } } Tenemos que el bucle exterior se ejecuta n veces Þ O(n). O(n) * O(n) * O(1) = O(n2).1] = aux. complejidad cuadrática. i++) O(n) { for(int z = n. el bucle interno se ejecuta n + … + 3 + 2 + 1 veces respectivamente. O(1) vector[c] = aux. i < n.for(int i = 0. O(1) vector[n] = vector[c].1]) O(1) { aux = vector[z]. O(1) vector[z . O(1) vector[z] = vector[z .1]. o Ejemplo: Bucles donde la evolución de la variable de control es ascendente no lineal. 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 .

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

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

Gráficamente podemos decir que algunos problemas se hayan en la "frontera externa" de la clase NP. Clase NP-completos. Los problemas para los que se conocen algoritmos con esta complejidad se dice que forman la clase P. 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. Actualmente hay un premio de prestigio equivalente al Nobel reservado para el que descubra semejante solución . Estos problemas se caracterizan por ser todos "iguales" en el sentido de que si se descubriera una solución P para alguno de ellos.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.Clase P.Se conoce una amplia variedad de problemas de tipo NP. y son los peores problemas posibles de clase NP.Los algoritmos de complejidad polinómica se dice que son tratables en el sentido de que suelen ser abordables en la práctica. Aquellos problemas para los que la mejor solución que se conoce es de complejidad superior a la polinómica. Seria muy interesante encontrar alguna solución polinómica (o mejor) que permitiera abordarlos.. de los cuales destacan algunos de ellos de extrema complejidad. Son problemas NP. esta solución sería fácilmente aplicable a todos ellos. se dice que son problemas intratables. Clase NP. ¡y se duda seriamente de que alguien lo consiga! Presentado por YESENIA GONZALEZ céd 4-239-906 .. Los problemas de esta clase se denominan NP (la N de nodeterministas y la P de polinómicos).

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. tras años de búsqueda exhaustiva de dicha solución. la clase NP desaparecería del mundo científico al carecerse de problemas de ese tipo. legibilidad. etc. siendo usualmente los más importantes el tiempo que lleve ejecutarse y la cantidad de espacio en memoria que requiera. etc. Para problemas pequeños es cierto que casi todos los algoritmos son "más o menos iguales". 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. donde por bueno entendemos que utilice pocos recursos. si bien a veces conviene analizar igualmente el caso mejor y hacer alguna estimación sobre un caso promedio. En el análisis de algoritmos se considera usualmente el caso peor. por tanto. la imposibilidad de su existencia. si se descubriera una solución para los problemas NP-completos. Antes de realizar un programa conviene elegir un buen algoritmo. aunque nadie ha demostrado. Los órdenes de complejidad sólo son importantes para grandes problemas. la máquina soporte. Presentado por YESENIA GONZALEZ céd 4-239-906 . esta sería aplicable a todos los problemas NP y. es hecho ampliamente aceptado que no debe existir.Es más. primando otros aspectos como esfuerzo de codificación. 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. todavía. Para independizarse de factores coyunturales tales como el lenguaje de programación. Realmente. la habilidad del codificador.

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

Presentado por YESENIA GONZALEZ céd 4-239-906 . 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. son de total relevancia en la ejecución de todo lo concerniente a las tecnologías de la información.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.

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

Sign up to vote on this title
UsefulNot useful