전체 글 (41) 썸네일형 리스트형 [최적화 알고리즘] 유전알고리즘 기본 개념 및 배낭문제 실습 (with python) 목차1. 개념 및 용어2. 알고리즘 동작원리3. 배낭문제 Python 구현 코드회사에서 최적화 관련 프로젝트를 진행하게 되면서 유전 알고리즘을 접하게 되어 유전 알고리즘이 어떤 것인지, 어떻게 최적화를 진행하는 것인지 배낭문제를 예시로 들어 정리해 보도록 하겠습니다. 1. 개념 및 용어 유전 알고리즘이란 생물체가 환경에 적응하며 진화하는 것처럼 가장 적합한 개체들이 선택되며 최적의 해를 찾는 알고리즘을 말합니다. 찰스 다윈의 자연선택 이론*에 영감을 얻어 존 홀랜드에 의해 1975년 개발되었습니다. 생물의 진화를 모방하였기 때문에 유전자와 염색체와 같은 개념과 실제 진화 과정인 교배 연산, 돌연변이의 개념을 그대로 차용하여 알고리즘 작동 원리에 녹아 있습니다.* 자연선택 이론 : 생존에 적합한 형질(키.. [TIL] 99클럽 코테 스터디 18일차 TIL - 그리디: <백준 2212 센서> 문제 풀이 with python Today's keyword : 📌 문제설명https://www.acmicpc.net/problem/2212센서 문제는 입력으로 센서의 개수와 집중국의 개수, 센서의 위치가 주어지면 모든 센서가 통신 가능하도록 하는 집중국의 수신 가능 영역 거리의 합 중 최소값을 찾는 문제입니다. 📌 문제풀이집중국의 수신 가능 영역의 거리의 합을 계산하는 과정을 첫 번째 예시로 그림으로 그려보면 다음과 같습니다. 센서는 총 6개가 주어지며, 각 센서의 위치는 다음과 같이 주어졌을 때, 센서가 모두 통신할 수 있는 집중국의 위치를 생각해보면 1번처럼 첫번째 센서만 커버하는 집중국 하나와 나머지 센서를 커버하는 집중국으로 분리할 수도 있고, 2번처럼 앞에 있는 4개 센서와 뒤에 있는 2개 있는 센서를 묶을 수도 있습.. [TIL] 99클럽 코테 스터디 17일차 TIL - 그리디 : <백준 31926 밤양갱> 문제 풀이 with python Today's keyword : 그리디 📌 문제설명https://www.acmicpc.net/problem/31926 📌 문제풀이최소한의 입력 작업으로 주어진 패턴을 빠르게 완성하는 방법을 찾기 위해 반복되는 daldidalgo 패턴을 어떻게 효율적으로 복사-붙여넣기 할 것인지 고민해야 합니다. 접근 방식daldidalgo를 반복하여 작성하고 마지막에 daldidan을 추가하는 작업이 요구됩니다.하나씩 문자를 입력하는 방식이 아니라, 복사-붙여넣기 연산을 최대한 활용하여 패턴을 빠르게 완성하는 것이 목표입니다.기본 패턴 (daldidalgo) 작성 시간 daldi 까지 5초, dal 복사 + 1, go 알파벳 문자열 추가 +2초 = 8초로, 첫 번째 daldidalgo를 작성하는 데 8초가 필요합니.. 이전 1 2 3 4 5 6 7 ··· 14 다음