martes, 2 de diciembre de 2014

4.1 Teoremas y postulados.

3. Álgebra Booleana
El álgebra booleana es un sistema matemático deductivo centrado en los valores cero y uno (falso y verdadero). Un operador binario " º " definido en éste juego de valores acepta un par de entradas y produce un solo valor booleano, por ejemplo, el operador booleano AND acepta dos entradas booleanas y produce una sola salida booleana.
Para cualquier sistema algebraico existen una serie de postulados iniciales, de aquí se pueden deducir reglas adicionales, teoremas y otras propiedades del sistema, el álgebra booleana a menudo emplea los siguientes postulados:
  • Cerrado. El sistema booleano se considera cerrado con respecto a un operador binario si para cada par de valores booleanos se produce un solo resultado booleano.
  • Conmutativo. Se dice que un operador binario " º " es conmutativo si A º B = B º A para todos los posibles valores de A y B.
  • Asociativo. Se dice que un operador binario " º " es asociativo si (A º B) º C = A º (B º C) para todos los valores booleanos A, B, y C.
  • Distributivo. Dos operadores binarios " º " y " % " son distributivos si A º (B % C) = (A º B) % (A º C) para todos los valores booleanos A, B, y C.
  • Identidad. Un valor booleano I se dice que es un elemento de identidad con respecto a un operador binario " º " si A º I = A.
  • Inverso. Un valor booleano I es un elemento inverso con respecto a un operador booleano " º " si A º I = B, y B es diferente de A, es decir, B es el valor opuesto de A.
Para nuestros propósitos basaremos el álgebra booleana en el siguiente juego de operadores y valores:
- Los dos posibles valores en el sistema booleano son cero y uno, a menudo llamaremos a éstos valores respectivamente como falso y verdadero.
- El símbolo ·  representa la operación lógica AND. Cuando se utilicen nombres de variables de una sola letra se eliminará el símbolo ·,  por lo tanto AB representa la operación lógica AND entre las variables A y B, a esto también le llamamos el 
producto entre A y B.
- El símbolo "+" representa la operación lógica OR, decimos que A+B es la operación lógica OR entre A y B, también llamada la suma de A y B.
- El complemento lógico, negación ó NOT es un operador unitario, en éste 
texto utilizaremos el símbolo " ' " para denotar la negación lógica, por ejemplo, A' denota la operación lógica NOT de A.
- Si varios operadores diferentes aparecen en una sola expresión booleana, el resultado de la expresión depende de la procedencia de los operadores, la cual es de mayor a menor, paréntesis, operador lógico NOT, operador lógico AND y operador lógico OR. Tanto el operador lógico AND como el OR son asociativos por la izquierda. Si dos operadores con la misma procedencia están adyacentes, entonces se evalúan de izquierda a derecha. El operador lógico NOT es asociativo por la derecha.
Utilizaremos además los siguientes postulados:
  • P1 El álgebra booleana es cerrada bajo las operaciones AND, OR y NOT
  • P2 El elemento de identidad con respecto a ·  es uno y con respecto a +  es cero. No existe elemento de identidad para el operador NOT
  • P3 Los operadores ·   y + son conmutativos.
  • P4 ·   y + son distributivos uno con respecto al otro, esto es, A· (B+C) = (A·B)+(A·C) y A+ (B·C) = (A+B) ·(A+C).
  • P5 Para cada valor A existe un valor A' tal que A·A' = 0 y A+A' = 1. Éste valor es el complemento lógico de A.
  • P6 ·   y + son ambos asociativos, ésto es, (AB) C = A (BC) y (A+B)+C = A+ (B+C).
Es posible probar todos los teoremas del álgebra booleana utilizando éstos postulados, además es buena idea familiarizarse con algunos de los teoremas más importantes de los cuales podemos mencionar los siguientes:
  • Teorema 1: A + A = A
  • Teorema 2: A · A = A
  • Teorema 3: A + 0 = A
  • Teorema 4: A · 1 = A
  • Teorema 5: A · 0 = 0
  • Teorema 6: A + 1 = 1
  • Teorema 7: (A + B)' = A' · B'
  • Teorema 8: (A · B)' = A' + B'
  • Teorema 9: A + A · B = A
  • Teorema 10: A · (A + B) = A
  • Teorema 11: A + A'B = A + B
  • Teorema 12: A' · (A + B') = A'B'
  • Teorema 13: AB + AB' = A
  • Teorema 14: (A' + B') · (A' + B) = A'
  • Teorema 15: A + A' = 1
  • Teorema 16: A · A' = 0
Los teoremas siete y ocho son conocidos como Teoremas de DeMorgan en honor al matemático que los descubrió.
Características:
Un álgebra de Boole es un conjunto en el que destacan las siguientes características:
1- Se han definido dos funciones binarias (que necesitan dos parámetros) que llamaremos aditiva (que representaremos por x
+ y) y multiplicativa (que representaremos por xy) y una función monaria (de un solo parámetro)  que representaremos por x'.
2- Se han definido dos elementos (que designaremos por 0 y 1)
Y 3- Tiene las siguientes propiedades:
  • Conmutativa respecto a la primera función: x + y = y + x
    Conmutativa respecto a la segunda función: xy = yx
    Asociativa respecto a la primera función: (x + y) + z = x + (y +z)
    Asociativa respecto a la segunda función: (xy)z = x(yz)
    Distributiva respecto a la primera función: (x +y)z = xz + yz
    Distributiva respecto a la segunda función: (xy) + z = (x + z)( y + z)
    Identidad respecto a la primera función: x + 0 = x
    Identidad respecto a la segunda función: x1 = x
    Complemento respecto a la primera función: x + x' = 1
    Complemento respecto a la segunda función: xx' = 0
Propiedades Del Álgebra De Boole

  1. Idempotente respecto a la primera función: x + x = x
    Idempotente respecto a la segunda función: xx = x
    Maximalidad del 1: x + 1 = 1
    Minimalidad del 0: x0 = 0
    Involución: x'' = x
    Inmersión respecto a la primera función: x + (xy) = x
    Inmersión respecto a la segunda función: x(x + y) = x
    Ley de Morgan respecto a la primera función: (x + y)' = x'y'
    Ley de Morgan respecto a la segunda función: (xy)' = x' + y'
  2. Función Booleana
    Una función booleana es una de A x A x A x....A en A, siendo A un conjunto cuyos elementos son 0 y 1 y tiene estructura de álgebra de Boole.
    Supongamos que cuatro amigos deciden ir al cine si lo quiere la mayoría. Cada uno puede votar si o no. Representemos el voto de cada uno por xi. La función devolverá sí (1) cuando el numero de votos afirmativos sea 3 y en caso contrario devolverá 0.
    Si x1 vota 1, x2 vota 0, x3 vota 0 y x4 vota 1 la función booleana devolverá 0.
    Producto mínimo (es el número posible de casos) es un producto en el que aparecen todas las variables o sus negaciones.
    El número posible de casos es 2n.
    Siguiendo con el ejemplo anterior. Asignamos las letras A, B, C y D a los amigos. Los posibles casos son:
    Votos         Resultado
    ABCD
    1111              1
    1110              1
    1101              1
    1100              0
    1011              1
    1010              0
    1001              0
    1000              0
    0111              1
    0110              0
    0101              0
    0100              0
    0011              0
    0010              0
    0001              0
    0000              0
    Las funciones booleanas se pueden representar como la suma de productos mínimos (minterms) iguales a 1.
    En nuestro ejemplo la función booleana será:
    f(A,B,C,D) = ABCD + ABCD' + ABC'D + AB'CD + A'BCD
    Diagramas De Karnaugh
    Los diagramas de Karnaugh se utilizan para simplificar las funciones booleanas.
    Se construye una tabla con las variables y sus valores posibles y se agrupan los 1 adyacentes, siempre que el número de 1 sea potencia de 2.
    En esta página tienes un programa para minimización de funciones booleanas mediante mapas de Karnaugh
    4. Álgebra Booleana y circuitos electrónicos
    La relación que existe entre la lógica booleana y los sistemas de cómputo es fuerte, de hecho se da una relación uno a uno entre las funciones booleanas y los circuitos electrónicos de compuertas digitales. Para cada función booleana es posible diseñar un circuito electrónico y viceversa, como las funciones booleanas solo requieren de los operadores AND, OR y NOT podemos construir nuestros circuitos utilizando exclusivamente éstos operadores utilizando las compuertas lógicas homónimas
    Un hecho interesante es que es posible implementar cualquier circuito electrónico utilizando una sola compuerta, ésta es la compuerta NAND
    Para probar que podemos construir cualquier función booleana utilizando sólo compuertas NAND, necesitamos demostrar cómo construir un inversor (NOT), una compuerta AND y una compuerta OR a partir de una compuerta NAND, ya que como se dijo, es posible implementar cualquier función booleana utilizando sólo los operadores booleanos AND, OR y NOT. Para construir un inversor simplemente conectamos juntas las dos entradas de una compuerta NAND. Una vez que tenemos un inversor, construir una compuerta AND es fácil, sólo invertimos la salida de una compuerta NAND, después de todo, NOT ( NOT (A AND B)) es equivalente a A AND B. Por supuesto, se requieren dos compuertas NAND para construir una sola compuerta AND, nadie ha dicho que los circuitos implementados sólo utilizando compuertas NAND sean lo óptimo, solo se ha dicho que es posible hacerlo. La otra compuerta que necesitamos sintetizar es la compuerta lógica OR, ésto es sencillo si utilizamos los teoremas de DeMorgan, que en síntesis se logra en tres pasos, primero se reemplazan todos los "·" por "+" después se invierte cada literal y por último se niega la totalidad de la expresión:
    A OR B
    A AND B.......................Primer paso para aplicar el teorema de DeMorgan
    A' AND B'.....................Segundo paso para aplicar el teorema de DeMorgan
    (A' AND B')'..................Tercer paso para aplicar el teorema de DeMorgan
    (A' AND B')' = A' NAND B'.....Definición de OR utilizando NAND
    Si se tiene la necesidad de construir diferentes compuertas de la manera descrita, bien hay dos buenas razones, la primera es que las compuertas NAND son las más económicas y en segundo lugar es preferible construir circuitos complejos utilizando los mismos bloques básicos. Observe que es posible construir cualquier circuito lógico utilizando sólo compuertas de tipo NOR (NOR = NOT(A OR B)). La correspondencia entre la lógica NAND y la NOR es ortogonal entre la correspondencia de sus formas canónicas. Mientras que la lógica NOR es útil en muchos circuitos, la mayoría de los diseñadores utilizan lógica NAND.
    Un circuito combinacional es un sistema que contiene operaciones booleanas básicas (AND, OR, NOT), algunas entradas y un juego de salidas, como cada salida corresponde a una función lógica individual, un circuito combinacional a menudo implementa varias funciones booleanas diferentes, es muy importante recordar éste echo, cada salida representa una función booleana diferente.
    Un ejemplo común de un circuito combinacional es el decodificador de siete segmentos, se trata de un circuito que acepta cuatro entradas y determina cuál de los siete segmentos se deben iluminar para representar la respectiva entrada, de acuerdo con lo dicho en el párrafo anterior, se deben implementar siete funciones de salida diferentes, una para cada segmento. Las cuatro entradas para cada una de éstas funciones booleanas son los cuatro bits de un número binario en el rango de 0 a 9. Sea D el bit de alto orden de éste número y A el bit de bajo orden, cada función lógica debe producir un uno (para el segmento encendido) para una entrada dada si tal segmento en particular debe ser iluminado, por ejemplo, el segmento e debe iluminarse para los valores 0000, 0010, 0110 y 1000.
    En la siguiente tabla se puede ver qué segmentos deben iluminarse de acuerdo al valor de entrada, tenga en cuenta que sólo se están representando valores en el rango de 0 a 9, los decodificadores para las pantallas de siete segmentos comerciales tienen capacidad para desplegar valores adicionales que corresponden a las letras A a la F para representaciones hexadecimales, sin embargo la mecánica para iluminar los respectivos segmentos es similar a la aquí representada para los valores numéricos.
    0
    a
    b
    c
    d
    e
    f
    1
    b
    c
    2
    a
    b
    d
    e
    g
    3
    a
    b
    c
    d
    g
    4
    b
    c
    f
    g
    5
    a
    c
    d
    f
    g
    6
    c
    d
    e
    f
    g
    7
    a
    b
    c
    8
    a
    b
    c
    d
    e
    f
    g
    9
    a
    b
    c
    f
    g
    Los circuitos combinacionales son la base de muchos componentes en un sistema de cómputo básico, se puede construir circuitos para sumar, restar, comparar, multiplicar, dividir y muchas otras aplicaciones más.
    Circuitos Secuenciales
    Un problema con la lógica secuencial es su falta de "memoria". En teoría, todas las funciones de salida en un circuito combinacional dependen del estado actual de los valores de entrada, cualquier cambio en los valores de entrada se refleja (después de un intervalo de tiempo llamado retardo de propagación) en las salidas. Desafortunadamente las computadoras requieren de la habilidad para "recordar" el resultado de cálculos pasados. Éste es el dominio de la lógica secuencial. Una celda de memoria es un circuito electrónico que recuerda un valor de entrada después que dicho valor ha desaparecido. La unidad de memoria más básica es el flip-flop Set/Reset. Aunque recordar un bit sencillo es importante, la mayoría de los sistemas de cómputo requieren recordar un grupo de bits, ésto se logra combinando varios flip-flop en paralelo, una conexión de éste tipo recibe el nombre de registro. A partir de aquí es posible implementar diferentes circuitos como registros de corrimiento y contadores, éstos últimos también los conocemos como circuitos de reloj. Con los elementos mencionados es posible construir un microprocesador completo.
    6. Relación entre la lógica combinacional y secuencial con la programación
    En ésta lección hemos dado una repasada muy básica a los elementos que forman la base de los modernos sistemas de cómputo, en la sección dedicada al diseño electrónico estudiaremos a profundidad los conceptos aquí presentados, pero para aquellos que están más interesados en el aspecto programático podemos decir que con los elementos vistos en ésta lección es posible implementar máquinas de estado, sin embargo la moraleja de ésta lección es muy importante: cualquier algoritmo que podamos implementar en software, lo podemos a su vez implementar directamente en hardware. Ésto sugiere que la lógica booleana es la base computacional en los modernos sistemas de cómputo actuales. Cualquier programa que Usted escriba, independientemente del lenguaje que utilice, sea éste de alto ó bajo nivel, se puede especificar como una secuencia de ecuaciones booleanas.
    Un hecho igualmente interesante es el punto de vista opuesto, es posible implementar cualquier función de hardware directamente en software, en la actualidad ésta es la función principal del lenguaje ensamblador y otros con capacidad de trabajar directamente en hardware, como el C y el C++. Las consecuencias de éste fenómeno apenas se están explotando, se infiere la existencia de un futuro muy prometedor para el profesional de la programación, especialmente aquellos dedicados a los sistemas incrustados (embedded systems), los microcontroladores y los profesionales dedicados a la Programación Orientada a Objetos. Para tener éxito en éstos campos de la investigación es fundamental comprender las funciones booleanas y la manera de implementarlas en software. Aún y cuando Usted no desee trabajar en hardware, es importante conocer las funciones booleanas ya que muchos lenguajes de alto nivel procesan expresiones booleanas, como es el caso de los enunciados if-then ó los bucles while.
    Los Teoremas Básicos del álgebra Booleana son:
    TEOREMA 1
    Ley Distributiva
    A (B+C) = AB+AC
    A
    B
    C
    B+C
    AB
    AC
    AB+AC
    A (B+C)
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    1
    1
    0
    0
    0
    0
    0
    1
    0
    1
    0
    0
    0
    0
    0
    1
    1
    1
    0
    0
    0
    0
    1
    0
    0
    0
    0
    0
    0
    0
    1
    0
    1
    1
    0
    1
    1
    1
    1
    1
    0
    1
    1
    0
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    TEOREMA 2
    A+A = A
    AA = A
    A
    A
    A+A
    0
    0
    0
    1
    1
    1

    A
    A
    AA
    0
    0
    0
    1
    1
    1
    TEOREMA 3
    Redundancia
    A+AB = A
    A
    B
    AB
    X
    0
    0
    0
    0
    0
    1
    0
    0
    1
    0
    0
    1
    1
    1
    1
    1
    A (A+B) = A
    A
    B
    A+B
    X
    0
    0
    0
    0
    0
    1
    1
    0
    1
    0
    1
    0
    1
    1
    1
    1
    TEOREMA 4
    0+A = A
    Equivalente a una compuerta OR con una de sus terminales conectada a tierra
    A
    B=0
    X
    0
    0
    0
    1
    0
    1
    1A = A
    Equivalente a una compuerta AND con una de sus terminales conectada a 1
    A
    B=1
    X
    0
    1
    0
    1
    1
    1
    1+A = 1
    A
    B=1
    X
    0
    1
    1
    1
    1
    1
    0A = 0
    A
    B=0
    X
    0
    0
    0
    1
    0
    0

4.2 Optimización de expresiones booleanas.

4.2 Optimización de expresiones booleanas.

Las expresiones booleanas se usan para determinar si un conjunto de una o más  condiciones es verdadero o falso, y el resultado de su evaluación es un valor de verdad.
Los operandos de una expresión booleana pueden ser cualquiera de los siguientes: 

  • Expresiones relacionales: que comparan dos valores y determinan si existe o no  una cierta relación entre ellos (ver más adelante), tal como mfn<10;

  • Funciones booleanas: tal como p (v24), que regresa un valor de verdad (estos se  explican bajo "Funciones booleanas").

Las expresiones relacionales permiten determinar si una relación dada se verifica entre  dos valores. La forma general de una expresión relacional es:

Expresión-1 operador-de-relación expresión-2

Dónde:

  • Expresión-1 es una expresión numérica o de cadena

  • Operador-de-relación es uno de los siguientes:

  • = Igual

  • No igual (diferente de)

  • < Menor que

  • <= Menor o igual que

  • Mayor que

  • >= Mayor o igual que

  • : Contiene (puede ser usado sólo en expresiones de cadena)

Expresión-2 es una expresión del mismo tipo que expresión-1, o sea, expresión- 1 y expresión-2 deben ser ambas expresiones numéricas o ambas expresiones de cadena. 

Los operadores de relación = <> < <= > >=tienen su significado convencional cuando se aplican a expresiones numéricas (dentro de los límites de precisión de los valores numéricos definidos bajo "Expresiones numéricas"). Cuando se comparan expresiones de cadena, se aplican las siguientes reglas:


  • Excepto por el operador ":" (contiene), las cadenas se comparan exactamente en la forma en que ocurren, o sea, las letras mayúsculas y minúsculas se comparan de acuerdo con el código ASCII que les corresponde (p.ej. A será considerada menor que a);

  • Dos expresiones de cadena no son consideradas iguales, a menos que tengan la misma longitud. Si dos expresiones generan cadenas de diferente longitud que son idénticas, carácter por carácter, hasta el total de la longitud de la más corta, entonces, la más corta será considerada menor que la más larga.

El operador: (contiene), busca una cadena de caracteres (definida por expresión-2) en otra cadena (definida por expresión-1). Si el segundo operando existe en cualquier parte del segundo operando, el resultado es Verdadero (TRUE). Este operador es insensible al hecho de que los caracteres se hallen en mayúsculas o minúsculas: por lo que las letras minúsculas se consideran iguales a su letra mayúscula correspondiente. Por ejemplo, el resultado de:
v10: 'química'

Será Verdadero (True) si, y sólo si, el campo 10 contiene la cadena química en caso contrario, el resultado será Falso (False). Nótese que el segundo operando puede ser cualquier cadena o carácter, y no necesita ser una palabra como tal. Por lo tanto, en este ejemplo, el resultado será Verdadero no sólo si el campo 10 contiene la palabra química, sino también si contuviera bioquímica, fotoquímicas, químicamente, etc.

Los operandos de una expresión booleana pueden combinarse con los operadores siguientes:

  • NOT (NO) Este operador produce el valor Verdadero, si su operando es Falso; y el valor Falso, si su operando es Verdadero. El operador NOT sólo puede usarse como operador signo +, o sea, siempre se aplica a la expresión booleana que le sigue;

  • AND (Y) Este operador produce el valor Verdadero si ambos operandos son Verdadero. Si cualquiera de los dos operandos es Falso, entonces el resultado será Falso;

  • OR (O) Este operador realiza una operación O-inclusivo. El resultado es Verdadero si cualquiera de los dos operandos, o ambos son Verdadero. En caso contrario, es Falso.

Al evaluar expresiones booleanas, y en ausencia de paréntesis, CDS/ISIS ejecutará las operaciones NOT en primer lugar, después las operaciones AND, y finalmente las OR. Las series de dos o más operadores del mismo nivel, se ejecutan de izquierda a derecha. Se pueden usar paréntesis para alterar el orden de evaluación: las expresiones dentro de paréntesis se evalúan antes, y las expresiones entre paréntesis internos a otros, son evaluadas antes que las expresiones externas a los paréntesis.

4.3 Aplicación del algebra booleana (Compuertas lógicas

4.3 Aplicación del algebra booleana (Compuertas
lógicas)
4.3.1 Mini y maxi términos.
Mini Y Maxi Terminos
Miniterminos
Para una función booleana de n variables {x_1,…x_n}, un producto booleano en el que cada una de las n variables aparece una sola vez (negada o sin negar) es llamado minitérmino. Es decir, un minitérmino es una expresión lógica de n variables consistente únicamente en el operador conjunción lógica (AND) y el operador complemento o negación (NOT).
Por ejemplo, abc, ab’c y abc’ son ejemplos de minterms para una función booleana con las tres variables a, b y c.

En general, uno asigna a cada minterm (escribiendo las variables que lo componen en el mismo orden), un índice basado en el valor binario del minterm. Un término negado, como a’ es considerado como el número binario 0 y el término no negado a es considerado como un 1. Por ejemplo, se asociaría el número 6 con a b c’ , y nombraríamos la expresión con el nombre m_6 . Entonces m_0 de tres variables es a’ b’ c’ y m_7 debería ser a b c al ser 111_{(2} . Se puede observar que cada minterm solo devuelve verdadero, (1), con una sola entrada de las posibles. Por ejemplo, el minitérmino 5, a b’ c es verdadero solo cuado a y c son ciertos y b es falso - la entrada a = 1, b = 0, c = 1 da resultado 1.
Maxiterminos Un maxitérmino es una expresión lógica de n variables que consiste únicamente en la disyunción lógica y el operador complemento o negación. Los maxterms són una expresión dual de los minitérminos. En vez de usar operaciones AND utilizamos operaciones OR y procedemos de forma similar. Por ejemplo, los siguientes términos canónicos son maxitérminos:

a+b'+c
a+b+c



4.3.2 Representación de expresiones
booleanas con circuitos lógicos.
La representación gráfica es la que se utiliza en circuitos y esquemas electrónicos. En la siguiente figura se representan gráficamente dos funciones algebraicas, una con símbolos no normalizados, superior, y la otra con normalizados, inferior (véanse los símbolos de las puertas lógicas)


lunes, 1 de diciembre de 2014

5A. Relaciones


RELACION
una relación es una correspondencia o conexión entre algo o alguien con otra cosa u otra persona. De esta forma, la noción de relación se utiliza en diversas ciencias para explicar todo tipo de fenómenos.

Definición de Relación
El concepto de relación surge de manera natural en el análisis de un sistema.
Un ejemplo, en los números Naturales se establece la relación “… es menor que ...”.
Bajo esta relación R el número 2 se relaciona con el 3: 2 es menor que 3, pero no
así al contrario (3 no es menor que 2).
Una relación es binaria cuando se establece entre dos objetos. Un ejemplo:
R : x < y .
Una relación es un conjunto de pares ordenados. Un par ordenado (también
llamada pareja ordenada) consta de dos elementos: (a, b) en donde el orden en que
aparece (primero a, después b) indica la relación: a Rb de a con b.
Una relación asocia un elemento de un conjunto A con un elemento de otro
conjunto B o con un elemento del mismo conjunto A.
Ejemplos:
* Para A= {a, b, c}
 R1= {(a, a) (a, b) (a, c) (b, a) (b, b) (b, c) (c, a) (c, b) (c, c)}
  R1 = A× A
* Para A = {España, Inglaterra, Italia}
 B= {Paris, Roma, Madrid}
 R2: (España, Paris) (Inglaterra, Roma) (Italia, Madrid)
* R3: (Pepe, María) (Pepe, Laura) (Pepe, Tere)



5.1 Producto cartesiano


Considere dos conjuntos arbitrarios A y B. El conjunto de todas las parejas ordenadas (a, b) en donde a  A  y b B se llama producto o producto cartesiano de A y B.
La definición de producto cartesiano puede extenderse fácilmente al caso de más de dos conjuntos.
Se llama producto cartesiano de dos conjuntos A y B y se representa  A x B, al conjunto de pares ordenados (a, b), tales que el primer elemento pertenece al primer conjunto y el segundo elemento al segundo conjunto. Es decir:
A x B = {(a, b) / a  A, b  B} El producto cartesiano, en general, no es conmutativo. Es decir: A x B  B x A.
Puede ocurrir que los conjuntos A y B sean coincidentes.


EJEMPLO:

Si A = {a, b, c} y B = {1, 2, 3, 4}, el producto cartesiano es:

A x B = {(a, 1), (a, 2), (a, 3), (a, 4), (b, 1), (b, 2), (b, 3), (b, 4), (c, 1), (c, 2), (c, 3), (c, 4)} 
Se puede representar gráficamente por medio  de puntos en un plano, como se muestra a continuación. Aquí, cada punto  P representa una pareja ordenada (a,  b) de números reales y viceversa; la línea vertical a través de P encuentra al eje x en a, y la línea horizontal a través de P encuentra el eje y en b. 
A esta representación se le conoce como diagrama cartesiano. 








Hay otra manera de visualizar una relación y es a través de una representación gráfica, donde se destaquen los puntos en el plano que pertenecen a A y los puntos que pertenecen a B. Se trazan flechas que indican la relación que existe entre cada elemento del conjunto  A y su correspondiente en el conjunto B. A esta representación gráfica se le conoce como un diagrama de flechas.



5.2 RELACIÓN BINARIA



La relación binaria definida en un conjunto A es un subconjunto del producto cartesiano A x A.


EJEMPLO:

Sea el conjunto  A = {x,  y,  z}. El grafo de la siguiente figura representa una relación binaria definida en A, puesto que los pares (x, z), (y, x) (y, y) constituyen un subconjunto de A x A.


Se dice que dos elementos a y b están relacionados, y se escribe a R  b, “a está relacionado con b mediante la relación binaria  R”,  cuando el par ordenado (a, b) pertenece al subconjunto del producto cartesiano que define la relación.
Si dos elementos a y b no están relacionados mediante R en algún sentido, escribiremos a R   b o b R  a o ambas cosas.

Propiedades de una relación binaria

Las principales propiedades que puede presentar una relación binaria R definida en un conjunto A se indican en la siguiente tabla, junto con sus respectivas condiciones.