Академический Документы
Профессиональный Документы
Культура Документы
SURESTE
Quinto Semestre
OCTUBRE 2018
INTRODUCCIÓN
Cuando ya se ha diseñado completamente el algoritmo y se tiene escrito en algún
esquema de representación (pseudo-código o diagrama de flujo), el siguiente paso es
codificarlo en el lenguaje de programación definido para tal fin. En este momento es
cuando el programador interactúa con el computador mediante la herramienta de
software de que disponga para codificar en el lenguaje seleccionado.
Una vez que los algoritmos de una aplicación han sido diseñados, ya se puede iniciar la
fase de codificación. En esta etapa se tienen que traducir dichos algoritmos a
un lenguaje de programación específico; es decir, las acciones definidas en los
algoritmos hay que convertirlas a instrucciones.
Para codificar un algoritmo hay que conocer la sintaxis del lenguaje al que se va a
traducir. Sin embargo, independientemente del lenguaje de programación en que esté
escrito un programa, será su algoritmo el que determine su lógica.
La lógica de un programa establece cuáles son sus acciones y en qué orden se deben
ejecutar. Por tanto, es conveniente que todo programador aprenda a diseñar algoritmos
antes de pasar a la fase de codificación.
OBJETIVO GENERAL
Plantear, examinar y resolver diferentes situaciones donde el empleo de algoritmos es
completamente necesario en asocio con la implementación de modelos matemáticos y
físicos, para una posterior escritura de un código fuente en un lenguaje en particular.
OBJETIVOS ESPECIFICOS
PÁG.
2
UNIDAD 3 CODIFICACIÓN
3.1 GRUPOS
4
3.1.1 HOMEOMORFISMOS
f es "uno a uno" (biunívoca), lo que significa que para cada elemento x Î X existe
un único y Î Y tal que f(x) = y y viceversa. Esto permite definir la función inversa, f-
1:Y® X
5
3.1.2 ISOMORFISMOS.
El lector puede observar la segunda fila de la tabla mencionada para ver todas
las imágenes de esta transformación: ta(e) = a; ta(a) = b; ta(b) = c; ta(c) = d;
ta(d) = g; ta(g)
=e
Sea G’ = {t : G G} definidas en la forma indicada. Será G’ = {ta, tb, tc, td, te, tg}
6
para el caso de n = 6, todas transformaciones distintas, como puede verificarse
observando las diferentes filas de la tabla correspondiente.
y en el caso particular de nuestra tabla vemos que tab = tc . Esto significa que el
producto de dos transformaciones de G’ es otra transformación de G’. Luego este
producto es cerrado.
Esto nos indica que G’ tiene estructura de grupo y es isomorfo con el grupo
abstracto considerado. Lo cual prueba la tesis.
7
3.1.3 CÍCLICOS.
Un grupo cíclico es un grupo que puede ser generado por un solo elemento;
es decir, hay un elemento a del grupo G (llamado "generador" de G), tal que todo
elemento de G puede ser expresado como una potencia de a. Si la operación del
grupo se denota aditivamente, se dirá que todo elemento de G se puede expresar
como na, para n entero.
Salvo isomorfismos, existe exactamente un grupo cíclico para cada cantidad finita
de elementos, y exactamente un grupo cíclico infinito. Por lo anterior, los grupos
cíclicos son de algún modo los más simples, y han sido completamente clasificados.
Propiedades
9
3.1.4 COSETS
Cualquier dos cosets izquierdos son o idénticos o desuna -- los cosets izquierdos
forman a partición de G: cada elemento de G pertenece a un y solamente un coset
izquierdo. Particularmente la identidad está solamente en un coset, y ese coset es
H sí mismo; éste es también el único coset que es un subgrupo. Podemos ver esto
claramente en los ejemplos antedichos.
Todos los cosets izquierdos y todos los cosets derechos tienen igual orden (número
de elementos, o cardinality en el caso de infinito H), igual a la orden de H (porque H
está sí mismo un coset). Además, el número de cosets izquierdos es igual al número
de cosets derechos y se conoce como índice de H en G, escrito como [G : H ].
Teorema de Lagrange permite que computemos el índice en el caso donde G y H
sea finito, según el fórmula:
|G | = [G : H ] · |H |
10
Solamente cuando H es normal voluntad los cosets derechos e izquierdos de H
coincida, que es una definición de la normalidad de un subgrupo.
Para grupos abelian o los grupos escritos aditivo, la notación utilizaron cambios a g+H
y
H+g respectivamente.
Ejemplos
0 + H = {0, 2} = H
11
1 + H = {1, 3}
2 + H = {2, 0} = H
3 + H = {3, 1}
Otro ejemplo de un coset viene de la teoría de espacios del vector. Los elementos
(vectores) de una forma del espacio del vector Grupo Abelian debajo adición de
vector. No es duro demostrar eso subspaces de un espacio del vector esté
subgrupos de este grupo. Para un espacio del vector V, un subspace W, y un vector
fijo a en V, los sistemas
se llaman afine los subspaces, y son los cosets (ambos a la izquierda e a la derecha,
puesto que el grupo es Abelian). En términos de geométrico los vectores, éstos
afinan subspaces son todos los “alinean” o “acepilla” paralelo al subspace, que es
una línea o un plano que pasa con el origen.
12
3.1.5 TEOREMA DE LAGRANGE (TEORÍA DEL GRUPO)
Esta prueba también demuestra a eso el cociente de las órdenes |G| / |H| es igual a
índice [G
: H] (el número de cosets izquierdos de H en G). Si escribimos esta declaración como
|G| = [G : H] · |H|,
13
El teorema de Lagrange plantea la cuestión de si cada divisor de la orden de un
grupo es la orden de un subgrupo. Este asimiento de la necesidad. Dado un grupo
finito G y un divisor d de |G|, no existe necesariamente un subgrupo de G con orden
d. El ejemplo más pequeño es grupo que se alterna G = A4 cuál tiene 12 elementos
pero ningún subgrupo de la orden 6. Cualquier grupo finito que tenga un subgrupo
con el tamaño igual a cualquier divisor (del positivo) del tamaño del grupo debe ser
soluble, así que los grupos nonsolvable son ejemplos de este phenonenon, aunque
A4 demuestra que no son los únicos ejemplos. Si G es abelian, entonces existe
siempre un subgrupo de cualquier orden que divide el tamaño de G. Una
generalización parcial se da cerca Teorema de Cauchy.
14
3.1.6 METRICA DE HAMMING
Por ejemplo:
An xAn d Z R
(u, w) d (u, w)
15
La bola con centro en un elemento u y radio 1 es u, todos los puntos son abiertos (
topología abierta).
16
3.2 ANILLOS.
2. La operación es asociativa.
3. La operación tiene a n
como elemento neutro.
Estas cuatro condiciones definen un grupo. Una quinta condición define un grupo
abeliano:
5. La operación es conmutativa.
Para definir un anillo, es necesario agregar cuatro condiciones más que hablan
acerca de la segunda operación binaria y el segundo elemento destacado:
6. A es cerrado bajo
la operación .
7. La operación
es asociativa.
La operación tiene a
8. m como elemento
17
neutro.
La operación es
9. distributiva
respecto de .
18
3.2.1 GRUPOS DE CÓDIGOS.
Por ejemplo, sea x = 00101 y y = 10110, entonces x * y = 10011. Una palabra con
únicamente ceros es la identidad, y que cualquier palabra es su propio inverso en
(A,□).
, como el peso de x □ y
, w(x □ y) .
que fue la palabra transmitida. Este criterio para determinar la palabra transmitida
se conoce como criterio de decodificación de la máxima – probabilidad.
21
22
Por otra parte si suponemos que la presencia de errores en las posiciones son
independientes, y que la probabilidad de que haya un error es ,
donde
entonces = es la distancia entre xi y . Para < ,
mayor será entre menor sea ,
23
Entonces por el criterio de decodificación de la mínima – distancia efectivamente se
seleccionará a x como la palabra transmitida.
Ya que los códigos de grupo son una clase de códigos de bloque demostraremos
que : Un subconjunto G de A es llamado un código de grupo si ( G , □ )es un
subgrupo de ( A , □ ) , donde A es el conjunto de sucesiones binarias de longitud .
25
Al combinar (3*) y (4*) llegamos a que
Para códigos de grupo , existe una manera eficiente para determinar la palabra
transmitida correspondiente a una palabra recibida de acuerdo con el criterio de
decodificación de la mínima – distancia .
EJEMPLO 1
26
3.2.2 COSETS LÍDERES.
Para grupos abelian o los grupos escritos aditivo, la notación utilizaron cambios a
g+H y
H+g respectivamente
H2(3)
El tomar el dígito más significativo igual a 1 implica que cogemos un único punto en
cada recta.
r=3=n–kk=
28 m = qk = qn-r
28
Demostración:
n-r
m=q
qn-r · (1 + n · (q – 1)) = qn
Demostración:
[7,4,3]-código
29
Proposición: Supongamos que una palabra x Hq(r) sufre un único error, resultando
la palabra recibida y. Sea h(y) Kr el síndrome de la palabra recibida y a K el símbolo
más significativo de h(y). Si la columna de Hq(r) que contiene a a-1h(y) es la columna
i-ésima entonces la palabra de error es y se verifica que x = y - aei.
Demostración:
Dado que todo cuerpo de característica 0 contiene a los racionales y es por lo tanto
infinito, todos los campos finitos tienen característica prima, y por lo tanto, su tamaño
(o cardinalidad) es de la forma pn, para p primo y n > 0 entero (pues el campo es un
30
espacio vectorial sobre el subcuerpo de cardinalidad p generado por el elemento 1).
No es en general cierto, sin embargo, que todo cuerpo de característica prima sea
finito.
(1) ,
Hechos de interés sobre anillos de polinomios tienen que ver con las propiedades
del mismo a partir del anillo en el que tienen sus coeficientes. Por ejemplo, cuando
A es un dominio íntegro, A[S] también lo es, y las unidades de A[S] son las mismas
que las de A. Por el contrario A[S] nunca será un cuerpo, no importando que A lo
sea o no, pues aunque las unidades de A[S] sean las mismas que las de A, A es tan
sólo un subanillo de A[S]. Sin embargo, el anillo A[S] es un dominio integro si A lo
es, luego, dado el caso, se puede construir el cuerpo de cocientes de A[S] (i.e. el
cuerpo de fracciones de polinomios), que se denota comúnmente por A(S).
Los coeficientes de los polinomios de un anillo A[S] pueden tomarse no solo como
los elementos de A. En la práctica podemos hacer agrupaciones del tipo
y éstas también deben hacerse en un anillo de polinomios A[S]. Para ello se separan
los elementos de S en dos conjuntos disjuntos, digamos R y T, luego el anillo de
polinomios A[R][T] tiene coeficientes en el anillo de polinomios A[R] e
indeterminadas en .
Sea A un anillo unitario. Todo polinomio no nulo de A[x] cuyo coeficiente director sea
una unidad puede dividir euclídeamente a cualquier otro polinomio de A[x] y el grado
del resto es estrictamente menor que el grado de del divisor. Es decir, si D y d son
polinomios de A[x] no nulos, con el coeficiente director de d una unidad de A,
entonces existen polinomios c y r de A[x] tales que
32
con
El dominio íntegro R puede, entre otros, ser el conjunto de los números reales
(que es dominio íntegro por ser cuerpo), el conjunto de los números complejos
(también cuerpo), el conjunto de los números racionales (cuerpo también) o el
conjunto de los números enteros (que no es cuerpo pero sí dominio íntegro).
33
Un polinomio irreducible es polinomio primitivo si y
solo si p es primo
y x es un elemento de orden
Un cuadrado latino es una matriz de n×n elementos, en la que cada casilla está
ocupada por uno de los n símbolos de tal modo que cada uno de ellos aparece
exactamente una vez en cada columna y en cada fila.
Los cuadrados latinos se dan como una Tabla de multiplicar (Tabla Cayley) de
quasigrupos. Estos tienen su aplicación en el diseño de experimentos.
Muchas operaciones sobre un Cuadrado latino producen otro Cuadrado latino (por
ejemplo, alternar filas).
35
3.2.8 CRIPTOGRAFÍA.
Con más precisión, cuando se habla de esta área de conocimiento como ciencia,
se debería hablar de criptología, que a su vez engloba tanto las técnicas de cifrado,
es decir, la criptografía propiamente dicha, como sus técnicas complementarias,
entre las cuales se incluye el criptoanálisis, que estudia métodos empleados para
romper textos cifrados con objeto de recuperar la información original en ausencia
de las claves.
Las dos técnicas más sencillas de cifrado, en la criptografía clásica, son la sustitución
(que supone el cambio de significado de los elementos básicos del mensaje -las letras,
los dígitos o los símbolos-) y la trasposición (que supone una reordenación de los
mismos); la gran mayoría de las cifras clásicas son combinaciones de estas dos
operaciones básicas.
36
El descifrado es el proceso inverso que recupera el texto plano a partir del
criptograma y la clave. El protocolo criptográfico especifica los detalles de cómo se
utilizan los algoritmos y las claves (y otras operaciones primitivas) para conseguir el
efecto deseado. El conjunto de protocolos, algoritmos de cifrado, procesos de
gestión de claves y actuaciones de los usuarios, es lo que constituyen en conjunto
un criptosistema, que es con lo que el usuario final trabaja e interactúa.
Existen dos grandes grupos de cifras: los algoritmos que usan una única clave tanto
en el proceso de cifrado como en el de descifrado, y los que emplean una clave para
cifrar mensajes y una clave distinta para descifrarlos. Los primeros se denominan
cifras simétricas, de clave simétrica o de clave privada, y son la base de los
algoritmos de cifrado clásico. Los segundos se denominan cifras asimétricas, de
clave asimétrica o de clave pública y forman el núcleo de las técnicas de cifrado
modernas.
37
asimétrica, pero la realidad es que la mayoría de los expertos hispanohablantes
prefieren evitar ambos neologismos hasta el punto de que el uso de los mismos
llega incluso a discernir a los aficionados y novatos en la materia de aquellos que
han adquirido más experiencia y profundidad en la misma.
38
CONCLUSIÓN
La programación es importante porque con ella nosotros podemos cambiar el mundo, lo
innovamos. Además, programando nosotros salimos adelante, es un bien para mí y para
la sociedad, el programador es quien hace los programas que hacen facilitar la vida del
ser humano, la programación no es aburrida es divertida, con ellos nosotros podemos
transformar nuestras ideas, y así crear cosas divertidas, entretenidas, de uso diario, que
ayude a facilitar la vida.
Por eso es importante que desde una temprana edad uno valla relacionando la
programación con nuestras vidas, por ende, es necesario conocer estos temas de
programación por que van abriendo el camino a la programación.
39
BIBLIOGRAFIA
40
41