'AI'에 해당되는 글 2건

반응형

미래의 한국

by netcanis

 

한국의 인구 감소는 매우 빠른 속도로 진행되고 있다. 하지만 한국은 늘 그래왔듯 이번에도 해답을 찾을 것이다. 노동 인력의 감소를 보완하기 위해, 로봇과 인공지능(AI) 분야에서 세계적인 선두 주자로 자리 잡을 가능성이 크다.

현재 한국은 전 세계에서 사교육비 지출이 높은 국가 중 하나로, 학부모들이 막대한 비용을 투자하면서 고학력자가 빠르게 증가하고 있다. 향후 수십 년 안에는 대다수의 한국인이 고등 교육을 받은 인재가 될 가능성이 높지만, 이는 곧 사회 전반의 인력난과 특정 분야에 인재가 집중되는 현상을 심화시킬 수도 있다. 노동 시장의 불균형 속에서도 고학력화가 진행되는 한편, 필수 산업의 일손 부족 문제는 점차 더 심각해질 것이다.

인구 감소로 인한 인력 부족 문제는 초기에는 외국인 노동자를 유입시켜 해결하려 할 가능성이 크다. 그러나 로봇과 AI 기술이 발전함에 따라 이러한 인력은 점차 기술로 대체될 것이다. 이미 반복적인 단순 작업이나 위험하거나 고된 일자리에는 점차 로봇과 AI 기술이 도입되고 있으며, 앞으로 이러한 추세는 더욱 가속화될 전망이다.

이러한 도전에 대해 한국 사회가 이를 방관하지는 않을 것이다. 한국은 과거 수많은 도전과제에서 혁신적 해법을 찾아왔던 것처럼 이번에도 인구 감소 문제에 대한 해결책을 반드시 찾아낼 것이라 믿는다.

 

반응형

'생각의 조각들' 카테고리의 다른 글

MOON MUSiC - Coldplay & Jon Hopkins -  (1) 2024.12.19
진정한 용기  (4) 2024.11.16
인공지능의 학습 한계  (0) 2024.10.10
Breaking Free from Musical Conventions  (0) 2024.10.06
게으른 야망의 딜레마  (0) 2024.10.06
블로그 이미지

SKY STORY

,
반응형

3x3 체크를 위해 아래와 같이 함수를 만들고 플레이어와 AI 둘다 막아보았다.
문제되는 부분이 있다면 댓글로 알려주길 바란다.

# 3x3 체크 
def check3x3(self, row, col):
    def check_direction_with_blank(dx, dy):
        scount = 1 # 같은 색상 갯수 
        bcount = 1 # 빈공간 포함 갯수
        r, c = row + dx, col + dy
        while 0 <= r < len(self.board) and 0 <= c < len(self.board[0]) and (self.board[r][c] == self.board[row][col] or self.board[r][c] == 0):
            bcount += 1
            if self.board[r][c] == self.board[row][col]:
                scount += 1
            r += dx
            c += dy
        return scount, bcount

    self.board[row][col] = self.turn_player
    
    count3x3 = 0
    directions = [(0, 1), (1, 0), (1, 1), (-1, 1)]
    for dx, dy in directions:
        sc1, bc1 = check_direction_with_blank( dx,  dy)
        sc2, bc2 = check_direction_with_blank(-dx, -dy)
        scount = sc1 + sc2 - 1
        bcount = bc1 + bc2 - 1
        if scound == 3 and bcound >= 5:
            count3x3 += 1
    self.board[row][col] = 0
    if check3x3 >= 2:
        return True
    return False
    
    
def find_empty_cells(self):
    empty_cells = []
    for row in range(BOARD_SIZE):
        for col in range(BOARD_SIZE):
            if self.board[row][col] == 0:
                if self.check3x3(row, col) == False: # 3x3 체크
                    empty_cells.append((row, col))
    random.shuffle(empty_cells)
    return empty_cells
    
def handle_events(self):
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            self.game_over = True
        elif event.type == pygame.MOUSEBUTTONDOWN and not self.game_over and self.turn_player == PLAYER:
            x, y = pygame.mouse.get_pos()
            row = int(round((y - MARGIN) / CELL_SIZE))
            col = int(round((x - MARGIN) / CELL_SIZE))
            if 0 <= row < BOARD_SIZE and 0 <= col < BOARD_SIZE and self.board[row][col] == 0:
                if self.check3x3(row, col) == True: # 3x3 체크
                    return

                self.make_move(row, col, self.turn_player)
                
    			(이하 생략)

 
 
 
 
 
 
 
2023.10.27 - [AI,ML, Algorithm] - Gomoku(Five in a Row, Omok) (1/5) - 기본 구현 (minimax, alpha-beta pruning)
2023.10.27 - [AI,ML, Algorithm] - Gomoku(Five in a Row, Omok) (2/5) - 속도 최적화 1차 (minimax 속도 개선)
2023.10.28 - [AI,ML, Algorithm] - Gomoku(Five in a Row, Omok) (3/5) - 속도 최적화 2차 (RANDOM모드 추가)
2023.10.29 - [AI,ML, Algorithm] - Gomoku(Five in a Row, Omok) (4/5) - 훈련 데이터 생성 및 학습
2023.10.29 - [AI,ML, Algorithm] - Gomoku(Five in a Row, Omok) (5/5) - 머신러닝으로 게임 구현
2023.11.03 - [AI,ML, Algorithm] - Gomoku(Five in a Row, Omok) (5/5) - 3x3 체크 추가
 
 
 

반응형
블로그 이미지

SKY STORY

,