El algoritmo de Kruskal es un ejemplo de algoritmo ``tacaño" ya que en cada iteración elige la opción mas económica disponible (es decir, la arista de costo mínimo).
Esta presentación le pertenece a Emily Arteaga García
Introducción
Algoritmo de Dijkstra
Codificación del Algoritmo de Dijkstra
Algoritmo de Floyd
Codificación del Algoritmo de Floyd
(Conclusiones)Comparación entre el Algoritmo de Dijkstra y de Floyd
Bibliografía
El algoritmo de Kruskal es un ejemplo de algoritmo ``tacaño" ya que en cada iteración elige la opción mas económica disponible (es decir, la arista de costo mínimo).
Esta presentación le pertenece a Emily Arteaga García
Introducción
Algoritmo de Dijkstra
Codificación del Algoritmo de Dijkstra
Algoritmo de Floyd
Codificación del Algoritmo de Floyd
(Conclusiones)Comparación entre el Algoritmo de Dijkstra y de Floyd
Bibliografía
Dossier préparatoire au Conseil Communautaire Dame Blanche et Bussière qui aura lieu le Lundi 24 février 2014, à 20h00 à la salle de convivialité de Geneuille.
Ces applications qui modifient en profondeur le businessMicrosoft Ideas
En 2013, 1/3 des développements ciblaient déjà un équipement mobile. Quels enjeux business pour ces directions métiers qui ont commandité ces applications ? Tour d’horizon des possibles. Changer la relation avec le client en point de vente, faciliter la saisie des informations sur le terrain, proposer une expérience de service multicanale, donner accès aux informations utiles aux collaborateurs à tout moment… les projets d’applications ne manquent pas. Et vont continuer à se développer.
Speakers : Frédéric Bojman (Microsoft France), Rémy Vernet (Apriso Solutions), Laurent Florentin (Arcan), Benoit Gueuniot (NEOS-SDI), Jean Pierre Siva (Axeo)
Dossier préparatoire au Conseil Communautaire Dame Blanche et Bussière qui aura lieu le Lundi 24 février 2014, à 20h00 à la salle de convivialité de Geneuille.
Ces applications qui modifient en profondeur le businessMicrosoft Ideas
En 2013, 1/3 des développements ciblaient déjà un équipement mobile. Quels enjeux business pour ces directions métiers qui ont commandité ces applications ? Tour d’horizon des possibles. Changer la relation avec le client en point de vente, faciliter la saisie des informations sur le terrain, proposer une expérience de service multicanale, donner accès aux informations utiles aux collaborateurs à tout moment… les projets d’applications ne manquent pas. Et vont continuer à se développer.
Speakers : Frédéric Bojman (Microsoft France), Rémy Vernet (Apriso Solutions), Laurent Florentin (Arcan), Benoit Gueuniot (NEOS-SDI), Jean Pierre Siva (Axeo)
- Le CNC et le court métrage ;
- Les premiers chiffres de la production cinématographique en 2014 ;
- Le Fonds de soutien cinéma – audiovisuel – multimédia du CNC en 2015 : dossier ;
- Entretien avec Jean-Claude Saurel, président et trésorier de Sauve qui peut le court métrage
Renée Pinard - ACFAS 2013 - Le transfert de connaissances : où débute et où s...Equipe RENARD
Le Centre de transfert sur la réussite éducative du Québec (CTREQ) a, depuis plus de 10 ans, la mission de promouvoir l’innovation et le transfert de connaissances (TC) en vue d’accroître la réussite éducative au Québec. En décembre 2011, il s’est vu confier la coordination d’un comité de concertation pour le TC en éducation, rassemblant des représentants des milieux gouvernemental, universitaire, collégial et des commissions scolaires. Son mandat : développer une vision globale des activités de TC au Québec afin de favoriser les initiatives complémentaires et de les faire connaître. Au fil des ans, le CTREQ a noué des partenariats et collaborations avec environ 130 chercheurs issus de toutes les universités du Québec. Dix ans plus tard, quelle vision se fait-il de la responsabilité du chercheur en TC? Comment, tant dans son enseignement, ses activités de recherches que les services à la collectivité, le chercheur peut-il contribuer au transfert? Qu’en est-il de sa responsabilité de concertation tant avec ses collègues universitaires qu’avec les milieux de pratique et les intermédiaires en TC comme les OLTIS. Enfin, d’autres questions de fond seront abordées comme le degré d’ouverture du chercheur à d’autres formes de savoirs, sa contribution à l’implantation d’une culture de recherche, et ainsi de suite. Cette communication est une occasion de reconnaître la contribution de chercheurs qui font un travail louable en TC et de paver la voie pour que d’autres emboîtent le pas.
2. Árbol de mínima expansión:
Árbol de máximo alcance cuyo valor
es mínimo, es decir, la suma de sus
aristas es mínima.
3. Algoritmo de Kruskal: El algoritmo de Kruskal
permite hallar el árbol minimal de cualquier grafo
valorado (con capacidades). Hay que seguir los
siguientes pasos:
Se marca la arista con menor valor. Si hay más
de una, se elige cualquiera de ellas.
De las aristas restantes, se marca la que tenga
menor valor, si hay más de una, se elige
cualquiera de ellas.
4. Repetir el paso 2 siempre que la
arista elegida no forme un ciclo
con las ya marcadas.
El proceso termina cuando
tenemos todos los nodos del
grafo en alguna de las aristas
marcadas, es decir, cuando
tenemos marcados n-1 arcos,
siendo n el número de nodos del
grafo.
5. Ejemplo: Determinar el árbol de
mínima expansión para el siguiente
grafo:
Siguiendo el algoritmo de Kruskal, tenemos:
Elegimos, por ejemplo, la arista (5, 6) = 1 (menor valor)
y la marcamos.
Elegimos la siguiente arista con menor valor (1, 3) = 1 y
la marcamos.
Elegimos la siguiente arista con menor valor (5, 7) = 2 y
la marcamos, ya que no forma ciclos con ninguna arista de
las marcadas anteriormente.
6. Elegimos la siguiente arista con menor valor (1, 2) = 3 y la
marcamos, ya que no forma ciclos con ninguna arista de las
marcadas anteriormente.
Elegimos la siguiente arista con menor valor (6, 7) = 4 y la
desechamos, ya que forma ciclos con las aristas (5, 7) y (5,
6) marcadas anteriormente.
Elegimos la siguiente arista con menor valor (2, 5) = 5 y la
marcamos, ya que no forma ciclos con ninguna arista de las
marcadas anteriormente.
Elegimos la siguiente arista con menor valor (4, 5) = 6 y la
marcamos, ya que no forma ciclos con ninguna arista de las
marcadas anteriormente.
FIN. Finalizamos dado que los 7 nodos del grafo están en
alguna de las aristas, o también ya que tenemos marcadas 6
aristas (n-1).
Por tanto el árbol de mínima expansión resultante sería:
7. <iostream.h> # include # include
<process.h> <malloc.h> # include # define
MAX 20 borde struct { int u, v int, int peso;
borde * enlace; } * frente = NULL; int padre
[ MAX]; / * Mantiene el padre de cada nodo
* / árbol
CODIGO Y PSEUDOCODIGO
9. href="/index.php?
option=com_glossary&Itemid=239&id=402&letter
=E&lang=es" title="EDGE (Enhanced Data Rates
for Global Evolution) – is an improved GPRS
standard used to obtain rich content data. It
broadcasted four times faster than conventional
transmission. The speed of EDGE network
depends upon various aspects, such as service
outages, traffic volume, signal strength and the
Internet speed. ">edge</a> [MAX]; / *
contendrá los bordes del árbol de expansión * /
int n; / * Indica el número total de nodos en el
10. gráfico * / int wt_tree = 0; / * Peso del árbol
de expansión * / int count = 0; / * Indica el
número de aristas incluidas en el árbol * / / *
Funciones * / void make_tree (); insert_tree
(int i, j int, int peso); void insert_pque (int i, j
int, int peso); borde * del_pque ();
create_graph void (); void main () { int i;
create_graph (); make_tree (); cout << "los
bordes que se incluirán en el árbol de
expansión se : n "; for (i = 1; i <= count; i +
+) { tribunal <<árbol [i]. u; tribunal <<árbol
[i]. V; } tribunal <<" Peso de este árbol de
expansión mínima es: "<<wt_tree; } / * Fin de
main () * / void create_graph ()
11. { int i, en peso, max_edges, origen, destino;
cout <<" Introduzca el número de nodos: ";
cin>> n; max_edges * = n (n-1) / 2; for (i =
1; i <= max_edges; i + +) { tribunal <<
"Introduzca el borde" <<i << "(0 0 para dejar
de fumar):" cin>> romper origen; cin>>
destino; if ((origen == 0) & & (destino == 0));
cout << " n Introduzca el peso de este canto:"
cin>> peso; if (origen> n | | Destin> n | |
origen <= 0 | | destin <= 0) { tribunal << "no
válido borde n"; i -; } más insert_pque
(origen, destino, peso); } if (i <n - 1) { tribunal
<< " nSpanning árbol no es posible n";
salida (1); } } / * Fin de create_graph () * /
void make_tree () { borde * tmp; int nodo1,
nodo2,
13. href="/index.php?
option=com_glossary&Itemid=239&id=240&lett
er=R&lang=es" title="also called the
administrator account. Root refers to the user
with the permission on every mode of a multi-
user or single OS. The root in PC file structure
is recognized as the top-most or the first
directory within the chain of command.
">root</a>_n1, root_n2 while (count <n-1) / *
bucle hasta n-1 aristas incluidas en el árbol * /
tmp = { del_pque (); nodo1 = tmp-> u; nodo2
= tmp-> v; tribunal << " nn1 = "<<nodo1;
cout <<" nn2 = "<<node2; while( nodo1> 0)
{ root_n1 = nodo1; nodo1 = padre
14. [nodo1]; } while (nodo2> 0) { root_n2 =
nodo2; nodo2 = padre [nodo2]; } tribunal <<
" nrootn1 =" <<root_n1; tribunal << "
nrootn2 =" <<root_n2; if(root_n1!=root_n2)
{ insert_tree(tmp-> u, tmp-> v, tmp-> peso);
wt_tree = wt_tree + tmp-> peso; padre
[root_n2] = root_n1; } } } / * Fin de
make_tree () * / / * Inserción de una ventaja
en el árbol * / void insert_tree (int i, int j, int
peso) { tribunal << "
15. nEste borde insertado en el árbol de
expansión n"; count + +; árbol
[cuenta]. u = i; árbol [cuenta]. v = j;
[árbol cuenta]. peso = peso; } / * Fin de
insert_tree () * / / * Inserción de bordes
en la cola de prioridad * / insert_pque
(int i, j int, int peso) { borde * tmp, * q;
tmp = (borde *) malloc ( sizeof (borde));
tmp-> U = i; tmp-> v = j; tmp-> peso =
peso; / * la cola está vacía o borde que
se ha añadido peso inferior a primera
borde * /
16. if (frente == NULL | | tmp-> peso <front->
peso) { tmp-> link = frente; frente = tmp; }
más { q = frente, mientras que (q-> enlace! =
NULL & & q-> enlace-> peso < = tmp-> peso)
q = q-> enlace; tmp-> link = q-> enlace; q->
link = tmp; si (q-> link == NULL) / * borde que
se añade al final * / tmp-> link = NULL; } } / *
Fin de insert_pque () * / / * Eliminar un borde
de la cola de prioridad * / * borde del_pque ()
{ borde * tmp; tmp = frente; cout << " nEdge
es procesada "; tribunal <<tmp-> u; cout <<"
-> "<<tmp-> V; cout <<" "<<tmp-> peso;
frente = frente-> enlace; return tmp; } / * Fin
de del_pque () * /