Está en la página 1de 12

ANÁLISIS Y VERIFICACIÓN DE ALGORITMOS

UNIDAD UNO - SEMANA UNO


REPASO
AUTOR: ALEJANDRO SOTELO ARÉVALO

TABLA DE CONTENIDO

1. FUNCIONES MATEMÁTICAS 2
2. CÁLCULO 3
2.1. POTENCIACIÓN 3
2.2. LOGARITMACIÓN 3
2.3. LÍMITES 4
2.4. SERIES 4
3. LÓGICA 5
3.1. TIPOS 5
3.2. SUSTITUCIÓN TEXTUAL 6
3.3. EXPRESIONES BOOLEANAS 7
3.4. CÁLCULO PROPOSICIONAL 9
3.5. CUANTIFICACIONES 10
3.6. CUANTIFICACIONES DE CONTEO 11
3.7. CÁLCULO DE PREDICADOS 12
EN RESUMEN 12
PARA TENER EN CUENTA 12

ANÁLISIS Y VERIFICACIÓN DE ALGORITMOS


ALEJANDRO SOTELO ARÉVALO
1
1. FUNCIONES MATEMÁTICAS
Tabla 1: Algunas funciones matemáticas importantes.
Nombre Aplicación Descripción Ejemplos
Piso Redondea hacia abajo, , ,
entregando el máximo , ,
número entero menor o igual , ,
a . ,
Techo Redondea hacia arriba, , ,
entregando el mínimo número , ,
entero mayor o igual a . , ,
,
Redondeo Redondea hacia el entero , ,
más cercano, donde los , ,
valores terminados en son , ,
redondeados alejándose del ,
cero.
Valor Entrega el valor de sin tener , ,
absoluto en cuenta su signo. , ,
, ,
,
Máximo Calcula el máximo valor entre , ,
los números y . ,
Mínimo Calcula el mínimo valor entre , ,
los números y . ,
División Calcula el resultado de la , ,
real división exacta entre los ,
números reales y .
División Calcula el cociente de la , , ,
entera división entera entre los ,
números enteros y .
Residuo Calcula el residuo de la , , ,
entero división entera entre los ,
números enteros y .

ANÁLISIS Y VERIFICACIÓN DE ALGORITMOS


ALEJANDRO SOTELO ARÉVALO
2
2. CÁLCULO

2.1. POTENCIACIÓN

Leyes de la potenciación:
Si son números reales positivos, y son números reales, entonces:
 (si )





 (por convención, donde )

2.2. LOGARITMACIÓN

La logaritmación , que se lee logaritmo en base de , se calcula hallando el número


tal que Por ejemplo, es igual a porque , es igual a
porque , es igual a porque , es igual a porque
,y es igual a porque .

Si es un número real positivo tal que ,y es un número real, entonces:



 (si )

Leyes de la logaritmación:
Si es un número real positivo distinto de , y son números reales positivos, entonces:



Logaritmo natural:
El logaritmo natural se define como donde es la constante
de Euler.

Fórmula del cambio de base:


Si es un número real positivo distinto de , y es un número real positivo, entonces:

ANÁLISIS Y VERIFICACIÓN DE ALGORITMOS


ALEJANDRO SOTELO ARÉVALO
3
 (para todo real positivo distinto de )
 (sirve para calcular logaritmos en cualquier base si sólo se tiene el
logaritmo natural)
 (si )

2.3. LÍMITES

Leyes de los límites:


Si es una constante real, y los límites y existen, entonces:



Regla de L’Hôpital:
Si son funciones diferenciables tales que:

2.4. SERIES

Algunas series notables que nos pueden llegar a ser útiles en el futuro son:

ANÁLISIS Y VERIFICACIÓN DE ALGORITMOS


ALEJANDRO SOTELO ARÉVALO
4
3. LÓGICA

El lenguaje formal que usaremos a lo largo del módulo es el de la Lógica Ecuacional de Gries
& Schneider, que se expone en las siguientes referencias:

A Logical Approach to Discrete Math de David Gries y Fred Schneider.


An introduction to teaching logic as a tool de David Gries y Fred Schneider:
http://www.cs.cornell.edu/home/gries/Logic/Introduction.html

Realizaremos un repaso breve y simplificado de la teoría de ambas referencias.

3.1. TIPOS

Un tipo es un conjunto de valores constantes que pueden ser asociados a las variables.

Tabla 2: Algunos tipos que usaremos en el módulo.


Símbolo Nombre Descripción
Booleanos Valores booleanos (verdadero) y (falso):
Naturales Números naturales:
Enteros Números enteros:
Enteros positivos Números enteros positivos:
Enteros negativos Números enteros negativos:
Racionales Números de la forma donde , y .
Irracionales Números con expansión decimal infinita no periódica.
Reales Números reales. Reúne los racionales y los irracionales:
Reales positivos Números reales positivos:
Reales negativos Números reales negativos:
Complejos Números complejos, que son de la forma con y .
Caracteres (letras mayúsculas: 'A', 'B', …, 'Z', letras minúsculas: 'a', 'b', …, 'z',
Caracteres
dígitos: '0', '1', …, '9', símbolos de puntuación: '.', ',', …, é .

Tabla 3: Algunas colecciones de elementos.


Notación Nombre Descripción
Arreglos de elementos de tipo indexados por números enteros desde
hasta (ambos límites inclusive). Dado , se tiene
que es el primer elemento del arreglo, es el segundo
Arreglos g , …, – es el penúltimo elemento del arreglo, y
es el último elemento del arreglo. La longitud del arreglo es la
cantidad de elementos que almacena, es decir, – . En el caso de que
, se dice que el arreglo es vacío, y que tiene longitud cero.
Conjuntos de elementos de tipo (no soportan elementos repetidos).
El conjunto vacío se representa con la constante .
Conjuntos Los conjuntos admiten las siguientes operaciones:
: Unión (reúne los elementos que están en y/o en ).
: Intersección (reúne los elementos que están en y en ).

ANÁLISIS Y VERIFICACIÓN DE ALGORITMOS


ALEJANDRO SOTELO ARÉVALO
5
: Diferencia (reúne los elementos que están en pero no en ).
: Subconjunto (informa si todo elemento de está en ).
: Pertenencia (informa si el elemento está en ).
: Partes (entrega un conjunto con todos los subconjuntos de ).
: Cardinalidad (entrega el número de elementos de ).
Bolsas de elementos de tipo (pueden tener elementos repetidos).
La bolsa vacía se representa con la constante .
Las bolsas admiten las siguientes operaciones:
Bolsas
: Unión (reúne los elementos que están en y/o en ).
: Intersección (reúne los elementos que están en y en ).
: Diferencia (reúne los elementos que están en pero no en ).
Secuencias de elementos de tipo (listas de elementos).
La secuencia vacía se representa con la constante .
Las secuencias admiten las siguientes operaciones:
Secuencias
: Prepend (inserta al principio de la secuencia el elemento ).
: Append (inserta al final de la secuencia el elemento ).
: Concatenación (pega la secuencia después de la secuencia ).

Tabla 4: Representación de colecciones por extensión.


Colección Notación por extensión
Conjuntos es el conjunto que contiene los elementos , , …, y .
Bolsas es la bolsa que contiene los elementos , , …, y .
Secuencias es la secuencia que lista los elementos , , …, y , en ese orden.

Tabla 5: Representación de colecciones por comprensión.


Colección Notación por comprensión Ejemplos
es el conjunto de todos los valores
de tipo que satisfacen la condición .
Conjuntos es el conjunto de todos los
valores de la forma siendo un valor de
tipo que satisface la condición .
es la bolsa de todos los valores
de tipo que satisfacen la condición .
Bolsas es la bolsa de todos los valores
de la forma siendo un valor de tipo que
satisface la condición .

3.2. SUSTITUCIÓN TEXTUAL

La sustitución textual denota la expresión que resulta de reemplazar todas las


ocurrencias de la variable en la expresión por la expresión . Para evitar la
proliferación de paréntesis, se pueden eliminar paréntesis innecesarios sin mención.

Ejemplos:
 .
 .

ANÁLISIS Y VERIFICACIÓN DE ALGORITMOS


ALEJANDRO SOTELO ARÉVALO
6
 .
 .
 .
 .

Dada una lista de variables distintas, la sustitución textual simultánea


denota la expresión que resulta de reemplazar
simultáneamente para cada desde hasta todas las ocurrencias de la variable en la
expresión por la expresión . Eliminaremos paréntesis innecesarios sin mención.

Ejemplos:
 .
 .
 .
 .

La sustitución textual actúa con mayor precedencia que cualquier otro operador.

Ejemplos:
 .
 .
 .
 .

La sustitución textual es una operación que asocia por la izquierda: es


una abreviación de la expresión .

Ejemplos:
 .
 .

3.3. EXPRESIONES BOOLEANAS

Una variable booleana es una variable de tipo que puede tomar el valor ó el valor
. Una expresión booleana es una expresión que al evaluarse da como resultado o
, y que está construida usando las constantes y , variables booleanas y
operadores booleanos llamados conectivos lógicos.

ANÁLISIS Y VERIFICACIÓN DE ALGORITMOS


ALEJANDRO SOTELO ARÉVALO
7
Tabla 6: Conectivos lógicos.
Lenguaje ordinario Símbolo(s) Nombre(s)
y Conjunción
o , y/o Disyunción
si entonces Implicación.
es necesario para Consecuencia.
si y sólo si , es equivalente a , Equivalencia.
ó , o o , es inequivalente a , Inequivalencia, O exclusivo (xor).
no , no es cierto que se cumpla Negación

Tabla 7: Tabla de verdad de los conectivos lógicos binarios.

Tabla 8: Tabla de verdad de la negación.

A continuación construiremos la tabla de verdad de tres expresiones booleanas de ejemplo.

Tabla 9: Tabla de verdad de la expresión .


① ②

Tabla 10: Tabla de verdad de la expresión .


① ② ③ ④ ⑤ ⑥
① ③ ④ ② ⑤

Tabla 11: Tabla de verdad de la expresión .


① ② ③ ④ ⑤ ⑥
① ③ ④ ② ⑤

ANÁLISIS Y VERIFICACIÓN DE ALGORITMOS


ALEJANDRO SOTELO ARÉVALO
8
Una tautología es una expresión booleana que es verdadera en todos los estados. Una
contradicción es una expresión booleana que es falsa en todos los estados.

3.4. CÁLCULO PROPOSICIONAL


Tabla 12: Algunos teoremas clásicos del cálculo proposicional de Gries & Schneider.
Nombre Enunciado
Asociatividad de
Conmutatividad de
Reflexividad de
Definición de
Distributividad de sobre
Definición de
Doble negación
Asociatividad de
Conmutatividad de
Idempotencia de
Medio excluido
Cero de
Identidad de
Regla de oro
Asociatividad de
Conmutatividad de
Idempotencia de
Contradicción
Cero de
Identidad de
Absorción
Absorción
Absorción
Absorción
Distributividad de sobre
Distributividad de sobre
De Morgan
De Morgan
Definición de
Contrapositiva

ANÁLISIS Y VERIFICACIÓN DE ALGORITMOS


ALEJANDRO SOTELO ARÉVALO
9
Reflexividad de
Cero derecho de
Identidad izquierda de
Falso implica cualquier cosa
Consecuencia falsa
Debilitamiento/Fortalecimiento
Debilitamiento/Fortalecimiento
Doble implicación
Transitividad de

3.5. CUANTIFICACIONES

Dado un operador conmutativo y asociativo , la cuantificación  denota la


aplicación del operador  sobre los valores para todos los de tipo que satisfagan la
condición . A la expresión se le llama cuerpo, y a la expresión se le llama rango.

Tabla 13: Algunos operadores conmutativos y asociativos que pueden ser cuantificados.
Operador Cuantificación Convención Nombre
(suma) Sumatoria
(multiplicación) Multiplicatoria
(conjunción) Cuantificador universal (para todo)
(disyunción) Cuantificador existencial (existe)
(máximo) Máximo
(mínimo) Mínimo

Para relajar el uso de la notación:


Si el rango de una cuantificación se omite, se sobreentiende un rango verdadero. En otras
palabras,  es una abreviación de  .
Si el tipo de una variable cuantificada se omite, se sobreentiende que es de tipo entero ( ).

Ejemplos:
 .
 .
 .
 .
 .
 .
 .
 .
 .
 .

ANÁLISIS Y VERIFICACIÓN DE ALGORITMOS


ALEJANDRO SOTELO ARÉVALO
10
Tabla 14: Algunas reglas básicas sobre cuantificaciones en la teoría de Gries & Schneider.
Nombre Enunciado Ejemplos

 es igual a la
Rango vacío
identidad del operador .
(si se permite usar )
(si se permite usar )
 si es
Regla de
una variable que no aparece en la
un punto
expresión .

  es igual a
Distributividad
  

 es igual a
Partición de   
rango si  es un operador idempotente
(es decir, si  para todo )
 es igual a
Partición de
  
rango
si es equivalente a . porque no existe un que cumpla .

La partición de rango da soporte a las siguientes reglas (suponga que son números
enteros tales que ):

Tabla 15: Reglas útiles de partición de rango.


Enunciado Ejemplos
  

  – 

3.6. CUANTIFICACIONES DE CONTEO

La cuantificación de conteo contabiliza cuántos valores de tipo cumplen la


condición . Por ejemplo, cuenta cuántos ceros tiene el arreglo
.

ANÁLISIS Y VERIFICACIÓN DE ALGORITMOS


ALEJANDRO SOTELO ARÉVALO
11
3.7. CÁLCULO DE PREDICADOS

Suponga que el tipo de la variable cuantificada es cualquier tipo .

Tabla 16: Cuantificación universal y existencial.


Nombre Expresión Forma de leer la expresión
Cuantificación universal para todo tal que , se tiene
Cuantificación universal para todo se cumple
Cuantificación existencial existe un en el rango , tal que
Cuantificación existencial existe un tal que

Tabla 17: Algunos teoremas clásicos del cálculo de predicados de Gries & Schneider.
Nombre Enunciado
Trading (trueque o comercio)
Trading (trueque o comercio)
De Morgan generalizado
De Morgan generalizado
Rango vacío
Rango vacío
Distributividad
Distributividad
Partición de rango
Partición de rango

EN RESUMEN
Un tipo es un conjunto de valores constantes que pueden ser asociados a las variables.
La sustitución textual denota la expresión que resulta de reemplazar todas las ocurrencias
de la variable en la expresión por la expresión .
La sustitución textual simultánea denota la expresión que resulta de
reemplazar simultáneamente para cada desde hasta todas las ocurrencias de la variable en la
expresión por la expresión .
Una variable booleana es una variable de tipo que puede tomar el valor ó el valor . Una
expresión booleana es una expresión que al evaluarse da como resultado o , y que está
construida usando las constantes y , variables booleanas y conectivos lógicos.
Dado un operador conmutativo y asociativo , la cuantificación  denota la aplicación del
operador  sobre los valores para todos los de tipo que satisfagan la condición . A la expresión
se le llama cuerpo, y a la expresión se le llama rango.

PARA TENER EN CUENTA


Se recomienda revisar la referencia An introduction to teaching logic as a tool de Gries & Schneider,
disponible en el enlace http://www.cs.cornell.edu/home/gries/Logic/Introduction.html (recuperado
en noviembre de 2010).

ANÁLISIS Y VERIFICACIÓN DE ALGORITMOS


ALEJANDRO SOTELO ARÉVALO
12