KR101723770B1 - Method and system for recommending problems based on player matching technique - Google Patents
Method and system for recommending problems based on player matching technique Download PDFInfo
- Publication number
- KR101723770B1 KR101723770B1 KR1020160019527A KR20160019527A KR101723770B1 KR 101723770 B1 KR101723770 B1 KR 101723770B1 KR 1020160019527 A KR1020160019527 A KR 1020160019527A KR 20160019527 A KR20160019527 A KR 20160019527A KR 101723770 B1 KR101723770 B1 KR 101723770B1
- Authority
- KR
- South Korea
- Prior art keywords
- player
- rating
- probability
- level
- recommendation
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0207—Discounts or incentives, e.g. coupons or rebates
- G06Q30/0224—Discounts or incentives, e.g. coupons or rebates based on user history
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09B—EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
- G09B7/00—Electrically-operated teaching apparatus or devices working with questions and answers
- G09B7/06—Electrically-operated teaching apparatus or devices working with questions and answers of the multiple-choice answer-type, i.e. where a given question is provided with a series of answers and a choice has to be made from the answers
Abstract
Description
본 발명은 문제 추천에 관한 것으로, 상세하게는, 플레이어 매칭 기법에 기반하는 문제 추천 시스템에 관한 것이다.The present invention relates to problem recommendations, and more particularly, to problem recommendation systems based on player matching techniques.
컴퓨터 프로그래밍 도메인에서는 프로그래머의 프로그래밍 능력을 측정하는 많은 대회가 열린다. 이런 대회들은 유수의 IT 기업들의 지원을 받으며, 많은 프로그래머들은 이런 대회에 입상하는 것을 꿈꾸고, IT 기업들은 입상자에게 상금뿐 아니라 입사의 기회도 제공한다.In the computer programming domain, there are many conventions that measure programmers' programming skills. These competitions are supported by prominent IT companies, many programmers dream of winning these competitions, and IT companies offer not only prize money but also job opportunities.
이러한 이유로 인해 대회 준비를 위해서 프로그래머들에게 연습 문제를 제공하는 웹 서비스들도 다수 존재한다. 그러나 이러한 문제 제공 서비스들은 너무 많은 수의 대회와 문제, 참가자들로 인해 프로그래머들의 능력에 따른 적절한 문제들을 효율적으로 제공하고 있지 못하다.For this reason, there are a number of Web services that provide programmers with exercises to prepare for the competition. However, these problem provision services do not efficiently provide adequate problems according to the ability of programmers due to too many conferences and problems and participants.
만약 웹 서비스가 프로그래머들에게 알맞은 난이도의 문제를 추천하는 시스템을 갖춘다면, 프로그래머들은 더 효과적으로 자신의 능력을 향상시킬 수 있을 것이다. If a Web service has a system that recommends programmers the right level of difficulty, programmers will be able to improve their capabilities more effectively.
특허문헌 제10-1089163호는, 복수 개의 콘텐츠 및 상기 콘텐츠의 난이도 정보가 저장되는 콘텐츠 데이터베이스; 학습자로부터 상기 콘텐츠 데이터베이스에 저장된 콘텐츠의 학습에 따른 성취도를 계산하는 성취도 계산부; 상기 학습자가 기 학습한 콘텐츠와 상기 콘텐츠 데이터베이스에 저장된 콘텐츠간의 유사도를 계산하는 유사도 계산부; 및 상기 콘텐츠 데이터베이스에 저장된 상기 콘텐츠의 난이도 정보, 상기 성취도 계산부에서 측정된 상기 학습자의 성취도, 및 상기 유사도 계산부에서 계산된 상기 유사도 정보를 이용하여, 성취도가 높을수록 난이도가 높고 유사도가 낮은 후행 학습 콘텐츠가 선택되고, 성취도가 낮을수록 난이도가 낮고 유사도가 높은 후행 학습 콘텐츠가 선택되도록 상기 콘텐츠 데이터베이스에 저장된 상기 콘텐츠 중 상기 학습자가 학습할 후행 학습 콘텐츠를 선택하는 콘텐츠 추천부;를 포함하는, 학습 콘텐츠 제공 장치를 제공함으로써, 학습자가 풀이한 컨텐츠의 성적과 컨텐츠의 난이도에 기반하여 후행 학습 컨텐츠를 결정하는 것을 개시하고 있다.Patent Document 10-1089163 discloses a content database in which a plurality of contents and difficulty information of the contents are stored; An achievement calculator for calculating an achievement score of a content stored in the content database from a learner; A similarity calculation unit for calculating a similarity between the content learned by the learner and the content stored in the content database; And a degree of difficulty of the content stored in the content database, an achievement degree of the learner measured by the achievement degree calculation unit, and the degree of similarity information calculated by the degree of similarity calculation unit, And a content recommending unit that selects a succeeding learning content to be learned by the learner among the content stored in the content database so that the learning content is selected and the degree of difficulty and the degree of similarity of the posterior learning content become lower as the achievement degree is lower Discloses that the learner determines the trailing learning contents based on the score of the contents solved and the difficulty of the contents by providing the contents providing apparatus.
하지만, 플레이어에게 제공되는 문제들은 난이도가 이미 결정되어 있고, 플레이어가 해당 문제를 풀이한 점수에 따라서 플레이어의 등급만을 결정하고, 결정된 등급과 유사한 것으로 결정되는 후행 학습을 제공하는 것은, 다수의 문제들 중에서 플레이어의 실력에 적합한 난이도의 문제를 제공하는 것에 한계가 있다.However, the problems presented to the player are determined by the degree of difficulty already determined, the player only determines the player's rating according to the score of the problem solved, and providing the post-learning determined to be similar to the determined grade, There is a limitation in providing a problem of degree of difficulty suitable for the skill of the player.
상술한 바와 같이, 플레이어가 대회를 준비함에 있어서, 문제들 중 플레이어의 실제 실력에 적합한 난이도의 문제를 선별하여 제공하기 위한 문제 추천 방법 및 그 시스템의 제공이 필요한 실정이다.As described above, there is a need for a problem recommendation method and a system for providing a problem of difficulty suitable for a player's actual skill in the preparation of a competition for a player.
본 발명의 다양한 실시 예에 따르면, 문제들 각각의 등급과 플레이어의 등급을 비교하여 플레이어의 등급에 적합한 문제를 추천하는 방법 및 시스템을 제공할 수 있다.According to various embodiments of the present invention, it is possible to provide a method and system for recommending a problem appropriate to a player's rating by comparing the rating of each of the problems with the rating of the player.
본 발명의 다양한 실시 예에 따르면, 문제들 각각의 등급, 대회의 등급에 기반하여 플레이어들의 문제 풀이했는지 여부와 플레이어의 등급을 비교하여 데이터베이스를 업데이트하고, 플레이어에 적합한 문제를 추천하는 방법 및 그 시스템을 제공할 수 있다.According to various embodiments of the present invention, there is provided a method of comparing a rating of a player with a rating of a player based on a rating of each rating of a problem, Can be provided.
본 발명의 일 실시 예에 따르면, 플레이어 매칭 기법에 기반하는 문제 추천 방법은, 입력된 플레이어의 등급을 확인하는 단계; 기 풀이된 문제들의 승패 여부에 기반하는 문제들의 등급을 확인하는 단계; 상기 플레이어의 등급 및 상기 문제들의 등급에 따른 상기 플레이어의 상기 문제들에 대한 승리 확률을 결정하는 단계; 상기 승리 확률이 지정된 수치에 가까운 순서에 따라서 상기 문제들을 나열하는 단계; 및 상기 나열된 문제들 중 지정된 수를 상기 플레이어에게 제공하는 단계;를 포함할 수 있다.According to an embodiment of the present invention, a problem recommendation method based on a player matching technique includes: checking a rating of an input player; Confirming the rating of the problems based on whether or not to solve the problems; Determining a winning probability for the player's problems according to the rating of the player and the rating of the problems; Enumerating the problems according to an order in which the victory probability is close to a specified value; And providing the player with a designated number of the listed problems.
다양한 실시 예에 따르면, 상기 플레이어의 등급은, 입력된 상기 플레이어의 정보에 기반하여 결정되며, 상기 플레이어의 등급이 지정되지 않은 경우, 상기 문제들 중 둘 이상의 난이도에 대응되는 적어도 하나를 포함하여 제공되는 테스트 문제에 기반하여 결정할 수 있다.According to various embodiments, the rating of the player is determined based on information of the player input, and when the rating of the player is not specified, at least one of the problems corresponding to two or more difficulties is provided Can be determined based on the test problem.
다양한 실시 예에 따르면, 상기 문제들의 등급은, 상기 문제들의 레벨, 상기 문제들을 포함하는 대회의 레벨 중 적어도 하나를 포함할 수 있다.According to various embodiments, the grade of the problems may include at least one of the level of the problems, the level of the competition including the problems.
다양한 실시 예에 따르면, 플레이어 매칭 기법에 기반하는 문제 추천 방법은, 상기 문제들의 등급 및 상기 플레이어의 등급에 기반하여 상기 문제들이 상기 플레이어에게 적합한 레벨일 확률을 결정하는 단계; 및 상기 적합한 레벨일 확률이 높은 순서에 따라서 지정된 수를 상기 플레이어에게 제공하는 단계;를 더 포함할 수 있다.According to various embodiments, a problem recommendation method based on a player matching technique comprises: determining a probability that the problems are at a level suitable for the player based on the rating of the problems and the rating of the player; And providing the player with a designated number in the order of higher probability of the appropriate level.
다양한 실시 예에 따르면, 상기 데이터베이스의 기 풀이된 문제들의 승패 여부는, 상기 플레이어가 문제의 정답을 입력하는 경우 상기 플레이어가 승리한 것으로 결정하고, 상기 플레이어가 문제의 오답을 입력한 경우 상기 플레이어가 패배한 것으로 결정할 수 있다.According to various embodiments, whether or not to overcome the problems in the database is determined by determining that the player has won when the player inputs a correct answer to the question, and if the player has input a wrong answer to the question, You can decide to be defeated.
다양한 실시 예에 따르면, 상기 플레이어의 등급 및 상기 문제들의 등급에 기반하여 상기 플레이어의 상기 문제들에 대한 승리 확률을 결정하는 단계는, 상기 플레이어의 등급 및 상기 문제들의 등급을 적어도 하나의 플레이어 매칭 기법에 적용하여 결정할 수 있다. According to various embodiments, determining the victory probability for the player's problems based on the rating of the player and the rating of the problems may include comparing the rating of the player and the rating of the problems with at least one player matching technique And the like.
다양한 실시 예에 따르면, 플레이어 매칭 기법에 기반하는 문제 추천 방법은, 상기 제공된 문제에 대한 상기 플레이어의 승패를 상기 데이터베이스에 업데이트하는 과정; 및 상기 플레이어의 승패에 기반하여 상기 플레이어의 등급을 조정하는 단계;를 더 포함할 수 있다.According to various embodiments, a problem recommendation method based on a player matching technique comprises: updating the win / loss of the player against the provided problem to the database; And adjusting the rating of the player based on the win / loss of the player.
본 발명의 일 실시 예에 따르면, 플레이어 매칭 기법에 기반하는 문제 추천 시스템은, 문제들의 데이터베이스를 포함하는 메모리; 플레이어로부터 정보를 입력 받는 플레이어 입력부; 문제들을 상기 플레이어에게 제공하는 추천 문제 제공부; 및 상기 메모리, 상기 플레이어 입력부 및 상기 추천 문제 제공부와 연결된 프로세서를 포함하고, 상기 프로세서는, 상기 플레이어 입력부를 통해서 입력된 플레이어의 등급을 확인하고, 상기 데이터베이스에 포함된 기 풀이된 문제들의 승패 여부에 따른 문제들의 등급을 확인하고, 상기 플레이어의 등급 및 상기 문제들의 등급에 기반하여 상기 플레이어의 상기 문제들에 대한 승리 확률을 결정하고, 상기 승리 확률이 지정된 수치에 가까운 순서에 따라서 상기 문제들을 나열하고, 상기 나열된 문제들 중 지정된 수를 상기 추천 문제 제공부를 통해서 상기 플레이어에게 제공하도록 처리할 수 있다.According to one embodiment of the present invention, a problem recommendation system based on a player matching technique comprises: a memory including a database of problems; A player input unit for receiving information from the player; A recommendation problem providing unit for providing problems to the player; And a processor coupled to the memory, the player input unit, and the recommendation problem providing unit, wherein the processor confirms a rating of a player input through the player input unit, Determining a winning probability for the player's problems based on the rating of the player and the rating of the problems and comparing the winning probabilities to the problems listed And process the designated number of the listed problems to provide the player with the recommended problem providing unit.
다양한 실시 예에 따르면, 상기 프로세서는, 입력된 상기 플레이어의 정보에 기반하여 상기 플레이어의 등급을 결정하며, 상기 플레이어의 등급이 지정되지 않은 경우, 상기 문제들 중 둘 이상의 난이도에 대응되는 적어도 하나를 포함하여 제공되는 테스트 문제에 기반하여 상기 플레이어의 등급을 결정할 수 있다.According to various embodiments, the processor may determine the player's rating based on information of the player input, and if the player's rating is not specified, at least one of the problems corresponding to two or more difficulties The player can determine the rating of the player based on the test questions provided.
다양한 실시 예에 따르면, 상기 프로세서는, 상기 문제들의 레벨, 상기 문제들을 포함하는 대회의 레벨 중 적어도 하나를 상기 문제들의 등급에 포함할 수 있다.According to various embodiments, the processor may include at least one of a level of the problems, a level of competition including the problems, in the class of the problems.
다양한 실시 예에 따르면, 상기 프로세서는, 상기 문제들의 등급 및 상기 플레이어의 등급에 기반하여 상기 문제들이 상기 플레이어에게 적합한 레벨일 확률을 결정하고, 상기 적합한 레벨일 확률이 높은 순서에 따라서 지정된 수를 상기 플레이어에게 제공하도록 처리할 수 있다.According to various embodiments, the processor is further configured to determine a probability that the problems are at a level suitable for the player based on the rating of the problems and the rating of the player, To be provided to the player.
다양한 실시 예에 따르면, 상기 프로세서는, 상기 플레이어가 문제의 정답을 입력하는 경우 상기 플레이어가 승리한 것으로 결정하고, 상기 플레이어가 문제의 오답을 입력한 경우 상기 플레이어가 패배한 것으로 결정할 수 있다.According to various embodiments, the processor may determine that the player has won when the player enters a correct answer to the question, and may determine that the player is defeated if the player has entered an incorrect answer.
다양한 실시 예에 따르면, 상기 프로세서는, 상기 플레이어의 등급 및 상기 문제들의 등급 중 적어도 일부를 적어도 하나의 플레이어 매칭 기법에 적용하여 상기 플레이어의 상기 문제들에 대한 승리 확률을 결정할 수 있다.According to various embodiments, the processor may apply at least a portion of the rating of the player and a class of the problems to at least one player matching technique to determine a win probability for the player's problems.
다양한 실시 예에 따르면, 상기 프로세서는, 상기 제공된 문제에 대한 상기 플레이어의 승패를 상기 데이터베이스에 업데이트하고, 상기 플레이어의 승패에 기반하여 상기 플레이어의 등급을 조정하도록 처리할 수 있다.According to various embodiments, the processor may process the player to win or lose against the provided problem to the database, and adjust the player's rating based on win or loss of the player.
본 발명의 다양한 실시 예에 따르면, 문제들 각각의 등급과 플레이어의 등급을 비교하여 플레이어의 등급에 적합한 문제를 추천함으로써, 플레이어의 실력을 향상시킬 수 있다.According to various embodiments of the present invention, the player's skill can be improved by comparing the rating of each of the problems with the rating of the player and recommending a problem that is appropriate to the rating of the player.
본 발명의 다양한 실시 예에 따르면, 문제들 각각의 등급, 대회의 등급에 기반하여 플레이어들의 문제 풀이했는지 여부와 플레이어의 등급을 비교하여 데이터베이스를 업데이트함으로써, 플레이어의 실력을 효과적으로 향상시킬 수 있다.According to various embodiments of the present invention, it is possible to effectively improve the player's ability by comparing the rating of the player with whether the player has solved the problem based on the rating of each of the problems, the tournament, and updating the database.
도 1은 본 발명의 일 실시 예에 따른 문제 추천 시스템의 대략적인 구조 및 동작을 도시하는 도면이다.
도 2는 본 발명의 일 실시 예에 따른 문제 추천 시스템에서, 각각의 문제, 대회 플레이어에 대응되는 레벨을 도시하는 도면이다.
도 3을 참조하면, 본 발명의 일 실시 예에 따른 문제 추천 시스템에서, 플레이어A가 이길 확률에 기반하여 특정 대회에 포함되는 문제들에 대한 적합한 레벨일 확률을 나타내는 도면이다.
도 4는 본 발명의 일 실시 예에 따른 문제 추천 시스템에서 입력된 플레이어 정보 기반하여 문제를 추천하는 동작의 흐름도이다.
도 5는, 본 발명의 일 실시 예에 따른 문제 추천 시스템에서, 제안된 승리 확률 과 비교군 승리 확률이 결정된 문제들을 정렬하고, 지정된 수의 문제들에 대하여 플레이어A가 풀이한 문제의 비율을 도시한 그래프이다.
도 6은, 본 발명의 일 실시 예에 따른 문제 추천 시스템에서, 다양한 플레이어 각각에 대하여 문제를 풀 확률이 50%에 가까운 순서에 따라서 제공하는 문제들 및 그 비율을 도시한 그래프이다.1 is a diagram showing an approximate structure and operation of a problem recommendation system according to an embodiment of the present invention.
FIG. 2 is a diagram showing a level corresponding to each problem, a tournament player, in a problem recommendation system according to an embodiment of the present invention. FIG.
Referring to FIG. 3, in a problem recommendation system according to an exemplary embodiment of the present invention, there is shown a probability that a player A is at an appropriate level for problems included in a specific competition based on a probability of winning.
4 is a flowchart illustrating an operation for recommending a problem based on player information input in a problem recommendation system according to an exemplary embodiment of the present invention.
FIG. 5 illustrates an example of a problem recommendation system according to an exemplary embodiment of the present invention. In FIG. 5, the proposed win probability and the comparison group win probability are sorted and the ratio of the problem solved by the player A It is a graph.
FIG. 6 is a graph showing the problems and the ratios of providing problems for each of the various players in a problem recommendation system according to an embodiment of the present invention, in a sequence close to 50%.
이하, 첨부한 도면을 참고로 하여 본 발명의 다양한 실시 예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며, 특정 실시 예가 도면에 예시되고, 관련된 상세한 설명이 기재될 수 있다, 그러나, 이는 본 발명을 특정한 실시 형태에 대하여 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경 및/또는 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략할 수 있고, 명세서 전체를 통하여 동일 또는 유사한 구성 요소에 대해서는 동일한 참조 부호를 사용할 수 있다.Hereinafter, various embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art can easily carry out the present invention. The present invention may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, it is to be understood that the invention is not limited to the specific embodiments thereof, And equivalents and alternatives falling within the spirit and scope of the invention. In order to clearly illustrate the present invention in the drawings, parts not related to the description may be omitted, and the same reference numerals may be used for the same or similar components throughout the specification.
본 발명의 다양한 실시 예에서, '또는', '적어도 하나' 등의 표현은 함께 나열된 단어들 중 하나를 나타내거나, 또는 둘 이상의 조합을 나타낼 수 있다. 예를 들어, 'A 또는 B', 'A 및 B 중 적어도 하나'는 A 또는 B 중 하나만을 포함할 수도 있고, A와 B를 모두 포함할 수도 있다.In various embodiments of the present invention, expressions such as 'or', 'at least one', etc. may denote one of the words listed together, or may represent a combination of two or more. For example, 'A or B', 'At least one of A and B' may include only one of A or B, and may include both A and B.
본 발명의 다양한 실시 예에서, '제1 ', '제2 ', '첫째', '둘째' 등의 표현은 다양한 구성 요소들을 수식할 수 있지만, 반드시 해당 구성 요소의 순서, 또는 중요도 등을 의미하는 것으로 한정하지 않는다. 예를 들어, 제1 장치와 제2 장치는 모두 장치이며 서로 다른 장치를 나타낼 수 있다. 또한, 본 발명의 다양한 실시 예의 권리 범위를 벗어나지 않는 경우, 제1 장치의 구성, 기능, 동작 등의 요소가 제2 장치와 동일 또는 유사한 경우, 제1 장치는 제2 장치로 명명될 수 있고, 유사하게, 제2 장치 또한 제1 장치로 명명될 수 있다.In various embodiments of the present invention, expressions such as 'first', 'second', 'first', 'second', etc. may describe various components, but they must mean the order, . For example, the first device and the second device are both devices and may represent different devices. Also, unless the elements of the configuration, function, operation, etc. of the first device are the same as or similar to the second device, the first device can be named as the second device, without departing from the scope of the various embodiments of the present invention, Similarly, the second device may also be termed the first device.
본 발명의 다양한 실시 예에서 어떤 구성 요소가 다른 구성 요소에 '연결'되어 있다거나 '접속'되어 있다고 언급된 경우, 구성 요소들은 직접적으로 연결되어 있거나 접속되어 있을 수 있지만, 구성 요소들 사이에 적어도 하나의 다른 구성 요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면, 어떤 구성 요소가 다른 구성 요소에 '직접 연결'되어 있다거나, '직접 접속'되어 있다고 언급된 경우, 구성 요소들 사이는 다른 구성 요소가 존재하지 않는 것으로 이해될 수 있어야 할 것이다.In the various embodiments of the present invention, when an element is referred to as being "connected" or "connected" to another element, the elements may be directly connected or connected, It should be understood that there may be one and the same time. On the other hand, if an element is referred to as being 'directly connected' or 'directly connected' to another element, it should be understood that no other element exists between the elements.
본 발명의 다양한 실시 예에서 사용되는 용어들은 특정일 실시 예를 설명하기 위한 것으로, 본 발명을 한정하는 것으로 해석되어서는 안되며, 예를 들어, 단수의 표현은 문맥상 명백하게 다른 것으로 명시되지 않는 한 복수의 표현을 포함할 수 있을 것이다.The terms used in various embodiments of the present invention are intended to illustrate a specific embodiment and are not to be construed as limiting the invention, for example, the singular forms "a," "an, ≪ / RTI >
이하 설명에서, 본 발명의 다양한 실시 예에 따르면, 입력된(또는 지정된) 사용자(이하, 플레이어)에게 적합한 난이도의 문제를 제공하는 시스템 및 그 동작 방법을 설명할 수 있다.In the following description, according to various embodiments of the present invention, it is possible to describe a system and an operation method thereof that provide a difficulty problem to an inputted (or designated) user (hereinafter referred to as a player).
문제 추천 시스템은, 플레이어에게 적합한 난이도의 문제를 제공하기 위하여, 플레이어의 등급(예: 레벨)과 데이터베이스에 포함된 문제들의 등급 및/또는 적어도 하나의 문제를 포함하는 대회의 등급을 결정할 수 있고, 결정된 플레이어의 등급에 대응되는 문제를 제공할 수 있다.The problem recommendation system may determine the rating of the tournament, including the rating (e.g., level) of the player and the rating of the problems contained in the database and / or at least one issue, It is possible to provide a problem corresponding to the determined player's rating.
문제 추천 시스템은, 결정된 플레이어의 등급, 문제들의 등급, 그리고 대회의 등급에 기반하여 플레이어에게 적합한 난이도의 문제를 결정함에 있어서, 적어도 하나의 회귀분석 기법을 이용하여 데이터베이스를 업데이트(또는 갱신)할 수 있다. 또한 본 발명의 다양한 실시 예에 따른 문제 추천 시스템 및 그 동작 방법은 적어도 하나의 다른 문제 추천 시스템과 연동될 수 있고, 또한 다른 문제 추천 시스템에 포함되어 구성될 수도 있을 것이다.The problem recommendation system can update (or update) the database using at least one regression analysis technique in determining the problem of the appropriate difficulty for the player based on the determined player's rating, the rating of the problems, have. Also, the problem recommendation system and its operation method according to various embodiments of the present invention may be interlocked with at least one other problem recommendation system, and may be included in other problem recommendation systems.
도 1은 본 발명의 일 실시 예에 따른 문제 추천 시스템의 대략적인 구조 및 동작을 도시한다. 도 1을 참조하면, 문제 추천 시스템(100)은 프로세서(110), 플레이어 입력부(120), 메모리(130), 통신부(140) 및 추천 문제 제공부(150) 중 적어도 하나의 요소를 포함할 수 있다.1 shows a schematic structure and operation of a problem recommendation system according to an embodiment of the present invention. Referring to FIG. 1, the
프로세서(110)는, 전술한 다른 구성 요소들(예: 플레이어 입력부(120), 메모리(130), 통신부(150))로부터 명령을 수신하여, 수신된 명령을 해독하고, 해독된 명령에 따른 연산이나 데이터 처리를 실행할 수 있다.The
예를 들어, 프로세서(110)는, 플레이어 입력부(120)를 통해서 입력된 정보 및 메모리(130)에 저장된 데이터베이스에 기반하여 지정된 플레이어의 등급에 대응되는 문제를 추출할 수 있다. 또한, 프로세서(110)은 추출된 문제를 추천 문제 제공부(150)를 통해서 플레이어에게 제공할 수 있다.For example, the
프로세서(110)는 메모리(130)에 포함된 문제들의 등급을 결정하는 등급 결정부(101) 및 플레이어의 등급에 대응되는 문제를 추출하는 추천 문제 결정부(103) 중 적어도 일부를 포함하여 구성될 수 있다. 여기에서, 프로세서(110)에 등급 결정부(101) 및 추천 문제 결정부(103)가 포함되는 것으로 설명하고 있지만, 이는 프로세서(110) 동작의 이해를 위한 것이며 따라서, 반드시 물리적인 구성을 의미하지 않는다. 즉, 프로세서(110)에 포함되는 등급 결정부(101) 및 추천 문제 결정부(103)는 동작에 대응되는 논리 회로로 구성될 수 있다.The
등급 결정부(101)는 메모리(130)에 포함된 문제들의 등급(예: 레벨), 문제들을 포함하는 대회들의 등급, 적어도 하나의 문제를 풀이한 다른 플레이어들의 등급, 플레이어 입력부(120)를 통해서 확인된 플레이어의 등급 중 적어도 일부의 등급을 결정할 수 있다.The
일 실시 예에 따르면, 등급 결정부(101)는 문제들에 설정된 등급에 기반하여 문제를 풀이하는 플레이어들의 레벨을 결정할 수 있다. 또한, 레벨이 결정된 플레이어들이 풀이한 문제의 레벨을 조정할 수 있다.According to one embodiment, the rating determiner 101 may determine the level of players solving the problem based on the ratings set in the issues. Also, players whose level has been determined can adjust the level of the problem they solved.
등급 결정부(101)는 플레이어 입력부(120)를 통해서 확인된 플레이어가 메모리(130)에 저장된 플레이어가 아닌 것으로 결정하는 경우, 다양한 난이도의 문제로 구성되는 테스트 문제를 제공할 수 있다.If the
예를 들어, 등급 결정부(101)는 데이터베이스에 포함된 문제들을 등급에 관계없이 무작위로 선택하여 제공할 수 있다. 또한 다른 실시 예에 따르면, 등급 결정부(101)는 데이터베이스에 포함된 문제들의 레벨에 기반하여 다양한 난이도의 카테고리로 구분할 수 있다. 예를 들어, 등급 결정부(101)는 적어도 하나의 난이도에 구성되는 문제를 포함하여 다양한 난이도의 문제를 테스트 문제로 결정할 수 있다.For example, the
등급 결정부(101)는 플레이어로부터 입력된 풀이에 기반하여 플레이어의 레벨을 결정할 수 있다. 여기에서, 테스트 문제에 기반하여 결정되는 플레이어의 레벨은 추천 문제를 제공하기 위한 임시 레벨로 사용될 수 있다.The
추천 문제 결정부(103)는 등급 결정부(101)를 통해서 결정된, 문제들의 등급과 플레이어의 등급에 기반하여 메모리(130)에 포함된 문제들 중 플레이어가 풀 확률이 지정된 수치(예: 50%, 또는 0.5)에 근접하는 문제들을 결정할 수 있다. 등급 결정부(101)는 결정된 문제들을 50%의 확률에 가까운 순서에 따라서 나열할 수 있고, 높은 확률의 내림 차순에 따라서 지정된 수의 문제를 추천 문제로 결정할 수 있다.The recommendation
프로세서(110)는, 추천 문제 결정부(103)를 통해서 결정된 추천 문제들을 플레이어에게 제공할 수 있다. 프로세서(110)는 적어도 하나의 디스플레이, 예를 들어, 추천 문제 제공부(150)를 통해서 추천 문제들을 제공할 수 있다.The
추천 문제 제공부(150)는, 적어도 하나의 디스플레이를 포함하여 구성될 수 있다. 추천 문제 제공부(150)는 플레이어에게 각종 정보, 예를 들어, 추천 문제 결정부(103)를 통해서 결정된 추천 문제를 표시할 수 있다. 또한 추천 문제 제공부(150)는 입력 수단을 디스플레이에 터치 또는 근접 터치하여 명령을 입력하는 터치 스크린으로 구성될 수도 있다.The recommendation
통신부(140)는 문제 추천 시스템(100)과 적어도 하나의 외부 장치 사이의 통신을 연결할 수 있다. 예를 들면, 통신부(140)는 무선 통신 또는 유선 통신을 통해서 기존의 네트워크에 연결하거나, 또는 새로운 네트워크를 형성함으로써 외부 장치와 통신할 수 있다.The
본 발명의 다양한 실시 예들에 따른 문제 추천 시스템(100)의 전술한 구성 요소들 각각은 하나 또는 그 이상의 부품(component)으로 구성될 수 있으며, 해당 구성 요소의 명칭은 문제 추천 시스템(100)의 종류에 따라서 달라질 수 있다. 본 발명의 다양한 실시 예에 따른 문제 추천 시스템(100)는 전술한 구성 요소 중 적어도 하나를 포함하여 구성될 수 있으며, 일부 구성 요소가 생략되거나 또는 추가적인 다른 구성 요소를 더 포함할 수 있다. 또한, 본 발명의 다양한 실시 예에 따른 문제 추천 시스템(100)의 구성 요소들 중 일부가 결합되어 하나의 개체(entity)로 구성됨으로써, 결합되기 이전의 해당 구성 요소들의 기능을 동일하게 수행할 수 있다.Each of the aforementioned components of the
상술한 바와 같이 도 1에 도시된 구성 요소 중 적어도 일부를 포함하는 문제 추천 시스템(100)은 다양한 방식으로 플레이어에게 추천 문제를 제공할 수 있다. 일 실시 예에 따르면, 문제 추천 시스템(100)은, 플레이어에게 적당한 난이도의 문제를 결정하기 위하여 플레이어 매칭 시스템을 이용할 수 있다.The
예를 들어, 문제 추천 시스템(100)은 메모리(130)에 포함되는 문제들을 각각 다른 플레이어로 가정하는 경우, 플레이어 매칭 시스템을 이용하여 플레이어의 레벨에 대응되는 문제를 결정할 수 있다. 여기에서, 플레이어 매칭 시스템은, 매칭된 플레이어들의 승리 또는 패배에 기반하여 플레이어들의 레벨을 결정할 수 있다.For example, if the
이에 대하여, 문제 추천 시스템(100)은, 플레이어가 매칭된 문제를 풀이하는 경우(예: 정답을 입력하는 경우) 승리한 것으로 결정하고, 매칭된 문제를 풀이하지 못하는 경우(예: 오답을 입력하는 경우) 패배한 것을 결정함으로써, 플레이어 매칭 시스템을 적용할 수 있다.On the other hand, the
본 발명의 다양한 실시 예에 따르면, 문제 추천 시스템(100)은, Elo 순위 결정 기법(Elo Rating technique, 또는 그 시스템)에서 제기된 k-인자(k-factor)에 기반하여 발생되는 문제 등을 해결할 수 있다. 예를 들어, 플레이어A 및 플레이어B에 대하여, 플레이어A의 순위를 RA, 플레이어A의 기대 점수를 EA, 플레이어B의 순위를 RB, 플레이어B의 기대 점수를 EB로 결정할 수 있다.According to various embodiments of the present invention, the
여기에서, 기대 점수는 해당 사용자(예: 플레이어A)가 문제를 풀었는지 풀지 못했는지 여부, 예를 들어, 플레이어A가 플레이어B를 이겼는지 여부로 결정할 수 있다. 이하 설명에서, 문제 추출 시스템(100)의 문제 추천 대상은 플레이어A로 정의할 수 있고, 이 때, 플레이어A의 기대 점수는 로지스틱 곡선(logistic curve)을 이용하는 경우, 하기 식(1),Here, the expected score can be determined by whether the user (e.g., Player A) has solved the problem or not, for example, whether Player A has won Player B or not. In the following description, the problem recommendation target of the
(1) (One)
으로 결정할 수 있다..
마찬가지로, 플레이어 B의 기대 점수 EB는, 하기 식(2), Similarly, the expected score E B of the player B is expressed by the following equations (2),
(2) (2)
과 같이 결정할 수 있을 것이다.As shown in Fig.
여기에서, 플레이어의 순위 결정은, 매번 게임이 일어날 때마다 업데이트 될 수 있다. 이 때, 만약 플레이어A가 EA의 기대 점수를 가지고, 실제로 SA 점수를 받았을 때, 플레이어A의 순위(또는 플레이어A의 레벨)은, 하기 식(3)Here, the player's ranking can be updated every time the game occurs. At this time, if Player A has an expected score of E A and actually receives a score of S A , the ranking of Player A (or the level of Player A)
(3) (3)
으로 조정될 수 있다.Lt; / RTI >
여기에서, k-인자는 한 게임당 조절 가능한 점수의 최대 값으로 결정할 수 있고, 일반적으로, k-인자를 결정함에 있어서, 초심자(예: 32) 및 숙련자(예: 16) 사이의 상수로 결정할 수 있다. 따라서 k-인자는 플레이어에 따라서 초심자 또는 숙련자 사이의 적절한 값을 결정하기 어렵게 된다.Here, the k-factor can be determined as the maximum value of the adjustable score per game and is generally determined by a constant between the novice (e.g. 32) and the expert (e.g., 16) in determining the k- have. Therefore, it is difficult for the k-factor to determine an appropriate value among the novice or expert according to the player.
이 때, k-인자는 플레이어의 순위에 따라서, 및/또는 대결 횟수에 따라서 변동될 수 있다. 문제 추천 시스템(100)은k-인자에 기반하여 플레이어들의 순위를 결정함에 있어서, 문제들은 플레이어보다 대결 횟수가 많게 되며 이 경우, 예를 들어, 높은 난이도의 문제는 추천 횟수가 커 대결 횟수가 많아짐으로 순위의 상위권에 위치하게 된다. 반면, 낮은 난이도의 문제는 추천 횟수가 적어 대결 횟수가 적어짐으로써 순위의 하위권에 위치하게 된다.At this time, the k-factor may be varied according to the ranking of the player, and / or the number of times of confrontation. In the
이러한 문제점을 해결하기 위하여, 문제 추천 시스템(100)은 베이지언 확률 모델(Bayesian probability model)을 적용할 수 있다. 설명하면, 문제 추천 시스템(100)에서는 각 플레이어 및/또는 참가자의 기량을 결정함에 있어서, 대략적인 플레이어 기량(μ)과 기량의 확신 정도(σ)를 가진 플레이어 기량의 정규 분포(gaussian distribution, 가우스 분포)를 이용할 수 있다.In order to solve this problem, the
여기에서, μ는 플레이어 및/또는 대회 참가자에 대하여 지정되는 등급(예: 레벨)으로 결정할 수 있다. 이 때, σ가 낮으면 μ의 신빙성이 높아지는 것으로 결정할 수 있다. 플레이어가 게임을 할 때마다 베이지언 확률 모델 적용을 위하여 인자 그래프(factor graph)를 이용하여 플레이어의 μ와 σ를 업데이트할 수 있다.Here, [mu] can be determined as a class (e.g., level) designated for the player and / or the contestant. At this time, if? Is low, it can be determined that the reliability of? Increases. Each time a player plays a game, you can use the factor graph to update the player's σ and σ to apply the Beijian probability model.
Elo 순위 시스템에서는 순위 업데이트 시, 플레이어의 순위만이 고려되고 과거 전적이 고려되지 않는 면이 k-인자가 일정한 특징에서 보여진다. 이에 반해 문제 추천 시스템(100)은 베이지언 확률 모델을 적용함으로써, 과거 대결 전적이 많다는 것은 플레이어의 진짜 기량에 가까이 감을 의미하며, 이는 σ가 작아 지게 하고 σ는 순위 업데이트 시 사용되어 과거 전적이 고려된 순위 업데이트를 실시할 수 있다.In the Elo ranking system, only the player's rank is considered in ranking update, and the k-factor is seen in the constant feature where the past totals are not considered. On the other hand, the
본 발명의 다양한 실시 예에 따르면, 문제 추천 시스템(100)은 플레이어에게 문제를 추천하기 위한 시스템의 변수(parameter, 파라메터)를 결정함에 있어서, 데이터베이스에 저장된 플레이어들이 문제를 풀었는지 또는 풀지 못했는지 여부를 이용할 수 있다.According to various embodiments of the present invention, the
도 2는 본 발명의 일 실시 예에 따른 문제 추천 시스템(100)에서, 각각의 문제, 대회 플레이어에 대응되는 레벨을 도시한다.FIG. 2 shows, in a
도 2를 참조하면, 문제 추천 시스템(100)은 메모리에 저장된 문제, 대회 및 플레이어 중 적어도 하나의 그룹에 대하여 각각 레벨을 결정할 수 있다. 예를 들어, 도 2에 도시된 바와 같이, 문제 단위 등급표(200)를 참조하면, 플레이어, 문제, 그리고, 적어도 하나의 문제를 포함하는 대회에 대한 레벨을 결정할 수 있다. Referring to FIG. 2, the
도 2와 같이 결정된 등급 및 지정된 변수에 기반하여 각각의 플레이어와 문제의 μ값 및σ값을 트레이닝할 수 있다. 예를 들어, 문제 추천 시스템(100)에서 플레이어A의 기량이 를 이고, 플레이어B의 기량이 이라면, 플레이어A가 플레이어B를 이길 확률은, 하기 식(4),Based on the determined grade and the designated variable, as shown in FIG. 2, the μ value and the sigma value of the problem can be trained with each player. For example, in
(4) (4)
으로 결정할 수 있다..
여기에서, 는 문제 추천 시스템(100)에서 기량과 성과의 관련이 높을수록 낮게 설정되는 상수일 수 있다. 또한, 함수는 정규 분포의 누적 분포함수로 나타낼 수 있다. 일 실시 예에 따르면, 트레이닝 시점의 , 초기 , 초기 을 설정할 수 있고, 전체 데이터의 80%에 해당하는 트레이닝 세트(Training set)으로 각 플레이어와 문제의 와 를 트레이닝할 수 있다.From here, May be a constant that is set to be lower as the relation between performance and performance is higher in the
문제 추천 시스템(100)은, 트레이닝 결과(예: 테스트 세트, test set)의 플레이어 및 문제 값에 기반하여 입력된 플레이어(예: 플레이어A)가 기 저장된 문제에 대하여 이길 확률(또는 승리 확률)을 결정할 수 있다. 문제 추천 시스템(100)은, 기 저장된 문제에 대하여 결정된 이길 확률에 기반하여 이길 확률이 지정된 수치(예: 50%, 0.5)에 가까운 순서에 따라서 플레이어A에 추천 문제로 제공할 수 있다. 여기에서, 지정된 수치는 추천 문제의 난이도에 대응되는 값으로 지정된 수치(이하, 문제 추천의 난이도) 값이 50%(또는 0.5)인 경우, 플레이어A가 문제를 풀 확률이 50%인 것으로 플레이어A의 실력에 적합한 난이도인 것으로 결정할 수 있다. 상술한 바에 따르면, 문제 추천의 난이도가 50%인 것을 기준으로 설명하고 있지만, 이는 플레이어의 실력에 적합한 난이도의 문제를 추천하는 것에 대한 이해를 설명하기 위한 것으로 다양한 수치를 설정할 수 있음은 자명하다. 예를 들어, 플레이어A에게 실력보다 어려운 문제를 제공하려는 경우, 문제 추천의 난이도는 50%보다 낮은 값을 설정할 수 있고, 플레이어A에게 실력보다 쉬운 문제를 제공하려는 경우, 문제 추천의 난이도는 50%보다 높은 값을 설정할 수 있다.The
문제 추천 시스템(100)은, 제공된 추천 문제에 대하여 플레이어A가 문제를 풀었는지 여부에 기반하여 문제 추천의 예측 성능을 결정할 수 있다. 일 실시 예에 따르면, 문제 추천 시스템(100)은, 플레이어A에게 추천 문제를 제공함에 따라서 플레이어A가 문제를 푼 비율을 기준 값(예: 50%, 0.5)와 비교하여 결정할 수 있다. 예를 들어, 예측 성능은, 플레이어A가 문제를 풀 확률 와 실제 값 의 차이를 나타내는 것으로, 표준 편차(RMSE)는, 하기 식(5),The
표준편차(RMSE)= (5)Standard deviation (RMSE) = (5)
을 이용하여 결정할 수 있다. 문제 추천 시스템(100)은, 결정된 정보에 기반하여 데이터베이스를 업데이트할 수 있다.. ≪ / RTI > The
다양한 실시 예에 따르면, 문제 추천 시스템(100)은 대회 단위에서 플레이어에게 적합한 난이도의 문제를 추천할 수도 있다. 문제 추천 시스템(100)은 대회 단위의 문제를 추천하기 위하여 플레이어 대회 단위의 데이터에 기반하여 추천 문제를 결정할 수 있다.According to various embodiments, the
예를 들어, 문제 추천 시스템(100)은 대회 단위에서 플레이어A가 푼 문제 중 가장 어려운 문제의 난이도에 대응되는 문제를 플레이어에게 적합한 문제로 결정할 수 있다. 이 때, 한 대회에 포함되는 문제들의 레벨은, 도 2에 도시된 바와 같이 각각의 문제를 풀이한 플레이어들의 수, 대회의 레벨 및 문제를 풀이한 플레이어의 레벨 중 적어도 하나의 조건에 기반하여 결정할 수 있다.For example, the
도 3을 참조하면, 상술한 바와 같이 플레이어A가 이길 확률에 기반하여 특정 대회에 포함되는 문제들(301)이 플레이어A에게 적합한 레벨(adequate level, 적합 레벨)일 확률을 결정할 수 있다. 문제 추천 시스템(100)은 결정된 적합한 레벨일 확률 값에 기반하여 가장 높은 확률의 값에 대응되는 문제 또는 문제의 순서로 플레이어에게 적합한 난이도의 문제를 결정할 수 있다.Referring to FIG. 3, it is possible to determine the probability that the problems (301) included in a specific tournament are appropriate level (adequate level) for the player A based on the probability that the player A will win. The
도 4는 본 발명의 일 실시 예에 따른 문제 추천 시스템(100)에서 입력된 플레이어 정보 기반하여 문제를 추천하는 동작의 흐름도이다.FIG. 4 is a flowchart illustrating an operation for recommending a problem based on player information input by the
단계(S401)를 참조하면, 문제 추천 시스템(100)은, 플레이어 입력부(120)를 통해서 플레이어 정보를 입력할 수 있다. 문제 추천 시스템(100)은 플레이어 정보를 입력함에 있어서, 플레이어의 이름, 나이, 성별, 생년월일, 식별 코드와 같은 다양한 신상 정보 중 적어도 일부를 입력 받을 수 있다.Referring to step S401, the
단계(S403)을 참조하면, 문제 추천 시스템(100)은, 입력된 플레이어 정보에 기반하여 데이터베이스에 기 저장된(또는 등록된) 사용자인지 확인할 수 있다. 이 때, 문제 추천 시스템(100)은 입력된 플레이어 정보가 기 저장된 것을 확인하는 경우 단계(S409)를 수행할 수 있고, 저장되지 않은 플레이어로 확인하는 경우 단계(S405)를 수행할 수 있다.Referring to step S403, the
단계(S405)를 참조하면, 문제 추천 시스템(100)은 플레이어의 등급을 결정하기 위한 테스트 문제를 플레이어에게 제공할 수 있다. 일 실시 예에 따르면, 문제 추천 시스템(100)은 입력된 플레이어 정보, 예를 들어, 플레이어의 나이, 성별과 같은 정보에 기반하여 테스트 문제를 결정할 수 있다. 예를 들면, 문제 추천 시스템(100)은 입력된 플레이어의 나이 및/또는 성별과 매칭되는 다른 플레이어들을 데이터베이스로부터 확인할 수 있고, 확인된 다른 플레이어들의 레벨에 기반하여 테스트 문제를 결정할 수 있다.Referring to step S405, the
단계(S407)을 참조하면, 문제 추천 시스템(100)은 플레이어에게 제공된 테스트 문제의 풀이 결과에 기반하여 플레이어의 등급을 결정할 수 있다. 일 실시 예에 따르면, 문제 추천 시스템(100)은 등급 결정부(101)를 통해서 플레이어가 풀이한 문제의 레벨을 평균한 값을 플레이어의 레벨로 결정할 수 있다.Referring to step S407, the
단계(S409)를 참조하면, 문제 추천 시스템(100)은 데이터베이스의 플레이어들과 문제들의 승패 여부에 기반하여 플레이어의 등급에 대응되는 문제들을 결정할 수 있다. 여기에서, 플레이어들과 문제의 승패 여부는, 플레이어들이 문제를 풀었는지 여부에 기반하여 결정할 수 있다.Referring to step S409, the
예를 들어, 문제 추천 시스템(100)은, 등급 결정부(101)를 통해서 메모리(130)에 포함된 문제들, 다른 플레이어들에 기반하여, 각각의 문제가 풀이된 횟수, 문제를 풀이한 플레이어의 정보를 확인할 수 있다. 문제 추천 시스템(100)은 플레이어들이 풀이한 문제들을 승리 또는 패배와 관련된 정보로 결정할 수 있고, 확인된 정보에 기반하여 문제의 등급을 결정할 수 있다.For example, the
문제 추천 시스템(100)은 문제의 등급과 플레이어의 등급을 이용하여, 플레이어가 문제를 풀 확률(정답을 입력할 확률)이 50%에 가까운 문제들을 결정할 수 있고, 플레이어가 문제를 풀 확률이 50%에 가까운 순서대로 나열하여 지정된 수 만큼의 문제들을 추천 문제로 결정할 수 있다.The
다양한 실시 예에 따르면, 문제 추천 시스템은 플레이어 입력부(120)를 통한 입력에 따라서, 상술한 바와 같이 문제 단위로 추천 문제를 결정하는 것에 한정하지 않고, 대회 단위로 문제를 추천할 수 있다.According to various embodiments, the problem recommendation system can recommend a problem on a tournament basis, not limited to determining a recommendation problem on a problem basis, as described above, in accordance with an input through the
예를 들어, 문제 추천 시스템(100)은 데이터베이스에 포함된 다양한 대회들 중 적어도 하나의 대회에 대하여 대회에 포함(기 제출된)된 문제의 일부를 추천 문제로 결정할 수 있다.For example, the
일 실시 예에 따르면, 문제 추천 시스템(100)은, 문제들의 등급, 문제를 포함하는 대회의 등급 및 플레이어의 등급, 문제들에 대하여 플레이어가 이길 확률 등의 정보에 기반하여, 각각의 문제에 대하여 문제들이 플레이어에게 적합한 레벨일 확률을 결정할 수 있다. 문제 추천 시스템(100)은 문제들에 대하여 결정된 적합한 레벨일 확률이 높은 순서대로 나열하여 지정된 수의 문제를 추천 문제로 결정할 수 있다.According to one embodiment, the
단계(S411)를 참조하면, 문제 추천 시스템(100)은 결정된 문제들을 플레이어에게 제공할 수 있다. 일 실시 예에 따르면, 문제 추천 시스템(100)은 추천 문제 제공부(150)를 통해서 결정된 추천 문제를 플레이어에게 제공할 수 있다.Referring to step S411, the
단계(S413)를 참조하면, 문제 추천 시스템(100)은, 제공된 추천 문제에 대하여 플레이어 입력부(120)를 통해서 풀이된 문제에 기반하여 데이터베이스 및 플레이어의 등급을 업데이트할 수 있다.Referring to step S413, the
일 실시 예에 따르면, 문제 추천 시스템(100)은 입력된 정보에 대한 정답 여부를 결정할 수 있고, 플레이어의 문제 풀이 결과, 예를 들어, 해당 플레이어가 문제를 풀이했는지 여부(예: 입력된 풀이가 정답인지 여부)를 확인할 수 있고, 풀이 결과에 기반하여 플레이어가 풀이한 문제의 등급, 해당 문제가 풀이된 횟수, 플레이어의 등급 중 적어도 하나의 정보가 조정이 필요한 경우, 변경된 정보를 업데이트할 수 있다.According to one embodiment, the
문제 추천 시스템은 단계(S413)을 수행하면 도 4의 실시 예를 종료할 수 있다.The problem recommendation system may terminate the embodiment of FIG. 4 by performing step S413.
본 발명의 다양한 실시 예에 따르면, 상술한 실시 예들의 성능 분석을 위한 시뮬레이션을 수행할 수 있다. 예를 들어, 문제 추천 시스템(100)은 플레이어에게 추천하는 문제를 결정함에 있어서, 적절한 난이도의 문제 등급을 결정하는 예측 성능과 추천 문제의 적정성과 같은 성능 비교를 수행할 수 있다.According to various embodiments of the present invention, a simulation for performance analysis of the above-described embodiments can be performed. For example, the
시뮬레이션에서 데이터베이스는, codeforces.com 의 5,512명의 플레이어가 103개의 대회에서 참가한 결과 데이터 세트를 사용한다. 데이터 세트를 임의로 나누어, 80%은 training set으로, 나머지 20%은 test set으로 나눈다. In the simulation, the database uses datasets from 5,122 players in codeforces.com participating in 103 competitions. Dividing the data set arbitrarily, 80% is divided into training set and the remaining 20% is divided into test set.
시뮬레이션에서, 문제 추천 시스템(100)은 사용자와 문제 각각을 플레이어로 정의하였고, 사용자(플레이어A)가 문제(플레이어B)를 풀이하는 경우, 플레이어A의 승리, 사용자가 문제를 풀이하지 못하는 경우, 플레이어B의 승리로 결정할 수 있다. 제안된 문제 추천 기법에서 플레이어A가 플레이어B를 이길 확률을 결정함에 있어서, 초기 변수는 , , 로 결정할 수 있다.In the simulation, the
일 실시 예에 따르면, 본 발명의 다양한 실시 예에 따른 문제 추천 시스템(100)(제안된 문제 추천 시스템(100))과 비교하기 위한 적어도 하나의 다른 시스템은, 예를 들어, 행렬 분해(matrix factorization)를 이용하는 문제 추천 시스템(비교군 문제 추천 시스템)일 수 있다.According to one embodiment, at least one other system for comparison with a problem recommendation system 100 (proposed problem recommendation system 100) according to various embodiments of the present invention may include, for example, matrix factorization (A comparative group problem recommendation system).
일반적으로 비교군 문제 추천 시스템은 플레이어와 콘테스트(예: 대회) 및 콘테스트를 구성하는 5등급의 행렬 구성 원소에 기반하여 플레이어에게 문제를 추천할 수 있다. 여기에서, 대회를 구성하는 5등급의 행렬 구성 원소는, 플레이어가 특정 대회에서 푼 가장 어려운 문제의 레벨을 숫자로 변환(예: A-1, B-2, C-3, D-4, E-5)한 값으로 결정할 수 있다.In general, a benchmark problem recommendation system can recommend a problem to a player based on a five-level matrix composition element that constitutes a player, a contest (eg, competition) and a contest. Here, the matrix elements of the 5 classes that make up the contest are used to determine the level of the toughest problem that the player has had in a particular contest, converted to a number (such as A-1, B-2, C-3, D- -5).
반면, 본원 발명의 일 실시 예에 따르면, 제안된 문제 추천 시스템(100)은 결정한 플레이어A의 추천 문제를 비교하기 위하여 비교군 문제 추천 시스템을 적용함에 있어서, 플레이어가 풀었는지(예: o) 또는 물지 못하였는지(예: x)를 숫자로 변환(예: o-1, x-0)한 값으로 행렬 구성 원소의 레벨을 결정할 수 있다.On the other hand, according to one embodiment of the present invention, the proposed
이러한 값의 범위는 행렬 분해의 활성 함수를 논리함수로 결정할 수 있고, 따라서, 문제 추천 시스템(100)은, SVDFeature를 이용하는, 하기 식(6),The range of these values can determine the active function of the matrix decomposition as a logical function and therefore the
(6) (6)
에 기반하여 비교군 문제 추천 시스템에 의한 플레이어가 문제를 풀이할 확률()을 결정할 수 있다.The probability of the player solving the problem by the comparative group problem recommendation system Can be determined.
여기서 와 는 각각 플레이어A와 플레이어B(상술한 바와 같이 문제를 플레이어로 가정할 수 있다.)의 특성을 의미하고 와 는 각각 플레이어와 문제의 편향성을 의미하는 변수로 결정할 수 있다. 또한, 마지막으로 는 전체적인 경향성을 의미하는 변수이며, 시뮬레이션에서 는 60으로 설정했다.here Wow Respectively denote the characteristics of player A and player B (the problem can be assumed to be a player as described above) Wow Can be determined as a variable that indicates the bias of the problem with the player, respectively. Finally, Is a variable indicating the overall tendency, and in the simulation Lt; / RTI >
제안된 문제 추천 시스템(100)은, 문제 단위의 시뮬레이션을 수행함에 있어서, 본원 발명의 다양한 실시 예에 따른 추천 문제(제안된 문제)에 기반하여 결정되는 플레이어가 문제를 풀이할 확률(제안된 승리 확률) 및 행렬 분해를 이용하는 문제 추천 기법에 기반하여 결정되는 플레이어가 문제를 풀이할 확률(비교군 승리 확률), 그리고 플레이어가 제안된 문제를 풀었는지 여부에 대한 실제 값(예: 1 또는 0)을 이용하여 표준편차(RMSE)를 결정할 수 있다.The proposed
상술한 시뮬레이션에 따르면, 문제 단위의 시뮬레이션에 있어서, 제안된 승리 확률, 비교군 승리 확률에 대한 실제 값과의 예측 성능은 표(1)과 같이, 각각 0.281과 0.33의 표준편차(RMSE)로 구해진 것을 확인할 수 있다.According to the simulation described above, in the simulation of the problem unit, the prediction performance with respect to the proposed win probability and the actual value with respect to the comparison group win probability is obtained by a standard deviation (RMSE) of 0.281 and 0.33, respectively, as shown in Table 1 .
설명하면, 값이 0에 가까울수록 실제 값과 차이가 없다는 것을 나타내며, 플레이어의 레벨에 따른 적절한 레벨의 문제를 추천한 것으로 나타낼 수 있다. 표(1)에 따르면, 제안된 승리 확률의 예측 성능이 비교군 승리 확률의 예측 성능보다 13% 높은 성능을 나타내고 있다. To illustrate, a value closer to 0 indicates that there is no difference from the actual value, and it can be indicated that a recommendation of an appropriate level problem according to the level of the player. According to Table 1, the prediction performance of the proposed victory probability is 13% higher than that of the comparison group win probability.
추천 문제의 적정성 평가를 위하여, 도 5는, 제안된 승리 확률 과 비교군 승리 확률이 결정된 문제들을 0.5 값에 근접한 순서대로 정렬하고, 지정된 수(k)의 문제들에 대하여 사용자(플레이어A)가 풀이한 문제의 비율을 도시한 그래프이다.In order to evaluate the suitability of the recommendation problem, FIG. 5 shows a case in which the user (player A) issues a question about the problem of the designated number (k) by sorting the proposed victory probability and the problem group This is a graph showing the ratio of the problem to be solved.
도 5를 참조하면, 5천개까지의 문제 추천에 있어서, 제안된 승리 확률 영역(501)의 값이 비교군 승리 확률 영역(503)의 값보다 0.5에 가까운 것을 나타내고 있다. 이는, 제안된 문제 추천 시스템(100)이 추천 문제를 결정함에 있어서, 5천개의 추천 문제까지는 비교군 기법에 기반하여 결정된 추천 문제보다 사용자(플레이어A)의 레벨에 적합한 난이도의 문제를 결정하였음을 나타낸다.Referring to FIG. 5, in the recommendation of up to 5,000 problems, the value of the proposed winning
또한, 제안된 문제 추천 시스템(100)은, 다양한 플레이어에게 문제를 추천할 수 있다. 따라서, 각각의 플레이어의 등급에 적절한 문제를 추출하여 추천할 필요가 있다. 도 6은, 다양한 플레이어 각각에 대하여 문제를 풀 확률이 50%(0.5)에 가까운 순서에 따라서 문제들을 제공하고, 그 비율을 도시한다.In addition, the proposed
일 실시 예에 따르면, 문제 추천 시스템은 지정된 복수의 플레이어에게 테스트 세트의 문제 중 0.5에 가장 근접하는 한 문제를 추천했을 때, 제안된 문제 추천 시스템은 0.002 값을 나타내고, 비교군 문제 추천 시스템은 0.06 값을 나타내 한 문제씩 추천하는 경우, 제안된 문제 추천 시스템(100)이 비교군 문제 추천 시스템보다 30배 나은 성능을 보인다. 플레이어에게 3문제 이상씩 추천하는 경우, 비교군 문제 추천 시스템과 제안된 문제 추천 시스템(100)의 차이는 별로 나지 않는 것을 확인할 수 있다. 반면, 플레이어에게 문제를 추천 할 때는 적은 개수의 문제를 추천하는 것이 일반적이므로, 제안된 문제 추천 시스템(100)의 성능이 더 높은 것으로 평가할 수 있다.According to one embodiment, when the problem recommendation system recommends a problem to a designated plurality of players, which is closest to 0.5 of the test set's problems, the proposed problem recommendation system exhibits a value of 0.002, Value, the proposed
다양한 실시 예에 따르면, 제안된 문제 추천 시스템(100)은, 대회 단위의 시뮬레이션을 수행함에 있어서, 본 발명의 다양한 실시 예에 따른 추천 문제의 레벨(적합한 난이도의 문제 및/또는 레벨), 적어도 하나의 대회에서 플레이어가 풀이한 문제의 최고 레벨(풀이된 최고 난이도의 문제 및/또는 레벨)에 기반하여 표준편차(RMSE) 및 정확도(accuracy)를 결정할 수 있다.According to various embodiments, the proposed
여기에서, 정확도는, 플레이어에게 적합한 난이도의 예측 적중 비율로, 적합한 난이도의 문제와 풀이된 최고 레벨의 문제의 레벨이 동일한 경우 1 다른 경우 0으로 매핑(mapping)된 값들을 평균하여 결정할 수 있다.Here, the accuracy can be determined by averaging the values mapped to 0 in one case when the level of the problem of the appropriate level of difficulty is the same as the level of the problem in the best level, at a predicted hit ratio of the difficulty level suitable for the player.
제안된 문제 추천 시스템(100)은, 대회 단위의 시뮬레이션을 수행함에 있어서, 제안된 문제 추천 시스템(100) 및 비교군 문제 추천 시스템 각각에 대하여, 결정된 적합한 난이도의 레벨 값과 풀이된 최고 난이도의 레벨, 표준편차(RMSE), 그리고 정확도를 표(2)에 나타내고 있다.In the proposed
표 2를 참조하면, 제안된 문제 추천 시스템(100)의 결과가 비교군 문제 추천 시스템의 결과보다 표준편차(RMSE)의 측면에서 31%, 정확도 측면에서 79%의 성능 향상되는 것을 확인할 수 있다.Referring to Table 2, it can be seen that the results of the proposed
다양한 실시 예에 따르면, 본 발명의 청구항 및/또는 명세서에 기재된 다양한 실시 예에 따른 장치, 방법의 적어도 일부는, 하드웨어, 소프트웨어, 펌웨어, 또는 하드웨어, 소프트웨어 및 펌웨어 중 둘 이상의 조합을 포함하는 형태(예: 모듈, unit)로 구현될(implemented) 수 있다. 모듈은, 일체로 구성된 부품의 최소 단위 또는 그 일부로서 본 발명의 다양한 실시 예를 수행하는 최소 단위 또는 그 일부가 될 수도 있다. 모듈은 기계적으로 또는 전자적으로 구현될 수 있다. 소프트웨어로 구현하는 경우, 하나 이상의 프로그램(또는 프로그래밍 모듈, 어플리케이션)을 저장하는 컴퓨터 판독 가능 저장 매체(또는 컴퓨터로 읽을 수 있는 저장 매체)가 제공될 수 있다. 예컨대, 소프트웨어는 프로그래밍 모듈의 형태로 컴퓨터로 읽을 수 있는 저장 매체(computer-readable storage media)에 저장된 명령어로 구현될 수 있다. 하나 이상의 프로그램은, 장치로 하여금, 본 발명의 청구항 및/또는 명세서에 기재된 실시 예에 따른 방법들을 실행하게 하는 명령어(instructions)를 포함할 수 있다. 상기 명령어는, 하나 이상의 프로세서 (예: 상기 프로세서 220)에 의해 실행될 경우, 상기 하나 이상의 프로세서가 상기 명령어에 해당하는 기능을 수행할 수 있다. 컴퓨터로 읽을 수 있는 저장 매체는, 예를 들면, 상기 메모리 230)가 될 수 있다. 상기 프로그래밍 모듈의 적어도 일부는, 예를 들면, 상기 프로세서220에 의해 구현(implement)(예: 실행)될 수 있다. 상기 프로그래밍 모듈 의 적어도 일부는 하나 이상의 기능을 수행하기 위한, 예를 들면, 모듈, 프로그램, 루틴, 명령어 세트 (sets of instructions) 또는 프로세스 등을 포함할 수 있다.According to various embodiments, at least some of the devices and methods according to the various embodiments described in the claims of the present invention and / or the specification are in the form of hardware, software, firmware, or a combination of two or more of hardware, For example, modules, units). A module may be a minimum unit or a portion thereof that performs various embodiments of the present invention as a minimum unit or a part of an integrally constructed component. The module may be implemented mechanically or electronically. When implemented in software, a computer-readable storage medium (or computer-readable storage medium) for storing one or more programs (or programming modules, applications) may be provided. For example, the software may be embodied in instructions stored on a computer-readable storage medium in the form of a programming module. The one or more programs may include instructions to cause the device to perform the methods according to the embodiments of the invention and / or the claims of the present invention. The instructions, when executed by one or more processors (e.g., the processor 220), may cause the one or more processors to perform functions corresponding to the instructions. The computer readable storage medium may be, for example, the memory 230). At least some of the programming modules may be implemented (e.g., executed) by, for example, the processor 220. At least some of the programming modules may include, for example, modules, programs, routines, sets of instructions or processes, etc. to perform one or more functions.
상기 컴퓨터로 판독 가능한 기록 매체에는 하드디스크, 플로피디스크 및 자기 테이프와 같은 마그네틱 매체(Magnetic Media)와, CD-ROM(Compact Disc Read Only Memory), DVD(Digital Versatile Disc)와 같은 광기록 매체(Optical Media)와, 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media)와, 그리고 ROM(Read Only Memory), RAM(Random Access Memory), 플래시(flash) 메모리 등과 같은 프로그램 명령(예: 프로그래밍 모듈)을 저장하고 수행하도록 특별히 구성된 하드웨어 장치, 삭제 가능 및 프로그램 가능 롬(EEPROM, Electrically Erasable Programmable Read Only Memory), 자기 디스크 저장 장치(magnetic disc storage device) 또는 다른 형태의 광학 저장 장치, 마그네틱 카세트(magnetic cassette)가 포함될 수 있다. 또는, 이들의 일부 또는 전부의 조합으로 구성된 메모리에 저장될 수 있다. 또한, 각각의 구성 메모리는 다수 개 포함될 수도 있다.The computer-readable recording medium includes a magnetic medium such as a hard disk, a floppy disk and a magnetic tape, an optical recording medium such as a CD-ROM (Compact Disc Read Only Memory), a DVD (Digital Versatile Disc) A magneto-optical medium such as a floppy disk and a program command such as a ROM (Read Only Memory), a RAM (Random Access Memory), a flash memory, (EEPROM), a magnetic disc storage device or other type of optical storage device, or any other form of optical storage device, A magnetic cassette may be included. Or a combination of some or all of these. In addition, a plurality of constituent memories may be included.
더하여, 장치에 인터넷(Internet), 인트라넷(Intranet), LAN(Local Area Network), WLAN(Wide LAN), 또는 SAN(Storage Area Network)과 같은 통신 네트워크, 또는 이들의 조합으로 구성된 통신 네트워크를 통하여 접근(access)할 수 있는 부착 가능한(attachable) 저장 장치(storage device)에 저장될 수 있다. 이러한 저장 장치는 외부 포트를 통하여 장치에 접속할 수 있다. 또한, 통신 네트워크상의 별도의 저장 장치가 휴대용 장치에 접속할 수도 있다. 상술한 하드웨어 장치는 본 발명의 다양한 실시 예에 대한 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지다.In addition, the device may be accessed via a communication network comprised of a communication network such as the Internet, an Intranet, a Local Area Network (LAN), a Wide Area Network (WLAN), or a Storage Area Network (SAN) and can be stored in an attachable storage device that can access the storage device. Such a storage device may be connected to the device via an external port. Also, a separate storage device on the communication network may be connected to the portable device. The hardware devices described above may be configured to operate as one or more software modules to perform operations on the various embodiments of the present invention, and vice versa.
본 발명의 다양한 실시 예에 따른 모듈 또는 프로그래밍 모듈은 전술한 구성 요소들 중 적어도 하나 이상을 포함하거나, 일부가 생략되거나, 또는 추가적인 다른 구성 요소를 더 포함할 수 있다. 본 발명의 다양한 실시 예에 따른 모듈, 프로그래밍 모듈 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱(heuristic)한 방법으로 실행될 수 있다. 또한, 일부 동작은 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.Modules or programming modules according to various embodiments of the present invention may include at least one or more of the elements described above, some of which may be omitted, or may further include other additional elements. Operations performed by modules, programming modules, or other components in accordance with various embodiments of the invention may be performed in a sequential, parallel, iterative, or heuristic manner. Also, some operations may be performed in a different order, omitted, or other operations may be added.
본 명세서와 도면에 개시된 본 발명의 실시 예들은 본 발명의 기술 내용을 쉽게 설명하고 본 발명의 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 따라서 본 발명의 범위는 여기에 개시된 실시 예들 이외에도 본 발명의 기술적 사상을 바탕으로 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.The embodiments of the present invention disclosed in the present specification and drawings are merely illustrative examples of the present invention and are not intended to limit the scope of the present invention in order to facilitate understanding of the present invention. Accordingly, the scope of the present invention should be construed as being included in the scope of the present invention, all changes or modifications derived from the technical idea of the present invention.
100: 문제 추천 시스템 110: 프로세서
120: 플레이어 입력부 130: 메모리
140: 통신부 150: 추천 문제 제공부
101: 등급 결정부 103: 추천 문제 결정부100: problem recommendation system 110: processor
120: player input unit 130: memory
140: communication unit 150: recommended problem provisioning
101: rating decision unit 103: recommended problem decision unit
Claims (14)
상기 플레이어와 상기 문제들 각각의 상기 등급 및 상기 등급의 확신 정도에 기반하여 상기 플레이어가 상기 문제들에게 승리할 확률을 산출하는 단계;
상기 산출된 승리 확률을 기 설정된 매칭 추천 수치와 비교하여, 상기 매칭 추천 수치에 근접한 순서에 따라 상기 플레이어에 대하여 상기 문제들을 정렬하는 단계; 및
상기 플레이어에게 기 설정된 숫자의 문제를 상기 정렬 순서에 따라 제공하는 단계;를 포함하는, 플레이어 매칭 기법에 기반하는 문제 추천 방법.
Confirming the degree of assurance of the rating based on the rating of the inputted player and the problems that have been solved and the total score;
Calculating a probability that the player wins the problems based on the player and the degree of assurance of each of the problems and the rating of each of the problems;
Comparing the calculated victory probability with a predetermined matching recommendation value to sort the problems for the player in an order close to the matching recommendation value; And
And providing the player with a predetermined number of questions according to the sorting order.
상기 플레이어의 등급은, 입력된 상기 플레이어의 정보에 기반하여 결정되며, 상기 플레이어의 등급이 지정되지 않은 경우,
상기 문제들 중 둘 이상의 난이도에 대응되는 적어도 하나를 포함하여 제공되는 테스트 문제에 기반하여 결정하는, 플레이어 매칭 기법에 기반하는 문제 추천 방법.
The method according to claim 1,
The rating of the player is determined based on the input information of the player, and when the rating of the player is not specified,
Based on a test problem provided based on at least one of the problems, the at least one corresponding to two or more difficulty levels.
상기 문제들의 등급은, 상기 문제들의 레벨, 상기 문제들을 포함하는 대회의 레벨 중 적어도 하나를 포함하는, 플레이어 매칭 기법에 기반하는 문제 추천 방법.
The method according to claim 1,
Wherein the rating of the problems comprises at least one of a level of the problems, a level of the tournament that includes the problems, and a problem matching method based on the player matching technique.
상기 문제들의 등급 및 상기 플레이어의 등급에 기반하여 상기 문제들이 상기 플레이어에게 적합한 레벨일 확률을 결정하는 단계; 및
상기 적합한 레벨일 확률이 높은 순서에 따라서 지정된 수를 상기 플레이어에게 제공하는 단계;를 더 포함하는, 플레이어 매칭 기법에 기반하는 문제 추천 방법.
The method of claim 3,
Determining a probability that the problems are at an appropriate level for the player based on the rating of the problems and the rating of the player; And
And providing the player with a designated number in the order of higher probability of the appropriate level.
상기 기 풀이된 문제들의 승패 여부는,
상기 플레이어가 문제의 정답을 입력하는 경우 상기 플레이어가 승리한 것으로 결정하고,
상기 플레이어가 문제의 오답을 입력한 경우 상기 플레이어가 패배한 것으로 결정하는, 플레이어 매칭 기법에 기반하는 문제 추천 방법.
The method according to claim 1,
Whether or not the above-
When the player inputs a correct answer to the question, it is determined that the player has won,
Wherein the player is determined to have been defeated if the player has entered an incorrect answer to the question.
상기 플레이어와 상기 문제들 각각의 상기 등급 및 상기 등급의 확신 정도에 기반하여 상기 플레이어가 상기 문제들에게 승리할 확률을 결정하는 단계는,
상기 플레이어와 상기 문제들의 상기 등급 및 상기 등급의 확신 정도를 하기 수학식에 적용하여 결정하는 문제 추천 방법.
수학식
(여기서, PAB는 A가 B를 이길 확률, 는 등급과 성과에 기반하여 결정되는 상수, 는 정규 분포의 누적 분포함수, 는 플레이어와 기 풀이된 문제들의 등급, 는 등급의 확신 정도)
The method according to claim 1,
Wherein the step of determining a probability that the player wins the problems based on the rating of the player and the rating of each of the problems and the rating,
Wherein the degree of certainty of the player and the problems and the degree of the problems is determined by applying the following equation.
Equation
(Where P AB is the probability that A will beat B, Is a constant determined based on rank and performance, Is the cumulative distribution function of the normal distribution, Is the rating of the player and the problems that have been resolved, The degree of confidence in the rating)
상기 제공된 문제에 대한 상기 플레이어의 승패를 데이터베이스에 업데이트하는 과정; 및
상기 플레이어의 승패에 기반하여 상기 플레이어의 등급을 조정하는 단계;를 더 포함하는, 플레이어 매칭 기법에 기반하는 문제 추천 방법.
The method according to claim 1,
Updating the win or loss of the player with respect to the provided problem to the database; And
And adjusting the rating of the player based on the win / lose of the player.
플레이어로부터 정보를 입력 받는 플레이어 입력부;
문제들을 상기 플레이어에게 제공하는 추천 문제 제공부; 및
상기 메모리, 상기 플레이어 입력부 및 상기 추천 문제 제공부와 연결된 프로세서를 포함하고,
상기 프로세서는,
상기 플레이어 입력부를 통해서 입력된 플레이어와 상기 데이터베이스에 포함된 기 풀이된 문제들의 등급 및 대결 전적에 기반하는 상기 등급의 확신 정도를 확인하고, 상기 플레이어와 상기 문제들 각각의 상기 등급 및 상기 등급의 확신 정도에 기반하여 상기 플레이어가 상기 문제들에게 승리할 확률을 산출하고, 상기 산출된 승리 확률을 기 설정된 매칭 추천 수치와 비교하여, 상기 매칭 추천 수치에 근접한 순서에 따라 상기 플레이어에 대하여 상기 문제들을 정렬하고, 상기 문제 제공부를 통해서 상기 플레이어에게 기 설정된 숫자의 문제를 상기 정렬 순서에 따라 제공하도록 처리하는, 플레이어 매칭 기법에 기반하는 문제 추천 시스템.
A memory containing a database of problems;
A player input unit for receiving information from the player;
A recommendation problem providing unit for providing problems to the player; And
A processor coupled to the memory, the player input, and the recommendation problem offerer,
The processor comprising:
Checking the degree of confidence of the player based on the rating of the player who has entered the player through the player input unit and the problems of the problems included in the database, And comparing the calculated victory probability with a predetermined matching recommendation value to sort the problems with respect to the player in the order close to the matching recommendation value And processes the player to provide a predetermined number of problems to the player in accordance with the sorting order through the problem providing unit.
상기 프로세서는, 입력된 상기 플레이어의 정보에 기반하여 상기 플레이어의 등급을 결정하며, 상기 플레이어의 등급이 지정되지 않은 경우,
상기 문제들 중 둘 이상의 난이도에 대응되는 적어도 하나를 포함하여 제공되는 테스트 문제에 기반하여 상기 플레이어의 등급을 결정하는, 플레이어 매칭 기법에 기반하는 문제 추천 시스템.
9. The method of claim 8,
The processor determines the rating of the player based on the input information of the player, and if the rating of the player is not specified,
Wherein the rating of the player is based on a test problem provided comprising at least one corresponding to at least two difficulties of the problems.
상기 프로세서는, 상기 문제들의 레벨, 상기 문제들을 포함하는 대회의 레벨 중 적어도 하나를 상기 문제들의 등급에 포함하는, 플레이어 매칭 기법에 기반하는 문제 추천 시스템.
9. The method of claim 8,
Wherein the processor includes at least one of a level of the problems and a level of a tournament that includes the problems in the grade of the problems.
상기 프로세서는, 상기 문제들의 등급 및 상기 플레이어의 등급에 기반하여 상기 문제들이 상기 플레이어에게 적합한 레벨일 확률을 결정하고, 상기 적합한 레벨일 확률이 높은 순서에 따라서 지정된 수를 상기 플레이어에게 제공하도록 처리하는, 플레이어 매칭 기법에 기반하는 문제 추천 시스템.
11. The method of claim 10,
The processor is configured to determine a probability that the problems are at an appropriate level for the player based on the rating of the problems and the rating of the player and to provide the player with a designated number in an order that is more likely to be the appropriate level , Problem recommendation system based on player matching technique.
상기 프로세서는, 상기 플레이어가 문제의 정답을 입력하는 경우 상기 플레이어가 승리한 것으로 결정하고, 상기 플레이어가 문제의 오답을 입력한 경우 상기 플레이어가 패배한 것으로 결정하는, 플레이어 매칭 기법에 기반하는 문제 추천 시스템.
9. The method of claim 8,
Wherein the processor determines that the player has won when the player has entered a correct answer to the question and determines that the player has been defeated if the player has entered a wrong answer to the question, system.
상기 프로세서는, 상기 플레이어와 상기 문제들의 상기 등급 및 상기 등급의 확신 정도를 하기 수학식에 적용하여 상기 플레이어가 상기 문제들에게 승리할 확률을 결정하는, 플레이어 매칭 기법에 기반하는 문제 추천 시스템.
수학식
(여기서, PAB는 A가 B를 이길 확률, 는 등급과 성과에 기반하여 결정되는 상수, 는 정규 분포의 누적 분포함수, 는 플레이어와 기 풀이된 문제들의 등급, 는 등급의 확신 정도)
9. The method of claim 8,
Wherein the processor applies a degree of assurance of the player and the class of the problems and the degree of confidence to the following equation to determine the probability that the player wins the problems.
Equation
(Where P AB is the probability that A will beat B, Is a constant determined based on rank and performance, Is the cumulative distribution function of the normal distribution, Is the rating of the player and the problems that have been resolved, The degree of confidence in the rating)
상기 프로세서는, 상기 제공된 문제에 대한 상기 플레이어의 승패를 상기 데이터베이스에 업데이트하고, 상기 플레이어의 승패에 기반하여 상기 플레이어의 등급을 조정하도록 처리하는, 플레이어 매칭 기법에 기반하는 문제 추천 시스템.9. The method of claim 8,
Wherein the processor is configured to update the winner and the loser of the player against the provided problem to the database and to adjust the player's rating based on win or loss of the player.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160019527A KR101723770B1 (en) | 2016-02-19 | 2016-02-19 | Method and system for recommending problems based on player matching technique |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160019527A KR101723770B1 (en) | 2016-02-19 | 2016-02-19 | Method and system for recommending problems based on player matching technique |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101723770B1 true KR101723770B1 (en) | 2017-04-06 |
Family
ID=58583918
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160019527A KR101723770B1 (en) | 2016-02-19 | 2016-02-19 | Method and system for recommending problems based on player matching technique |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101723770B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022102966A1 (en) * | 2020-11-13 | 2022-05-19 | (주)뤼이드 | Learning question recommendation system for recommending questions that can be evaluated through unification of score probability distribution types, and operating method therefor |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20070114869A (en) * | 2006-05-30 | 2007-12-05 | 이신애 | A system and method for ordered education management service using website |
KR20110134314A (en) | 2010-06-08 | 2011-12-14 | 인터내셔널 비지네스 머신즈 코포레이션 | Graphical models for representing text documents for computer analysis |
KR20120049178A (en) * | 2010-09-30 | 2012-05-16 | 가부시키가이샤 다쿠토 | Test creation server, results report generation server, workbook production server, test question maintenance server, test creation program, results report generation program, workbook production program, and test question maintenance program |
-
2016
- 2016-02-19 KR KR1020160019527A patent/KR101723770B1/en active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20070114869A (en) * | 2006-05-30 | 2007-12-05 | 이신애 | A system and method for ordered education management service using website |
KR20110134314A (en) | 2010-06-08 | 2011-12-14 | 인터내셔널 비지네스 머신즈 코포레이션 | Graphical models for representing text documents for computer analysis |
KR20120049178A (en) * | 2010-09-30 | 2012-05-16 | 가부시키가이샤 다쿠토 | Test creation server, results report generation server, workbook production server, test question maintenance server, test creation program, results report generation program, workbook production program, and test question maintenance program |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022102966A1 (en) * | 2020-11-13 | 2022-05-19 | (주)뤼이드 | Learning question recommendation system for recommending questions that can be evaluated through unification of score probability distribution types, and operating method therefor |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Blais et al. | The mechanical and psychological effects of electoral systems: A quasi-experimental study | |
Groll et al. | A hybrid random forest to predict soccer matches in international tournaments | |
Özmen | Marginal contribution of game statistics to probability of winning at different levels of competition in basketball: Evidence from the Euroleague | |
Hartley et al. | Who really wants to be a millionaire? Estimates of risk aversion from gameshow data | |
Arntzen et al. | Predicting match outcomes in association football using team ratings and player ratings | |
Groll et al. | Spain retains its title and sets a new record–generalized linear mixed models on European football championships | |
Groll et al. | Prediction of the fifa world cup 2018-a random forest approach with an emphasis on estimated team ability parameters | |
Lenten et al. | Policy timing and footballers' incentives: Penalties before or after extra time? | |
Heiniger et al. | Judging the judges: evaluating the accuracy and national bias of international gymnastics judges | |
Gogos et al. | Combine performance, draft position and playing position are poor predictors of player career outcomes in the Australian Football League | |
Csató | Group draw with unknown qualified teams: A lesson from the 2022 FIFA World Cup draw | |
KR101723770B1 (en) | Method and system for recommending problems based on player matching technique | |
Dumangane et al. | Departure from independence and stationarity in a handball match | |
Lahvička | Using Monte Carlo simulation to calculate match importance: The case of English Premier League | |
Zappalà et al. | On the role of chance in fencing tournaments: An agent-based approach | |
Geenens et al. | Non-parametric evidence of second-leg home advantage in European football | |
Ekstrøm et al. | Evaluating one-shot tournament predictions | |
Csató | A paradox of tournament seeding | |
Pérez‐Sánchez et al. | A Bayesian asymmetric logistic model of factors underlying team success in top‐level basketball in Spain | |
Depken et al. | Set-level strategic and psychological momentum in best-of-three-set professional tennis matches | |
Chandrakumaran | An Experimental Method in Juxtaposing Draft Picks and Active Players | |
Boto‐García et al. | Foreign players, team production, and technical efficiency: Evidence from European soccer | |
Andrikogiannopoulou | Estimating risk preferences from a large panel of real-world betting choices | |
Nekkanti et al. | Novel Performance Metrics to Evaluate the Duel Between a Batsman and a Bowler | |
Das et al. | On estimating shot selection by a batsman in Twenty20 cricket: A probabilistic approach |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20191223 Year of fee payment: 4 |