TECNOLÓGICO DE ESTUDIOS SUPERIORES DE ECATEPEC INGENIERÍA EN SISTEMAS COMPUTACIONALES MATERIA: Programación lógica y difusa PROFESOR(A): César Zapiain Cruz INTEGRANTE: Herrera García Jonathan Jovani TURNO: Matutino
Elecciones bajo la dictadura del algoritmo
Elecciones bajo la dictadura del algoritmo Microsoft está desarrollando Cortana que es un asistente personal de Inteligencia Artificial que espera incluir en futuras versiones de Windows. Cortana pedirá a los usuarios acceder a sus archivos, correos electrónicos y aplicaciones para tener el conocimiento suficiente para ofrecerle consejos de todo tipo en su vida diaria. Cortana nos recordaría nuestros compromisos, la hora a la que debemos tomar un medicamento, las horas de sueño que deberíamos tener, la cantidad de ejercicio que debemos hacer. Esto se puede extender a la información que podría obtener a través de una simple pulsera en nuestra muñeca sobre nuestra presión arterial, temperatura, etcétera. Por un lado, se podría decir que nos volvería la vida más fácil, por otro, que tendría toda nuestra información para influirnos y direccionar nuestra vida. Se configura el peor de los escenarios posibles. Dos antiutopias marcaron el siglo XX, la descrita por Georges Orwell en su novela “1984” en la que los individuos estaban sometidos al Gran Hermano que todo lo vigila y controla, y la antiutopia de Aldos Huxley en su novela “Un Mundo Felíz” en que la tecnología diseña a la sociedad, en ambas la libertad de elección desaparece, reduciéndose a un margen mínimo establecido por la casta que diseña y somete a la sociedad. La conjunción de la antiutopia orweliana con la huxleyana, el control y sometimiento del individuo a la vigilancia del Gran Hermano y, por otro lado, el sometimiento del individuo al desarrollo tecnológico que tiene la capacidad de dominar sus sentimientos, ideas y aspiraciones, se pueden realizar con el imperio del algoritmo y la inteligencia artificial.
Base de datos ¿Qué es?
Una base de datos es un “almacén” que nos permite guardar grandes cantidades de información de forma organizada para que luego podamos encontrar y utilizar fácilmente. El término de bases de datos fue escuchado por primera vez en 1963, en un simposio celebrado en California, USA. Una base de datos se puede definir como un conjunto de información relacionada que se encuentra agrupada ó estructurada. Desde el punto de vista informático, la base de datos es un sistema formado por un conjunto de datos almacenados en discos que permiten el acceso directo a ellos y un conjunto de programas que manipulen ese conjunto de datos. Cada base de datos se compone de una o más tablas que guarda un conjunto de datos. Cada tabla tiene una o más columnas y filas. Las columnas guardan una parte de la información sobre cada elemento que queramos guardar en la tabla, cada fila de la tabla conforma un registro.
Base de datos de Excel a sql Base de datos y cadenas de markov Los datos que nos proporción la página del Instituto Nacional Electoral con información muy importan con la cual pudimos recaudar datos precisos como CIRCUNSCRIPCIÓN, ID_ESTADO,NOMBRE_ESTADO,ID_DISTRITO,CABECERA_DISTRITAL,ID_MUNICIPIO,MUNICI PIO,SECCIÓN,CASILLA,PAN,PRI,PRD,PT,PVEM,NA,MORENA,ES,PRI-VERDE-NAES,PRIVERDE-NA,PRI-VERDE-ES,PRI-NA-ES,PRI-VERDE,PRI-NA,PRI-ES,VERDE-NAES,VERDENA,VERDE-ES,NA-ES,TERESACASTELL,NUM_VOTOS_CAN_NREG,NUM_VOTOS_VALIDOS,NUM_VOTOS_NULOS,TOTAL_V OTOS,LISTA_NOMINAL,ESTATUS_ACTA,TEPJF,OBSERVACIONES,RUTA_ACTA,VÍNCULOS. Con estos datos podemos acomodar los datos en la base de datos con esto podemos todos los resultados acomodados por estado. Con estos resultados podemos graficar los resultados para poder tener resultados presión cuando se cuenta con una gran cantidad de datos ya como no resulto estos datos los cuales fueron 18606 registros de las casillas electorales y pudo constatar las personas que asistieron a votar y los votos nulos y el total de votos registrados. Esta información es muy útil. DROP DATABASE IF EXISTS elections;
CREATE DATABASE elecciones DEFAULT CHARACTER SET utf8; use Tienda; CREATE casillas número de votos nulos ( codigo_User INT(10) PRIMARY KEY NOT NULL AUTO_INCREMENT, CIRCUNSCRIPCIÓN INT(10) ID_ESTADO VARCHAR(50) NOT NULL, NOMBRE_ESTADO VARCHAR(50) NOT NULL, ID_DISTRITO INT(10) CABECERA_DISTRITAL VARCHAR(50) NOT NULL, ID_MUNICIPIO INT(10) MUNICIPIO VARCHAR(50) NOT NULL, SECCIÓN VARCHAR(50) NOT NULL, CASILLA INT(10) PAN INT(10) PRI INT(10) PRD INT(10) PT INT(10) PVEM INT(10) NA INT(10) MORENA INT(10) ES INT(10) PRI-VERDE-NA-ES INT(10) PRI-VERDE-NA INT(10) PRI-VERDE-ES INT(10) PRI-NA-ES INT(10) PRI-VERDE INT(10) PRI-NA INT(10) PRI-ES INT(10) VERDE-NA-ES INT(10) VERDE-NA INT(10) VERDE-ES INT(10) NA-ES INT(10) TERESA-CASTELL INT(10) NUM_VOTOS_CAN_NREG INT(10) NUM_VOTOS_VALIDOS INT(10) num_votos_nulos INT(15), total_votos INT(15), lista_nominal INT(15), Estatus_acta INT(15), TEPJF INT(15), observaciones INT(15), Ruta_acta INT(15), vinculos INT(15), insert into elecciones('CIRCUNSCRIPCIÓN','ID_ESTADO','NOMBRE_ESTADO','ID_DISTRITO','CABECERA _DISTRITAL','ID_MUNICIPIO','MUNICIPIO','SECCIÓN','CASILLA','PAN','PRI','PRD','PT','PVEM','N A','MORENA','ES','PRI-VERDE-NA-ES','PRI-VERDE-NA','PRI-VERDE-ES','PRI-NA-ES','PRIVERDE','PRI-NA','PRI-ES','VERDE-NA-ES','VERDE-NA','VERDE-ES','NA-ES','TERESA-
CASTELL',NUM_VOTOS_CAN_NREG','NUM_VOTOS_VALIDOS','NUM_VOTOS_NULOS','TOTAL _VOTOS','LISTA_NOMINAL','ESTATUS_ACTA','TEPJF','OBSERVACIONES','RUTA_ACTA','VÍNC ULOS') values('1','15','MEXICO','1','CHALCO DE DIAZ COVARRUBIAS','22','COCOTITLAN','648','B','14','115','118','10','14','4','134','4','0','0','0','0','4','0','4',' 0','0','0','0','0','0','421','6','427','659','Acta casilla','AEC06_001_0648_B.pdf','http://187.217.191.195/actas2017/AEC06_001_0648_B.pdf');
insert into elecciones('CIRCUNSCRIPCIÓN','ID_ESTADO','NOMBRE_ESTADO','ID_DISTRITO','CABECERA _DISTRITAL','ID_MUNICIPIO','MUNICIPIO','SECCIÓN','CASILLA','PAN','PRI','PRD','PT','PVEM','N A','MORENA','ES','PRI-VERDE-NA-ES','PRI-VERDE-NA','PRI-VERDE-ES','PRI-NA-ES','PRIVERDE','PRI-NA','PRI-ES','VERDE-NA-ES','VERDE-NA','VERDE-ES','NA-ES','TERESACASTELL',NUM_VOTOS_CAN_NREG','NUM_VOTOS_VALIDOS','NUM_VOTOS_NULOS','TOTAL _VOTOS','LISTA_NOMINAL','ESTATUS_ACTA','TEPJF','OBSERVACIONES','RUTA_ACTA','VÍNC ULOS') values('1','15','MEXICO','1','CHALCO DE DIAZ COVARRUBIAS','22','COCOTITLAN','648','B','14','115','118','10','14','4','134','4','0','0','0','0','4','0','4',' 0','0','0','0','0','0','421','6','427','659','Acta casilla','AEC06_001_0648_B.pdf','http://187.217.191.195/actas2017/AEC06_001_0648_B.pdf'); insert into elecciones('CIRCUNSCRIPCIÓN','ID_ESTADO','NOMBRE_ESTADO','ID_DISTRITO','CABECERA _DISTRITAL','ID_MUNICIPIO','MUNICIPIO','SECCIÓN','CASILLA','PAN','PRI','PRD','PT','PVEM','N A','MORENA','ES','PRI-VERDE-NA-ES','PRI-VERDE-NA','PRI-VERDE-ES','PRI-NA-ES','PRIVERDE','PRI-NA','PRI-ES','VERDE-NA-ES','VERDE-NA','VERDE-ES','NA-ES','TERESACASTELL',NUM_VOTOS_CAN_NREG','NUM_VOTOS_VALIDOS','NUM_VOTOS_NULOS','TOTAL _VOTOS','LISTA_NOMINAL','ESTATUS_ACTA','TEPJF','OBSERVACIONES','RUTA_ACTA','VÍNC ULOS') values('1','15','MEXICO','1','CHALCO DE DIAZ COVARRUBIAS','22','COCOTITLAN','648','B','14','115','118','10','14','4','134','4','0','0','0','0','4','0','4',' 0','0','0','0','0','0','421','6','427','659','Acta casilla','AEC06_001_0648_B.pdf','http://187.217.191.195/actas2017/AEC06_001_0648_B.pdf'); insert into elecciones('CIRCUNSCRIPCIÓN','ID_ESTADO','NOMBRE_ESTADO','ID_DISTRITO','CABECERA _DISTRITAL','ID_MUNICIPIO','MUNICIPIO','SECCIÓN','CASILLA','PAN','PRI','PRD','PT','PVEM','N A','MORENA','ES','PRI-VERDE-NA-ES','PRI-VERDE-NA','PRI-VERDE-ES','PRI-NA-ES','PRIVERDE','PRI-NA','PRI-ES','VERDE-NA-ES','VERDE-NA','VERDE-ES','NA-ES','TERESACASTELL',NUM_VOTOS_CAN_NREG','NUM_VOTOS_VALIDOS','NUM_VOTOS_NULOS','TOTAL _VOTOS','LISTA_NOMINAL','ESTATUS_ACTA','TEPJF','OBSERVACIONES','RUTA_ACTA','VÍNC ULOS') values('1','15','MEXICO','1','CHALCO DE DIAZ COVARRUBIAS','22','COCOTITLAN','648','B','14','115','118','10','14','4','134','4','0','0','0','0','4','0','4',' 0','0','0','0','0','0','421','6','427','659','Acta casilla','AEC06_001_0648_B.pdf','http://187.217.191.195/actas2017/AEC06_001_0648_B.pdf'); insert into elecciones('CIRCUNSCRIPCIÓN','ID_ESTADO','NOMBRE_ESTADO','ID_DISTRITO','CABECERA _DISTRITAL','ID_MUNICIPIO','MUNICIPIO','SECCIÓN','CASILLA','PAN','PRI','PRD','PT','PVEM','N A','MORENA','ES','PRI-VERDE-NA-ES','PRI-VERDE-NA','PRI-VERDE-ES','PRI-NA-ES','PRIVERDE','PRI-NA','PRI-ES','VERDE-NA-ES','VERDE-NA','VERDE-ES','NA-ES','TERESACASTELL',NUM_VOTOS_CAN_NREG','NUM_VOTOS_VALIDOS','NUM_VOTOS_NULOS','TOTAL
_VOTOS','LISTA_NOMINAL','ESTATUS_ACTA','TEPJF','OBSERVACIONES','RUTA_ACTA','VÍNC ULOS') values('1','15','MEXICO','1','CHALCO DE DIAZ COVARRUBIAS','22','COCOTITLAN','648','B','14','115','118','10','14','4','134','4','0','0','0','0','4','0','4',' 0','0','0','0','0','0','421','6','427','659','Acta casilla','AEC06_001_0648_B.pdf','http://187.217.191.195/actas2017/AEC06_001_0648_B.pdf');
Con la información ya obtenida en la base de datos hacemos el proceso de cadenas de Markov ya que es un aseria de eventos por que la probabilidad de que ocurra un evento dependiendo del evento inmediato. Lo que todas las cadenas de este tipo tienen memoria lo que hace recordar el ultimo evento y condiciona la posibilidad de eventos futuros . Con este tipo de cadenas se podría decir que se tiene una serie idependiente como tirar una modena al aire o un dado. Nosotros ocupamo la cadena de markoov para poder analizar los patrones, para analizar los resultados del conteo de las elecciones ya que se puede calcular la probabilidad de resultado mas esperado. Se pùede predecir el comportamiento del conteo a través del tiempo . la tarea mas difícil es reconocer cuando puede aplicarse. La carcteristica mas importante que hay que buscar en la memoria de un evento a otro. Cualquier problema para el que puede obtenerse un diagrama de transición de estado y que usa el enfoque dado puede analizarse. Las ventajas y desventajas de usar teoría de Markov incluyen: • • • •
•
Teoría de Markov es simple de aplicar y entender. Cálculos de sensibilidad ( contestar las preguntas "qué-si") se llevan a cabo fácilmente. La teoría de Markov nos da con el tiempo una visión de los cambios en el sistema. P puede ser dependiente del estado actual del sistema. Si P es dependiente tanto del tiempo y del estado actual del sistema i.e., P es una función de t y st, entonces la ecuación de Markov básica se vuelve st=st-1P(t-1,st-1). La teoría de Markov es un modelo simplificado de un proceso de toma de decisión complejo.
Blob Storage ¿Qué es? Almacenamiento de objetos escalable de forma masiva para datos no estructurados. Con exabytes de capacidad y escalabilidad masiva, Blob Storage almacena de forma sencilla y rentable desde cientos hasta miles de millones de objetos, en niveles de acceso frecuente, acceso esporádico o archivo, según las necesidades.
Almacene cualquier tipo de datos no estructurados (imágenes, vídeos, audio, documentos, etc.) de forma fácil y rentable.
Para nuestra práctica nos propusimos a estudiar y aplicar el uso de los servicios de almacenamiento proporcionados por blob storage en la plataforma de Microsoft Azure.
Después de comprender los diferentes servicios que ofrece storage creamos un almacenamiento para poder cargar nuestro archivo con el que posteriormente trabajaremos.
Azure Functions permite ejecutar el código en un entorno sin servidor sin necesidad de crear una máquina virtual o publicar una aplicación web. En este tema, aprenderá a usar Functions para crear una función "Hola mundo" en Azure Portal. Debe tener una Function App para hospedar la ejecución de las funciones. Una Function App permite agrupar funciones como una unidad lógica para facilitar la administración, la implementación y el uso compartido de recursos. Primero creamos la Function App:
Al dar click, nos abrirá una ventana en la cual pondremos la configuración para la Function App.
Al crearla, nos saldrá una notificación de que se creó correctamente, “Implementación Correcta”. Le daremos en “Ir a Recurso” y nos mandara a la App Function creada. En este caso, será una Function desencadenada por HTML, elegiremos Webhook y API, y en lenguaje pondremos C#.
Una vez hecho lo anterior, se creará nuestra Function asi como el scrip de ejemplo que se dará, el cual dará un nombre al usuario que lo este ‘utilizando’. Haciendo click en “> Obtener
la dirección URL de la función” nos proporcionara el enlace, lo pegaremos en el navegador y nos dará el ejemplo el cual mostrara un nombre. pruebaba.azurewebsites.net/api/HttpTriggerCSharp1?code=IZgIgHiBA/hbwbhpmf2 sylNMpvwSdtci2D5FgaSHDhuzL75XXyrGMQ==&name=Pepe
Como
se
Trigger entra
observa, en
el
función
cuando ponemos el enlace copiado agregándole ‘&name=nombre’ , en este caso le puse ‘Miguel’, lo que muestra un mensaje en el navegador el cual es:
La simple acción de presionar Enter, manda a llamar a la Function, y queda registrado en la sección ‘Registros’ de nuestro portal en Azure.
Microsoft Azure Conjunto en constante expansión de servicios en la nube para ayudar a su organización a satisfacer sus necesidades comerciales. Le otorga la libertad de crear, administrar e implementar aplicaciones en una tremenda red mundial con sus herramientas y marcos favoritos Nube pública de pago por uso que te permite compilar, implementar y administrar rápidamente aplicaciones en una red global de datacenters (centros de datos) de Microsoft. Productivo Use cualquier herramienta, lenguaje o marco Convierta sus ideas en soluciones rápidamente para ponerse en marcha en nada de tiempo: simplemente, traiga su código. Cree aplicaciones con el lenguaje que desee, incluidos Node.js, Java y .NET, y use lo que ya conoce y le encanta. Trabaje con las mejores herramientas de desarrollo para PC o Mac, como Visual Studio y Visual Studio Code, con el fin de aumentar la productividad con características que le permitan centrarse en lo más importante: escribir código de gran calidad. Distribuya aplicaciones móviles a los usuarios con más rapidez optimizando el ciclo de vida del desarrollo de las aplicaciones con Visual Studio App Center, incluidas compilaciones y pruebas automatizadas para aplicaciones multiplataforma, híbridas y nativas para iOS y Android.
Hibrido Sus entornos locales y en la nube funcionan de un modo coherente en toda la organización. Aumente la productividad de los desarrolladores con un enfoque común para compilar aplicaciones y la flexibilidad para implementarlas en la nube o los sistemas locales con Azure Stack. Incremente la productividad del usuario final con Azure Active Directory para inicios de sesión único en aplicaciones locales y en la nube.
Inteligente Use un conjunto enriquecido de datos de Azure y servicios de IA, como Azure Databricks, Azure Cosmos DB, Azure Cognitive Services y Azure Bot Service para brindar nuevas experiencias en sus aplicaciones para inteligencia similar a la humana. Confíe en las funcionalidades de este servicio administrado, como la supervisión integrada, la aplicación automática de revisiones y la realización de copias de seguridad.
Confianza Microsoft ha destacado en el sector por el establecimiento de requisitos claros de seguridad y privacidad, y por cumplir estos requisitos de forma constante. Azure cumple un amplio abanico de normas internacionales y específicas del sector, como el Reglamento General de Protección de Datos (RGPD), ISO 27001, HIPAA, FedRAMP, SOC 1 y SOC 2, así como normas específicas de cada país, entre las que se incluyen: IRAP en Australia, G-Cloud en el Reino Unido y MTCS en Singapur. Auditorías de terceros rigurosas, como las del Instituto Británico de Normalización, confirman que Azure se adhiere a los estrictos controles de seguridad que estos estándares exigen.
Funcionalidad En el portal Microsoft Azure existen diferentes servicios de infraestructura y de plataforma para que puedas “montar” los servicios que necesites de manera sencilla, con unos cuántos clics. En tu portal dispones de un botón [New +] y a partir
de ahí, sólo tienes que elegir la región de los datacenter donde estará tu servicio y, a continuación, el tipo de servicio con sus características. Por ejemplo, en el caso de querer crear una máquina virtual podrías seleccionar el tipo de máquina como Windows Server 2016 Datacenter, a continuación, rellenar todas sus características (espacio de disco, RAM…). En este proceso de creación, se define un nombre de usuario y contraseña específica para poder iniciar sesión en esta máquina virtual. En el portal Microsoft Azure existen diferentes servicios de infraestructura y de plataforma para que puedas “montar” los servicios que necesites de manera sencilla, con unos cuántos clics. En tu portal dispones de un botón [New +] y a partir de ahí, sólo tienes que elegir la región de los datacenter donde estará tu servicio y, a continuación, el tipo de servicio con sus características. Por ejemplo, en el caso de querer crear una máquina virtual podrías seleccionar el tipo de máquina como Windows Server 2016 Datacenter, a continuación, rellenar todos sus características (espacio de disco, RAM…). En este proceso de creación, se define un nombre de usuario y contraseña específica para poder iniciar sesión en esta máquina virtual. Conocido coloquialmente como modelo de implementación clásico, técnicamente este modelo es llamado modelo de administración de servicios (Azure Service Management).
Azure Service Management (ASM) es una API REST en XML que agrega cierta sobrecarga a las llamadas API en comparación con JSON. La API de ASM cubre la mayoría de las características de Azure, mientras que algunas funciones sólo están disponibles a través de la API REST de Azure Resource Manager (ARM), de la que se hablará más adelante.