In this paper we introduce a new operation for Linear programming (LP), called LP complementation, which resembles many properties of LP duality. Given a maximisation (resp. minimisation) LP P, we define its complemen...
详细信息
In this paper we introduce a new operation for Linear programming (LP), called LP complementation, which resembles many properties of LP duality. Given a maximisation (resp. minimisation) LP P, we define its complement Q as a specific minimisation (resp. maximisation) LP which has the same objective function as P. Our central result is the LP complementation theorem, that relates the optimal value OPT(P) of P and the optimal value OPT(Q) of its complement by OPT(P) + 1 1 OPT(Q) = 1. The LP complementation operation can be applied if and only if P has an optimum value greater than 1. To illustrate this, we first apply LP complementation to hypergraphs. For any hypergraph H, we review the four classical LPs, namely covering x(H), packing P(H), matching M(H), and transversal T (H). For every hypergraph H = (V, E), we call H = (V, {V \ e : e E E}) the complement of H. For each of the above four LPs, we relate the optimal values of the LP for the dual hypergraph H* to that of the complement hypergraph H (e.g. 1 1 OPT(x(H*)) + = 1). OPT(x(H)) We then apply LP complementation to fractional graph theory. We prove that the LP for the fractional in-dominating number of a digraph D is the complement of the LP for the fractional total out-dominating number of the digraph complement D of D. Furthermore we apply the hypergraph complementation theorem to matroids. We establish that the fractional matching number of a matroid coincide with its edge toughness. As our last application of LP complementation, we introduce the natural problem VERTEX COVER WITH BUDGET (VCB): for a graph G = (V, E) and a positive integer b, what is the maximum number tb of vertex covers S1, ... , Stb of G, such that every vertex v E V appears in at most b vertex covers? The integer b can be viewed as a "budget" that we can spend on each vertex and, given this budget, we aim to cover all edges for as long as possible. We relate VCB with the LP QG for the fractional chromatic number xf of a graph G. More sp
Course scheduling is a necessary but often challenging task, requiring consideration of university requirements, practical limitations, departmental needs, and faculty preferences. Furthermore, it can be difficult to ...
详细信息
ISBN:
(纸本)9783031713149;9783031713156
Course scheduling is a necessary but often challenging task, requiring consideration of university requirements, practical limitations, departmental needs, and faculty preferences. Furthermore, it can be difficult to determine if a proposed schedule satisfies all of the requirements, especially as changes may be made within the process. Clearly articulated schedule requirements can be translated into an integer linear program by operations researchers, and those with domain-specific knowledge can then use linear programming solvers like PyGLPK. However, few faculty members in a university are likely to have that experience, so we developed a web-based tool, including the underlying Python code, that allows for entry of information about courses and the faculty teaching them and creates a schedule consistent with the requirements. More than simply a scheduler, a user can propose changes such as swapping two courses or placing a course at a specific time;the website will either do so, or report that such a change is infeasible. In addition, a user can share the website and file with colleagues, allowing them to better appreciate what is and is not possible for the overall schedule. Recognizing that the precise set of scheduling requirements is often unique to a given university, the source code is made available in a public GitHub repository, providing opportunities for other universities to create a version customized to their needs and structure.
With the recent advances in battery technology enabling fast charging, public Charging Stations (CSs) are becoming a viable choice for Electric Vehicles (EVs). However, the distribution of EVs relies on strategic assi...
详细信息
With the recent advances in battery technology enabling fast charging, public Charging Stations (CSs) are becoming a viable choice for Electric Vehicles (EVs). However, the distribution of EVs relies on strategic assignment of EVs to CSs. EVs drivers' Quality of Experience (QoE) is an significant impact factor that should be considered to find the optimal assignment of EVs to CSs. In this context, a novel framework to find the optimal assignment of EVs to CSs has been proposed based on optimization of QoE. Our proposed approach considers the travel time of EVs towards CSs taking into account the distance between EVs and CSs, the impact of congestion level on the roads resulted from the Internal Combustion Engine Vehicles (ICEVs) and EVs, queuing time at the CSs, and the time required to fully charge the EVs battery when connected to any charging slot at a CSs. The adjacency between the different zones in a city environment is also considered in order to minimize the potential number of CSs for each EVs. Specifically, the assignment problem is formulated as Mixed Integer Nonlinear programming (MINLP), and a heuristic solution is developed using the Genetic Algorithm (GA) technique. The performance evaluation in realistic metropolitan environment attests the benefits of the proposed CSs assignment framework considering range of charging metrics. IEEE
The course on programming methodology is integral to computerscience and software engineering education. Knowledge graph has been an interesting topic in recent decades, and knowledge graph has propelled its use in s...
详细信息
ISBN:
(纸本)9798400717819
The course on programming methodology is integral to computerscience and software engineering education. Knowledge graph has been an interesting topic in recent decades, and knowledge graph has propelled its use in systematically organizing, thoroughly analyzing, and fully leveraging knowledge to become a focal point in teaching research and application, yielding significant progress. Therefore, this paper proposes a method for constructing a knowledge graph tailored to the curriculum. Furthermore, it establishes a comprehensive course knowledge graph, a student capability knowledge graph, and a course resource knowledge graph. Upon this foundation, by leveraging the multi-model database ArangoDB and the visualization framework GraphVIS, a visualized system for a curriculum knowledge graph has been realized. This study aims to offer a reference for the construction and pedagogical approaches of the course, and preliminary applications of the system have received positive feedback.
This research paper focuses on evaluating code-generating chatbots. Chatbots like ChatGPT released in the past three years have proven capable of a wide variety of tasks within a conversational interaction, including ...
详细信息
ISBN:
(纸本)9798350351507
This research paper focuses on evaluating code-generating chatbots. Chatbots like ChatGPT released in the past three years have proven capable of a wide variety of tasks within a conversational interaction, including writing code and answering code-related questions. With these recent advances, chatbots have many potential uses in education, including computerscience education. However, before these chatbots are used in CS curricula, their capabilities and limitations must be systematically tested and understood. In this work, we evaluate the capabilities and limitations of four known, open-source, code-based chatbots in programming tasks by performing a standardized study in which different chatbots are tasked with providing answers for a variety of assignments from Boise State University's computerscience program. We found that while all of the chatbots can write code and provide explanations, some do better than others, and each of them work differently in conversations. Moreover, all of them suffered similar and important limitations, which has implications for adoption in curriculum. As a second experiment, we used the Llama chatbot to perform a human evaluation by enabling student novice and experienced programmers to use it as a coding assistant to complete specific tasks in a common software development environment. We found that the coding assistant can help novice programmers accomplish simple tasks in comparable time and code efficacy as more experienced programmers. Given these experiments, and given feedback from participants in our studies, we see a clear picture emerge: new programmers should learn important concepts about programming without the help of code assistants so students can (1) demonstrate their understanding of important concepts and (2) have enough experience to assess code assistant output as useful or erroneous. Then, once intermediate skills are mastered (e.g., object oriented programming and data structures), it seems appropriate t
Individual differences in programming performance are very large. For objectivity in programming performance, there is a strong need to quantitatively evaluate programming performance of individual developer. In this ...
详细信息
Quantum parallelism arises from the ability of quantum qubits to exist in multiple states simultaneously due to superposition. It enables quantum computers to explore a vast number of possibilities in parallel, potent...
详细信息
ISBN:
(纸本)9798350361513;9798350372304
Quantum parallelism arises from the ability of quantum qubits to exist in multiple states simultaneously due to superposition. It enables quantum computers to explore a vast number of possibilities in parallel, potentially solving complex problems exponentially faster than classical computers. Recently, there has been an increasing demand for skilled professionals with expertise in quantum computing and programming This paper presents a practical approach to teaching quantum computing to Electrical Engineering & computerscience (EECS) students through dedicated hands-on programming labs. The labs cover a diverse range of topics, encompassing fundamental elements, such as quantum gales and circuits, as well as quantum algorithms. As educators, we aim to share our teaching insights and resources with fellow instructors in the field. This article elucidates the rationale behind the design of each experiment, enabling a deeper understanding of quantum computing.
Recursion has the reputation of being hard to teach and understand. Our goal is to identify precisely what it is about recursion that makes it hard, and use this to devise a systematic teaching plan. We first make a d...
详细信息
ISBN:
(纸本)9798400706004
Recursion has the reputation of being hard to teach and understand. Our goal is to identify precisely what it is about recursion that makes it hard, and use this to devise a systematic teaching plan. We first make a distinction between regular recursion and tail recursion - the special case where the recursive call is the last command that is executed by the function. Tail recursion is the preferred form used in functional programming, because it simplifies memory management, and we hypothesize that it is also easier to understand. We conducted a controlled experiment with 139 participants, in which they were asked to understand different recursive functions. This revealed that tail recursion, when it is natural to use, is indeed easier to understand than the more general form of recursion where significant processing is performed after the recursive call. But it also showed that using tail recursion may come with a price, as when achieving the tail form requires a transformation of the code that obfuscates the underlying recursive algorithm. We conclude that having significant processing after the recursive call, or distorting the code so as to remove such processing, are major factors that make recursion hard. We therefore suggest to start teaching recursion with a basic form of tail recursion, and then progress to more complicated cases with processing after the recursive call. Transformations to tail form should be taught last, if at all.
Decision-focused learning is a promising development for contextual optimisation. It enables us to train prediction models that reflect the conditional sensitivity and uncertainty structure of the problem. However, th...
详细信息
ISBN:
(数字)9783031605994
ISBN:
(纸本)9783031606014;9783031605994
Decision-focused learning is a promising development for contextual optimisation. It enables us to train prediction models that reflect the conditional sensitivity and uncertainty structure of the problem. However, there have been limited attempts to extend this paradigm to robust optimisation. We propose a double implicit layer model for training prediction models with respect to robust decision loss in uncertain convex quadratically constrained quadratic programs (QCQP). The first layer solves a deterministic version of the problem, the second layer evaluates the worst case realisation for an uncertainty set centred on the observation given the decisions obtained from the first layer. This enables us to learn model parameterisations that lead to robust decisions while only solving a simpler deterministic problem at test time. Additionally, instead of having to solve a robust counterpart we solve two smaller and potentially easier problems in training. The second layer (worst case problem) can be seen as a regularisation approach for predictand-optimise by fitting to a neighbourhood of problems instead of just a point observation. We motivate a reformulation of the worst-case problem for a case of uncertainty sets that would otherwise lead to trust region problems. Both layers are typically strictly convex in this problem setting and thus have meaningful gradients almost everywhere. We demonstrate an application of this model on simulated experiments. The method is an effective regularisation tool for decision-focused learning for uncertain convex QCQPs.
Leveraging Large Language Models (LLMs) for personalized learning and support is becoming a promising tool in computing education. AI Assistants can help students with programming, problem-solving, converse with them ...
详细信息
ISBN:
(纸本)9798400706004
Leveraging Large Language Models (LLMs) for personalized learning and support is becoming a promising tool in computing education. AI Assistants can help students with programming, problem-solving, converse with them to clarify course content, explain error messages to help with debugging, and much more. However, using cloud-based LLMs poses risks around data security, privacy, but also control of the overarching system. To address these concerns, we created a locally-stored Small Language Model (SLM) that leverages different Retrieval-Augmented Generation (RAG) methods to support computing students' learning. We compare one SLM (neural-chat-7b-v3 - fine-tuned version of Mistral-7B-v0.1) against two popular LLMs (gpt-3.5-turbo and gpt-4-32k) to see the viability for computing educators to use in their course(s). We use conversations from a CS1 course (N = 1, 260), providing students with an AI Assistant (using gpt-3.5-turbo) to help them learn content and support problem-solving while completing their Python programming assignment. In total, we had 269 students use the AI Assistant, with a total of 1, 988 questions asked. Using this real conversational data, we re-ran student questions using our novel SLM (neural-chat-7b-v3 testing nine different RAG methods) and gpt-4-32k, then compared those results against the original gpt-3.5-turbo responses. Our findings indicate that using an SLM with RAG can perform similarly, if not better, than LLMs. This shows that it is possible for computing educators to use SLMs (with RAG) in their course(s) as a tool for scalable learning, supporting content understanding and problem-solving needs, while employing their own policies on data privacy and security.
暂无评论