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
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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 DEMOSTRACIÓN EN MATEMÁTICA
LA INDUCCIÓN MATEMÁTICA
La demostración matemática es una sucesión coherente de pasos que,
tomando como verdadero un conjunto de premisas llamado hipótesis,
permite asegurar la veracidad de una tesis. 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). El hecho de no conocer ninguna
demostración de un teorema no implica su no veracidad; sólo la
demostración de la negación de este resultado implica que es falso.
La inducción matemática es un razonamiento que permite demostrar una
infinidad de proposiciones, o una proposición que depende de un parámetro
n que toma una infinidad de valores enteros. En términos simples, la
inducción matemática consiste en el siguiente razonamiento:
Premisa mayor: El número entero a tiene la propiedad P.
Premisa menor: El hecho de que cualquier número entero n tenga la
propiedad P implica que n + 1 también la tiene.
Conclusión: Todos los números enteros a partir de a tienen la propiedad P.
TECNICAS DE DEMOSTRACIÓN EN MATEMÁTICAS
En general no existe un procedimiento único de demostración de teoremas,
sí existen diferentes tipos de demostraciones que son utilizados
comúnmente en matemáticas:
1. Demostración por contraposición (formalizado y utilizado, en los
silogismos, por Aristóteles).
Presentado por YESENIA GONZALEZ céd 4-239-906
Con este método se intenta demostrar directamente la validez de B ⇒ A, lo
cual, según la contrapositiva, equivale a demostrar que A ⇒ B es válido.
¿(∀x∈Z) (x múltiplo de 10 ⇒ múltiplo de 5?; en realidad, si queremos usar la
contrapositiva, la pregunta es equivalente a ¿(∀x∈Z) (x no es múltiplo de 10
⇒ no múltiplo de 5?. Con A y B definidos anteriormente;
¬B ≡ (∀n∈Z) (x≠n•5), un entero (n=k•2), (∀k∈Z) (x≠k•2•5)≡(∀k∈Z) (x≠k•10)≡¬A
2. Demostración por reducción al absurdo (formalizado y utilizado
por Aristóteles), y como caso particular, descenso infinito.
Este método consiste en demostrar la validez de (A ^ B) ⇒ 0, lo cual, según
la tautología "reducción al absurdo", implica la validez de A ⇒ B.
¿Si un número real sumado consigo mismo es él mismo, entoces tal número
es el cero?
sea x∈R, A∧¬B ≡ (x+x=x)∧(x≠0)
Al ser x≠0, podemos dividir 2x=x entre x, 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, formulas, validarlas y probar que son verdaderas.
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, luego por
k y finalmente por k+1.
INDUCCIÓN FUERTE
Presentado por YESENIA GONZALEZ céd 4-239-906
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, pero difiere en el
razonamiento de lo que queremos demostrar. 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. Así, la afirmación es cierta sólo si
también se cumple para el sucesor de este último número.
Llamamos paso básico a A, paso inductivo fuerte a B y hipótesis inductiva
fuerte a (∀ r≤k) (P(r) verdadero).
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, que usa un
razonamiento en cierto modo inverso a este, ya que toma como base la
hipótesis de que es cierta para el antecesor del que se quiere demostrar.
El procedimiento es válido considerando que los elementos de lo que
queremos demostrar pertenecen a un conjunto inductivo. Es decir, el
conjunto de todas las afirmaciones es un conjunto inductivo.
Llamamos paso básico a A, paso inductivo débil a B y hipótesis inductiva
débil a P(k).
A ≡ P(n1) verdadero B ≡(∀k≥n1) (P(k) verdadero)⇒ P(s(k)) verdadero)
Presentado por YESENIA GONZALEZ céd 4-239-906
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, teoría de los grafos, Computación y en otras áreas. Se trata de
una generalización de la inducción matemática.
Dado un conjunto C con un orden parcial bien fundamentado < sobre sus
elementos, 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, y que si la
propiedad se cumple para todas las subestructuras de una cierta estructura
S, entonces se debe cumplir también para S. Por ejemplo, si la estructura es
una lista, normalmente se introduce el orden parcial '<' tal que L < M
siempre que exista x tal que x::L=M Bajo este orden, la lista vacía [] es el
único elemento mínimo. Así, 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).
Presentado por YESENIA GONZALEZ céd 4-239-906
RELACIONES DE RECURRENCIA
Una relación de recurrencia para una sucesión es una
fórmula que expresa cada término a partir de cierto , en función
de uno o más de los términos que le preceden. Los valores de los términos
necesarios para empezar a calcular se llaman condiciones iniciales. 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.
Ejemplo: Los conejos y la secuencia de Fibonacci
Una joven pareja de conejos es colocada en una isla. Un par de conejos no se
reproduce hasta que tiene 2 meses de edad. Después que estos tienen los 2
meses de edad, cada par produce un nuevo par. Encuentre una relación de
recurrencia para el número de pares de conejos en la isla al cabo de n
meses, asumiendo que ningún conejo muere.
R// Denotaremos por fn el numero de conejos después de n meses.
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, puesto que cada par recién nacido viene de un par de al
menos 3 meses de edad. Consecuentemente {fn} satisface la relación de
recurrencia:
fn = fn-1 + fn-2 para n≥3. (Secuencia de Fibonacci)
Las relaciones de recurrencia pueden ser usadas para contar cadenas de bits
de una longitud especificada que tiene cierta propiedad
METODO DE ITERACIÓN
Presentado por YESENIA GONZALEZ céd 4-239-906
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. Esta aproximación contrasta con
los métodos directos, 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). 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.
Método Newton – Raphson
Este método, el cual es un método iterativo, es uno de los más usados y
efectivos. A diferencia de los métodos anteriores, el método de Newton-
Raphson no trabaja sobre un intervalo sino que basa su fórmula en un
proceso iterativo.
Supongamos que tenemos la aproximación a la raíz de ,
Trazamos la recta tangente a la curva en el punto ; ésta cruza al
eje en un punto que será nuestra siguiente aproximación a la raíz
.
Presentado por YESENIA GONZALEZ céd 4-239-906
Para calcular el punto , calculamos primero la ecuación de la recta
tangente. 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:
, si
Note que el método de Newton-Raphson no trabaja con intervalos donde
nos asegure que encontraremos la raíz, y de hecho no tenemos ninguna
garantía de que nos aproximaremos a dicha raíz. Desde luego, existen
ejemplos donde este método no converge a la raíz, en cuyo caso se dice que
el método diverge. Sin embargo, en los casos donde si converge a la raíz lo
hace con una rapidez impresionante, por lo cual es uno de los métodos
preferidos por excelencia.
Método Gauss Seidel
Presentado por YESENIA GONZALEZ céd 4-239-906
Es un método iterativo, es decir que debe aplicarse recursivamente hasta
encontrar una solución adecuada o con un error considerablemente
pequeño.
En cada iteración obtenemos una solución posible del sistema con un error
determinado, a medida que aplicamos nuevamente el método, la solución
puede ser más precisa, entonces se dice que el sistema converge, 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.
Teniendo el siguiente sistema de ecuaciones:
Despejamos x1 de la ecuación 1, x2 de la ecuación 2, … , xn de la ecuación
n, quedando:
Desde la formula anterior resultan las fórmulas que se deberán ir aplicando
en las diferentes iteraciones. Para comenzar a aplicar el método debemos
asignar un valor arbitrario a las variables x2,…xn con el fin de obtener x1. Lo
mas conveniente en este caso es que los valores comiencen en cero, lo cual
nos facilitaría el trabajo ya que se reduce el cálculo de las primeras
soluciones, entonces de esto resulta que:
Presentado por YESENIA GONZALEZ céd 4-239-906
Ahora despejamos x2 de la ecuación 2 y reemplazamos a x1 por el valor
obtenido en la ecuación anterior. De esto nos queda:
Una vez que tenemos x2, despejamos x3 de la ecuación 3 y así
sucesivamente con las n ecuaciones, cada vez asignando el valor de las x1,
x2, … xn-1 obtenido en el paso anterior.
Cuando hemos despejado las xn, tenemos lo que se conoce como primera
solución o solución de la primera iteración:
Con los nuevos valores de x1, x2,…,xn aplicamos los mismos pasos
anteriores pero con los nuevos valores de las xn, de esta manera
conseguimos una segunda solución:
Al tener esta segunda solución estamos en condiciones de calcular el error
que se calcula como sigue:
Presentado por YESENIA GONZALEZ céd 4-239-906
Así, repetimos el método tantas veces hasta que el error sea muy pequeño o
los suficientemente aceptable.
Ahora solo queda mencionar que para que un sistema sea convergente se
debe cumplir que la matriz de coeficientes sea diagonalmente dominante, y
para ello se debe verificar la siguiente expresión:
Si no se cumple esa condición, se puede permutar las filas de la matriz, con
el fin de poder convertirla en una diagonalmente dominante.
Presentado por YESENIA GONZALEZ céd 4-239-906
ECUACIONES EN DIFERENCIA
Una ecuación en diferencias es una expresión que relaciona distintas
sucesiones, siendo una de ellas una sucesión desconocida.
Son similares a las ecuaciones diferenciales, sustituyendo las funciones por
sucesiones.
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. 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, Yt, 2Yt,3Yt,nYt)
Donde representa el operador retardo. 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, una ecuación de yt en
diferencias es aquella en la que yt dependerá de sus valores retardados,
del tiempo y de otras variables. Lo fundamental, en nuestro caso, será la
aparición de los propios valores retardados de la variable yt. Un paseo
aleatorio sin deriva del tipo:
Presentado por YESENIA GONZALEZ céd 4-239-906
Yt +1 = Yt + Et +1
Es una ecuación en diferencias con un componente estocástico (t).
En el contexto del análisis de series temporales, interesa principalmente lo
que se denomina Ecuación en diferencias lineal de orden “n” con
coeficientes constantes. 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). El término xt se denomina
“proceso de fuerza3” y puede explicitarse de formas muy diversas:
función del tiempo, valores actuales y/o retardados de otras variables y/o
perturbaciones aleatorias. Por ejemplo, para ao=0, a1=1 y xt=et tenemos la
formulación tradicional del paseo aleatorio anterior.
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. La forma reducida, por el
contrario, puede incluir valores retardados de la propia endógena o de otras
endógenas pero nunca valores contemporáneos. 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.
SOLUCIÓN DE ECUACIONES EN DIFERENCIAS: Conceptos previos
Presentado por YESENIA GONZALEZ céd 4-239-906
Igual que el resto de ecuaciones matemáticas, las llamadas ecuaciones en
diferencias admiten una solución para la variable incógnita, en nuestro caso
yt. La solución de una ecuación en diferencias será generalmente otra
función, no un único valor.
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). Esta solución, 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. Por ejemplo, para la ecuación
simple en diferencias:
la función y t c t = 2 + , donde “c” es un término constante cualquiera, 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. La solución de una ecuación en diferencias no puede incluir
retardos de la propia incógnita salvo en el caso antes comentado de que sea
necesario considerar condiciones iniciales de partida para Yt.
Es interesante advertir el significado de la solución de una ecuación.
Partiendo de una ecuación en la que postulamos que yt puede expresarse en
función de valores pasados propios Yt -1, Yt -2...etc., 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”, es decir de la variable “t” y del resto de términos de la
ecuación en diferencias (por ejemplo, en el paseo aleatorio, por el
componente t).
Ejemplo:
Presentado por YESENIA GONZALEZ céd 4-239-906
Partiendo de la ecuación en diferencias
Su solución permite observar el patrón de formación temporal de los valores de yt.
Efectivamente, sin entrar por ahora en su cálculo, 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
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. Son usadas ampliamente en el diseño de circuitos de
distribución y computadoras, y sus aplicaciones van en aumento en muchas
otras áreas. En el nivel de lógica digital de una computadora, lo que
comúnmente se llama hardware, y que está formado por los componentes
electrónicos de la máquina, se trabaja con diferencias de tensión, las cuales
generan funciones que son calculadas por los circuitos que forman el nivel.
Estas funciones, en la etapa de diseño del hardware, son interpretadas como
funciones de Boole.
El álgebra de Boole (también llamada Retículas booleanas) en informática y
matemática, es una estructura algebraica que rigorizan las operaciones
lógicas Y, O y NO, así como el conjunto de operaciones unión, intersección y
complemento.
Presentado por YESENIA GONZALEZ céd 4-239-906
Se denomina así en honor a George Boole, (2 de noviembre de 1815 a 8 de
diciembre de 1864), matemático inglés que fue el primero en definirla como
parte de un sistema lógico a mediados del siglo XIX. El álgebra de Boole fue
un intento de utilizar las técnicas algebraicas para tratar expresiones de la
lógica preposicional. En la actualidad, el álgebra de Boole se aplica de forma
generalizada en el ámbito del diseño electrónico. Claude Shannon fue el
primero en aplicarla en el diseño de circuitos de conmutación eléctrica
biestables, en 1948.
Teoremas Fundamentales
A continuación se presentan los teoremas principales del álgebra de Boole,
los cuales son la base del trabajo subsecuente. Es posible demostrar dichos
teoremas por cualquiera de los siguientes métodos:
1. Algebraicamente (empleando postulados y teoremas ya demostrados).
2. Gráficamente (por medio de los diagramas de Venn).
3. Por inducción perfecta (empleando tablas de verdad).
Aquí se empleará el método algebraico pues se considera la mejor manera
de iniciarse en esta álgebra, además de que sólo se demostrarán los
teoremas primales, pero aplicando las reglas de dualidad.
T.1. Teoremas sobre la UNICIDAD.1.a. El elemento 0 es único. 1.b. El elemento 1 es único. Demostración de 1.a. Por contradicción, supóngase que 0 y 01 son neutros aditivos, por lo que deben satisfacer al postulado P.3.a, es decir: A + 0 = A y A1 + 01 = A1 Si A1 = 0 y A = 01 y como 0 es neutro, por suposición, entonces: 01 + 0 = 0 (1) Además como 01 es neutro, por suposición, entonces: 0 + 01 = 0 (2) De (1) y (2) se tiene: 01 = 0 con lo que se demuestra el teorema.
Presentado por YESENIA GONZALEZ céd 4-239-906
T.2. Teoremas sobre la EQUIPOTENCIA. 2.a. A + A = A 2.b. A . A = A
Demostración de 2.a.A + A = (A + A) . 1 (P.3.b.)A + A = (A + A) . (A + A') (P.6.a.)A + A = A + (A . A') (P.5.a)A + A = A + 0 (P.6.b.)A + A = A (P.3.a.)
T.3. TEOREMA 3.a. A + 1 = 1 3.b. A . 0 = 0
Demostración de 3.a.A + 1 = 1 . (A + 1) (P.3.b.)A + 1 = (A + A') . (A + 1) (P.6.a)A + 1 = A + (A' . 1) (P.5.a)A + 1 = A + A' (P.3.b.)A + 1 = 1 (P.6.a.)
T.4. Teoremas de ABSORCIÓN.4.a. A + (A . B) = A4.b. A . (A + B) = A
Demostración de 4.a.A + (A . B) = (A . 1) + (A . B) (P.3.b.)A + (A . B) = A . (1 + B) (P.5.b.)A + (A . B) = A . 1 (T.3.a.)A + (A . B) = A (P.3.b.)
T.5. El elemento A' es único.
DemostraciónPor contradicción, supóngase que existen dos elementos distintos A'1 y A'2, tales que satisfacen los postulados P.6.a. y P.6.b., es decir:A + A'1 = 1 y A + A'2 = 1A . A'1 = 0 y A . A'2 = 0
T.6. TEOREMA Para toda A en M, A = A''DemostraciónSea A'' = X, por tanto:A' + X = 1 y A' , X = 0 (P.6.)Pero:A' + A = 1 y A' . A = 0 (P.6.)Así que tanto X como A' satisfacen el postulado P.6. como el complemento de A, por tanto:X = A, es decir, A'' = A
T.7. Teoremas de ABSORCIÓN7.a. A . [(A + B) + C] = [(A + B) + C] . A = A7.b. A + [(A . B) . C] = [(A . B) . C] = A
Demostración de 7.a.A . [(A + B) + C] = A . (A + B) + (A . C) (P.5.b.)A . [(A + B) + C] = (A . A) + (A . B) + (A . C) (P.5.b.)A . [(A + B) + C] = A + (A . B) + (A . C) (T.2.)A . [(A + B) + C] = A . (1 + B + C) (P.5.b.)A . [(A + B) + C] = A . 1 (T.3.)A . [(A + B) + C] = A (P.3.b.)
T.8. Teoremas sobre la ASOCIACIÓN.8.a. A + (B + C) = (A + B) + C8.b. A . (B . C) = (A . B) . CDemostración de 8.a.Sea:Z = [(A + B) + C] . [A + (B + C)]Z = {A . [(A + B) + C]} + {(B + C) . [(A + B) + C]} (P.5.b.)Z = A + {(B + C) . [(A + B) + C]} (T.7.)Z = A + {B . [(A + B) + C] + C . [(A + B) + C]} (P.5.b.)Z = A + {B + C . [(A + B) + C]} (T.7.)Z = A + (B + C) (T.7.) (1)Como:Z = [(A + B) + C] . [A + (B + C)]Z = {(A + B) . [A + (B + C)]} + {C . [A + (B + C)]} (P.5.b.)
Presentado por YESENIA GONZALEZ céd 4-239-906
Z = {(A + B) . [A + (B + C)]} + C (T.7.)Z = {A . [A + (B + C)] + B . [A + (B + C)]} + C (P.5.b.)Z = {A . [A + (B + C)] + B} + C (T.7.)Z = (A + B) + C (T.7.) (2)Por consiguiente, de (1) y (2) y por transitividad:Z = A + (B + C) = (A + B) + C = A + B + C
T.9. Teoremas sobre la COMPLEMENTACIÓN.9.a. A + (A' . B) = A + B9.b. A . (A' + B) = A . B
Demostración de 9.a.A + (A' . B) = (A + A') . (A + B) (P.5.a.)A + (A' . B) = 1 . (A + B) (P.6.a.)A + (A' . B) = A + B (P.3.b.)
T.10. Teoremas de DeMORGAN.10. a. (A + B)'' = A' . B'10.b. (A . B)' = A' + B'
Demostración de 10.a.Primera parte:(A + B) + (A' . B') = [(A + B) + A'] . [(A + B) + B'] (P.5.a.)(A + B) + (A' . B') = [A' + (A + B)] . [(A + B) + B'] (P.4.a.)(A + B) + (A' . B') = [(A' + A) + B] . [A + (B + B')] (T.8.)(A + B) + (A' . B') = (1 + B) . (A + 1) (P.6.a.)(A + B) + (A' . B') = 1 . 1 (T.3.a.)(A + B) + (A' . B') = 1 (T.2.b.) (1)Segunda parte:(A + B) . (A' . B') = (A' . B') . (A + B) (P.4.b.)(A + B) . (A' . B') = (A' . B' . A) + (A' . B' . B) (P.5.b.)(A + B) . (A' . B') = 0 + 0 (P.6.b.)(A + B) . (A' . B') = 0 (T.2.a.) (2)Por tanto, de (1) y (2) se concluye que:(A + B)' = A' . B'
T.11. TEOREMA11.a. (A . B) + (A' . C) + (B . C) = (A . B) + (A' . C)11.b. (A + B) . (A' + C) . (B + C) = (A + B) . (A' + C)Demostración de 11.a.(A . B) + (A' . C) + (B . C) = (A . B . 1) + (A' . 1 . C) + (1 . B . C) = (P.3.b.)= [A . B . (C + C')] + [A' . (B + B') . C] + [(A + A') . B . C ] = (P.6.b.)= (A B C) + (A B C') + ( A' B C) + (A' B' C) + (A B C) + (A' B C) = (P.5.b.)= (A B C) + (A B C') + ( A' B C) + (A' B' C) = (T.2.)= [A . B . (C + C')] + [A' . C . (B + B')] = (P.5.a.)
Presentado por YESENIA GONZALEZ céd 4-239-906
= (A . B . 1) + (A' . C . 1) (P.6.a.)(A . B) + (A' . C) + (B . C) = (A . B) + (A' . C) (P.3.b.)
T.12. TEOREMA12.a. (A . B) + (A . B' . C) = (A . B) + (A . C)12.b. (A + B) . (A + B' + C) = (A + B) . (A + C)
Demostración de 12.a.(A . B) + (A . B' . C) = A . [B + (B' . C)] (P.5.b.)(A . B) + (A . B' . C) = A . [(B + B') . (B + C)] = A . (B + C) (T.9.a.)(A . B) + (A . B' . C) = (A . B) + (A . C) (P.5.b.)
T.13. TEOREMA13.a. (A . B) + (A . B') = A13.b. (A + B) . (A + B') = A
Demostración de 13.a.(A . B) + (A . B') = A . (B + B') (P.5.b.)(A . B) + (A . B') = A . 1 (P.6.b.)(A . B) + (A . B') = A
Para fácil referencia, los teoremas se resumen en la siguiente tabla:
TEOREMA PRIMAL TEOREMA DUAL
T.1.a. 0 es únicoT.2.a A + A = AT.3.a. A + 1 = AT.4.a. A + (A . B) = AT.5. A' es únicoT.6. A = A''T.7.a. A . [(A + B) + C] = [(A + B) + C] . A = AT.8.a. A + (B + C) = (A + B) + CT.9.a. A + (A' . B) = A + BT.10.a. (A + B)' = A' . B'T.11.a. (A . B) + (A' . C) + (B . C) = (A . B) + (A' .C )T.12.a. (A . B) + (A . B' . C) = (A . B) + (A . C)T.13.a. (A . B) + (A . B') = A
T.1.b. 1 es únicoT.2.b. A . A = AT.3.b. A . 0 = 0T.4.b. A . (A + B) = ANo tieneNo tieneT.7.b. A + [(A . B) . C] = [(A . B) . C] + A = AT.8.b. A . (B . C) = (A . B) . CT.9.b. A . (A' + B) = A . BT.10.b. (A . B)' = A' + B'T.11.b. (A + B)(A' + C)(B + C) = (A + B)(A' + C)T.12.b. (A + B)(A + B' + C) = (A + B) (A + C)T.13.b. (A + B) . (A + B') = A
Presentado por YESENIA GONZALEZ céd 4-239-906
Forma normal de funciones booleanas
Otra manera importante de expresar expresiones booleanas es la forma
normal. Tiene la misma estructura básica suma de productos o producto de
sumas, pero no se requiere que los términos sean mintérminos o
maxtérminos.
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. Las variables pueden valer 0 o 1. Y las operaciones
básicas son OR (+) y AND (·).
Luego se definen las expresiones de conmutación como un número finito de
variables y constantes, relacionadas mediante los operadores (AND y OR).
En la ausencia de paréntesis, se utilizan las mismas reglas de precedencia,
que tienen los operadores suma (OR) y multiplicación (AND) en el algebra
normal.
Compuertas Lógicas
Existen dispositivos electrónicos que son capaces de representar funciones
de conmutación. Estos dispositivos denominan Compuertas Lógicas y están
construidos a base de silicio.
Las compuertas lógicas son altamente usadas en el campo de la electrónica
digital, debido al bajo costo que se logra con la alta densidad de integración.
Presentado por YESENIA GONZALEZ céd 4-239-906
Las compuertas corresponden a bloques fundamentales para la construcción
de circuitos lógicos y sistemas digitales.
Una red de compuertas lógicas constituye un circuito combinacional.
Las compuertas pueden tener más de una o dos entradas. Por ejemplo la
ecuación de conmutación F(A, B, 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, llamadas pastillas lógicas TTL. Su numeración corresponde a
74LSXXX.
Presentado por YESENIA GONZALEZ céd 4-239-906
También existen dispositivos con alta densidad de integración como PLA,
CPLD y FPGA.
Las pastillas lógicas internamente están diseñadas con varias compuertas,
dependiendo de la pastilla. Por ejemplo un 74LS32 internamente es de la
siguiente forma:
Compuerta OR-EX o XOR
Es OR EXclusiva en este caso con dos entradas (puede
tener más) y lo que hará con ellas será una suma
lógica entre a por b invertida y a invertida por b.*Al ser O Exclusiva su
salida será 1 si una y sólo unade sus entradas es 1*
Considerar la expresión booleana A·B + A·B + A·B = Y, un diagrama lógico
de ésta expresión aparece en la Figura 1. Observar que deben utilizarse seis
puertas para implementar este circuito lógico, que realiza la lógica detallada
en la tabla de verdad (Tabla 1)
Presentado por YESENIA GONZALEZ céd 4-239-906
Figura 1: Circuito lógico no simplificado
ENTRADAS SALIDA
B A Y
0 0 0
0 1 1
1 0 1
1 1 1
Tabla 1: Tabla de verdad de la función OR
Figura 2: Circuito lógico simplificado
Aplicando el álgebra booleana:
A·B + A·B + A·B = Y
RAZONES
= A·B + (A·B + A·B) , Propiedad asociativa
= A·B + B·(A+A) , 4. [A·(B + C) = A·B + A·C]
= A·B + B·1, 8. [A + A = 1]
= A·B + B, 6. [B·1 = B]
= B + A·B, Propiedad conmutativa
= (B + A)·(B + B) , 3. [A + (B·C) = (A + B)·(A + C)]
Presentado por YESENIA GONZALEZ céd 4-239-906
= (B + A)·1 , 8. [A + A = 1]
= B + A , 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!).
RELACIONES DE EQUIVALENCIA Y RELACIONES DE ORDEN
Sea K un conjunto dado no vacío y R una relación binaria definida sobre K. Se dice que R es una relación de equivalencia si cumple las siguientes propiedades:
Reflexividad: Todo elemento de K está relacionado consigo mismo. Es decir,
. Simetría: Si un elemento de K está relacionado con otro, entonces ese
otro elemento también se relaciona con el primero. Es decir,
Transitividad: Si un elemento de K está relacionado con otro, y ese otro a su vez se relaciona con un tercero, entonces el primero estará relacionado también con este último. Es decir,
Una relación de equivalencia R sobre un conjunto K puede denotarse con el
R={(x,y) Î A*A / (x-y) es divisible por 3} El gráfico de R será:
Teorema: Sea R una relación de equivalencia en A, con a, b Î A, entonces:
[a] = [b] ↔ a R b [a] ≠ [b] ↔ [a]Ç[b] = Ø
Partición: Una partición de un conjunto no vacío A, es una colecciónP= {A1, A2, ..An}, de subconjuntos no vacíos de A, tales que:
AiÇAj = Ø , si i ≠ j A1ÈA2 È…ÈAn = A
Los subconjuntos Ai, son llamados bloques de partición. Teorema: Concordancia entre Relaciones de equivalencia y Particiones
Dada una relación de equivalencia R en A, entonces, el conjunto cociente A/R es una partición de A. Dada una partición P de A, entonces se puede formar una relación de equivalencia R, definida por: x R y ↔ ›Ai ÎP, tal que: xÎAi Ù yÎAi
Particiones
Presentado por YESENIA GONZALEZ céd 4-239-906
2 5
0
6
3
1 4
[0]={x Î A / (x-0) es divisible por 3}={0,3,6} [1]={x Î A / (x-1) es divisible por 3}={1,4} [2]={x Î A / (x-2) es divisible por 3}={2,5} [3]={x Î A / (x-3) es divisible por 3}={0,3,6}=[0] [4]={1,4} = [1] [5]={2,5} = [2] [6]= [3] = [0] A/R = {[0], [1], [2]} = {{0,3,6},{1,4},{2,5}}= CONJUNTO COCIENTE
Observar los 3 grupos que se forman, en cada uno de ellos, los elementos están totalmente relacionados.Estos grupos se denominan “bloques de partición”, aquí hay 3 bloques de partición:{0,3,6},{1,4} y {2,5}
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, haciendo que el procedimiento de búsqueda sea
más eficiente.
Definición de Partición de un conjunto. Una partición de un conjunto A
es una colección de subconjuntos de A, los cuales son no vacíos y disyuntos
entre sí cuya unión es A. Formalmente, una partición de un conjunto A es
una familia de subconjuntos no vacíos de A, con las siguientes
propiedades:
Cada conjunto se llama celda o bloque de la partición.
Ejemplo:
Sea . Cada una de las siguientes colecciones son particiones de A.
Presentado por YESENIA GONZALEZ céd 4-239-906
Ejemplo:
Cada una de los siguientes conjuntos son particiones de .
= el conjunto de números pares, = el conjunto de números impares.
La siguiente definición de clase de equivalencia, nos servirá para mostrar
como las relaciones de equivalencia y las particiones son descripciones del
mismo concepto.
Definición Clase de equivalencia. Sean A un conjunto y R una relación de
equivalencia en A. Para cada , la clase de equivalencia de x con respecto
a R es el conjunto definido como sigue:
.
En otras palabras, es el conjunto de todos los elementos de A que están
relacionados con x.
Cuando solamente una relación de equivalencia R se esté considerando,
escribiremos en vez de .
Ejemplo:
Sea y consideremos la siguiente relación de equivalencia en A:
Entonces
Presentado por YESENIA GONZALEZ céd 4-239-906
Ejemplo:
Consideremos las siguientes relaciones de equivalencia en .
Dado , tenemos que:
.
.
Ejemplo:
Consideremos la relación de equivalencia congruencia módulo 5.
Dado , tenemos que:
Es decir, 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. Así, por ejemplo,
Presentado por YESENIA GONZALEZ céd 4-239-906
Como se observa en este ejemplo,
Conjunto de números con residuo 0 cuando se dividen por 5.
Conjunto de números con residuo 1cuando se dividen por 5.
Conjunto de números con residuo 2 cuando se dividen por 5.
Conjunto de números con residuo 3 cuando se dividen por 5.
Conjunto de números con residuo 4 cuando se dividen por 5.
Además, se tiene que .
En general para todo para algún . Es decir cada entero
pertenece a exactamente uno de estos cinco conjuntos.
De manera más en general para la relación de equivalencia congruencia
módulo
n: , denotamos la clase de equivalencia que contiene
a como . Esto es,
Generalizando el caso n = 5 podemos concluir que dado un entero positivo
n,
=conjunto de números con residuo r cuando
se dividen por n.
Además s tiene que:
Presentado por YESENIA GONZALEZ céd 4-239-906
para todo .
Es decir cada entero pertenece a exactamente uno de estos n conjuntos. 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.
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. Para demostrar
este resultado utilizaremos el siguiente teorema.
Teorema Supongamos que R una relación de equivalencia en un conjunto
. Entonces
Demostración:
Como es reflexiva entonces . Luego por definición de clase
de equivalencia, .
Hay que demostrar las dos implicaciones:
( i ) Supongamos que . Hay que probar que:
Presentado por YESENIA GONZALEZ céd 4-239-906
.
( ii )supongamos que .
por la parte . Por lo tanto . Entonces .
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.
Mostraremos en el siguiente teorema como una relación de equivalencia
particiona un conjunto.
Conjunto Cociente
Sea una relación de equivalencia definida en el conjunto K, llamaremos a
K/ el conjunto cociente de K por a la partición de K formada por todas
las clases de equivalencia determinadas en K por ~. Es decir, el conjunto
cociente es el conjunto de todas las clases de equivalencia que se puedan
formar con los elementos de K, mediante
El conjunto de todas las clases de equivalencia se denomina conjunto
cociente y se lo suele denotar como:
Presentado por YESENIA GONZALEZ céd 4-239-906
Tal como muestra la definición anterior el conjunto cociente es un
subconjunto del conjunto de partes de K.
Relaciones de Orden
Sea R una relación binaria en un conjunto A. Si R satisface las propiedades
reflexiva, antisimétrica y transitiva se dice que R es una relación de orden.
En este caso si a y b son elementos de A tales que aRb, lo denotaremos por
a · b.
Si · verifica la propiedad de que dados a y b en A, entonces a · b o b · a,
entonces la relación · se denomina de orden total.
Sean A y B dos conjuntos tales que B µ A y · una relación de orden en A.
Podemos entonces definir varios elementos notables de A:
a) Elemento minimal de A es todo aquel elemento a 2 A tal que si b · a
entonces a = b.
b) Elemento maximal de A es todo aquel elemento a 2 A tal que si a · b
entonces a = b.
c) Mínimo de A es el elemento a de A tal que a · b para todo b 2 A.
d) Máximo de A es el elemento a de A tal que b · a para todo b 2 A.
e) Cota inferior de B es cualquier elemento a 2 A tal que a·b para todo b 2 B.
f) Cota superior de B es cualquier elemento a 2 A tal que b·a para todo b2 B.
g) Ínfimo de B, es el máximo de las cotas inferiores de B.
h) Supremo de A, es el mínimo de las cotas superiores de B.
Relación de orden total
Sea A un conjunto dado, es una relación de orden total si y solo si todos
los elementos de A se relacionan entre sí, es decir,
.
Presentado por YESENIA GONZALEZ céd 4-239-906
Ejemplo es totalmente ordenado. En efecto, es:
o Reflexivo: entonces (porque por definición, )
o Antisimétrico: si y entonces
o Transitivo: si y entonces
Relación de orden parcial
Sea A un conjunto dado, es una relación de orden parcial si y solo si al
menos un par de elementos de A se relacionan entre sí, es decir,
tal que .
Ejemplo. Sea el conjunto X = {1,2,3} y el conjunto potencia de X,
definido por:
Entonces es parcialmente ordenado, pues sean
Pero
Nótese que las relaciones de orden total son un caso particular de las
relaciones de orden parcial.
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, para todo x e y en X tales que x < y (x ≤ y y x ≠
y), existe otro z en X tal que x < z < y.
Presentado por YESENIA GONZALEZ céd 4-239-906
Ejemplo 1: Los números racionales con la ordenación habitual son un
conjunto densamente ordenado, al igual que los números reales. Si q1
< q2 entonces tenemos que q3 := (q1+q2)/2 satisface que: q1 < q3 < q2.
Ejemplo 2: Los números enteros por otro lado con la ordenación
habitual no son un conjunto densamente ordenado ya que entre un
número entero y su siguiente no existe un número intermedio.
GRUPOS Y TEORIAS ALGEBRAICAS DE LA CODIFICACION
Métrica de Hamming
En informática, el código de Hamming es un código detector y corrector de
errores que lleva el nombre de su inventor, Richard Hamming. En los datos
codificados en Hamming se pueden detectar errores en un bit y corregirlos,
sin embargo no se distingue entre errores de dos bits y de un bit (para lo que
se usa Hamming extendido). Esto representa una mejora respecto a los
códigos con bit de paridad, que pueden detectar errores en sólo un bit, pero
no pueden corregirlo.
Paridad
La paridad consiste en añadir un bit, denominado bit de paridad, que indique
si el número de los bits de valor 1 en los datos precedentes es par o impar.
Si un solo bit cambiara por error en la transmisión, el mensaje cambiará de
paridad y el error se puede detectar (nótese que el bit donde se produzca el
error puede ser el mismo bit de paridad). La convención más común es que
un valor de paridad de 1 indica que hay un número impar de unos en los
datos, y un valor de paridad de 0 indica que hay un número par de unos en
los datos.
La comprobación de paridad no es muy robusta, dado que si cambia de
forma uniforme más de un solo bit, el bit de paridad será válido y el error no
será detectado. Por otro lado, la paridad, aunque puede detectar que hay
Presentado por YESENIA GONZALEZ céd 4-239-906
error, no indica en qué bit se cometió. Los datos se deben desechar por
entero y volverse a transmitir. En un medio ruidoso, una transmisión
correcta podría tardar mucho tiempo o incluso, en el peor de los casos, no
darse nunca. El chequeo de paridad, aunque no es muy bueno, usa un único
bit, por lo que produce muy poca sobrecarga, y además permite la
corrección de ese bit si es conocida su posición.
Códigos de Hamming
Si se añaden junto al mensaje más bits detectores-correctores de error y si
esos bits se pueden ordenar de modo que diferentes bits de error producen
diferentes resultados, entonces los bits erróneos podrían ser identificados.
En un conjunto de siete bits, hay sólo siete posibles errores de bit, por lo que
con tres bits de control de error se podría especificar, además de que ocurrió
un error, en qué bit fue.
Hamming estudió los esquemas de codificación existentes, incluido el de dos
entre cinco, y generalizó sus conclusiones. Para empezar, desarrolló una
nomenclatura para describir el sistema, incluyendo el número de los bits de
datos y el de los bits detectores-correctores de error en un bloque. Por
ejemplo, la paridad incluye un solo bit para cualquier palabra de datos, así
que las palabras del Código ASCII que son de siete bits, Hamming las
describía como un código (8.7), esto es, un total de 8 bits de los cuales 7 son
datos. En el ejemplo anterior de la repetición, sería un código (3.1),
siguiendo la misma lógica. La relación de la información es el segundo
número dividido por el primero, por nuestro ejemplo de la repetición, 1/3.
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 paridad tiene una distancia de 2, dado que
cualquier error en dos bits no será detectado. La repetición (3.1)tiene una
Presentado por YESENIA GONZALEZ céd 4-239-906
distancia de 3, pues son necesarios el cambio simultáneo de tres bits para
obtener otra palabra de código. La repetición (4.1) (cada bit se repite cuatro
veces) tiene una distancia de 4, así que el cambio de dos bits en el mismo
grupo quedará sin definir.
Hamming estaba interesado en solucionar simultáneamente dos problemas:
aumentar la distancia tanto como sea posible, a la vez que se aumentan al
máximo los bits de información. Durante los años 40 desarrolló varios
esquemas de codificación que mejoraban notablemente los códigos
existentes. La clave de todos sus sistemas era intercalar entre los bits de
datos los de paridad.
El algoritmo de Hamming (7.4) puede corregir cualquier error de un solo bit,
pero cuando hay errores en más de un bit, la palabra transmitida se
confunde con otra con error en un sólo bit, siendo corregida, pero de forma
incorrecta, es decir que la palabra que se corrige es otra distinta a la
original, y el mensaje final será incorrecto sin saberlo. Para poder detectar
(aunque sin corregirlos) errores de dos bits, se debe añadir un bit más, y el
código se llama Hamming extendido. El procedimiento para esto se
explica al final.
El algoritmo es el siguiente:
1. Todos los bits cuya posición es potencia de dos se utilizan como bits
3. Cada bit de paridad se obtiene calculando la paridad de alguno de
los bits de datos. La posición del bit de paridad determina la secuencia
de los bits que alternativamente comprueba y salta, a partir de éste,
tal y como se explica a continuación.
Presentado por YESENIA GONZALEZ céd 4-239-906
Posición 1: salta 0, comprueba 1, salta 1, comprueba 1, etc.
Posición 2: salta 1, comprueba 2, salta 2, comprueba 2, etc.
Posición 4: salta 3, comprueba 4, salta 4, comprueba 4, etc.
Posición 8: salta 7, comprueba 8, salta 8, comprueba 8, etc.
Posición 16: salta 15, comprueba 16, salta 16, comprueba 16,
etc.
Regla general para la posición n es: salta n-1 bits, comprueba
n bits, salta n bits, comprueba n bits...
Y así sucesivamente.
En otras palabras, 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. Dicho a la
inversa, el bit 13, por ejemplo, es chequeado por los bits 8, 4 y 1, al ser estos
los de su representación binaria: 13=1101(2); 8=1000(2); 4=0100(2);
1=0001(2).
Así, por ejemplo, para los primeros términos se tiene:
En la Posición 1 (2^0 = 1), comprobaríamos los bits: 3, 5, 7, 9,
11, 13...
En la Posición 2 (2^1 = 2), los bits: 3, 6, 7, 10, 11, 14, 15...
En la Posición 4 (2^2 = 4), los bits: 5, 6, 7, 12, 13, 14, 15, 20, 21,
22, 23...
En la Posición 8 (2^3 = 8) tendríamos: 9, 10, 11, 12, 13, 14, 15,
24-31...
Siguiendo el algoritmo hasta completar la nueva cadena.
Para cualquier entero positivo m>=3, existe un código Hamming con los siguientes parámetros:
Longitud del Código:</TD n=2m-1
Número de símbolos de información:</TD k=2m-m-1
Número de símbolos de comprobación de paridad:</TD n-k=m
Presentado por YESENIA GONZALEZ céd 4-239-906
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. En forma sistemática, las columnas de H
están ordenadas de la siguiente forma: H=[ImQ], donde Im es una matriz
identidad m x m y la sub matriz Q consta de 2m-m-1 columnas, las cuales son las m-tuplas
de peso 2 o más. Estas columnas pueden ser colocadas en cualquier orden sin afectar a la
propiedad de distancia y distribución de peso del código. En forma sistemática, la matriz
generadora del código es G=[QT I2m-m-1] , donde QT es la traspuesta de Q y I2m-m-1 es una
matriz identidad de orden 2m-m-1. Como las columnas de H son no nulas y distintas, dos
columnas no pueden sumar cero. Se sigue que la mínima distancia de un código Hamming es al
menos 3. Como H consta de todas las m-tuplas no nulas como columnas, el vector suma de dos
columnas cualesquiera, hi y hj, debe ser también una columna de H, hl. Así hi+ hj+ hl= 0. De
aquí se sigue que la mínima distancia de un código Hamming es exactamente 3. 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. Si formamos una matriz típica para el código Hamming de
longitud 2m-1, se pueden usar todas las (2m-1)-tuplas de peso 1 como líderes de coconjunto. El
número de (2m-1)-tuplas de peso 1 es 2m-1. Como n-k=m, el código tiene 2m coconjuntos. Así,
el vector 0 y las (2m-1)-tuplas de peso 1 forman todos los líderes de los coconjuntos de la matriz
típica. Esto nos dice que un código Hamming corrige solamente los patrones de error simple y
ningún otro. Esta es una construcción muy interesante. 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í, los códigos Hamming forman una clase de códigos
perfectos de corrección de errores simples. Podemos borrar cualesquiera l comunas de la matriz
de comprobación de paridad H de un código Hamming. Esto da como resultado una matriz H' de
orden m x (2m-l-1). Usando H' como matriz de comprobación de paridad, obtenemos un código
Hamming recortado con los siguientes parámetros:
Longitud del Código:</TD n=2m-1
Número de símbolos de información:</TD k=2m-m-1
Presentado por YESENIA GONZALEZ céd 4-239-906
Número de símbolos de comprobación de paridad:</TD n-k=m
Distancia mínima:</TD dmin=3
Si borramos las columnas apropiadas de H, obtenemos un código Hamming
recortado de distancia mínima 4. Por ejemplo, si borramos de la sub matriz Q
todas las columnas de peso impar, obtenemos una matriz de peso m x 2m-1:
H'=[Im Q'] ,donde Q' consta de 2m-1-m columnas de peso par. Como todas
las columnas de H' tiene peso par, no hay tres columnas que sumen cero. No
obstante, para una columna hi de peso 3 en Q', existen tres columnas hj, hl,
hs en Im tal que hi + hl + hj + hs = 0. Así, el código Hamming recortado con
H' como matriz de comprobación de paridad tiene distancia mínima
exactamente 4.
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. Cuando un error simple ocurre durante la
transmisión de un vector código, el síndrome resultante es distinto de cero y
contiene un número par de unos. No obstante, cuando ocurre un error doble,
el síndrome es también distinto de cero, pero consta de un número impar de
unos. Basándonos en estos hechos, la decodificación puede ser realizada de
la siguiente manera:
Si el síndrome s es cero, asumimos que el error no existió. Si s es distinto de
cero y consta de un número par de unos, asumimos que el error ocurrido fue
un error simple. El patrón de error del error simple que corresponde a s se
suma al vector recibido para la corrección de errores. Si s es distinto de cero
y contiene un número impar de unos, se ha detectado un patrón de error no
corregible.
Presentado por YESENIA GONZALEZ céd 4-239-906
Matriz generadora
Un código lineal (n,k) esta completamente definido por las k filas de la matriz
generadora G.
Ejemplo
El código lineal (7,4) dado en la tabla 1 tiene la siguiente matriz como matriz
generadora:
Sea u = (1 1 0 1) el mensaje que hay que codificar, su palabra código
correspondiente será:
v = u*G = (0 0 0 1 1 0 1)
Forma sistemática.
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, donde una
palabra código se divide en dos partes: la parte del mensaje y la parte de
redundancia. 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, los cuales son una suma lineal de los bits de
información. A un código lineal de bloque con esta estructura se le
llama código lineal sistemático de bloque.
El código (7,4) dado en la tabla 1 es un código sistemático, 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.
Presentado por YESENIA GONZALEZ céd 4-239-906
Forma sistemática de una palabra código:
Un código lineal (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,..., uk-1 que hay
que codificar, y que los n - k dígitos de redundancia que están a la derecha,
son sumas lineales de los de información.
Ejemplo
Sea u = ( 1 0 1 1 ), el mensaje que hay que codificar, y G la matriz de abajo.
Entonces podemos obtener v de la siguiente forma:
Presentado por YESENIA GONZALEZ céd 4-239-906
v = ( 1 0 0 1 0 1 1 )
Además, podemos comprobar:
v6 = u3
v5 = u2
v4 = u1
v3 = u0
v2 = u1 + u2 + u3
v1 = u0 + u1 + u2
v0 = u0 + u2 + u3
Matriz H: Esta matriz H es la matriz de comprobación de paridad del
código.
Si la matriz generadora de un código lineal (n,k) está en la forma
sistemática, la matriz de comprobación de paridad tiene la siguiente forma:
H = [ In-k PT ] =
Donde PT es la traspuesta de la matriz P.
Presentado por YESENIA GONZALEZ céd 4-239-906
Esto implica que G HT = 0. Por lo tanto, la matriz H es una matriz de
comprobación de paridad del código lineal generado por la matriz G.
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. 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.
Los administradores configuran la directiva de seguridad administrando los
grupos de código y sus conjuntos de permisos asociados.
ELEMENTOS DE INFORMÁTICA TEORICA. GRAMÁTICA, LENGUAJES Y
MÁQUINAS.
Máquinas de Estados Finitos
Se denomina máquina de estados a un modelo de comportamiento de un
sistema con entradas y salidas, en donde las salidas dependen no sólo de las
señales de entradas actuales sino también de las anteriores. Las máquinas
de estados se definen como un conjunto de estados que sirve de
intermediario en esta relación de entradas y salidas, haciendo que el
historial de señales de entrada determine, para cada instante, un estado
para la máquina, 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,
este es el único tipo de máquinas de estados que podemos modelar en un
computador en la actualidad; debido a esto se suelen utilizar los términos
Presentado por YESENIA GONZALEZ céd 4-239-906
máquina de estados y máquina de estados finitos de forma intercambiable.
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, en contraposición los bits toman
valores discretos (0 ó 1). 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.
La representación de una máquina de estados se realiza mediante un
Diagrama de estados, sin embargo también es posible utilizar un Diagrama
de flujo.
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), depende únicamente
del estado y existe un estado inicial. Puede decirse, entonces, que
cuando la máquina produce una salida "positiva" (es decir, un "si"), es
porque ha "reconocido" o "aceptado" la secuencia de entrada. En las
máquinas de estados aceptoras, los estados con salida "positiva" se
denominan estados finales.
Transductoras: Son las más generales, que convierten una secuencia
de señales de entrada en una secuencia de salida, pudiendo ésta ser
binaria o más compleja, depender de la entrada actual (no sólo del
estado) y pudiendo también prescindirse de un estado inicial.
La bibliografía a veces llama autómata finito a las aceptoras, mientras que
en otros casos se
emplea autómata como
sinónimo de máquina
de estados sin importar
su tipo.
Presentado por YESENIA GONZALEZ céd 4-239-906
Siempre que hagamos el diseño de un circuito con autómatas secuenciales
finitos podremos diferenciar en él los siguientes elementos:
Una memoria que permite almacenar el estado actual del autómata.
Dos circuitos combinacionales, uno para calcular el estado siguiente
del autómata y el otro para hallar la salida.
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.
Autómatas de Mealy
En un Autómata de Mealy, tanto la salida del autómata como su estado
siguiente, en un instante determinado, 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 Mealy, estando en un determinado estado,
puede evolucionar hacia estados siguientes distintos y producir salidas
distintas si se introduce una ó varias entradas binarias distintas.
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
En el podemos distinguir los siguientes elementos:
Estados: que se pueden definir como las posibles situaciones a las
que puede llegar el autómata.
Transiciones: son los eventos producidos por las entradas y que
producirán el cambio de un estado a otro, en el sentido indicado por
las flechas.
Un ejemplo de cómo debe leerse el diagrama para su comprensión sería el
siguiente: desde el estado Q0, con entradas 11, se pasa al estado Q1 y
produce salida 0; desde el estado Q1, con entradas 00 se pasa al estado Q0,
y la salida será igual a "1", y así para todas las posibles transiciones.
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.
Como vemos en el DTE (Diagrama de Transición de Estados), la salida
depende del estado en que nos encontremos y del valor de las entradas.
Autómatas de Moore
Son aquellos en los cuales el estado siguiente, en un instante determinado,
depende tanto del estado en el que se encuentra el autómata como de la
entrada o entradas binarias introducidas, pero la salida en ese mismo
instante sólo depende del estado en el que se encuentra el autómata.
Esto implica que un autómata de Moore, estando en un determinado estado,
produce siempre la misma salida, independientemente de cuál sea la
entrada ó entradas de datos en ese estado.
Presentado por YESENIA GONZALEZ céd 4-239-906
Un ejemplo de un Diagrama de Estados de un Autómata de Moore sería el
siguiente:
Como vemos en el DTE la salida depende del estado en que nos
encontremos pero no del valor de la entrada ó entradas de ese estado.
El diagrama debe de interpretarse de la siguiente forma: desde el estado 00
(en el cual siempre se da salida 0) y con entrada E0=1 se pasa al estado 01
(en el que siempre tenemos salida 0), una vez que el sistema a evolucionado
a este nuevo estado y con entrada E0=1 se pasa al estado 10 con salida 0),
y así para todas las posibles transiciones.
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.
Algunos puntos prácticos que diferencian a ambos autómatas son los
siguientes:
En Mealy la salida es obtenida antes que en Moore.
Mealy es más ágil y nervioso que Moore, que es más ordenado y
tranquilo.
Presentado por YESENIA GONZALEZ céd 4-239-906
Los diseñadores tienen a Mealy por peligroso, ya que tiene cierto
carácter asíncrono.
Los estados en Mealy suelen o pueden ser más abstractos que en
Moore.
Mealy suele o puede tener menos estados que Moore, por tanto su
implementación resulta más económica.
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. En el ejemplo
práctico que vamos hacer utilizaremos a Moore.
Una vez obtenida las funciones de salida simplificadas, se construye el
circuito y se simula. Lo podemos hacer con Proteus, pero existe otro IDE que
es perfecto por su sencillez para este tipo de circuitos. Se trata logisim, que
además se puede descargar de forma gratuita desde la página del autor, el
circuito terminado sería el siguiente:
Presentado por YESENIA GONZALEZ céd 4-239-906
Máquinas de Equivalencia e indistinguibilidad
Sea una máquina, ya sea de Mealy o de Moore.
Extendemos la función de transición a una función
, haciendo, para cada estado :
Así pues, para cada palabra , es el estado al que se llega cuando,
a partir del estado q, se va aplicando, uno a uno, cada uno de los símbolos
de , de izquierda a derecha. De manera similar se puede extender la
función de respuesta a todo el diccionario . Si M es una máquina de
Mealy, definimos , haciendo, para cada estado y
para cada palabra , donde,
en otras palabras, se tiene
Si M es una máquina de Moore, la función de respuesta
depende únicamente del estado visitado: para cada estado
Presentado por YESENIA GONZALEZ céd 4-239-906
En cualquier caso, sea en máquinas de Mealy o de Moore, la función
, donde q0 es el estado inicial, es la función de traducción
que realiza la máquina. Por las semánticas procedimentales introducidas, se
tiene que :
Dos máquinas M y N se dicen ser equivalentes, , si . En
otras palabras, dos máquinas son equivalentes si ambas traducen de
idéntica manera a cualquier palabra de entrada. Ya que las máquinas de
Moore son casos particulares de las máquinas de Mealy, se tiene que toda
máquina de Moore es equivalente a una de Mealy. Veamos que el recíproco
también se cumple:
Proposición 1.1 Toda máquina de Mealy es equivalente a una de Moore:
Para cada máquina de Mealy existe una
máquina de Moore tal que .
En efecto, dada una máquina de Mealy ,
realicemos la siguiente construcción:
estados:
sea . Se ``desdobla'' cada estado ''viejo''
en estados ``nuevos'' de la forma (q,t),
transición:
sea , donde tran y res son las
funciones de transición y de respuesta ``viejas'';
respuesta:
Presentado por YESENIA GONZALEZ céd 4-239-906
sea ; y
estado inicial:
sea .
Se ve directamente que la máquina de Moore construida es equivalente a la
de Mealy dada.
Ejemplo Consideremos la máquina de Mealy del ejemplo 2. anterior que
``reconoce a repeticiones finales de un mismo símbolo en ''. Ahí, la
máquina tiene transición y respuesta,
La máquina de Moore equivalente consiste de 7=1+6 estados
y sus correspondientes transición y respuesta son
Observamos aquí que los estados no aparecen en la imagen de la función de transición nueva. Por tanto, los restantes cuatro estados, junto con el inicial, definen una máquina de Moore de 5 estados equivalente a la máquina de Mealy dada.
Presentado por YESENIA GONZALEZ céd 4-239-906
En lo que resta de esta sección, consideraremos únicamente máquinas de
Moore. Sea una máquina de Moore. Se dice que
es una máquina-(n,m,k) si es el número de estados,
es el número de símbolos de entrada y es el
número de símbolos de salida, que son efectivamente asumidos bajo la
función de respuesta res. Sea la función que, para un
estado q y una palabra , da el último símbolo de respuesta cuando se
aplica a partir de q. Diremos que dos estados q1, q2 son indistinguibles,
, si para cualquier palabra se tiene .
Intuitivamente, dos estados son indistinguibles si no se los puede distinguir
mediante una sucesión de estímulos, pues ambos estados ofrecen mismas
respuestas ante mismas entradas. Los estados son distinguibles si para
alguna palabra se tiene , y en tal caso, se dice que los
distingue.
Proposición 1.2 Cualesquiera dos estados distinguibles en una máquina-
(n,m,k) lo son mediante una palabra de longitud a lo sumo n-k.
En efecto, para cada sea Ii el conjunto de parejas de estados que no
pueden ser distinguidos por palabras de longitud i,
Ii es una relación de equivalencia. Sea el índice de la relación Ii. Ya que la
sucesión de relaciones es decreciente, o sea,
Presentado por YESENIA GONZALEZ céd 4-239-906
se tiene que la correspondiente sucesión de índices es creciente,
(5)
Naturalmente, donde es el índice de la
relación `` ''. Por tanto, necesariamente, , y, de hecho,
. De aquí puede verse que las desigualdades intermedias en
la serie de relaciones 3.1 son estrictas, es decir
y, en particular, .
Por tanto, el número de relaciones distintas de la forma Ii está mayorizado
por la desigualdad , quod erat demonstratum.
La proposición anterior proporciona un algoritmo elemental para calcular, de
manera exhaustiva, al cociente :
1.
Sean , y las cardinalidades de
los conjuntos de símbolos de entrada, estados y símbolos de salida
asumidos.
2.
Sea el número de palabras de longitud a lo más
. 3.
Fórmese la matriz tal que . 4. Dos estados son indistinguibles entre sí si los correspondientes vectores