KR102292046B1 - Deep-learning based baduk game service method and apparatus thereof - Google Patents

Deep-learning based baduk game service method and apparatus thereof Download PDF

Info

Publication number
KR102292046B1
KR102292046B1 KR1020190086283A KR20190086283A KR102292046B1 KR 102292046 B1 KR102292046 B1 KR 102292046B1 KR 1020190086283 A KR1020190086283 A KR 1020190086283A KR 20190086283 A KR20190086283 A KR 20190086283A KR 102292046 B1 KR102292046 B1 KR 102292046B1
Authority
KR
South Korea
Prior art keywords
time management
value
model
game
server
Prior art date
Application number
KR1020190086283A
Other languages
Korean (ko)
Other versions
KR20210009586A (en
Inventor
이창율
김세호
박정훈
Original Assignee
엔에이치엔 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엔에이치엔 주식회사 filed Critical 엔에이치엔 주식회사
Priority to KR1020190086283A priority Critical patent/KR102292046B1/en
Publication of KR20210009586A publication Critical patent/KR20210009586A/en
Application granted granted Critical
Publication of KR102292046B1 publication Critical patent/KR102292046B1/en

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/80Special adaptations for executing a specific game genre or game mode
    • A63F13/822Strategy games; Role-playing games
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/45Controlling the progress of the video game
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F3/00Board games; Raffle games
    • A63F3/02Chess; Similar board games
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/63Methods for processing data by generating or executing the game program for controlling the execution of the game in time

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Medical Informatics (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

본 발명의 실시예에 따른 딥러닝 기반의 바둑 게임 서비스 방법 및 그 장치는 바둑 게임 시간 관리를 할 수 있다. 본 발명의 일 실시예에 따른 시간 관리 모델 서버는, 방문 횟수, 탐색 확률값을 수신하는 통신부; 시간 관리부를 저장하는 저장부; 및 상기 시간 관리부를 독출하고, 상기 시간 관리부가 상기 방문 횟수와 상기 탐색 확률값을 이용하여 분산을 산출하고, 상기 분산이 임계 분산값 미만이면 착수 준비 시간을 제1 착수 준비 시간으로 결정하고, 상기 분산이 상기 임계 분산값 이상이면 착수 준비 시간을 평균 착수 준비 시간으로 결정하는 프로세서;를 포함할 수 있다. Deep learning-based Go game service method and apparatus according to an embodiment of the present invention can manage Go game time. Time management model server according to an embodiment of the present invention, the number of visits, a communication unit for receiving the search probability value; a storage unit for storing the time management unit; and reading the time management unit, the time management unit calculates a variance using the number of visits and the search probability value, and if the variance is less than a threshold variance value, determines the start preparation time as the first set off preparation time, and the variance If it is greater than or equal to the threshold variance, a processor that determines the set-off preparation time as the average set-off preparation time; may include.

Description

딥러닝 기반의 바둑 게임 서비스 방법 및 그 장치{DEEP-LEARNING BASED BADUK GAME SERVICE METHOD AND APPARATUS THEREOF}DEEP-LEARNING BASED BADUK GAME SERVICE METHOD AND APPARATUS THEREOF

딥러닝 기반의 바둑 게임 서비스 방법 및 그 장치에 관한 것이다. 보다 상세하게는 바둑 게임 시간 관리를 할 수 있는 딥러닝 기반의 바둑 게임 서비스 방법 및 그 장치에 관한 것이다. It relates to a deep learning-based Go game service method and device. More particularly, it relates to a deep learning-based Go game service method capable of managing Go game time and an apparatus therefor.

스마트폰, 태블릿 PC, PDA(Personal Digital Assistant), 노트북 등과 같은 사용자 단말의 이용이 대중화되고 정보 처리 기술이 발달함에 따라 사용자 단말을 이용하여 보드 게임의 일종인 바둑을 할 수 있게 되었고 나아가 사람이 아닌 프로그램된 인공지능 컴퓨터와 바둑 대국을 할 수 있게 되었다. As the use of user terminals such as smartphones, tablet PCs, personal digital assistants (PDA), and notebook computers has become popular and information processing technology has developed, it has become possible to play Go, a type of board game, using user terminals. It became possible to play Go games with a programmed artificial intelligence computer.

바둑은 다른 보드게임인 체스나 장기와 비교하였을 때 경우의 수가 많아서 인공지능 컴퓨터가 사람 수준으로 대국을 하는데 한계가 있었고 인공지능 컴퓨터의 기력을 높이기 위한 연구가 활발하게 진행되고 있는 추세이다. 최근 개발자들은 인공지능 컴퓨터에 몬테 카를로 트리 서치(Monte Carlo Tree Search; MCTS) 알고리즘과 딥러닝 기술을 적용하여 인공지능 컴퓨터의 기력을 프로기사들의 수준 이상으로 올렸다.Compared to other board games such as chess and chess, there are many cases of Go, so there is a limit to how artificial intelligence computers can play matches at human level, and research to increase the energy of artificial intelligence computers is being actively conducted. Recently, developers applied the Monte Carlo Tree Search (MCTS) algorithm and deep learning technology to artificial intelligence computers, raising the energy of artificial intelligence computers to the level of professional engineers.

또한, 바둑 대국 진행 중 누가 얼마나 이기고 있는지 형세를 판단하는 것은 게임 전략을 세우는데 있어서 중요한 요소이다. 그러나 바둑은 규칙에 따른 경우의 수가 많아서 정확한 형세를 판단하는 것이 일반인이나 아마추어도 어려워하는 실정이고 인공지능 컴퓨터가 형세를 판단하는 것 또한 정확도가 낮았다. In addition, judging who is winning and how much during the Go game is an important factor in setting up a game strategy. However, in Baduk, there are many cases in which the rules are followed, so it is difficult for the general public and amateurs to judge the exact situation, and the accuracy of the AI computer judging the situation is also low.

또한, 바둑은 시간이 제한된 보드게임이다. 바둑 대회마다 시간이 다른데 보통 선수에게 각자 1시간에서 5시간의 다양한 시간이 주어질 수 있고, 주어진 시간이 초과되면 초읽기 규칙이 적용되어 초읽기 횟수를 넘기면 패배하는 규칙이 있다. 따라서, 남은 바둑 시간을 파악하고 한 수에 얼마나 많은 시간을 사용하는지 결정하는 것은 게임 승리에 중요한 요소이다. 그러나, 인공지능 컴퓨터는 한 수를 두기 위해 소비하는 시간이 항상 일정하여 중요한 국면에서 좋지 못한 수를 착수하는 문제점이 있다. 또한, 일반적으로 일반이나 아마추어 또는 인공지능 컴퓨터는 남은 경기 길이를 예측할 수 없어서 시간 전략을 세울 수 없는 문제점이 있었다.Also, Go is a time-limited board game. The time is different for each Go tournament, and players can be given various times ranging from 1 to 5 hours each. Therefore, knowing the remaining Go time and determining how much time is spent on a single move is an important factor in winning the game. However, the artificial intelligence computer has a problem in that the time it takes to place a move is always constant, so it starts a bad move in an important phase. In addition, there was a problem in that, in general, general or amateur or artificial intelligence computers could not predict the length of the remaining game, so they could not establish a time strategy.

특허문헌 1: 공개특허공보 제10-2015-0129265호Patent Document 1: Unexamined Patent Publication No. 10-2015-0129265

본 발명은 전술한 문제점을 해결하기 위해, 딥러닝 기반의 바둑 게임 서비스 방법 및 그 장치에 관한 것으로. 보다 상세하게는 바둑 게임 시간 관리를 할 수 있는 딥러닝 기반의 바둑 게임 서비스 방법 및 그 장치를 제안하고자 한다.The present invention relates to a deep learning-based Go game service method and an apparatus therefor in order to solve the above problems. More specifically, it is intended to propose a deep learning-based Go game service method and device capable of managing Go game time.

자세히, 본 발명은 중요한 국면에서 착수 준비 시간을 변경하는 딥러닝 기반의 바둑 게임 서비스 방법 및 그 장치를 제공함을 목적으로 한다.In detail, an object of the present invention is to provide a deep learning-based Go game service method and apparatus for changing the start preparation time in an important phase.

또한, 본 발명은 남은 경기 길이를 예측하는 딥러닝 기반의 바둑 게임 서비스 방법 및 그 장치를 제공함을 목적으로 한다.In addition, an object of the present invention is to provide a deep learning-based Go game service method and apparatus for predicting the remaining game length.

또한, 본 발명은 예측된 남은 경기 길이를 이용하여 착수 준비 시간을 효과적으로 나눌 수 있는 딥러닝 기반의 바둑 게임 서비스 방법 및 그 장치를 제공함을 목적으로 한다.In addition, an object of the present invention is to provide a deep learning-based Go game service method and apparatus capable of effectively dividing the start preparation time using the predicted remaining game length.

실시예에 따른 하는 시간 관리 모델 서버는, 방문 횟수, 탐색 확률값을 수신하는 통신부; 시간 관리부를 저장하는 저장부; 및 상기 시간 관리부를 독출하고, 상기 시간 관리부가 상기 방문 횟수와 상기 탐색 확률값을 이용하여 분산을 산출하고, 상기 분산이 임계 분산값 미만이면 착수 준비 시간을 제1 착수 준비 시간으로 결정하고, 상기 분산이 상기 임계 분산값 이상이면 착수 준비 시간을 평균 착수 준비 시간으로 결정하는 프로세서;를 포함할 수 있다.A time management model server according to an embodiment, the number of visits, the communication unit for receiving the search probability value; a storage unit for storing the time management unit; and reading the time management unit, the time management unit calculates a variance using the number of visits and the search probability value, and if the variance is less than a threshold variance value, determines the start preparation time as the first set off preparation time, and the variance If it is greater than or equal to the threshold variance, a processor that determines the set-off preparation time as the average set-off preparation time; may include.

또한, 시간 관리 모델 서버는, 상기 제1 착수 준비 시간은 상기 평균 착수 준비 시간보다 더 길 수 있다.In addition, the time management model server, the first start preparation time may be longer than the average start preparation time.

또한, 시간 관리 모델 서버는, 상기 통신부는 가치값을 수신하고, 상기 프로세서는 상기 시간 관리부가 상기 분산이 상기 임계 분산값 미만으로 상기 착수 준비 시간을 상기 제1 착수 준비 시간으로 결정하면 상기 가치값이 임계 가치값 이하인지 판단하고, 상기 가치값이 상기 임계 가치값 이하이면 상기 착수 준비 시간을 제2 착수 준비 시간으로 결정할 수 있다.In addition, the time management model server, the communication unit receives a value value, the processor when the time management unit determines that the variance is less than the threshold variance value, the set off preparation time as the first set off preparation time, the value value It is determined whether it is less than the threshold value, and if the value is less than or equal to the threshold value, the start preparation time may be determined as the second start preparation time.

또한, 시간 관리 모델 서버는, 상기 제2 착수 준비 시간은 상기 제1 착수 준비 시간보다 더 길 수 있다.In addition, the time management model server, the second set off preparation time may be longer than the first set off preparation time.

실시예에 따른 하는 시간 관리 모델 서버는, 바둑판 상태 정보를 포함하는 복수의 기보, 상기 복수의 기보에 대한 형세 판단 정보, 상기 복수의 기보에 대한 가치값을 수신하는 통신부; 시간 관리 모델을 저장하는 저장부; 및 상기 시간 관리 모델을 독출하여 상기 시간 관리 모델의 학습을 수행하고 상기 학습된 시간 관리 모델을 이용하여 예측되는 남은 경기 길이에 관한 게임 시간 정보를 생성하는 프로세서;를 포함하고, 상기 형세 판단 정보는 상기 바둑판 상태에 따른 집수 변화량 정보 및 공배수 정보를 포함할 수 있다.A time management model server according to an embodiment, a plurality of notations including checkerboard state information, situation determination information for the plurality of notations, a communication unit for receiving a value value for the plurality of notations; a storage unit for storing the time management model; and a processor that reads the time management model, performs learning of the time management model, and generates game time information about the remaining game length predicted by using the learned time management model; It may include information on a change amount of water collection and common drainage information according to the state of the checkerboard.

또한, 시간 관리 모델 서버는, 상기 시간 관리 모델은, 입력된 바둑판 상태에서 제1 입력 특징을 추출하는 제1 입력 특징 추출부; 상기 집수 변화량을 제2 입력 특징으로 하고, 상기 공배수를 제3 입력 특징으로 하고, 상기 제1 입력 특징 내지 제3 입력 특징을 입력 데이터로 하는 시간 관리 제1 신경망; 및 상기 가치값을 제4 입력 특징으로 하고, 상기 시간 관리 제1 신경망의 출력 값과 상기 제4 입력 특징을 입력 데이터로 하여 상기 예측되는 남은 경기 길이를 출력하는 시간 관리 제2 신경망;을 포함할 수 있다.In addition, the time management model server, the time management model, a first input feature extracting unit for extracting a first input feature from the input checkerboard state; a time management first neural network using the water collection change amount as a second input feature, the common multiple as a third input feature, and using the first to third input features as input data; and a second neural network for time management that uses the value as a fourth input feature and outputs the predicted remaining game length by using the output value of the first neural network for time management and the fourth input feature as input data. can

또한, 시간 관리 모델 서버는, 상기 시간 관리 제1 신경망은 복수의 레지듀얼 블록을 포함하고, 상기 복수의 레지듀얼 블록 각각은 컨볼루션 레이어, 일괄 정규화 레이어, Relu 활성화 함수 레이어, 스킵 커넥션을 포함하고, 상기 시간 관리 제2 신경망은 풀리 커넥티드 레이어 구조일 수 있다.In addition, in the time management model server, the time management first neural network includes a plurality of residual blocks, and each of the plurality of residual blocks includes a convolution layer, a batch normalization layer, a Relu activation function layer, and a skip connection. , the time management second neural network may have a fully connected layer structure.

또한, 시간 관리 모델 서버는, 상기 프로세서는 남은 경기 길이 예측 손실을 이용하여 상기 시간 관리 모델을 트레이닝 하고, 상기 남은 경기 길이 예측 손실은 집수의 변화량 손실, 공배수 손실 및 가치값 손실을 포함할 수 있다.In addition, the time management model server, the processor trains the time management model by using the remaining game length prediction loss, and the remaining game length prediction loss may include a loss of change in catchment, loss of common multiple, and loss of value. .

또한, 시간 관리 모델 서버는, 상기 가치값 손실은 경기 후반부로 갈수록 상기 남은 경기 길이 예측 손실에서 중요도가 높아질 수 있다.In addition, in the time management model server, the loss of the value value may increase in importance in the prediction loss of the remaining game length toward the second half of the game.

또한, 시간 관리 모델 서버는, 상기 제1 입력 특징은 상기 입력된 바둑판 상태에서 흑 플레이어의 최근 8 수에 대한 돌의 위치 정보과 백 플레이어의 최근 8 수에 대한 돌의 위치 정보와 현재 플레이어가 흑인지 백인지에 대한 차례 정보를 포함할 수 있다.In addition, the time management model server, wherein the first input characteristic is the position information of the stone for the last 8 numbers of the black player in the input checkerboard state, the position information of the stones for the last 8 numbers of the white player, and whether the current player is black It may include turn information about whiteness.

실시예에 따른 딥러닝 기반의 바둑 게임 서비스 방법 및 그 장치는 바둑 게임 시간 관리를 할 수 있다.A deep learning-based Go game service method and apparatus according to an embodiment may manage Go game time.

또한, 실시예에 따른 딥러닝 기반의 바둑 게임 서비스 방법 및 그 장치는 중요한 국면에서 착수 준비 시간을 변경할 수 있다.In addition, the deep learning-based Go game service method and the device according to the embodiment may change the start preparation time in an important phase.

또한, 실시예에 따른 딥러닝 기반의 바둑 게임 서비스 방법 및 그 장치는 남은 경기 길이를 예측할 수 있다.In addition, the deep learning-based Go game service method and the apparatus according to the embodiment may predict the remaining game length.

또한, 실시예에 따른 딥러닝 기반의 바둑 게임 서비스 방법 및 그 장치는 예측된 남은 경기 길이를 이용하여 착수 준비 시간을 효과적으로 나눌 수 있다.In addition, the deep learning-based Go game service method and the device according to the embodiment can effectively divide the start preparation time using the predicted remaining game length.

도 1은 본 발명의 실시예에 따른 딥러닝 기반의 바둑 게임 서비스 시스템에 대한 예시도이다.
도 2는 본 발명의 실시예에 따른 딥러닝 기반의 바둑 게임 서비스에서 인공지능 컴퓨터의 착수를 위한 착수 모델 서버의 참수 모델 구조를 설명하기 위한 도면이다.
도 3은 착수 모델의 정책에 따른 착수점에 대한 이동 확률 분포를 설명하기 위한 도면이다.
도 4는 착수 모델의 착수점에 대한 가치값과 방문 횟수를 설명하기 위한 도면이다.
도 5는 착수 모델이 탐색부의 파이프 라인에 따라 착수하는 과정을 설명하기 위한 도면이다.
도 6은 본 발명의 실시예에 따른 딥러닝 기반의 바둑 게임 서비스의 형세 판단 기능을 제공하는 화면을 보여 주는 예시도이다.
도 7은 본 발명의 형세 판단 모델 서버의 형세 판단 모델 구조를 설명하기 위한 도면이다.
도 8은 본 발명의 형세 판단 모델의 복수의 블록으로 이루어진 신경망 구조 중 하나의 블록을 설명하기 위한 도면이다.
도 9는 본 발명의 형세 판단 모델을 학습하기 위해 사용되는 정답 레이블을 생성하기 위한 제1 및 제2 전처리 단계를 설명하기 위한 도면이다.
도 10은 본 발명의 형세 판단 모델을 학습하기 위해 사용되는 정답 레이블을 생성하기 위한 제1 및 제2 전처리 단계를 설명하기 위한 도면이다.
도 11은 본 발명의 형세 판단 모델을 학습하기 위해 사용되는 정답 레이블을 생성하기 위한 제3 전처리 단계를 설명하기 위한 도면이다.
도 12는 본 발명의 형세 판단 모델의 형세 판단 결과를 설명하기 위한 도면이다.
도 13은 본 발명의 형세 판단 모델의 형세 판단 결과와 종래 기술에 따른 딥러닝 모델에 의한 형세 판단 결과를 비교한 모습이다.
도 14는 본 발명의 형세 판단 모델의 형세 판단 결과와 종래 기술에 따른 딥러닝 모델에 의한 형세 판단 결과를 비교한 모습이다.
도 15는 본 발명의 형세 판단 모델의 형세 판단 결과와 종래 기술에 따른 딥러닝 모델에 의한 형세 판단 결과를 비교한 모습이다.
도 16은 본 발명의 실시예에 따른 딥러닝 기반의 바둑 게임 서비스 시스템에 신호 흐름에 대한 예시도이다.
도 17은 본 발명의 실시예에 따른 딥러닝 기반의 바둑 게임 서비스 방법 중 형세 판단 방법이다.
도 18은 도 17의 형세 판단 방법 중 정답 레이블을 생성하기 위한 트레이닝 데이터의 전처리 방법이다.
도 19는 본 발명의 일 실시예에 따른 시간 관리 모델 서버의 시간 관리부를 설명하기 위한 도면이다.
도 20은 본 발명의 일 실시예에 따른 시간 관리부의 분산 산출을 설명하기 위한 도면이다.
도 21은 본 발명의 일 실시예에 따른 시간 관리 모델 서버의 바둑 게임 서비스 시스템에서의 신호 흐름에 대한 예시도이다.
도 22는 본 발명의 일 실시예에 따른 딥러닝 기반의 바둑 게임 서비스 방법 중 착수 준비 시간 결정 방법이다.
도 23은 본 발명의 다른 실시예에 따른 시간 관리 모델 서버의 시간 관리 모델을 설명하기 위한 도면이다.
도 24는 본 발명의 다른 실시예에 따른 게임 시간 정보를 생성하기 위해 사용되는 집수 변화량을 설명하기 위한 도면이다.
도 25는 본 발명의 다른 실시예에 따른 게임 시간 정보를 생성하기 위해 사용되는 집수 변화량을 설명하기 위한 도면이다.
도 26은 본 발명의 다른 실시예에 따른 게임 시간 정보를 생성하기 위해 사용되는 공배수를 설명하기 위한 도면이다.
도 27은 본 발명의 다른 실시예에 따른 시간 관리 모델 서버의 바둑 게임 서비스 시스템에서의 신호 흐름에 대한 예시도이다.
도 28은 본 발명의 다른 실시예에 따른 딥러닝 기반의 바둑 게임 서비스 방법 중 게임 시간 정보 생성 방법이다.
1 is an exemplary diagram of a deep learning-based Go game service system according to an embodiment of the present invention.
Figure 2 is a view for explaining the structure of the beheading model of the start model server for the start of the artificial intelligence computer in the deep learning-based Go game service according to an embodiment of the present invention.
Figure 3 is a view for explaining the movement probability distribution for the starting point according to the policy of the starting model.
4 is a view for explaining the value value and the number of visits to the starting point of the starting model.
5 is a view for explaining a process in which the launch model is launched according to the pipeline of the search unit.
6 is an exemplary diagram showing a screen providing a situation determination function of a deep learning-based Go game service according to an embodiment of the present invention.
7 is a view for explaining the structure of a situation determination model of the situation determination model server of the present invention.
8 is a diagram for explaining one block of the neural network structure composed of a plurality of blocks of the situation determination model of the present invention.
9 is a view for explaining the first and second pre-processing steps for generating a correct answer label used to learn the situation judgment model of the present invention.
10 is a view for explaining the first and second pre-processing steps for generating a correct answer label used to learn the situation judgment model of the present invention.
11 is a view for explaining a third pre-processing step for generating a correct answer label used for learning the situation judgment model of the present invention.
12 is a view for explaining a situation determination result of the situation determination model of the present invention.
13 is a view comparing the situation determination result of the situation determination model of the present invention with the situation determination result by the deep learning model according to the prior art.
14 is a view comparing the situation determination result of the situation determination model of the present invention with the situation determination result by the deep learning model according to the prior art.
15 is a view comparing the situation determination result of the situation determination model of the present invention with the situation determination result by the deep learning model according to the prior art.
16 is an exemplary diagram of a signal flow in a deep learning-based Go game service system according to an embodiment of the present invention.
17 is a method for determining a situation in a deep learning-based Go game service method according to an embodiment of the present invention.
18 is a pre-processing method of training data for generating a correct answer label in the method of determining the situation of FIG. 17 .
19 is a diagram for explaining a time management unit of a time management model server according to an embodiment of the present invention.
20 is a diagram for explaining distributed calculation of a time management unit according to an embodiment of the present invention.
21 is an exemplary diagram of a signal flow in the Go game service system of the time management model server according to an embodiment of the present invention.
22 is a method of determining a start preparation time among the deep learning-based Go game service methods according to an embodiment of the present invention.
23 is a diagram for explaining a time management model of a time management model server according to another embodiment of the present invention.
24 is a diagram for explaining a water catchment change amount used to generate game time information according to another embodiment of the present invention.
25 is a diagram for explaining a change amount of water collection used to generate game time information according to another embodiment of the present invention.
26 is a diagram for explaining a common multiple used to generate game time information according to another embodiment of the present invention.
27 is an exemplary diagram of a signal flow in the Go game service system of the time management model server according to another embodiment of the present invention.
28 is a method for generating game time information among the deep learning-based Go game service methods according to another embodiment of the present invention.

본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 본 발명의 효과 및 특징, 그리고 그것들을 달성하는 방법은 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 다양한 형태로 구현될 수 있다. 이하의 실시예에서, 제1, 제2 등의 용어는 한정적인 의미가 아니라 하나의 구성 요소를 다른 구성 요소와 구별하는 목적으로 사용되었다. 또한, 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 또한, 포함하다 또는 가지다 등의 용어는 명세서상에 기재된 특징, 또는 구성요소가 존재함을 의미하는 것이고, 하나 이상의 다른 특징들 또는 구성요소가 부가될 가능성을 미리 배제하는 것은 아니다. 또한, 도면에서는 설명의 편의를 위하여 구성 요소들이 그 크기가 과장 또는 축소될 수 있다. 예컨대, 도면에서 나타난 각 구성의 크기 및 두께는 설명의 편의를 위해 임의로 나타내었으므로, 본 발명이 반드시 도시된 바에 한정되지 않는다.Since the present invention can apply various transformations and can have various embodiments, specific embodiments are illustrated in the drawings and described in detail in the detailed description. Effects and features of the present invention, and a method of achieving them, will become apparent with reference to the embodiments described below in detail in conjunction with the drawings. However, the present invention is not limited to the embodiments disclosed below and may be implemented in various forms. In the following embodiments, terms such as first, second, etc. are used for the purpose of distinguishing one component from another without limiting meaning. Also, the singular expression includes the plural expression unless the context clearly dictates otherwise. In addition, terms such as include or have means that the features or elements described in the specification are present, and do not preclude the possibility that one or more other features or elements will be added. In addition, in the drawings, the size of the components may be exaggerated or reduced for convenience of description. For example, since the size and thickness of each component shown in the drawings are arbitrarily indicated for convenience of description, the present invention is not necessarily limited to the illustrated bar.

이하, 첨부된 도면을 참조하여 본 발명의 실시예들을 상세히 설명하기로 하며, 도면을 참조하여 설명할 때 동일하거나 대응하는 구성 요소는 동일한 도면부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings, and when described with reference to the drawings, the same or corresponding components are given the same reference numerals, and the overlapping description thereof will be omitted. .

도 1은 본 발명의 실시예에 따른 딥러닝 기반의 바둑 게임 서비스 시스템에 대한 예시도이다.1 is an exemplary diagram of a deep learning-based Go game service system according to an embodiment of the present invention.

도 1을 참조하면, 실시예에 따른 딥러닝 기반의 바둑 게임 서비스 시스템은, 단말기(100), 바둑서버(200), 착수 모델 서버(300), 형세 판단 모델 서버(400) 및 네트워크(500)를 포함할 수 있다.Referring to Figure 1, the deep learning-based Go game service system according to the embodiment, the terminal 100, the Go server 200, the start model server 300, the situation judgment model server 400 and the network 500) may include.

도 1의 각 구성요소는, 네트워크(500)를 통해 연결될 수 있다. 단말기(100), 바둑서버(200), 착수 모델 서버(300), 형세 판단 모델 서버(400) 및 시간 관리 모델 서버(500) 등과 같은 각각의 노드 상호 간에 정보 교환이 가능한 연결 구조를 의미하는 것으로, 이러한 네트워크의 일 예에는 3GPP(3rd Generation Partnership Project) 네트워크, LTE(Long Term Evolution) 네트워크, WIMAX(World Interoperability for Microwave Access) 네트워크, 인터넷(Internet), LAN(Local Area Network), Wireless LAN(Wireless Local Area Network), WAN(Wide Area Network), PAN(Personal Area Network), 블루투스(Bluetooth) 네트워크, 위성 방송 네트워크, 아날로그 방송 네트워크, DMB(Digital Multimedia Broadcasting) 네트워크 등이 포함되나 이에 한정되지는 않는다. Each component of FIG. 1 may be connected through a network 500 . The terminal 100, Go server 200, start model server 300, situation determination model server 400, time management model server 500, etc. to mean a connection structure in which information can be exchanged between each node. , Examples of such networks include a 3rd Generation Partnership Project (3GPP) network, a Long Term Evolution (LTE) network, a World Interoperability for Microwave Access (WIMAX) network, the Internet, a Local Area Network (LAN), and a Wireless LAN (Wireless LAN) network. Local Area Network), WAN (Wide Area Network), PAN (Personal Area Network), Bluetooth (Bluetooth) network, satellite broadcasting network, analog broadcasting network, DMB (Digital Multimedia Broadcasting) network, and the like are included, but are not limited thereto.

<단말기(100)><Terminal (100)>

먼저, 단말기(100)는, 바둑 게임 서비스를 제공받고자 하는 유저의 단말기이다. 또한, 단말기(100)는 다양한 작업을 수행하는 애플리케이션들을 실행하기 위한 유저가 사용하는 하나 이상의 컴퓨터 또는 다른 전자 장치이다. 예컨대, 컴퓨터, 랩탑 컴퓨터, 스마트 폰, 모바일 전화기, PDA, 태블릿 PC, 혹은 바둑서버(200)와 통신하도록 동작 가능한 임의의 다른 디바이스를 포함한다. 다만 이에 한정되는 것은 아니고 단말기(100)는 다양한 머신들 상에서 실행되고, 다수의 메모리 내에 저장된 명령어들을 해석하여 실행하는 프로세싱로직을 포함하고, 외부 입력/출력 디바이스상에 그래픽 사용자 인터페이스(GUI)를 위한 그래픽 정보를 디스플레이하는 프로세스들과 같이 다양한 기타 요소들을 포함할 수 있다. 아울러 단말기(100)는 입력 장치(예를 들면 마우스, 키보드, 터치 감지 표면 등) 및 출력 장치(예를 들면 디스플레이장치, 모니터, 스크린 등)에 접속될 수 있다. 단말기(100)에 의해 실행되는 애플리케이션들은 게임 어플리케이션, 웹 브라우저, 웹 브라우저에서 동작하는 웹 애플리케이션, 워드 프로세서들, 미디어 플레이어들, 스프레드시트들, 이미지 프로세서들, 보안 소프트웨어 또는 그 밖의 것을 포함할 수 있다.First, the terminal 100 is a terminal of a user who wants to be provided with a Go game service. In addition, the terminal 100 is one or more computers or other electronic devices used by a user to execute applications that perform various tasks. For example, it includes a computer, a laptop computer, a smart phone, a mobile phone, a PDA, a tablet PC, or any other device operable to communicate with the Go server 200 . However, not limited thereto, the terminal 100 is executed on various machines, and includes processing logic for interpreting and executing commands stored in a plurality of memories, and for a graphical user interface (GUI) on an external input/output device. It may include various other elements, such as processes for displaying graphical information. In addition, the terminal 100 may be connected to an input device (eg, a mouse, a keyboard, a touch-sensitive surface, etc.) and an output device (eg, a display device, a monitor, a screen, etc.). Applications executed by the terminal 100 may include a game application, a web browser, a web application running on a web browser, word processors, media players, spreadsheets, image processors, security software or the like. .

또한, 단말기(100)는 명령들을 저장하는 적어도 하나의 메모리(101), 적어도 하나의 프로세서(102) 및 통신부(103)를 포함할 수 있다. In addition, the terminal 100 may include at least one memory 101 for storing instructions, at least one processor 102 , and a communication unit 103 .

단말기(100)의 메모리(101)는 단말기(100)에서 구동되는 다수의 응용 프로그램(application program) 또는 애플리케이션(application), 단말기(100)의 동작을 위한 데이터들, 명령어들을 저장할 수 있다. 명령들은 프로세서(102)로 하여금 동작들을 수행하게 하기 위해 프로세서(102)에 의해 실행 가능하고, 동작들은 바둑 게임 실행 요청 신호를 전송, 게임 데이터 송수신, 착수 정보 송수신, 형세 판단 요청 신호를 전송, 형세 판단 결과 수신, 게임 시간 정보 요청, 게임 시간 정보 수신 및 각종 정보 수신하는 동작들을 포함할 수 있다. 또한, 메모리(101)는 하드웨어적으로, ROM, RAM, EPROM, 플래시 드라이브, 하드 드라이브 등과 같은 다양한 저장기기 일 수 있고, 메모리(130)는 인터넷(internet)상에서 상기 메모리(101)의 저장 기능을 수행하는 웹 스토리지(web storage)일 수도 있다. The memory 101 of the terminal 100 may store a plurality of application programs or applications driven in the terminal 100 , data for operation of the terminal 100 , and commands. The instructions are executable by the processor 102 to cause the processor 102 to perform the operations, and the operations are: sending a Go game execution request signal, sending and receiving game data, sending and receiving start information, sending a situation determination request signal, the situation It may include operations of receiving a determination result, requesting game time information, receiving game time information, and receiving various types of information. In addition, in terms of hardware, the memory 101 may be various storage devices such as ROM, RAM, EPROM, flash drive, hard drive, etc., and the memory 130 performs the storage function of the memory 101 on the Internet. It may be a web storage that performs.

단말기(100)의 프로세서(102)는 전반적인 동작을 제어하여 바둑 게임 서비스를 제공받기 위한 데이터 처리를 수행할 수 있다. 단말기(100)에서 바둑 게임 어플리케이션이 실행되면, 단말기(100)에서 바둑 게임 환경이 구성된다. 그리고 바둑 게임 어플리케이션은 네트워크(500)를 통해 바둑 서버(200)와 바둑 게임 데이터를 교환하여 단말기(100) 상에서 바둑 게임 서비스가 실행되도록 한다. 이러한 프로세서(102)는 ASICs (application specific integrated circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 제어기(controllers), 마이크로 컨트롤러(micro-controllers), 마이크로 프로세서(microprocessors), 기타 기능 수행을 위한 임의의 형태의 프로세서일 수 있다.The processor 102 of the terminal 100 may perform data processing for receiving a Go game service by controlling the overall operation. When the Go game application is executed in the terminal 100 , the Go game environment is configured in the terminal 100 . And the Go game application exchanges Go game data with the Go server 200 through the network 500 so that the Go game service is executed on the terminal 100 . These processors 102 are ASICs (application specific integrated circuits), DSPs (digital signal processors), DSPDs (digital signal processing devices), PLDs (programmable logic devices), FPGAs (field programmable gate arrays), controllers (controllers), micro It may be a controller (micro-controllers), microprocessors (microprocessors), any type of processor for performing other functions.

단말기(100)의 통신부(103)는, 하기 통신방식(예를 들어, GSM(Global System for Mobile communication), CDMA(Code Division Multi Access), HSDPA(High Speed Downlink Packet Access), HSUPA(High Speed Uplink Packet Access), LTE(Long Term Evolution), LTE-A(Long Term Evolution-Advanced) 등), WLAN(Wireless LAN), Wi-Fi(Wireless-Fidelity), Wi-Fi(Wireless Fidelity) Direct, DLNA(Digital Living Network Alliance), WiBro(Wireless Broadband), WiMAX(World Interoperability for Microwave Access)에 따라 구축된 네트워크망 상에서 기지국, 외부의 단말, 서버 중 적어도 하나와 무선 신호를 송수신할 수 있다. The communication unit 103 of the terminal 100 includes the following communication methods (eg, Global System for Mobile communication (GSM), Code Division Multi Access (CDMA), High Speed Downlink Packet Access (HSDPA), High Speed Uplink (HSUPA)) Packet Access), LTE (Long Term Evolution), LTE-A (Long Term Evolution-Advanced), etc.), WLAN (Wireless LAN), Wi-Fi (Wireless-Fidelity), Wi-Fi (Wireless Fidelity) Direct, DLNA ( Digital Living Network Alliance), WiBro (Wireless Broadband), and WiMAX (World Interoperability for Microwave Access) can transmit and receive a wireless signal to and from at least one of a base station, an external terminal, and a server on a network built in accordance with.

<바둑서버(200)><Go server (200)>

바둑서버(200)가 제공하는 바둑 게임 서비스는 바둑서버(200)가 제공하는 가상의 컴퓨터 유저와 실제 유저가 함께 게임에 참여하는 형태로 구성될 수 있다. 이는 유저측 단말기(100) 상에서 구현되는 바둑 게임 환경에서 하나의 실제 유저와 하나의 컴퓨터 유저가 함께 게임을 플레이 한다. 다른 측면에서, 바둑서버(200)가 제공하는 바둑 게임 서비스는 복수의 유저측 디바이스가 참여하여 바둑 게임이 플레이되는 형태로 구성될 수도 있다.The Go game service provided by the Go server 200 may be configured in a form in which a virtual computer user and a real user provided by the Go server 200 participate in a game together. This means that one real user and one computer user play the game together in the Go game environment implemented on the user-side terminal 100 . In another aspect, the Go game service provided by the Go server 200 may be configured in such a way that a plurality of user-side devices participate and the Go game is played.

바둑서버(200)는 명령들을 저장하는 적어도 하나의 메모리(201), 적어도 하나의 프로세서(202) 및 통신부(203)를 포함할 수 있다. Go server 200 may include at least one memory 201 for storing instructions, at least one processor 202 and a communication unit 203 .

바둑서버(200)의 메모리(201)는 바둑서버(200)에서 구동되는 다수의 응용 프로그램(application program) 또는 애플리케이션(application), 바둑서버(200)의 동작을 위한 데이터들, 명령어들을 저장할 수 있다. 명령들은 프로세서(202)로 하여금 동작들을 수행하게 하기 위해 프로세서(202)에 의해 실행 가능하고, 동작들은 게임 실행 요청 신호 수신, 게임 데이터 송수신, 착수 정보 송수신, 형세 판단 요청 신호 송수신, 형세 판단 결과 송수신, 착수 준비 시간 송수신, 게임 정보 시간 송수신 및 각종 전송 동작을 포함할 수 있다. 또한, 메모리(201)는 바둑서버(200)에서 대국을 하였던 복수의 기보 또는 기존에 공개된 복수의 기보를 저장할 수 있다. 복수의 기보 각각은 대국 시작의 첫 착수 정보인 제1 착수부터 대국이 종료되는 최종 착수까지의 정보를 모두 포함할 수 있다. 즉, 복수의 기보는 착수에 관한 히스토리 정보를 포함할 수 있다. 바둑서버(200)는 형세 판단 모델 서버(400)의 트레이닝을 위하여 저장된 복수의 기보를 형세 판단 모델 서버(400)에 제공할 수 있게 한다. 또한, 메모리(201)는 하드웨어적으로, ROM, RAM, EPROM, 플래시 드라이브, 하드 드라이브 등과 같은 다양한 저장기기 일 수 있고, 메모리(201)는 인터넷(internet)상에서 상기 메모리(201)의 저장 기능을 수행하는 웹 스토리지(web storage)일 수도 있다.The memory 201 of the Go server 200 may store a plurality of application programs or applications running in the Go server 200, data for the operation of the Go server 200, and commands. . The instructions are executable by the processor 202 to cause the processor 202 to perform the operations, and the operations are game execution request signal reception, game data transmission/reception, start information transmission/reception, situation determination request signal transmission/reception, situation determination result transmission/reception , may include transmission and reception of start preparation time, transmission and reception of game information time, and various transmission operations. In addition, the memory 201 may store a plurality of notations that were played in the Go server 200 or a plurality of previously published notations. Each of the plurality of notations may include all of the information from the first start that is the first start information of the start of the game to the final start that the game ends. That is, a plurality of notations may include history information about the start. The Go server 200 makes it possible to provide a plurality of stored notations for the training of the posture determination model server 400 to the posture determination model server 400 . In addition, in terms of hardware, the memory 201 may be various storage devices such as ROM, RAM, EPROM, flash drive, hard drive, etc., and the memory 201 performs the storage function of the memory 201 on the Internet. It may be a web storage that performs.

바둑서버(200)의 프로세서(202)는 전반적인 동작을 제어하여 바둑 게임 서비스를 제공하기 위한 데이터 처리를 수행할 수 있다. 이러한 프로세서(202)는 ASICs (application specific integrated circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 제어기(controllers), 마이크로 컨트롤러(micro-controllers), 마이크로 프로세서(microprocessors), 기타 기능 수행을 위한 임의의 형태의 프로세서일 수 있다.The processor 202 of the Go server 200 may perform data processing for providing a Go game service by controlling the overall operation. These processors 202 are ASICs (application specific integrated circuits), DSPs (digital signal processors), DSPDs (digital signal processing devices), PLDs (programmable logic devices), FPGAs (field programmable gate arrays), controllers (controllers), micro It may be a controller (micro-controllers), microprocessors (microprocessors), any type of processor for performing other functions.

바둑서버(200)는 통신부(203)를 통해 네트워크(500)를 경유하여 단말기(100), 착수 모델 서버(300) 및 형세 판단 모델 서버(400)와 통신을 수행할 수 있다. The Go server 200 may communicate with the terminal 100 , the start model server 300 and the situation determination model server 400 via the network 500 through the communication unit 203 .

<착수 모델 서버(300)><Start model server (300)>

착수 모델 서버(300)는, 별도의 클라우드 서버나 컴퓨팅 장치를 포함할 수 있다. 또한, 착수 모델 서버(300)는 단말기(100)의 프로세서 또는 바둑서버(200)의 데이터 처리부에 설치된 신경망 시스템일 수 있지만, 이하에서 착수 모델 서버(300)는, 단말기(100) 또는 바둑 서버(200)와 별도의 장치로 설명한다.Initiation model server 300 may include a separate cloud server or computing device. In addition, the initiation model server 300 may be a neural network system installed in the data processing unit of the processor or Go server 200 of the terminal 100, but in the following, the initiation model server 300 is the terminal 100 or the Go server ( 200) and a separate device.

착수 모델 서버(300)는 명령들을 저장하는 적어도 하나의 메모리(301), 적어도 하나의 프로세서(302) 및 통신부(303)를 포함할 수 있다. Initiation model server 300 may include at least one memory 301 for storing instructions, at least one processor 302 and a communication unit 303 .

착수 모델 서버(300)는 바둑 규칙에 따라 스스로 학습하여 딥러닝 모델인 착수 모델을 구축하고 단말기(100)의 유저와 대국을 할 수 있는 인공지능 컴퓨터로써 자신의 턴에서 대국에서 이길 수 있도록 바둑돌의 착수를 수행할 수 있다. 착수 모델 서버(300)가 착수 모델로 트레이닝하는 자세한 설명은 도 2 내지 도 5의 착수 모델에 관한 설명을 따른다.The start model server 300 is an artificial intelligence computer that can learn by itself according to the rules of Go to build a set-up model, which is a deep learning model, and play a game with the user of the terminal 100. initiation can be carried out. The detailed description of the set-up model server 300 training with the set-off model follows the description of the set-up model of FIGS. 2 to 5 .

착수 모델 서버(300)의 메모리(301)는 착수 모델 서버(300)에서 구동되는 다수의 응용 프로그램(application program) 또는 애플리케이션(application), 착수 모델 서버(300)의 동작을 위한 데이터들, 명령어들을 저장할 수 있다. 명령들은 프로세서(302)로 하여금 동작들을 수행하게 하기 위해 프로세서(302)에 의해 실행 가능하고, 동작들은 착수 모델 학습(트레이닝) 동작, 착수 정보 송수신, 착수 준비 시간 수신, 게임 시간 정보 수신 및 각종 전송 동작을 포함할 수 있다. 또한, 메모리(301)는 딥러닝 모델인 착수 모델을 저장 할 수 있다. 또한, 메모리(301)는 하드웨어적으로, ROM, RAM, EPROM, 플래시 드라이브, 하드 드라이브 등과 같은 다양한 저장기기 일 수 있고, 메모리(301)는 인터넷(internet)상에서 상기 메모리(301)의 저장 기능을 수행하는 웹 스토리지(web storage)일 수도 있다.Memory 301 of the initiation model server 300 is a plurality of application programs (application program) or applications (application) driven in the initiation model server 300, data for the operation of the initiation model server 300, commands can be saved The instructions are executable by the processor 302 to cause the processor 302 to perform the operations, and the operations are a set-up model learning (training) action, send/receive start-up information, receive start-up preparation time, receive game time information, and transmit various It can include actions. In addition, the memory 301 may store an initiation model that is a deep learning model. In addition, in terms of hardware, the memory 301 may be various storage devices such as ROM, RAM, EPROM, flash drive, hard drive, etc., and the memory 301 performs the storage function of the memory 301 on the Internet. It may be a web storage that performs.

착수 모델 서버(300)의 프로세서(302)는 메모리(302)에 저장된 착수 모델을 독출하여, 구축된 신경망 시스템에 따라서 하기 기술하는 착수 모델 학습 및 바둑알 착수를 수행하게 된다. 실시예에 따라서 프로세서(302)는, 전체 유닛들을 제어하는 메인 프로세서와, 착수 모델에 따라 신경망 구동시 필요한 대용량의 연산을 처리하는 복수의 그래픽 프로세서(Graphics Processing Unit, GPU)를 포함하도록 구성될 수 있다. The processor 302 of the set-off model server 300 reads the set-off model stored in the memory 302, and performs the set-up model learning and Go start to be described below according to the built-up neural network system. According to an embodiment, the processor 302 may be configured to include a main processor that controls all units, and a plurality of graphics processing units (GPUs) that process large-capacity calculations required when driving a neural network according to an initiation model. have.

착수 모델 서버(300)는 통신부(303)를 통해 네트워크(500)를 경유하여 바둑 서버(200)와 통신을 수행할 수 있다. The start model server 300 may communicate with the Go server 200 via the network 500 through the communication unit 303 .

<형세 판단 모델 서버(400)><Situation judgment model server 400>

형세 판단 모델 서버(400)는, 별도의 클라우드 서버나 컴퓨팅 장치를 포함할 수 있다. 또한, 형세 판단 모델 서버(400)는 단말기(100)의 프로세서 또는 바둑서버(200)의 데이터 처리부에 설치된 신경망 시스템일 수 있지만, 이하에서 형세 판단 모델 서버(400)는, 단말기(100) 또는 바둑 서버(200)와 별도의 장치로 설명한다.The situation determination model server 400 may include a separate cloud server or computing device. In addition, the situation determination model server 400 may be a neural network system installed in the processor of the terminal 100 or the data processing unit of the Go server 200, but in the following, the situation determination model server 400 is the terminal 100 or Go It will be described as a separate device from the server 200 .

형세 판단 모델 서버(400)는 명령들을 저장하는 적어도 하나의 메모리(401), 적어도 하나의 프로세서(402) 및 통신부(403)를 포함할 수 있다. The situation determination model server 400 may include at least one memory 401 for storing instructions, at least one processor 402 and a communication unit 403 .

형세 판단 모델 서버(400)는 통신부(403)를 통하여 바둑서버(200)로부터 트레이닝 데이터 셋을 수신할 수 있다. 트레이닝 데이터 셋은 복수의 기보와 해당 복수의 기보에 대한 형세 판단 정보일 수 있다. 형세 판단 모델 서버(400)는 수신한 트레이닝 데이터 셋을 이용하여 바둑알이 놓인 바둑판의 상태에 대한 형세를 판단할 수 있도록 지도학습하여 딥러닝 모델인 형세 판단 모델을 구축하고 단말기(100) 유저의 형세 판단 요청에 따라 형세 판단을 수행할 수 있다. 형세 판단 모델 서버(400)가 형세 판단 모델로 트레이닝하는 자세한 설명은 도 6 내지 도 18의 형세 판단 모델에 관한 설명을 따른다.The situation determination model server 400 may receive the training data set from the Go server 200 through the communication unit 403 . The training data set may be a plurality of notations and situation determination information for the plurality of notations. The situation determination model server 400 uses the received training data set to supervise learning so as to determine the situation for the state of the Go board on which the Go balls are placed to build a deep learning model, the situation determination model, and the terminal 100 user's situation A situational judgment may be performed according to a judgment request. The detailed description of the situation determination model server 400 training with the situation determination model follows the description of the situation determination model of FIGS. 6 to 18 .

형세 판단 모델 서버(400)의 메모리(401)는 형세 판단 모델 서버(400)에서 구동되는 다수의 응용 프로그램(application program) 또는 애플리케이션(application), 형세 판단 모델 서버(400)의 동작을 위한 데이터들, 명령어들을 저장할 수 있다. 명령들은 프로세서(402)로 하여금 동작들을 수행하게 하기 위해 프로세서(402)에 의해 실행 가능하고, 동작들은 형세 판단 모델 학습(트레이닝) 동작, 형세 판단 수행, 형세 판단 결과 송신, 복수의 기보 정보 수신, 집수의 변화량 정보 송신, 공배수 정보 송신 및 각종 전송 동작을 포함할 수 있다. 또한, 메모리(401)는 딥러닝 모델인 형세 판단 모델을 저장 할 수 있다. 또한, 메모리(401)는 하드웨어적으로, ROM, RAM, EPROM, 플래시 드라이브, 하드 드라이브 등과 같은 다양한 저장기기 일 수 있고, 메모리(401)는 인터넷(internet)상에서 상기 메모리(301)의 저장 기능을 수행하는 웹 스토리지(web storage)일 수도 있다.The memory 401 of the situation determination model server 400 is a plurality of application programs or applications running in the situation determination model server 400, data for the operation of the situation determination model server 400 , commands can be stored. The instructions are executable by the processor 402 to cause the processor 402 to perform the operations, and the operations include a situation determination model learning (training) operation, performing a situation determination, transmitting a situation determination result, receiving a plurality of notation information, It may include transmission of change amount information of collection water, transmission of common drainage information, and various transmission operations. Also, the memory 401 may store a situation judgment model that is a deep learning model. In addition, in terms of hardware, the memory 401 may be various storage devices such as ROM, RAM, EPROM, flash drive, hard drive, etc., and the memory 401 performs the storage function of the memory 301 on the Internet. It may be a web storage that performs.

형세 판단 모델 서버(400)의 프로세서(402)는 메모리(402)에 저장된 형세 판단 모델을 독출하여, 구축된 신경망 시스템에 따라서 하기 기술하는 형세 판단 모델 학습 및 대국 중 바둑판의 형세 판단을 수행하게 된다. 실시예에 따라서 프로세서(402)는, 전체 유닛들을 제어하는 메인 프로세서와, 형세 판단 모델에 따라 신경망 구동시 필요한 대용량의 연산을 처리하는 복수의 그래픽 프로세서(Graphics Processing Unit, GPU)를 포함하도록 구성될 수 있다. The processor 402 of the situation determination model server 400 reads the situation determination model stored in the memory 402, and according to the constructed neural network system, learns the situation determination model described below and determines the situation of the checkerboard during the game. . According to an embodiment, the processor 402 may be configured to include a main processor that controls all units, and a plurality of graphics processing units (GPUs) that process large-capacity operations required when driving a neural network according to a situation determination model. can

형세 판단 모델 서버(400)는 통신부(403)를 통해 네트워크(500)를 경유하여 바둑 서버(200)와 통신을 수행할 수 있다. The situation determination model server 400 may communicate with the Go server 200 via the network 500 through the communication unit 403 .

<시간 관리 모델 서버(500)><Time Management Model Server (500)>

시간 관리 모델 서버(400)는, 별도의 클라우드 서버나 컴퓨팅 장치를 포함할 수 있다. 또한, 시간 관리 모델 서버(400)는 단말기(100)의 프로세서, 바둑서버(200)의 메모리, 착수 모델 서버(300)의 메모리 또는 형세 판단 모델 서버(400)의 메모리에 설치된 신경망 시스템일 수 있지만, 이하에서 시간 관리 모델 서버(500)는, 단말기(100), 바둑 서버(200), 착수 모델 서버(300) 또는 형세 판단 모델 서버(400)와 별도의 장치로 설명한다.The time management model server 400 may include a separate cloud server or computing device. In addition, the time management model server 400 may be a neural network system installed in the processor of the terminal 100, the memory of the Go server 200, the memory of the start model server 300 or the memory of the situation judgment model server 400, but , Hereinafter, the time management model server 500 will be described as a device separate from the terminal 100 , the Go server 200 , the start model server 300 or the situation determination model server 400 .

시간 관리 모델 서버(500)는 명령들을 저장하는 적어도 하나의 메모리(501), 적어도 하나의 프로세서(502) 및 통신부(503)를 포함할 수 있다. The time management model server 500 may include at least one memory 501 for storing instructions, at least one processor 502 and a communication unit 503 .

또한, 시간 관리 모델 서버(500)는 통신부(503)를 통하여 착수 모델 서버(300)로부터 방문 횟수, 탐색 확률값 또는 가치값을 수신할 수 있다. 시간 관리 모델 서버(500)는 수신한 방문 횟수, 탐색 확률값, 가치값을 이용하여 착수 준비 시간을 결정할 수 있다. 시간 관리 모델 서버(500)의 착수 준비 시간 결정 방법에 대한 자세한 설명은 도 19 내지 도 22의 설명을 따른다. 또한, 시간 관리 모델 서버(500)는 통신부(503)를 통하여 바둑서버(500)로부터 트레이닝 데이터 셋을 수신할 수 있다. 트레이닝 데이터 셋은 복수의 기보, 해당 복수의 기보에 대한 형세 판단 정보, 복수의 기보에 대한 각 바둑판 상태에 따른 시간 정보일 수 있다. 또한, 시간 관리 모델 서버(500)는 통신부(503)를 통하여 형세 판단 모델 서버(400)로부터 형세 판단 정보를 수신할 수 있다. 형세 판단 정보는 집수의 변화량 정보, 공배수 정보 등을 포함할 수 있다. 시간 관리 모델 서버(500)는 수신한 트레이닝 데이터 셋, 형세 판단 정보, 가치값 등을 이용하여 게임 시간 정보를 생성할 수 있도록 지도학습하여 딥러닝 모델인 시간 관리 모델을 구축하고 착수 모델 서버(300) 또는 단말기(100)에 바둑판 상태에 따른 게임 시간 정보를 제공할 수 있다. 시간 관리 모델 서버(50))가 시간 관리 모델로 트레이닝하는 자세한 설명은 도 23 내지 도 28의 시간 관리 모델에 관한 설명을 따른다. In addition, the time management model server 500 may receive the number of visits, a search probability value, or a value value from the start model server 300 through the communication unit 503 . The time management model server 500 may determine the start preparation time using the received number of visits, the search probability value, and the value value. A detailed description of the method for determining the start preparation time of the time management model server 500 follows the description of FIGS. 19 to 22 . Also, the time management model server 500 may receive a training data set from the Go server 500 through the communication unit 503 . The training data set may be a plurality of notations, situation determination information for the plurality of notations, and time information according to each checkerboard state for a plurality of notations. In addition, the time management model server 500 may receive the situation determination information from the situation determination model server 400 through the communication unit 503 . The situation determination information may include information on a change amount of catchment, information on a common drainage, and the like. The time management model server 500 builds a time management model that is a deep learning model by supervising learning so as to generate game time information using the received training data set, situation determination information, value value, etc., and starting model server 300 ) or may provide game time information according to the state of the checkerboard to the terminal 100 . A detailed description of the time management model server 50 training with the time management model follows the description of the time management model of FIGS. 23 to 28 .

시간 관리 모델 서버(500)의 메모리(501)는 시간 관리 모델 서버(500)에서 구동되는 다수의 응용 프로그램(application program) 또는 애플리케이션(application), 형세 판단 모델 서버(400)의 동작을 위한 데이터들, 명령어들을 저장할 수 있다. 명령들은 프로세서(502)로 하여금 동작들을 수행하게 하기 위해 프로세서(502)에 의해 실행 가능하고, 동작들은 시간 관리 모델 학습(트레이닝) 동작, 방문 횟수, 탐색 확률값 또는 가치값을 수신, 착수 준비 시간 결정, 복수의 기보 정보 수신, 집수의 변화량 정보 수신, 공배수 정보 수신, 게임 시간 정보 생성 및 각종 전송 동작을 포함할 수 있다. 또한, 메모리(501)는 시간 관리부 또는 딥러닝 모델인 시간 관리 모델을 저장 할 수 있다. 또한, 메모리(501)는 하드웨어적으로, ROM, RAM, EPROM, 플래시 드라이브, 하드 드라이브 등과 같은 다양한 저장기기 일 수 있고, 메모리(501)는 인터넷(internet)상에서 상기 메모리(501)의 저장 기능을 수행하는 웹 스토리지(web storage)일 수도 있다.The memory 501 of the time management model server 500 is a plurality of application programs or applications driven in the time management model server 500, data for the operation of the situation determination model server 400 , commands can be stored. The instructions are executable by the processor 502 to cause the processor 502 to perform operations, the operations comprising: a time management model learning (training) operation; , may include a plurality of notation information reception, collection change amount information reception, common multiple information reception, game time information generation and various transmission operations. Also, the memory 501 may store a time management model that is a time management unit or a deep learning model. In addition, in terms of hardware, the memory 501 may be various storage devices such as ROM, RAM, EPROM, flash drive, hard drive, etc., and the memory 501 performs the storage function of the memory 501 on the Internet. It may be a web storage that performs.

시간 관리 모델 서버(500)의 프로세서(502)는 메모리(501)에 저장된 시간 관리부를 독출하여, 하기 기술하는 착수 준비 시간 결정을 수행하게 된다.The processor 502 of the time management model server 500 reads the time management unit stored in the memory 501 , and determines the start preparation time to be described below.

시간 관리 모델 서버(500)의 프로세서(502)는 메모리(501)에 저장된 시간 관리 모델을 독출하여, 구축된 신경망 시스템에 따라서 하기 기술하는 게임 시간 정보 생성을 수행하게 된다. 실시예에 따라서 프로세서(502)는, 전체 유닛들을 제어하는 메인 프로세서와, 시간 관리 모델에 따라 신경망 구동시 필요한 대용량의 연산을 처리하는 복수의 그래픽 프로세서(Graphics Processing Unit, GPU)를 포함하도록 구성될 수 있다. The processor 502 of the time management model server 500 reads the time management model stored in the memory 501 and generates game time information to be described below according to the constructed neural network system. According to the embodiment, the processor 502 may be configured to include a main processor that controls all units, and a plurality of graphics processing units (GPUs) that process large-capacity operations required for driving a neural network according to a time management model. can

시간 관리 모델 서버(400)는 통신부(403)를 통해 네트워크(500)를 경유하여 바둑 서버(200), 착수 모델 서버(300) 및 형세 판단 모델 서버(400)와 통신을 수행할 수 있다. The time management model server 400 may communicate with the Go server 200 , the start model server 300 and the situation determination model server 400 via the network 500 through the communication unit 403 .

<착수 모델><Start model>

도 2는 본 발명의 실시예에 따른 딥러닝 기반의 바둑 게임 서비스에서 인공지능 컴퓨터의 착수를 위한 착수 모델 서버의 착수 모델 구조를 설명하기 위한 도면이고, 도 3은 착수 모델의 정책에 따른 착수점에 대한 이동 확률 분포를 설명하기 위한 도면이고, 도 4는 착수 모델의 착수점에 대한 가치값과 방문 횟수를 설명하기 위한 도면이고, 도 5는 착수 모델이 탐색부의 파이프 라인에 따라 착수하는 과정을 설명하기 위한 도면이다.Figure 2 is a view for explaining the start model structure of the start model server for the start of the artificial intelligence computer in the deep learning-based Go game service according to an embodiment of the present invention, Figure 3 is a start point according to the policy of the start model It is a diagram for explaining the movement probability distribution for , and FIG. 4 is a diagram for explaining the value value and number of visits for the starting point of the initiation model, and FIG. It is a drawing for explanation.

도 2를 참조하면, 본 발명의 실시예에 따른 착수 모델은 착수 모델 서버(300)의 딥러닝 모델로써 탐색부(310), 셀프 플레이부(320) 및 착수 신경망(330)을 포함할 수 있다. Referring to FIG. 2 , the settling model according to an embodiment of the present invention may include a search unit 310 , a self-play unit 320 and a start neural network 330 as a deep learning model of the settling model server 300 . .

착수 모델은 탐색부(310), 셀프 플레이부(320) 및 착수 신경망(330)을 이용하여 대국에서 이길 수 있도록 착수하는 모델로 학습할 수 있다. 보다 구체적으로, 탐색부(310)는 착수 신경망(330)의 가이드에 따라 몬테 카를로 트리 서치(Monte Carlo Tree Search; MCTS) 동작을 수행할 수 있다. MCTS는 모종의 의사 결정을 위한 체험적 탐색 알고리즘이다. 즉, 탐색부(310)는 착수 신경망(330)이 제공하는 이동 확률값(p) 및/또는 가치값(v)에 기초하여 MCTS를 수행할 수 있다. 일 예로, 착수 신경망(330)에 의해 가이드된 탐색부(310)는 MCTS를 수행하여 착수점들에 대한 확률분포값인 탐색 확률값(

Figure 112019073193760-pat00001
)을 출력할 수 있다. 셀프 플레이부(320)는 탐색 확률값(
Figure 112019073193760-pat00002
)에 따라 스스로 바둑 대국을 할 수 있다. 셀프 플레이부(320)는 게임의 승패가 결정되는 시점까지 스스로 바둑 대국을 진행하고, 자가 대국이 종료되면 바둑판 상태(S), 탐색 확률값(
Figure 112019073193760-pat00003
), 자가 플레이 가치값(z)을 착수 신경망(330)에 제공할 수 있다. 바둑판 상태(S)는 착수점들에 바둑돌이 놓여진 상태이다. 자가 플레이 가치값(z)은 바둑판 상태(S)에서 자가 대국을 하였을 때 승률 값이다. 착수 신경망(330)은 이동 확률값(p)과 가치값(v)을 출력할 수 있다. 이동 확률값(p)은 바둑판 상태(S)에 따라 착수점들에 대해 어느 착수점에 착수하는 것이 게임을 이길 수 있는 좋은 수인지 수치로 나타낸 확률분포값이다. 가치값(v)은 해당 착수점에 착수시 승률을 나타낸다. 예를 들어, 이동 확률값(p)이 높은 착수점이 좋은 수일 수 있다. 착수 신경망(330)은 이동 확률값(p)이 탐색 확률값(
Figure 112019073193760-pat00004
)과 동일해지도록 트레이닝되고, 가치값(v)이 자가 플레이 가치값(z)과 동일해지도록 트레이닝될 수 있다. 이후 트레이닝된 착수 신경망(330)은 탐색부(310)를 가이드하고, 탐색부(310)는 이전 탐색 확률값(
Figure 112019073193760-pat00005
)보다 더 좋은 수를 찾도록 착수 준비 시간 동안 MCTS를 진행하여 새로운 탐색 확률값(
Figure 112019073193760-pat00006
)을 출력하게 한다. 예를 들어, 착수 준비 시간은 MCTS 진행 시간에 따라 평균 착수 준비 시간, 제1 착수 준비 시간 및 제2 착수 준비 시간 중 어느 하나의 착 수 준비 시간을 따를 수 있다. 착수 준비 시간은 시간 관리 모델 서버(400)에서 제공할 수 있고 기본적으로 평균 착수 준비 시간으로 설정되어 있을 수 있다. 셀프 플레이부(320)는 새로운 탐색 확률값(
Figure 112019073193760-pat00007
)에 기초하여 바둑판 상태(S)에 따른 새로운 자가 플레이 가치값(z)을 출력하고 바둑판 상태(S), 새로운 탐색 확률값(
Figure 112019073193760-pat00008
), 새로운 자가 플레이 가치값(z)을 착수 신경망(330)에 제공할 수 있다. 착수 신경망(330)은 이동 확률값(p)과 가치값(v)이 새로운 탐색 확률값(
Figure 112019073193760-pat00009
)과 새로운 자가 플레이 가치값(z)으로 출력되도록 다시 트레이닝될 수 있다. 즉, 착수 모델은 이러한 과정을 반복하여 착수 신경망(330)이 대국에서 이기기 위한 더 좋은 착수점을 찾도록 트레이닝 될 수 있다. 일 예로, 착수 모델은 착수 손실(l)을 이용할 수 있다. 착수 손실(l)은 수학식 1과 같다.The set-off model can be learned as a model set out to win the game by using the search unit 310, the self-play unit 320, and the start neural network 330. More specifically, the search unit 310 may perform a Monte Carlo Tree Search (MCTS) operation according to the guide of the onset neural network 330 . MCTS is an experiential search algorithm for decision making. That is, the search unit 310 may perform MCTS based on the movement probability value (p) and/or the value value (v) provided by the onset neural network 330 . As an example, the search unit 310 guided by the onset neural network 330 performs MCTS to find a search probability value (
Figure 112019073193760-pat00001
) can be printed. The self-play unit 320 is a search probability value (
Figure 112019073193760-pat00002
), you can play Go by yourself. The self-player 320 conducts a Go game by itself until the time when the victory or defeat of the game is determined, and when the self-playing game ends, the Go board state (S), the search probability value (
Figure 112019073193760-pat00003
), the self-play value value z may be provided to the onset neural network 330 . The checkerboard state (S) is a state in which Go stones are placed at the starting points. The self-play value value (z) is a win rate value when a self-playing game is played in the checkerboard state (S). The onset neural network 330 may output a movement probability value (p) and a value value (v). The moving probability value (p) is a probability distribution value expressed numerically whether it is a good number to win the game by starting which starting point for the starting points according to the checkerboard state (S). The value (v) represents the win rate when starting the corresponding starting point. For example, the starting point with a high movement probability value p may be a good number. The onset neural network 330 is a movement probability value (p) is a search probability value (
Figure 112019073193760-pat00004
) and can be trained so that the value v is equal to the self-play value z. Afterwards, the trained onset neural network 330 guides the search unit 310, and the search unit 310 sets the previous search probability value (
Figure 112019073193760-pat00005
) to find a better number than the new search probability value (
Figure 112019073193760-pat00006
) to output. For example, the start preparation time may follow the start preparation time of any one of the average start preparation time, the first set off preparation time, and the second set off preparation time according to the MCTS progress time. The start preparation time may be provided by the time management model server 400 and may be basically set as the average start preparation time. The self-play unit 320 sets a new search probability value (
Figure 112019073193760-pat00007
), output a new self-play value value (z) according to the checkerboard state (S) based on the checkerboard state (S), and a new search probability value (
Figure 112019073193760-pat00008
), a new self-play value value z may be provided to the initiating neural network 330 . The starting neural network 330 is a new search probability value (p) and a value value (v)
Figure 112019073193760-pat00009
) and a new self-play value (z) can be retrained to be output. That is, the set-off model can be trained to repeat this process to find a better start point for the start-up neural network 330 to win the game. As an example, the settling model may use the settling loss (l). The onset loss (l) is the same as Equation 1.

(수학식 1)(Equation 1)

Figure 112019073193760-pat00010
Figure 112019073193760-pat00010

Figure 112019073193760-pat00011
는 신경망의 파라미터이고, c는 매우 작은 상수이다.
Figure 112019073193760-pat00011
is a parameter of the neural network, and c is a very small constant.

수학식 1의 착수 손실(l)에서 z와 v가 같아 지도록 하는 것은 평균 제곱 손실(mean square loss) 텀에 해당되고,

Figure 112019073193760-pat00012
와 p가 같아 지도록 하는 것은 크로스 엔트로피 손실(cross entropy loss) 텀에 해당되고,
Figure 112019073193760-pat00013
에 c를 곱하는 것은 정규화 텀으로 오버핏을 방지하기 위한 것이다.Making z and v equal in the set-off loss (l) of Equation 1 corresponds to a mean square loss term,
Figure 112019073193760-pat00012
To make p and p equal is a cross entropy loss term,
Figure 112019073193760-pat00013
Multiplying by c is to prevent overfitting with the regularization term.

예를 들어, 도 3을 참조하면 트레이닝된 착수 모델은 착수점들에 이동 확률값(p)을 도 3과 같이 확률분포값으로 나타낼 수 있다. 도 4를 참조하면 트레이닝 된 착수 모델의 탐색 확률값(

Figure 112019073193760-pat00014
)은 하나의 착수점에서 위에 표시된 값으로 나타낼 수 있다. 탐색 확률값(
Figure 112019073193760-pat00015
)은 착수 후보수의 방문 횟수를 전체 횟수로 나눈 비율일 수 있다. 일 예로, MCTS 시뮬레이션 전체 횟수가 1000번이고 90.00이라고 표시되어 있으면 해당 착수 후보수에 1000번 중 900번 방문했다는 것을 의미한다. 트레이닝 된 착수 모델의 가치값(v)은 도 4의 하나의 착수점에서 아래에 표시된 값으로 나타낼 수 있다. 착수 신경망(330)은 신경망 구조로 구성될 수 있다. 일 예로, 착수 신경망(330)은 한 개의 컨볼루션(convolution) 블록과 19개의 레지듀얼(residual) 블록으로 구성될 수 있다. 컨볼루션 블록은 3X3 컨볼루션 레이어가 여러개 중첩된 형태일 있다. 하나의 레지듀얼 블록은 3X3 컨볼루션 레이어가 여러개 중첩되고 스킵 커넥션을 포함한 형태일 수 있다. 스킵 커넥션은 소정의 레이어의 입력이 해당 레이어의 출력값과 합하여서 출력되어 다른 레이어에 입력되는 구조이다. 또한, 착수 신경망(330)의 입력은 흑 플레이어의 최근 8 수에 대한 돌의 위치 정보과 백 플레이어의 최근 8 수에 대한 돌의 위치 정보와 현재 플레이어가 흑인지 백인지에 대한 차례 정보를 포함한 19*19*17의 RGB 이미지가 입력될 수 있다.For example, referring to FIG. 3 , the trained set off model may represent a movement probability value p at the set points as a probability distribution value as shown in FIG. 3 . Referring to Figure 4, the search probability value (
Figure 112019073193760-pat00014
) can be expressed as the value indicated above at one starting point. Search probability value (
Figure 112019073193760-pat00015
) may be a ratio obtained by dividing the number of visits by the number of start-up candidates by the total number of visits. For example, if the total number of MCTS simulations is 1000 and it is marked as 90.00, it means that 900 times out of 1000 are visited in the number of candidates for starting. The value (v) of the trained set off model may be represented by a value displayed below at one set point of FIG. 4 . The onset neural network 330 may be configured in a neural network structure. For example, the onset neural network 330 may include one convolution block and 19 residual blocks. The convolution block may have a form in which several 3X3 convolution layers are superimposed. One residual block may have a form in which several 3X3 convolution layers are overlapped and a skip connection is included. The skip connection is a structure in which an input of a predetermined layer is output by summing it with an output value of a corresponding layer and input to another layer. In addition, the input of the onset neural network 330 includes the location information of the stone for the last 8 numbers of the black player, the location information of the stones for the last 8 numbers of the white player, and turn information on whether the current player is black or white 19* An RGB image of 19*17 can be input.

도 5를 참조하면, 학습된 착수 모델은 자신의 차례에서 착수 신경망(330)과 탐색부(310)를 이용하여 착수할 수 있다. 착수 모델은 선택 과정(a)을 통하여 현재 제1 바둑판 상태(S1)에서 MCTS를 통해 탐색하지 않은 가지인 제2 바둑판 상태(S1-2)에서 활동 함수(Q)와 신뢰값(U)이 높은 착수점을 선택한다. 활동 함수(Q)는 해당 가지를 지날 때마다 산출된 가치값(v)들의 평균값이다. 신뢰값(U)은 해당 가지를 지나는 방문 횟수(N)에 비례한다. 착수 모델은 확장과 평가 과정(b)을 통하여 선택된 착수점에서의 제3 바둑판 상태(S1-2-1)로 확장하고 이동 확률값(p)을 산출할 수 있다. 착수 모델은 백업 과정(c)을 통하여 확장된 제3 바둑판 상태(S1-2-1)의 가치값을 산출하고 지나온 가지들의 활동 함수(Q), 방문 횟수(N), 이동 확률값(p)을 저장할 수 있다. 착수 모델은 착수 준비 시간 동안 선택(a), 확장 및 평가(b), 백업(c) 과정을 반복하고 각 착수점에 대한 방문 횟수(N)를 이용하여 확률 분포를 만들어서 탐색 확률값(

Figure 112019073193760-pat00016
)을 출력할 수 있다. 착수 모델은 착수점들 중 가장 높은 탐색 확률값(
Figure 112019073193760-pat00017
)을 선택하여 착수할 수 있다. Referring to FIG. 5 , the learned initiation model may be launched using the initiation neural network 330 and the search unit 310 in its own turn. The initiation model has a high activity function (Q) and confidence value (U) in the second checkerboard state (S1-2), which is a branch that is not currently searched through MCTS in the first checkerboard state (S1) through the selection process (a) Choose the starting point. The activity function (Q) is the average value of the value values (v) calculated every time the branch passes. The confidence value (U) is proportional to the number of visits (N) passing through the branch. The start model can be expanded to the third checkerboard state (S1-2-1) at the selected set point through the expansion and evaluation process (b) and calculate the movement probability value (p). The start model calculates the value of the extended third checkerboard state (S1-2-1) through the backup process (c), and calculates the activity function (Q), the number of visits (N), and the movement probability value (p) of the branches that have passed. can be saved The initiation model repeats the process of selection (a), expansion and evaluation (b), and backup (c) during the preparation time for initiation, and creates a probability distribution using the number of visits (N) for each launch point to create a search probability value (
Figure 112019073193760-pat00016
) can be printed. The launch model has the highest search probability value (
Figure 112019073193760-pat00017
) to start.

<형세 판단 모델><Situation Judgment Model>

도 6은 본 발명의 실시예에 따른 딥러닝 기반의 바둑 게임 서비스의 형세 판단 기능을 제공하는 화면을 보여 주는 예시도이고, 도 7은 본 발명의 형세 판단 모델 서버의 형세 판단 모델 구조를 설명하기 위한 도면이고, 도 8은 본 발명의 형세 판단 모델의 복수의 블록으로 이루어진 신경망 구조 중 하나의 블록을 설명하기 위한 도면이다.6 is an exemplary view showing a screen providing a situation determination function of a deep learning-based Go game service according to an embodiment of the present invention, and FIG. 7 is a diagram to explain the structure of the situation determination model of the situation determination model server of the present invention 8 is a diagram for explaining one block of the neural network structure composed of a plurality of blocks of the situation judgment model of the present invention.

도 6을 참조하면, 본 발명의 실시예에 따른 딥러닝 기반의 바둑 게임 서비스는 현재 바둑판 상태의 형세 판단을 할 수 있다. 일 예로, 도 6과 같이 유저가 단말기(100)의 화면에서 바둑 대국 중 형세 판단 메뉴(A)를 클릭하여 형세 판단을 요청하면 딥러닝 기반의 바둑 게임 서비스가 팝업 창에 형세 판단 결과를 제공할 수 있다. 형세 판단은 바둑 대국 중에 상대방과 나의 집을 계산하여 누가 몇점으로 이기고 있는지 판단하는 것이다. 예를 들어, 유저는 형세가 나에게 유리하다는 판단이 서면 더 이상 무리하지 말고 현재의 유리한 상황을 그대로 유지한 채 대국을 종료하는 방향으로 전략을 세울 것이고, 만약 불리하다는 판단이면 게임 국면을 새롭게 전환할 수 있도록 여러가지 전략을 모색할 수 있다. 형세 판단의 기준은 바둑돌이 바둑판에 배치된 상태에 따른 집, 사석, 돌, 공배, 빅이 된다. 돌은 바둑판에 놓여진 돌이고 한국 규칙에서는 점수가 아니다. 집은 한 가지 색의 바둑돌로 둘러쌓인 빈 점으로 구성된 영역으로 한국 규칙에서는 점수이다. 공배와 빅은 바둑이 끝났을 때 흑집도 백집도 아닌 영역으로 한국 규칙에서는 점수가 아니다. 판위사석은 바둑판 위에 놓여진 돌 중에서 어떻게 두어도 잡힐 수밖에 없어 죽게 된 돌로 한국 규칙에서는 상대방의 집을 메우는데 사용하므로 점수이다. 빅은 바둑이 끝났을 때, 흑집도 백집도 아닌 영역을 말한다.  따라서, 형세 판단은 바둑돌이 놓인 바둑판 상태에서 집, 사석, 돌, 공배, 빅을 정확히 구분 또는 예측해야 정확한 판단이 될 수 있다. 이 때, 집, 사석, 돌, 공배, 빅을 정확히 구분하는 것은 집, 사석, 돌, 공배, 빅이 완전히 이루어진 상태를 구분하는 것이고, 집, 사석, 돌, 공배, 빅을 정확히 예측하는 것은 집, 사석, 돌, 공배, 빅이 될 가능성이 높은 상태를 예측하는 것일 수 있다. Referring to FIG. 6 , the deep learning-based Go game service according to an embodiment of the present invention may determine the current state of the Go board. For example, as shown in FIG. 6 , when a user requests a situation determination by clicking the situation determination menu (A) during a Go game on the screen of the terminal 100, the deep learning-based Go game service provides the situation determination result in a pop-up window. can The situation judgment is to determine who wins by how many points by calculating the opponent and my house during the Go game. For example, if the user decides that the situation is favorable to me, do not overdo it any more and devise a strategy to end the game while maintaining the current advantageous situation. If it is judged unfavorable, the game phase will be changed Several strategies can be devised to do this. The standard for judging the situation is a house, a stone, a stone, a ball, and a big according to the state of the Go stones placed on the board. A stone is a stone placed on a checkerboard and is not a score in Korean rules. A house is an area made up of empty dots surrounded by one-colored Go stones, which is a score in Korean rules. Gongbae and Big are areas that are neither black nor white when Go is over, and are not points in Korean rules. Among the stones placed on the checkerboard, it is a stone that has no choice but to be caught and died. It is a score because it is used to fill the opponent's house under Korean rules. Big refers to an area that is neither black nor white when Go is over. Therefore, in order to judge the situation, it is necessary to accurately distinguish or predict a house, a stone, a stone, a ball, and a big in the state of the checkerboard on which the Go stones are placed can be an accurate judgment. At this time, to accurately distinguish a house, a stone, a stone, a public stone, and a big is to distinguish the state in which a house, a stone, a stone, a public stone, and a big are completely completed, and to accurately predict a house, a stone, a stone, a public meeting, and a big is a house , stone, stone, public meeting, or predicting a state with a high probability of becoming a big.

도 7을 참조하면, 본 발명의 실시예에 따른 형세 판단 모델은 형세 판단 모델 서버(400)의 딥러닝 모델로써 형세 판단 신경망(410), 입력 특징 추출부(420) 및 정답 레이블 생성부(430)를 포함할 수 있다. Referring to FIG. 7 , the situation determination model according to an embodiment of the present invention is a deep learning model of the situation determination model server 400 , and a situation determination neural network 410 , an input feature extractor 420 , and a correct answer label generator 430 . ) may be included.

형세 판단 모델은 형세 판단 신경망(410)을 이용하여 현재 바둑판 상태의 형세를 판단할 수 있도록 지도 학습(supervised learning)할 수 있다. 보다 구체적으로, 형세 판단 모델 바둑판 상태(S)에 관한 트레이닝 데이터 셋을 생성하고 생성된 트레이닝 데이터 셋을 이용하여 형세 판단 신경망(410)이 현재 바둑판 상태(S)에 따른 형세를 판단할 수 있도록 학습시킬 수 있다. 형세 판단 모델 서버(400)는 바둑서버(200)로부터 복수의 기보를 수신할 수 있다. 복수의 기보의 각 기보는 착수 순서에 따른 각각의 바둑판 상태(S)를 포함할 수 있다. The situation determination model may perform supervised learning so as to determine the situation of the current checkerboard state using the situation determination neural network 410 . More specifically, a training data set related to the situation determination model checkerboard state (S) is generated, and the situation determination neural network 410 is trained to determine the situation according to the current checkerboard state (S) using the generated training data set. can do it The situation determination model server 400 may receive a plurality of notations from the Go server 200 . Each notation of a plurality of notations may include a respective checkerboard state (S) according to the starting order.

입력 특징 추출부(420)는 복수의 기보의 바둑판 상태(S)에서 입력 특징(IF)을 추출하여 형세 판단 신경망(410)에 트레이닝을 위한 입력 데이터로 제공할 수 있다. 바둑판 상태(S)의 입력 특징(IF)은 흑 플레이어의 최근 8 수에 대한 돌의 위치 정보과 백 플레이어의 최근 8 수에 대한 돌의 위치 정보와 현재 플레이어가 흑인지 백인지에 대한 차례 정보를 포함한 19*19*18의 RGB 이미지일 수 있다. 일 예로, 입력 특징 추출부(420)는 신경망 구조로 되어 있을 수 있으며 일종의 인코더를 포함할 수 있다.The input feature extraction unit 420 may extract the input feature (IF) from the checkerboard state (S) of a plurality of notations and provide it to the situation determination neural network 410 as input data for training. The input feature (IF) of the checkerboard state (S) includes the position information of the stone for the last 8 moves of the black player, the position information of the stone for the last 8 moves of the white player, and turn information on whether the current player is black or white. It can be an RGB image of 19*19*18. For example, the input feature extractor 420 may have a neural network structure and may include a kind of encoder.

정답 레이블 생성부(430)는 현재 바둑판 상태(S)로 전처리 과정을 거쳐 정답 레이블(ground truth)을 생성하고 정답 레이블을 형세 판단 신경망(410)에 트레이닝을 위한 타겟 데이터(

Figure 112019073193760-pat00018
)로 제공할 수 있다. 정답 레이블 생성부(430)의 정답 레이블 생성은 후술하는 도 9 내지 도 11의 설명을 따른다. 일 예로, 정답 레이블 생성부(430)는 신경망 구조의 롤아웃 또는 인코더를 포함할 수 있다.The correct answer label generator 430 generates a correct answer label (ground truth) through a preprocessing process in the current checkerboard state (S), and applies the correct answer label to the neural network 410 for training target data (
Figure 112019073193760-pat00018
) can be provided. The correct answer label generation unit 430 generates the correct answer label according to the description of FIGS. 9 to 11 , which will be described later. As an example, the correct answer label generator 430 may include a rollout of a neural network structure or an encoder.

형세 판단 모델은 입력 특징(IF)을 입력 데이터로 하고 정답 레이블을 타겟 데이터(

Figure 112019073193760-pat00019
)로 한 트레이닝 데이터 셋을 이용하여 형세 판단 신경망(410)에서 생성된 출력 데이터(o)가 타겟 데이터(
Figure 112019073193760-pat00020
)와 동일해지도록 형세 판단 신경망(420)을 충분히 학습할 수 있다. 일 예로, 형세 판단 모델은 형세 판단 손실(
Figure 112019073193760-pat00021
)을 이용할 수 있다. 형세 판단 손실(
Figure 112019073193760-pat00022
)은 평균 제곱 에러(mean square error)를 이용할 수 있다. 예를 들어, 형세 판단 손실(
Figure 112019073193760-pat00023
)은 수학식 2와 같다.The situation judgment model uses the input feature (IF) as input data and the correct answer label as the target data (
Figure 112019073193760-pat00019
), the output data (o) generated by the situation determination neural network 410 using the training data set as the target data (
Figure 112019073193760-pat00020
), it is possible to sufficiently learn the situation determination neural network 420 to be the same. As an example, the situation judgment model is a situation judgment loss (
Figure 112019073193760-pat00021
) can be used. loss of judgment (
Figure 112019073193760-pat00022
) can use the mean square error. For example, loss of judgment (
Figure 112019073193760-pat00023
) is the same as Equation 2.

(수학식 2)(Equation 2)

Figure 112019073193760-pat00024
Figure 112019073193760-pat00024

B는 바둑판의 전체 교차점 수이다. 바둑판은 가로 19줄 및 세로 19줄이 서로 교차하여 361개의 교차점이 배치된다. 이에 제한되는 것은 아니고 바둑판이 가로 9줄 및 세로 9줄일 경우 81개의 교차점이 배치될 수 있다.

Figure 112019073193760-pat00025
는 현재 바둑판 상태(S)에서 정답 레이블에 따른 소정의 교차점(i)에 대한 형세값이다. 형세값에 대한 설명은 후술하는 도 11의 설명에 따른다.
Figure 112019073193760-pat00026
는 현재 바둑판 상태(S)에서 소정의 교차점(i)을 형세 판단 신경망(410)에 입력하였을 때에 출력되는 출력 데이터이다. 형세 판단 모델은 형세 판단 손실(
Figure 112019073193760-pat00027
)이 최소화되도록 경사 하강법(gradient-descent)과 역전파(backpropagation)을 이용하여 형세 판단 신경망(410) 내의 가중치와 바이어스 값들을 조절하여 형세 판단 신경망(410)를 학습시킬 수 있다.B is the total number of intersections of the checkerboard. In the checkerboard, 19 horizontal and 19 vertical lines intersect each other, and 361 intersections are arranged. It is not limited thereto, and when the checkerboard has 9 horizontal and 9 vertical lines, 81 intersections may be arranged.
Figure 112019073193760-pat00025
is a configuration value for a predetermined intersection point (i) according to the correct answer label in the current checkerboard state (S). The description of the configuration value follows the description of FIG. 11, which will be described later.
Figure 112019073193760-pat00026
is output data output when a predetermined intersection (i) is input to the situation determination neural network 410 in the current checkerboard state (S). The situation judgment model is based on the situation judgment loss (
Figure 112019073193760-pat00027
.

형세 판단 신경망(410)은 신경망 구조로 구성될 수 있다. 일 예로, 형세 판단 신경망(420)은 19개의 레지듀얼(residual) 블록으로 구성될 수 있다. 도 8을 참조하면, 하나의 레지듀얼 블록은 256개의 3X3 컨볼루션 레이어, 일괄 정규화(batch normalization) 레이어, Relu 활성화 함수 레이어, 256개의 3X3 컨볼루션 레이어, 일괄 정규화(batch normalization) 레이어, 스킵 커넥션, Relu 활성화 함수 레이어 순으로 배치될 수 있다. 일괄 정규화(batch normalization) 레이어는 학습하는 도중에 이전 레이어의 파라미터 변화로 인해 현재 레이어의 입력의 분포가 바뀌는 현상인 공변량 변화(covariate shift)를 방지하기 위한 것이다. 스킵 커넥션은 블록 층이 두꺼워지더라도 신경망의 성능이 감소하는 것을 방지하고 블록 층을 더욱 두껍게 하여 전체 신경망 성능을 높일 수 있게 한다. 스킵 커넥션은 레지듀얼 블록의 최초 입력 데이터가 두 번째 일괄 정규화(batch normalization) 레이어의 출력과 합하여 두번째 Relu 활성화 함수 레이어에 입력되는 형태일 수 있다.The situation determination neural network 410 may be configured in a neural network structure. As an example, the situation determination neural network 420 may be composed of 19 residual blocks. Referring to FIG. 8 , one residual block includes 256 3X3 convolutional layers, batch normalization layers, Relu activation function layers, 256 3X3 convolutional layers, batch normalization layers, skip connections, Relu activation function layers may be arranged in order. The batch normalization layer is to prevent covariate shift, which is a phenomenon in which the distribution of the input of the current layer is changed due to the parameter change of the previous layer during learning. Skip connection prevents the performance of the neural network from decreasing even if the block layer becomes thicker, and makes the block layer thicker to increase the overall neural network performance. The skip connection may be in a form in which the first input data of the residual block is combined with the output of the second batch normalization layer and input to the second Relu activation function layer.

도 9 및 도 10은 본 발명의 형세 판단 모델을 학습하기 위해 사용되는 정답 레이블을 생성하기 위한 제1 및 제2 전처리 단계를 설명하기 위한 도면이고, 도 11은 본 발명의 형세 판단 모델을 학습하기 위해 사용되는 정답 레이블을 생성하기 위한 제3 전처리 단계를 설명하기 위한 도면이다.9 and 10 are diagrams for explaining the first and second pre-processing steps for generating a correct answer label used for learning the situation judgment model of the present invention, and FIG. 11 is a diagram for learning the situation judgment model of the present invention It is a diagram for explaining the third pre-processing step for generating the correct answer label used for

정답 레이블 생성부(430)는 형세 판단 신경망(410)이 정확한 형세 판단을 할 수 있도록 학습하는데 이용되는 정답 레이블을 생성할 수 있다.The correct answer label generating unit 430 may generate a correct answer label used for learning so that the situation determination neural network 410 can accurately determine the situation.

보다 구체적으로, 정답 레이블 생성부(430)는 입력 데이터에 기초가 되는 바둑판 상태(S)를 입력으로 받고, 현재 바둑판 상태(S)에서 끝내기를 하는 제1 전처리를 수행하여 제1 전처리 상태(P1)를 생성할 수 있다. 제1 전처리인 끝내기는 집 계산을 하기 전에 집의 경계가 명확해지도록 소정의 착수를 하여 게임을 마무리하는 과정이다. 일 예로, 도 9를 참조하면 정답 레이블 생성부(430)는 도 9의 (a)의 현재 바둑판 상태(S)에서 끝내기를 하여 도 9의 (b)의 제1 전처리 상태(P1)를 생성할 수 있다. More specifically, the correct answer label generating unit 430 receives as an input the checkerboard state (S) that is the basis of the input data, and performs a first preprocessing of ending the current checkerboard state (S) to the first preprocessing state (P1) ) can be created. The first pre-processing, ending, is a process of finishing the game by making a predetermined start so that the boundary of the house becomes clear before calculating the house. For example, referring to FIG. 9 , the correct answer label generating unit 430 generates the first pre-processing state P1 of FIG. 9(b) by ending the current checkerboard state (S) of FIG. can

정답 레이블 생성부(430)는 제1 전처리 상태(P1)에서 집 경계 내에 배치되며 집 구분에 불필요한 돌을 제거하는 제2 전처리를 수행하여 제2 전처리 상태(P2)를 생성할 수 있다. 예를 들어, 집 경계 내에 배치되며 집 구분에 불필요한 돌은 사석일 수 있다. 사석은 집안에 상대방 돌이 배치되어 어떻게 두어도 잡힐수 밖에 없어 죽게 된 돌임을 앞서 설명하였다. 또한, 집 경계 내에 배치되며 집 구분에 불필요한 돌은 집안에 배치된 자신의 돌일 수 있다. 일 예로, 도 9를 참조하면 정답 레이블 생성부(430)는 도 9의 (b)의 제1 전처리 상태(P1)에서 집 구분에 불필요한 돌을 제거하여 도 9의 (c)의 제2 전처리 상태(P2)를 생성할 수 있다.The correct answer label generating unit 430 may generate the second pre-processing state P2 by performing a second pre-processing of removing stones that are disposed within the house boundary in the first pre-processing state P1 and are unnecessary for house classification. For example, a stone that is placed within the boundary of a house and is not necessary to classify the house may be a quarry stone. It was explained earlier that the stone was a stone that died because the other stone was placed in the house, and no matter how it was placed, it could only be caught. In addition, a stone that is placed within the boundary of the house and is unnecessary to classify the house may be one's own stone placed in the house. For example, referring to FIG. 9 , the correct answer label generating unit 430 removes stones unnecessary for house classification in the first pre-processing state P1 of FIG. (P2) can be created.

다른 예로, 도 10을 참조하면, 정답 레이블 생성부(430)는 도 10의 (a)의 현재 바둑판 상태(S)에서 제1 전처리인 끝내기를 위하여 도 10의 (b)와 같이 빨간색 x에 착수할 수 있다. 정답 레이블 생성부(430)는 도 10의 (b)에서 파란색 x로 표시된 사석을 제거하기 위하여 녹색 x에 착수하여 사석을 제거하고 사석 제거를 위해 사용된 녹색 x에 착수한 돌도 제거하여 제2 전처리를 수행할 수 있다.As another example, referring to FIG. 10 , the correct answer label generating unit 430 starts the red x as shown in FIG. can do. The correct answer label generating unit 430 removes the green x to remove the rubble indicated by the blue x in FIG. Pre-processing can be performed.

정답 레이블 생성부(430)는 제2 전처리 상태(P2)에서 각 교차점을 -1 부터 +1까지 표시된 형세값(g, 단 g는 정수)으로 변경하는 제3 전처리를 수행할 수 있다. 즉, 제3 전처리는 정답 레이블 생성부(430)가 이미지 특징인 제2 전처리 상태(P2)를 수치 특징인 제3 전처리 상태(P3)로 변경하는 것이다. 일 예로, 제2 전처리 상태(P2)에서 교차점에 내 돌이 배치되면 0, 내 집 영역이면 +1, 상대 돌이 배치되면 0, 상대 집 영역이면 -1로 대응할 수 있다. 이 경우, 형세 판단 신경망(410)은 형세 판단시 집, 돌, 사석을 구분할 수 있도록 학습될 수 있다. 다른 예로, 제2 전처리 상태(P2)에서 교차점에 내 돌이 배치되면 0, 내 집 영역이면 +1, 상대 돌이 배치되면 0, 상대 집 영역이면 -1, 빅 또는 공배이면 0으로 대응할 수 있다. 다른 예의 경우 형세 판단 신경망(410)은 형세 판단시 빅 또는 공배를 구분할 수 있도록 학습될 수 있다. 예를 들어, 도 11을 참조하면, 정답 레이블 생성부(430)는 도 11의 (a)의 제2 전처리 상태(P2)를 도 11의 (b)의 제3 전처리 상태(P3)로 특징을 변경할 수 있다. The correct answer label generator 430 may perform a third preprocessing of changing each intersection to a shape value (g, where g is an integer) indicated from -1 to +1 in the second preprocessing state P2 . That is, in the third pre-processing, the correct answer label generating unit 430 changes the second pre-processing state P2, which is an image feature, to a third pre-processing state P3, which is a numerical feature. For example, in the second pre-processing state P2 , if my stone is disposed at the intersection, it may correspond to 0, if it is my house area, +1, if the opponent stone is disposed, it may correspond to 0, and if it is the opponent's house area, it may correspond to -1. In this case, the situation determination neural network 410 may be trained to distinguish a house, a stone, and a stone when determining the situation. As another example, in the second pre-processing state P2, if my stone is placed at the intersection, it may correspond to 0, if it is my home area, +1, if the opponent stone is placed, 0, if it is the opponent's area, -1, and if it is a big or common match, 0 may correspond. In another example, the situation determination neural network 410 may be trained to distinguish a big or a common match when determining a situation. For example, referring to FIG. 11 , the correct answer label generating unit 430 characterizes the second pre-processing state P2 of FIG. 11 (a) as the third pre-processing state P3 of FIG. 11 (b). can be changed

제3 전처리 상태(P3)는 바둑판 상태(S)에서의 형세 판단의 정답 레이블이 되고 형세 판단 신경망(410)의 학습 시 타겟 데이터(

Figure 112019073193760-pat00028
)로 이용될 수 있다. The third pre-processing state (P3) becomes the correct label of the situation determination in the checkerboard state (S), and the target data (
Figure 112019073193760-pat00028
) can be used as

도 12는 본 발명의 형세 판단 모델의 형세 판단 결과를 설명하기 위한 도면이다.12 is a view for explaining a situation determination result of the situation determination model of the present invention.

학습된 형세 판단 모델은 바둑판 상태가 입력되면 바둑판의 모든 교차점에 대한 형세값을 제공할 수 있다. 즉, 바둑판 교차점의 361개 지점에 대해 형세값인 -1 내지 +1의 정수 값을 제공할 수 있다. The learned layout judgment model may provide a configuration value for all intersections of the checkerboard when the checkerboard state is input. That is, it is possible to provide an integer value of -1 to +1, which is a configuration value, for 361 points of the checkerboard intersection.

도 12를 참조하면, 형세 판단 모델 서버(400)는 형세 판단 모델이 제공한 형세값, 소정의 임계값, 돌의 유무를 이용하여 형세를 판단할 수 있다. 일 예로, 형세 판단 모델 서버(400)는 돌이 없는 곳이며, 형세 값이 제1 임계값을 넘으면 내 집이 될 가능성이 높은 곳으로 판단하고, +1에 가까운 값이면 내 집 영역으로 판단할 수 있다. 형세 판단 모델 서버(400)는 내 집일 가능성이 높을수록 점점 커지는 내 돌과 같은 색의 네모 형태로 표시할 수 있다. 형세 판단 모델 서버(400)는 돌이 없는 곳이며, 형세 값이 제2 임계값 이하이면 상대 집이 될 가능성이 높은 곳으로 판단하고, -1에 가까운 값이면 내집 영역으로 판단할 수 있다. 형세 판단 모델 서버(400)는 상대 집일 가능성이 높을수록 점점 커지는 상대 돌과 같은 색의 네모 형태로 표시할 수 있다. 형세 판단 모델 서버(400)는 돌이 없는 곳이며, 형세 값이 제3 임계값 범위 이내 또는 0에 가까운 값이면 공배 또는 빅으로 판단할 수 있다. 형세 판단 모델 서버(400)는 공배 또는 빅으로 판단하면 X로 표시할 수 있다. 형세 판단 모델 서버(400)는 돌이 있는 곳이며, 형세 값이 제3 임계값 범위 이내 또는 0에 가까운 값이면 내 돌 또는 상대 돌로 판단할 수 있다. 형세 판단 모델 서버(400)는 공배 또는 빅으로 판단하면 아무런 표시를 안할 수 있다. 형세 판단 모델 서버(400)는 돌이 있는 곳이며, 형세 값이 제1 임계값을 넘으면 상대 돌의 사석이 될 가능성이 높은 곳으로 판단하고, +1에 가까운 값이면 상대 돌의 사석으로 판단할 수 있다. 형세 판단 모델 서버(400)는 상대 돌의 사석일 가능성이 높을수록 점점 커지는 내 돌과 같은 색의 네모 형태로 표시할 수 있다. 형세 판단 모델 서버(400)는 돌이 있는 곳이며, 형세 값이 제2 임계값 이하이면 내 돌의 사석이 될 가능성이 높은 곳으로 판단하고, -1에 가까운 값이면 상대 돌의 사석으로 판단할 수 있다. 형세 판단 모델 서버(400)는 상대 돌의 사석일 가능성이 높을수록 점점 커지는 상대 돌과 같은 색의 네모 형태로 표시할 수 있다. Referring to FIG. 12 , the situation determination model server 400 may determine the situation using the situation value provided by the situation determination model, a predetermined threshold value, and the presence or absence of stones. As an example, the situation determination model server 400 is a place without stones, and if the situation value exceeds the first threshold value, it is determined as a place with a high probability of becoming my home, and if the value is close to +1, it can be determined as my home area. have. The situation determination model server 400 may display in the form of a square of the same color as my stone, which increases as the probability that it is my house increases. The situation determination model server 400 is a place without stones, and if the situation value is less than or equal to the second threshold value, it may be determined as a place with a high probability of becoming a counterpart's house, and if the value is close to -1, it may be determined as a home area. The situation determination model server 400 may display in the form of a square of the same color as the counterpart stone, which increases as the probability of the counterpart's house increases. The situation determination model server 400 is a place where there are no stones, and if the situation value is within the third threshold range or a value close to 0, it may be determined to be common or big. The situation judgment model server 400 may display an X when judging that it is common or big. The situation determination model server 400 is where the stone is, and if the shape value is within the third threshold value range or close to 0, it may determine the stone as my stone or the other stone. The situation judgment model server 400 may not display anything if it is judged to be a public match or a big game. The situation determination model server 400 is a place where there is a stone, and if the position value exceeds the first threshold value, it is determined as a place with a high probability of becoming a stone of the opponent stone, and if the value is close to +1, it can be determined as a stone of the opponent stone. have. The situation determination model server 400 may display a square shape of the same color as the inner stone, which increases as the probability that the other stone is a non-stone. The situation determination model server 400 is a place where the stone is located, and if the situation value is less than the second threshold, it is determined as a place with a high probability of becoming my stone, and if the value is close to -1, it can be determined as the stone of the other stone. have. The situation determination model server 400 may display a square shape of the same color as that of the opponent stone, which increases as the probability that the opponent stone is a quarry stone increases.

또한, 형세 판단 모델 서버(300)는 각 교차점에서 판단한 형세 판단 기준을 이용하여 현재 바둑판 상태에서의 계가 결과를 표시할 수 있다. In addition, the situation determination model server 300 may display the result of the calculation in the current checkerboard state by using the situation determination criterion determined at each intersection.

또한, 형세 판단 모델 서버(300)는 바둑판 상태에 따른 집수의 변화량 정보 및 공배수 정보를 생성할 수 있다. 예를 들어, 형세 판단 모델 서버(300)는 이전 착수에 따른 바둑판 상태의 형세 판단 결과와 현재 바둑판 상태의 형세 판단 결과를 이용하여 집수의 변화량 정보를 생성할 수 있다. 또한, 형세 판단 모델 서버(300)는 바둑판 상태의 형세 판단 결과를 이용하여 공배수 정보를 생성할 수 있다. In addition, the situation determination model server 300 may generate information on the amount of change in water collection and information on common drainage according to the state of the checkerboard. For example, the condition determination model server 300 may generate information on the amount of change in water collection by using the condition determination result of the checkerboard state according to the previous start and the condition determination result of the current checkerboard condition. Also, the situation determination model server 300 may generate common multiple information by using the result of determining the situation of the checkerboard state.

따라서, 실시예에 따른 딥러닝 기반의 바둑 게임 서비스 그 장치는 딥러닝 신경망을 이용하여 바둑 형세를 판단할 수 있다. 또한, 실시예에 따른 딥러닝 기반의 바둑 게임 서비스 장치는 바둑 규칙에 따른 집, 사석, 돌, 공배, 빅을 정확히 구분하여 바둑의 형세를 정확히 판단할 수 있다. 또한, 실시예에 따른 딥러닝 기반의 바둑 게임 서비스 장치는 바둑 규칙에 따른 집, 사석, 돌, 공배, 빅을 예측하여 바둑의 형세를 정확히 판단할 수 있다. 또한, 실시예에 따른 딥러닝 기반의 바둑 게임 서비스 장치는 바둑 대국 중 신속하게 형세를 판단할 수 있다.Therefore, the deep learning-based Go game service device according to the embodiment may determine the Go situation using a deep learning neural network. In addition, the deep learning-based Go game service apparatus according to the embodiment can accurately determine the situation of Go by accurately classifying a house, a stone, a stone, a ball, and a big according to the Go rules. In addition, the deep learning-based Go game service device according to the embodiment may accurately determine the situation of Go by predicting a house, a stone, a stone, a ball, and a big according to the Go rules. In addition, the deep learning-based Go game service device according to the embodiment can quickly determine the situation in the Go game.

도 13은 본 발명의 형세 판단 모델의 형세 판단 결과와 종래 기술에 따른 딥러닝 모델에 의한 형세 판단 결과를 비교한 모습이고, 도 14는 본 발명의 형세 판단 모델의 형세 판단 결과와 종래 기술에 따른 딥러닝 모델에 의한 형세 판단 결과를 비교한 모습이고, 도 15는 본 발명의 형세 판단 모델의 형세 판단 결과와 종래 기술에 따른 딥러닝 모델에 의한 형세 판단 결과를 비교한 모습이다.13 is a view comparing the situation determination result of the situation determination model of the present invention and the situation determination result by the deep learning model according to the prior art, and FIG. 14 is the situation determination result of the situation determination model of the present invention and the prior art It is a state of comparing the situation judgment result by the deep learning model, and FIG. 15 is a view comparing the situation judgment result of the situation judgment model of the present invention with the situation judgment result by the deep learning model according to the prior art.

도 13을 참조하면, 본 발명의 형세 판단 모델은 도 13의 (a)의 B영역과 같이 교차점 마다 집, 돌, 사석을 구분하여 형세를 판단한다. 그러나 종래 기술에 따른 딥러닝 모델에 의한 형세 판단 모델은 도 13의 (b)에서 도 13의 (a)와 대응 되는 영역의 교차점에 대하여 집, 돌, 사석을 구분하지 못한다.Referring to FIG. 13 , the situation determination model of the present invention determines the situation by classifying houses, stones, and rocks at each intersection, as in region B of FIG. 13 (a). However, the situation judgment model by the deep learning model according to the prior art does not distinguish a house, a stone, and a gravel with respect to the intersection of the areas corresponding to those of FIG. 13(b) in FIG. 13(a).

마찬가지로 도 14를 참조하면, 본 발명의 형세 판단 모델은 도 14의 (a)의 C영역과 같이 교차점 마다 집, 돌, 사석을 구분하여 형세를 판단한다. 그러나 종래 기술에 따른 딥러닝 모델에 의한 형세 판단 모델은 도 14의 (b)에서 도 13의 (a)와 대응 되는 영역의 교차점에 대하여 집, 돌, 사석을 구분하지 못한다.Similarly, referring to FIG. 14 , the situation determination model of the present invention determines the situation by classifying houses, stones, and rocks at each intersection, as in region C of FIG. 14 (a). However, the situation judgment model by the deep learning model according to the prior art cannot distinguish a house, a stone, and a gravel with respect to the intersection of the area corresponding to FIG. 14(b) to FIG. 13(a).

도 15을 참조하면, 본 발명의 형세 판단 모델은 도 15의 (a)의 D영역과 같이 백집을 제대로 인식한다. 그러나 종래 기술에 따른 딥러닝 모델에 의한 형세 판단 모델은 도 15의 (b)에서 도 15의 (a)와 대응 되는 영역에서 백집을 구분하지 못한다.Referring to FIG. 15 , the situation determination model of the present invention properly recognizes a bag as in the region D of FIG. 15 (a). However, the situation judgment model by the deep learning model according to the prior art cannot distinguish the bag in the area corresponding to that of FIG. 15(b) to FIG. 15(a).

도 16은 본 발명의 실시예에 따른 딥러닝 기반의 바둑 게임 서비스 시스템에 신호 흐름에 대한 예시도이다.16 is an exemplary diagram of a signal flow in a deep learning-based Go game service system according to an embodiment of the present invention.

도 16을 참조하면, 착수 모델 서버(300)는 인공지능 컴퓨터로써 자신의 턴에서 대국에서 이길 수 있도록 바둑돌의 착수를 수행할 수 있도록 바둑 규칙에 따라 스스로 학습하여 딥러닝 모델인 착수 모델을 트레이닝 할 수 있다(s11). 바둑서버(22)는 복수의 기보를 형세 판단 모델 서버(400)에게 송신할 수 있다. 형세 판단 모델 서버(400)는 트레이닝 데이터 셋을 생성할 수 있다. 먼저, 형세 판단 모델 서버(400)는 복수의 기보의 바둑판 상태에서 입력 특징을 추출할 수 있다(S13). 형세 판단 모델 서버(400)는 입력 특징을 추출한 바둑판 상태를 이용하여 정답 레이블을 생성할 수 있다(S14). 형세 판단 모델 서버(400)은 입력 특징을 입력 데이터로 하고 정답 레이블을 타겟 데이터로 한 트레이닝 데이터 셋을 이용하여 형세 판단 모델을 트레이닝 할 수 있다(S15). 단말기(100)는 바둑서버(200)에 인공지능 컴퓨터를 상대로 또는 다른 유저 단말기를 상대로 바둑 게임을 요청할 수 있다(S16). 바둑서버(200)는 단말기(100)가 인공지능 컴퓨터를 상대로 바둑 게임을 요청하면 착수 모델 서버(300)에 착수를 요청할 수 있다(S17). 바둑서버(200)는 바둑 게임을 진행하며 단말기(100)와 착수 모델 서버(300)가 자신의 턴에 착수를 수행할 수 있다(S18 내지 S20). 대국 중 단말기(100)는 바둑서버(200)에 형세 판단을 요청할 수 있다(S21). 바둑서버(200)는 형세 판단 모델 서버(400)에게 현재 바둑판 상태에 대한 형세 판단을 요청할 수 있다(S22). 형세 판단 모델 서버(400)는 현재 바둑판 상태의 입력 특징을 추출하고, 딥러닝 모델인 형세 판단 모델이 입력 특징을 이용하여 형세값을 생성하고, 바둑판 상태와 형세값을 이용하여 형세 판단을 수행할 수 있다(S23). 형세 판단 모델 서버(400)는 형세 판단 결과를 바둑서버(200)에 제공할 수 있다(S24). 바둑서버(200)는 단말기(100)에 형세 판단 결과를 제공할 수 있다(S25).Referring to FIG. 16, the start model server 300 is an artificial intelligence computer that learns by itself according to the rules of Go so as to be able to perform the initiation of Go so that it can win the game in its own turn to train the initiation model, which is a deep learning model. can (s11). Go server 22 may transmit a plurality of notations to the situation determination model server 400 . The situation determination model server 400 may generate a training data set. First, the situation determination model server 400 may extract input features from the checkerboard state of a plurality of notations (S13). The situation determination model server 400 may generate a correct answer label using the checkerboard state from which the input features are extracted (S14). The situation determination model server 400 may train the situation determination model using a training data set using the input characteristics as input data and the correct answer label as the target data (S15). The terminal 100 may request the Go game from the Go server 200 against the artificial intelligence computer or against another user terminal (S16). Go server 200 may request the start model server 300 when the terminal 100 requests a Go game against the artificial intelligence computer (S17). Go server 200 proceeds the Go game, and the terminal 100 and the start model server 300 may perform a start in their turn (S18 to S20). During the game, the terminal 100 may request the Go server 200 to determine the situation (S21). The Go server 200 may request the condition determination model server 400 to determine the current condition of the Go board (S22). The situation determination model server 400 extracts the input features of the current checkerboard state, the deep learning model, the situation determination model, generates a situation value using the input features, can be (S23). The situation determination model server 400 may provide the situation determination result to the Go server 200 (S24). The Go server 200 may provide the result of determining the situation to the terminal 100 (S25).

도 17은 본 발명의 실시예에 따른 딥러닝 기반의 바둑 게임 서비스 방법 중 형세 판단 방법이고, 도 18은 도 17의 형세 판단 방법 중 정답 레이블을 생성하기 위한 트레이닝 데이터의 전처리 방법이다.17 is a method for determining a situation in a deep learning-based Go game service method according to an embodiment of the present invention, and FIG. 18 is a pre-processing method of training data for generating a correct answer label among the method for determining the situation of FIG. 17 .

도 17을 참조하면, 본 발명의 실시예에 따른 딥러닝 기반의 바둑 게임 서비스 방법은 형세 판단 모델 서버가 바둑서버로부터 복수의 기보를 수신하는 단계(S100)를 포함할 수 있다. Referring to FIG. 17 , the deep learning-based Go game service method according to an embodiment of the present invention may include the step (S100) of the situation determination model server receiving a plurality of notations from the Go server.

본 발명의 실시예에 따른 딥러닝 기반의 바둑 게임 서비스 방법은 형세 판단 모델 서버의 형세 판단 모델 중 입력 특징 추출부가 복수의 기보의 바둑판 상태에서 입력 특징을 추출하는 단계(S200)를 포함할 수 있다. 입력 특징을 추출하는 방법은 도 7의 설명을 따른다.The deep learning-based Go game service method according to an embodiment of the present invention may include the step (S200) of extracting input features from the checkerboard state of a plurality of notations by the input feature extraction unit among the posture determination models of the posture determination model server. . A method of extracting input features follows the description of FIG. 7 .

본 발명의 실시예에 따른 딥러닝 기반의 바둑 게임 서비스 방법은 형세 판단 모델 중 정답 레이블 생성부가 입력 특징을 추출한 바둑판 상태에 기초하여 정답 레이블을 생성하는 단계(S300)를 포함할 수 있다. 일 예로, 도 18을 참조하면, 정답 레이블 생성 단계(S300)는 정답 레이블 생성부가 현재 바둑판 상태에서 끝내기 하는 제1 전처리하는 단계(S301)를 포함할 수 있다. 제1 전처리하는 단계(S301)는 도 9 내지 도 10의 설명을 따른다. 정답 레이블 생성 단계(S300)는 정답 레이블 생성부가 제1 전처리된 바둑판 상태에서 불필요한 돌을 제거하는 제2 전처리하는 단계(S302)를 포함할 수 있다. 제2 전처리하는 단계(S302)는 도 9 내지 도 10의 설명을 따른다. 정답 레이블 생성 단계(S300)는 정답 레이블 생성부가 제2 전처리된 바둑판 상태의 각 교차점을 형세값으로 변경하는 제3 전처리하는 단계(S303)를 포함할 수 있다. 제3 전처리하는 단계(S303)는 도 11의 설명을 따른다. 정답 레이블 생성 단계(S300)는 제3 전처리 상태를 정답 레이블로 하여 형세 판단 신경망에 타겟 데이터로 제공하는 단계(S303)를 포함할 수 있다. 타겟 데이터를 제공하는 단계(S301)는 도 7 및 도 11의 설명을 따른다.The deep learning-based Go game service method according to an embodiment of the present invention may include generating a correct answer label based on a checkerboard state in which the correct answer label generator extracts input features from the situation determination model (S300). As an example, referring to FIG. 18 , the correct answer label generating step ( S300 ) may include a first pre-processing step ( S301 ) in which the correct answer label generating unit ends the current checkerboard state. The first pre-processing step ( S301 ) follows the description of FIGS. 9 to 10 . The correct answer label generating step (S300) may include a second preprocessing step (S302) of the correct answer label generating unit removing unnecessary stones from the first pre-processed checkerboard state. The second pre-processing step ( S302 ) follows the description of FIGS. 9 to 10 . The correct answer label generation step (S300) may include a third pre-processing step (S303) in which the correct answer label generator changes each intersection of the second pre-processed checkerboard state into a shape value. The third pre-processing step ( S303 ) follows the description of FIG. 11 . The correct answer label generation step (S300) may include a step (S303) of providing the third preprocessing state as the correct answer label as target data to the situation determination neural network. The step of providing the target data ( S301 ) follows the description of FIGS. 7 and 11 .

본 발명의 실시예에 따른 딥러닝 기반의 바둑 게임 서비스 방법은 트레이닝 데이터 셋을 이용하여 형세 판단 모델의 형세 판단 신경망을 트레이닝하는 단계(S400)을 포함할 수 있다. 형세 판단 신경망을 트레이닝(학습)하는 방법은 도 7의 설명을 따른다.The deep learning-based Go game service method according to an embodiment of the present invention may include a step (S400) of training a situation determination neural network of a situation determination model using a training data set. A method of training (learning) a situation determination neural network follows the description of FIG. 7 .

본 발명의 실시예에 따른 딥러닝 기반의 바둑 게임 서비스 방법은 형세 판단 신경망의 트레이닝이 완료되어 형세 판단 모델을 구축하는 단계(S500)를 포함한다. 일 예로, 형세 판단 신경망의 트레이닝의 완료는 도 7의 형세 판단 손실이 소정의 값 이하가 된 경우일 수 있다.The deep learning-based Go game service method according to an embodiment of the present invention includes a step (S500) of completing the training of the situation determination neural network to build a situation determination model. As an example, the training of the situation determination neural network may be completed when the situation determination loss of FIG. 7 is less than or equal to a predetermined value.

본 발명의 실시예에 따른 딥러닝 기반의 바둑 게임 서비스 방법은 단말기의 형세 판단 요청에 의해 현재 바둑판 상태가 형세 판단 모델에 입력되는 단계(S600)를 포함할 수 있다. The deep learning-based Go game service method according to an embodiment of the present invention may include a step (S600) of inputting a current Go board state into a situation determination model in response to a request for determination of a condition of a terminal.

본 발명의 실시예에 따른 딥러닝 기반의 바둑 게임 서비스 방법은 형세 판단 모델이 입력된 현재 바둑판 상태의 형세 판단을 수행하는 단계(S700)를 포함할 수 있다. 형세 판단을 수행하는 단계(S700)는 도 12에서 설명한 형세 판단 모델이 현재 바둑판 상태의 형세값을 생성하는 설명을 따를 수 있다.The deep learning-based Go game service method according to an embodiment of the present invention may include a step (S700) of determining the current state of the Go board to which the situation determination model is input. The step (S700) of determining the shape may follow the description in which the shape determination model described with reference to FIG. 12 generates the shape value of the current checkerboard state.

본 발명의 실시예에 따른 딥러닝 기반의 바둑 게임 서비스 방법은 형세 판단 모델 서버가 형세 판단 결과를 출력하는 단계(S800)를 포함할 수 있다. 형세 판단 결과를 출력하는 단계(S800)는 도 12에서 설명한 형세 판단 모델 서버가 형세값, 바둑판의 상태, 소정의 임계값을 이용하여 형세 판단 결과를 제공하는 설명을 따를 수 있다. The deep learning-based Go game service method according to an embodiment of the present invention may include the step (S800) of the situation determination model server outputting the situation determination result. The step of outputting the situation determination result ( S800 ) may follow the description in which the situation determination model server provides the situation determination result using the situation value, the state of the checkerboard, and a predetermined threshold value described in FIG. 12 .

따라서, 실시예에 따른 딥러닝 기반의 바둑 게임 서비스 방법은 딥러닝 신경망을 이용하여 바둑 형세를 판단할 수 있다. 또한, 실시예에 따른 딥러닝 기반의 바둑 게임 서비스 방법은 바둑 규칙에 따른 집, 사석, 돌, 공배, 빅을 정확히 구분하여 바둑의 형세를 정확히 판단할 수 있다. 또한, 실시예에 따른 딥러닝 기반의 바둑 게임 서비스 방법은 바둑 규칙에 따른 집, 사석, 돌, 공배, 빅을 예측하여 바둑의 형세를 정확히 판단할 수 있다. 또한, 실시예에 따른 딥러닝 기반의 바둑 게임 서비스 방법은 바둑 대국 중 신속하게 형세를 판단할 수 있다.Therefore, the deep learning-based Go game service method according to the embodiment may determine the Go situation using a deep learning neural network. In addition, the deep learning-based Go game service method according to the embodiment can accurately determine the situation of Go by accurately classifying a house, a private stone, a stone, a ball, and a big according to the Go rules. In addition, the deep learning-based Go game service method according to the embodiment can accurately determine the situation of Go by predicting a house, a stone, a stone, a ball, and a big according to the Go rules. In addition, the deep learning-based Go game service method according to the embodiment can quickly determine the situation in the Go game.

<일 실시예에 따른 시간 관리 모델 서버><Time management model server according to an embodiment>

도 19는 본 발명의 일 실시예에 따른 시간 관리 모델 서버의 시간 관리부를 설명하기 위한 도면이고, 도 20은 본 발명의 일 실시예에 따른 시간 관리부의 분산 산출을 설명하기 위한 도면이다.19 is a diagram for explaining a time management unit of a time management model server according to an embodiment of the present invention, and FIG. 20 is a diagram for explaining distributed calculation of the time management unit according to an embodiment of the present invention.

본 발명의 일 실시예에 따른 딥러닝 기반의 바둑 게임 서비스는 시간 관리 모델 서버가 시간 관리 정보 중 하나인 착수 준비 시간을 결정하고, 착수 모델이 기 설정된 또는 결정된 착수 준비 시간에 기초하여 착수 할 수 있다. 시간 관리 모델 서버는 사용자와 인공지능 컴퓨터의 대국 또는 인공지능 컴퓨터 간의 대국에서 경기가 막상막하일 경우 일공지능 컴퓨터가 착수하기 더 좋은 수를 두기 위하여 좋은 수를 찾기 위해 착수 준비 시간을 증가시킬 수 있다. In the deep learning-based Go game service according to an embodiment of the present invention, the time management model server determines the start preparation time that is one of the time management information, and the start model can start based on a preset or determined start preparation time. have. The time management model server can increase the start preparation time to find a good number in order for the AI computer to have a better number to undertake when the game is close in a game between a user and an artificial intelligence computer or a game between an artificial intelligence computer. .

보다 구체적으로, 도 19를 참조하면, 시간 관리 모델 서버(400)는 착수 모델 서버(300) 로부터 탐색 확률값(

Figure 112019073193760-pat00029
), 방문 횟수(N) 또는 가치값(V)을 수신하고, 착수 모델 서버(300)로 착수 준비 시간(PP)을 제공할 수 있다. 일 예로, 착수 준비 시간(PP)은 평균 착수 준비 시간, 제1 착수 준비 시간 또는 제2 착수 준비 시간을 포함할 수 있다. 제1 착수 준비 시간은 평균 착수 준비 시간보다 길고, 제2 착수 준비 시간은 제1 착수 준비 시간보다 길 수 있다. 시간 관리 모델 서버(400)는 시간 관리부(510)를 포함할 수 있다. 시간 관리부(510)는 탐색 확률값(
Figure 112019073193760-pat00030
) 및 방문 횟수(N)에 기초하여 착수 준비 시간(PP)을 결정할 수 있다. 시간 관리부(510)는 탐색 확률값(
Figure 112019073193760-pat00031
), 방문 횟수(N)을 이용하여 분산을 산출하고, 분산과 임계 분산 값을 비교하여 착수 준비 시간을 결정할 수 있다. 즉, 착수 후보점에 대한 분산이 낮을수록 착수 후보점이 가장 좋은 수가 아닐 가능성이 높다는 것이고 이러한 정보에 비추어 현재 경기가 막상막하일 가능성이 높을 수 있다. 이에, 시간 관리부는 분산이 임계 분산 값보다 낮을 경우 착수 준비 시간을 더 길게 하여 착수 모델이 더 좋은 수를 착도록 할 수 있다. 분산은 수학식 3과 수학식 4를 이용하여 구할 수 있다.More specifically, referring to FIG. 19 , the time management model server 400 is a search probability value (
Figure 112019073193760-pat00029
), the number of visits (N) or a value value (V) may be received, and may provide a set-up preparation time (PP) to the set-off model server 300 . As an example, the start preparation time (PP) may include an average start preparation time, a first set off preparation time, or a second set off preparation time. The first set-out preparation time may be longer than the average set-out preparation time, and the second set-out preparation time may be longer than the first set off preparation time. The time management model server 400 may include a time management unit 510 . The time management unit 510 is a search probability value (
Figure 112019073193760-pat00030
) and the number of visits (N) to determine the start preparation time (PP). The time management unit 510 is a search probability value (
Figure 112019073193760-pat00031
), calculate the variance using the number of visits (N), and compare the variance with the critical variance value to determine the start preparation time. In other words, the lower the variance of the starting candidate points, the higher the possibility that the starting candidate points are not the best. Accordingly, when the variance is lower than the threshold variance value, the time management unit may lengthen the start preparation time so that the set off model can wear a better number. The variance can be obtained using Equations 3 and 4.

(수학식 3)(Equation 3)

Figure 112019073193760-pat00032
Figure 112019073193760-pat00032

수학식 3에서 n은 교차점 수이고,

Figure 112019073193760-pat00033
는 각 교차점에 대한 방문 횟수이고,
Figure 112019073193760-pat00034
는 각 교차점에 대한 탐색 확률값이고,
Figure 112019073193760-pat00035
는 평균 방문 횟수이다.In Equation 3, n is the number of intersections,
Figure 112019073193760-pat00033
is the number of visits to each intersection,
Figure 112019073193760-pat00034
is the search probability value for each intersection,
Figure 112019073193760-pat00035
is the average number of visits.

(수학식 4)(Equation 4)

Figure 112019073193760-pat00036
Figure 112019073193760-pat00036

수학식 4에서 Var는 분산이다.In Equation 4, Var is variance.

시간 관리부(510)는 분산(Var)이 임계 분산값보다 낮으면 제1 착수 준비 시간으로 착수 준비 시간을 결정할 수 있고, 분산(Var)이 임계 분산값보다 낮지 않으면 평균 착수 준비 시간으로 착수 준비 시간을 결정할 수 있다.The time management unit 510 may determine the start preparation time as the first start preparation time if the variance (Var) is lower than the threshold variance value, and if the variance (Var) is not lower than the threshold variance value, the start preparation time as the average start preparation time can be decided

예를 들어, 도 20을 참조하면, 임계 분산값은 0.05일 수 있다. 도 20(a)의 경우, 시간 관리부(510)는 분산(Var)이 0.2109로 산출할 수 있다. 이 경우, 시간 관리부(510)는 분산(Var)이 임계 분산값보다 높으므로 평균 착수 준비 시간으로 착수 준비 시간을 결정할 수 있다. 도 20(b)의 경우, 시간 관리부(510)는 분산(Var)이 0.0145로 산출할 수 있다. 이 경우, 시간 관리부(510)는 분산(Var)이 임계 분산값보다 낮으므로 제1 착수 준비 시간으로 착수 준비 시간을 결정할 수 있다. 이에, 착수 모델은 더 오랫동안 또는 더 많은 횟수의 MCTS 시뮬레이션을 수행하여 더 좋은 착수 후보점을 선택할 수 있다. For example, referring to FIG. 20 , the threshold variance value may be 0.05. In the case of FIG. 20A , the time management unit 510 may calculate the variance Var as 0.2109. In this case, since the variance (Var) is higher than the threshold variance value, the time management unit 510 may determine the start preparation time as the average start preparation time. In the case of FIG. 20B , the time management unit 510 may calculate the variance Var as 0.0145. In this case, the time management unit 510 may determine the start preparation time as the first set off preparation time because the variance (Var) is lower than the threshold variance value. Accordingly, the start model may select better start candidate points by performing MCTS simulations for a longer period of time or a greater number of times.

또한, 시간 관리부(510)는 가치값(v)에 기초하여 착수 준비 시간(PP)을 결정할 수 있다. 보다 구체적으로, 시간 관리부(510)는 제1 착수 준비 시간 결정 후 가치값(v)이 임계 가치값 이하이면 착수 준비 시간(PP)을 제2 착수 준비 시간으로 결정할 수 있다. 예를 들어, 임계 가치값은 50.0%일 수 있다. 즉, 착수 후보점의 가치값이 낮다는 것은 현재 경기에서 지고 있을 가능성이 높다는 것이므로 시간 관리부(510)가 더 좋은 착수 후보점을 찾도록 착수 모델이 더 오랫동안 또는 더 많은 횟수의 MCTS 시뮬레이션을 수행할 수 있도록 하는 것이다.In addition, the time management unit 510 may determine the start preparation time (PP) based on the value (v). More specifically, the time management unit 510 may determine the set off preparation time (PP) as the second set off preparation time if the value (v) is less than or equal to the threshold value after determining the first set off preparation time. For example, the threshold value may be 50.0%. In other words, since the low value of the starting candidate point means that it is highly likely to lose the current game, the starting model performs MCTS simulation for a longer time or a greater number of times so that the time management unit 510 finds a better starting candidate point. is to make it possible

따라서, 실시예에 따른 딥러닝 기반의 바둑 게임 서비스 장치는 바둑 게임 시간 관리를 할 수 있다. 또한, 실시예에 따른 딥러닝 기반의 바둑 게임 서비스 장치는 중요한 국면에서 착수 준비 시간을 변경할 수 있다.Therefore, the deep learning-based Go game service device according to the embodiment may manage the Go game time. In addition, the deep learning-based Go game service device according to the embodiment may change the start preparation time in an important phase.

도 21은 본 발명의 일 실시예에 따른 시간 관리 모델 서버의 바둑 게임 서비스 시스템에서의 신호 흐름에 대한 예시도이다.21 is an exemplary diagram of a signal flow in the Go game service system of the time management model server according to an embodiment of the present invention.

도 21을 참조하면, 착수 모델 서버(300)는 대국 중에 대국에서 이기기 위한 착수점을 찾기 위하여 MCTS 시뮬레이션을 수행할 수 있다(S2101). 착수 모델 서버(300)는 MCTS 시뮬레이션 결과 생성된 탐색 확률값(

Figure 112019073193760-pat00037
), 방문 횟수(N), 가치값(V)를 시간 관리 모델 서버(400)에 전송할 수 있다(S2102). 시간 관리 모델 서버(400)는 수신한 탐색 확률값(
Figure 112019073193760-pat00038
), 방문 횟수(N), 가치값(V)에 기초하여 착수 준비 시간을 결정할 수 있다(S2103). 시간 관리 모델 서버(400)는 결정된 착수 준비 시간을 착수 모델 서버(300)에 전송할 수 있다(S2104). 착수 모델 서버(300)는 수신한 착수 준비 시간 또는 기설정된 착수 준비 시간에 기초하여 착수를 수행할 수 있다(S2105). 착수 모델 서버(300)는 수신한 착수 준비 시간과 기설정된 착수 준비 시간 중 수신한 착수 준비 시간에 우선하여 착수를 수행할 수 있다. Referring to FIG. 21 , the start model server 300 may perform MCTS simulation to find a start point for winning in a game during a game (S2101). Start model server 300 is a search probability value generated as a result of MCTS simulation (
Figure 112019073193760-pat00037
), the number of visits (N), and the value value (V) may be transmitted to the time management model server 400 (S2102). The time management model server 400 receives the search probability value (
Figure 112019073193760-pat00038
), the number of visits (N), it is possible to determine the start preparation time based on the value (V) (S2103). Time management model server 400 may transmit the determined start preparation time to the start model server 300 (S2104). Initiation model server 300 may perform an initiation based on the received start preparation time or a preset start preparation time (S2105). The set off model server 300 may perform the set off in preference to the set start preparation time received among the received set off preparation time and the set set start preparation time.

도 22는 본 발명의 일 실시예에 따른 딥러닝 기반의 바둑 게임 서비스 방법 중 착수 준비 시간 결정 방법이다.22 is a method of determining a start preparation time among the deep learning-based Go game service methods according to an embodiment of the present invention.

도 22를 참조하면, 본 발명의 일 실시예에 따른 딥러닝 기반의 바둑 게임 서비스 방법은 시간 관리 모델 서버가 탐색 확률값(

Figure 112019073193760-pat00039
), 방문 횟수(N) 또는 가치값(V)을 수신하는 단계(S2201)을 포함할 수 있다. Referring to Figure 22, in the deep learning-based Go game service method according to an embodiment of the present invention, the time management model server is a search probability value (
Figure 112019073193760-pat00039
), receiving the number of visits (N) or a value (V) (S2201).

본 발명의 일 실시예에 따른 딥러닝 기반의 바둑 게임 서비스 방법은 시간 관리 모델 서버 중 시간 관리부가 시간 관리 모델 서버가 탐색 확률값(

Figure 112019073193760-pat00040
), 방문 횟수(N)에 기초하여 분산을 산출하는 단계(S2202)를 포함할 수 있다. 분산을 산출하는 방법은 도 19 및 도 20의 설명을 따른다.In the deep learning-based Go game service method according to an embodiment of the present invention, the time management unit among the time management model servers includes a search probability value (
Figure 112019073193760-pat00040
), calculating a variance based on the number of visits (N) (S2202). The method of calculating the variance follows the description of FIGS. 19 and 20 .

본 발명의 일 실시예에 따른 딥러닝 기반의 바둑 게임 서비스 방법은 시간 관리 모델 서버 중 시간 관리부가 산출된 분산이 임계 분산값 미만인지 판단하는 단계(S2203)를 포함할 수 있다. The deep learning-based Go game service method according to an embodiment of the present invention may include determining whether the variance calculated by the time management unit among the time management model servers is less than a threshold variance value (S2203).

본 발명의 일 실시예에 따른 딥러닝 기반의 바둑 게임 서비스 방법은 시간 관리 모델 서버 중 시간 관리부가 분산이 임계 분산값 미만이 아니면 착수 준비 시간을 평균 착수 준비 시간으로 결정하는 단계(S2204)를 포함할 수 있다. 착수 준비시간을 평균 착수 준비 시간으로 결정하는 방법은 도 19 및 도 20의 설명을 따른다.The deep learning-based Go game service method according to an embodiment of the present invention includes the step (S2204) of determining the start preparation time as the average start preparation time if the time management unit among the time management model servers does not have a variance less than a threshold variance value (S2204) can do. A method of determining the start preparation time as the average start preparation time follows the description of FIGS. 19 and 20 .

본 발명의 일 실시예에 따른 딥러닝 기반의 바둑 게임 서비스 방법은 시간 관리 모델 서버 중 시간 관리부가 분산이 임계 분산값 미만이면 착수 준비 시간을 제1 착수 준비 시간으로 결정하는 단계(S2205)를 포함할 수 있다. 착수 준비 시간을 제1 착수 준비 시간으로 결정하는 방법은 도 19 및 도 20의 설명을 따른다.The deep learning-based Go game service method according to an embodiment of the present invention includes the step (S2205) of determining the start preparation time as the first start preparation time when the time management unit among the time management model servers has a variance less than a threshold variance value (S2205) can do. A method of determining the set-out preparation time as the first set-off preparation time follows the description of FIGS. 19 and 20 .

본 발명의 일 실시예에 따른 딥러닝 기반의 바둑 게임 서비스 방법은 시간 관리 모델 서버 중 시간 관리부가 착수 준비 시간을 제1 착수 준비 시간으로 결정 후 가치값이 임계 가치값 이하인지 판단하는 단계(S2206)를 포함할 수 있다. 가치값이 임계 가치값 이하인지 판단하는 방법은 도 19 및 도 20의 설명을 따른다. 시간 관리부는 가치값이 임계 가치값 이하가 아니면 제1 착수 준비 시간을 착수 준비 시간으로 결정할 수 있다.The deep learning-based Go game service method according to an embodiment of the present invention comprises the steps of determining whether the value value is less than or equal to the threshold value after the time management unit determines the start preparation time as the first start preparation time among the time management model servers (S2206) ) may be included. A method of determining whether the value is equal to or less than the threshold value follows the description of FIGS. 19 and 20 . If the value is not less than the threshold value, the time management unit may determine the first start preparation time as the start preparation time.

본 발명의 일 실시예에 따른 딥러닝 기반의 바둑 게임 서비스 방법은 시간 관리 모델 서버 중 시간 관리부가 가치값이 임계 가치값 이하이면 착수 준비 시간을 제2 착수 준비 시간으로 결정하는 단계(S2207)를 포함할 수 있다. 착수 준비 시간을 제2 착수 준비 시간으로 결정하는 방법은 도 19 및 도 20의 설명을 따른다. In the deep learning-based Go game service method according to an embodiment of the present invention, if the time management value of the time management model server is less than or equal to the threshold value, determining the start preparation time as the second start preparation time (S2207) may include A method of determining the set-out preparation time as the second set-off preparation time follows the description of FIGS. 19 and 20 .

본 발명의 일 실시예에 따른 딥러닝 기반의 바둑 게임 서비스 방법은 시간 관리 모델 서버 중 시간 관리부가 결정된 착수 준비 시간을 전송하는 단계(S2208)을 포함할 수 있다.The deep learning-based Go game service method according to an embodiment of the present invention may include a step (S2208) of transmitting the determined start preparation time by the time management unit among the time management model servers.

따라서, 일 실시예에 따른 딥러닝 기반의 바둑 게임 서비스 방법은 바둑 게임 시간 관리를 할 수 있다. 또한, 일 실시예에 따른 딥러닝 기반의 바둑 게임 서비스 방법은 중요한 국면에서 착수 준비 시간을 변경할 수 있다.Therefore, the deep learning-based Go game service method according to an embodiment may manage the Go game time. In addition, the deep learning-based Go game service method according to an embodiment may change the start preparation time in an important phase.

<다른 실시예에 따른 시간 관리 모델 서버><Time management model server according to another embodiment>

도 23은 본 발명의 다른 실시예에 따른 시간 관리 모델 서버의 시간 관리 모델을 설명하기 위한 도면이고, 도 24는 본 발명의 다른 실시예에 따른 게임 시간 정보를 생성하기 위해 사용되는 집수 변화량을 설명하기 위한 도면이고, 도 25는 본 발명의 다른 실시예에 따른 게임 시간 정보를 생성하기 위해 사용되는 집수 변화량을 설명하기 위한 도면이고, 도 26은 본 발명의 다른 실시예에 따른 게임 시간 정보를 생성하기 위해 사용되는 공배수를 설명하기 위한 도면이다.23 is a diagram for explaining a time management model of a time management model server according to another embodiment of the present invention, and FIG. 24 is a view for explaining a change amount of catchment used to generate game time information according to another embodiment of the present invention 25 is a diagram for explaining the amount of water catch change used to generate game time information according to another embodiment of the present invention, and FIG. 26 is a diagram for generating game time information according to another embodiment of the present invention It is a diagram for explaining a common multiple used for

도 23을 참조하면, 본 발명의 실시예에 따른 딥러닝 기반의 바둑 게임 서비스는 시간 관리 모델 서버의 시간 관리 모델을 이용하여 현재 바둑판 상태에서 게임 시간 정보를 생성할 수 있다. 게임 시간 정보는 바둑판 상태에 따른 경기 종료시까지 예측되는 남은 경기 길이를 포함할 수 있다. 시간 관리 모델은 시간 관리 모델 서버(500)의 딥러닝 모델로써 시간 관리 제1 신경망(520), 시간 관리 제2 신경망(530), 제1 입력 특징 생성부(540)를 포함할 수 있다. Referring to FIG. 23 , the deep learning-based Go game service according to an embodiment of the present invention may generate game time information in the current Go board state using the time management model of the time management model server. The game time information may include the remaining game length predicted until the end of the game according to the state of the checkerboard. The time management model is a deep learning model of the time management model server 500 and may include a first time management neural network 520 , a second time management neural network 530 , and a first input feature generator 540 .

시간 관리 모델은 현재 바둑판 상태의 게임 시간 정보인 남은 경기 길이를 예측할 수 있도록 지도 학습(supervised learning)할 수 있다. 보다 구체적으로, 시간 관리 모델 서버(500)는 바둑판 상태(S)에 따른 남은 경기 길이 예측을 위한 트레이닝 데이터 셋을 생성하고 생성된 트레이닝 데이터 셋을 이용하여 시간 관리 모델이 현재 바둑판 상태(S)에 따른 남은 경기 길이를 예측할 수 있도록 학습시킬 수 있다. 시간 관리 모델 서버(500)는 바둑서버(200)로부터 복수의 기보를 수신할 수 있다. 복수의 기보의 각 기보는 착수 순서에 따른 각각의 바둑판 상태(S)를 포함할 수 있다. 또한, 복수의 기복의 각 기보는 각각의 바둑판 상태(S)에서 게임 시간 정보, 특히 경기 종료시까지의 남은 경기 길이 정보를 포함할 수 있다. 또한, 시간 관리 모델 서버(500)는 형세 판단 모델 서버(400)로부터 형세 판단 정보를 수신할 수 있다. 형세 판단 정보는 바둑서버(200)에서 시간 관리 모델 서버(500)로 제공하는 복수의 기보에 기초한 형세 판단 정보이고, 집수의 변화량 정보 및 공배수 정보 등을 포함할 수 있다. 또한, 시간 관리 모델 서버(500)는 착수 모델 서버(300)로부터 가치값을 수신할 수 있다. 가치값은 바둑서버(200)에서 시간 관리 모델 서버(500)로 제공하는 복수의 기보에 기초한 가치값일 수 있다. The time management model may perform supervised learning to predict the remaining game length, which is game time information of the current checkerboard state. More specifically, the time management model server 500 generates a training data set for predicting the remaining game length according to the checkerboard state (S), and using the generated training data set, the time management model is currently in the checkerboard state (S). It can be trained to predict the remaining game length. The time management model server 500 may receive a plurality of notations from the Go server 200 . Each notation of a plurality of notations may include a respective checkerboard state (S) according to the starting order. In addition, each notation of the plurality of ups and downs may include game time information in each checkerboard state (S), in particular, the remaining game length information until the end of the game. In addition, the time management model server 500 may receive the situation determination information from the situation determination model server 400 . The situation determination information is situation determination information based on a plurality of notations provided from the Go server 200 to the time management model server 500, and may include information on the amount of change in water collection and common multiple information. In addition, the time management model server 500 may receive a value value from the start model server (300). The value may be a value based on a plurality of notations provided by the Go server 200 to the time management model server 500 .

제1 입력 특징 추출부(540)는 복수의 기보의 바둑판 상태(S)에서 제1 입력 특징(IF1)을 추출하여 시간 관리 제1 신경망(520)에 트레이닝을 위한 입력 데이터로 제공할 수 있다. 바둑판 상태(S)의 제1 입력 특징(IF)은 흑 플레이어의 최근 8 수에 대한 돌의 위치 정보과 백 플레이어의 최근 8 수에 대한 돌의 위치 정보와 현재 플레이어가 흑인지 백인지에 대한 차례 정보를 포함한 19*19*18의 RGB 이미지일 수 있다. 일 예로, 제1 입력 특징 추출부(540)는 신경망 구조로 되어 있을 수 있으며 일종의 인코더를 포함할 수 있다.The first input feature extraction unit 540 may extract the first input feature IF1 from the checkerboard state S of the plurality of notations and provide the first input feature IF1 as input data for training to the time management first neural network 520 . The first input feature (IF) of the checkerboard state (S) is the position information of the stone for the last eight moves of the black player, the position information of the stone for the last eight moves of the white player, and turn information on whether the current player is black or white It may be an RGB image of 19*19*18 including . For example, the first input feature extractor 540 may have a neural network structure and may include a kind of encoder.

또한, 시간 관리 모델은 제2 입력 특징(IF2) 및 제3 입력 특징(IF3)을 시간 관리 제1 신경망(520)에 트레이닝을 위한 입력 데이터로 제공할 수 있다. 제2 입력 특징(IF2)은 바둑판 상태(S)에 따른 집수의 변화량 정보일 수 있다. 제3 입력 특징(IF3)은 바둑판 상태(S)에 따른 공배수 정보일 수 있다. 시간 관리 모델은 제4 입력 특징(IF4)를 시간 관리 제2 신경망(530)에 트레이닝을 위한 입력 데이터로 제공할 수 있다. 제4 입력 특징(IF4)는 바둑판 상태(S)에 따른 가치값일 수 있다. Also, the time management model may provide the second input feature IF2 and the third input feature IF3 as input data for training to the first time management neural network 520 . The second input feature IF2 may be information on the amount of change in water collection according to the checkerboard state S. The third input feature IF3 may be common multiple information according to the checkerboard state S. The time management model may provide the fourth input feature IF4 as input data for training to the second time management neural network 530 . The fourth input feature IF4 may be a value according to the checkerboard state S.

시간 관리 제1 신경망(520)은 제1 내지 제3 입력 특징(IF1 내지 IF3)를 입력으로 하여 출력값을 시간 관리 제2 신경망(530)에 제공할 수 있다. 시간 관리 제1 신경망(520)은 신경망 구조로 구성될 수 있다. 일 예로, 시간 관리 제1 신경망(520)은 20개의 레지듀얼(residual) 블록으로 구성될 수 있다. 도 8을 참조하면, 하나의 레지듀얼 블록은 256개의 3X3 컨볼루션 레이어, 일괄 정규화(batch normalization) 레이어, Relu 활성화 함수 레이어, 256개의 3X3 컨볼루션 레이어, 일괄 정규화(batch normalization) 레이어, 스킵 커넥션, Relu 활성화 함수 레이어 순으로 배치될 수 있다. 일괄 정규화(batch normalization) 레이어는 학습하는 도중에 이전 레이어의 파라미터 변화로 인해 현재 레이어의 입력의 분포가 바뀌는 현상인 공변량 변화(covariate shift)를 방지하기 위한 것이다. 스킵 커넥션은 블록 층이 두꺼워지더라도 신경망의 성능이 감소하는 것을 방지하고 블록 층을 더욱 두껍게 하여 전체 신경망 성능을 높일 수 있게 한다. 스킵 커넥션은 레지듀얼 블록의 최초 입력 데이터가 두 번째 일괄 정규화(batch normalization) 레이어의 출력과 합하여 두번째 Relu 활성화 함수 레이어에 입력되는 형태일 수 있다. The first time management neural network 520 may receive the first to third input features IF1 to IF3 as inputs and provide an output value to the second time management neural network 530 . The first time management neural network 520 may be configured in a neural network structure. As an example, the first time management neural network 520 may include 20 residual blocks. Referring to FIG. 8 , one residual block includes 256 3X3 convolutional layers, batch normalization layers, Relu activation function layers, 256 3X3 convolutional layers, batch normalization layers, skip connections, Relu activation function layers may be arranged in order. The batch normalization layer is to prevent covariate shift, which is a phenomenon in which the distribution of the input of the current layer is changed due to the parameter change of the previous layer during learning. Skip connection prevents the performance of the neural network from decreasing even if the block layer becomes thicker, and makes the block layer thicker to increase the overall neural network performance. The skip connection may be in a form in which the first input data of the residual block is combined with the output of the second batch normalization layer and input to the second Relu activation function layer.

시간 관리 제2 신경망(530)은 시간 관리 제1 신경망(520)의 출력값과 제4 입력 특징(IF4)를 입력으로 하여 예측한 남은 경기 길이에 관한 게임 시간 정보를 생성할 수 있다. 시간 관리 제2 신경망(530)은 신경망 구조로 구성될 수 있다. 일 예로, 시간 관리 제2 신경망(530)은 풀리 커넥티드 레이어 구조일 수 있다. The second time management neural network 530 may generate game time information regarding the predicted remaining game length by inputting the output value of the first time management neural network 520 and the fourth input feature IF4 as inputs. The time management second neural network 530 may be configured in a neural network structure. As an example, the time management second neural network 530 may have a fully connected layer structure.

시간 관리 모델은 제1 내지 제4 입력 특징(IF1 내지 IF4)을 입력 데이터로 하고 남은 경기 길이 정보를 타겟 데이터(

Figure 112019073193760-pat00041
)로 한 트레이닝 데이터 셋을 이용하여 시간 관리 제1 신경망(520)을 거쳐 시간 관리 제2 신경망(530)에서 생성된 출력 데이터(r)가 타겟 데이터(
Figure 112019073193760-pat00042
)와 동일해지도록 시간 관리 제1 신경망(520) 및 시간 관리 제2 신경망(530)을 충분히 학습할 수 있다. 일 예로, 시간 관리 모델은 남은 경기 길이 예측 손실(
Figure 112019073193760-pat00043
)을 이용하여 남은 경기 길이 예측 손실(
Figure 112019073193760-pat00044
)이 최소가 되도록 트레이닝 할 수 있다. 예를 들어, 남은 경기 길이 예측 손실(
Figure 112019073193760-pat00045
)은 수학식 5를 따를 수 있다.The time management model uses the first to fourth input features (IF1 to IF4) as input data and the remaining game length information as target data (
Figure 112019073193760-pat00041
), the output data (r) generated in the time management second neural network 530 through the first time management neural network 520 using the training data set as the target data (
Figure 112019073193760-pat00042
) and the time management first neural network 520 and the time management second neural network 530 can be sufficiently trained. As an example, the time management model predicts the loss of the remaining game length (
Figure 112019073193760-pat00043
) to predict the remaining match length (
Figure 112019073193760-pat00044
) can be trained to be minimal. For example, the predicted loss of remaining match length (
Figure 112019073193760-pat00045
) may follow Equation 5.

(수학식 5)(Equation 5)

Figure 112019073193760-pat00046
Figure 112019073193760-pat00046

수학식 5에서

Figure 112019073193760-pat00047
는 집수의 변화량 손실이다. 남은 경기 길이 예측 손실(
Figure 112019073193760-pat00048
)은 집수의 변화량 손실(
Figure 112019073193760-pat00049
)을 이용한다. 남은 경기 길이 예측을 위하여 집수의 변화량을 이용하는 이유는 대국중 초반의 집수의 변화가 상대적으로 크고, 후반의 집수의 변화가 상대적으로 적을 가능성이 높으므로 남은 경기 길이 예측 판단의 요소로 사용할 수 있기 때문이다. 일 예로, 도 24를 참고하면, 도 24는 임의의 기보의 초반부의 바둑판 상태(S)에 대하여 형세 판단 모델 서버(400)를 이용하여 생성된 형세 판단 정보이다. 도 24(a)는 104수까지 둔 경우로 흑이 46집이고 백이 63.5집이 된다. 도 24(b)는 흑이 한수를 더 둔 105수까지 둔 경우로 흑이 46집이고 백이 59.5집으로 백의 경우 4집의 차이가 난다. 즉, 초반부의 바둑판 상태(S)는 한 수 둘때마다 집수의 변화량이 크다. 도 25를 참고하면, 도 25는 임의의 기보의 후반부의 바둑판 상태(S)에 대하여 형세 판단 모델 서버(400)를 이용하여 생성된 형세 판단 정보이다. 도 25(a)는 222수까지 둔 경우로 흑이 64집이고 백이 63.5집이 된다. 도 25(b)는 백이 한 수를 더 둔 223수까지 둔 경우로 흑이 63집이고 백이 64.5집으로 백의 경우 1집의 차이가 난다. 즉, 후반부의 바둑판 상태(S)는 한 수 둘때마다 집수의 변화량이 작다.in Equation 5
Figure 112019073193760-pat00047
is the change in catchment loss. Remaining Match Length Prediction Loss (
Figure 112019073193760-pat00048
) is the change in catchment loss (
Figure 112019073193760-pat00049
) is used. The reason for using the change in catchment to predict the remaining game length is that the change in catchment in the early part of the game is relatively large and the change in catchment in the second half is likely to be relatively small, so it can be used as a factor in judging the prediction of the remaining game length. am. As an example, referring to FIG. 24 , FIG. 24 is situation determination information generated using the situation determination model server 400 with respect to the checkerboard state (S) of the early part of any notation. 24(a) shows a case in which up to 104 numbers are placed, and the number of black is 46 and the number of white is 63.5. Fig. 24(b) shows a case in which black has up to 105 sets with an additional number, and black has 46 sets and white has 59.5 sets, and in the case of white, there is a difference of 4 sets. That is, in the initial stage of the checkerboard state (S), the amount of change in water collection is large every one or two. Referring to FIG. 25 , FIG. 25 is situation determination information generated using the situation determination model server 400 with respect to the checkerboard state (S) of the second half of any notation. In Fig. 25(a), up to 222 numbers are placed, and black is 64 and white is 63.5. Fig. 25(b) shows a case in which white has one more number and up to 223 numbers. Black has 63 sets and white has 64.5 sets, and in the case of white, there is a difference of 1 set. That is, in the second half of the checkerboard state (S), the amount of change in water collection is small every one or two.

수학식 5에서

Figure 112019073193760-pat00050
는 공배수 손실이다. 남은 경기 길이 예측 손실(
Figure 112019073193760-pat00051
)은 공배수 손실(
Figure 112019073193760-pat00052
)을 이용한다. 남은 경기 길이 예측을 위하여 공배수를 이용하는 이유는 대국 중에 후반으로 갈수록 공배수가 점점 줄어들기 때문에 이를 이용하여 남은 경기 길이 예측 판단의 요소로 사용할 수 있기 때문이다. 일 예로, 도 26을 참고하면, 도 26은 임의의 기보의 초반부와 후반부의의 바둑판 상태(S)에 대하여 형세 판단 모델 서버(400)를 이용하여 생성된 형세 판단 정보이다. 공배는 도 26의 형세 판단 결과에서 붉은 선으로 X표시가 된 곳이다. 도 26(a)는 대국의 초반부이기 때문에 공배가 많다. 도 26(b)는 대국의 후반부이기 때문에 공배가 적다.in Equation 5
Figure 112019073193760-pat00050
is the common multiple loss. Remaining Match Length Prediction Loss (
Figure 112019073193760-pat00051
) is the common multiple loss (
Figure 112019073193760-pat00052
) is used. The reason why common multiples are used to predict the remaining game length is that the common multiples decrease gradually toward the second half of the game, so it can be used as a factor in judging the remaining game lengths. As an example, referring to FIG. 26 , FIG. 26 is situation determination information generated using the situation determination model server 400 with respect to the checkerboard state (S) of the first half and the second half of any notation. The public court is a place marked with an X in the red line in the situation judgment result of FIG. 26 . Figure 26 (a) is the early part of the match, so there are many open matches. Figure 26 (b) is the second half of the game, so there is less commonality.

수학식 5에서

Figure 112019073193760-pat00053
는 가치값 손실이다. 남은 경기 길이 예측 손실(
Figure 112019073193760-pat00054
)은 가치값 손실(
Figure 112019073193760-pat00055
)을 이용한다. 남은 경기 길이 예측을 위하여 가치값 이용하는 이유는 대국 중에 후반으로 갈수록 어느 한쪽의 가치값이 높아지기 때문에 이를 이용하여 남은 경기 길이 예측 판단의 요소로 사용할 수 잇기 때문이다. 또한, 가치값 손실(
Figure 112019073193760-pat00056
)은 초반에는 큰 변화가 없기 때문에 경기 후반부에 이용될 수 있다. 예를 들어, 경기 후반부는 임의의 기보에서 250수이상의 착수가 된 바둑판 상태일 수 있고, 이에 제한되는 것은 아니다.in Equation 5
Figure 112019073193760-pat00053
is the loss of value. Remaining Match Length Prediction Loss (
Figure 112019073193760-pat00054
) is the loss of value (
Figure 112019073193760-pat00055
) is used. The reason why the value value is used for predicting the remaining game length is because the value of either side increases toward the second half of the game, so it can be used as a factor in judging the remaining game length using this value. Also, loss of value (
Figure 112019073193760-pat00056
) can be used in the second half of the game because there is no big change in the beginning. For example, the second half of the game may be a checkerboard state with more than 250 sets in any notation, but is not limited thereto.

수학식 5에서,

Figure 112019073193760-pat00057
는 하이퍼 파라미터들이다. 사용자는 하이퍼 파라미터는 조절하여 각 손실의 상대적인 중요도를 조절할 수 있다. 예를 들어,
Figure 112019073193760-pat00058
는 경기 후반부로 갈수록 중요도가 높아지므로 수치가 높아질 수 있고, 경기 초반부에는 중요도가 낮으므로 수치가 낮을 수 있다.In Equation 5,
Figure 112019073193760-pat00057
are hyperparameters. The user can adjust the hyperparameter to adjust the relative importance of each loss. E.g,
Figure 112019073193760-pat00058
may increase in importance as the game progresses toward the second half of the game, and may have a low value in the early stage of the game because it is of low importance.

학습된 시간 관리 모델은 대국중 현재 바둑판 상태가 입력되면 예측한 남은 경기 길이에 관한 게임 시간 정보를 생성할 수 있다. 보다 구체적으로, 학습된 시간 관리 모델은 대국중에 현재 바둑판 상태가 입력되면 제1 입력 특징 추출부(540)에 의해 제1 입력 특징이 추출할 수 있다. 시간 관리 모델은 형세 판단 모델 서버가 현재 바둑판 상태에 대한 형세 판단으로 제공하는 집수의 변화량 정보를 제2 입력 특징으로 하고, 공배수 정보를 제3 입력 특징으로 할 수 있다. 시간 관리 모델은 제1 입력 특징 내지 제3 입력 특징을 입력 데이터로 하여 시간 관리 제1 신경망(520)에서 생성한 출력값을 시간 관리 제2 신경망(530)에 제공할 수 있다. 시간 관리 모델은 착수 모델 서버가 제공하는 현재 바둑판 상태에 착수 후보점에 대한 가치값을 제4 입력 특징으로 할 수 있다. 시간 관리 모델은 시간 관리 제1 신경망(520)의 출력값과 제4 입력 특징을 입력 데이터로 하여 시간 관리 제2 신경망(530)에서 예측된 남은 경기 길이에 관한 게임 시간 정보를 생성할 수 있다.The learned time management model may generate game time information regarding the predicted remaining game length when the current checkerboard state is input during a match. More specifically, the learned time management model may extract the first input feature by the first input feature extraction unit 540 when the current checkerboard state is input during a game. In the time management model, the change amount information of the catchment provided by the situation determination model server to determine the current state of the checkerboard as the second input feature, and the common multiple information as the third input feature. The time management model may provide the output value generated by the first time management neural network 520 to the second time management neural network 530 by using the first input characteristic to the third input characteristic as input data. The time management model may include a fourth input feature of a value value for a candidate point for starting in the current checkerboard state provided by the starting model server. The time management model may generate game time information regarding the remaining game length predicted by the second time management neural network 530 by using the output value and the fourth input characteristic of the first time management neural network 520 as input data.

또한, 시간 관리 모델 서버(500)는 게임 시간 정보의 예측된 남은 경기 길이에 따라서 착수 준비 시간을 조절할 수 있다. 시간 관리 모델 서버(500)는 조절된 착수 준비 시간을 착수 모델 서버(300)에 제공할 수 있다.In addition, the time management model server 500 may adjust the start preparation time according to the predicted remaining game length of the game time information. The time management model server 500 may provide an adjusted start preparation time to the start model server 300 .

따라서, 다른 실시예에 따른 딥러닝 기반의 바둑 게임 서비스 장치는 남은 경기 길이를 예측할 수 있다. 또한, 다른 실시예에 따른 딥러닝 기반의 바둑 게임 서비스 장치는 예측된 남은 경기 길이를 이용하여 착수 준비 시간을 효과적으로 나눌 수 있다.Therefore, the deep learning-based Go game service device according to another embodiment may predict the remaining game length. In addition, the deep learning-based Go game service device according to another embodiment can effectively divide the start preparation time using the predicted remaining game length.

도 27은 본 발명의 다른 실시예에 따른 시간 관리 모델 서버의 바둑 게임 서비스 시스템에서의 신호 흐름에 대한 예시도이다.27 is an exemplary diagram of a signal flow in the Go game service system of the time management model server according to another embodiment of the present invention.

도 27을 참조하면, 바둑서버(200)는 복수의 기보를 착수 모델 서버(300), 형세 판단 모델 서버(400) 및 시간 관리 모델 서버(500)에 송신할 수 있다(S2701). 시간 관리 보델 서버(500)는 수신한 복수의 기보의 바둑판 상태의 제1 입력 특징을 추출할 수 있다(S2702). 형세 판단 모델 서버(400)는 수신한 복수의 기보의 형세 판단 정보를 생성하고, 시간 관리 모델 서버(500)에 형세 판단 정보를 송신할 수 있다(S2703, S2704). 형세 판단 정보는 집수의 변화량 정보 및 공배수 정보일 수 있다. 시간 관리 모델 서버(500)는 집수의 변화량 정보를 제2 입력 특징으로 하고 공배수 정보를 제3 입력 특징으로 하여 시간 관리 모델의 시간 관리 제1 신경망에 입력할 수 있다(S2705). 착수 모델 서버(300)는 복수의 기보의 바둑판 상태에 따른 가치값을 생성하고, 생성된 가치값을 시간 관리 모델 서버(500)에 전송할 수 있다(S2706, S2707). 시간 관리 모델 서버(500)는 수신한 가치값을 제4 입력 특징으로 하여 시간 관리 모델의 시간 관리 제2 신경망에 입력할 수 있다(S2708). 시간 관리 모델 서버(500)는 제1 내지 제4 입력 특징의 입력 데이터와 복수의 기보의 바둑판 상태에 따른 남은 경기 길이 정보를 타겟 데이터로 하여 시간 관리 모델을 트레이닝 할 수 있다(S2709). 바둑서버(200)는 바둑 게임을 진행하며 단말기(100)와 착수 모델 서버(300)가 자신의 턴에 착수를 수행할 수 있다(S2710 내지 S2712). 형세 판단 모델 서버(400)는 현재 바둑판 상태의 입력 특징을 추출하고, 딥러닝 모델인 형세 판단 모델이 입력 특징을 이용하여 형세값을 생성하고, 바둑판 상태와 형세값을 이용하여 형세 판단을 수행할 수 있다(S2713). 시간 관리 모델 서버(500)는 현재 바둑판 상태의 입력 특징을 추출하여 제1 입력 특징으로 하고, 형세 판단 정보를 제2 및 제3 입력 특징으로 하고, 착수 모델 서버(300)에서 제공되는 가치값을 제4 입력 특징으로 하여, 딥러닝 모델인 시간 관리 모델이 게임 시간 정보를 생성할 수 있다(S2714).Referring to FIG. 27 , the Go server 200 may transmit a plurality of notations to the start model server 300 , the situation determination model server 400 and the time management model server 500 ( S2701 ). Time management model server 500 may extract the first input feature of the checkerboard state of the received plurality of notations (S2702). The situation determination model server 400 may generate the situation determination information of a plurality of received notations, and transmit the situation determination information to the time management model server 500 (S2703, S2704). The situation determination information may be information on a change amount of catchment and information on a common drainage. The time management model server 500 may input the change amount information of the catchment as the second input feature and the common multiple information as the third input feature to the time management first neural network of the time management model ( S2705 ). Start model server 300 may generate a value value according to the checkerboard state of a plurality of notations, and transmit the generated value value to the time management model server 500 (S2706, S2707). The time management model server 500 may use the received value as a fourth input feature and input it into the second neural network for time management of the time management model ( S2708 ). The time management model server 500 may train the time management model by using the input data of the first to fourth input characteristics and the remaining game length information according to the checkerboard state of a plurality of notations as target data (S2709). The Go server 200 may perform a Go game, and the terminal 100 and the start model server 300 may perform a start in their turn (S2710 to S2712). The situation determination model server 400 extracts the input features of the current checkerboard state, the deep learning model, the situation determination model, generates a situation value using the input features, It can be (S2713). The time management model server 500 extracts the input features of the current checkerboard state as the first input features, the situation determination information as the second and third input features, and the value provided by the start model server 300 As the fourth input feature, a time management model that is a deep learning model may generate game time information (S2714).

도 28은 본 발명의 다른 실시예에 따른 딥러닝 기반의 바둑 게임 서비스 방법 중 게임 시간 정보 생성 방법이다.28 is a method for generating game time information among the deep learning-based Go game service methods according to another embodiment of the present invention.

도 28을 참조하면, 본 발명의 다른 실시예에 따른 딥러닝 기반의 바둑 게임 서비스 방법은 시간 관리 모델 서버가 복수의 기보를 수신하는 단계(S2801)을 포함할 수 있다. 복수의 기보에 대한 설명은 도 23의 설명을 따른다.Referring to Figure 28, the deep learning-based Go game service method according to another embodiment of the present invention may include the step (S2801) of the time management model server receiving a plurality of notations. A description of a plurality of notations follows the description of FIG. 23 .

본 발명의 다른 실시예에 따른 딥러닝 기반의 바둑 게임 서비스 방법은 시간 관리 모델 서버가 수신한 복수의 기보의 바둑판 상태에서 제1 입력 특징을 추출하는 단계(s2802)를 포함할 수 있다. 제1 입력 특징을 추출하는 방법은 도 23의 설명을 따른다. 시간 관리 모델 서버는 추출된 제1 입력 특징을 시간 관리 제1 신경망의 입력 데이터로 제공할 수 있다.The deep learning-based Go game service method according to another embodiment of the present invention may include the step of extracting the first input feature from the checkerboard state of a plurality of notations received by the time management model server (s2802). A method of extracting the first input feature follows the description of FIG. 23 . The time management model server may provide the extracted first input feature as input data of the first neural network for time management.

본 발명의 다른 실시예에 따른 딥러닝 기반의 바둑 게임 서비스 방법은 시간 관리 모델 서버가 복수의 기보의 바둑판 상태에 따른 형세 판단 정보를 수신하는 단계(S2803)을 포함할 수 있다. 형세 판단 정보를 수신하는 방법은 도 23의 설명을 따른다. 형세 판단 정보는 집수의 변화량 정보 및 공배수 정보일 수 있다. 시간 관리 모델 서버는 집수의 변화량 정보를 제2 입력 특징으로 하고 공배수 정보를 제3 입력 특징으로 할 수 있다.The deep learning-based Go game service method according to another embodiment of the present invention may include the step (S2803) of the time management model server receiving the situation determination information according to the Go board state of a plurality of notations. A method of receiving the situation determination information follows the description of FIG. 23 . The situation determination information may be information on a change amount of catchment and information on a common drainage. The time management model server may use the change amount information of the catchment as the second input feature and the common multiple information as the third input feature.

본 발명의 다른 실시예에 따른 딥러닝 기반의 바둑 게임 서비스 방법은 시간 관리 모델 서버는 제2 입력 특징 및 제3 입력 특징을 시간 관리 제1 신경망에 입력하는 단계(S2804)를 포함할 수 있다. The deep learning-based Go game service method according to another embodiment of the present invention may include the step (S2804) of the time management model server inputting the second input feature and the third input feature to the first time management neural network.

본 발명의 다른 실시예에 따른 딥러닝 기반의 바둑 게임 서비스 방법은 시간 관리 모델 서버는 착수 모델 서버로부터 가치값을 수신하는 단계(S2805)를 포함할 수 있다. 시간 관리 모델 서버는 가치값을 제4 입력 특징으로 할 수 있다.The deep learning-based Go game service method according to another embodiment of the present invention may include the step (S2805) of the time management model server receiving a value from the start model server. The time management model server may have the value value as the fourth input feature.

본 발명의 다른 실시예에 따른 딥러닝 기반의 바둑 게임 서비스 방법은 시간 관리 모델 서버는 제4 입력 특징을 시간 관리 제2 신경망에 입력하는 단계(S2806)을 포함할 수 있다.The deep learning-based Go game service method according to another embodiment of the present invention may include the step (S2806) of the time management model server inputting the fourth input characteristic to the time management second neural network.

본 발명의 다른 실시예에 따른 딥러닝 기반의 바둑 게임 서비스 방법은 시간 관리 모델 서버는 제1 내지 제4 입력 특징의 입력 데이터와 복수의 기보의 바둑판 상태에 따른 남은 경기 길이 정보를 타겟 데이터로 하여 시간 관리 모델을 트레이닝하는 단계(S2807)를 포함할 수 있다. 시간 관리 모델의 트레이닝 방법은 도 23 내지 도 26의 설명을 따른다.In the deep learning-based Go game service method according to another embodiment of the present invention, the time management model server uses the input data of the first to fourth input characteristics and the remaining game length information according to the checkerboard state of a plurality of notations as target data. It may include training the time management model (S2807). The training method of the time management model follows the description of FIGS. 23 to 26 .

본 발명의 다른 실시예에 따른 딥러닝 기반의 바둑 게임 서비스 방법은 시간 관리 모델 서버는 게임 대국중 바둑판 상태, 형세 판단 정보, 가치값을 수신하는 단계(S2809)를 포함할 수 있다.The deep learning-based Go game service method according to another embodiment of the present invention may include the step (S2809) of the time management model server receiving the Go board state, situation determination information, and value value during the game.

본 발명의 다른 실시예에 따른 딥러닝 기반의 바둑 게임 서비스 방법은 시간 관리 모델 서버는 수신한 바둑판 상태, 형세 판단 정보, 가치값을 이용하여 게임 시간 정보를 생성하는 단계(S2810)을 포함할 수 있다. 게임 시간 정보를 생성하는 방법은 도 23의 설명을 따른다.The deep learning-based Go game service method according to another embodiment of the present invention may include the step (S2810) of the time management model server generating game time information using the received Go board state, situation determination information, and value value. have. A method of generating game time information follows the description of FIG. 23 .

따라서, 다른 실시예에 따른 딥러닝 기반의 바둑 게임 서비스 방법은 남은 경기 길이를 예측할 수 있다. 또한, 다른 실시예에 따른 딥러닝 기반의 바둑 게임 서비스 방법은 예측된 남은 경기 길이를 이용하여 착수 준비 시간을 효과적으로 나눌 수 있다.Therefore, the deep learning-based Go game service method according to another embodiment can predict the remaining game length. In addition, the deep learning-based Go game service method according to another embodiment can effectively divide the start preparation time using the predicted remaining game length.

이상 설명된 본 발명에 따른 실시예는 다양한 컴퓨터 구성요소를 통하여 실행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등과 같은, 프로그램 명령어를 저장하고 실행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의하여 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위하여 하나 이상의 소프트웨어 모듈로 변경될 수 있으며, 그 역도 마찬가지이다.The embodiments according to the present invention described above may be implemented in the form of program instructions that can be executed through various computer components and recorded in a computer-readable recording medium. The computer-readable recording medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the computer-readable recording medium may be specially designed and configured for the present invention, or may be known and available to those skilled in the art of computer software. Examples of the computer-readable recording medium include hard disks, magnetic media such as floppy disks and magnetic tapes, optical recording media such as CD-ROMs and DVDs, and magneto-optical media such as floppy disks. medium), and hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like. A hardware device may be converted into one or more software modules to perform processing in accordance with the present invention, and vice versa.

본 발명에서 설명하는 특정 실행들은 일 실시 예들로서, 어떠한 방법으로도 본 발명의 범위를 한정하는 것은 아니다. 명세서의 간결함을 위하여, 종래 전자적인 구성들, 제어 시스템들, 소프트웨어, 상기 시스템들의 다른 기능적인 측면들의 기재는 생략될 수 있다. 또한, 도면에 도시된 구성 요소들 간의 선들의 연결 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것으로서, 실제 장치에서는 대체 가능하거나 추가의 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들로서 나타내어질 수 있다. 또한, “필수적인”, “중요하게” 등과 같이 구체적인 언급이 없다면 본 발명의 적용을 위하여 반드시 필요한 구성 요소가 아닐 수 있다.The specific implementations described in the present invention are only examples, and do not limit the scope of the present invention in any way. For brevity of the specification, descriptions of conventional electronic components, control systems, software, and other functional aspects of the systems may be omitted. In addition, the connection or connection members of the lines between the components shown in the drawings exemplarily represent functional connections and/or physical or circuit connections, and in an actual device, various functional connections, physical connections that are replaceable or additional may be referred to as connections, or circuit connections. In addition, unless there is a specific reference such as “essential” or “importantly”, it may not be a necessary component for the application of the present invention.

또한 설명한 본 발명의 상세한 설명에서는 본 발명의 바람직한 실시 예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자 또는 해당 기술분야에 통상의 지식을 갖는 자라면 후술할 특허청구범위에 기재된 본 발명의 사상 및 기술 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다. 따라서, 본 발명의 기술적 범위는 명세서의 상세한 설명에 기재된 내용으로 한정되는 것이 아니라 특허청구범위에 의해 정하여져야만 할 것이다.In addition, although the detailed description of the present invention has been described with reference to a preferred embodiment of the present invention, those skilled in the art or those having ordinary knowledge in the art will appreciate the spirit of the present invention described in the claims to be described later. And it will be understood that various modifications and variations of the present invention can be made without departing from the technical scope. Accordingly, the technical scope of the present invention should not be limited to the contents described in the detailed description of the specification, but should be defined by the claims.

100 단말기
200 바둑서버
300 착수 모델 서버
310 탐색부
320 셀프 플레이부
330 착수 신경망
400 형세 판단 모델 서버
410 형세 판단 신경망
420 입력 특징 추출부
430 정답 레이블 생성부
500 시간 관리 모델 서버
510 시간 관리부
520 시간 관리 제1 신경망
530 시간 관리 제2 신경망
540 제1 입력 특징 추출부
100 terminals
200 Go server
300 launch model server
310 search unit
320 self-play
330 Initiation Neural Network
400 Situation Judgment Model Server
410 Context Judgment Neural Network
420 input feature extraction unit
430 Correct answer label generator
500 hours management model server
510 Time Management Department
520 time management first neural network
530 time management second neural network
540 first input feature extraction unit

Claims (10)

방문 횟수 및 탐색 확률값을 수신하는 통신부;
시간 관리부를 저장하는 저장부; 및
상기 시간 관리부를 독출하고, 상기 시간 관리부가 상기 방문 횟수와 상기 탐색 확률값을 이용하여 분산을 산출하고, 상기 분산이 임계 분산값 미만이면 착수 준비 시간을 제1 착수 준비 시간으로 결정하고, 상기 분산이 상기 임계 분산값 이상이면 착수 준비 시간을 평균 착수 준비 시간으로 결정하는 프로세서;를 포함하는 것을 특징으로 하는 시간 관리 모델 서버.
a communication unit for receiving the number of visits and the search probability value;
a storage unit for storing the time management unit; and
The time management unit is read, and the time management unit calculates a variance using the number of visits and the search probability value, and if the variance is less than a threshold variance value, the set off preparation time is determined as the first set off preparation time, and the variance is Time management model server comprising a; if more than the threshold variance value, the processor for determining the start preparation time as the average start preparation time.
제1 항에 있어서,
상기 제1 착수 준비 시간은 상기 평균 착수 준비 시간보다 더 긴 것을 특징으로 하는 시간 관리 모델 서버.
The method of claim 1,
The first set off preparation time is a time management model server, characterized in that longer than the average set off preparation time.
제2 항에 있어서,
상기 통신부는 가치값을 수신하고,
상기 프로세서는 상기 시간 관리부가 상기 분산이 상기 임계 분산값 미만으로 상기 착수 준비 시간을 상기 제1 착수 준비 시간으로 결정하면 상기 가치값이 임계 가치값 이하인지 판단하고, 상기 가치값이 상기 임계 가치값 이하이면 상기 착수 준비 시간을 제2 착수 준비 시간으로 결정하는 것을 특징으로 하는 시간 관리 모델 서버.
3. The method of claim 2,
The communication unit receives the value,
The processor determines whether the value is less than or equal to a threshold value when the time management unit determines the start preparation time as the first start preparation time when the variance is less than the threshold variance value, and the value is the threshold value If less than, the time management model server, characterized in that for determining the start preparation time as a second start preparation time.
제3 항에 있어서,
상기 제2 착수 준비 시간은 상기 제1 착수 준비 시간보다 더 긴 것을 특징으로 하는 시간 관리 모델 서버.
4. The method of claim 3,
The second set off preparation time is a time management model server, characterized in that longer than the first set off preparation time.
삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete
KR1020190086283A 2019-07-17 2019-07-17 Deep-learning based baduk game service method and apparatus thereof KR102292046B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190086283A KR102292046B1 (en) 2019-07-17 2019-07-17 Deep-learning based baduk game service method and apparatus thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190086283A KR102292046B1 (en) 2019-07-17 2019-07-17 Deep-learning based baduk game service method and apparatus thereof

Publications (2)

Publication Number Publication Date
KR20210009586A KR20210009586A (en) 2021-01-27
KR102292046B1 true KR102292046B1 (en) 2021-08-20

Family

ID=74238789

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190086283A KR102292046B1 (en) 2019-07-17 2019-07-17 Deep-learning based baduk game service method and apparatus thereof

Country Status (1)

Country Link
KR (1) KR102292046B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102537471B1 (en) * 2021-04-09 2023-05-30 엔에이치엔클라우드 주식회사 Method and device for deep-learning based computation time management of go game service

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101805406B1 (en) * 2016-07-26 2018-01-10 주식회사 코어라인소프트 Method and system for generting baduk record including baduk stone placement time and extracting scenes of baduk games

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130089931A (en) * 2012-01-13 2013-08-13 박성군 System and method for providing paduk situation stands using application
KR20150129265A (en) 2014-05-09 2015-11-19 숭실대학교산학협력단 Method and server for providing artificial intelligence for baduk service
WO2018048945A1 (en) * 2016-09-06 2018-03-15 Deepmind Technologies Limited Processing sequences using convolutional neural networks
KR101895337B1 (en) * 2016-10-13 2018-09-05 주식회사 엔씨소프트 Method and computer program for matching players in online game

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101805406B1 (en) * 2016-07-26 2018-01-10 주식회사 코어라인소프트 Method and system for generting baduk record including baduk stone placement time and extracting scenes of baduk games

Also Published As

Publication number Publication date
KR20210009586A (en) 2021-01-27

Similar Documents

Publication Publication Date Title
KR102316930B1 (en) Deep-learning based baduk game service method and apparatus thereof
Volz et al. Evolving mario levels in the latent space of a deep convolutional generative adversarial network
KR102299140B1 (en) Method and device for baduk game service based on deep-learning
CN109621431B (en) Game action processing method and device
CN112329948B (en) Multi-agent strategy prediction method and device
Wunder et al. Using iterated reasoning to predict opponent strategies.
CN111957047B (en) Checkpoint configuration data adjustment method, computer equipment and storage medium
KR102299138B1 (en) Deep-learning based baduk game service method and apparatus thereof
CN114139637B (en) Multi-agent information fusion method and device, electronic equipment and readable storage medium
CN113561986A (en) Decision-making method and device for automatically driving automobile
KR102299135B1 (en) Method and device that providing deep-running-based baduk game service
KR102292046B1 (en) Deep-learning based baduk game service method and apparatus thereof
CN114404977B (en) Training method of behavior model and training method of structure capacity expansion model
CN111701246A (en) Game AI decision configuration method and device
US11738271B2 (en) Method and apparatus for predicting game difficulty by using deep-learning based game play server
CN112274935B (en) AI model training method, application method computer device and storage medium
KR102299141B1 (en) Method and device for providing deep-running-based baduk game service
KR20220140123A (en) Method and device for deep-learning based computation time management of go game service
KR102591226B1 (en) Method and device for preventing long-ladder of deep learning-based go game service
KR20220141979A (en) Method and device for deep-learning based simulation count management of go game service
KR102595656B1 (en) Deep-learning based jang-gi game service method and apparatus thereof
KR100913030B1 (en) Method and system for game strategy using cascade-fuzzy losic
CN116776751B (en) Intelligent decision algorithm model design development auxiliary system
KR20220164323A (en) Method and device for providing service that deep learning-based imperfect information game
KR20220157017A (en) Method and device for providing service that deep learning-based imperfect information game

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right