Awtura:
(1) David S. Hardin, Cedar Rapids, IA EE.UU. ([email protected]) ukat juk’ampinaka.
3 Rust ukax Programación ukan arst’atawa
4 RAC: Hardware/Software Co-Aseguramiento ukax Escala ukankiwa
5.1 Herrumbre Algorítmica Restringida ukaxa mä juk’a pachanakwa lurasi
6 Thuqt’awi Enlaces en Herrumbre ukatxa 6.1 Qhanancht’awinaka
6.3 Thuqt’awi Enlaces Teoremas ukanaka
9 Yuspajarawinaka ukat Referencias ukanaka
“Dancing Links” ukax mä optimización ukaruw uñt’ayi, mä circular doble enlazado lista de datos estructura de implementación ukaruw uñt’ayi ukax elemento de lista rápido uksa apsuñataki ukhamarak restauración ukaruw churaraki. Dancing Links optimización ukax nayraqatax algoritmos rápidos ukan apnaqatawa, chiqap tapanak jikxatañataki, ukatx Knuth jupax Volumen 4B ukan serie seminal The Art of Computer Programming ukan uñt’ayawayi. Jiwasax mä implementación de la optimización de Dancing Links ukax Rust programación arunx qhanañcht’apxtanwa, ukhamarak verificación formal ukax teorema ACL2 prover ukampiw lurasi. Rust ukax aka qhipa maranakanx wali jach’a ch’amanchawinak apthapiwayi, mä moderno, memoria-safe sucesor de C/C++ ukhama empresanakan Amazon, Google ukat Microsoft ukanakan, ukatx Linux ukat Windows sistema operativo ukan núcleos ukanakamp mayachatawa. Rust ukar munañasax mä hardware/software co-aseguramiento aru ukham ch’amanchatapatw juti, sistemas críticos ukar apnaqañamp. Mä subconjunto Rust lurapxta, Russinoff jupan Restricted Algorithmic C (RAC) ukan amuyt’ayata, ukax amuyt’awimpiw Restricted Algorithmic Rust, jan ukax RAR sutimp uñt’ayawaytanxa. Nayra lurawinakanx mä cadena de herramientas RAR ukan qallta phuqhawip uñt’ayawaytanwa, ukanx RAR phuqhat RAC ukar jasakiw transpilar. Ukham lurasax mä qawqha hardware/software co-aseguramiento ukan utjki uka herramientas ukanakaruw aprovechapxta, mä jisk’a qullqichasiwimpi ukhamarak ch’amampi. Aka qillqatanxa, RAR Rust subconjunto uksa tuqita qhanañcht’apxta, jiwasana suma prototipo RAR cadena de herramientas uksa tuqita qhananchapxarakta, ukatxa mä circular doble enlazada lista estructura de datos ukana diseño ukhamaraki verificación ukanaka uñakipapxarakta, ukaxa Dancing Links optimización ukana RAR ukana irnaqasa, phuqhata pruebas de correctividad funcional phuqhata apnaqasa ACL2 teorema ukax uñacht’ayi.
Uka chiqapa tapa jan walt’awi [17], ukaxa juk’ampi sapuru uñtatawa, yant’iwa jikxatañataki, mä matriz n × m ukampi elementos binarios ukampi, taqi subconjuntos de las filas de la matriz ukhamata taqi suma columna ukaxa chiqapa mä. Aka noción básica ukax naturalmente elementos matriz ukaruw jilxati, ukax mä rango numérico ukankiwa; chiqans, wali uñt’at rompecabezas anatäwix Sudoku ukax mä jach’a jach’a tukuñ exacto tapa jan walt’awiwa mä matriz 9× 9 ukatakix elementos valores ukanakax 1 ukat 9 ukjakamawa, ukampirus.
Chiqpach tapa jan walt’awix NP-completo ukhamawa, ukampis informáticos ukanakax algoritmos recursivos, no deterministas de retroceso ukanakaw uñstayapxi, chiqap tapanak jikxatañataki. Mä ukham lurawixa Algoritmo X de Knuth ukawa, ukaxa qhananchatawa [17]. Aka algoritmo ukanxa, elementos de la matriz ukaxa listas circulares dobles enlazadas ukanakampiwa mayachataraki, ukatxa sapa elementos ukanakaxa apsutarakiwa, jan ukaxa kutt’ayatarakiwa, kunjamatixa algoritmo ukaxa saraski ukhama, retroceso ukanxa, juk’ampinaka Kunjamatixa uka apsutanakaxa ukhamaraki restauraciones ukanakaxa lista ukata/uñt’ayata ukaxa wali uñt’atawa , uka operacionanak sum lurañax mä jach’añchañ amtawa. Akax kawkhantix Knuth ukan “Dancing Links” ukax uñsti, ukax mä algoritmo optimizado ukaw utji, ukhamat chiqap tapanak jikxatañataki kunatix Knuth jupax DLX (Dancing Links aplicado al algoritmo X) sasaw sutincharaki.
Dancing Links ukan amuyunakapax wali ch’amawa: kunapachatix mä lista ukan mä elemento Y ukan mä algoritmo de tapa exacto ukan apsutäki ukhax wali amuyatawa, uka pachpa elemento ukax qhipatx kutt’ayatäspawa. Ukhamatwa, jan ukasti
“cero out” ukat sipanx ‘nayrir’ ukat ‘jutir’ enlaces ukanakax elemento Y ukamp chikt’atawa, kunjamatix suma higiene de programación ukax normalmente dicta, Dancing Links ukanx programador ukax enlace valores ukanakax elemento apsutatakix chiqaparuw jayti. Ukhamat Dancing Links ukax operador ukax elemento Y ukaruw listat chhaqtayi, nayrïr elemento X ukat ‘jutir’ elemento ukax siguiente elemento Z ukaruw uñt’ayi, ukatx Z ukax elemento ‘nayrir’ ukaruw mä enlace X ukaruw uñt’ayi, ukampis janiw ' . next’ ukat ‘nayrir’ enlaces del elemento removedo Y. Qhipharux Y ukax kutt’ayañax wakisispa ukhax mä operador de restauración simple ukampiw lista ukar kutt’ayañax jasakiw gancho ukar kutt’ayaña. Knuth jupan arunakaparjamaxa, maynix lista ukan chimpunakapar uñjaspa ukhax algoritmo DLX ukax sarantaski ukhamarjamax uka chimpunakax ‘thuqt’awiruw’ uñsti, ukatwa sutix uñt’ayasi. Knuth jupan Dancing Links ukan lurawipax Fig. 1 ukan uñacht ayatawa.
Aka qillqatax arxiv ukan CC BY 4.0 DEED licencia ukan uñt’ayatawa .