magicfile icon magicfile

Example of source and code in the subject of nuclear algorithm

نمونه-سورس-و-کددر-موضوع-الگوريتم هسته-اي
Short description and download link
Today, in this post, for you, dear users of the MagicFile website, we have provided a sample source and code on the subject of the nuclear algorithm, ready for download.


List of similar files

Short link:

Full description of the file

Download sample source and code on the subject of nuclear algorithm

Today, in this post, for you, dear users of the MagicFile website, we have provided a sample source and code on the subject of the nuclear algorithm, ready for download.

Sample image at runtime

نمونه سورس و کد در موضوع الگوريتم هسته اي

Learn more about the nuclear algorithm

Introduction: This is the first generation of very new algorithms. We propose a well-known phenomenon in nuclear physics called nuclear fission on the problem of optimization. Basic Definitions: Nuclear Fission: When a neutron strikes the nucleus of an atom of uranium-235 isotopes, it causes the nucleus to split into two pieces, each with a nucleus containing about half of the protons and neutrons in the nucleus. Is. In the fission process, large amounts of heat energy are released, as well as gamma rays and two or more neutrons. Under certain conditions, volatile neutrons collide with the surrounding uranium nuclei, resulting in more fission to the surrounding uranium nuclei, which then emit more neutrons that split more nuclei. This series of rapidly increasing fission culminates in a chain reaction in which almost all fissile material is consumed. Fission of neutrons and protons: Neutrons: The elementary particle in the nucleus of an atom that has no electric charge, we will show it as {name, value ،, in our proposed example: the name will be an alphabetic letter and the value refers to the following. Weight between the current neutron and the next neutron. Proton: A positively charged elementary particle, in our proposed example, is represented by a {name, value:: the name will always be [PROTON] and the value is omitted because here we ignore the electrical effect. The reason for using protons will be mentioned later. Nucleus: An organized group of neutrons and protons (because order is important in our example). Compression: Describes the internal structure of the nucleus, here defined as the total number of neutrons within the nucleus. Redundancy: It also describes the internal structure of the nucleus and is defined as the highest frequency among all neutrons in the nucleus. Of course, there can be no less than one potential: the latent power of the nucleus describes its ability to provide the best solution (if maximized or minimized). For each nucleus with the total weight of all neutrons in the nucleus is executed. We will look for the optimal core with the least potential (for example, the minimization problem) that satisfies the compression and redundancy conditions. Criticality: The critical state (total reaction) is determined by the probability that a neutron released in the fission will cause the next fission. If, on average, less than one neutron causes another fission, the fission velocity decreases over time and eventually decreases. Zero This condition is called sub-critical. When more than one neutron causes the next fission, the fission velocity and power increase and is called a supercritical state. Nuclear heat factor: The stronger the explosion, the more thermal energy is produced. The more neutrons are released after each single fission, the more heat (larger explosion) is generated (this increases the criticality of the reaction). ) Is determined here by the average number released. Neutrons cause atomic decay: After splitting, the unstable atomic nucleus decomposes into a more stable nucleus that emits beta particles and gamma rays. In negative beta decay (denoted by? - decay), an unstable nucleus emits a energetic electron and an antinotrino, and one neutron in the nucleus is converted to a proton that remains in the product nucleus. Here we neglect the electron and anti-neutrino effects to keep things simple. We will choose the worst neutron nucleus for that decay. The basics of this algorithm will help: Data structure diagram and implementation: We will try to find the easiest way to implement our concepts. Otherwise the calculations will be very complicated. Simulation_Problem class: The problem is simulated by a two-dimensional array that shows the travel costs from mode X1 to mode X2. States are named alphabetically {A. . Z} This class is created each time you load the program to create a new random matrix of real numbers. To get the cost [X1 - X2] we will look at row X1 and column X2 in the matrix. Neutron class: (name as string, value as double) This is used for neutrons and protons, but when used for protons, it will be called "PROTON", when for neutrons Are used, the name will be a name. Alphabetic Core Category: -Sub Random_Fill_Nucleus (): To fill it with random neutrons and protons after each reaction. -Function Potentiality (): To get the total weight of the core, we want to minimize it to the lowest possible cost, and this is what the reaction will do. -Function Redundancy (): Searches for maximum repetition in the kernel, this is a rough term due to which many solutions are removed, as we will see later, can not be less than one. Function Compactness (): The number of neutrons we have obtained in the nucleus, this will be an important condition in the optimal solution, where we are committed to its minimum value, there is no definite answer to this problem, so we will solve کرد. abo has a certain threshold of compression and leaves the determination of its best response to the end user. -Sub Emit_Beta (): Looks for the neutron with the worst value in the nucleus and converts it to a proton. Class Serial_Reaction: -Sub initialize (): For all amounts of material: Create a random kernel without redundancy (add = 1) and calculate the weight of all random kernels. We also have a set of active neutrons and fill it with a user-defined initial neutron release (which is a number of random neutrons), rest assured that this will intensify the nuclear reaction. If we have not previously set any values ​​for the best solution, assign each core to it. (This only happens before the first reaction). -Sub Release (): Applies a set of reactions to matter and is represented by the following steps: Check the stop coefficient to see if we have to stop in the matter for each nucleus: -A random neutron from the set of active neutrons Receive. . - Generate a random random number to determine the location of the impact - Place the active neutron inside the nucleus to execute the impact - If the impact nucleus meets the threshold of redundancy and compression, it will not be sacrificed. But to continue the reaction, it is marked as "not ready" and added to the list of candidates. If the core does not meet the threshold blows, it will split the core: + Divide the core into two equal parts. + In each part, look for neutrons with the best value (minimum value). Add the best neutrons found to the list of active neutrons due to the nuclear heat factor. + Process radioactive nuclei after atomic decay (delete invalid excess and recalculate the values ​​of both parts because the nucleus structure has changed) and then add it to the list of candidates. Check out the list of new candidates: If we find a nucleus with a better overall cost (less potential), this is our best new solution. Call Sub initialize () to prepare for the new reaction. Using the program: [Please read the whole article before running the program] In fact, the program does more work for you, it creates a new problem at every start, you just want to set the appropriate parameters for the algorithm. Do not use large amounts of material or large atomic decomposition factor (we will get to that). Large amounts of material or the size of a large nucleus will cause your computer to crash. (I use core2dou with 4GB of RAM for default parameters) Determines the stop coefficient of the number of reactions, and because we used the letters A..Z as possible states, the compression can not exceed 26 (interface of most sensitive parameters protects). To start, press Start, if it takes a long time, press Stop and change the parameters to study their effect. (You may need to implement a new problem in the code to study the effect well.) In the title above the form you will see the number of unique solutions (duplicate solutions are removed from this) and the optimal solutions in the box. The text is printed. In the middle of the points of interest form: We find that the optimal kernel size for many samples can be estimated by this equation: kernel size = compression ratio * 2 + redundancy coefficient so it is automatically adjusted by the program. If you study the code deeply, you will find that the status of each reaction at the beginning will be critical. And over time it becomes sub-critical. This is good because we are not sure of the full value of the compaction, and this method gives us a good range of compaction due to fission. Sometimes if you change the parameters, you will see that after a while the reaction mode becomes sub-critical and then all the fissile material is consumed, so the serial reaction does not continue, you should try to avoid this mode. Here we implemented the sub-string () to represent only neutrons, in fact if you display the whole nucleus (sometimes) you will see protons in it, in our implementation we bypassed these protons because We assumed that their occurrence or sequence had no effect. In the real world, weighted neutrons will be released after splitting into two or more, so to maintain a supercritical state and avoid being in the "fissile material consumed" state, use an appropriate number (greater than one) Select as a nuclear heat agent. Due to the nature of the atomic decay mechanism, compaction is deeply affected by the atomic decay factor, so you should choose a relatively small number (but greater than zero). The nuclei will initially have a large potential in which the reaction will be supercritical, and because of the fission (which reduces compaction and thus the total cost of neutrons), the nuclei will have a small potential at which the reaction becomes subcritical. And this is what we want because it is active. Neutrons collide with nuclei with small potentials to produce more optimal solutions. Redundancy_Killer () function is very important to reduce redundancy to a minimum level (1) so that we can produce new comparable random cores. In this example, the nuclei were initialized with 10% protons. Real-world application (example): An airline wants a work plan to organize its flights in many countries, visit at least X airports with the least amount of fuel, and with conditions such as: should not visit the same airport more than (N) . Times) 3 or 4 times .. because the passenger will not be much and therefore economic income will not be optimal. This is a nuclear algorithm in which: Neutron: Airport core: Compact work schedule: X Redundancy: N Potential: Total cost of travel at airports (per core) Other experimental factors are adjusted by the user to achieve the best response Are. Nuclear Algorithms vs. Genetics (Why is a Nuclear Better?): Genetic algorithms (unlike here) do not directly remove a bad gene from a candidate's solution. Instead, it requires many generations (mutations and crosses). In genetic algorithms, genome length is in contrast to fixed-core algorithms, which can be used to solve problems whose solution length is unknown. Genetic algorithms do not detect the "unknown" or "dead end" sub-solution while it is detected here (proton). Nuclear algorithms converge much faster than genetic algorithms due to atomic decay. The genetic algorithm does not deal with difficult conditions such as the maximum allowable replication of certain genes on the chromosome, and if you try to implement this, you will find that these conditions cause the genetic algorithm to converge (much slower). Genetic algorithms are heavily influenced by the previous generation, which can be bad, but nuclear algorithms start randomly after each reaction, so there is a better chance of finding a better new undiscovered solution (as a whole new breed in GA) after the previous reaction. Genetic algorithms talk about blind (unstudied) mutations and do not use any function to find the "best mutation", unlike nuclear algorithms that use the "best weight neutrons" to do nuclear fission.

Main features:

  • High speed and performance at runtime
  • Adjustability (atomic decay factor - nuclear factor oriented - amount of material - nuclear size - stopping factor - compression threshold - Terschold redundancy - primary released neutrons)
  • Display information table
  • And ...

Dear users, a download offer is given to you.

Click on the link below to get a sample of the source and code of in the subject of nuclear algorithm

Click here to download

Files that you may need

نمونه-سورس-و-کد-نرم-افزار-زنگ-هشدار-باو-پایگاه-داده-ای Microsoft-Access-for-Database

Sample source code and alarm software with Visual Basic .net and Microsoft Access for Database

more details

User comments

کد امنیتی

List of website special files

Download automatic translation software for po, pot files in full for all languages, including Persian

Download software to convert text file to vcf (mobile contact)

Download software to change the source language and code of Visual Studio (design elements of form design)

The best notification service push script notification management and build site notification push

Extracting Instagram followers Instagram robot software to receive a complete list of followers and followers