Este documento presenta una introducción a un curso de nivelación de algoritmos. Explica que escribir un programa involucra varios pasos como formular el problema, diseñar la solución, implementarla, probarla y documentarla. Luego, describe que un modelo formal y algoritmos son formas de expresar soluciones a problemas, y que los lenguajes de programación permiten implementar algoritmos de manera precisa. Finalmente, introduce que el curso usará Python como lenguaje de programación.
1.1 Aplicación de la lógica en la programación
1.2 Principios en la elaboración de enunciados
1.3 Comprensión y especificación del problema
1.4 Identificación de entradas, procesos y salidas
Ponente: Patricio Abad Espinoza
Este documento contiene la primera parte de la introducción a la programación de computadores, el ciclo de programación y definición de constante, variable y acumulador
Introducción a Big Data
Las unidades temáticas y ejemplos están motivados mayormente en problemas actuales derivados de la Web, su estructura y en los datos que ésta genera a partir de sitios de noticias, redes sociales, buscadores de internet, sistemas de comercio electrónico, entre otros. Para ello se han diseñado una recopilación de técnicas, algoritmos y problemas agrupado en ejes temáticos.
Se dará énfasis a la problemática conocida como Big Data que trata sobre el tamaño de los datos, el modelo de arquitectura y file systems distribuidos de gran escala.
Introducción a los problemas sobre volúmenes de datos muy grandes (Big Data); arquitectura de datos y file system distribuidos de gran escala y modelo map reduce para diseñar algoritmos paralelos. Principio de Bonferroni, límite estadístico en el data-mining. Paradoja de Rhine, Detección de gente sospechosa
Referencias:
http://7puentes.com
http://datamining.dc.uba.ar
http://www.mmds.org
Tópicos de Big Data - Sistemas de RecomendaciónErnesto Mislej
Los Sistemas de Recomendación (RS), rec. systems, engines, frameworks, platforms es una disciplina derivada del Data Mining que se centra en el diseño de filtros sobre colecciones de items que son del gusto o del interés del usuario.
Para tal fin se utilizan la historia de calificaciones realizada por el usuario y por la comunidad de usuarios.
Se trabajan sobre dominos ligados al gusto como son las películas, programas de TV, video por demanda, música, libros, espectáculos, restaurantes, noticias, entre otros.
Referencias: http://mmds.org
1.1 Aplicación de la lógica en la programación
1.2 Principios en la elaboración de enunciados
1.3 Comprensión y especificación del problema
1.4 Identificación de entradas, procesos y salidas
Ponente: Patricio Abad Espinoza
Este documento contiene la primera parte de la introducción a la programación de computadores, el ciclo de programación y definición de constante, variable y acumulador
Introducción a Big Data
Las unidades temáticas y ejemplos están motivados mayormente en problemas actuales derivados de la Web, su estructura y en los datos que ésta genera a partir de sitios de noticias, redes sociales, buscadores de internet, sistemas de comercio electrónico, entre otros. Para ello se han diseñado una recopilación de técnicas, algoritmos y problemas agrupado en ejes temáticos.
Se dará énfasis a la problemática conocida como Big Data que trata sobre el tamaño de los datos, el modelo de arquitectura y file systems distribuidos de gran escala.
Introducción a los problemas sobre volúmenes de datos muy grandes (Big Data); arquitectura de datos y file system distribuidos de gran escala y modelo map reduce para diseñar algoritmos paralelos. Principio de Bonferroni, límite estadístico en el data-mining. Paradoja de Rhine, Detección de gente sospechosa
Referencias:
http://7puentes.com
http://datamining.dc.uba.ar
http://www.mmds.org
Tópicos de Big Data - Sistemas de RecomendaciónErnesto Mislej
Los Sistemas de Recomendación (RS), rec. systems, engines, frameworks, platforms es una disciplina derivada del Data Mining que se centra en el diseño de filtros sobre colecciones de items que son del gusto o del interés del usuario.
Para tal fin se utilizan la historia de calificaciones realizada por el usuario y por la comunidad de usuarios.
Se trabajan sobre dominos ligados al gusto como son las películas, programas de TV, video por demanda, música, libros, espectáculos, restaurantes, noticias, entre otros.
Referencias: http://mmds.org
Una de las tecnologías más revolucionarias que ha cambiado para siempre nuestra vida, sin duda es la Internet; y con ella los motores de búsqueda como Google. Google no fue el primer buscador, sino el primero que pudo combatir eficientemente a los spammers quienes intentan intervenir en la propuesta original de información de la Web. Discutiremos la innovación más grande realizada por Google, el PageRank.
La batalla entre quienes hacer la Web más útil y quienes quieren manipularla para su propio beneficio pareciera nunca terminar. Veremos las formas de vencer y manipular el PageRank, construyendo pequeñas webs llamadas link spam.
Referencias: http://mmds.org
Una tarea fundamental del proceso de datamining consiste en encontrar ítems similares. Un ejemplo es buscar dentro de una colección de páginas web para encontrar páginas near-duplicadas. Estas páginas abundan en la Internet; corresponden a plagios, mirrors, campañas, etc.
Comenzaremos con una noción básica de similaridad basada en conjuntos con relativa gran intersección.
Luego avanzamos con una técnica llamada minhashing, que consiste en comprimir grandes conjuntos de elementos en una pequeña firma (signature) donde se mantenga la noción de cercanía.
Referencias: http://mmds.org
Innovación en Big Data
A esta altura parece una verdad de perogrullo: "Las compañías que mejor utilicen la información, serán las más preparadas para afrontar los desafíos de la competitividad en el futuro". Hemos escuchado frases como estas muchas veces. Tenemos plena convicción de que existe valor en los datos que genera nuestra compañía, sentimos que tenemos que hacer algo pronto o pereceremos. Datos emergen a borbotones, la pregunta es: ¿dónde empezamos a buscar el tan prometido valor?
Clase de Introducción a Data Science & Big Data
Maestría en Administración de Empresas de Base Tecnológica - "Seminario límites tecnológicos y tendencias en Informática"
Presentación en el marco del Datafest La Nación - Universidad Austral.
El objetivo del Minado de Opiniones - (OM) es recuperar y extraer la orientación semántica de un conjunto de textos para clasificarlos de acuerdo a ella como positivas o negativas.
Presentación en el marco de las Séptimas Jornadas Argentinas de Data Mining.
El objetivo del Minado de Opiniones - (OM) es recuperar y extraer la orientación semántica de un conjunto de textos para clasificarlos de acuerdo a ella como positivas o negativas.
A quienes les gustó esta charla también les gustó... Cómo los Sistemas de Rec...Ernesto Mislej
¿Te preguntaste cómo hace Amazon para recomendarte libros y otros productos? ¿O Netflix para sugerirte nuevas películas o series? ¿Sabías que las ventas a través de recomendaciones superan en varios órdenes de magnitud a las ventas por "top sellers"?
Sistemas de Recomendación es la disciplina derivada del Data Mining que se enfoca en el diseño de filtros personalizados sobre el catálogo de ítems que sean del gusto o del interés del usuario. Para tal fin se utiliza la historia de calificaciones realizada por el usuario y por la comunidad de usuarios.
A los sectores más populares como Video-on-Demand, Contenido Digital y eCommerce se le han sumado recomendación de espectáculos, restaurantes, noticias, gente para conocer, chistes y hasta nombres de bebés.
Daremos un repaso por los hitos más importantes de esta emergente área. Contaremos cuáles son y cómo funcionan las principales técnicas. Charlaremos sobre la problemática actual, tendencias y desafíos.
Y sentaremos las bases para armar un sistema de recomendación de vinos.
TEDx Manchester: AI & The Future of WorkVolker Hirsch
TEDx Manchester talk on artificial intelligence (AI) and how the ascent of AI and robotics impacts our future work environments.
The video of the talk is now also available here: https://youtu.be/dRw4d2Si8LA
En esta oportunidad, les muestro de forma general la teoría referente a la Unidad I. Algoritmo y programas, de la U.C. Algoritmica y Programación del PNF de Informática. En una Segunda parte, se describirán las condiciones y la práctica del presente tema, el cual permitirá fortalecer y aplicar el conocimiento adquirido en esta primera parte.
1. De los problemas a los programas
Modelo Formal
Algoritmos
Lenguajes de Programación
Curso de Nivelación de Algoritmos
Clase 1
Lic. Ernesto Mislej
emislej@gmail.com
Maestría y Carrera de Especialización en Explotación de Datos y Descubrimiento
de Conocimiento
12 de marzo de 2012
Lic. Ernesto Mislej Curso de Nivelación de Algoritmos
2. De los problemas a los programas
Modelo Formal
Algoritmos
Lenguajes de Programación
Computer science is no more about computers than
astronomy is about telescopes.
E. W. Dijkstra
Lic. Ernesto Mislej Curso de Nivelación de Algoritmos
3. De los problemas a los programas
Modelo Formal
Algoritmos
Lenguajes de Programación
De los problemas a los programas
Escribir un programa de computadoras comprende varios
pasos:
Formulación y especicación del problema.
Diseño de la solución.
Implantación.
Prueba.
Documentación.
Evaluación de la solución.
La mitad del trabajo es saber qué problema se va a resolver.
Lic. Ernesto Mislej Curso de Nivelación de Algoritmos
4. De los problemas a los programas
Modelo Formal
Algoritmos
Lenguajes de Programación
De los problemas a los programas
Al abordar los problemas, por lo general, éstos no tienen una
especicación simple y precisa.
Una buena estrategia es expresar ciertos aspectos de un
problema con un modelo formal recurriendo a casi cualquier
rama de las matemáticas y de las ciencias.
Y así aprovechar todo lo que se sabe del modelo.
Lic. Ernesto Mislej Curso de Nivelación de Algoritmos
5. De los problemas a los programas
Modelo Formal
Algoritmos
Lenguajes de Programación
Modelo Formal
Ejemplo
Elegir dónde ubicarse al subir a un colectivo lleno.
Lic. Ernesto Mislej Curso de Nivelación de Algoritmos
6. De los problemas a los programas
Modelo Formal
Algoritmos
Lenguajes de Programación
Modelo Formal
Ejemplo
Elegir 2 equipos de fútbol parejos, para jugar un picado.
Lic. Ernesto Mislej Curso de Nivelación de Algoritmos
7. De los problemas a los programas
Modelo Formal
Algoritmos
Lenguajes de Programación
Modelo Formal
Ejemplo
Llegar a Ciudad Universitaria desde el centro.
Lic. Ernesto Mislej Curso de Nivelación de Algoritmos
8. De los problemas a los programas
Modelo Formal
Algoritmos
Lenguajes de Programación
Modelo Formal
Ejemplo
Ir al supermercado con una lista de productos.
Lic. Ernesto Mislej Curso de Nivelación de Algoritmos
9. De los problemas a los programas
Modelo Formal
Algoritmos
Lenguajes de Programación
Modelo Formal
Ejemplo
Armar las mesas para un casamiento.
Lic. Ernesto Mislej Curso de Nivelación de Algoritmos
10. De los problemas a los programas
Modelo Formal
Algoritmos
Lenguajes de Programación
Algoritmos
Cuando se tiene el modelo adecuado al problema se puede
buscar una solución en función de ese modelo.
El objetivo inicial consiste en hallar una solución en forma de
algoritmo.
Un algoritmo es una secuencia nita de instrucciones, de
signicado preciso y puede ejecutarse con una cantidad nita
de esfuerzo.
Lic. Ernesto Mislej Curso de Nivelación de Algoritmos
11. De los problemas a los programas
Modelo Formal
Algoritmos
Lenguajes de Programación
Algoritmos
Ejemplo
Armar una red tendido de TV por Cable.
Unir todas las casas usando la mínima cantidad de cable.
Lic. Ernesto Mislej Curso de Nivelación de Algoritmos
12. De los problemas a los programas
Modelo Formal
Algoritmos
Lenguajes de Programación
Algoritmos
Kruskal (AGN):
1. Sea T un conjunto vacío.
2. Sea E el conjunto de ejes.
3. Extraer e el eje más pequeño de E .
4. Si T ∪ {e } tiene un ciclo, descartar e ;
sino agregar e a T .
5. Si T no une a todos los nodos, ir a 3.
6. Devolver T .
http://www-b2.is.tokushima-u.ac.jp/ ikeda/suuri/kruskal/KruskalApp.shtml?demo1
Lic. Ernesto Mislej Curso de Nivelación de Algoritmos
13. De los problemas a los programas
Modelo Formal
Algoritmos
Lenguajes de Programación
Algoritmos
Los algoritmos pueden estar expresados en lenguaje natural,
como el español, en un lenguaje de programación o incluso por
diseño de hardware.
El único requisito es que la especicación debe proveer una
descripción precisa de los pasos a seguir dentro del
procedimiento.
Lic. Ernesto Mislej Curso de Nivelación de Algoritmos
14. De los problemas a los programas
Modelo Formal
Algoritmos
Lenguajes de Programación
Los lenguajes de Programación
¾Qué lenguajes de programación conocen?
Nosotros vamos a usar Python:
http://www.python.org
Cada lenguaje tiene una sintaxis y una semántica en particular,
es decir, el conjunto de instrucciones que admite como válidas
y la manera particular de utilizarlas.
Lic. Ernesto Mislej Curso de Nivelación de Algoritmos
15. De los problemas a los programas
Modelo Formal
Algoritmos
Lenguajes de Programación
Los lenguajes de Programación
A su vez cada lenguaje de programación denota un paradigma
de programación.
Existen lenguajes que son declarativos como el SQL y
lenguajes que son imperativos (existen aún más distinciones).
Nosotros vamos por el modelo imperativo.
Veamos el entorno interactivo Python.
Lic. Ernesto Mislej Curso de Nivelación de Algoritmos