This transcript captures an insightful discussion between Jose, an educator, and Markus Triska, a prominent Prolog expert. The conversation delves into the transformative power of Prolog, particularly Constraint Logic Programming (CLP), in educational settings for solving complex problems like Sudoku and timetabling. It critically compares Prolog's transparent, rule-based approach with the "black box" nature of neural networks, highlighting Prolog's strengths in explainability and modifiability for domains with known constraints. A significant portion of the discussion is dedicated to a novel application of Prolog in clinical oncology, detailing Dr. David C. Norris's work on formalizing and analyzing clinical trial designs for drug dosage, with the aim of enhancing safety and consistency. The dialogue also explores the broader landscape of AI development in Europe, valuable Prolog learning resources like the "Kupo" system, and the cutting-edge advancements in Scryer Prolog, including its efficient string handling and unique Rust implementation, solidifying Prolog's relevance as a powerful tool for verifiable and logical AI solutions.
Prolog in Practice: From Education to AI and Clinical Trials
0:00 - Prolog's Educational Impact: Jose expresses profound gratitude to Markus Triska, explaining that Markus's work, particularly on Constraint Logic Programming (CLP), opened "a new door" in his 15 years of teaching Prolog, enabling students to efficiently solve previously intractable problems like Sudoku.
0:01:17 - The Evolution and Accessibility of Prolog: Markus acknowledges the positive reception and highlights the current era of powerful, freely available Prolog implementations, a stark contrast to the prohibitively expensive commercial systems of the past. He notes that building robust Prolog systems can take decades of development (e.g., 20+ years).
0:03:35 - Is CLP a New AI Turning Point?: Jose questions whether Constraint Logic Programming signifies a new, special starting point in the history of Artificial Intelligence.
0:04:19 - Catalysts for AI Advancement: Markus agrees, attributing current progress to improved hardware, unprecedented global collaboration facilitated by the internet, and the increasing complexity of real-world problems demanding more sophisticated and reliably implemented software tools.
0:08:48 - Prolog's Transparency vs. Neural Networks' "Black Box": Jose contrasts the transparent, human-understandable logic and modifiability of Prolog with the "black box" nature of neural networks, praising Markus's efficient and easily adaptable timetabling system as a prime example of Prolog's advantages.
0:11:15 - Logic for Known Constraints: Markus elaborates that for problems where rules and constraints are already known (e.g., teacher preferences in timetabling, tax laws, government regulations), Prolog and CLP are superior as they directly formalize these rules, avoiding the need for learning from existing data. Prolog also enables direct reasoning about the programs themselves.
0:16:30 - Prolog's Application in Oncology: Markus introduces an innovative collaborative project with Dr. David C. Norris, a clinical oncologist and mathematician, who is applying Prolog to formalize and analyze clinical trial designs.
0:17:30 - The "Precautionary" Package and CPE: He details the "precautionary" GitHub package and its "boeing_cpe" (Complete Path Enumeration) branch, which uses Prolog to analyze clinical trial designs (such as the "3+3 design" for drug dosage) to determine maximum tolerable doses and understand all possible trial outcomes, thereby enhancing safety.
0:26:01 - Formalizing Ambiguous Protocols: The discussion emphasizes the critical goal of formalizing often ambiguous textual clinical trial protocols into precise, executable Prolog rules. This reduces misinterpretation by clinicians, ensures consistent application, enables automated checks, and can identify potential flaws or ambiguities in the trial design itself.
0:30:47 - Holistic Perspectives on Health: Jose shares a personal reflection on his father's cancer and introduces broader, alternative medicine concepts related to immunology and group dynamics, highlighting the multi-faceted nature of health challenges.
0:38:06 - Extensibility of Prolog Solutions: Jose recognizes the broader utility of Markus's timetabling code beyond mere scheduling, viewing it as a powerful "test platform" for strategic resource planning (e.g., determining optimal numbers of professors or classrooms) by easily modifying constraints and observing outcomes.
0:40:34 - Unique Prolog Debugging: Markus explains a distinct Prolog debugging technique where goals can be "generalized away" (e.g., by inserting an asterisk in Scryer Prolog) to systematically isolate and identify the specific constraints responsible for a program's failure.
0:42:20 - Sudoku: Prolog's Elegance and Efficiency: Jose praises Markus's Sudoku solver as a prime example of Prolog's conciseness and efficiency, noting its ability to describe the problem's rules in just a few lines of code, far surpassing the complexity of solutions in other languages.
0:44:47 - The Prolog Learning Journey: Markus advises that while beginners can make rapid initial progress in Prolog, true mastery and the ability to write advanced programs (like meta-interpreters) typically require at least six months of dedicated effort, cautioning against common pitfalls of overtraining or ignoring the monotonic core.
0:53:02 - Europe's AI Strategy & Student Role: Jose inquires about Europe's "White Paper" on AI and seeks advice for students on how to prepare for and contribute to Europe's evolving AI landscape, especially through the lens of Prolog.
0:55:10 - Strategic Learning for AI's Future: Markus emphasizes that students should focus on where AI is heading, not just its current state. He highlights Europe's strong educational foundations and the critical need for common standards and interoperable programming languages to facilitate cross-border cooperation and build reliable IT solutions.
0:59:32 - Recommended Advanced Prolog Course: Jose asks about Master's level Prolog education for students not from a computer science background.
1:00:57 - The "Kupo" System at TU Wien: Markus highly recommends Ulrich Neumerkel's logic programming course at TU Wien (Vienna University of Technology), which utilizes the "Kupo" system β an advanced, automated, and interactive Prolog teaching environment (primarily in German) that provides detailed feedback.
1:06:15 - Scryer Prolog: Current State and Innovations: Jose asks about the current status and key features of Scryer Prolog.
1:07:11 - Scryer Prolog's Technical Advantages: Markus explains that Scryer Prolog is a relatively new system (currently lacking garbage collection for long-running tasks) but boasts a major innovation: a highly compact internal representation of strings (as lists of characters). This makes it exceptionally efficient for parsing large text volumes. It is also the first Prolog system implemented in Rust, offering strong memory safety guarantees.
1:12:46 - Standards Compliance & Portability: Markus notes that while his timetable code leverages Scryer Prolog's recent CLP(FD) enhancements, Scryer's strong adherence to the ISO standard makes Prolog applications more portable across different compliant systems, reducing dependency on a single implementation.
1:14:43 - Concluding Remarks: The session concludes with mutual expressions of gratitude and appreciation for the insightful and valuable conversation, with Jose highlighting Markus's generosity with his time and expertise.