Bir Beyin Egzersizi Olarak Monty Hall Problemi ve Analizi

Monty Hall problemi, "Let's Make a Deal" isimli bir yarışma programına dayanan bir olasılık bulmacasıdır. Problemin yanıtı pek çok insan için ilk bakışta saçma gibi görünse de, ispatı gayet açık ve anlaşılırdır. Bu videoda, 4 farklı yoldan problemin yanıtı elde edilmektedir. Daha önce soruyu ve çözümü görmediyseniz, videoda çözüme geçmeden önce durup düşünmek, iyi bir zihin egzersizi olabilir. Videoda sonuçları gösterilen Matlab kodu aşağıda gösterilmektedir. İyi seyirler. numTrials = 10000; % Increase the number of trials for better visualization changeWins = 0; changeLosses = 0; stayWins = 0; stayLosses = 0; % Initialize arrays to store success ratios changeWinRatios = zeros(1, numTrials); stayWinRatios = zeros(1, numTrials); % Simulations for i = 1:numTrials % Randomly placing the car behind a door carDoor = randi(3); % Randomly preferred door initialChoice = randi(3); remainingDoors = setdiff(1:3, [initialChoice, carDoor]); if(length(remainingDoors) == 1) % if the car door and preferred door are different openedDoor = remainingDoors; else % if the initially preferred door is the one which has car behind it. openedDoor = remainingDoors(randi(2)); end newChoice = setdiff(1:3, [initialChoice, openedDoor]); if newChoice == carDoor changeWins = changeWins + 1; else changeLosses = changeLosses + 1; end if initialChoice == carDoor stayWins = stayWins + 1; else stayLosses = stayLosses + 1; end % Calculate and store success ratios for each trial changeWinRatios(i) = changeWins / i; stayWinRatios(i) = stayWins / i; end % Create a plot to visualize success ratios figure; hold on; plot(1:numTrials, changeWinRatios, 'b', 'LineWidth', 2, 'DisplayName', 'Seçimini Değiştir'); plot(1:numTrials, stayWinRatios, 'r', 'LineWidth', 2, 'DisplayName', 'Seçimini Koru'); xlabel('Toplam Oyun Sayısı'); ylabel('Başarı Oranı'); title('Monty Hall Problem Simülasyonu'); legend('Location', 'southeast'); grid on; hold off; % Display final success ratios fprintf('Final Winning Ratio when changing the choice: %.2f%%\n', changeWinRatios(end) * 100); fprintf('Final Winning Ratio when not changing the choice: %.2f%%\n', stayWinRatios(end) * 100);