Consulta Comandos Varios - TP3

67 views
Skip to first unread message

Arturo Aguilar Lopez

unread,
Aug 12, 2020, 4:11:03 PM8/12/20
to fiuba-75...@googlegroups.com
Hola, como están? Tengo un par de consultar de las pruebas de algunos comandos del tp3. No se si debería publicar por cada comando por separado, si es así, háganmelo saber por favor.

-)Comando ciclo n:
 Si la pagina que me pasan por parámetro no existe en mi grafo, qué debería devolver?
  Prueba 4-Error: Se esperaba que no se encuentre camino
        Comandos de la prueba:
                ciclo complejidad computacional,4

Actualmente si no pertenece el vértice devuelvo que no se encontró el recorrido, debería devolver directamente None?

-) Comando lectura:
Acá me pasa algo similar, no todas las paginas que me pasan por parámetro pertenecen a mi grafo. Probé con las paginas de prueba que prueba el corrector y hay algunas que no pertenecen, a modo de probar, puse que si alguna página no pertenece al grafo que siga normal y esa pagina que no pertenece la pone en la solución total no tiene ningún orden de lectura. Como debería validar? 
     Prueba 1 - Error: La cantidad de artículos de la lectura no coincide con las que se quieren leer -Comandos de la prueba:
  lectura Eduardo VI de Inglaterra,siglo XV,Inglaterra,Polonia,París,Milán,España

Aca, por ejemplo. 'Eduardo VI de Inglaterra' no pertenece a mi grafo. La prueba 3 de lectura la pasa sin problema. Una cosa más, probando los ejemplos de la explicación del tp, noté que la prueba de las muchas paginas, no me devuelve el mismo orden como está ahi en el tp, no sé si esto tendrá que ver. Pero supongo que puede existir un orden distinto en la devolución de este comando. Ejemplo:
lectura Hockey sobre hielo ,Roma,Japón,árbol,Guerra,Dios,universo,Himalaya,otoño 
obtengo: 
Hockey sobre hielo -> árbol -> universo -> Himalaya -> otoño -> Guerra -> Dios -> Japón -> Roma

-)Comando Clustering:
Acá hay algo que me llama mucho la atención, tengo algunas pruebas que las pasa y otras no, las que me generan error, el resultado me difiere muy poco de lo que debería. No sé bien por qué sería. Según la descripción del tp en la explicación del calculo para clustering:
"Lo cual quiere decir: por cada par de adyacentes al vértice en cuestión, si existe la arista yendo de uno al otro (si además está la recíproca, lo contamos otra vez" yo entiendo que como bien dice, si existe la reciproca sumo en un contador uno más. Si lo hago de esa manera, no me coinciden los resultados con los de la página, pero, si saco la reciproca, es decir, no cuento en el contador si está la reciproca, si me coinciden con los de la pagina y ademas tengo los siguientes resultados de las pruebas, y por último, no entiendo que problema surje en la ultima prueba, la prueba 7 con The Beatles que aparece lo ultimo. 
Prueba 1 OK Prueba 2 OK Prueba 3 OK
        Prueba 4
        Error: Coeficiente erroneo. Esperado 0.153 obtenido 0.161
        Comandos de la prueba:
                clustering Luna
        Prueba 5 OK
        Prueba 6
        Error: Coeficiente erroneo. Esperado 0.068 obtenido 0.073
        Comandos de la prueba:
                clustering The Beatles
        Prueba 7
Traceback (most recent call last):
  File "pruebas.py", line 400, in <module>
    pruebas()
  File "pruebas.py", line 390, in pruebas
    if pruebas_comando():
  File "pruebas.py", line 297, in pruebas_clustering
    if not ejecutar_y_validar("pruebas/clustering/0" + str(prueba + 1) + "_in", SET_PEQ, validar_coeficiente):
  File "pruebas.py", line 45, in ejecutar_y_validar
    expected = validacion(l.strip())
  File "pruebas.py", line 292, in validar_coeficiente
    obtenido = float(salida)
ValueError: could not convert string to float: 'No existe la pagina indicada en NetStats'
make: *** [Makefile:13: run] Error 1
make: Target 'all' not remade because of errors

Desde ya muchas gracias. Disculpen por la extensión del mail.
Saludos.

Martín Buchwald

unread,
Aug 12, 2020, 4:32:36 PM8/12/20
to fiuba-75...@googlegroups.com
El mié., 12 ago. 2020 a las 17:11, Arturo Aguilar Lopez (<aguilar...@gmail.com>) escribió:
Hola, como están? Tengo un par de consultar de las pruebas de algunos comandos del tp3. No se si debería publicar por cada comando por separado, si es así, háganmelo saber por favor.

-)Comando ciclo n:
 Si la pagina que me pasan por parámetro no existe en mi grafo, qué debería devolver?
  Prueba 4-Error: Se esperaba que no se encuentre camino
        Comandos de la prueba:
                ciclo complejidad computacional,4

Actualmente si no pertenece el vértice devuelvo que no se encontró el recorrido, debería devolver directamente None?

Lo que dice la prueba es que no deberían ser capaces de encontrar un ciclo de largo 4 empezando desde "complejidad computacional" (en nuestro set de datos).
 

-) Comando lectura:
Acá me pasa algo similar, no todas las paginas que me pasan por parámetro pertenecen a mi grafo. Probé con las paginas de prueba que prueba el corrector y hay algunas que no pertenecen, a modo de probar, puse que si alguna página no pertenece al grafo que siga normal y esa pagina que no pertenece la pone en la solución total no tiene ningún orden de lectura. Como debería validar? 
     Prueba 1 - Error: La cantidad de artículos de la lectura no coincide con las que se quieren leer -Comandos de la prueba:
  lectura Eduardo VI de Inglaterra,siglo XV,Inglaterra,Polonia,París,Milán,España

Aca, por ejemplo. 'Eduardo VI de Inglaterra' no pertenece a mi grafo.

Porque tenemos otros sets de datos. 
 
La prueba 3 de lectura la pasa sin problema. Una cosa más, probando los ejemplos de la explicación del tp, noté que la prueba de las muchas paginas, no me devuelve el mismo orden como está ahi en el tp, no sé si esto tendrá que ver. Pero supongo que puede existir un orden distinto en la devolución de este comando. Ejemplo:
lectura Hockey sobre hielo ,Roma,Japón,árbol,Guerra,Dios,universo,Himalaya,otoño 
obtengo: 
Hockey sobre hielo -> árbol -> universo -> Himalaya -> otoño -> Guerra -> Dios -> Japón -> Roma

No es necesario que muestre el mismo orden, mientras se trate de un orden válido. Nuestra prueba valida que lo que ustedes devuelvan contenga exactamente los artículos que pedimos que tenga, y que la lectura sea válida. 
 

-)Comando Clustering:
Acá hay algo que me llama mucho la atención, tengo algunas pruebas que las pasa y otras no, las que me generan error, el resultado me difiere muy poco de lo que debería. No sé bien por qué sería. Según la descripción del tp en la explicación del calculo para clustering:
"Lo cual quiere decir: por cada par de adyacentes al vértice en cuestión, si existe la arista yendo de uno al otro (si además está la recíproca, lo contamos otra vez" yo entiendo que como bien dice, si existe la reciproca sumo en un contador uno más. Si lo hago de esa manera, no me coinciden los resultados con los de la página, pero, si saco la reciproca, es decir, no cuento en el contador si está la reciproca, si me coinciden con los de la pagina y ademas tengo los siguientes resultados de las pruebas, y por último, no entiendo que problema surje en la ultima prueba, la prueba 7 con The Beatles que aparece lo ultimo. 
Prueba 1 OK Prueba 2 OK Prueba 3 OK
        Prueba 4
        Error: Coeficiente erroneo. Esperado 0.153 obtenido 0.161
        Comandos de la prueba:
                clustering Luna
        Prueba 5 OK
        Prueba 6
        Error: Coeficiente erroneo. Esperado 0.068 obtenido 0.073
        Comandos de la prueba:
                clustering The Beatles

Por una cuestión de representación numérica (puntero a Estructura/Organización del Computador) permitimos hasta un 5% de margen de error. Más allá de eso, deben estar cometiendo algún error al realizar el cálculo, tal vez no contando aquellos que tienen clustering 0. 
 
        Prueba 7
Traceback (most recent call last):
  File "pruebas.py", line 400, in <module>
    pruebas()
  File "pruebas.py", line 390, in pruebas
    if pruebas_comando():
  File "pruebas.py", line 297, in pruebas_clustering
    if not ejecutar_y_validar("pruebas/clustering/0" + str(prueba + 1) + "_in", SET_PEQ, validar_coeficiente):
  File "pruebas.py", line 45, in ejecutar_y_validar
    expected = validacion(l.strip())
  File "pruebas.py", line 292, in validar_coeficiente
    obtenido = float(salida)
ValueError: could not convert string to float: 'No existe la pagina indicada en NetStats'

Acá parece haber otro error, y creo que la prueba 7 era sin poner ningún artículo.
 
make: *** [Makefile:13: run] Error 1
make: Target 'all' not remade because of errors

Desde ya muchas gracias. Disculpen por la extensión del mail.
Saludos.

--
Cómo usar esta lista: https://tiny.cc/algo2-lista-doc
---
Has recibido este mensaje porque estás suscrito al grupo "fiuba-7541rw-alu" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a fiuba-7541rw-a...@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/fiuba-7541rw-alu/CAJS8r3g2gKYvC-wsn%3DsHk%2B6u0P6pf00iw38FJ5%2B594wKODpDuQ%40mail.gmail.com.

Arturo Aguilar Lopez

unread,
Aug 12, 2020, 6:02:08 PM8/12/20
to fiuba-75...@googlegroups.com
"Lo que dice la prueba es que no deberían ser capaces de encontrar un ciclo de largo 4 empezando desde "complejidad computacional" (en nuestro set de datos)."
Entiendo, pero entonces, sí está encontrando ese ciclo quiere decir que necesariamente tengo algo mal en la función?
"Por una cuestión de representación numérica (puntero a Estructura/Organización del Computador) permitimos hasta un 5% de margen de error. Más allá de eso, deben estar cometiendo algún error al realizar el cálculo, tal vez no contando aquellos que tienen clustering 0."
Cuando te referis a los que tienen clustering 0, eso te tiene en cuenta para el cálculo de la red, no? osea, cuando no me pasan ningun parametro, porque si bien entiendo lo de clustering, si un vértice tiene clustering 0 se imprime y listo. Digo, porque, si es así, que me falta hacer algo con esos ceros en el cálculo de la red, me sigue fallando esos dos cálculos de  Esperado 0.068 obtenido 0.073 y Esperado 0.153 obtenido 0.161, que en estos casos no haría falta tener en cuenta esos clustering que dan 0, esto es así o tengo mal la idea?

Martín Buchwald

unread,
Aug 12, 2020, 6:16:26 PM8/12/20
to fiuba-75...@googlegroups.com
El mié., 12 ago. 2020 a las 19:02, Arturo Aguilar Lopez (<aguilar...@gmail.com>) escribió:
"Lo que dice la prueba es que no deberían ser capaces de encontrar un ciclo de largo 4 empezando desde "complejidad computacional" (en nuestro set de datos)."
Entiendo, pero entonces, sí está encontrando ese ciclo quiere decir que necesariamente tengo algo mal en la función?

100% que si, porque no puede existir un ciclo de ese largo. Fijate que podés probar en el set grande, por ejemplo, con "granero del mundo" que no tiene adyacentes, así que no deberías poder encontrar ningún ciclo de ningún largo. 
 
"Por una cuestión de representación numérica (puntero a Estructura/Organización del Computador) permitimos hasta un 5% de margen de error. Más allá de eso, deben estar cometiendo algún error al realizar el cálculo, tal vez no contando aquellos que tienen clustering 0."
Cuando te referis a los que tienen clustering 0, eso te tiene en cuenta para el cálculo de la red, no? osea, cuando no me pasan ningun parametro, porque si bien entiendo lo de clustering, si un vértice tiene clustering 0 se imprime y listo. Digo, porque, si es así, que me falta hacer algo con esos ceros en el cálculo de la red, me sigue fallando esos dos cálculos de  Esperado 0.068 obtenido 0.073 y Esperado 0.153 obtenido 0.161, que en estos casos no haría falta tener en cuenta esos clustering que dan 0, esto es así o tengo mal la idea?

Si, me refería inicialmente al caso ese que no se pasen parámetros. De lo otro, desconozco así nomás que error podés estar haciendo. Siendo que te dió más grande, asegurate que no estar contando algún caso que un artículo se referencia a sí mismo (porque te va a aumentar el valor de clustering erróneamente). 
 

--
Cómo usar esta lista: https://tiny.cc/algo2-lista-doc
---
Has recibido este mensaje porque estás suscrito al grupo "fiuba-7541rw-alu" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a fiuba-7541rw-a...@googlegroups.com.

Arturo Aguilar Lopez

unread,
Aug 12, 2020, 9:13:13 PM8/12/20
to fiuba-75...@googlegroups.com
"Siendo que te dió más grande, asegurate que no estar contando algún caso que un artículo se referencia a sí mismo"
Efectivamente era eso, gracias Martin. 
Por otro lado, todavía no pude con cuando me pasan 'complejidad computacional'. No pude abrir el archivo grande, pero, ¿granero del mundo tendría 0 adyacentes y 'complejidad computacional' tambien? Porque estuve probando con paginas en el reducido de 75k y cualquier página de 0 adyacentes obviamente no se puede hacer ciclo. Pero me tiene confundido esto.

Por ultimo, por si a alguien le sirve, en el comando de lectura tenia un problema, primero que imprimía con '->' en vez de ','. Y por otro lado, dentro de la función que me hace lo pedido tenia un 'popleft()' y era 'pop()'.
Saludos.

Franco Lucchesi

unread,
Aug 14, 2020, 1:03:15 AM8/14/20
to fiuba-75...@googlegroups.com
Estoy teniendo el mismo problema con complejidad computacional, pero
mi pregunta no es que encuentra un ciclo, es que no se que se deberia
poner en pantalla si no encuentra ningun ciclo (el enunciado no aclara
que deberia decir)

Por ahora mi programa simplemente devuelve una linea en blanco, es correcto?
-Franco

On 8/12/20, Arturo Aguilar Lopez <aguilar...@gmail.com> wrote:
> "*Siendo que te dió más grande, asegurate que no estar contando algún caso
> que un artículo se referencia a sí mismo*"
> Efectivamente era eso, gracias Martin.
> Por otro lado, todavía no pude con cuando me pasan 'complejidad
> computacional'. No pude abrir el archivo grande, pero, ¿granero del mundo
> tendría 0 adyacentes y 'complejidad computacional' tambien? Porque estuve
> probando con paginas en el reducido de 75k y cualquier página de 0
> adyacentes obviamente no se puede hacer ciclo. Pero me tiene confundido
> esto.
>
> Por ultimo, por si a alguien le sirve, en el comando de lectura tenia un
> problema, primero que imprimía con '->' en vez de ','. Y por otro lado,
> dentro de la función que me hace lo pedido tenia un '*popleft()*' y era '
> *pop()*'.
> Saludos.
>
> El mié., 12 ago. 2020 a las 19:16, Martín Buchwald (<mbuc...@fi.uba.ar>)
> escribió:
>
>>
>>
>> El mié., 12 ago. 2020 a las 19:02, Arturo Aguilar Lopez (<
>> aguilar...@gmail.com>) escribió:
>>
>>> *"Lo que dice la prueba es que no deberían ser capaces de encontrar un
>>> ciclo de largo 4 empezando desde "complejidad computacional" (en nuestro
>>> set de datos)*."
>>> Entiendo, pero entonces, sí está encontrando ese ciclo quiere decir que
>>> necesariamente tengo algo mal en la función?
>>>
>>
>> 100% que si, porque no puede existir un ciclo de ese largo. Fijate que
>> podés probar en el set grande, por ejemplo, con "granero del mundo" que
>> no
>> tiene adyacentes, así que no deberías poder encontrar ningún ciclo de
>> ningún largo.
>>
>>
>>> *"Por una cuestión de representación numérica (puntero a
>>> Estructura/Organización del Computador) permitimos hasta un 5% de margen
>>> de
>>> error. Más allá de eso, deben estar cometiendo algún error al realizar
>>> el
>>> cálculo, tal vez no contando aquellos que tienen clustering 0.*"
>>> <https://groups.google.com/d/msgid/fiuba-7541rw-alu/CAJS8r3i_S2iqf11%3DX1S6_KSQhFLV-gA%2BN%2BwyzvNyogoY7h0CaA%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>> --
>> Cómo usar esta lista: https://tiny.cc/algo2-lista-doc
>> ---
>> Has recibido este mensaje porque estás suscrito al grupo
>> "fiuba-7541rw-alu" de Grupos de Google.
>> Para cancelar la suscripción a este grupo y dejar de recibir sus
>> mensajes,
>> envía un correo electrónico a
>> fiuba-7541rw-a...@googlegroups.com.
>> Para ver esta conversación en el sitio web, visita
>> https://groups.google.com/d/msgid/fiuba-7541rw-alu/CABHe%3D7%2BX3kCgOP10f6-V8We%3DoBoJAQ2mbNSey-Y5CfKQWG1XYg%40mail.gmail.com
>> <https://groups.google.com/d/msgid/fiuba-7541rw-alu/CABHe%3D7%2BX3kCgOP10f6-V8We%3DoBoJAQ2mbNSey-Y5CfKQWG1XYg%40mail.gmail.com?utm_medium=email&utm_source=footer>
>> .
>>
>
> --
> Cómo usar esta lista: https://tiny.cc/algo2-lista-doc
> ---
> Has recibido este mensaje porque estás suscrito al grupo "fiuba-7541rw-alu"
> de Grupos de Google.
> Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes,
> envía un correo electrónico a
> fiuba-7541rw-a...@googlegroups.com.
> Para ver este debate en la Web, visita
> https://groups.google.com/d/msgid/fiuba-7541rw-alu/CAJS8r3gCuL9UAZZmqw%3Dzt6BzKXsag%3Db8UBgD7NSLf6MnjoAh%2Bg%40mail.gmail.com.
>

Martín Buchwald

unread,
Aug 14, 2020, 10:08:48 AM8/14/20
to fiuba-75...@googlegroups.com
Hola,

Ahí ya dejé aclarado el caso de no encontrarse ciclo. Es lo mismo que no encontrar camino. 

Reply all
Reply to author
Forward
0 new messages