Se hizo un web crawler en Java (https://github.com/cuprumbot/crawler) que recorrió Wikipedia en inglés simple, analizando más de 170,000 artículos únicos. Se eligió Wikipedia en inglés simple (https://simple.wikipedia.org) por su cantidad de artículos; Wikipedia en inglés normal (https://en.wikipedia.org) tiene más de 5 millones de artículos.
El web crawler automáticamente eliminó algunos artículos del análisis. Por ejemplo, los artículos hacia los cuales existía algún enlace saliente pero aún no tenían contenido fueron eliminados. También se eliminaron los artículos que contenían algún caracter especial en el título, pues existían demasiadas variaciones de estos y eso causaba problemas al momento de determinar si ya se habían visitado.
La cantidad de artículos visitados fue:
print(length(unique(allLinks$article)))
## [1] 146920
No se trabajará con todos los enlaces, pues se requeriría una matriz que en memoria ocuparía más de 223 Gb. . Debemos eliminar algunos articulos.
El web crawler sí incluyo algunos articulos con problemas en el título, por ejemplo que contenían un guión bajo al inicio. Eliminando estos artículos quedaran aún más de 88000 articulos.
#Eliminar entradas con formato incorrecto, con un _ al inicio
allLinks <- allLinks %>%
filter(substring(article, 0, 1) != "_") %>%
filter(substring(outgoing, 0, 1) != "_") %>%
filter(article != "") %>%
select(article, outgoing)
print(length(unique(allLinks$article)))
## [1] 88663
Eliminaremos los articulos que unicamente se referencian a sí mismos; todos los artículos tienen al menos ese enlace debido al formato de Wikipedia. Al hacer esto, no existiran estados absorbentes en la cadena.
enoughLinks <- allLinks %>%
count(article) %>%
filter(n>1)
nrow(enoughLinks)
## [1] 87821
Quedan más de 87,000 artículos, que se representarían en una matriz que ocupa 65 Gb en memoria.
Se eliminarán más artículos basados en la cantidad de enlaces que tengan. Se eliminaran los articulos que tengan 200 o menos enlaces tanto entrantes como salientes.
enoughOutgoing <- allLinks %>%
count(article) %>%
filter(n>200)
enoughIngoing <- allLinks %>%
count(outgoing) %>%
filter(n>200)
goodArticles <- intersect(enoughOutgoing$article, enoughIngoing$outgoing)
# Estos inner_join eliminan entradas de la lista de todas las entradas aquellas que segun el filtro (n>50) no se usarían
allLinks <- inner_join(allLinks, enoughOutgoing)
## Joining, by = "article"
allLinks <- inner_join(allLinks, enoughIngoing, by = c("article" = "outgoing"))
## Warning in inner_join_impl(x, y, by$x, by$y, suffix$x, suffix$y): joining
## factors with different levels, coercing to character vector
nrow(enoughOutgoing)
## [1] 4514
nrow(enoughIngoing)
## [1] 4184
length(goodArticles)
## [1] 1583
Quedan 1583 articulos que usaremos para construir la matriz de transición de Markov.
# Construir una matrix inicializada con ceros para representar las transiciones
markovmatrix <- matrix(0, nrow = length(goodArticles), ncol = length(goodArticles), dimnames = list(goodArticles, goodArticles))
allLinks <- allLinks %>%
count(article, outgoing)
# Para cada entrada
for (i in 1:nrow(allLinks)) {
# Por alguna razón todo estaba como levels, esto arregla el problema
art <- as.character(allLinks[[i,1]])
out <- as.character(allLinks[[i,2]])
cnt <- as.numeric(allLinks[[i,3]])
if (art %in% goodArticles & out %in% goodArticles) {
markovmatrix[art, out] <- cnt
}
}
# Hacer que cada fila sume uno
for (i in 1:nrow(markovmatrix)) {
markovmatrix[i,] <- prop.table(markovmatrix[i,])
}
# Algunos de los articulos que sí cumplen con tener 100 enlaces salientes enlazan únicamente a artículos que excluímos
# Estos tienen 0 en todas sus salidas, y este 0 se convierte en NaN al usar prop.table
# Se les colocara un 1 para que lleven a ellos mismos, se vuelven estados absorbentes
for (i in 1:nrow(markovmatrix)) {
if (is.nan(markovmatrix[i,i])) {
markovmatrix[i,] <- as.vector(rep(0, nrow(markovmatrix)))
markovmatrix[i,i] <- 1
}
}
Ahora podemos usar el paquete markovchain para manipular más fácilmente la matriz creada.
mc <- new("markovchain", transitionMatrix=markovmatrix, states=goodArticles, name="Wikipedia Markov chain")
Podemos obtener los estados absorbentes y transitorios, así como las clases recurrentes.
absorbentes <- absorbingStates(mc)
transitorios <- transientStates(mc)
recurrentes <- recurrentClasses(mc)
Los estados absorbentes son aquellos de los cuales no podemos salir una vez que se llega a ellos. Según las políticas de Wikipedia, no deberían haber artículos que no enlacen, por lo que no habrían estados absorbentes. Como estamos usando un subset de los artículos, aquí si existirán estados absorbentes que serán aquellos que no enlazan a algo dentro del subset.
print(absorbentes)
## [1] "ISO_639-2" "Prefectures_of_Japan"
Los estados transitorios no volveran a ser visitados si se sale de ellos. En Wikipedia completa no hay estados transitorios, en esta selección sí porque se tomó solo un conjunto pequeño de artículos.
print(transitorios)
## [1] "Accolay,_Yonne"
## [2] "Agy"
## [3] "Aignerville"
## [4] "Aigremont,_Yonne"
## [5] "Aillant-sur-Tholon"
## [6] "Amblie"
## [7] "Amfreville,_Calvados"
## [8] "Amphibia"
## [9] "Anctoville"
## [10] "Ancy-le-Franc"
## [11] "Ancy-le-Libre"
## [12] "Angely"
## [13] "Angerville,_Calvados"
## [14] "Angoville,_Calvados"
## [15] "Anisy"
## [16] "Annay-sur-Serein"
## [17] "Annebault"
## [18] "Appoigny"
## [19] "Arces-Dilo"
## [20] "Arcy-sur-Cure"
## [21] "Arganchy"
## [22] "Argences"
## [23] "Arthonnay"
## [24] "Asnelles"
## [25] "Athie,_Yonne"
## [26] "Aubigny,_Calvados"
## [27] "Audrieu"
## [28] "Augy,_Yonne"
## [29] "Aunay-sur-Odon"
## [30] "Authie,_Calvados"
## [31] "Auvillars"
## [32] "Avallon"
## [33] "Avenay"
## [34] "Bagneaux"
## [35] "Banneville-la-Campagne"
## [36] "Banneville-sur-Ajon"
## [37] "Baon"
## [38] "Barbery,_Calvados"
## [39] "Baron-sur-Odon"
## [40] "Barou-en-Auge"
## [41] "Basly"
## [42] "Basseneville"
## [43] "Bayeux"
## [44] "Bazenville"
## [45] "Beaulieu,_Calvados"
## [46] "Beaumais"
## [47] "Beaumesnil,_Calvados"
## [48] "Beaumont-en-Auge"
## [49] "Beauvilliers,_Yonne"
## [50] "Bellechaume"
## [51] "Bellou"
## [52] "Benerville-sur-Mer"
## [53] "Bessy-sur-Cure"
## [54] "Beugnon"
## [55] "Beuvillers,_Calvados"
## [56] "Beuvron-en-Auge"
## [57] "Bierry-les-Belles-Fontaines"
## [58] "Billy,_Calvados"
## [59] "Blainville-sur-Orne"
## [60] "Blay"
## [61] "Bleigny-le-Carreau"
## [62] "Blonville-sur-Mer"
## [63] "Bois-d'Arcy,_Yonne"
## [64] "Boissey,_Calvados"
## [65] "Bonnard,_Yonne"
## [66] "Bonnebosq"
## [67] "Bonneville-la-Louvet"
## [68] "Bonneville-sur-Touques"
## [69] "Bons-Tassilly"
## [70] "Bougy"
## [71] "Boulon"
## [72] "Bourgeauville"
## [73] "Branches,_Yonne"
## [74] "Brannay"
## [75] "Branville"
## [76] "Bretteville-l'Orgueilleuse"
## [77] "Bretteville-le-Rabet"
## [78] "Bretteville-sur-Dives"
## [79] "Bretteville-sur-Odon"
## [80] "Bricqueville"
## [81] "British_Rail_Class_01"
## [82] "British_Rail_Class_02"
## [83] "British_Rail_Class_03"
## [84] "British_Rail_Class_04"
## [85] "British_Rail_Class_05"
## [86] "British_Rail_Class_06"
## [87] "British_Rail_Class_08"
## [88] "British_Rail_Class_10"
## [89] "British_Rail_Class_11"
## [90] "British_Rail_Class_12"
## [91] "British_Rail_Class_15"
## [92] "British_Rail_Class_16"
## [93] "British_Rail_Class_20"
## [94] "British_Rail_Class_21"
## [95] "British_Rail_Class_22"
## [96] "British_Rail_Class_23"
## [97] "British_Rail_Class_24"
## [98] "British_Rail_Class_25"
## [99] "British_Rail_Class_26"
## [100] "British_Rail_Class_27"
## [101] "British_Rail_Class_28"
## [102] "British_Rail_Class_304"
## [103] "British_Rail_Class_307"
## [104] "British_Rail_Class_31"
## [105] "British_Rail_Class_33"
## [106] "British_Rail_Class_35"
## [107] "British_Rail_Class_37"
## [108] "British_Rail_Class_40"
## [109] "British_Rail_Class_402"
## [110] "British_Rail_Class_404"
## [111] "British_Rail_Class_405"
## [112] "British_Rail_Class_411"
## [113] "British_Rail_Class_414"
## [114] "British_Rail_Class_415"
## [115] "British_Rail_Class_416"
## [116] "British_Rail_Class_419"
## [117] "British_Rail_Class_42"
## [118] "British_Rail_Class_421"
## [119] "British_Rail_Class_423"
## [120] "British_Rail_Class_43_(Warship_Class)"
## [121] "British_Rail_Class_432"
## [122] "British_Rail_Class_438"
## [123] "British_Rail_Class_44"
## [124] "British_Rail_Class_442"
## [125] "British_Rail_Class_444"
## [126] "British_Rail_Class_45"
## [127] "British_Rail_Class_450"
## [128] "British_Rail_Class_455"
## [129] "British_Rail_Class_458"
## [130] "British_Rail_Class_460"
## [131] "British_Rail_Class_485"
## [132] "British_Rail_Class_486"
## [133] "British_Rail_Class_52"
## [134] "British_Rail_Class_53"
## [135] "British_Rail_Class_55"
## [136] "British_Rail_Class_66"
## [137] "British_Rail_Class_71"
## [138] "British_Rail_Class_73"
## [139] "British_Rail_Class_74"
## [140] "British_Rail_Class_76"
## [141] "British_Rail_Class_77"
## [142] "British_Rail_Class_81"
## [143] "British_Rail_Class_82"
## [144] "British_Rail_Class_83"
## [145] "British_Rail_Class_84"
## [146] "British_Rail_Class_85"
## [147] "British_Rail_Class_86"
## [148] "British_Rail_Class_D16/1"
## [149] "British_Rail_Class_D16/2"
## [150] "British_Rail_Class_D2/11"
## [151] "British_Rail_Classes_371,_381_and_471"
## [152] "British_Rail_Classes_445_and_446"
## [153] "Brosses"
## [154] "Brouay"
## [155] "Brucourt"
## [156] "Burcy,_Calvados"
## [157] "Bures-les-Monts"
## [158] "Bussy-le-Repos,_Yonne"
## [159] "Butteaux"
## [160] "Cabourg"
## [161] "Cahagnes"
## [162] "Cairon"
## [163] "Cambes-en-Plaine"
## [164] "Cambremer"
## [165] "Campagnolles"
## [166] "Campeaux,_Calvados"
## [167] "Campigny,_Calvados"
## [168] "Canapville,_Calvados"
## [169] "Canteloup,_Calvados"
## [170] "Carcagny"
## [171] "Cardonville"
## [172] "Carpiquet"
## [173] "Carville,_Calvados"
## [174] "Castilly"
## [175] "Caumont-sur-Orne"
## [176] "Cauvicourt"
## [177] "Cauville"
## [178] "Cerisiers"
## [179] "Cernay,_Calvados"
## [180] "Cerqueux"
## [181] "Cesny-aux-Vignes"
## [182] "Cesny-Bois-Halbout"
## [183] "Chablis"
## [184] "Chambeugle"
## [185] "Chamoux,_Yonne"
## [186] "Champcevrais"
## [187] "Champigny,_Yonne"
## [188] "Champlay"
## [189] "Champlost"
## [190] "Champvallon"
## [191] "Chamvres"
## [192] "Charbuy"
## [193] "Charny,_Yonne"
## [194] "Chassy,_Yonne"
## [195] "Chaumont,_Yonne"
## [196] "Chemilly-sur-Serein"
## [197] "Cheny"
## [198] "Cheux"
## [199] "Chevannes,_Yonne"
## [200] "Chevillon,_Yonne"
## [201] "Chicheboville"
## [202] "Chichery"
## [203] "Chigy"
## [204] "Chitry"
## [205] "Chouain"
## [206] "Cintheaux"
## [207] "Cisery"
## [208] "Collan"
## [209] "Colleville-Montgomery"
## [210] "Colleville-sur-Mer"
## [211] "Colombelles"
## [212] "Colombiers-sur-Seulles"
## [213] "Colomby-sur-Thaon"
## [214] "Combray"
## [215] "Communes_of_the_Calvados_department"
## [216] "Communes_of_the_Yonne_department"
## [217] "Compigny"
## [218] "Conteville,_Calvados"
## [219] "Coquainvilliers"
## [220] "Cordebugle"
## [221] "Cordey"
## [222] "Cormelles-le-Royal"
## [223] "Cormolain"
## [224] "Cossesseville"
## [225] "Cottun"
## [226] "Coulombs,_Calvados"
## [227] "Coulonces,_Calvados"
## [228] "Coulvain"
## [229] "Coupesarte"
## [230] "Courcy,_Calvados"
## [231] "Courgenay,_Yonne"
## [232] "Courlon-sur-Yonne"
## [233] "Courseulles-sur-Mer"
## [234] "Courson"
## [235] "Courtoin"
## [236] "Courtois-sur-Yonne"
## [237] "Courtonne-la-Meurdrac"
## [238] "Courvaudon"
## [239] "Crain,_Yonne"
## [240] "Cravant,_Yonne"
## [241] "Cresserons"
## [242] "Cresseveuille"
## [243] "Creully"
## [244] "Cricqueville-en-Auge"
## [245] "Cricqueville-en-Bessin"
## [246] "Cristot"
## [247] "Crocy"
## [248] "Croisilles,_Calvados"
## [249] "Croissanville"
## [250] "Crouay"
## [251] "Cry,_Yonne"
## [252] "Cudot"
## [253] "Culey-le-Patry"
## [254] "Cully,_Calvados"
## [255] "Curcy-sur-Orne"
## [256] "Cussy"
## [257] "Cussy-les-Forges"
## [258] "Cuy,_Yonne"
## [259] "Damblainville"
## [260] "Danestal"
## [261] "Dannemoine"
## [262] "Deauville"
## [263] "Deux-Jumeaux"
## [264] "Dives-sur-Mer"
## [265] "Dixmont,_Yonne"
## [266] "Domecy-sur-le-Vault"
## [267] "Donnay"
## [268] "Douville-en-Auge"
## [269] "Druyes-les-Belles-Fontaines"
## [270] "Ducy-Sainte-Marguerite"
## [271] "Ellon,_Calvados"
## [272] "Englesqueville-en-Auge"
## [273] "Eraines"
## [274] "Escamps,_Yonne"
## [275] "Escolives-Sainte-Camille"
## [276] "Escoville"
## [277] "Esnon"
## [278] "Espins"
## [279] "Esquay-Notre-Dame"
## [280] "Esquay-sur-Seulles"
## [281] "Esson"
## [282] "Estry"
## [283] "Fauguernon"
## [284] "Fervaques"
## [285] "Fierville-Bray"
## [286] "Fierville-les-Parcs"
## [287] "Firfol"
## [288] "Flacy"
## [289] "Fleury-sur-Orne"
## [290] "Fleys"
## [291] "Flogny-la-Chapelle"
## [292] "Fontaine-Henry"
## [293] "Fontaine-le-Pin"
## [294] "Fontaines,_Yonne"
## [295] "Fontenailles,_Yonne"
## [296] "Fontenay-le-Pesnel"
## [297] "Fontenay-sous-Fouronnes"
## [298] "Fontenermont"
## [299] "Fontenouilles"
## [300] "Formentin"
## [301] "Formigny"
## [302] "Fourches"
## [303] "Fourneaux-le-Val"
## [304] "Fourneville"
## [305] "Fresnes,_Yonne"
## [306] "Fresney-le-Puceux"
## [307] "Genneville"
## [308] "Germigny,_Yonne"
## [309] "Gerrots"
## [310] "Gigny,_Yonne"
## [311] "Girolles,_Yonne"
## [312] "Gisy-les-Nobles"
## [313] "Glanville,_Calvados"
## [314] "Glos"
## [315] "Gonneville-en-Auge"
## [316] "Gonneville-sur-Mer"
## [317] "Goustranville"
## [318] "Gouvix"
## [319] "Grainville-Langannerie"
## [320] "Grandcamp-Maisy"
## [321] "Grandchamp,_Yonne"
## [322] "Grangues"
## [323] "Graye-sur-Mer"
## [324] "Grimault"
## [325] "Grimbosq"
## [326] "Gron,_Yonne"
## [327] "Guerchy"
## [328] "Hamars"
## [329] "Hermival-les-Vaux"
## [330] "Heurtevent"
## [331] "Hotot-en-Auge"
## [332] "Hottot-les-Bagues"
## [333] "Hubert-Folie"
## [334] "Ifs,_Calvados"
## [335] "Isigny-sur-Mer"
## [336] "Island,_Yonne"
## [337] "Janville,_Calvados"
## [338] "Jaulges"
## [339] "Joigny"
## [340] "Jort"
## [341] "Juvigny-sur-Seulles"
## [342] "L'Oudon"
## [343] "La_Bazoque,_Calvados"
## [344] "La_Belliole"
## [345] "La_Bigne"
## [346] "La_Caine"
## [347] "La_Cambe"
## [348] "La_Celle-Saint-Cyr"
## [349] "La_Chapelle-Engerbold"
## [350] "La_Chapelle-Haute-Grue"
## [351] "La_Chapelle-sur-Oreuse"
## [352] "La_Chapelle-Yvon"
## [353] "La_Croupte"
## [354] "La_Folie"
## [355] "La_Graverie"
## [356] "La_Hoguette"
## [357] "La_Pommeraye,_Calvados"
## [358] "La_Postolle"
## [359] "La_Rocque"
## [360] "La_Roque-Baignard"
## [361] "La_Villette,_Calvados"
## [362] "Laduz"
## [363] "Lain,_Yonne"
## [364] "Lainsecq"
## [365] "Laize-la-Ville"
## [366] "Landelles-et-Coupigny"
## [367] "Landes-sur-Ajon"
## [368] "Laroche-Saint-Cydroine"
## [369] "Lavau,_Yonne"
## [370] "Le_Breuil-en-Auge"
## [371] "Le_Faulq"
## [372] "Le_Fresne-Camilly"
## [373] "Le_Gast"
## [374] "Le_Locheur"
## [375] "Le_Manoir,_Calvados"
## [376] "Le_Mesnil-au-Grain"
## [377] "Le_Mesnil-Auzouf"
## [378] "Le_Mesnil-Bacley"
## [379] "Le_Mesnil-Caussois"
## [380] "Le_Mesnil-Eudes"
## [381] "Le_Mesnil-Germain"
## [382] "Le_Mesnil-Guillaume"
## [383] "Le_Mesnil-Patry"
## [384] "Le_Mesnil-Simon,_Calvados"
## [385] "Le_Mesnil-sur-Blangy"
## [386] "Le_Mesnil-Villement"
## [387] "Le_Molay-Littry"
## [388] "Le_Pin,_Calvados"
## [389] "Le_Plessis-Grimoult"
## [390] "Le_Theil-Bocage"
## [391] "Le_Theil-en-Auge"
## [392] "Le_Tourneur"
## [393] "Le_Tronquay,_Calvados"
## [394] "Le_Vey"
## [395] "Leffard"
## [396] "Les_Authieux-Papion"
## [397] "Les_Authieux-sur-Calonne"
## [398] "Les_Bordes,_Yonne"
## [399] "Les_Loges-Saulces"
## [400] "Les_Loges,_Calvados"
## [401] "Les_Monceaux"
## [402] "Les_Moutiers-en-Auge"
## [403] "Les_Moutiers-en-Cinglais"
## [404] "Les_Moutiers-Hubert"
## [405] "Les_Ormes,_Yonne"
## [406] "Les_Oubeaux"
## [407] "Leugny,_Yonne"
## [408] "Levis,_Yonne"
## [409] "Lindry"
## [410] "Lion-sur-Mer"
## [411] "Lisieux"
## [412] "List_of_British_Rail_electric_multiple_unit_classes"
## [413] "List_of_IOC_country_codes"
## [414] "List_of_postal_codes_in_Germany"
## [415] "List_of_Stanley_Cup_champions"
## [416] "List_of_WWE_pay-per-view_events"
## [417] "Livry,_Calvados"
## [418] "Longraye"
## [419] "Longues-sur-Mer"
## [420] "Longueville,_Calvados"
## [421] "Longvillers"
## [422] "Looze"
## [423] "Loucelles"
## [424] "Louvagny"
## [425] "Louvigny,_Calvados"
## [426] "Luc-sur-Mer"
## [427] "Lucy-le-Bois"
## [428] "Lucy-sur-Cure"
## [429] "Magny-en-Bessin"
## [430] "Magny-la-Campagne"
## [431] "Magny,_Yonne"
## [432] "Mailly-la-Ville"
## [433] "Maisoncelles-la-Jourdan"
## [434] "Maisoncelles-Pelvey"
## [435] "Maisoncelles-sur-Ajon"
## [436] "Maizet"
## [437] "Malicorne,_Yonne"
## [438] "Maligny,_Yonne"
## [439] "Maltot"
## [440] "Manerbe"
## [441] "Manneville-la-Pipard"
## [442] "Manvieux"
## [443] "Marchais-Beton"
## [444] "Marmeaux"
## [445] "Marolles,_Calvados"
## [446] "Martainville,_Calvados"
## [447] "Martigny-sur-l'Ante"
## [448] "May-sur-Orne"
## [449] "Mercy,_Yonne"
## [450] "Meslay,_Calvados"
## [451] "Metropolitan_and_non-metropolitan_counties_of_England"
## [452] "Meulles"
## [453] "Meuvaines"
## [454] "Michery"
## [455] "Missy,_Calvados"
## [456] "Mittois"
## [457] "Molesmes"
## [458] "Molinons"
## [459] "Mondeville,_Calvados"
## [460] "Mondrainville"
## [461] "Mont-Bertrand"
## [462] "Mont-Saint-Sulpice"
## [463] "Montacher-Villegardin"
## [464] "Montchamp,_Calvados"
## [465] "Montfiquet"
## [466] "Montigny-la-Resle"
## [467] "Montigny,_Calvados"
## [468] "Montillot"
## [469] "Montviette"
## [470] "Mosles"
## [471] "Mouffy"
## [472] "Moulines,_Calvados"
## [473] "Moyaux"
## [474] "Neuvy-Sautour"
## [475] "Nitry"
## [476] "Nonant"
## [477] "Norolles"
## [478] "Noron-la-Poterie"
## [479] "Norrey-en-Auge"
## [480] "Noyers-Bocage"
## [481] "Nuits"
## [482] "Olendon"
## [483] "Ondefontaine"
## [484] "Orbec"
## [485] "Ouanne"
## [486] "Ouilly-du-Houley"
## [487] "Ouilly-le-Vicomte"
## [488] "Ouistreham"
## [489] "Pailly,_Yonne"
## [490] "Parfouru-sur-Odon"
## [491] "Parly"
## [492] "Paron"
## [493] "Paroy-en-Othe"
## [494] "Paroy-sur-Tholon"
## [495] "Pasilly"
## [496] "Pennedepie"
## [497] "Petiville,_Calvados"
## [498] "Pierre-Perthuis"
## [499] "Pierrefitte-en-Cinglais"
## [500] "Pierrepont,_Calvados"
## [501] "Pierres,_Calvados"
## [502] "Piffonds"
## [503] "Pimelles"
## [504] "Placy"
## [505] "Poilly-sur-Tholon"
## [506] "Pont-Bellanger"
## [507] "Pont-d'Ouilly"
## [508] "Pont-Farcy"
## [509] "Pont-sur-Vanne"
## [510] "Pontaubert"
## [511] "Pontigny"
## [512] "Potigny"
## [513] "Pourrain"
## [514] "Poussy-la-Campagne"
## [515] "Presles,_Calvados"
## [516] "Proussy"
## [517] "Provency"
## [518] "Prunoy"
## [519] "Putot-en-Auge"
## [520] "Putot-en-Bessin"
## [521] "Quetteville"
## [522] "Quincerot,_Yonne"
## [523] "Ranchy"
## [524] "Ranville"
## [525] "Rapilly"
## [526] "Reux"
## [527] "Reviers"
## [528] "Rocques"
## [529] "Rosel"
## [530] "Rots"
## [531] "Roucamps"
## [532] "Roullours"
## [533] "Rousson,_Yonne"
## [534] "Rouvray,_Yonne"
## [535] "Rouvres,_Calvados"
## [536] "Royal_Rumble"
## [537] "Rubercy"
## [538] "Rucqueville"
## [539] "Rugny"
## [540] "Rully,_Calvados"
## [541] "Rumesnil"
## [542] "Russy,_Calvados"
## [543] "Ryes"
## [544] "Sacy,_Yonne"
## [545] "Sainpuits"
## [546] "Saint-Agnan-le-Malherbe"
## [547] "Saint-Agnan,_Yonne"
## [548] "Saint-Aignan-de-Cramesnil"
## [549] "Saint-Aubin-des-Bois,_Calvados"
## [550] "Saint-Aubin-sur-Mer,_Calvados"
## [551] "Saint-Brancher"
## [552] "Saint-Bris-le-Vineux"
## [553] "Saint-Charles-de-Percy"
## [554] "Saint-Contest"
## [555] "Saint-Cyr-du-Ronceray"
## [556] "Saint-Denis-de-Mailloc"
## [557] "Saint-Denis-Maisoncelles"
## [558] "Saint-Denis-sur-Ouanne"
## [559] "Saint-Fargeau"
## [560] "Saint-Gatien-des-Bois"
## [561] "Saint-Georges-en-Auge"
## [562] "Saint-Germain-d'Ectot"
## [563] "Saint-Germain-de-Livet"
## [564] "Saint-Germain-de-Montgommery"
## [565] "Saint-Germain-des-Champs"
## [566] "Saint-Germain-du-Crioult"
## [567] "Saint-Germain-du-Pert"
## [568] "Saint-Germain-la-Blanche-Herbe"
## [569] "Saint-Germain-Langot"
## [570] "Saint-Germain-le-Vasson"
## [571] "Saint-Hymer"
## [572] "Saint-Jean-des-Essartiers"
## [573] "Saint-Jean-le-Blanc,_Calvados"
## [574] "Saint-Jouin"
## [575] "Saint-Julien-de-Mailloc"
## [576] "Saint-Julien-du-Sault"
## [577] "Saint-Julien-le-Faucon"
## [578] "Saint-Julien-sur-Calonne"
## [579] "Saint-Lambert,_Calvados"
## [580] "Saint-Laurent-de-Condel"
## [581] "Saint-Laurent-sur-Mer"
## [582] "Saint-Louet-sur-Seulles"
## [583] "Saint-Loup-d'Ordon"
## [584] "Saint-Loup-de-Fribois"
## [585] "Saint-Manvieu-Bocage"
## [586] "Saint-Manvieu-Norrey"
## [587] "Saint-Marcouf,_Calvados"
## [588] "Saint-Martin-aux-Chartrains"
## [589] "Saint-Martin-d'Ordon"
## [590] "Saint-Martin-de-la-Lieue"
## [591] "Saint-Martin-de-Mailloc"
## [592] "Saint-Martin-de-Mieux"
## [593] "Saint-Martin-de-Sallen"
## [594] "Saint-Martin-des-Besaces"
## [595] "Saint-Martin-du-Mesnil-Oury"
## [596] "Saint-Martin-du-Tertre,_Yonne"
## [597] "Saint-Martin-sur-Ocre,_Yonne"
## [598] "Saint-Martin-sur-Ouanne"
## [599] "Saint-Maurice-aux-Riches-Hommes"
## [600] "Saint-Maurice-le-Vieil"
## [601] "Saint-Maurice-Thizouaille"
## [602] "Saint-Omer,_Calvados"
## [603] "Saint-Ouen-des-Besaces"
## [604] "Saint-Ouen-du-Mesnil-Oger"
## [605] "Saint-Ouen-le-Houx"
## [606] "Saint-Pair"
## [607] "Saint-Paul-du-Vernay"
## [608] "Saint-Pierre-Azif"
## [609] "Saint-Pierre-Canivet"
## [610] "Saint-Pierre-de-Mailloc"
## [611] "Saint-Pierre-du-Fresne"
## [612] "Saint-Pierre-du-Mont,_Calvados"
## [613] "Saint-Pierre-Tarentaine"
## [614] "Saint-Samson,_Calvados"
## [615] "Saint-Sylvain,_Calvados"
## [616] "Saint-Vaast-en-Auge"
## [617] "Saint-Vigor-le-Grand"
## [618] "Sainte-Croix-Grand-Tonne"
## [619] "Sainte-Croix-sur-Mer"
## [620] "Sainte-Foy-de-Montgommery"
## [621] "Sainte-Honorine-de-Ducy"
## [622] "Sainte-Honorine-du-Fay"
## [623] "Sainte-Marguerite-d'Elle"
## [624] "Sainte-Marguerite-de-Viette"
## [625] "Sainte-Pallaye"
## [626] "Saligny,_Yonne"
## [627] "Sallen"
## [628] "Sallenelles"
## [629] "Sannerville"
## [630] "Saon"
## [631] "Saonnet"
## [632] "Sarry,_Yonne"
## [633] "Sassy,_Calvados"
## [634] "Sceaux,_Yonne"
## [635] "Secqueville-en-Bessin"
## [636] "Sennevoy-le-Haut"
## [637] "Sens"
## [638] "Sept-Vents"
## [639] "Sergines"
## [640] "Sermizelles"
## [641] "Sery,_Yonne"
## [642] "Soignolles"
## [643] "Soliers"
## [644] "Sommervieu"
## [645] "Sormery"
## [646] "Soulangy"
## [647] "Soumaintrain"
## [648] "Subles"
## [649] "Sully,_Calvados"
## [650] "Surrain"
## [651] "Survivor_Series"
## [652] "Taingy"
## [653] "Talcy,_Yonne"
## [654] "Tanlay"
## [655] "Tannerre-en-Puisaye"
## [656] "Thaon"
## [657] "Tharoiseau"
## [658] "Thizy,_Yonne"
## [659] "Thorigny-sur-Oreuse"
## [660] "Thory,_Yonne"
## [661] "Thury-Harcourt"
## [662] "Tierceville"
## [663] "Tilly-la-Campagne"
## [664] "Tilly-sur-Seulles"
## [665] "Tordouet"
## [666] "Torteval-Quesnay"
## [667] "Tortisambert"
## [668] "Toucy"
## [669] "Touques,_Calvados"
## [670] "Tour-en-Bessin"
## [671] "Tournay-sur-Odon"
## [672] "Tourville-en-Auge"
## [673] "Tourville-sur-Odon"
## [674] "Tracy-Bocage"
## [675] "Treigny"
## [676] "Trichey"
## [677] "Troarn"
## [678] "Trois-Monts"
## [679] "Trouville-sur-Mer"
## [680] "Truttemer-le-Grand"
## [681] "Truttemer-le-Petit"
## [682] "Turny"
## [683] "Urville,_Calvados"
## [684] "Vallery"
## [685] "Varaville"
## [686] "Vareilles,_Yonne"
## [687] "Vassy,_Calvados"
## [688] "Vaudeloges"
## [689] "Vaumort"
## [690] "Vendes"
## [691] "Vendeuvre"
## [692] "Venizy"
## [693] "Verlin"
## [694] "Vernoy"
## [695] "Verson"
## [696] "Vicques,_Calvados"
## [697] "Victot-Pontfol"
## [698] "Vienne-en-Bessin"
## [699] "Vierville-sur-Mer"
## [700] "Viessoix"
## [701] "Vieux-Pont-en-Auge"
## [702] "Vignats"
## [703] "Vignes,_Yonne"
## [704] "Villebougis"
## [705] "Villecien"
## [706] "Villefranche,_Yonne"
## [707] "Villemanoche"
## [708] "Villemer,_Yonne"
## [709] "Villeneuve-la-Dondagre"
## [710] "Villeneuve-sur-Yonne"
## [711] "Villeperrot"
## [712] "Villeroy,_Yonne"
## [713] "Villers-Bocage,_Calvados"
## [714] "Villers-Canivet"
## [715] "Villers-sur-Mer"
## [716] "Villerville"
## [717] "Villiers-Louis"
## [718] "Villiers-sur-Tholon"
## [719] "Villiers-Vineux"
## [720] "Villon,_Yonne"
## [721] "Villons-les-Buissons"
## [722] "Villy-Bocage"
## [723] "Vimont,_Calvados"
## [724] "Vincelles,_Yonne"
## [725] "Vinneuf"
## [726] "Vireaux"
## [727] "Vouilly"
## [728] "WWE_Raw"
## [729] "WWE_SmackDown"
Las clases recurrentes que el paquete markovchain se refiere a aquellos estados a los cuales se puede regresar al partir de alguno de ellos.
print(recurrentes)
## [[1]]
## [1] "1813"
## [2] "1852"
## [3] "1891"
## [4] "1901"
## [5] "1917"
## [6] "1920"
## [7] "1925"
## [8] "1926"
## [9] "1930"
## [10] "1938"
## [11] "1940"
## [12] "1941"
## [13] "1943"
## [14] "1945"
## [15] "1953"
## [16] "1955"
## [17] "1956"
## [18] "1960"
## [19] "1961"
## [20] "1963"
## [21] "1964"
## [22] "1969"
## [23] "1970"
## [24] "1972"
## [25] "1973"
## [26] "1974"
## [27] "1975"
## [28] "1976"
## [29] "1977"
## [30] "1979"
## [31] "1980"
## [32] "1983"
## [33] "1985"
## [34] "1986"
## [35] "1987"
## [36] "1988"
## [37] "1989"
## [38] "1990"
## [39] "1991"
## [40] "1992"
## [41] "1993"
## [42] "1994"
## [43] "1995"
## [44] "1996"
## [45] "1997"
## [46] "1998"
## [47] "1998_FIFA_World_Cup"
## [48] "1999"
## [49] "1st_century"
## [50] "2000"
## [51] "2001"
## [52] "2002_FIFA_World_Cup"
## [53] "2004"
## [54] "2005"
## [55] "2006"
## [56] "2006_FIFA_World_Cup"
## [57] "2006_Formula_One_season"
## [58] "2007"
## [59] "2008"
## [60] "2008_Formula_One_season"
## [61] "2009"
## [62] "2009_Formula_One_season"
## [63] "2010"
## [64] "2010_FIFA_World_Cup"
## [65] "2011"
## [66] "2011_Formula_One_season"
## [67] "2012"
## [68] "2013"
## [69] "2014"
## [70] "2015"
## [71] "Abraham_Lincoln"
## [72] "Afghanistan"
## [73] "Africa"
## [74] "Alabama"
## [75] "Alain_Poher"
## [76] "Albert_Einstein"
## [77] "Alcide_De_Gasperi"
## [78] "Alec_Douglas-Home"
## [79] "Alessandro_Pertini"
## [80] "Alexei_Kosygin"
## [81] "Ambronay"
## [82] "Ambutrix"
## [83] "Anastas_Mikoyan"
## [84] "Anastasio_Somoza_Debayle"
## [85] "Anatoly_Dobrynin"
## [86] "Andert-et-Condon"
## [87] "Anglicanism"
## [88] "Antimony"
## [89] "Anwar_Sadat"
## [90] "April"
## [91] "Aranc"
## [92] "Arandas,_Ain"
## [93] "Arbent"
## [94] "Arbigny"
## [95] "Arboys-en-Bugey"
## [96] "Armenia"
## [97] "Ars-sur-Formans"
## [98] "Arsenic"
## [99] "Athens"
## [100] "August"
## [101] "August_10"
## [102] "August_11"
## [103] "August_12"
## [104] "August_13"
## [105] "August_14"
## [106] "August_15"
## [107] "August_16"
## [108] "August_17"
## [109] "August_18"
## [110] "August_19"
## [111] "August_20"
## [112] "August_21"
## [113] "August_22"
## [114] "August_23"
## [115] "August_24"
## [116] "August_25"
## [117] "August_26"
## [118] "August_27"
## [119] "August_28"
## [120] "August_29"
## [121] "August_30"
## [122] "August_31"
## [123] "Augusto_Pinochet"
## [124] "Australia"
## [125] "Australian_Grand_Prix"
## [126] "Austria"
## [127] "Austrian_Grand_Prix"
## [128] "Azerbaijan"
## [129] "B._J._Vorster"
## [130] "Babrak_Karmal"
## [131] "Bahamas"
## [132] "Bahrain"
## [133] "Balan,_Ain"
## [134] "Baltimore"
## [135] "Baneins"
## [136] "Bangladesh"
## [137] "Baptist"
## [138] "Barack_Obama"
## [139] "Beaupont"
## [140] "Belarus"
## [141] "Belize"
## [142] "Bellegarde-sur-Valserine"
## [143] "Belley"
## [144] "Belleydoux"
## [145] "Bellignat"
## [146] "Benigno_Aquino,_Jr."
## [147] "Berlin"
## [148] "Bermuda"
## [149] "Bettant"
## [150] "Bettino_Craxi"
## [151] "Bey,_Ain"
## [152] "Beynost"
## [153] "Bible"
## [154] "Biblical_canon"
## [155] "Billiat"
## [156] "Bird"
## [157] "Birieux"
## [158] "Biziat"
## [159] "Blyes"
## [160] "Bohas-Meyriat-Rignat"
## [161] "Boissey,_Ain"
## [162] "Bosnia_and_Herzegovina"
## [163] "Boston,_Massachusetts"
## [164] "Bouligneux"
## [165] "Bourg-en-Bresse"
## [166] "Bourg-Saint-Christophe"
## [167] "Boz,_Ain"
## [168] "Brazil_national_football_team"
## [169] "Brazilian_Grand_Prix"
## [170] "Brens,_Ain"
## [171] "Brian_Mulroney"
## [172] "Briord"
## [173] "Buellas"
## [174] "Calcium"
## [175] "Calvinism"
## [176] "Canada"
## [177] "Canadians"
## [178] "Cape_Coral,_Florida"
## [179] "Carbon"
## [180] "Carlos_Julio_Arosemena_Monroy"
## [181] "Caspar_Weinberger"
## [182] "Cerdon,_Ain"
## [183] "Certines"
## [184] "Chalamont"
## [185] "Chaleins"
## [186] "Challes-la-Montagne"
## [187] "Champagne-en-Valromey"
## [188] "Champfromier"
## [189] "Chaneins"
## [190] "Charles_de_Gaulle"
## [191] "Charnoz-sur-Ain"
## [192] "Chazey-Bons"
## [193] "Chazey-sur-Ain"
## [194] "Che_Guevara"
## [195] "Cheignieu-la-Balme"
## [196] "Chevillard,_Ain"
## [197] "Chevroux,_Ain"
## [198] "Chevry,_Ain"
## [199] "Chicago"
## [200] "Chicago,_Illinois"
## [201] "Christian_symbolism"
## [202] "Christian_tradition"
## [203] "Christianity"
## [204] "Civrieux"
## [205] "Cize,_Ain"
## [206] "Clement_Attlee"
## [207] "Cleyzieu"
## [208] "Cold_War"
## [209] "Coligny,_Ain"
## [210] "Collonges,_Ain"
## [211] "Communes_of_the_Ain_department"
## [212] "Computer"
## [213] "Condeissiat"
## [214] "Conzieu"
## [215] "Copper"
## [216] "Coral_Springs,_Florida"
## [217] "Corazon_Aquino"
## [218] "Corbonod"
## [219] "Corlier"
## [220] "Cormaranche-en-Bugey"
## [221] "Cosworth"
## [222] "Country_code_top-level_domain"
## [223] "Courtes"
## [224] "Cras-sur-Reyssouze"
## [225] "Cressin-Rochefort"
## [226] "Croatia"
## [227] "Crottet"
## [228] "Crozet,_Ain"
## [229] "Culoz"
## [230] "Curciat-Dongalon"
## [231] "Curtafond"
## [232] "Cuzieu,_Ain"
## [233] "Czech_Republic"
## [234] "Dagneux"
## [235] "David_Lange"
## [236] "Day"
## [237] "Daytona_Beach,_Florida"
## [238] "Dean_Acheson"
## [239] "December_1"
## [240] "December_2"
## [241] "December_3"
## [242] "December_4"
## [243] "December_5"
## [244] "December_6"
## [245] "December_7"
## [246] "December_8"
## [247] "December_9"
## [248] "Deng_Xiaoping"
## [249] "Denis_Sassou_Nguesso"
## [250] "Denmark"
## [251] "Divonne-les-Bains"
## [252] "Dompierre-sur-Chalaronne"
## [253] "Dompierre-sur-Veyle"
## [254] "Dortan"
## [255] "Douvres"
## [256] "Druillat"
## [257] "Eduard_Shevardnadze"
## [258] "Edward_Gierek"
## [259] "Egypt"
## [260] "Elizabeth_II"
## [261] "England"
## [262] "England_national_football_team"
## [263] "Enrico_Berlinguer"
## [264] "Erich_Honecker"
## [265] "Ernest_Bevin"
## [266] "Estonia"
## [267] "Europe"
## [268] "European_Union"
## [269] "Evolution"
## [270] "Faramans,_Ain"
## [271] "Fareins"
## [272] "Farges"
## [273] "February"
## [274] "February_10"
## [275] "February_11"
## [276] "February_12"
## [277] "February_13"
## [278] "February_14"
## [279] "February_15"
## [280] "February_16"
## [281] "February_17"
## [282] "February_18"
## [283] "February_19"
## [284] "February_20"
## [285] "February_21"
## [286] "February_22"
## [287] "February_23"
## [288] "February_24"
## [289] "February_25"
## [290] "February_26"
## [291] "February_27"
## [292] "February_28"
## [293] "Federal_government_of_the_United_States"
## [294] "Feillens"
## [295] "Ferdinand_Marcos"
## [296] "Ferney-Voltaire"
## [297] "Fidel_Castro"
## [298] "Fidel_V._Ramos"
## [299] "FIFA_World_Cup"
## [300] "Flaxieu"
## [301] "Foissiat"
## [302] "Fort_Lauderdale,_Florida"
## [303] "France"
## [304] "Francesco_Cossiga"
## [305] "Francheleins"
## [306] "Francis_Gary_Powers"
## [307] "Francisco_Franco"
## [308] "Frans,_Ain"
## [309] "French_Grand_Prix"
## [310] "Fulgencio_Batista"
## [311] "Gaafar_Nimeiry"
## [312] "Garnerans"
## [313] "Genetics"
## [314] "Genouilleux"
## [315] "George_H._W._Bush"
## [316] "George_Marshall"
## [317] "George_P._Shultz"
## [318] "Georges_Pompidou"
## [319] "Gerald_Ford"
## [320] "German_Grand_Prix"
## [321] "Germany"
## [322] "Gex,_Ain"
## [323] "Giron,_France"
## [324] "Giulio_Andreotti"
## [325] "Golda_Meir"
## [326] "Gough_Whitlam"
## [327] "Gregorio_Honasan"
## [328] "Groissiat"
## [329] "Guitarist"
## [330] "Hafez_al-Assad"
## [331] "Hafizullah_Amin"
## [332] "Haiti"
## [333] "Harold_Macmillan"
## [334] "Haut-Valromey"
## [335] "Helium"
## [336] "Helmut_Kohl"
## [337] "Helmut_Schmidt"
## [338] "Hendrik_Verwoerd"
## [339] "Henry_Cabot_Lodge,_Jr."
## [340] "Henry_Kissinger"
## [341] "Hillary_Clinton"
## [342] "Hinduism"
## [343] "Hirohito"
## [344] "Ho_Chi_Minh"
## [345] "Hollywood,_Florida"
## [346] "Hu_Yaobang"
## [347] "Hua_Guofeng"
## [348] "Human"
## [349] "Hun_Sen"
## [350] "Hungary"
## [351] "Hydrogen"
## [352] "Ian_Smith"
## [353] "Iceland"
## [354] "Imelda_Marcos"
## [355] "India"
## [356] "Indiana"
## [357] "Indira_Gandhi"
## [358] "Insect"
## [359] "Iodine"
## [360] "Iran"
## [361] "Iron"
## [362] "Islam"
## [363] "Isle_of_Man"
## [364] "ISO_4217"
## [365] "Israel"
## [366] "Italian_Grand_Prix"
## [367] "Italy"
## [368] "Ivan_Pavlov"
## [369] "Jamaica"
## [370] "James_Callaghan"
## [371] "James_D._Watson"
## [372] "January"
## [373] "January_1"
## [374] "January_10"
## [375] "January_11"
## [376] "January_12"
## [377] "January_13"
## [378] "January_14"
## [379] "January_15"
## [380] "January_16"
## [381] "January_17"
## [382] "January_18"
## [383] "January_19"
## [384] "January_2"
## [385] "January_20"
## [386] "January_21"
## [387] "January_22"
## [388] "January_23"
## [389] "January_24"
## [390] "January_25"
## [391] "January_26"
## [392] "January_27"
## [393] "January_28"
## [394] "January_29"
## [395] "January_3"
## [396] "January_30"
## [397] "January_31"
## [398] "January_4"
## [399] "January_5"
## [400] "January_6"
## [401] "January_7"
## [402] "January_8"
## [403] "January_9"
## [404] "Japanese_Grand_Prix"
## [405] "Jassans-Riottier"
## [406] "Jasseron"
## [407] "Jayat"
## [408] "Jehovah's_Witnesses"
## [409] "Jesus_Christ"
## [410] "Jimmy_Carter"
## [411] "Joe_Clark"
## [412] "John_Diefenbaker"
## [413] "John_F._Kennedy"
## [414] "John_Foster_Dulles"
## [415] "Jonas_Savimbi"
## [416] "Jorge_Rafael_Videla"
## [417] "Joshua_Nkomo"
## [418] "Joyeux"
## [419] "Juan_Carlos_I_of_Spain"
## [420] "Juan_Ponce_Enrile"
## [421] "Jujurieux"
## [422] "July"
## [423] "July_10"
## [424] "July_11"
## [425] "July_12"
## [426] "July_13"
## [427] "July_14"
## [428] "July_15"
## [429] "July_16"
## [430] "July_17"
## [431] "July_18"
## [432] "July_19"
## [433] "July_20"
## [434] "July_21"
## [435] "July_22"
## [436] "July_23"
## [437] "July_24"
## [438] "July_25"
## [439] "July_26"
## [440] "July_27"
## [441] "July_28"
## [442] "July_29"
## [443] "July_30"
## [444] "July_31"
## [445] "June_1"
## [446] "June_2"
## [447] "June_3"
## [448] "June_4"
## [449] "June_5"
## [450] "June_6"
## [451] "June_7"
## [452] "June_8"
## [453] "June_9"
## [454] "Kansas"
## [455] "Kazakhstan"
## [456] "Keith_Holyoake"
## [457] "Kim_Il-sung"
## [458] "Kim_Philby"
## [459] "Konrad_Adenauer"
## [460] "Konstantin_Chernenko"
## [461] "La_Boisse"
## [462] "La_Burbanche"
## [463] "Labalme"
## [464] "Lagnieu"
## [465] "Laiz"
## [466] "Lancrans"
## [467] "Lavours"
## [468] "Le_Poizat-Lalleyriat"
## [469] "Lead"
## [470] "Lent,_Ain"
## [471] "Leopoldo_Galtieri"
## [472] "Lescheroux"
## [473] "Lester_B._Pearson"
## [474] "Leyssard"
## [475] "List_of_countries"
## [476] "List_of_countries_and_dependencies_by_area"
## [477] "List_of_countries_by_Human_Development_Index"
## [478] "List_of_popes"
## [479] "List_of_sovereign_states"
## [480] "List_of_sovereign_states_and_dependent_territories_by_population_density"
## [481] "List_of_years"
## [482] "Lithium"
## [483] "Little_Rock,_Arkansas"
## [484] "Liverpool_F.C."
## [485] "Lompnas"
## [486] "Lon_Nol"
## [487] "London"
## [488] "London,_England"
## [489] "Louis_St._Laurent"
## [490] "Loyettes"
## [491] "Luis_Carrero_Blanco"
## [492] "Lurcy"
## [493] "Luxembourg"
## [494] "Lyndon_B._Johnson"
## [495] "Madrid"
## [496] "Magnieu"
## [497] "Maillat"
## [498] "Malafretaz"
## [499] "Malaysian_Grand_Prix"
## [500] "Malta"
## [501] "Manchester"
## [502] "Manchester_United_F.C."
## [503] "Mantenay-Montlin"
## [504] "Manuel_Noriega"
## [505] "Manziat"
## [506] "Mao_Zedong"
## [507] "Marboz"
## [508] "March"
## [509] "March_1"
## [510] "March_11"
## [511] "March_12"
## [512] "March_13"
## [513] "March_14"
## [514] "March_15"
## [515] "March_16"
## [516] "March_17"
## [517] "March_18"
## [518] "March_19"
## [519] "March_2"
## [520] "March_3"
## [521] "March_4"
## [522] "March_5"
## [523] "March_6"
## [524] "March_7"
## [525] "March_8"
## [526] "March_9"
## [527] "Marchamp"
## [528] "Margaret_Thatcher"
## [529] "Marignieu"
## [530] "Marlieux"
## [531] "Mars"
## [532] "Marsonnas"
## [533] "Martin_Luther_King,_Jr."
## [534] "Martin_Van_Buren"
## [535] "Maryland"
## [536] "Massieux"
## [537] "Massignieu-de-Rives"
## [538] "Matafelon-Granges"
## [539] "May"
## [540] "May_1"
## [541] "May_2"
## [542] "May_3"
## [543] "May_4"
## [544] "May_5"
## [545] "May_6"
## [546] "May_7"
## [547] "May_8"
## [548] "May_9"
## [549] "Meillonnas"
## [550] "Menachem_Begin"
## [551] "Mengistu_Haile_Mariam"
## [552] "Mercury_(element)"
## [553] "Metal"
## [554] "Miami"
## [555] "Miami,_Florida"
## [556] "Miami_Gardens,_Florida"
## [557] "Michael_Jackson"
## [558] "Michael_Schumacher"
## [559] "Michel_Aflaq"
## [560] "Mijoux"
## [561] "Milton_Obote"
## [562] "Mionnay"
## [563] "Missouri"
## [564] "Mogneneins"
## [565] "Mohammad_Mosaddegh"
## [566] "Mohammad_Reza_Pahlavi"
## [567] "Monaco_Grand_Prix"
## [568] "Montagnat"
## [569] "Montagnieu,_Ain"
## [570] "Montcet"
## [571] "Montgomery,_Alabama"
## [572] "Monthieux"
## [573] "Montluel"
## [574] "Montracol"
## [575] "Montrevel-en-Bresse"
## [576] "Morocco"
## [577] "Moscow"
## [578] "Moulins,_Allier"
## [579] "Muammar_Gaddafi"
## [580] "Muhammad_Zia-ul-Haq"
## [581] "Muslim"
## [582] "Nantua"
## [583] "Ne_Win"
## [584] "Nelson_Mandela"
## [585] "Neon"
## [586] "Netherlands"
## [587] "Neuville-les-Dames"
## [588] "Neuville-sur-Ain"
## [589] "New_York_City"
## [590] "Nguyen_Van_Thieu"
## [591] "Nikita_Khrushchev"
## [592] "Nikolai_Ryzhkov"
## [593] "Nitrogen"
## [594] "Nivollet-Montgriffon"
## [595] "Nobel_Peace_Prize"
## [596] "Nobel_Prize_in_Literature"
## [597] "Nobel_Prize_in_Physiology_or_Medicine"
## [598] "Nobusuke_Kishi"
## [599] "Norway"
## [600] "November_1"
## [601] "November_2"
## [602] "November_3"
## [603] "November_4"
## [604] "November_5"
## [605] "November_6"
## [606] "November_7"
## [607] "November_8"
## [608] "November_9"
## [609] "Nur_Misuari"
## [610] "Nur_Muhammad_Taraki"
## [611] "Nurieux-Volognat"
## [612] "October"
## [613] "October_1"
## [614] "October_2"
## [615] "October_3"
## [616] "October_4"
## [617] "October_5"
## [618] "October_6"
## [619] "October_7"
## [620] "October_8"
## [621] "October_9"
## [622] "Old_Testament"
## [623] "Olof_Palme"
## [624] "Omar_Torrijos"
## [625] "Oncieu"
## [626] "Orlando,_Florida"
## [627] "Ornex"
## [628] "Otelo_Saraiva_de_Carvalho"
## [629] "Outriaz"
## [630] "Oxygen"
## [631] "Oyonnax"
## [632] "Pakistan"
## [633] "Palm_Bay,_Florida"
## [634] "Parcieux"
## [635] "Paris"
## [636] "Park_Chung-hee"
## [637] "Parves-et-Nattages"
## [638] "Patrice_Lumumba"
## [639] "Pembroke_Pines,_Florida"
## [640] "People's_Republic_of_China"
## [641] "Peyriat"
## [642] "Peyrieu"
## [643] "Pizay"
## [644] "Plagne,_Ain"
## [645] "Poland"
## [646] "Polliat"
## [647] "Pollieu"
## [648] "Pompano_Beach,_Florida"
## [649] "Poncin"
## [650] "Pont-d'Ain"
## [651] "Pont-de-Vaux"
## [652] "Pont-de-Veyle"
## [653] "Pope"
## [654] "Pope_Benedict_IX"
## [655] "Pope_Benedict_VI"
## [656] "Pope_Boniface_IX"
## [657] "Pope_Clement_VI"
## [658] "Pope_Francis"
## [659] "Pope_Innocent_III"
## [660] "Pope_Innocent_VII"
## [661] "Pope_John_Paul_I"
## [662] "Pope_John_Paul_II"
## [663] "Pope_John_XII"
## [664] "Pope_Leo_VII"
## [665] "Pope_Leo_X"
## [666] "Pope_Marinus_II"
## [667] "Pope_Stephen_VIII"
## [668] "Port_St._Lucie,_Florida"
## [669] "Pougny,_Ain"
## [670] "Pouillat"
## [671] "Priay"
## [672] "Prime_Minister_of_Canada"
## [673] "Pugieu"
## [674] "Qatar"
## [675] "Ramasse"
## [676] "Relevant,_Ain"
## [677] "Renaissance"
## [678] "Republic_of_Cyprus"
## [679] "Reyrieux"
## [680] "Reyssouze"
## [681] "Richard_Nixon"
## [682] "Rignieux-le-Franc"
## [683] "Robert_F._Kennedy"
## [684] "Robert_McNamara"
## [685] "Robert_Menzies"
## [686] "Robert_Mugabe"
## [687] "Rodrigo_Borja_Cevallos"
## [688] "Romania"
## [689] "Romans,_Ain"
## [690] "Rossillon"
## [691] "Ruhollah_Khomeini"
## [692] "Russia"
## [693] "Russians"
## [694] "Saddam_Hussein"
## [695] "Saint-Alban,_Ain"
## [696] "Saint-Bernard,_Ain"
## [697] "Saint-Champ"
## [698] "Saint-Cyr-sur-Menthon"
## [699] "Saint-Denis-en-Bugey"
## [700] "Saint-Didier-d'Aussiat"
## [701] "Saint-Didier-sur-Chalaronne"
## [702] "Saint-Genis-sur-Menthon"
## [703] "Saint-Georges-sur-Renon"
## [704] "Saint-Germain-de-Joux"
## [705] "Saint-Germain-sur-Renon"
## [706] "Saint-Jean-de-Niost"
## [707] "Saint-Jean-de-Thurigneux"
## [708] "Saint-Jean-le-Vieux,_Ain"
## [709] "Saint-Jean-sur-Reyssouze"
## [710] "Saint-Jean-sur-Veyle"
## [711] "Saint-Julien-sur-Reyssouze"
## [712] "Saint-Just,_Ain"
## [713] "Saint-Marcel,_Ain"
## [714] "Saint-Martin-de-Bavel"
## [715] "Saint-Maurice-de-Gourdans"
## [716] "Saint-Rambert-en-Bugey"
## [717] "Saint-Sorlin-en-Bugey"
## [718] "Saint-Trivier-de-Courtes"
## [719] "Saint-Trivier-sur-Moignans"
## [720] "Saint_Kitts_and_Nevis"
## [721] "Saint_Peter"
## [722] "Sainte-Croix,_Ain"
## [723] "Sainte-Olive"
## [724] "Salavre"
## [725] "Salgueiro_Maia"
## [726] "Salvador_Allende"
## [727] "San_Marino_Grand_Prix"
## [728] "Sandrans"
## [729] "Saturn_(planet)"
## [730] "Sauverny"
## [731] "Savigneux,_Ain"
## [732] "Scotland"
## [733] "Scuderia_Ferrari"
## [734] "Sebastian_Vettel"
## [735] "Seillonnaz"
## [736] "Selena"
## [737] "September"
## [738] "September_1"
## [739] "September_10"
## [740] "September_11"
## [741] "September_12"
## [742] "September_13"
## [743] "September_14"
## [744] "September_15"
## [745] "September_16"
## [746] "September_17"
## [747] "September_18"
## [748] "September_19"
## [749] "September_2"
## [750] "September_20"
## [751] "September_21"
## [752] "September_22"
## [753] "September_23"
## [754] "September_24"
## [755] "September_25"
## [756] "September_26"
## [757] "September_27"
## [758] "September_28"
## [759] "September_29"
## [760] "September_3"
## [761] "September_30"
## [762] "September_4"
## [763] "September_5"
## [764] "September_6"
## [765] "September_7"
## [766] "September_8"
## [767] "September_9"
## [768] "Sergy,_Ain"
## [769] "Servignat"
## [770] "Seyssel,_Ain"
## [771] "Siad_Barre"
## [772] "Singapore"
## [773] "Slovakia"
## [774] "Sodium"
## [775] "Solar_System"
## [776] "Sonthonnax-la-Montagne"
## [777] "Souclin"
## [778] "South_Africa"
## [779] "Soviet_Union"
## [780] "Spain"
## [781] "Spanish_Grand_Prix"
## [782] "Suicide"
## [783] "Sukarno"
## [784] "Sulfur"
## [785] "Sulignat"
## [786] "Summer_Olympic_Games"
## [787] "Sunrise,_Florida"
## [788] "Surjoux"
## [789] "Sutrieu"
## [790] "Switzerland"
## [791] "Syngman_Rhee"
## [792] "Syria"
## [793] "Takeo_Fukuda"
## [794] "Talissieu"
## [795] "The_Bahamas"
## [796] "Thil,_Ain"
## [797] "Thoissey"
## [798] "Thomas_Jefferson"
## [799] "Tin"
## [800] "Torcieu"
## [801] "Tossiat"
## [802] "Toussieux"
## [803] "Trinity"
## [804] "Turkey"
## [805] "U.S."
## [806] "U_Nu"
## [807] "U_Thant"
## [808] "UK"
## [809] "Ukraine"
## [810] "United_States"
## [811] "United_States_Grand_Prix"
## [812] "United_States_of_America"
## [813] "United_States_Secretary_of_the_Treasury"
## [814] "Universe"
## [815] "University_of_Cambridge"
## [816] "Uranium"
## [817] "Urho_Kekkonen"
## [818] "US"
## [819] "USA"
## [820] "Val-Revermont"
## [821] "Varambon"
## [822] "Vaucluse"
## [823] "Vaux-en-Bugey"
## [824] "Verjon"
## [825] "Vernoux"
## [826] "Versailleux"
## [827] "Versonnex,_Ain"
## [828] "Vesancy"
## [829] "Vieu-d'Izenave"
## [830] "Villebois"
## [831] "Villemotier"
## [832] "Villereversure"
## [833] "Villes"
## [834] "Villette-sur-Ain"
## [835] "Viriat"
## [836] "Virieu-le-Grand"
## [837] "Virieu-le-Petit"
## [838] "Virignin"
## [839] "Vladimir_Ivashko"
## [840] "Vongnes"
## [841] "Vyacheslav_Molotov"
## [842] "Walter_Ulbricht"
## [843] "Washington,_DC"
## [844] "West_Palm_Beach,_Florida"
## [845] "William_Lyon_Mackenzie_King"
## [846] "Willy_Brandt"
## [847] "Wojciech_Jaruzelski"
## [848] "World_War_II"
## [849] "Yasuhiro_Nakasone"
## [850] "YouTube"
## [851] "Yuri_Andropov"
## [852] "Zhou_Enlai"
##
## [[2]]
## [1] "ISO_639-2"
##
## [[3]]
## [1] "List_of_Stanley_Cup_champions"
##
## [[4]]
## [1] "Prefectures_of_Japan"
Los juegos de Wikipedia consisten en partir desde algún artículo (determinado al azar, o elegido por un oponente) y a partir de este llegar a un artículo en específico (se suele usar el artículo de Adolf Hitler, que quedó excluído de nuestro subset). El objetivo original del proyecto era resolver algunos juegos de Wikipedia ya existentes (llegar a Hitler, llegar a Filosofía usando solo el primer link, etc.) pero debido a la seleccion del subset esto no es posible.
Si se amplía el subset para incluir estos artículos el tiempo computacional se vuelve demasiado alto, entonces se plantean otros juegos o resultados curiosos.
Existen en cambio, en el paquete markovchain, otras funciones útiles. Con firstPassage podemos determinar hacia donde se puede llegar a partir de un artículo, en cierta cantidad de pasos. A continuación la tabla para el artículo Human, con tres pasos.
Después de tres pasos, la mayor probabilidad es que de Human se llegue a Oxygen. Si solo se realizaba un paso, la mayor probabilidad era llegar a Africa.
humans <- firstPassage(mc, "Human", 3)
maxVal <- 0
maxInd <- 0
for (i in 1:ncol(humans)) {
if (humans[3,i] > maxVal) {
maxVal <- humans[3,i]
maxInd <- i
}
}
colnames(humans)[maxInd]
## [1] "Oxygen"
maxVal <- 0
maxInd <- 0
for (i in 1:ncol(humans)) {
if (humans[1,i] > maxVal) {
maxVal <- humans[1,i]
maxInd <- i
}
}
colnames(humans)[maxInd]
## [1] "Africa"
Si partimos de Hydrogen, tras tres pasos probablemente nos encontraremos aun en Hydrogen, a partir del paso cuatro y por varios pasos más nos encontraremos en Uranium.
hydrogen <- firstPassage(mc, "Hydrogen", 5)
maxVal <- 0
maxInd <- 0
for (i in 1:ncol(hydrogen)) {
if (hydrogen[3,i] > maxVal) {
maxVal <- hydrogen[3,i]
maxInd <- i
}
}
colnames(hydrogen)[maxInd]
## [1] "Hydrogen"
maxVal <- 0
maxInd <- 0
for (i in 1:ncol(hydrogen)) {
if (hydrogen[1,i] > maxVal) {
maxVal <- hydrogen[5,i]
maxInd <- i
}
}
colnames(hydrogen)[maxInd]
## [1] "Uranium"
Si comenzamos en January_1, tanto el paso tres como el cinco (y muchos otros pasos cercanos) nos llevan a United_States
january <- firstPassage(mc, "January_1", 5)
maxVal <- 0
maxInd <- 0
for (i in 1:ncol(january)) {
if (january[3,i] > maxVal) {
maxVal <- january[3,i]
maxInd <- i
}
}
colnames(january)[maxInd]
## [1] "United_States"
maxVal <- 0
maxInd <- 0
for (i in 1:ncol(january)) {
if (january[1,i] > maxVal) {
maxVal <- january[5,i]
maxInd <- i
}
}
colnames(january)[maxInd]
## [1] "United_States"