payamvha/North_RAG huggingface dataset:
حاجی محمد چمکنی به عنوان رئیس جمهور موقت (بین ۳ قوس ۱۳۶۵ - ۸ میزان ۱۳۶۶ یا ۲۴ نوامبر ۱۹۸۶ - ۳۰ سپتامبر ۱۹۸۷) پس از برکناری ببرک کارمل از سمت رئیس دولت دموکراتیک افغانستان تعین گردید. وی از سال ۱۹۸۶ تا ۱۹۸۷ رئیس‌جمهور موقت افغانستان بود. حاجی محمد در طول عمر خود عضو هیچکدام از احزاب سیاسی نبود. او شخص پرنفوذ و رئیس قوم چمکنی در مرز میان پاکستان و افغانستان بود. پس از اینکه محمدنجیب‌الله در کرسی ریاست جمهوری نشست حاجی محمد به عنوان معاون رئیس شورای انقلابی انتخاب گردید.
مسابقات شیرجه در بازی‌های المپیک تابستانی ۲۰۰۸ پکن بین ۱۰ اوت تا ۲۳ اوت در مرکز ملی ورزش‌های آبی پکن برگزار شد. نوع مسابقات. این مسابقات در بخش‌های زیر و در دو بخش زنان و مردان برگزار شد: جدول مدال‌ها. از وب‌گاه رسمی المپیک گرفته شده‌است.
قرار عبارت‌است از تصمیم قضایی، که از سوی مقام قضایی در طول تحقیقات مقدماتی و در مقام انجام دادن تحقیق و در موارد استثنایی در جریان محاکمه و رسیدگی دادگاه صادر می‌شود، این تصمیم ممکن است ناظر به متهم، سایر اشخاص، یا در مورد اشیاء و اموال آنان باشد. در علم حقوق نیز "قرار" این‌گونه تعریف می‌شود: "قرار عبارت است از تصمیم دادگاه در امر ترافعی که کلاً یا بعضاً قاطع دعوی و خصومت نباشد". معنی لغوی. قرار در لغت به معنی ثبات و استوار کردن، استحکام دادن، تعیین و تأکید است همچنین "جا گرفتن، آرام گرفتن، یا بر جا شدن در
است همچنین "جا گرفتن، آرام گرفتن، یا بر جا شدن در جایی، آرامش، آسودگی، رأی یا حکمی که درباره مسئله یا امری صادر شود". ،" حکم محکم تخلف ناپذیر" نیز از معانی دیگر کلمه قرار می‌باشد. اقسام قرار. در امور حقوقی قرار(به لحاظ کلی) به صورت زیر دسته‌بندی می‌شود: قرار اعدادی یا مقدماتی. قرارهایی هستند که برای رسیدگی به دلایل اصحاب دعوی و آماده کردن مقدمات صدور حکم صادر می‌شوند. عدول از این قرارها جایز است. قرار نهایی. قراری است که دعوی را در حدود موضوع خود خاتمه می‌دهد و دادرس با صدور آن خود را برای صدور حکم آماده
و دادرس با صدور آن خود را برای صدور حکم آماده می‌کند. این قرار بدون ورود به ماهیت دعوی (رسیدگی شکلی) صادر می‌شود و دعوی را از دادگاه خارج می‌کند. این قرار گاهی به دنبال ایراد خوانده مبتنی بر عدم اهلیت خواهان یا عدم صلاحیت دادگاه و گاهی به دنبال استرداد دادخواست یا دعوی صادر می‌شود. قرار رد دعوی، قرار نهایی است. قرار موقتی یا قرار توقیفی. این نوع قرارها برای حفظ حقوق یکی از اصحاب دعوی یا جلوگیری از تضییع حقوق وی صادر می‌شود و در اصل دعوا تأثیری ندارد. قرار اجباری و الزام کننده یا تهدیدی. در مواردی که موضوع
و الزام کننده یا تهدیدی. در مواردی که موضوع تعهد عملی است که انجام آن جز وسیله شخص متعهد ممکن نیست، دادگاه می‌تواند به درخواست متعهدله در حکم راجع به اصل دعوی یا پس از صدور حکم، مدت و مبلغی را معین نماید که اگر محکوم علیه مدلول حکم قطعی را در آن مدت اجراء نکند، مبلغ مزبور را به ازای هر روز تأخیر به محکوم له بپردازد. یا در حکم قید شود که چنانچه ظرف دو ماه مبلغ حق کسب و پیشه یا تجارب را توزیع ننماید، حکم کان لم یکن تلقی گردد.
اندوه آهنگ پایانی آلبوم لغزش آنی در عقل از گروه موسیقی پراگرسیو راک انگلیسی پینک فلوید است که در سال ۱۹۸۷ منتشر شد. شعر و موسیقی. این آهنگ توسط دیوید گیلمور خواننده و گیتارنواز گروه پینک فلوید نوشته شده‌است.گیلمور معتقد است هرچند نوشتن شعر برای آهنگ‌ها نقطه‌ی قوت او نیست، اما شعر این آهنگ یکی از قوی‌ترین شعرهای وی بشمار میآید. در آلبوم‌های دیگر. نسخه‌ی زنده از این آهنگ در آلبوم "صدای دلچسب رعد" و "تکانه" قرار دارد.همچنین این آهنگ در مجموعه گردآوری‌شده "" که در سال ۲۰۰۱ منتشر شد نیز قرار گرفت.
الگوریتم یا علوم رایانه، درخت ای‌وی‌ال ، یک نوع درخت جستجوی دودویی خود متوازن‌کننده‌است و اولین ساختار داده‌ای از این نوع می‌باشد که اختراع شد. در یک درخت ای‌وی‌ال اختلاف ارتفاع دو زیر شاخهٔ هر گره حداکثر برابر یک است؛ بنابراین به این درخت، درخت با ارتفاع متوازن نیز گفته می‌شود. توجه کنید که عملیات درج، حذف و جستجو در یک درخت ای‌وی‌ال در بدترین حالت و حالت متوسط به اندازه formula_1 خواهد بود به‌طوری‌که n تعداد گره‌های درخت می‌باشد. در عملیات درج و حذف ممکن است نیاز باشد که درخت به وسیله چرخش درخت‌ها، یک یا
نیاز باشد که درخت به وسیله چرخش درخت‌ها، یک یا چند بار متوازن گردد. عنوان AVL TREE از اول نام‌های دو مخترع آن به نام‌های G.M. Adelson-Velsky و E.M. Landis، که مقاله خود را در سال ۱۹۶۲ با موضوع «یک الگوریتم برای سازماندهی اطلاعات» منتشر کردند گرفته شده‌است. درخت‌های ای‌وی‌ال غالباً با درخت‌های قرمز-سیاه مقایسه می‌شود. دلیل آن این است که هر دو داده ساختار قادر به انجام یک مجموعه از عملیات یکسان می‌باشند. در درخت‌های قرمز-سیاه نیز زمان لازم برای انجام عملیات اساسی به اندازه formula_1است. درخت‌های ای‌وی‌ال
اساسی به اندازه formula_1است. درخت‌های ای‌وی‌ال برای کاربردهای وسیع و گسترده جستجو بهتر از درخت‌های قرمز-سیاه هستند. الگوریتم‌های متوازن کردن درخت‌ها در بسیاری از دوره‌های علوم رایانه ظاهر شده و مورد استفاده قرار می‌گیرد. تعریف اولیه. ضریب توازن هر گره، تفاضل ارتفاع زیردرخت چپ آن گره از ارتفاع زیردرخت راست آن گره است. برای راس formula_3 داریم: formula_4 هر گره ای که ضریب توازن آن برابر ۱، ۰ یا ۱- باشد به عنوان گره متوازن در نظر گرفته می‌شود. هر درخت جست‌وجوی دودویی که تمام راس‌های آن متوازن باشند درخت
دودویی که تمام راس‌های آن متوازن باشند درخت ای‌وی‌ال است. با دانستن تعریف یک درخت ای‌وی‌ال و ضریب توازن، با اضافه شدن گره جدید و تغییر ارتفاع، می‌توان یک درخت ای‌وی‌ال را متوازن نگه داشت. دقت شود که نیازی به نگه داشتن ارتفاع دقیق هر گره نیست. تنها کافی است برای هر گره ضریب توازن را نگه داریم. در روش قدیمی برای هر گره دو بیت نگه داشته می‌شد ولی تحقیقات بعدی نشان داد که تنها یک بیت برای هر گره کافی است. به این صورت که برای در هر گره تفاضل ارتفاع گره با از ارتفاع پدرش ذخیره می‌شود و همان‌طور که واضح است این
پدرش ذخیره می‌شود و همان‌طور که واضح است این مقدار همواره برابر ۱ یا ۲ است. ارتفاع هر درخت ای‌وی‌ال با تعداد n گره همواره در محدوده زیر قرار دارد: formula_5 که در آن با تعریف عدد طلایی formula_6 ، formula_7 و formula_8 . دلیل این محدوده این است که هر درخت ای‌وی‌ال با ارتفاع h، حداقل به تعداد "Fh"+2 – 1 گره دارد که در آن F دنباله فیبوناتچی است. عملیات. به‌طور کلی عملیات اساسی در درخت‌های ای‌وی‌ال شامل همان عملیاتی که در درختهای جستجوی دودویی انجام می‌شود می‌باشد، اما اصلاحات وتغییرات به صورت فراخوانی یک یا
اما اصلاحات وتغییرات به صورت فراخوانی یک یا چند باره چرخش درخت خواهد بود که به باز ذخیره کردن ارتفاع زیر درخت کمک می‌کند. درج کردن. اگر ضریب توازن تمام گره‌ها ۱-، ۰ یا ۱ باشد درخت در حال حاضر متوازن است و هیچ چرخش دیگری نیاز ندارد. اگر ضریب توازن یک گره ۲ یا ۲- شود، درخت با ریشه این گره نامتوازن است و چرخش درخت نیاز است. حداکثر دو چرخش برای متوازن کردن درخت نیاز خواهد بود. چهار حالت اساسی برای محاسبه وجود دارد که دو تای آن‌ها متناسب، یا به عبارت دیگر متقارن با دو حالت دیگر است. برای سادگی ریشه زیر درخت
با دو حالت دیگر است. برای سادگی ریشه زیر درخت نامتوازن را P، فرزند سمت راست آن را R، و فرزند سمت چپ را L بنامید. اگر ضریب توازن P مساوی ۲ بود یعنی زیر درخت سمت راست سنگین تر از زیر درخت سمت چپ است و باید ضریب توازن فرزند سمت راست بررسی شود. اگر ضریب توازن (R)برابر ۱ است، این بدان معنا است که درج در سمت راست آن گره رخ داده و یک چرخش درخت به چپ با محوریت ریشه P است. اگر ضریب توازن R برابر ۱- باشد، این بدان معنا است که درج در سمت چپ گره اتفاق افتاده‌است. در این حالت نیاز به دو بار چرخش می‌باشد. اولین چرخش به
حالت نیاز به دو بار چرخش می‌باشد. اولین چرخش به سمت راست با محوریت R به عنوان ریشه و سپس یک چرخش به سمت چپ با محوریت P است. مراحل کامل متوازن کردن در بخش متوازن‌سازی توضیح داده خواهد شد. for (X = parent(Z); X != null; X = parent(Z)) { // Loop (possibly up to the root) // BalanceFactor(X) has to be updated: if (Z == right_child(X)) { // The right subtree increases if (BalanceFactor(X) &gt; 0) { // X is right-heavy // === &gt; the temporary BalanceFactor(X) == +2 // ===&gt; rebalancing is required. G =
== +2 // ===&gt; rebalancing is required. G = parent(X); // Save parent of X around rotations if (BalanceFactor(Z) &lt; 0) // Right Left Case (see figure 5) N = rotate_RightLeft(X, Z); // Double rotation: Right(Z) then Left(X) else // Right Right Case (see figure 4) N = rotate_Left(X, Z); // Single rotation Left(X) // After rotation adapt parent link } else { if (BalanceFactor(X) &lt; 0) { BalanceFactor(X) = 0; // Z’s height increase is absorbed at X. break; // Leave the loop BalanceFactor(X) = +1; Z = X;
// Leave the loop BalanceFactor(X) = +1; Z = X; // Height(Z) increases by 1 continue; } else { // Z == left_child(X): the left subtree increases if (BalanceFactor(X) &lt; 0) { // X is left-heavy // === &gt; the temporary BalanceFactor(X) == –2 // ===&gt; rebalancing is required. G = parent(X); // Save parent of X around rotations if (BalanceFactor(Z) &gt; 0) // Left Right Case N = rotate_LeftRight(X, Z); // Double rotation: Left(Z) then Right(X) else // Left Left Case N = rotate_Right(X, Z); // Single
Left Left Case N = rotate_Right(X, Z); // Single rotation Right(X) // After rotation adapt parent link } else { if (BalanceFactor(X) &gt; 0) { BalanceFactor(X) = 0; // Z’s height increase is absorbed at X. break; // Leave the loop BalanceFactor(X) = –1; Z = X; // Height(Z) increases by 1 continue; // After a rotation adapt parent link: // N is the new root of the rotated subtree // Height does not change: Height(N) == old Height(X) parent(N) = G; if (G != null) { if (X == left_child(G)) left_child(G) = N;
{ if (X == left_child(G)) left_child(G) = N; else right_child(G) = N; break; } else { tree-&gt;root = N; // N is the new root of the total tree break; // There is no fall thru, only break; or continue; // Unless loop is left via break, the height of the total tree increases by 1. حذف کردن. اگر گره یک برگ باشد می‌توان آن را حذف کرد. در غیر این صورت آن را با بزرگ‌ترین گره در زیر درخت سمت چپش یا با کوچک‌ترین گره در زیر درخت سمت راستش جایگزین می‌کنیم و محل جایگزینی را به خاطر می‌سپاریم. سپس آن گره را (که حالا
را به خاطر می‌سپاریم. سپس آن گره را (که حالا حداکثر یک بچه دارد) در محل جایگزینی به راحتی حذف می‌کنیم. بعد از حذف گره مسیری را که از سمت محل جایگزینی به طرف ریشه است را پیمایش می‌کنیم و ضریب‌های توازن را در صورت لزوم اصلاح می‌کنیم. (این عمل را بازیابی مسیر می‌نامیم). اگر در طول مسیر در یک گره ضریب توازن ۲ یا ۲- شود؛ این بدان معنا است که زیر درخت با ریشه آن گره نامتوازن است و برای متوازن شدن نیاز به چرخش می‌باشد. هزینه صرف شده برای حذف کردن برابر جمع هزینه‌های لازم برای جستجو و بازیابی مسیر است که هر دو به
لازم برای جستجو و بازیابی مسیر است که هر دو به اندازه formula_1 می‌باشد. در نتیجه هزینه لازم برای حذف نیز از مرتبه formula_1 می‌باشد. عملیات چرخش در قسمت متوازن‌سازی توزیح داده شده‌است. class Node int key, height; Node left, right; Node(int d) key = d; height = 1; class AVLTree Node root; // A utility function to get height of the tree int height(Node N) if (N == null) return 0; return N.height; // A utility function to get maximum of two integers int max(int a, int b) return (a &gt; b) ? a : b; // A
max(int a, int b) return (a &gt; b) ? a : b; // A utility function to right rotate subtree rooted with y // See the diagram given above. Node rightRotate(Node y) Node x = y.left; Node T2 = x.right; // Perform rotation x.right = y; y.left = T2; // Update heights y.height = max(height(y.left), height(y.right)) + 1; x.height = max(height(x.left), height(x.right)) + 1; // Return new root return x; // A utility function to left rotate subtree rooted with x // See the diagram given above. Node leftRotate(Node x)
the diagram given above. Node leftRotate(Node x) Node y = x.right; Node T2 = y.left; // Perform rotation y.left = x; x.right = T2; // Update heights x.height = max(height(x.left), height(x.right)) + 1; y.height = max(height(y.left), height(y.right)) + 1; // Return new root return y; // Get Balance factor of node N int getBalance(Node N) if (N == null) return 0; return height(N.left) - height(N.right); /* Given a non-empty binary search tree, return the node with minimum key value found in that tree. Note
with minimum key value found in that tree. Note that the entire tree does not need to be searched. */ Node minValueNode(Node node) Node current = node; /* loop down to find the leftmost leaf */ while (current.left != null) current = current.left; return current; Node deleteNode(Node root, int key) // STEP 1: PERFORM STANDARD BST DELETE if (root == null) return root; // If the key to be deleted is smaller than // the root's key, then it lies in left subtree if (key &lt; root.key) root.left =
left subtree if (key &lt; root.key) root.left = deleteNode(root.left, key); // If the key to be deleted is greater than the // root's key, then it lies in right subtree else if (key &gt; root.key) root.right = deleteNode(root.right, key); // if key is same as root's key, then this is the node // to be deleted else // node with only one child or no child if ((root.left == null) || (root.right == null)) Node temp = null; if (temp == root.left) temp = root.right; else temp = root.left; // No child case if
else temp = root.left; // No child case if (temp == null) temp = root; root = null; else // One child case root = temp; // Copy the contents of // the non-empty child else // node with two children: Get the inorder // successor (smallest in the right subtree) Node temp = minValueNode(root.right); // Copy the inorder successor's data to this node root.key = temp.key; // Delete the inorder successor root.right = deleteNode(root.right, temp.key); // If the tree had only one node then return if (root == null)
had only one node then return if (root == null) return root; // STEP 2: UPDATE HEIGHT OF THE CURRENT NODE root.height = max(height(root.left), height(root.right)) + 1; // STEP 3: GET THE BALANCE FACTOR OF THIS NODE (to check whether // this node became unbalanced) int balance = getBalance(root); // If this node becomes unbalanced, then there are 4 cases // Left Left Case if (balance &gt; 1 &amp;&amp; getBalance(root.left) &gt;= 0) return rightRotate(root); // Left Right Case if (balance &gt; 1 &amp;&amp;
// Left Right Case if (balance &gt; 1 &amp;&amp; getBalance(root.left) &lt; 0) root.left = leftRotate(root.left); return rightRotate(root); // Right Right Case if (balance &lt; -1 &amp;&amp; getBalance(root.right) &lt;= 0) return leftRotate(root); // Right Left Case if (balance &lt; -1 &amp;&amp; getBalance(root.right) &gt; 0) root.right = rightRotate(root.right); return leftRotate(root); return root; جستجو. جستجو در درخت ای‌وی‌ال همانند جستجو در در خت دودویی نامتوازن است. به دلیل توازن ارتفاع درخت هزینه
نامتوازن است. به دلیل توازن ارتفاع درخت هزینه جستجو در بدترین حالت برابر formula_1 است. هیچ شرط خاصی برای رعایت کردن وجود ندارد و در طول جستجو ساختار درخت تغییری نمی‌کند. (می توان جستجو در درخت ای‌وی‌ال را در تباین با جستجو در درخت گسترده دانست که در آن ساختار درخت در حین جستجو تغییر می‌کند) اگر هر گره ارتفاع زیر درخت خود را نیز ذخیره کند، هر گره می‌تواند در زمان formula_1 نیز بازیابی شود. گره قبل و بعد هر گره در درخت ای‌وی‌ال در یک زمان ثابت سرشکن قابل دسترسی است. در موارد محدودی حدود formula_13پیوند
دسترسی است. در موارد محدودی حدود formula_13پیوند پیمایش می‌شود. در اکثر موارد یک پیوند و در حالت سرشکن دو پیوند پیمایش می‌شود. متوازن‌سازی. اگر در هنگام اجرای یک عملیات (درج یا حذف) روی یک درخت ای‌وی‌ال ضریب توازن یک گره ۲ یا ۲- شود، (از محدوده مجاز ۱ تا ۱- خارج شود) آن درخت نیازمند عمل متوازن‌سازی خواهدبود. فرض کنید گره ای که ضریب توازنش از محدوده مجاز خارج شده‌است X و فرزند بزرگتر آن (با ارتفاع بیشتر) Z باشند. توجه شود که می‌دانیم زیر درخت Z یک درخت ای‌وی‌ال است. علت عدم توازن X در عمل درج، اضافه شدن یک
است. علت عدم توازن X در عمل درج، اضافه شدن یک نود به Z، و در عمل حذف، حذف شدن یک نود از بچه‌های برادر Z است. اگر فرزندان Z را ZR(فرزند راست) و ZL(فرزند چپ) بنامیم چهار حالت پیش می‌آید: در دو حالت اول (راست راست و چپ چپ) نیاز به تک-چرخش و در دو حالت دیگر نیاز به دو-چرخش است. تک چرخش. در شکل مقابل یک نمونه از مشکل راست راست با یک چرخش چپ حل شده‌است. همان‌طور که مشاهده می‌شود با تغییر سه یال و به روز رسانی دو ضریب توازن، این درخت دوباره متوازن شده‌است. در چرخش چپ، همان‌طور که ملاحظه می‌شود، گره‌های سمت راست X
چپ، همان‌طور که ملاحظه می‌شود، گره‌های سمت راست X و چپ Z تغییری نمی‌کنند. پدر X به جای X به Z وصل می‌شود. X و Z جایشان را با هم عوض می‌کنند. (رابطه پدر فرزندی جابجا می‌شود) و در نهایت فرزند چپ Z به راست X وصل می‌شود. یک نمونه کد از چرخش چپ: node *rotate_Left(node *X, node *Z) { // Z is by 2 higher than its sibling t23 = left_child(Z); // Inner child of Z right_child(X) = t23; if (t23 != null) parent(t23) = X; left_child(Z) = X; parent(X) = Z; // 1st case, BalanceFactor(Z) == 0, only happens with deletion,
== 0, only happens with deletion, not insertion: if (BalanceFactor(Z) == 0) { // t23 has been of same height as t4 BalanceFactor(X) = +1; // t23 now higher BalanceFactor(Z) = –1; // t4 now lower than X } else { // 2nd case happens with insertion or deletion: BalanceFactor(X) = 0; BalanceFactor(Z) = 0; return Z; // return new root of rotated subtree دو چرخش. در شکل مقابل وضیت چپ راست نمایش داده شده‌است. در این حالت ابتدا با جابحا کردن Y و Z به یکی از حالات چپ چپ یا راست راست می‌رسیم و سپس با یک چرخش درخت را
چپ یا راست راست می‌رسیم و سپس با یک چرخش درخت را متوازن می‌کنیم. نمونه کد: ode *rotate_RightLeft(node *X, node *Z) { // Z is by 2 higher than its sibling Y = left_child(Z); // Inner child of Z // Y is by 1 higher than sibling t3 = right_child(Y); left_child(Z) = t3; if (t3 != null) parent(t3) = Z; right_child(Y) = Z; parent(Z) = Y; t2 = left_child(Y); right_child(X) = t2; if (t2 != null) parent(t2) = X; left_child(Y) = X; parent(X) = Y; // 1st case, BalanceFactor(Y) &gt; 0, happens with insertion or
&gt; 0, happens with insertion or deletion: if (BalanceFactor(Y) &gt; 0) { // t3 was higher BalanceFactor(X) = –1; // t1 now higher BalanceFactor(Z) = 0; } else // 2nd case, BalanceFactor(Y) == 0, only happens with deletion, not insertion: if (BalanceFactor(Y) == 0) { BalanceFactor(X) = 0; BalanceFactor(Z) = 0; } else { // 3rd case happens with insertion or deletion: // t2 was higher BalanceFactor(X) = 0; BalanceFactor(Z) = +1; // t4 now higher BalanceFactor(Y) = 0; return Y; // return new root of rotated
= 0; return Y; // return new root of rotated subtree مقایسه با ساختارهای دادهٔ دیگر. درخت‌های ای‌وی‌ال و قرمز-سیاه، هر دو از نوع درخت‌های جستجوی دودویی خود متوازن‌کننده هستند، بنابراین از نظر قانون ریاضی تفاوتی ندارند. عملیات برای متوازن کردن آن‌ها متفاوتند اما هر دو در زمان ثابتی انجام می‌شوند. تفاوت بین آ ن‌ها در میزان ارتفاعشان است. برای یک درخت به سایز n: درخت ای‌وی‌ال دارای توازن بیشتری نسبت به درخت قرمز-سیاه‌است یا به عبارت دیگر بسیار متوازن تر از درخت قرمز-سیاه‌است، که این منجر به این می‌شود که حذف
قرمز-سیاه‌است، که این منجر به این می‌شود که حذف و درج کردن به صورت کند، اما بازیابی در زمان سریع تری انجام شود.
نیلز آبراهام لانگلت ( زاده ۹ ژوئیه ۱۸۶۸ - درگذشته ۳۰ مارس ۱۹۳۶) یک شیمیدان سوئدی بود. زندگی‌نامه. وی در سودتلیا به دنیا آمد و از سال ۱۸۸۶ تا ۱۸۹۶ به پژوهش دربارهٔ شیمی در دانشگاه اوپسالا نزد پر تئودر کلیو پرداخت و در ۱۸۹۶ مدرک دکترای خود را دریافت کرد و در همان سال "دانشیار" دانشگاه شد. در ۱۸۹۹ به آموزش «شیمی و فناوری شیمی» در دانشگاه صنعتی چالمرز در گوتنبورگ پرداخت و در همان‌جا در سال ۱۹۱۱ به جایگاه استاد تمامی رسید. وی از سال ۱۹۲۶ به این سو استاد بخش شیمی آلی بود. لانگلت در سال ۱۸۹۵ هنگامی که با کلیو در
آلی بود. لانگلت در سال ۱۸۹۵ هنگامی که با کلیو در اوپسالا کار می‌کرد به صورت مستقل هلیم را در کانی کلویت شناسایی کرد (ویلیام رمزی هم در همان سال هلیم را شناسایی کرد) لانگلت نخستین کسی بود که وزن اتمی هلیم را به درستی بدست آورده بود. لانگلت در گوتنبورگ از دنیا رفت.
محمودصالح یکی از پنج باب چهارلنگ از ایل بختیاری است. محمود صالح، در گویشِ بختیاری، ممصالح خوانده می‌شود. ممصالح یکی از قدیمی ترین باب های بختیاری به حساب می آید، آخرین مقاله و اسنادی که در رابطه به ممصالح پیدا شده در زمان صفویه نوشته شده است. مردم این باب به زبان لری گویش بختیاری سخن می گویند. نام‌شناسی و پیشینه. بنا به روایتی، محمودصالح واژه‌ای برآمده از نام دو شخص حقیقی بنام‌های "محمودصالح" از نسل شخص صاحب منصبی به نام اردشیر بوده‌اند که دراوایل سلطنت صفویان می‌زیستند. در دوره حکومت صفویان، محمودآقا
صفویان می‌زیستند. در دوره حکومت صفویان، محمودآقا به‌عنوان نیا و جد باب محمودصالح که معاصر با شاه اسماعیل صفوی، سیادت بعضی طوایف (چهارلنگ) بختیاری را برعهده داشت، از طرف حکومت صفوی به منصب ریاست این طوایف رسید (دربرخی کتب تاریخ بختیاری محمود را با پسوند خان خطاب کرده‌اند). بر این اساس، محمودصالح؛ به‌معنای محمود، پسرِ صالح است. . اما روایت سینه به سینه دیگری در بین بختیاری و همچنین منابع مکتوبی چون کتاب «تاریخ اصفهان» نوشته جلال الدین همایی وجود دارد که، «صالح» را لقبی دانسته‌اند که (به احتمال قوی قبل از
را لقبی دانسته‌اند که (به احتمال قوی قبل از دوره صفویان، سادات علوی از نسل امام هشتم)، بخاطر شایستگی و درستکاری به «ملک اردشیر» جد "محمود "داده بودند. این روایت که محمود را فرزند (یا نواده) «اردشیر» می‌داند، وبا توجه به قرائن و اسناد، به احتمال قوی منظور از اردشیر، همان اردشیر شبانکاره آخرین اتابک از ملوک شبانکاره می‌باشد، چرا که بعد از شکست سلسله اتابکان شبانکاره از «آل‌مظفر» دراواسط قرن هشتم هجری قمری(۷۶۵ه‍. ق)، ملک اردشیر فرزند ملک تاج الدین جمشید شبانکاره، آخرین اتابک از این ملوک، سرزمین فارس را به قصد
آخرین اتابک از این ملوک، سرزمین فارس را به قصد سرزمین «لر بزرگ» ترک می‌کند. بعد از استقرار ملک اردشیر و سپس وفات او در ولایت لر بزرگ، اولاد وی در میان لربزرگ (بختیاری) به «خانه اردشیر» مشهور بودند، چراکه در نسخه نخستین تذکره امامزاده شاه قطب الدین که در قرن نهم ه‍.ق نوشته شده بود، در ذکر نام مریدان شاه قطب الدین، از «خانه اردشیر» نام برده شده‌است. با این توضیحات، «محمود آقا» جد اعلای باب «ممصالح» نیز، از همین خاندان ملک اردشیرشبانکاره (خانه اردشیر) می‌باشد. چنان‌که در قدیم و در بین بختیاری، گاهی اصطلاح
چنان‌که در قدیم و در بین بختیاری، گاهی اصطلاح شبانکاره (که در زبان محلی شبون کاره یا شوانکاره گفته می‌شد) در پسوند نام باب ممصالح بکار می‌رفت که همین پسوند شبانکاره در زبان بختیاری به مرور زمان (چون بسیاری از اسامی رایج دیگر) صیقل یافته و دچار تغییر شد و از شبانکاره به&gt; شبون کاره&gt;شون کور&gt; و نهایتاً شوکور (همان صیقل یافته شبانکاره) مبدل شد، (مثالهایی از این قبیل می‌توان از نام شهرها یا طوایفی چون: آتروپاتگان که به&gt;آذرابادگان&gt;آذربایگان و نهایتاً به آذربایجان صیقل یافت/، ویا شهر: اگباتان که به
به آذربایجان صیقل یافت/، ویا شهر: اگباتان که به هگمتانه و در نهایت به همدان تبدیل شد/ ویا نام طایفه بابا احمدی در بختیاری که به مرور زمان صیقل یافته و به بامدی تبدیل شد، اشاره کرد. حال این اصطلاح در پسوند نام طایفه ممصالح، و دیگر قرائن ذکر شده، و همچنین وجود طوایفی با نام ممصالح در بخش شبانکاره بوشهر، ویا استان‌های فارس و کوهگیلویه بویراحمد، همگی نشان می‌دهد که نسب و نژاد طایفه ممصالح به شخص اتابک اردشیر و به دنبال آن، اتابکان شبانکاره پارس باشد. طبق منابع و نسخ کهن، حکومت اتابکان شبانکاره از _اواسط قرن
و نسخ کهن، حکومت اتابکان شبانکاره از _اواسط قرن پنجم ه، ق آغاز وتا اواسط قرن هشتم ه، ق_ به مدت سه قرن طول کشید، که در بخش‌هایی از فارس و کرمان حکومت کردند. در ذکر نسب اتابکان شبانکاره اکثر مورخان عهدقدیم اتفاق نظر داشتند که، اتابکان شبانکاره از نسل اردشیر بابکان (سرسلسله شاهنشاهی ساسانی) می‌باشند. نام شبانکاره در پسوند سلسله اتابکان شبانکاره نیز، به دلیل شغل گله داری و کوچ نشینی قبایل تحت نفوذ این اتابکان بود. تاریخچه در منابع از باب ممصالح به عنوان طایفه‌ای قدرتمند و ثروتمند یاد می‌کنند که اغلب خوانین
قدرتمند و ثروتمند یاد می‌کنند که اغلب خوانین آنها مناصب ایلی مهم به دست آورده بودند سرزمین بختیاری قریب ۸۲۰/۱۴۲کیلومتر مربع وسعت دارد که در دامنه های زاگرس،حد فاصل ۳۱ و ۳۴درجه عرض جغرافیایی و ۴۹ و ۵۲درجه طول شرقی جای گرفته است. این سرزمین کوهستانی از دیرباز یکی از مکان هایی بوده که میراث دار و خاستگاه تمدن ایران باستان و کهن نیز میباشد. بختیاری‌ها از کهنسال ترین و اصیل‌ترین اقوام ایران زمین می‌باشند. بختیاری ها به دو شاخه هفت لنگ و چهار لنگ منشعب میگردند و شاخه چهار لنگ به ۵ باب بزرگ (۱-ممصالح ۲-کیانرسی ۳-
چهار لنگ به ۵ باب بزرگ (۱-ممصالح ۲-کیانرسی ۳- زلقی ۴- موگوئی ۵-میوند)تقسیم میگردند در زمان شکل‌گیری باب ممصالح، هنوز ایل بختیاری به دو شاخهٔ چهارلنگ و هفت لنگ، تقسیم نشده بود، لذا بر خلاف تمامی باب‌های بختیاری، که طوایف زیرمجموعه آن‌ها نیای مشترکی با هم ندارند، ولی طوایف زیرمجموعه ممصالح از یک ریشه می‌باشند. محمودصالح بزرگ‌ترین باب ایل چهارلنگ بختیاری به‌شمار می‌رود و بر اساس نظام طبقاتی ایلی در بختیاری در رده «بزرگ خوانین ایل چهارلنگ» نیز محسوب می‌شود. این باب در تاریخ ایل بختیاری، نقش بسزایی داشته و در
باب در تاریخ ایل بختیاری، نقش بسزایی داشته و در دوره‌هایی نیز ریاست ایل بختیاری بر عهده سران این طایفه بوده‌است و حتی نقش بزرگان این طایفه در برخی از رخدادهای سیاسی در سطح ملی نیز پررنگ و تاثیرگذار بود. معمولاً رهبری بیشتر قیام‌های ایل بختیاری به منظور تصاحب تاج و تخت و یا مبارزه علیه ظلم و ستم برخی شاهان، بر عهده بزرگان و خوانین این طایفه بوده و به‌طوری که می‌توان بزرگان این طایفه را در تاریخ بختیاری، اشخاصی استبدادستیز قلمداد کرد. در اواخر قرن دوازدهم هجری (در فاصلهٔ میان دو سلسهٔ افشار و زند)
هجری (در فاصلهٔ میان دو سلسهٔ افشار و زند) علی‌مردان‌خان چهارلنگ فرزند حیدرآقا«ناظر بختیاری» (از طایفه محمودصالح) یکی از سرکردگان ایل بختیاری، پس از تصرف غرب، مرکز ایران و جنوب تا خلیج فارس، حاکمیت کشور را تا قبل از روی کار آمدن کریم خان زند در دست داشت. کریم خان زند که از ابتدا بعد از پیروزی‌های متعدد در همدان و کسب شهرت با علیمردان خان بختیاری متحد شد و بنا بر پیشنهاد علیمردان خان، تصمیم گرفتند که با حکومت افشاریه بجنگند و به ابوالفتح خان بختیاری حاکم اصفهان که منصوب عادل شاه و سپس شاهرخ‌میرزا افشار بود،