Referència circular
From Wikipedia, the free encyclopedia
Remove ads
Una referència circular consta d'una sèrie de referències on l’últim objecte fa referència al primer, donant lloc a un bucle tancat. El concepte matemàtic subjacent és un cicle de teoria de grafs.
![]() |
No s'ha de confondre amb Informe circular o Raonament circular. |

Explicació
Si definim com , el fet que A fa referència a B. Sí plantegem: , llavors tenim una referència circular, atès que hem definit: , que implica per transitivitat . Aquesta situació planteja un problema ja significa que no es pot tenir A sense conèixer A.
Remove ads
Fal·làcia de referència circular
La Fal·làcia de referència circular ha tingut lloc en moltes ocasions al llarg de la història. Isla Catalana és una petita illa en territori de Mèxic al Golf de Califòrnia enfront de les costes de l'estat de Baixa Califòrnia Sud. L'illa està situada al sud del Golf de Califòrnia i es troba a 25 km de la península de Baixa Califòrnia. Originalment es deia Isla Catalana,[1][2] però a un cert moment (per error o per mala fe) als arxius dels EUA apareix com Isla Catalina,[3][4] a partir de llavors, totes les referències que han mirat els arxius dels EUA li han dit Isla Catalina, aquestes referències s'han convertit en circulars ja que es citen les unes a les altres, i de fet, a Google Maps encara apareix amb aquest nom.[4] Sortosament les autoritats mexicanes han fet prevaldre el nom original i el nom oficial a Mèxic és l'original Isla Catalana.[5][6]
En el llenguatge
No s’ha de confondre una referència circular amb la fal·làcia lògica d’una argumentació circular. Tot i que sovint una referència circular no és útil i no revela cap informació, no és necessàriament així, com ara dues entrades d’un índex d'un llibre que es refereixen entre si, hi ha casos en que una referència circular és util:
- El seu germà li va donar un gatet; la seva germana li va donar les gràcies.
De fet, es pot argumentar que l’autoreferència és una conseqüència necessària de la Llei de no contradicció d’Aristòtil, que és un axioma filosòfic fonamental. Segons aquest principi, sense autoreferències, la lògica i les matemàtiques esdevenen impossibles o, com a mínim, manquen d’utilitat.[7]
En el comerç
De vegades, una xarxa comercial planificada incorrectament pot conduir a una referència circular. Per exemple:
L’Alícia ha de tornar la seva rentadora, és defectuosa i necessita que l'arreglin. Truca a l'empresa i rep instruccions d'en Bob del "Servei d'atenció al client" de que ho sol·liciti a la Carol de "Devolucions i canvis". La Carol, al seu torn li diu a l’Alícia que ho demani al David de "Reclamacions". I en David li diu a l’Alícia que li demani a en Bob del "Servei d'atenció al client", amb el que es crea un cercle viciós. Un cas
Tot el conjunt de referències és inútil perquè cap d’elles pot satisfer la sol·licitud de l’Alicia ; l'Alicia segueix un bucle complet, on cada referència la condueix a una altra persona i, finalment, se la torna a enviar a la primera persona.
Remove ads
En programació informàtica
Les referències circulars poden aparèixer en la programació d’ordinadors quan un fragment de codi requereix el resultat d’un altre, però aquest codi necessita el resultat del primer. Per exemple, les dues funcions, "posn" i "plus1" del programa Python següent, inclouen una referència circular:
def posn(k: int) -> int:
if k < 0:
return plus1(k)
return k
def plus1(n: int) -> int:
return posn(n + 1)
>>> posn(-1)
0
Les referències circulars com l'exemple anterior poden retornar resultats vàlids si tenen una condició final. Si no hi ha cap condició final, una referència circular condueix a una condició coneguda com interbloqueig.
A la norma ISO, les restriccions d’integritat circular SQL s’admeten implícitament dins d’una sola taula. Entre múltiples taules, es permeten restriccions circulars (per exemple, claus externes) definint les restriccions com a diferibles (vegeu CREAR TABLA per a PostgreSQL i Exemples de restriccions DEFERRABLE per a Oracle). En aquest cas, la restricció es comprova al final de la transacció no en el moment en què s'executa la sentència DML. Per actualitzar una referència circular, es poden emetre dues declaracions en una única transacció que satisfaci ambdues referències un cop s'hagi compromès la transacció.
Remove ads
En fulls de càlcul
Les referències circulars també es produeixen en els fulls de càlcul quan dues cel·les requereixen el resultat de l’altra. Per exemple, si el valor de la cel·la A1 s’obté afegint 5 al valor de la cel·la B1 i el valor de la cel·la B1 s’obté afegint 3 al valor de la cel·la A1, no es poden calcular valors. (Fins i tot si les especificacions són A1: = B1 + 5 i B1: = A1-5, encara hi ha una referència circular. No ajuda que, per exemple, A1 = 3 i B1 = -2 satisfacin ambdues fórmules, ja que hi ha infinitament molts altres valors possibles d’A1 i B1 que poden satisfer ambdues instàncies.)
La referència circular en els fulls de càlcul pot ser una tècnica molt útil per resoldre equacions implícites com l'equació de Colebrook i algunes altres, que d'una altra manera podrien requerir tediosos algorismes de Newton-Raphson en VBA o l'ús de macros.[8]
Cal distingir els processos que contenen una referència circular entre els que són incompatibles i els que són un càlcul iteratiu amb un resultat final. És possible que aquests últims fallin en fulls de càlcul no preparats per gestionar-los, però, no obstant això, són lògicament vàlids.[7]
Casos particulars
- Causalitat: com influeix un procés en un altre
- Informes circulars: un problema en què una font obté informació d'algun lloc, que després utilitza aquesta font com a referència
- Problema d’aturada: problema de determinar si un programa determinat s’acabarà d’executar o continuarà per sempre més.
- Funció imbricada
- Quine_ (informàtica): programa autoreplicable
- Argument de regressió: un problema de l'epistemologia que permet proposar una proposició infinita a qualsevol proposició
- Autoreferència: frase, idea o fórmula que es refereix a si mateixa
- There's a Hole in My Bucket – cançó infantil
Remove ads
Referències
Vegeu també
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads