오랜만에 알고리즘 공부를 했다.
사실 알고리즘을 깊게 파서 사용할 일은 많지 않은데도,
가끔 이렇게 기본기를 다시 들여다보면 "아 맞다, 이런 게 있었지" 싶다.
실무에서는 cursor나 GPT를 쓰는 데에 익숙해져 있다 보니,
내 사고를 확장하기 위해서는 앞으로도 중간중간 공부가 필요할 듯 하다.
오늘 리마인드한 개념은 바로 백트래킹(backtracking).
이름만 들을 때는 뭔가 거창하고 어려운 알고리즘 같지만,
실제로 이해해보면 굉장히 단순하다.
백트래킹은 미로에 비유하면 제일 이해가 잘 되는 것 같다.
길을 걷다가
이걸 컴퓨터가 반복하는 것이 바로 백트래킹이다.
문제 해결에 적용해보면
"모든 가능한 선택을 해보되,
조건에 맞지 않으면 즉시 포기하고
되돌아가 다른 선택을 시도하는 방식"이 된다.
사람스러운(?) 방식 같기도,,
셀파트너는 오픈마켓 셀러가 해야 하는 복잡한 작업을
AI로 자동화해주는 서비스다.
셀러의 업무에 대해서는 아직 알아가는 중이긴 하지만,
업무의 절반이 여러 조합 중에서 좋은 조합을 찾는 일인 것 같다.
백트래킹 아이디어 기록해두기
- 상품명 키워드 조합 찾기
- 카테고리 추천 자동 필터링
셀러 본인이 하면 몇 시간씩 걸리겠지만
백트래킹 알고리즘을 쓴다면
조건에 맞지 않는 조합을 즉시 버려가면서
훨씬 빠르게 최적 조합에 도달할 수 있다.
아직 등록 시스템만 출시되었고,
이후 솔루션화시켜가는 과정 중에 있지만,
백트래킹이라는 알고리즘을 AI 안에 잘 접목 시켜보면,
생각보다 깔끔하고 똑똑한 시스템이 될 듯 하다.
개발자도 사용자도 만족하는,,
코테 준비하면서 알고리즘 공부할 때는,,
머리가 아주 지끈지끈 했었다.
막상 실무에 뛰어 들어보니,
우리 서비스처럼 '조건 많은 조합 문제'가 많은 분야에서는
백트래킹이라는 게 꽤 실용적이게 쓰일 수 있을 것 같다.
AI가 후보를 왕창 만들고
백트래킹이 그 후보를 똑똑하게 거르는 느낌?
언젠가는 이론을 실무에 녹일 수 있는 시니어가 되기를.