* Blog


* Últimos mensajes


* Temas mas recientes

PPCC: Pisitófilos Creditófagos. Primavera 2024 por cujo
[Hoy a las 09:19:43]


Coches electricos por Cadavre Exquis
[Hoy a las 06:42:18]


El Hilo del Clima y el Cambio Climático por Cadavre Exquis
[Ayer a las 19:53:19]


XTE-Central 2024 : El opio del pueblo por saturno
[Junio 11, 2024, 23:18:56 pm]


AGI por saturno
[Junio 11, 2024, 14:51:48 pm]


Autor Tema: STEM  (Leído 131669 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Cadavre Exquis

  • Sabe de economía
  • *****
  • Gracias
  • -Dadas: 19989
  • -Recibidas: 44901
  • Mensajes: 9392
  • Nivel: 557
  • Cadavre Exquis Sus opiniones inspiran a los demás.Cadavre Exquis Sus opiniones inspiran a los demás.Cadavre Exquis Sus opiniones inspiran a los demás.Cadavre Exquis Sus opiniones inspiran a los demás.Cadavre Exquis Sus opiniones inspiran a los demás.Cadavre Exquis Sus opiniones inspiran a los demás.Cadavre Exquis Sus opiniones inspiran a los demás.Cadavre Exquis Sus opiniones inspiran a los demás.Cadavre Exquis Sus opiniones inspiran a los demás.Cadavre Exquis Sus opiniones inspiran a los demás.Cadavre Exquis Sus opiniones inspiran a los demás.Cadavre Exquis Sus opiniones inspiran a los demás.
    • Ver Perfil
Re:STEM
« Respuesta #330 en: Mayo 10, 2023, 06:24:37 am »
Citar
Scientists Find Link Between Photosynthesis and 'Fifth State of Matter'
Posted by BeauHD on Tuesday May 09, 2023 @06:00AM from the would-you-look-at-that dept.

Louise Lerner writes via Phys.Org:
Citar
Inside a lab, scientists marvel at a strange state that forms when they cool down atoms to nearly absolute zero. Outside their window, trees gather sunlight and turn them into new leaves. The two seem unrelated -- but a new study from the University of Chicago suggests that these processes aren't so different as they might appear on the surface. The study, published in PRX Energy on April 28, found links at the atomic level between photosynthesis and exciton condensates -- a strange state of physics that allows energy to flow frictionlessly through a material. The finding is scientifically intriguing and may suggest new ways to think about designing electronics, the authors said.

When a photon from the sun strikes a leaf, it sparks a change in a specially designed molecule. The energy knocks loose an electron. The electron, and the "hole" where it once was, can now travel around the leaf, carrying the energy of the sun to another area where it triggers a chemical reaction to make sugars for the plant. Together, that traveling electron-and-hole-pair is referred to as an "exciton." When the team took a birds-eye view and modeled how multiple excitons move around, they noticed something odd. They saw patterns in the paths of the excitons that looked remarkably familiar. In fact, it looked very much like the behavior in a material that is known as a Bose-Einstein condensate, sometimes known as "the fifth state of matter." In this material, excitons can link up into the same quantum state -- kind of like a set of bells all ringing perfectly in tune. This allows energy to move around the material with zero friction. (These sorts of strange behaviors intrigue scientists because they can be the seeds for remarkable technology -- for example, a similar state called superconductivity is the basis for MRI machines).

According to the models [...], the excitons in a leaf can sometimes link up in ways similar to exciton condensate behavior. This was a huge surprise. Exciton condensates have only been seen when the material is cooled down significantly below room temperature. It'd be kind of like seeing ice cubes forming in a cup of hot coffee. "Photosynthetic light harvesting is taking place in a system that is at room temperature and what's more, its structure is disordered -- very unlike the pristine crystallized materials and cold temperatures that you use to make exciton condensates," explained [study co-author Anna Schouten]. This effect isn't total -- it's more akin to "islands" of condensates forming, the scientists said. "But that's still enough to enhance energy transfer in the system," said Sager-Smith. In fact, their models suggest it can as much as double the efficiency.
The findings open up some new possibilities for generating synthetic materials for future technology, said study co-author Prof. David Mazziotti. "A perfect ideal exciton condensate is sensitive and requires a lot of special conditions, but for realistic applications, it's exciting to see something that boosts efficiency but can happen in ambient conditions."
Saludos.

Cadavre Exquis

  • Sabe de economía
  • *****
  • Gracias
  • -Dadas: 19989
  • -Recibidas: 44901
  • Mensajes: 9392
  • Nivel: 557
  • Cadavre Exquis Sus opiniones inspiran a los demás.Cadavre Exquis Sus opiniones inspiran a los demás.Cadavre Exquis Sus opiniones inspiran a los demás.Cadavre Exquis Sus opiniones inspiran a los demás.Cadavre Exquis Sus opiniones inspiran a los demás.Cadavre Exquis Sus opiniones inspiran a los demás.Cadavre Exquis Sus opiniones inspiran a los demás.Cadavre Exquis Sus opiniones inspiran a los demás.Cadavre Exquis Sus opiniones inspiran a los demás.Cadavre Exquis Sus opiniones inspiran a los demás.Cadavre Exquis Sus opiniones inspiran a los demás.Cadavre Exquis Sus opiniones inspiran a los demás.
    • Ver Perfil
Re:STEM
« Respuesta #331 en: Mayo 11, 2023, 07:27:28 am »

sudden and sharp

  • Administrator
  • Sabe de economía
  • *****
  • Gracias
  • -Dadas: 50243
  • -Recibidas: 59886
  • Mensajes: 9894
  • Nivel: 984
  • sudden and sharp Sus opiniones inspiran a los demás.sudden and sharp Sus opiniones inspiran a los demás.sudden and sharp Sus opiniones inspiran a los demás.sudden and sharp Sus opiniones inspiran a los demás.sudden and sharp Sus opiniones inspiran a los demás.sudden and sharp Sus opiniones inspiran a los demás.sudden and sharp Sus opiniones inspiran a los demás.sudden and sharp Sus opiniones inspiran a los demás.sudden and sharp Sus opiniones inspiran a los demás.sudden and sharp Sus opiniones inspiran a los demás.sudden and sharp Sus opiniones inspiran a los demás.sudden and sharp Sus opiniones inspiran a los demás.
    • Ver Perfil
Re:STEM
« Respuesta #332 en: Junio 07, 2023, 11:02:46 am »
Citar
El tren demostrador ha sido el primer tren de hidrógeno que consigue dicho hito. Se trata de un hito destacado, ya que la línea de Canfranc es una línea especialmente exigente debido a sus rampas pronunciadas y elevadas, que suponen un gran desafío para los nuevos sistemas de generación de energía embarcados. Para ello, el tren demostrador, una unidad de Cercanías de Renfe, ha circulado en la línea Zaragoza-Canfranc tanto en modo eléctrico, en la zona electrificada, como en modo híbrido, combinando la energía proveniente de las pilas de hidrógeno y de las baterías, en los tramos sin electrificar.


El tren de hidrógeno circula en pruebas en la línea Zaragoza-Canfranc
https://www.eleconomista.es/transportes-turismo/noticias/12311277/06/23/el-tren-de-hidrogeno-circula-en-pruebas-en-la-linea-zaragozacanfranc.html



« última modificación: Junio 07, 2023, 14:28:15 pm por sudden and sharp »

pollo

  • Administrator
  • Netocrata
  • *****
  • Gracias
  • -Dadas: 27360
  • -Recibidas: 29529
  • Mensajes: 3462
  • Nivel: 463
  • pollo Sus opiniones inspiran a los demás.pollo Sus opiniones inspiran a los demás.pollo Sus opiniones inspiran a los demás.pollo Sus opiniones inspiran a los demás.pollo Sus opiniones inspiran a los demás.pollo Sus opiniones inspiran a los demás.pollo Sus opiniones inspiran a los demás.pollo Sus opiniones inspiran a los demás.pollo Sus opiniones inspiran a los demás.pollo Sus opiniones inspiran a los demás.pollo Sus opiniones inspiran a los demás.pollo Sus opiniones inspiran a los demás.
    • Ver Perfil
Re:STEM
« Respuesta #333 en: Junio 07, 2023, 18:30:31 pm »
Citar
El tren demostrador ha sido el primer tren de hidrógeno que consigue dicho hito. Se trata de un hito destacado, ya que la línea de Canfranc es una línea especialmente exigente debido a sus rampas pronunciadas y elevadas, que suponen un gran desafío para los nuevos sistemas de generación de energía embarcados. Para ello, el tren demostrador, una unidad de Cercanías de Renfe, ha circulado en la línea Zaragoza-Canfranc tanto en modo eléctrico, en la zona electrificada, como en modo híbrido, combinando la energía proveniente de las pilas de hidrógeno y de las baterías, en los tramos sin electrificar.


El tren de hidrógeno circula en pruebas en la línea Zaragoza-Canfranc
https://www.eleconomista.es/transportes-turismo/noticias/12311277/06/23/el-tren-de-hidrogeno-circula-en-pruebas-en-la-linea-zaragozacanfranc.html




No entiendo el dilema aquí (aparte de hacer una demo). Si hay tramos sin electrificar siempre va a ser mejor hacer una obra y electrificarlos, y así está resuelto el problema para siempre, además de que no requiere trenes especiales y es más eficiente.

El hidrógeno, tras darle muchas vueltas y siguiendo el consenso de la mayor parte de expertos en el tema es muy mala alternativa y con una eficiencia muy dudosa.

sudden and sharp

  • Administrator
  • Sabe de economía
  • *****
  • Gracias
  • -Dadas: 50243
  • -Recibidas: 59886
  • Mensajes: 9894
  • Nivel: 984
  • sudden and sharp Sus opiniones inspiran a los demás.sudden and sharp Sus opiniones inspiran a los demás.sudden and sharp Sus opiniones inspiran a los demás.sudden and sharp Sus opiniones inspiran a los demás.sudden and sharp Sus opiniones inspiran a los demás.sudden and sharp Sus opiniones inspiran a los demás.sudden and sharp Sus opiniones inspiran a los demás.sudden and sharp Sus opiniones inspiran a los demás.sudden and sharp Sus opiniones inspiran a los demás.sudden and sharp Sus opiniones inspiran a los demás.sudden and sharp Sus opiniones inspiran a los demás.sudden and sharp Sus opiniones inspiran a los demás.
    • Ver Perfil
Re:STEM
« Respuesta #334 en: Junio 07, 2023, 19:26:20 pm »
Pero el H2 proviene de energía renovable... (que había que almacenar para no perderla.) Y además, sólo es el primero.

pollo

  • Administrator
  • Netocrata
  • *****
  • Gracias
  • -Dadas: 27360
  • -Recibidas: 29529
  • Mensajes: 3462
  • Nivel: 463
  • pollo Sus opiniones inspiran a los demás.pollo Sus opiniones inspiran a los demás.pollo Sus opiniones inspiran a los demás.pollo Sus opiniones inspiran a los demás.pollo Sus opiniones inspiran a los demás.pollo Sus opiniones inspiran a los demás.pollo Sus opiniones inspiran a los demás.pollo Sus opiniones inspiran a los demás.pollo Sus opiniones inspiran a los demás.pollo Sus opiniones inspiran a los demás.pollo Sus opiniones inspiran a los demás.pollo Sus opiniones inspiran a los demás.
    • Ver Perfil
Re:STEM
« Respuesta #335 en: Junio 07, 2023, 21:18:28 pm »
Pero el H2 proviene de energía renovable... (que había que almacenar para no perderla.) Y además, sólo es el primero.
Espero respuestas más elaboradas que una línea con lo primero que hayas oído por ahí.

El H2 hoy por hoy proviene del refinado del petróleo porque no hay actualmente técnicas de producción industrial que escalen de forma eficiente, con lo que la supuesta ventaja inicial ya no existe.

Además de eso, siguen sin resolverse toda la larga lista de problemas que tiene su almacenamiento y transporte. Entre otros muchos inconvenientes, el H2 tiende a corroerlo todo por su alta tendencia a reaccionar con básicamente todo. Mientras no se solucionen esos problemas a escala industrial (y se lleva años intentando), el H2 no vale.

Se ha hablado largo y tendido ya en este mismo hilo. Lo mínimo es saber lo que ya se ha hablado.

sudden and sharp

  • Administrator
  • Sabe de economía
  • *****
  • Gracias
  • -Dadas: 50243
  • -Recibidas: 59886
  • Mensajes: 9894
  • Nivel: 984
  • sudden and sharp Sus opiniones inspiran a los demás.sudden and sharp Sus opiniones inspiran a los demás.sudden and sharp Sus opiniones inspiran a los demás.sudden and sharp Sus opiniones inspiran a los demás.sudden and sharp Sus opiniones inspiran a los demás.sudden and sharp Sus opiniones inspiran a los demás.sudden and sharp Sus opiniones inspiran a los demás.sudden and sharp Sus opiniones inspiran a los demás.sudden and sharp Sus opiniones inspiran a los demás.sudden and sharp Sus opiniones inspiran a los demás.sudden and sharp Sus opiniones inspiran a los demás.sudden and sharp Sus opiniones inspiran a los demás.
    • Ver Perfil
Re:STEM
« Respuesta #336 en: Junio 07, 2023, 22:35:57 pm »
Eso, tú espera...

puede ser

  • Estructuralista
  • ****
  • Gracias
  • -Dadas: 20708
  • -Recibidas: 10642
  • Mensajes: 1530
  • Nivel: 157
  • puede ser Sus opiniones inspiran a los demás.puede ser Sus opiniones inspiran a los demás.puede ser Sus opiniones inspiran a los demás.puede ser Sus opiniones inspiran a los demás.puede ser Sus opiniones inspiran a los demás.puede ser Sus opiniones inspiran a los demás.puede ser Sus opiniones inspiran a los demás.puede ser Sus opiniones inspiran a los demás.puede ser Sus opiniones inspiran a los demás.puede ser Sus opiniones inspiran a los demás.puede ser Sus opiniones inspiran a los demás.puede ser Sus opiniones inspiran a los demás.
    • Ver Perfil
Re:STEM
« Respuesta #337 en: Junio 07, 2023, 23:43:55 pm »
Pero el H2 proviene de energía renovable... (que había que almacenar para no perderla.) Y además, sólo es el primero.
Espero respuestas más elaboradas que una línea con lo primero que hayas oído por ahí.

El H2 hoy por hoy proviene del refinado del petróleo porque no hay actualmente técnicas de producción industrial que escalen de forma eficiente, con lo que la supuesta ventaja inicial ya no existe.

Además de eso, siguen sin resolverse toda la larga lista de problemas que tiene su almacenamiento y transporte. Entre otros muchos inconvenientes, el H2 tiende a corroerlo todo por su alta tendencia a reaccionar con básicamente todo. Mientras no se solucionen esos problemas a escala industrial (y se lleva años intentando), el H2 no vale.

Se ha hablado largo y tendido ya en este mismo hilo. Lo mínimo es saber lo que ya se ha hablado.
https://hidrogeno-verde.es/primera-instalacion-de-produccion-comercial-de-metanol-verde/

Maersk apuesta por convertir el hidrógeno (verde) en metanol (verde). Si sale bien seguirán en Galicia y Andalucía, como se habló.

Cadavre Exquis

  • Sabe de economía
  • *****
  • Gracias
  • -Dadas: 19989
  • -Recibidas: 44901
  • Mensajes: 9392
  • Nivel: 557
  • Cadavre Exquis Sus opiniones inspiran a los demás.Cadavre Exquis Sus opiniones inspiran a los demás.Cadavre Exquis Sus opiniones inspiran a los demás.Cadavre Exquis Sus opiniones inspiran a los demás.Cadavre Exquis Sus opiniones inspiran a los demás.Cadavre Exquis Sus opiniones inspiran a los demás.Cadavre Exquis Sus opiniones inspiran a los demás.Cadavre Exquis Sus opiniones inspiran a los demás.Cadavre Exquis Sus opiniones inspiran a los demás.Cadavre Exquis Sus opiniones inspiran a los demás.Cadavre Exquis Sus opiniones inspiran a los demás.Cadavre Exquis Sus opiniones inspiran a los demás.
    • Ver Perfil
Re:STEM
« Respuesta #338 en: Junio 08, 2023, 07:37:01 am »

Citar
AlphaDev discovers faster sorting algorithms

June 7, 2023


New algorithms will transform the foundations of computing
Digital society is driving increasing demand for computation, and energy use. For the last five decades, we relied on improvements in hardware to keep pace. But as microchips approach their physical limits, it’s critical to improve the code that runs on them to make computing more powerful and sustainable. This is especially important for the algorithms that make up the code running trillions of times a day.

In our paper published today in Nature, we introduce AlphaDev, an artificial intelligence (AI) system that uses reinforcement learning to discover enhanced computer science algorithms – surpassing those honed by scientists and engineers over decades.

AlphaDev uncovered a faster algorithm for sorting, a method for ordering data. Billions of people use these algorithms everyday without realising it. They underpin everything from ranking online search results and social posts to how data is processed on computers and phones. Generating better algorithms using AI will transform how we program computers and impact all aspects of our increasingly digital society.

By open sourcing our new sorting algorithms in the main C++ library, millions of developers and companies around the world now use it on AI applications across industries from cloud computing and online shopping to supply chain management. This is the first change to this part of the sorting library in over a decade and the first time an algorithm designed through reinforcement learning has been added to this library. We see this as an important stepping stone for using AI to optimise the world’s code, one algorithm at a time.

What is sorting?

Sorting is a method of organising a number of items in a particular order. Examples include alphabetising three letters, arranging five numbers from biggest to smallest, or ordering a database of millions of records.

This method has evolved throughout history. One of the earliest examples dates back to the second and third century when scholars alphabetised thousands of books by hand on the shelves of the Great Library of Alexandria. Following the industrial revolution, came the invention of machines that could help with sorting – tabulation machines stored information on punch cards which were used to collect the 1890 census results in the United States.

And with the rise of commercial computers in the 1950s, we saw the development of the earliest computer science algorithms for sorting. Today, there are many different sorting techniques and algorithms which are used in codebases around the world to organise massive amounts of data online.

Illustration of what a sorting algorithm does. A series of unsorted numbers is input into the algorithm and sorted numbers are output.

Contemporary algorithms took computer scientists and programmers decades of research to develop. They’re so efficient that making further improvements is a major challenge, akin to trying to find a new way to save electricity or a more efficient mathematical approach. These algorithms are also a cornerstone of computer science, taught in introductory computer science classes at universities.

Searching for new algorithms

AlphaDev uncovered faster algorithms by starting from scratch rather than refining existing algorithms, and began looking where most humans don’t: the computer’s assembly instructions.

Assembly instructions are used to create binary code for computers to put into action. While developers write in coding languages like C++, known as high-level languages, this must be translated into ‘low-level’ assembly instructions for computers to understand.

We believe many improvements exist at this lower level that may be difficult to discover in a higher-level coding language. Computer storage and operations are more flexible at this level, which means there are significantly more potential improvements that could have a larger impact on speed and energy usage.

Code is typically written in a high level programming language such as C++. This is then translated to low-level CPU instructions, called assembly instructions, using a compiler. An assembler then converts the assembly instructions to executable machine code that the computer can run.

Figure A: An example C++ algorithm that sorts up to two elements.
‍Figure B: The corresponding assembly representation of the code.

Finding the best algorithms with a game

AlphaDev is based on AlphaZero, our reinforcement learning model that defeated world champions in games like Go, chess and shogi. With AlphaDev, we show how this model can transfer from games to scientific challenges, and from simulations to real-world applications.

To train AlphaDev to uncover new algorithms, we transformed sorting into a single player ‘assembly game’. At each turn, AlphaDev observes the algorithm it has generated and the information contained in the central processing unit (CPU). Then it plays a move by choosing an instruction to add to the algorithm..

The assembly game is incredibly hard because AlphaDev has to efficiently search through an enormous number of possible combinations of instructions to find an algorithm that can sort, and is faster than the current best one. The number of possible combinations of instructions is similar to the number of particles in the universe or the number of possible combinations of moves in games of chess (10120 games) and Go (10700 games). And a single, wrong move can invalidate the entire algorithm.

Figure A: The assembly game. The player, AlphaDev, receives the state of the system st as input and plays a move at by selecting an assembly instruction to add to the algorithm that has been generated thus far.
Figure B: The reward computation. After each move, the generated algorithm is fed test input sequences - for sort3, this corresponds to all combinations of sequences of three elements. The algorithm then generates an output, which is compared to the expected output of sorted sequences for the case of sorting. The agent is rewarded based on the algorithm's correctness and latency.

As the algorithm is built, one instruction at a time, AlphaDev checks that it’s correct by comparing the algorithm’s output with the expected results. For sorting algorithms, this means unordered numbers go in and correctly sorted numbers come out. We reward AlphaDev for both sorting the numbers correctly and for how quickly and efficiently it does so. AlphaDev wins the game by discovering a correct, faster program.

Discovering faster sorting algorithms

AlphaDev uncovered new sorting algorithms that led to improvements in the LLVM libc++ sorting library that were up to 70% faster for shorter sequences and about 1.7% faster for sequences exceeding 250,000 elements.

We focused on improving sorting algorithms for shorter sequences of three to five elements. These algorithms are among the most widely used because they are often called many times as a part of larger sorting functions. Improving these algorithms can lead to an overall speedup for sorting any number of items.

To make the new sorting algorithm more usable for people, we reverse-engineered the algorithms and translated them into C++, one of the most popular coding languages that developers use. These algorithms are now available in the LLVM libc++ standard sorting library, used by millions of developers and companies around the world.

Finding novel approaches

AlphaDev not only found faster algorithms, but also uncovered novel approaches. Its sorting algorithms contain new sequences of instructions that save a single instruction each time they’re applied. This can have a huge impact as these algorithms are used trillions of times a day.

We call these ‘AlphaDev swap and copy moves’. This novel approach is reminiscent of AlphaGo’s ‘move 37’ – a counterintuitive play that stunned onlookers and led to the defeat of a legendary Go player. With the swap and copy move, AlphaDev skips over a step to connect items in a way that looks like a mistake but is actually a shortcut. This shows AlphaDev’s ability to uncover original solutions and challenges the way we think about how to improve computer science algorithms.

Left: The original sort3 implementation with min(A,B,C).
‍Right: AlphaDev Swap Move - AlphaDev discovers that you only need min(A,B).

Left: The original implementation with max (B, min (A, C, D))used in a larger sorting algorithm for sorting eight elements.
Right: AlphaDev discovered that only max (B, min (A, C)) is needed when using its copy move.

From sorting to hashing in data structures

After discovering faster sorting algorithms, we tested whether AlphaDev could generalise and improve a different computer science algorithm: hashing.

Hashing is a fundamental algorithm in computing used to retrieve, store, and compress data. Like a librarian who uses a classification system to locate a certain book, hashing algorithms help users know what they’re looking for and exactly where to find it. These algorithms take data for a specific key (e.g. user name “Jane Doe”) and hashes it – a process where raw data is turned into a unique string of characters (e.g 1234ghfty). This hash is used by the computer to retrieve the data related to the key quickly rather than searching all of the data.

We applied AlphaDev to one of the most commonly used algorithms for hashing in data structures to try and discover a faster algorithm. And when we applied it to the 9-16 bytes range of the hashing function, the algorithm that AlphaDev discovered was 30% faster.

This year, AlphaDev’s new hashing algorithm was released into the open-source Abseil library, available to millions of developers around the world, and we estimate that it’s now being used trillions of times a day.

Optimising the world’s code, one algorithm at a time

By optimising and launching improved sorting and hashing algorithms used by developers all around the world, AlphaDev has demonstrated its ability to generalise and discover new algorithms with real-world impact. We see AlphaDev as a step towards developing general-purpose AI tools that could help optimise the entire computing ecosystem and solve other problems that will benefit society.

While optimising in the space of low-level assembly instructions is very powerful, there are limitations as the algorithm grows, and we are currently exploring AlphaDev’s ability to optimise algorithms directly in high-level languages such as C++ which would be more useful for developers.

AlphaDev’s discoveries, such as the swap and copy moves, not only show that it can improve algorithms but also find new solutions. We hope these discoveries inspire researchers and developers alike to create techniques and approaches that can further optimise fundamental algorithms to create a more powerful and sustainable computing ecosystem.
Saludos.

pollo

  • Administrator
  • Netocrata
  • *****
  • Gracias
  • -Dadas: 27360
  • -Recibidas: 29529
  • Mensajes: 3462
  • Nivel: 463
  • pollo Sus opiniones inspiran a los demás.pollo Sus opiniones inspiran a los demás.pollo Sus opiniones inspiran a los demás.pollo Sus opiniones inspiran a los demás.pollo Sus opiniones inspiran a los demás.pollo Sus opiniones inspiran a los demás.pollo Sus opiniones inspiran a los demás.pollo Sus opiniones inspiran a los demás.pollo Sus opiniones inspiran a los demás.pollo Sus opiniones inspiran a los demás.pollo Sus opiniones inspiran a los demás.pollo Sus opiniones inspiran a los demás.
    • Ver Perfil
Re:STEM
« Respuesta #339 en: Junio 08, 2023, 09:20:00 am »

Citar
AlphaDev discovers faster sorting algorithms

June 7, 2023


New algorithms will transform the foundations of computing
Digital society is driving increasing demand for computation, and energy use. For the last five decades, we relied on improvements in hardware to keep pace. But as microchips approach their physical limits, it’s critical to improve the code that runs on them to make computing more powerful and sustainable. This is especially important for the algorithms that make up the code running trillions of times a day.

In our paper published today in Nature, we introduce AlphaDev, an artificial intelligence (AI) system that uses reinforcement learning to discover enhanced computer science algorithms – surpassing those honed by scientists and engineers over decades.

AlphaDev uncovered a faster algorithm for sorting, a method for ordering data. Billions of people use these algorithms everyday without realising it. They underpin everything from ranking online search results and social posts to how data is processed on computers and phones. Generating better algorithms using AI will transform how we program computers and impact all aspects of our increasingly digital society.

By open sourcing our new sorting algorithms in the main C++ library, millions of developers and companies around the world now use it on AI applications across industries from cloud computing and online shopping to supply chain management. This is the first change to this part of the sorting library in over a decade and the first time an algorithm designed through reinforcement learning has been added to this library. We see this as an important stepping stone for using AI to optimise the world’s code, one algorithm at a time.

What is sorting?

Sorting is a method of organising a number of items in a particular order. Examples include alphabetising three letters, arranging five numbers from biggest to smallest, or ordering a database of millions of records.

This method has evolved throughout history. One of the earliest examples dates back to the second and third century when scholars alphabetised thousands of books by hand on the shelves of the Great Library of Alexandria. Following the industrial revolution, came the invention of machines that could help with sorting – tabulation machines stored information on punch cards which were used to collect the 1890 census results in the United States.

And with the rise of commercial computers in the 1950s, we saw the development of the earliest computer science algorithms for sorting. Today, there are many different sorting techniques and algorithms which are used in codebases around the world to organise massive amounts of data online.

Illustration of what a sorting algorithm does. A series of unsorted numbers is input into the algorithm and sorted numbers are output.

Contemporary algorithms took computer scientists and programmers decades of research to develop. They’re so efficient that making further improvements is a major challenge, akin to trying to find a new way to save electricity or a more efficient mathematical approach. These algorithms are also a cornerstone of computer science, taught in introductory computer science classes at universities.

Searching for new algorithms

AlphaDev uncovered faster algorithms by starting from scratch rather than refining existing algorithms, and began looking where most humans don’t: the computer’s assembly instructions.

Assembly instructions are used to create binary code for computers to put into action. While developers write in coding languages like C++, known as high-level languages, this must be translated into ‘low-level’ assembly instructions for computers to understand.

We believe many improvements exist at this lower level that may be difficult to discover in a higher-level coding language. Computer storage and operations are more flexible at this level, which means there are significantly more potential improvements that could have a larger impact on speed and energy usage.

Code is typically written in a high level programming language such as C++. This is then translated to low-level CPU instructions, called assembly instructions, using a compiler. An assembler then converts the assembly instructions to executable machine code that the computer can run.

Figure A: An example C++ algorithm that sorts up to two elements.
‍Figure B: The corresponding assembly representation of the code.

Finding the best algorithms with a game

AlphaDev is based on AlphaZero, our reinforcement learning model that defeated world champions in games like Go, chess and shogi. With AlphaDev, we show how this model can transfer from games to scientific challenges, and from simulations to real-world applications.

To train AlphaDev to uncover new algorithms, we transformed sorting into a single player ‘assembly game’. At each turn, AlphaDev observes the algorithm it has generated and the information contained in the central processing unit (CPU). Then it plays a move by choosing an instruction to add to the algorithm..

The assembly game is incredibly hard because AlphaDev has to efficiently search through an enormous number of possible combinations of instructions to find an algorithm that can sort, and is faster than the current best one. The number of possible combinations of instructions is similar to the number of particles in the universe or the number of possible combinations of moves in games of chess (10120 games) and Go (10700 games). And a single, wrong move can invalidate the entire algorithm.

Figure A: The assembly game. The player, AlphaDev, receives the state of the system st as input and plays a move at by selecting an assembly instruction to add to the algorithm that has been generated thus far.
Figure B: The reward computation. After each move, the generated algorithm is fed test input sequences - for sort3, this corresponds to all combinations of sequences of three elements. The algorithm then generates an output, which is compared to the expected output of sorted sequences for the case of sorting. The agent is rewarded based on the algorithm's correctness and latency.

As the algorithm is built, one instruction at a time, AlphaDev checks that it’s correct by comparing the algorithm’s output with the expected results. For sorting algorithms, this means unordered numbers go in and correctly sorted numbers come out. We reward AlphaDev for both sorting the numbers correctly and for how quickly and efficiently it does so. AlphaDev wins the game by discovering a correct, faster program.

Discovering faster sorting algorithms

AlphaDev uncovered new sorting algorithms that led to improvements in the LLVM libc++ sorting library that were up to 70% faster for shorter sequences and about 1.7% faster for sequences exceeding 250,000 elements.

We focused on improving sorting algorithms for shorter sequences of three to five elements. These algorithms are among the most widely used because they are often called many times as a part of larger sorting functions. Improving these algorithms can lead to an overall speedup for sorting any number of items.

To make the new sorting algorithm more usable for people, we reverse-engineered the algorithms and translated them into C++, one of the most popular coding languages that developers use. These algorithms are now available in the LLVM libc++ standard sorting library, used by millions of developers and companies around the world.

Finding novel approaches

AlphaDev not only found faster algorithms, but also uncovered novel approaches. Its sorting algorithms contain new sequences of instructions that save a single instruction each time they’re applied. This can have a huge impact as these algorithms are used trillions of times a day.

We call these ‘AlphaDev swap and copy moves’. This novel approach is reminiscent of AlphaGo’s ‘move 37’ – a counterintuitive play that stunned onlookers and led to the defeat of a legendary Go player. With the swap and copy move, AlphaDev skips over a step to connect items in a way that looks like a mistake but is actually a shortcut. This shows AlphaDev’s ability to uncover original solutions and challenges the way we think about how to improve computer science algorithms.

Left: The original sort3 implementation with min(A,B,C).
‍Right: AlphaDev Swap Move - AlphaDev discovers that you only need min(A,B).

Left: The original implementation with max (B, min (A, C, D))used in a larger sorting algorithm for sorting eight elements.
Right: AlphaDev discovered that only max (B, min (A, C)) is needed when using its copy move.

From sorting to hashing in data structures

After discovering faster sorting algorithms, we tested whether AlphaDev could generalise and improve a different computer science algorithm: hashing.

Hashing is a fundamental algorithm in computing used to retrieve, store, and compress data. Like a librarian who uses a classification system to locate a certain book, hashing algorithms help users know what they’re looking for and exactly where to find it. These algorithms take data for a specific key (e.g. user name “Jane Doe”) and hashes it – a process where raw data is turned into a unique string of characters (e.g 1234ghfty). This hash is used by the computer to retrieve the data related to the key quickly rather than searching all of the data.

We applied AlphaDev to one of the most commonly used algorithms for hashing in data structures to try and discover a faster algorithm. And when we applied it to the 9-16 bytes range of the hashing function, the algorithm that AlphaDev discovered was 30% faster.

This year, AlphaDev’s new hashing algorithm was released into the open-source Abseil library, available to millions of developers around the world, and we estimate that it’s now being used trillions of times a day.

Optimising the world’s code, one algorithm at a time

By optimising and launching improved sorting and hashing algorithms used by developers all around the world, AlphaDev has demonstrated its ability to generalise and discover new algorithms with real-world impact. We see AlphaDev as a step towards developing general-purpose AI tools that could help optimise the entire computing ecosystem and solve other problems that will benefit society.

While optimising in the space of low-level assembly instructions is very powerful, there are limitations as the algorithm grows, and we are currently exploring AlphaDev’s ability to optimise algorithms directly in high-level languages such as C++ which would be more useful for developers.

AlphaDev’s discoveries, such as the swap and copy moves, not only show that it can improve algorithms but also find new solutions. We hope these discoveries inspire researchers and developers alike to create techniques and approaches that can further optimise fundamental algorithms to create a more powerful and sustainable computing ecosystem.
Saludos.
También hay que decir, para no caer en el sensacionalismo, que esta técnica ya dio un resultado en el algoritmo de la multiplicación de matrices. Pero claro, lo que permitía era acelerar las operaciones en un caso concreto (y que no se da con mucha frecuencia). Lo más probable es que los algoritmos que ya se conocen estén cerca o muy cerca del óptimo, que a priori no es posible conocer.

El optimizar algoritmos con diversas técnicas automatizadas (o sea, con otros algoritmos) es algo que lleva en investigación desde los años 70, por ponerlo en perspectiva.

Y también decir que esto no es la panacea:


https://www.meneame.net/m/ciencia/humanos-baten-ia-deepmind-forma-mas-eficiente-multiplicar
Citar
Los humanos baten a la IA de DeepMind con una forma más eficiente de multiplicar números

Dos expertos en álgebra agilizan el cálculo de matrices a partir del algoritmo descubierto por la máquina
« última modificación: Junio 08, 2023, 09:23:06 am por pollo »

Benzino Napaloni

  • Estructuralista
  • ****
  • Gracias
  • -Dadas: 875
  • -Recibidas: 16297
  • Mensajes: 1937
  • Nivel: 184
  • Benzino Napaloni Sus opiniones inspiran a los demás.Benzino Napaloni Sus opiniones inspiran a los demás.Benzino Napaloni Sus opiniones inspiran a los demás.Benzino Napaloni Sus opiniones inspiran a los demás.Benzino Napaloni Sus opiniones inspiran a los demás.Benzino Napaloni Sus opiniones inspiran a los demás.Benzino Napaloni Sus opiniones inspiran a los demás.Benzino Napaloni Sus opiniones inspiran a los demás.Benzino Napaloni Sus opiniones inspiran a los demás.Benzino Napaloni Sus opiniones inspiran a los demás.Benzino Napaloni Sus opiniones inspiran a los demás.Benzino Napaloni Sus opiniones inspiran a los demás.
    • Ver Perfil
Re:STEM
« Respuesta #340 en: Junio 08, 2023, 09:22:14 am »
Esto de los "algoritmos mejorados" al final es parte del equivalente en informática de la Paradoja de Jevons.

¿No tienen desde hace tiempo la impresión de que a pesar de que tenemos pepinos cada vez más potentes, tanto ordenadores como móviles, hay más programas que van a saltos?

Los jugadores de videojuegos lo habrán notado perfectamente.


Si bien estos avances acabarán trayendo beneficios localizados, en conjunto lo que se obtiene es un retroceso. ¿Para qué esforzarnos en afinarlo si ya funciona?

De cara a la supercomputación, un algoritmo afinado puede marcar la diferencia entre resolver un problema en un tiempo razonable, o no resolverlo en la práctica. De cara al usuario corriente, para la inmensa mayoría de aplicaciones corrientes, el esfuerzo habría que dedicarlo no en buscar mejoras extremas, sino arreglar los omnipresentes problemas de deuda técnica, diseños incompletos, diseños hechos improvisando, etc. Problemas que hacen que una aplicación funcionen regular (o ni eso), y que a menudo quedan disimulados por una potencia enorme.

Hace algunas décadas se ejecutaban virguerías con 16 MB de RAM. Ahora 1GB no da ni para sonarse los mocos. Y no es precisamente porque haya aumentado la potencia demandada.

Para que se hagan una idea. Antes de que Google y Apple, y empresas muy gordas copasen el mercado de calcular la ruta óptima en una ciudad usando transporte público, probé una cuando los smartphones eran una novedad. Mi trayecto desde mi entonces casa a mi entonces oficina se podía hacer directo con una línea de metro. Sin transbordos. La aplicación se colgaba porque entraba en bucle debido a que la estación final tenía varias líneas más. Es decir, fallaban los conocimientos básicos de algoritmia de navegación de grafos.


A los ingenieros lo primero que nos enseñan es a no reinventar la rueda, y a usar componentes ya existentes en el mercado. Se deja el trabajo de desarrollar desde cero a las empresas que de verdad tienen músculo para eso.

Los ingenieros consideramos que estamos laboralmente a salvo. Eso sí, de bomberos apagafuegos. Tampoco nos van a faltar los dolores de cabeza hasta que nos jubilemos.

pollo

  • Administrator
  • Netocrata
  • *****
  • Gracias
  • -Dadas: 27360
  • -Recibidas: 29529
  • Mensajes: 3462
  • Nivel: 463
  • pollo Sus opiniones inspiran a los demás.pollo Sus opiniones inspiran a los demás.pollo Sus opiniones inspiran a los demás.pollo Sus opiniones inspiran a los demás.pollo Sus opiniones inspiran a los demás.pollo Sus opiniones inspiran a los demás.pollo Sus opiniones inspiran a los demás.pollo Sus opiniones inspiran a los demás.pollo Sus opiniones inspiran a los demás.pollo Sus opiniones inspiran a los demás.pollo Sus opiniones inspiran a los demás.pollo Sus opiniones inspiran a los demás.
    • Ver Perfil
Re:STEM
« Respuesta #341 en: Junio 08, 2023, 09:33:01 am »
Esto de los "algoritmos mejorados" al final es parte del equivalente en informática de la Paradoja de Jevons.

¿No tienen desde hace tiempo la impresión de que a pesar de que tenemos pepinos cada vez más potentes, tanto ordenadores como móviles, hay más programas que van a saltos?

Los jugadores de videojuegos lo habrán notado perfectamente.

Bueno, depende de a qué juegos nos refiramos. Para los triple A, la inmensa mayoría. Pero todavía queda bastante gente que intenta hacer las cosas bien, específicamente en los desarrolladores independientes o hobbistas que pueden hacer las cosas a su manera.

Personalmente, creo (por lo que he podido ver) que estas ineficiencias, a veces muy graves, vienen de una mezcla entre pereza, codicia, moda e ignorancia.

Pereza, porque gente que sabe hacer las cosas bien tira con lo mínimo porque vende igual (y total, el hardware está "sobrado"). La realidad es que no, que es muy fácil hacer que el hardware se sature, muchas veces por efectos colaterales. Por ejemplo los arrays de estructuras propiciadas por la programación orientada a objetos son mucho más lentos en memoria que las estructuras de arrays (orientación a datos), por cómo funcionan las CPU y la memoria cache.

Codicia, porque a las compañías que ponen la pasta les importa cero hacer un truño con tal de vender.

Moda, porque no se atiende a criterios técnicos sino que se siguen las "buzzword" de moda por parte de la caterva directiva, que impone tecnologías sin ton ni son porque es "lo que todo el mundo está usando". Esto es muy muy visible en el mundo web, donde auténticas montañas de mierda de interfaces de usuario en Javascript reimplementan funcionalidad que ya existe con muhca más calidad, eficiencia, accesibilidad y velocidad en el propio navegador. Esto es muy típico hoy día y sólo puede haber sido perpetrado por idiotas o ignorantes.
Hoy día hay oleadas de jóvenes que no saben hacer una web sin javascript (ni siquiera saben a nivel abstracto lo que hay por debajo), lo cual no es triste, es sobre todo muy preocupante sobre la formación que se recibe.

Ignorancia: la causa base de las tres anteriores.

Benzino Napaloni

  • Estructuralista
  • ****
  • Gracias
  • -Dadas: 875
  • -Recibidas: 16297
  • Mensajes: 1937
  • Nivel: 184
  • Benzino Napaloni Sus opiniones inspiran a los demás.Benzino Napaloni Sus opiniones inspiran a los demás.Benzino Napaloni Sus opiniones inspiran a los demás.Benzino Napaloni Sus opiniones inspiran a los demás.Benzino Napaloni Sus opiniones inspiran a los demás.Benzino Napaloni Sus opiniones inspiran a los demás.Benzino Napaloni Sus opiniones inspiran a los demás.Benzino Napaloni Sus opiniones inspiran a los demás.Benzino Napaloni Sus opiniones inspiran a los demás.Benzino Napaloni Sus opiniones inspiran a los demás.Benzino Napaloni Sus opiniones inspiran a los demás.Benzino Napaloni Sus opiniones inspiran a los demás.
    • Ver Perfil
Re:STEM
« Respuesta #342 en: Junio 08, 2023, 09:39:58 am »
Bueno, depende de a qué juegos nos refiramos. Para los triple A, la inmensa mayoría. Pero todavía queda bastante gente que intenta hacer las cosas bien, específicamente en los desarrolladores independientes o hobbistas que pueden hacer las cosas a su manera.

Personalmente, creo (por lo que he podido ver) que estas ineficiencias, a veces muy graves, vienen de una mezcla entre pereza, codicia, moda e ignorancia.

Pereza, porque gente que sabe hacer las cosas bien tira con lo mínimo porque vende igual (y total, el hardware está "sobrado"). La realidad es que no, que es muy fácil hacer que el hardware se sature, muchas veces por efectos colaterales. Por ejemplo los arrays de estructuras propiciadas por la programación orientada a objetos son mucho más lentos en memoria que las estructuras de arrays (orientación a datos), por cómo funcionan las CPU y la memoria cache.

Codicia, porque a las compañías que ponen la pasta les importa cero hacer un truño con tal de vender.

Moda, porque no se atiende a criterios técnicos sino que se siguen las "buzzword" de moda por parte de la caterva directiva, que impone tecnologías sin ton ni son porque es "lo que todo el mundo está usando". Esto es muy muy visible en el mundo web, donde auténticas montañas de mierda de interfaces de usuario en Javascript reimplementan funcionalidad que ya existe con muhca más calidad, eficiencia, accesibilidad y velocidad en el propio navegador. Esto es muy típico hoy día y sólo puede haber sido perpetrado por idiotas o ignorantes.
Hoy día hay oleadas de jóvenes que no saben hacer una web sin javascript (ni siquiera saben a nivel abstracto lo que hay por debajo), lo cual no es triste, es sobre todo muy preocupante sobre la formación que se recibe.

Ignorancia: la causa base de las tres anteriores.

Si has picado Java, te sonará algo que vi en mi primer trabajo. Dos try kilométricos anidados :roto2: . Pasándose totalmente por el forro el hecho de que una excepción es muy barata de lanzar, pero carísima de capturar.

Otra que viví fue "solucionar" un problema de que el ejecutable era demasiado grande. ¿Solución? Marcar como inmutables toneladas de arrays hardcodeados que se usaban como fuente primaria de configuración.

Vamos, que como bien sabes no se trata tanto de hacer "virguerías" con el código sino de tener sentido crítico y agallas para defenderlo.


Una de las consecuencias finales es que los jefecillos que ya llevan años en esto han aprendido en la práctica que con esta forma de "funcionar" los proyectos mueren cada ciertos años por la absoluta imposibilidad de seguir manteniéndolos. No digamos ya hacer evolutivos. Con lo que sale a cuenta saltar a otro proyecto empezado desde cero.

pollo

  • Administrator
  • Netocrata
  • *****
  • Gracias
  • -Dadas: 27360
  • -Recibidas: 29529
  • Mensajes: 3462
  • Nivel: 463
  • pollo Sus opiniones inspiran a los demás.pollo Sus opiniones inspiran a los demás.pollo Sus opiniones inspiran a los demás.pollo Sus opiniones inspiran a los demás.pollo Sus opiniones inspiran a los demás.pollo Sus opiniones inspiran a los demás.pollo Sus opiniones inspiran a los demás.pollo Sus opiniones inspiran a los demás.pollo Sus opiniones inspiran a los demás.pollo Sus opiniones inspiran a los demás.pollo Sus opiniones inspiran a los demás.pollo Sus opiniones inspiran a los demás.
    • Ver Perfil
Re:STEM
« Respuesta #343 en: Junio 08, 2023, 09:42:16 am »
Pero el H2 proviene de energía renovable... (que había que almacenar para no perderla.) Y además, sólo es el primero.
Espero respuestas más elaboradas que una línea con lo primero que hayas oído por ahí.

El H2 hoy por hoy proviene del refinado del petróleo porque no hay actualmente técnicas de producción industrial que escalen de forma eficiente, con lo que la supuesta ventaja inicial ya no existe.

Además de eso, siguen sin resolverse toda la larga lista de problemas que tiene su almacenamiento y transporte. Entre otros muchos inconvenientes, el H2 tiende a corroerlo todo por su alta tendencia a reaccionar con básicamente todo. Mientras no se solucionen esos problemas a escala industrial (y se lleva años intentando), el H2 no vale.

Se ha hablado largo y tendido ya en este mismo hilo. Lo mínimo es saber lo que ya se ha hablado.
https://hidrogeno-verde.es/primera-instalacion-de-produccion-comercial-de-metanol-verde/

Maersk apuesta por convertir el hidrógeno (verde) en metanol (verde). Si sale bien seguirán en Galicia y Andalucía, como se habló.
Esto no tienen ninguna posibilidad de ser rentable. Ya estamos hablando de como mínimo tres procesos intermediarios de conversión de la energía original (petroleo -> hidrógeno -> metanol -> consumo) todos con unas pérdidas considerables por el camino. Saldrá una eficiencia parecida al coche de combustión (20-30%) pero con un proceso mucho más caro.

pollo

  • Administrator
  • Netocrata
  • *****
  • Gracias
  • -Dadas: 27360
  • -Recibidas: 29529
  • Mensajes: 3462
  • Nivel: 463
  • pollo Sus opiniones inspiran a los demás.pollo Sus opiniones inspiran a los demás.pollo Sus opiniones inspiran a los demás.pollo Sus opiniones inspiran a los demás.pollo Sus opiniones inspiran a los demás.pollo Sus opiniones inspiran a los demás.pollo Sus opiniones inspiran a los demás.pollo Sus opiniones inspiran a los demás.pollo Sus opiniones inspiran a los demás.pollo Sus opiniones inspiran a los demás.pollo Sus opiniones inspiran a los demás.pollo Sus opiniones inspiran a los demás.
    • Ver Perfil
Re:STEM
« Respuesta #344 en: Junio 08, 2023, 09:44:46 am »
Bueno, depende de a qué juegos nos refiramos. Para los triple A, la inmensa mayoría. Pero todavía queda bastante gente que intenta hacer las cosas bien, específicamente en los desarrolladores independientes o hobbistas que pueden hacer las cosas a su manera.

Personalmente, creo (por lo que he podido ver) que estas ineficiencias, a veces muy graves, vienen de una mezcla entre pereza, codicia, moda e ignorancia.

Pereza, porque gente que sabe hacer las cosas bien tira con lo mínimo porque vende igual (y total, el hardware está "sobrado"). La realidad es que no, que es muy fácil hacer que el hardware se sature, muchas veces por efectos colaterales. Por ejemplo los arrays de estructuras propiciadas por la programación orientada a objetos son mucho más lentos en memoria que las estructuras de arrays (orientación a datos), por cómo funcionan las CPU y la memoria cache.

Codicia, porque a las compañías que ponen la pasta les importa cero hacer un truño con tal de vender.

Moda, porque no se atiende a criterios técnicos sino que se siguen las "buzzword" de moda por parte de la caterva directiva, que impone tecnologías sin ton ni son porque es "lo que todo el mundo está usando". Esto es muy muy visible en el mundo web, donde auténticas montañas de mierda de interfaces de usuario en Javascript reimplementan funcionalidad que ya existe con muhca más calidad, eficiencia, accesibilidad y velocidad en el propio navegador. Esto es muy típico hoy día y sólo puede haber sido perpetrado por idiotas o ignorantes.
Hoy día hay oleadas de jóvenes que no saben hacer una web sin javascript (ni siquiera saben a nivel abstracto lo que hay por debajo), lo cual no es triste, es sobre todo muy preocupante sobre la formación que se recibe.

Ignorancia: la causa base de las tres anteriores.

Si has picado Java, te sonará algo que vi en mi primer trabajo. Dos try kilométricos anidados :roto2: . Pasándose totalmente por el forro el hecho de que una excepción es muy barata de lanzar, pero carísima de capturar.

Otra que viví fue "solucionar" un problema de que el ejecutable era demasiado grande. ¿Solución? Marcar como inmutables toneladas de arrays hardcodeados que se usaban como fuente primaria de configuración.

Vamos, que como bien sabes no se trata tanto de hacer "virguerías" con el código sino de tener sentido crítico y agallas para defenderlo.


Una de las consecuencias finales es que los jefecillos que ya llevan años en esto han aprendido en la práctica que con esta forma de "funcionar" los proyectos mueren cada ciertos años por la absoluta imposibilidad de seguir manteniéndolos. No digamos ya hacer evolutivos. Con lo que sale a cuenta saltar a otro proyecto empezado desde cero.
A mí me gusta mucho la filosofía de diseño que sigue Rust por esto mismo: el compilador te obliga a hacer las cosas bien, lo cual actúa como filtro en muchos casos.

Tags:
 


SimplePortal 2.3.3 © 2008-2010, SimplePortal