Papers by Ali Safari Mamaghani

یکی از دغدغهی تایپیستها و افرادی که زیاد با صفحه کلید سروکار دارند، راحتی کار با آن است. مسئل... more یکی از دغدغهی تایپیستها و افرادی که زیاد با صفحه کلید سروکار دارند، راحتی کار با آن است. مسئله چینش بهینه صفحه کلید موضوعی است که مورد توجه بسیاری از پژوهشگران بوده و باعث انجام پژوهشهای زیادی در رابطه با این موضوع شده است. نتیجهی این پژوهشها و مطالعات انجام شده، به ارائه روشی برای اندازهگیری هزینهی تایپ انجامیده است. برای کمینه کردن هزینهی تایپ(تابع تناسب) میتوان از الگوریتمهای تکاملی و یا روشهای فراابتکاری استفاده کرد. الگوریتمی که ما برای کمینه سازی مسئله ارائه کردهایم، الگوریتم جستجوی ممنوع (TS) میباشد که با بررسی چینشهای مختلف، سعی در ارائه یک چینش بهینه بجای چینش استاندارد فعلی(صفحه کلید استاندارد فارسی ارائه شده از سوی سازمان استاندارد ملی ایران)را دارد. با اجرای الگوریتم بر روی چندین متن طولانی که از سایتهای خبری فارسی زبان اخذ شده بود، چینش بهتری نسبت به چینش استاندارد فعلی و چینش حاصل از الگوریتم ژنتیکی ارائه شده توسط آقای سجاد مرادی[6] بدست آمد. این بدین معنی است که امکان بهینه سازی صفحه کلید فعلی به کمک الگوریتم جستجوی ممنوع امکان پذیر میباشد.
One of the great concerns of typists and those who work a lot with the keyboard is feeling at comfort while using the keyboard. The optimal layout of the keyboard is an issue that is of interest to many researchers and causes a lot of research on this topic. The results of the studies have led to provide a way to measure the cost of typing. To minimize the cost of typing (fitness function) Evolutionary Algorithms or Meta-heuristic methods can be used. The algorithm that we have suggested for minimizing the problem, is the Tabu search algorithm (TS) that by examining different arrangements tries to provide an optimal arrangement instead of its current standard layout (Persian standard keyboard provided by the National Institute of Standards). Running the algorithm on several long texts, was taken from Persian-language news websites, had better ordering than the present one and the Genetic Algorithm provided by Mr. Sajjad Moradi. This means that, optimization of the current keyboard with the help of Tabu Search algorithm is possible.

Optimizing the database queries is one of hard research problems. Exhaustive search techniques li... more Optimizing the database queries is one of hard research problems. Exhaustive search techniques like dynamic programming is suitable for queries with a few relations, but by increasing the number of relations in query, much use of memory and processing is needed, and the use of these methods is not suitable, so we have to use random and evolutionary methods. The use of evolutionary methods, because of their efficiency and strength, has been changed in to a suitable research area in the field of optimizing the database queries. In this paper, a hybrid evolutionary algorithm has been proposed for solving the optimization of Join ordering problem in database queries. This algorithm uses two methods of genetic algorithm and learning automata synchronically for searching the states space of problem. It has been showed in this paper that by synchronic use of learning automata and genetic algorithms in searching process, the speed of finding an answer has been accelerated and prevented from getting stuck in local minimums. The results of experiments show that hybrid algorithm has dominance over the methods of genetic algorithm and learning automata.

Software modularization is a significant way to increase the maintenance of software systems. Des... more Software modularization is a significant way to increase the maintenance of software systems. Designers depict the structure of software systems as a directed graph referred to
as Module Dependency Graph in which nodes correspond to the software modules (such as files and classes) and edges relate to their relations (like function calls and inheritance relationship);These graphs can be partitioned into the meaningful clusters to be more accessible. Since Graph Partitioning is considered as a NP problem, here the application of exhaustive search algorithms are not so cost-effective that even for very small graphs they are not applicable. Therefore, many random approaches have been proposed for solving the problem. In this paper, a Firefly based method is presented to partition the software systems. However, some adjustments are needed to be made for using the FA for the problem. These modifications are as follows: change of the definition of fireflies, how to move fireflies toward better positions, and the alteration of fireflies’ distance definition.
Experimental results reveal that in most of the cases the proposed approach has a remarkable superiority over both the Genetic and the Learning Automaton algorithms in solving the
problem.

Evolutionary algorithms are some of the most crucial random approaches to solve the problems, but... more Evolutionary algorithms are some of the most crucial random approaches to solve the problems, but sometimes generate low quality solutions. On the other hand, Learning automata are adaptive decision-making devices, operating on unknown random environments, So it seems that if evolutionary and learning automaton based algorithms are operated simultaneously, the quality of results will increase sharply and the algorithm is likely to converge on best results very quickly.
This paper contributes an algorithm based on learning automaton to improve the evolutionary algorithm for solving a group of NP problems. It uses concepts of machine learning in search process, and increases the efficiency of evolutionary algorithm (especially genetic algorithm). In fact, the algorithm is prevented from being stuck in local optimal solutions by using learning automaton. Another positive point of the hybrid algorithm is its noticeable stability since standard division of
results, which is obtained by different executions of algorithm, is low; that is, the results are practically the same. Therefore, as the proposed algorithm is used for a set of well-known NP problems and the results are very suitable it can be considered
as a precise and reliable technique to solve the problems.

In this paper a particle swarm optimization algorithm is presented to solve the Quadratic Assignm... more In this paper a particle swarm optimization algorithm is presented to solve the Quadratic Assignment Problem, which is a NP-Complete problem and is one of the most interesting and challenging combinatorial optimization problems in existence. A heuristic rule, the Smallest Position Value (SPV) rule, is developed to enable the Continuous particle swarm optimization algorithm to be applied to the sequencing problems. So, we use SPV to the QAP problem, which is a discrete problem.
A simple but very efficient Hill Climbing method is embedded in
the particle swarm optimization algorithm.
We test our hybrid algorithm on some of the benchmark instances of QAPLIB, a well-known library of QAP instances.
This algorithm is compared with some strategies to solve the
problem. The computational results show that the modified
hybrid Particle Swarm algorithm is able to find the optimal and
best-known solutions on instances of widely used benchmarks
from the QAPLIB. In most of instances, the proposed method
outperforms other approaches. Experimental results illustrate
the effectiveness of proposed approach on the quadratic
assignment problem.
In this paper we develop a novel approximated procedure for the problem of reducing the bandwidth... more In this paper we develop a novel approximated procedure for the problem of reducing the bandwidth of a graph. This problem consists of finding a permutation of the rows and columns of a given matrix, which keeps the nonzero elements in a band that is as close as possible to the main diagonal. The new algorithm is based on object migration learning automaton. The algorithm is evaluated on a set of 113 well-known benchmark instances of the literatures and compared with several state-of-the-art algorithms, showing improvements of some previous best results. The positive point of the new proposed algorithm that it can balance the quality of results and running times. So the algorithm can lead to good results in a short running time.
Imperialist Competitive Algorithm (ICA) is a new socio-politically motivated global search strate... more Imperialist Competitive Algorithm (ICA) is a new socio-politically motivated global search strategy that has recently been introduced for dealing with different optimization problems. In this paper, we adopt ICA to solve the quadratic assignment problem which is a NP-Complete problem and is one of the most interesting and most challenging combinatorial optimization problems in existence. We test our algorithm on
some of the benchmark instances of QAPLIB, a well-known
library of QAP instances. This algorithm is compared with two
meta heuristic strategies. These methods are based on simulated annealing approach and genetic algorithm. In most of instances, the proposed method outperforms other approaches.
Experimental results illustrate the effectiveness of ICA approach
on the quadratic assignment problem.
Data Fragments Allocation is an important issue in designing Distributed Database System. This pr... more Data Fragments Allocation is an important issue in designing Distributed Database System. This problem is NP-complete, and thus requires fast heuristics and random algorithms to generate efficient solutions, so many algorithms for solving that have been reported in the literature. In this paper we used an object migration learning automaton-based algorithm. This approach is able to get suitable solutions in a reasonable amount of time even for moderate sized problems. Experimental results show that proposed algorithm has significant superiority over the several well-known methods.
Given a distributed database system and a set of queries from each site, the objective of a data ... more Given a distributed database system and a set of queries from each site, the objective of a data allocation algorithm is to locate the data fragments at different sites so as to minimize the total data transfer cost incurred in executing the queries. The data allocation problem, however, is NP-complete, and thus requires fast heuristics and random approaches to generate efficient solutions. In this paper an approximate algorithm has been proposed. This algorithm is a hybrid evolutionary algorithm obtained from combining object migration learning automata and genetic algorithm. Experimental results show that proposed algorithm has significant superiority over the several well-known methods.
Many problems have posed in the art gallery theorem. Most of them are NP-hard. In this paper, we ... more Many problems have posed in the art gallery theorem. Most of them are NP-hard. In this paper, we pose the new problem of guarding strategic points of a gallery. Given a polygon P with n vertices and m strategic points which are in that polygon, determine minimum number of guards for guarding the strategic points. In this paper, we present approximation algorithms for point, vertex and edge guard versions of this new problem.

Software clustering is a method for increasing software system understanding and maintenance. Sof... more Software clustering is a method for increasing software system understanding and maintenance. Software designers, first use MDG graph to model the structure of software system. In MDG, system modules (e.g. files ,classes) are represented as nodes and their relationships (e.g. function calls , inheritance relationships) as directed edges that connect the nodes. Once the MDG created, clustering algorithms are applied and create a partitioned MDG. Graph partitioning is a NP-Complete problem, So many algorithms for solving it has been reported in the literatures. In this paper two approximate algorithms have been proposed. The first algorithm is based on object migration learning automata and the second algorithm is a hybrid evolutionary algorithm obtained from combining object migration learning automata and genetic algorithm. The second algorithm by using learning automata and genetic algorithm accelerates the searching process and also prevents the algorithm from getting stuck in local optimal. Another positive point of the proposed algorithm is high stability. The proposed algorithms have been compared with some of the existing algorithms. Results show that the second algorithm has superiority over the existing methods.

Optimizing the database queries is one of hard research problems. Exhaustive search techniques li... more Optimizing the database queries is one of hard research problems. Exhaustive search techniques like dynamic programming is suitable for queries with a few relations, but by increasing the number of relations in query, much use of memory and processing is needed, and the use of these methods is not suitable, so we have to use random and evolutionary methods. The use of evolutionary methods, because of their efficiency and strength, has been changed in to a suitable research area in the field of optimizing the database
queries. In this paper, a hybrid evolutionary algorithm has been proposed for solving the optimization of Join ordering problem in database queries. This algorithm uses two methods of genetic algorithm and learning automata synchronically for searching the states space of problem. It has been showed in this paper that by synchronic use of learning automata and genetic algorithms in searching process, the speed of finding an
answer has been accelerated and prevented from getting stuck in local minimums. The results of experiments how that hybrid algorithm has dominance over the methods of genetic algorithm and learning automata.
Uploads
Papers by Ali Safari Mamaghani
One of the great concerns of typists and those who work a lot with the keyboard is feeling at comfort while using the keyboard. The optimal layout of the keyboard is an issue that is of interest to many researchers and causes a lot of research on this topic. The results of the studies have led to provide a way to measure the cost of typing. To minimize the cost of typing (fitness function) Evolutionary Algorithms or Meta-heuristic methods can be used. The algorithm that we have suggested for minimizing the problem, is the Tabu search algorithm (TS) that by examining different arrangements tries to provide an optimal arrangement instead of its current standard layout (Persian standard keyboard provided by the National Institute of Standards). Running the algorithm on several long texts, was taken from Persian-language news websites, had better ordering than the present one and the Genetic Algorithm provided by Mr. Sajjad Moradi. This means that, optimization of the current keyboard with the help of Tabu Search algorithm is possible.
as Module Dependency Graph in which nodes correspond to the software modules (such as files and classes) and edges relate to their relations (like function calls and inheritance relationship);These graphs can be partitioned into the meaningful clusters to be more accessible. Since Graph Partitioning is considered as a NP problem, here the application of exhaustive search algorithms are not so cost-effective that even for very small graphs they are not applicable. Therefore, many random approaches have been proposed for solving the problem. In this paper, a Firefly based method is presented to partition the software systems. However, some adjustments are needed to be made for using the FA for the problem. These modifications are as follows: change of the definition of fireflies, how to move fireflies toward better positions, and the alteration of fireflies’ distance definition.
Experimental results reveal that in most of the cases the proposed approach has a remarkable superiority over both the Genetic and the Learning Automaton algorithms in solving the
problem.
This paper contributes an algorithm based on learning automaton to improve the evolutionary algorithm for solving a group of NP problems. It uses concepts of machine learning in search process, and increases the efficiency of evolutionary algorithm (especially genetic algorithm). In fact, the algorithm is prevented from being stuck in local optimal solutions by using learning automaton. Another positive point of the hybrid algorithm is its noticeable stability since standard division of
results, which is obtained by different executions of algorithm, is low; that is, the results are practically the same. Therefore, as the proposed algorithm is used for a set of well-known NP problems and the results are very suitable it can be considered
as a precise and reliable technique to solve the problems.
A simple but very efficient Hill Climbing method is embedded in
the particle swarm optimization algorithm.
We test our hybrid algorithm on some of the benchmark instances of QAPLIB, a well-known library of QAP instances.
This algorithm is compared with some strategies to solve the
problem. The computational results show that the modified
hybrid Particle Swarm algorithm is able to find the optimal and
best-known solutions on instances of widely used benchmarks
from the QAPLIB. In most of instances, the proposed method
outperforms other approaches. Experimental results illustrate
the effectiveness of proposed approach on the quadratic
assignment problem.
some of the benchmark instances of QAPLIB, a well-known
library of QAP instances. This algorithm is compared with two
meta heuristic strategies. These methods are based on simulated annealing approach and genetic algorithm. In most of instances, the proposed method outperforms other approaches.
Experimental results illustrate the effectiveness of ICA approach
on the quadratic assignment problem.
queries. In this paper, a hybrid evolutionary algorithm has been proposed for solving the optimization of Join ordering problem in database queries. This algorithm uses two methods of genetic algorithm and learning automata synchronically for searching the states space of problem. It has been showed in this paper that by synchronic use of learning automata and genetic algorithms in searching process, the speed of finding an
answer has been accelerated and prevented from getting stuck in local minimums. The results of experiments how that hybrid algorithm has dominance over the methods of genetic algorithm and learning automata.
One of the great concerns of typists and those who work a lot with the keyboard is feeling at comfort while using the keyboard. The optimal layout of the keyboard is an issue that is of interest to many researchers and causes a lot of research on this topic. The results of the studies have led to provide a way to measure the cost of typing. To minimize the cost of typing (fitness function) Evolutionary Algorithms or Meta-heuristic methods can be used. The algorithm that we have suggested for minimizing the problem, is the Tabu search algorithm (TS) that by examining different arrangements tries to provide an optimal arrangement instead of its current standard layout (Persian standard keyboard provided by the National Institute of Standards). Running the algorithm on several long texts, was taken from Persian-language news websites, had better ordering than the present one and the Genetic Algorithm provided by Mr. Sajjad Moradi. This means that, optimization of the current keyboard with the help of Tabu Search algorithm is possible.
as Module Dependency Graph in which nodes correspond to the software modules (such as files and classes) and edges relate to their relations (like function calls and inheritance relationship);These graphs can be partitioned into the meaningful clusters to be more accessible. Since Graph Partitioning is considered as a NP problem, here the application of exhaustive search algorithms are not so cost-effective that even for very small graphs they are not applicable. Therefore, many random approaches have been proposed for solving the problem. In this paper, a Firefly based method is presented to partition the software systems. However, some adjustments are needed to be made for using the FA for the problem. These modifications are as follows: change of the definition of fireflies, how to move fireflies toward better positions, and the alteration of fireflies’ distance definition.
Experimental results reveal that in most of the cases the proposed approach has a remarkable superiority over both the Genetic and the Learning Automaton algorithms in solving the
problem.
This paper contributes an algorithm based on learning automaton to improve the evolutionary algorithm for solving a group of NP problems. It uses concepts of machine learning in search process, and increases the efficiency of evolutionary algorithm (especially genetic algorithm). In fact, the algorithm is prevented from being stuck in local optimal solutions by using learning automaton. Another positive point of the hybrid algorithm is its noticeable stability since standard division of
results, which is obtained by different executions of algorithm, is low; that is, the results are practically the same. Therefore, as the proposed algorithm is used for a set of well-known NP problems and the results are very suitable it can be considered
as a precise and reliable technique to solve the problems.
A simple but very efficient Hill Climbing method is embedded in
the particle swarm optimization algorithm.
We test our hybrid algorithm on some of the benchmark instances of QAPLIB, a well-known library of QAP instances.
This algorithm is compared with some strategies to solve the
problem. The computational results show that the modified
hybrid Particle Swarm algorithm is able to find the optimal and
best-known solutions on instances of widely used benchmarks
from the QAPLIB. In most of instances, the proposed method
outperforms other approaches. Experimental results illustrate
the effectiveness of proposed approach on the quadratic
assignment problem.
some of the benchmark instances of QAPLIB, a well-known
library of QAP instances. This algorithm is compared with two
meta heuristic strategies. These methods are based on simulated annealing approach and genetic algorithm. In most of instances, the proposed method outperforms other approaches.
Experimental results illustrate the effectiveness of ICA approach
on the quadratic assignment problem.
queries. In this paper, a hybrid evolutionary algorithm has been proposed for solving the optimization of Join ordering problem in database queries. This algorithm uses two methods of genetic algorithm and learning automata synchronically for searching the states space of problem. It has been showed in this paper that by synchronic use of learning automata and genetic algorithms in searching process, the speed of finding an
answer has been accelerated and prevented from getting stuck in local minimums. The results of experiments how that hybrid algorithm has dominance over the methods of genetic algorithm and learning automata.