Bienvenidos a este nuevo capítulo de este Curso Gratis de Programación #8 Lógica II, operaciones con conjuntos, Leyes de álgebra de conjunto y Álgebra booleana.

¿Te gustaría enterarte de cuando lanzamos descuentos y nuevos cursos?

Operaciones con conjuntos

Definiciones:

conjunto es una colección de objetos. Es un tipo de objeto

elemento de un conjunto A es un objeto del conjunto, y escribimos x∈A (léase: “x pertenece a A”). 

A es subconjunto de B, y escribimos A⊂B si todo elemento de A lo es también de B:   A⊂B <=> (∀x)(x∈A => x∈B).

conjunto vacío un conjunto que no posee elementos y es subconjunto de cualquier otro conjunto.

Si A es el conjunto potencia, o bien el conjunto de sus partes denotado P(A) es la familia de todos los subconjuntos del conjunto A: P(A)={X/ XA}.

Ejemplo. Si A fuese el conjunto {3, 4, 5}, entonces  P(A) = { {3}, {4}, {5}, {3, 4}, {3, 5}, {4, 5}, {3, 4, 5},φ}.

Si A y B son conjuntos, la unión de A y B se define como: A∪B = {x/x∈A ∨ x∈B}.

Ejemplo. Si A = {3, 4, 5, 8, 9} y B = {5, 7, 8, 9, 10}, entonces: A∪B = {3, 4, 5, 7, 8, 9, 10}.

Si A y B son conjuntos, la intersección entre A y B es A ∩ B = {x / x∈A ∧ x∈B}.

Ejemplo. Si A = {3, 4, 5, 8, 9} y B = {5, 7, 8, 9, 10}, entonces: A∩B = {5, 8, 9}.

Axiomas:

De extensión. Dos conjuntos B son iguales (lo que se representa por A = B) únicamente si contienen los mismos elementos.

del vacío. Existe un conjunto vacío.

del conjunto potencia. Si A es un conjunto, entonces existe el conjunto P(X).

de la unión. Si A y B son conjuntos, entonces existe el conjunto AB.

Operaciones entre conjuntos

Diferencia de conjuntos: Dados dos conjuntos A y B, la diferencia entre A y B, es un conjunto cuyos elementos son aquellos que están en el conjunto A, pero no en el conjunto B. Es decir A – B ={x / x A x B}

Ejemplo: Si C = {u, v, x, y, z} y  D = {s, t, z, v, p, q}, entonces  C – D = {x, y, u}.

Diferencia

Complemento, union, O:

Dado un conjunto A y un conjunto de referencia U, el complemento de A son todos los elementos de U conjunto que no están en A. Ac = {x / x ∈U ∧ x ∉A} Es decir  Ac = U – A

Ejemplo: Si  U = {1, 2, 3,…,10} y A = {3, 4, 6, 7}, entonces  Ac = {1, 2, 5, 8, 9, 10}.

Intersección: A o B
 

Diferencia Simétrica:

de A y B como el conjunto cuyos elementos son aquellos que están en A, pero no en B, unidos con aquellos que están en B, pero no en A. A Δ B= {x / x ∈ A ∧ x ∉ Β} ∪ {x / x ∉Α ∧ x ∈Β}== ( A – B ) ∪ ( B -A )     

Ejemplo: Si A = {1, 3, 4, 5, 6, 7, 20, 30} y B = {2, 6, 20, 40, 50}, entonces AΔB = {1, 3, 4, 5, 7, 30} ∪ {2, 40, 50}, AΔΒ = {1, 2, 3, 4, 5, 7, 30, 40, 50}.

Conjuntos disjuntos:

dos conjuntos A y B son disjuntos si no tienen elementos comunes.   Es decir, si A ∩ B = φ.

 Ejemplo: si A = {1, 3, 8}, B = {2, 4, 9}, entonces A y B son conjuntos disjuntos. 

Complemento

Producto cartesiano:

entre dos conjuntos A y B se define como el conjunto de todos los pares ordenados (x,y) que tienen como primera componente un elemento de A y como segundo componente un elemento de B. Es decir, A x B = {(a, b ) / a ∈Α ∧ b ∈ Β}

Ejemplo: Si A = {1, 2} y B = {3, 4, 5}, entonces A x B = {(1, 3), (1, 4), (1, 5), (2, 3), (2, 4), (2, 5)}.

Leyes de álgebra de conjunto:

Sean U un conjunto universal, A, B y C conjuntos entonces valen las siguientes leyes

Asociatividad:           (Α∪Β)∪C = Α∪(Β∪C)          (A∩Β)∩C = A∩(Β∩C)

Conmutatividad:          Α∪Β = Β∪Α          A∩B = B∩A

Distributividad:          A∪(Β∩C) = (Α∪Β)∩(Α∪C)          A∩(Β∪C) = (Α∩Β)∪(Α∩C)

Absorción:          A∪(Α∩Β) = Α          A∩(Α∪Β) = A

Idempotencia:           A∪Α = Α          B∩Β = Β

Identidad:          Α∪φ = Α             Α∩U = A          A∪U = U             A∩φ = φ

Complemento:          A∪Αc = U            A∩Α = φ          (Ac)c = A              Uc= φ, φc = U

Ley de Morgan:          (A∪B)c = Ac ∩Βc           (A∩Β)c = A∪Βc           A – B = A∩Βc

Así que tenemos en la teoría de conjuntos leyes similares a las de la lógica proposicional si pensamos en la O como una unión, en la y como una intersección y en el no como un complemento

Demostraciones en conjuntos:

Las igualdades entre operaciones de conjuntos son teoremas de la teoría de conjuntos. 

Asociatividad de la unión y de la intersección Si A y B son conjuntos, valen las siguientes igualdades:

(Α∪Β)∪C = Α∪(Β∪C);

(A) ∩(R ))∩ C = A)∩ (R) ∩C)

Probaremos que (T R)C = T (RC). Para poder demostrarlo, dividimos la prueba en dos partes. La primera parte de la prueba se ocupará de demostrar que (TR)C T(RC), y la segunda parte de la prueba que T(RC) (TR)C. 

Sea x un elemento de (Α∪Β)∪C. 

  • Por definición de unión, x pertenece a Α∪Β o x pertenece a C.
  • Por definición de unión, x pertenece a Α o a Β o a C.
  • Por asociatividad de la disyunción, x pertenece a Α o a Β o a C.
  • Por definición de unión, x pertenece a Α o a Β∪C.
  • Por definición de unión, x pertenece a Α∪(Β∪C).

En consecuencia, (Α∪Β)∪C ⊂Α∪(Β∪C).

Por otro lado, si x pertenece a Α∪(Β∪C),

Entonces, por definición de unión, x pertenece a Α o a Β∪C.

  • Por definición de unión, x pertenece a Α o a Β o a C.
  • Por asociatividad de la disyunción, x pertenece a Α o a Β o a C.
  • Por definición de unión, x pertenece a Α∪B o a C.
  • Por definición de unión, x pertenece a (Α∪Β)∪C.

En consecuencia, Α∪(Β∪C)⊂(Α∪Β)∪C.

Por 7 y 17, se tiene que Α∪(Β∪C) = (Α∪Β)∪C).

Probaremos que (A∩Β)∩C = A∩(Β∩C). Para poder demostrarlo, dividimos la prueba en dos partes. La primera parte de la prueba se ocupará de demostrar que (Α∩Β)∩C ⊂ Α∩(Β∩C), y la segunda parte de la prueba Α∩(Β∩C) ⊂ (Α∩Β)∩C. 

Sea x un elemento de (Α∩Β)∩C.

  • Por definición de intersección, x pertenece a Α∩Β y a C.
  • Por definición de intersección, x pertenece a Α, a Β y a C.
  • Por asociatividad de la conjunción, x pertenece a Α, a Β y a C.
  • Por definición de intersección, x pertenece a Α y a Β∩C.
  • Por definición de intersección, x pertenece a Α∩(Β∩C).

En consecuencia, (Α∩Β)∩C ⊂ Α∩(Β∩C).  

De otro lado, sea x un elemento de Α∩(Β∩C).

  • Por definición de intersección, x pertenece a A y a Β∩C.
  • Por definición de intersección, x pertenece a Α, a Β y a C.
  • Por asociatividad de la conjunción, x pertenece a Α, a Β y a C.
  • Por definición de intersección, x pertenece a Α∩Β y a C.
  • Por definición de intersección, x pertenece a (Α∩Β)∩C.

En consecuencia, Α∩(Β∩C) ⊂ (Α∩Β)∩C. 

Conmutatividad de la unión y de la intersección

Si A y B son conjuntos, valen las siguientes igualdades: 

Α∪Β = Β∪Α,

A∩B = B∩A.

Probaremos que Α∪Β = Β∪Α. Para poder demostrarlo, la primera parte de la prueba se ocupará de demostrar que Α∪Β ⊂ B∪A, y la segunda parte de la prueba que B∪A ⊂ Α∪Β.   

Sea x un elemento de Α∪Β. 

  • Por definición de unión, x pertenece a A o a B.
  • Por conmutatividad de la disyunción, x pertenece a B o a A.
  • Por definición de unión, x pertenece a B∪A.

En consecuencia, Α∪Β ⊂ B∪A.

Sea x un elemento de B∪A. 

  • Por definición de unión, x pertenece a B o a A.
  • Por conmutatividad de la disyunción, x pertenece a A o a B.
  • Por definición de unión, x pertenece a Α∪Β.

En consecuencia, B∪A ⊂ Α∪Β.

De 5 y 10, se concluye que Α∪Β = Β∪Α.

Probaremos A∩B = B∩A. Para poder demostrarlo, la primera parte de la prueba se ocupará de demostrar que A∩B ⊂ B∩A, y la segunda, que B∩A ⊂ A∩B.   

Sea x un elemento de A∩B. 

  • Por definición de intersección, x pertenece a A y a B.
  • Por conmutatividad de la conjunción, x pertenece a B y a A.
  • Por definición de intersección, x pertenece a B∩A.

En consecuencia, A∩B ⊂ B∩A.

Sea x un elemento de B∩A. 

  • Por definición de intersección, x pertenece a y a A.
  • Por conmutatividad de la conjunción, x pertenece a A y a B.
  • Por definición de intersección, x pertenece a A∩B.

En consecuencia, B∩A ⊂ A∩B.

De 5 y 10, se concluye que A∩B = B∩A.

Distributividad de la unión respecto de la intersección

Dados tres conjuntos cualesquiera, A, B y C, vale que

A∪(Β∩C) = (Α∪Β)∩(Α∪C).

Probaremos que A∪(Β∩C) = (Α∪Β)∩(Α∪C). Para poder demostrarlo, la primera parte de la prueba se ocupará de demostrar que A∪(Β∩C) ⊂ (Α∪Β)∩(Α∪C), y la segunda parte, que (Α∪Β)∩(Α∪C)⊂ A∪(Β∩C).

Sea x un elemento de A∪(Β∩C). 

  • Por definición de unión, x pertenece a A o a Β∩C.
  • Por definición de intersección, x pertenece a A o a B y a C.
  • Por distributividad de la disyunción respecto de la conjunción, x pertenece a o a B, y x pertenece a A o a C.
  • Por definición de unión, x pertenece a (Α∪Β) y a (Α∪C).
  • Por definición de intersección, x pertenece a (Α∪Β) ∩ (Α∪C).

Sea x un elemento de (Α∪Β) ∩ (Α∪C).

  • Por definición de intersección, x pertenece a (Α∪Β) y a Β∪C.
  • Por definición de unión, x pertenece a Α o a Β, y x pertenece a Α o a C.
  • Por distributividad de la disyunción respecto de la conjunción, x pertenece a A o a B, y x pertenece a C.
  • Por definición de intersección, x pertenece a (Α∪Β) y a (Α∪C).
  • Por definición de intersección, x pertenece a A∪(Β∩C).

Para las demás propiedades como absorción, idempotencia, identidad, complemento, leyes de De Morgan, entre otras es usada la misma técnica ilustrada anteriormente.

Diagramas de Venn:

ayudan a verificar todas y cada una de las reglas. son curvas cerradas que ayudan a visualizar gráficamente a los conjuntos. Usualmente el conjunto más grande en el tratamiento se encierra en un rectángulo mientras los demás se encierran en círculo.

Ejemplo: A ⊂ B

si (B∪C)⊆ A, entonces (A – B)∪(A – C) = Ø. La respuesta naturalmente es falsa, puesto que, si usamos diagramas de Venn, el conjunto (A – B)∪(A – C) queda representado en el siguiente diagrama.

Lo cual muestra la posibilidad de que en la región azul existan elementos. Para darnos cuenta de ello, podemos tomar A = {d, b}, B = {c, d}, C {a, d}. (Nota que B{d}   A). Entonces A – B = {b} y A – C = {b}. Así, (A – B)(A -C) = {b} ≠ Ø.

Álgebra booleana

Objetos:

Un álgebra booleana es un sistema matemático centrado en los valores booleanos: cero y uno (0 y 1). Incluye los siguientes operadores: 

  • un operador NOT que intercambia los valores booleanos;
  • un operador binario OR que produce un solo valor booleano; 
  • un operador binario AND que produce un solo valor booleano.

Axiomas:

Cerrado. El sistema booleano está cerrado respecto de OR y AND. Esto significa que, para cada par de valores booleanos, el operador produce un solo resultado.

 Conmutatividad

Los operadores OR y AND son conmutativos. Es decir,  

  x OR y = y OR x; o   

 x AND y = y AND x;

Asociatividad

Los operadores OR y AND son asociativos. Es decir,   

  (x OR y) OR z = x OR (y OR z);

   (x AND y) AND z = x AND (y AND z).  

Distributividad

Los operadores binarios OR y AND son distributivos uno respecto del otro:o

 x OR (y AND z) = (x OR y) AND (a OR z)

 x AND (y OR z) = (x AND y) OR (a AND z) x.

“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”.

uno puede pensar al álgebra booleana como estructura matemática cerrada bajo las operaciones AND, OR y NOT. Si pensáramos, para simplificar, en AND como “y”, en OR como “+”, el elemento de identidad con respecto a es uno y con respecto a + es cero.

No existe elemento de identidad para el operador NOT.

Los operadores “·” y “+” son conmutativos. Si pensamos el · como una intersección y el + como una unión o el · cómo y de lógica proposicional y el + como una o de la lógica proposicional. ·   y + son distributivos uno con respecto al otro, esto es,

x . (y + z) = (x . y) + (x . z) y

x + (y . z) = (x + y) . (x+z). 

para cada valor de x, hay un valor x’ tal que x · x’ = 0 y x + x’ = 1. Éste valor es el complemento lógico de x. · y + son ambos asociativos, esto es,

(A . B) . C = A . (B . C) y

(A + B) + C = A + (B + C).

Teoremas:

Podemos probar todos los teoremas del álgebra booleana utilizando estos postulados.  Entonces los teoremas de la teoría del álgebra booleana son totalmente idénticos a los de ambas teorías enunciadas anteriormente.

Si A, B y C son valores booleanos, entonces valen las siguientes igualdades.

A + A = A;

A · A = A;

A + 0 = A;

A . 1 = A;

A . 0 = 0;

A + 1 = 1;

(A + B)' = A' . B';

(A . B)' = A' + B';

A + A . B = A;

A . (A + B) = A;

A + A'B = A + B;

A' . (A + B') = A'B';

AB + AB' = A;

(A' + B') . (A' + B) = A'; 

A + A' = 1;

A  .  A' = 0.

la lista anterior resume algunos de los teoremas que ya hemos venido reproduciendo, como los de idempotencia, las leyes de distribución, las leyes de De Morgan, entre otros.

función booleana

es una función del tipo A x A x A x… A en A, siendo A un conjunto cuyos elementos son 0 y 1.  para los operadores OR, AND y NOT, corresponden las siguientes tablas.

Tabla 1. Tabla de valores para la función proposicional f

 Tabla de valores para el operador OR

Tabla de valores para el operador AND

Para ilustrar un ejemplo en el cual podemos usar funciones booleanas, podemos imaginar la siguiente situación.

Hay cuatro amigos que quieren ir al cine si la mayoría quiere ir.

Cada uno puede votar que sí o no.

Representemos el voto de cada uno por xi con i =1, 2, 3 o 4.

La función devolverá sí (1) cuando el número de votos afirmativos sea 3 o 4 y en caso contrario devolverá 0.

tenemos una función f(x1, x2, x3, x4) que es igual a 1 si x1 + x2 + x3 + x4 es mayor o igual que 3.

El número posible de casos por elegir: x1, x2, x3, x4 es 24.

Del mismo modo como ordenamos en las proposiciones los valores de verdad podemos ordenar los 1 y ceros como sigue

Tabla de valores para la función proposicional f 

Circuitos Combinatorios

Definiciones:

En una computadora digital sólo hay dos posibilidades, que se escriben como 0 y 1, para el objeto indivisible más pequeño. todos los programas y datos se pueden reducir a combinaciones de bits.

Un bit en una parte del circuito es trasmitido a otra parte del circuito como un voltaje. Entonces se necesitan dos niveles de voltaje; por ejemplo, un voltaje alto puede comunicar un 1 y un voltaje bajó, un 0.

Compuerta AND

Si llamamos X1 al estado del ramal superior izquierdo de la tubería en Y, llamamos X2 al estado del ramal superior derecho de la tubería Y.

Si 0 y 0 entonces 0, sino siempre 1. Esta idea la podemos expresar matemáticamente como una función booleana de la siguiente manera:

Compuerta OR:

Si 1 y 1 entonces 1, sino siempre 0. Esta idea la podemos expresar matemáticamente como una función booleana de la siguiente manera:

Compuerta NOT

Negación. A esta idea la podemos expresar matemáticamente como sigue.  

podemos expresar como funciones booleanas a varios circuitos combinatorios más complejos, tales como el siguiente.

Circuito combinatorio

Para este circuito combinatorio que tiene valores de entrada X1 , X2 y X3, el valor de salida es Y.

Podemos formularlo mediante una expresión que usa los símbolos ∧, ∨ y ¬ (o las palabras “y”, “o” y “no”).  

  • Se sigue el flujo del circuito simbólicamente.
  • Primero, se aplica AND a x1 y a x2, lo que produce la salida X1 ∧ X2 .
  • La salida anterior, después, se une por OR con X3 para producir la salida (X1∧ X2) ∨ X3.
  • Luego se aplica NOT a esta última salida.
  • Entonces la salida y puede ser:
      Y = ¬(X1 X2) ∨ X3.  
     Y = no(X1 y  X2) o  X3.

obtenemos la Secuencia combinatoria

Circuitos más complejos pueden ser atrapados con estas ideas simples.      

Circuito combinatorio C obtenido por interconexión de los circuitos C1, C2 y C3

En términos generales, para el circuito combinatorio siguiente:

Circuito C

La tabla lógica correspondiente es:

Tabla de valores 

No te detengas, sigue avanzando

Aquí tienes un propósito para este 2024 que debes considerar seriamente: si has querido mejorar tus habilidades en hacking, Ciberseguridad y programación ahora es definitivamente el momento de dar el siguiente paso. ¡Desarrolla tus habilidades aprovechando nuestros cursos a un precio increíble y avanza en tu carrera!

Python Practicando. Desde 0 hasta Desarrollador en Python

Aprende Python, donde iniciamos desde 0, sin conocimientos previos hasta desarrollar aplicaciones con mucha practica!

Calificación: 4,6 de 5 (20.833 calificaciones) 249.493 estudiantes Creado por Alvaro Chirou • 1.800.000+ Enrollments WorldwideWalter Coto || +450,000 Estudiantes Español.

Lo que aprenderás

  • Ejercitar la lógica de programación
  • Comprender cómo la vida cotidiana puede ser fácilitada o simulada con código
  • Aprender programación desde cero
  • Usar Visual Studio Code como Editor de Código
  • Conocer y aprender el lenguaje de programación Python
  • Ser un programador desde cero, sin conocimiento en otro lenguaje o con algo previo
  • Mejorar las habilidades de programación, mejorar procesos y fácilitar la comprensión de código
  • Preparar un entorno dónde programar en Python
  • Operaciones aritméticas y jerarquía de Python
  • Manejo de cadenas en Python
  • Digitar datos por teclado con Python
  • Mostrar Datos por Pantalla al usuario en Python
  • Operadores Relacionales de Python
  • Operadores Lógicos de Python
  • Condicionales en Python
  • Estructuras de Datos: Listas, Tuplas y Diccionarios
  • Iteraciones y bucles repetitivos de Python
  • Segmentar Código y hacerlo más eficaz con las Funciones en Python
  • Gestionar posibles errores que puedan dar tus programas
  • Programación Orientada a Objetos
  • HTML y CSS
  • Selenium Web Driver con Python
  • Ejercitar todo lo Aprendido con Ejercicios

Este curso incluye:

  • 25,5 horas de vídeo bajo demanda
  • 21 artículos
  • 148 recursos descargables
  • Acceso en dispositivos móviles y TV
  • Certificado de finalización

Python es Hoy uno de los lenguajes más utilizados por Excelencia.

Esto se debe por su simpleza al momento de Desarrollar aplicaciones.

Por su capacidad de procesamiento a altas velocidades con grandes volúmenes de información.

Es un increíble lenguaje con el cual si no sabes programar, podrás aprender.

Y si ya sabes desarrollar, te aconsejo aprenderlo ya que en el mercado cada vez se solicitan más desarrolladores en Python.

Aspirar al trabajo que desean, o mejorar sus ingresos con un aumento de salario.

Python se utiliza para muchisimas cosas como:

  • Machine Learning
  • Data Science
  • Inteligencia Artificial.
  • Y mucho más!

En este curso te acompañare en el proceso por el cual aprenderás las bases del lenguaje, para luego determinar qué camino quieres seguir.

Te invito que me acompañes a conocer este Gran Lenguaje!

Aprende con nuestros más de 100 cursos que tenemos disponibles para vos

¿Te gustaría enterarte de cuando lanzamos descuentos y nuevos cursos?

Sobre los autores

Álvaro Chirou

Yo soy Álvaro Chirou, tengo más de 20 Años de experiencia trabajando en Tecnología, eh dado disertaciones en eventos internacionales como OWASP, tengo más de 1.800.000 estudiantes en Udemy y 100 formaciones profesionales impartidas en la misma. Puedes serguirme en mis redes:

Laprovittera Carlos

Soy Laprovittera Carlos. Con más de 20 años de experiencia en IT brindo Educación y Consultoría en Seguridad de la Información para profesionales, bancos y empresas. Puedes saber más de mi y de mis servicios en mi sitio web: laprovittera.com y seguirme en mis redes:

¿Quieres iniciarte en hacking y ciberseguridad pero no sabes por dónde empezar? Inicia leyendo nuestra guia gratuita: https://achirou.com/como-iniciarse-en-ciberseguridad-y-hacking-en-2024/ que te lleva de 0 a 100. Desde los fundamentos más básicos, pasando por cursos, recursos y certificaciones hasta cómo obtener tu primer empleo.

SIGUE APRENDIENDO GRATIS CON NUESTRAS GUIAS

Cómo Iniciarse en Hacking y Ciberseguridad en 2024

Curso Gratis Linux – Capitulo 1 – Introducción a Linux

Curso Gratis de Redes – Capitulo 1 – Tipos de redes y servicios

Como iniciarse en TRY HACK ME – Complete Beginner #1

OSINT #1 Más de 200 Search Tools