Académique Documents
Professionnel Documents
Culture Documents
Trujillo
Diciembre 2017
Dedicado a nuestras
familias y amigos
I
II
Agradecimientos
Agradecemos a todas las personas que confiaron en nosotros y aquellas que con
sus consejos hicieron de nosotros mejores personas. A todos los profesores de
nuestra universidad, y haciendo una mención especial a la profesora Sofı́a Pedro
Huamán, que hizo un gran trabajo dictando el curso de Lenguajes Formales en
el año 2017.
III
IV
Resumen
En este trabajo que presentamos muestra básicamente como las expresiones re-
gulares se pueden llegar usar en distintos ámbitos excluyendo, sus usos dentro de
las ciencias de la computación. Tanto en ciencias naturales, como lo es la biologı́a,
ası́ como en artes musicales. Haremos un estudio amplio sobre la identificación
de patrones de notas para determinadas escalas musicales, las cuales constituyen
la base fundamental para la creación del conjunto de melodı́as en la composición
de temas musicales en el género Blues. Junto con ello en este trabajo también se
adentrará en el campo de las ciencias biológicas, precisamente en como las ex-
presiones regulares son utilizadas para el análisis de cadenas de ADN. Para una
correcta compresión acerca de las expresiones regulares en los temas ya mencio-
nados, se realizó un capı́tulo introductorio en el cual se manejan conceptos claves
acerca de Expresiones Regulares y otros temas referentes a la informática teóri-
ca, para luego adentrarnos concretamente en las aplicaciones de las Expresiones
Regulares.
V
VI RESUMEN
Índice general
Agradecimientos III
Resumen V
Lista de figuras XI
1. Conceptos Básicos 1
1.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2. Uso de las expresiones regulares . . . . . . . . . . . . . . . . . . . 2
1.3. Lenguaje Regular . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3.1. Autómata Finito . . . . . . . . . . . . . . . . . . . . . . . 3
1.3.1.1. Autómata Finito Determinista . . . . . . . . . . 3
1.3.1.2. Autómata Finito No Determinista . . . . . . . . 5
1.3.2. Gramática Regular . . . . . . . . . . . . . . . . . . . . . . 7
1.3.3. Gramática Libre de Contexto . . . . . . . . . . . . . . . . 7
1.4. Expresión Regular . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.4.1. Operadores de las expresiones regulares . . . . . . . . . . . 8
1.4.2. Propiedades de las Expresiones Regulares . . . . . . . . . . 9
VII
VIII ÍNDICE GENERAL
A. Anexos 39
X ÍNDICE GENERAL
Índice de figuras
XI
XII ÍNDICE DE FIGURAS
XIII
XIV ÍNDICE DE CUADROS
Introducción
XV
XVI ÍNDICE DE CUADROS
Capı́tulo 1
Conceptos Básicos
1.1. Introducción
1
2 CAPÍTULO 1. CONCEPTOS BÁSICOS
precisa, de modo que nuestro lector con escasos conocimientos acerca de temas
de informática teórica pueda comprender el uso y aplicaciones de las expresiones
regulares en los temas que trataremos posteriormente.
Son diversos los motivos por los que se estudia los autómatas, en la complejidad
de cálculo constituyen una parte importante del core de la informática teórica
dentro de las ciencias de la computación, ası́ como su uso dentro de otros campos
en donde parece casi imposible el uso de fundamentos teóricos. A continuación,
se mostrará conceptos esenciales que se debe tener en cuenta respecto a las Ex-
presiones Regulares.
Puede ser descrito mediante una expresión regular (expresar de forma com-
pacta como son todas las cadenas que son pertenecientes a dicho lenguaje).
A = (Q, Σ, δ, Q0 , F )
4 CAPÍTULO 1. CONCEPTOS BÁSICOS
δ 0 1
q0 q2 q0
q1 q1 q1
q2 q2 q1
A = (Q, Σ, δ, Q0 , F )
6 CAPÍTULO 1. CONCEPTOS BÁSICOS
En donde:
A = (q0 , q1 , q2 , 0, 1, δ, q0 , F )
δ 0 1
q0 q0 , q1 q0
q1 Φ q2
q2 Φ Φ
el que ocurra. Un lenguaje formal es libre de contexto si hay una gramática libre
de contexto que lo genera.
asociativas: α + (β + γ) = (α + β) + γ = α + β + γ
α.(β.γ) = (α.β) + γ = α.β.γ
conmutativa: α + β = β + α
idepotente: α + α = α
α∗ = λ + α.α∗
λ∗ = λ
α∗ .α∗ = α∗
α.α∗ = α∗ .α
(α∗ )∗ = α∗
(α.β)∗ .α = α.(β.α)∗
En la figura 1.3 se muestra la relación que existen entre cada notación, cabe
destacar que existen algoritmos lo cuales nos llevan de una notación a otra.
Aplicación de expresiones
regulares en la musica
13
14CAPÍTULO 2. APLICACIÓN DE EXPRESIONES REGULARES EN LA MUSICA
cambiando cada vez más y de forma tan particular, que los músicos y su público
se encuentran hoy más cerca unos de otros y ası́ sucede entre ellos mismos. Los
bits (mı́nimo elemento posible de la información digital) se han convertido en-
tonces en unos diminutos agentes de cambio (no sólo en el ámbito de la música,
por cierto) permitiendo que la información ocupe cada vez un espacio menor, que
sea fácilmente reproducible y distribuible. Para los usuarios de ordenadores per-
sonales, el uso de audio digital se ha vuelto rutinario, ya sea porque mantienen
sus colecciones personales de música extrayéndolas de sus propios CDs, porque
descarguen música a través de sistemas punto a punto o hagan ambas cosas, en
cualquier equipo casero, personal o portable, pueden existir varios gigabytes de
audio. Estamos viviendo la era post-CD. Es importante entender entonces sus
diferencias con respecto a etapas anteriores. Para que cualquier tipo de informa-
ción pueda ser almacenada en un ordenador primero debe ser digitalizada, esto
quiere decir que debe ser representada numéricamente usando el sistema binario.
Cada vez que escuchamos una canción, o un vı́deo musical en la computadora o
en celular, el contenido al que somos expuestos está conformado en realidad por
ceros o unos que permiten la representación numérica de la información.
el cual manifiesta que la música y cualquier composición debe contar con tres
aspectos básicos: melodı́a, armonı́a y ritmo.
2.3.1. Melodı́as
Las melodı́as son las que cantamos o tarareamos cuando un tema es de nuestro
agrado. No podemos cantar o emitir más de una nota a la vez. La melodı́a es la
forma de combinar los sonidos, pero sucesivamente. De ahı́ que a muchos instru-
mentos se los llames melódicos, por ejemplo, una flauta, un saxo, un clarinete o
cualquier instrumento de viento, porque ellos no pueden hacer sonar más de una
nota a la vez.
2.3.2. Armonı́a
2.3.3. Ritmo
Octava: M I, F A, F A#, SOL, SOL#, LA, LA#, SI, DO, DO#, RE, RE#,
MI .
La escala es un grupo de notas que siguen el orden natural de los sonidos (do -
re - mi - fa - sol - la - si). La mayorı́a utiliza siete notas, más la repetición de la
primera, que serı́a la octava. Como hay varios tipos de escalas, cada una tiene un
patrón de tono y semitono que la caracteriza. En la construcción de una escala
no pueden faltar notas ni haber notas repetidas.
Cada grado de la escala tiene un nombre, pero hay tres que son los más impor-
tantes son la tónica, subdominante y dominante. Son la tónica, el cuarto y el
quinto grado, y son los más importantes por las diferentes funciones armónicas
que cumplen. Por lo general, el resto recibe el número que le corresponde: se-
gundo grado, tercer grado, etc. Un tipo de escalas existente es el de las escalas
pentatónicas. Este tipo de escala es la más utilizada en la realización de solos,
e improvisaciones relacionadas al blues, la cual tiene un sonido que caracteriza
completamente al género. Cada una de estas escalas puede ser ubicada para cada
una de las tonalidades en varios lugares del diapasón, es decir, son movibles. Las
escalas pentatónicas consisten de cinco notas distintas y se clasifican gruesamente
en menores y mayores.
2.5. BÚSQUEDA DE PATRONES MUSICALES EN BLUES 19
Esta expresión regular puede variar para cada escala de blues, note con deteni-
miento, que el final de cada secuencia de notas siempre tiene que terminar con
alguna de las cuatro notas iniciales de la secuencia. Esto es un hecho determinante
de cada escala y particularidad de blues. El número de cuerda y las repeticiones
solo son referenciales.
Proponemos tres secuencias de notas para cada tonalidad dentro de la escala que
hemos mencionado anteriormente. Esta composición en muy habitual en el blues
básico, esta composición se titula Texas Blues y cuenta con una progresión de
tres notas, las cuales son mi, la, y si7 (Ganapes, 1995).
2.5. BÚSQUEDA DE PATRONES MUSICALES EN BLUES 23
Notas para mi: mi(6) − sol(6) − la(5) − do(5) − re(4) − mi(4) − mi(6).
Notas para la: mi(6) − sol(6) − la(5) − do(5) − re(4) − mi(4) − la(5).
Notas para si7: mi(6) − sol(6) − la(5) − do(5) − re(4) − mib(4) − mi(4).
Ahora haremos unos cambios a las secuencias de notas con el fin de improvisar un
tema, algo que es totalmente normal en el blues como ya lo hemos mencionado.
Propondremos las siguientes notas para la misma progresión del ejemplo anterior.
Notas para mi: sol(1) − mi(1) − re(2) − si(2) − la(3) − sol(3) − mi(4).
Notas para la: sol(1) − mi(1) − re(2) − si(2) − la(3) − sol(3) − la[(3).
Notas para si7: sol(1) − mi(1) − re(2) − si(2) − la(3) − sol(3) − si[(3).
Una vez que se ha ingresado cada progresión blues se realiza una comparación
mediante una expresión regular, la cual se encuentra en la función .Analizar”,
en la que se obtiene una respuesta de salida, en la cual la nota pertenece o no
pertenece a la escala establecida.
24CAPÍTULO 2. APLICACIÓN DE EXPRESIONES REGULARES EN LA MUSICA
Reconocimiento de patrones en
secuencia de ADN
25
26CAPÍTULO 3. RECONOCIMIENTO DE PATRONES EN SECUENCIA DE ADN
3.1. Bioinformática
Comenzamos definiendo a la Bioinformática como la disciplina cientı́fica que com-
bina biologı́a, computación y tecnologı́as de la información definición de (Jennifer
Medina Walteros, 2005). El objetivo de la bioinformática es facilitar nuevas per-
cepciones biológicas y crear una perspectiva global que permita identificar los
principios unificadores de la biologı́a. Inicialmente, la bioinformática se ocupaba
sobre todo de la creación de bases de datos de información biológica, especial-
mente secuencias, y del desarrollo de herramientas para la utilización y análisis de
los datos obtenidos en esas bases de datos. La bioinformática en el campo de los
sistemas es análoga a la Minerı́a de datos de cadenas de ADN, proteı́nas, genómi-
cas, mutación y polimorfismo. Esta abarca distintas áreas como, por ejemplo, las
que mostramos a continuación:
3.3. ADN
Según la definición propuesta por (Acosta, 2004). el ADN es definido como un
polinucleótido construido por cadenas antiparalelas de unidades de desoxirribo-
nucleótidos unidos covalentemente dispuestos de forma complementaria y adop-
tando la estructura enrollada de doble hélice. Es preciso indicar que se distingue
en el ser humano la existencia de dos tipos de ADN: El ADN nuclear y el ADN
mitocondrial. Ambos pese a su estructura bioquı́mica es similar, pero tienen ca-
racterı́sticas totalmente diferentes.
3.3.3. Estructura
En la 3.1 se muestra la estructura del ADN formada por dos cadenas, llama-
das nucleótidos. Cada nucleótido está formado por una molécula de azúcar, un
grupo fosfato y un compuesto nitrogenado llamado base. Esta base puede ser
adenina(A), citosina(C), guanina(G) o timina(T). Las cadenas de genes vendrán
representadas por una serie de letras A-C-G-T.
30CAPÍTULO 3. RECONOCIMIENTO DE PATRONES EN SECUENCIA DE ADN
Para iniciar una comparación entre cadenas de ADN, se define una cadena lineal
finita y ordenada de sı́mbolos pertenecientes a un alfabeto, luego se determina
expresión regular o patrón, ası́ mismo se establecerá el tamaño de las expresio-
nes regulares, que evaluará las posibles combinaciones o similitudes dentro de la
secuencia a evaluar. Una vez definida la cadena se ingresa una cadena con carac-
terı́stica similar a la ya definida, con el objetivo de comparar las dos secuencias
3.5. ANÁLISIS DE PATRONES DE ADN 31
para encontrar la posición relativa de ambas en las que se produzca mayor núme-
ro de coincidencias entre sus componentes, a fin de encontrar todas las zonas
de similitud significativa entre las dos secuencias para caracterı́sticas comunes
(Julieth Andrea Paola Rios Daza, 2010).
tabla, esta tabla se consulta cuando hay una colisión. La función de la tabla, en
realidad, serı́a para determinar la mayor parte aprovechable del texto genético y
con ello aprovechar varias comparaciones. Este algoritmo se ha propuesto para
resolver lo siguiente problema: dado dos cadenas X e Y encontrar si hay ocurrencia
entre Y y X. Pasando a la fórmula matemática podemos asignar para que todo
i, 1 ≤ i ≤ n se tiene Ak + 1 = Bi .
Para concluir con este capı́tulo, estos algoritmos mostrados anteriormente son
implementados en equipos especializados para la búsqueda de patrones de ADN
y análisis de secuencias de ADN. Estos equipos son muy usados por los médicos
y biólogos, los cuales hacen un estudio exhaustivo con información obtenida por
estos equipos altamente eficaces y costosos.
36CAPÍTULO 3. RECONOCIMIENTO DE PATRONES EN SECUENCIA DE ADN
Conlusiones
En ese trabajo se pudo evidenciar que las expresiones regulares, no son un tema
que solo se aplica en el campo de las ciencias de la computación, sino que también
está presente en diferentes actividades y/o profesiones, también en la tecnologı́a
desarrollada con funcionalidades especı́ficas para el apoyo de estos ámbitos.
Como pudo notar el lector en los capı́tulos anteriores se enfatizó el tema de las
aplicaciones, llegando a usar la definición y otros aspectos de las expresiones
regulares con datos que obtengamos del área en donde se quiera aplicar estas y
ası́ resolver algún problema o desarrollar funcionalidad con base en expresiones
regulares.
Finalmente la aplicación de las expresiones regulares pueden llegar a adentrase
en más áreas en un futuro, aun existen muchas aplicaciones de las expresiones
regulares por investigar.
37
38CAPÍTULO 3. RECONOCIMIENTO DE PATRONES EN SECUENCIA DE ADN
Apéndice A
Anexos
39
40 APÉNDICE A. ANEXOS
Figura A.3: Prueba para el tema Texas Blues, primera secuencia , nota Mi mayor
Figura A.4: Prueba para el tema propuesto, tercera secuencia , nota Si7
42 APÉNDICE A. ANEXOS
Bibliografı́a
43
44 BIBLIOGRAFÍA