라벨이 알고리즘인 게시물 표시

🤫 에포케(epoché)와 판단중지: 알고리즘이 지배하는 시대, 섣불리 판단하지 않는 것이 지혜다

## ⚡ 판단이 너무 쉬워진 세계 3월이었는지 4월이었는지, 정확히 기억나지 않는다. 지인 한 명이 직장 내 괴롭힘을 당했다는 폭로 글이 피드에 올라왔을 때, 나는 그 글을 세 번 읽었다. 댓글은 이미 수백 개가 달려 있었다. 절반은 피해자를 지지하는 분노였고, 나머지 절반은 "한쪽 말만 들어서는 안 된다"는 유보였다. 나는 공유 버튼 위에 손가락을 올렸다가 내렸다. 뭔가가 걸렸다. 이 감각이 비겁함인지, 아니면 다른 무엇인지를 나는 한동안 알지 못했다. 지금은 안다. 그 감각의 이름은 [에포케(epoché)와 일상의 판단중지](https://warguss.blogspot.com/search?q=에포케(epoché)와+일상의+판단중지)다. --- ## 🏛️ 피론이 2400년 전에 발견한 것 기원전 4세기, 엘리스의 피론(Pyrrho of Elis)은 이런 주장을 했다. 어떤 주장에 대해서도 그와 동등하게 설득력 있는 반론이 존재하며, 이 사태를 정직하게 인정하는 사람은 결국 판단을 보류하게 된다고. 그는 이것을 에포케—'중지' 혹은 '보류'를 뜻하는 그리스어—라 불렀다. 피론주의의 핵심 개념은 이소스테네이아(isostheneia), 번역하면 '동등한 힘'이다. 어떤 논쟁에서든 상반된 주장들을 저울에 올리면 양쪽이 정확히 동등한 무게를 지닌다는 것이다. 이 균형을 정직하게 감지한 사람은 어느 쪽으로도 기울 이유가 없다. 그래서 에포케가 발생한다. 판단을 내리지 않으려는 의지가 아니라, 아직 내릴 수 없다는 인식이다. 피론은 이 에포케가 아타락시아(ataraxia)—마음의 평정—로 이어진다고 봤다. 섣부른 판단이 빚어내는 불안과 후회로부터 자유로워진다는 것이다. --- ## 🤖 알고리즘이 이소스테네이아를 지운다 문제는 오늘날의 정보 환경이 이소스테네이아를 경험적으로 불가능하게 만든다는 데 있다. SNS 알고리즘이 '나쁜 정보를 보여준다'는 비판은 너무 단순하다. 더 ...

[알고리즘] 3. 동적 계획법 개념

이미지
동적 계획법 이란, 동적 계획법(Dynamic Programming) ,  줄여서 DP는 특정 범위까지의 값을 구하기 위해서 그것과 다른 범위까지의 값을 이용하여 효율적으로 값을 구하는  알고리즘  설계 기법이다. 조금 장난스럽게 말해서 답을 재활용하는거다. 앞에서 구했던 답을 뒤에서도 이용하는 것으로 볼 수있다. (출처 : 나무위키 - 동적계획법 https://namu.wiki/w/%EB%8F%99%EC%A0%81%20%EA%B3%84%ED%9A%8D%EB%B2%95?from=%EB%8F%99%EC%A0%81%EA%B3%84%ED%9A%8D%EB%B2%95) 이 말처럼 DP, 동적계획법은 완전 탐색에서 중복된 부분 문제를 한번만 계산 하기 위한 메모이제이션( Memoization) 이다. 메모이제이션이란,  같은 계산을 여러 번 해야 할 때, 한 번 계산한 결과를 메모리에 저장해 이후 동일한 계산 과정을 생략할 수 있게 하는 기법이다. (출처 : 나무위키 - 메모이제이션)   https://namu.wiki/w/%EB%A9%94%EB%AA%A8%EC%9D%B4%EC%A0%9C%EC%9D%B4%EC%85%98 ) 보통 동적계획법 알고리즘 구현은, 1. 주어진 문제를 완전 탐색 이용 해결, 2. 중복된 부분 문제를 한 번만 계산하도록 메모이제이션 적용 두가지 방법으로 나뉜다. 이를 토대로 탐색을 통해 이전 값을 참고하는 것을 해 본다면, [취업] 삼성 SW후기 포스팅의 문제를 동적계획법으로 설계 해 보려 한다. 일단 문제는, Player 비행기가 끝까지 도달하였을 때, 코인의 최대값이 문제다 (자세히는 포스팅을 참조...) 보통 완전탐색으로 모든 경우의 수 탐색을 통해 해결할 수 있지만, 크기가 커지면 탐색하는데 시간 초과가 발생한다. 이를 해결하기위해 동적계획법을 쓴다면, ...

[알고리즘] 2-1. [C/C++] 다익스트라를 활용한 최단 경로찾기

출발점, 도착점 사이의 최단 경로를 알아내는 알고리즘, 각 꼭지점은 도시를 나타내고 변은 도로의 길이를 나타날 때, 도시간 최단경로 찾기가 문제이다 최단 경로 찾기에선 가장 간단한 문제 이기도 할 것이다. 일단 5개의 도시로 고정되어있고, -1은 갈 수 없는 거리 0은 자기 자신을 표현한다. 알고리즘을 대략적으로 설계하면, for i -> 0 , 5 , 1 [시작도시][i]로 전체를 검사한다. 완전탐색이지만, 예외조건을 둔다 0과 -1을 제외하고, isVisit을 도시크기만큼 2차원 배열을 같이 두어 방문 체크를 한다. 그리고 최소값만을 Return하는 형식을 취하면 될 것 같다. 도시를 출력하고자 한다면, vector를 따로 두어, 경로를 push_back 하면 될 것 같긴하다. 테스트 케이스 및 자료는 [알고리즘 자료] 2-1 을 보시면 있습니다. #include #include using namespace std; int city[5][5] = { 0, }; bool isVisit[5][5] = { false, }; bool isFinal = false; bool isPossiblePath(int val) { if (val == 0 || val == -1) return false; return true; } void VisitCheck(int src, int dst) { isVisit[src][dst] = true; } void VisitUnCheck(int src, int dst) { isVisit[src][dst] = false; } int Dijkstra(int src,int dst,int fDst,int path) { path = path + city[src][dst]; if (dst == fDst) return path; // 하나의 경로를 찾은 것 int result = 9999; for (int i = 0; i 추...

[알고리즘] 1. [C/C++] 4방향 체인코드를 이용한 논 크기 측정 문제

알고리즘 문제 공부를 하고 있는데, 정리하여 공부겸 포스팅 할려 합니다. '논 그룹묶기 문제' 이며, 0은 논이아니고 1은 논입니다. 2차원 배열 nxn으로 구성되어있으며, test.txt의 첫 줄에는 테스트 케이스 숫자 다음 줄 부터는 nxn의 배열 크기 , 배열 값 순으로 되어있는 것을 읽으면 됩니다. 이 후 체인코드로 그룹핑된 갯수와 각 그룹들의 크기를 출력하는 문제입니다. ChainCode를 구현하는 문제로서, 4방향이지만, 여기서 대각선만 추가하면 8방향 체인코드 또한 구성됩니다. test.txt는 '알고리즘 자료' 카테고리의 첫번째에 답과 함께 올려 놓았습니다. 다음은 구현 코드이며, 알고리즘으로는, 모든 배열 인덱스에 접근하지만, 이미 그룹화 된 값과 0은 제외를 하고, 방문 할 때마다 그룹 값을 넣고, 그룹화가 끝나면, GroupNum을 증가시켜, 다시 시작하는 방법입니다. 값을 얻을 수 있습니다. 일종의 완전 탐색이지만, 예외조건이 있기에, 모든 곳을 탐색하진 않습니다. 아래 코드에서, 대각선 조건만 추가한다면, 8방향 체인코드로 구성됩니다. #include #include using namespace std; class NoN{ public: int size; }; NoN InitialNoN(int size) { NoN mData; mData.size = size; return mData; } bool IsOutBoard(int arrSize, int y, int x) { if (y = arrSize || x >= arrSize) return true; return false; } bool IsZeroOrGroupCheck(int y, int x, int **board) { if (board[y][x] != 1) return true; return false; } int...

이 블로그의 인기 게시물

[로스트아크] 제작 효율 최적화 위한 영지 세팅

[로스트아크] 로스트아크 생활 도구 옵션

한국 핵무장 논의와 방위산업 관련주: 핵무기 개발 과정과 유망 종목 분석