Model d'arbre de decisió
En complexitat computacional, el model d'arbre de decisió és el model de càlcul en el qual un algorisme es considera bàsicament un arbre de decisió, és a dir, una seqüència de consultes o proves que es fan de manera adaptativa, de manera que el resultat de les proves anteriors pot influir en les proves realitzades a continuació.[1]
Normalment, aquestes proves tenen un nombre reduït de resultats (com ara una pregunta sí-no) i es poden realitzar ràpidament (per exemple, amb un cost computacional unitari), de manera que la complexitat temporal en el pitjor dels casos d'un algorisme en el model d'arbre de decisions correspon a la profunditat de l'arbre de decisió corresponent. Aquesta noció de complexitat computacional d'un problema o algorisme en el model d'arbre de decisió s'anomena complexitat de l'arbre de decisió o complexitat de la consulta.[2]
Els models d'arbres de decisió són fonamentals per establir límits inferiors per a la teoria de la complexitat per a determinades classes de problemes computacionals i algorismes. S'han introduït diverses variants dels models d'arbre de decisió, depenent del model computacional i del tipus d'algorismes de consulta que es permeten realitzar.
Per exemple, s'utilitza un argument d'arbre de decisions per mostrar que una comparació els elements han de prendre comparacions. Per a classificacions de comparació, una consulta és una comparació de dos elements , amb dos resultats (suposant que cap element sigui igual): tampoc o . Les ordenacions de comparació es poden expressar com un arbre de decisió en aquest model, ja que aquests algorismes d'ordenació només realitzen aquest tipus de consultes.[3]
Arbres de comparació i límits inferiors per ordenar
[modifica]Sovint s'utilitzen arbres de decisió per entendre algorismes d'ordenació i altres problemes similars; això el van fer per primera vegada Ford i Johnson.[4]
Per exemple, molts algorismes d'ordenació són ordenacions de comparació, el que significa que només obtenen informació sobre una seqüència d'entrada mitjançant comparacions locals: provant si , , o . Suposant que els elements a ordenar són tots diferents i comparables, això es pot reformular com una pregunta de sí o no: és ?
Aquests algorismes es poden modelar com a arbres de decisió binaris, on les consultes són comparacions: un node intern correspon a una consulta, i els fills del node corresponen a la següent consulta quan la resposta a la pregunta és sí o no. Per als nodes fulla, la sortida correspon a una permutació que descriu com es va codificar la seqüència d'entrada de la llista d'elements totalment ordenada. (La inversa d'aquesta permutació, , reordena la seqüència d'entrada).
Referències
[modifica]- ↑ «What is a Decision Tree | IBM» (en anglès americà). https://www.ibm.com.+[Consulta: 21 agost 2023].
- ↑ «1.10. Decision Trees» (en anglès). https://scikit-learn.+[Consulta: 21 agost 2023].[Enllaç no actiu]
- ↑ Amer, Mustafa Adel. «Decision Tree Models using Python — Build, Visualize, Evaluate» (en anglès), 05-03-2022. [Consulta: 21 agost 2023].
- ↑ Ford, Lester R. Jr.; Johnson, Selmer M. The American Mathematical Monthly, 66, 5, 01-05-1959, pàg. 387–389. DOI: 10.1080/00029890.1959.11989306. ISSN: 0002-9890.